Go Language Resources Go, golang, go... NOTE: This page ceased updating in October, 2012

--- Log opened Thu Nov 11 00:00:15 2010
00:01 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit
[Read error: Connection reset by peer]
00:01 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has
joined #go-nuts
00:02 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit
[Remote host closed the connection]
00:09 < uriel> exch: see for example:
http://news.ycombinator.com/item?id=1892005
00:15 < |Craig|> double panic!
00:18 -!- skelterjohn [~jasmuth@c-76-99-92-40.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
00:18 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
00:18 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has joined #go-nuts
00:19 < |Craig|> throw: malloc/free - deadlock.  I think updating go broke
it.
00:21 -!- Chopinn [~Chopin@ti0018a380-dhcp2647.bb.online.no] has joined #go-nuts
00:23 -!- iant [~iant@nat/google/x-tactdrzlmwqyrgke] has quit [Read error:
Operation timed out]
00:25 -!- devrim [~Adium@160.79.7.234] has quit [Remote host closed the
connection]
00:26 -!- skelterjohn [~jasmuth@c-76-99-92-40.hsd1.nj.comcast.net] has joined
#go-nuts
00:27 < skelterjohn> can anyone suggest the best way to do this?  i have an
interface X that has, among other things, a method Foo() X.
00:27 < skelterjohn> I also have a struct Y which implements this interface,
except for Foo
00:27 < skelterjohn> but I do have a func (y *Y) Foo() *Y
00:28 < skelterjohn> now, *Y doesn't implement X because Foo() is slightly
off - but it almost does.  without modifying X or Y, can I make a new type from Y
that implements X?
00:29 < skelterjohn> like, type Z struct { Y }, and func (z *Z) Foo() X {
what do i do in here?  }
00:31 < SirPsychoS> maybe 'return *(z.Y.Foo())' ? if it's acceptable for the
value to be copied
00:32 -!- iant [~iant@67.218.104.238] has joined #go-nuts
00:32 -!- mode/#go-nuts [+v iant] by ChanServ
00:35 < skelterjohn> does that work?
00:36 < skelterjohn> and if so, would (&(z.Y)).Foo() also work?  :)
00:36 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Quit:
Leaving]
00:36 < skelterjohn> err - wait a sec - i misread
00:37 < skelterjohn> it's *Y that implements X, not Y
00:37 < skelterjohn> so if anything, just plain z.Y.Foo()
00:37 < SirPsychoS> well, X.Foo() is expected to return a non-pointer value,
isn't it?
00:38 < SirPsychoS> I'm typing this stuff up into hsandbox, I'll report back
in a minute
00:42 < skelterjohn> ok, i have osmething that may work
00:42 < SirPsychoS> /home/sp/.hsandbox/sandbox.go: http://sprunge.us/UgEe
<- how's that
00:42 < skelterjohn> http://pastebin.com/77ASa9uk
00:42 * skelterjohn goes to check yours
00:42 < SirPsychoS> lmao
00:42 < SirPsychoS> it's identical
00:42 < skelterjohn> very similar :)
00:43 < skelterjohn> didn't know you could do instance.Type when composition
is used - good to know
00:43 < skelterjohn> thanks
00:43 < |Craig|> I update go to the latest version, and I'm getting strange
memory allocation panics, null pointer dereferencing etc seemingly randomly in my
project, and the errors change when I edit code after them which never gets to run
00:44 < skelterjohn> |Craig|: make clean?
00:44 < |Craig|> skelterjohn: ?
00:44 < skelterjohn> you might be linking two binaries together that were
created with different versions of go
00:44 < skelterjohn> i guess that is an unlikely cause
00:45 < skelterjohn> but try anyway :)
00:45 < |Craig|> I only have a few go files for this project, and I
recompile all of them every time
00:45 < |Craig|> I do use gomatrix, which I goinstalled though
00:45 < skelterjohn> oh neat!
00:45 < skelterjohn> i made gomatrix
00:46 < skelterjohn> when you run all.bash it should clear out the version
built with the previous compiler
00:46 < |Craig|> skelterjohn: oh, cool.  I made an affine transform lib for
it.
00:46 < skelterjohn> |Craig|: can i see?  maybe it could be merged in
00:47 -!- dj2 [~dj2@mail.ihhotel.com] has quit [Remote host closed the connection]
00:47 < skelterjohn> but likely it should remain its own project
00:47 < |Craig|> as my first go project, I can say the code quality is
horrible, really horrible, and there is hardly anything there anyway
00:47 < skelterjohn> heh, suit yourself
00:47 < skelterjohn> gomatrix was my first go project of any substance - i
learned a lot while creating it
00:47 < |Craig|> but it can invert affine transform and so a few things.
When I make it nicer I'll release it
00:49 -!- mikespook [~mikespook@58.61.206.168] has joined #go-nuts
00:49 < |Craig|> skelterjohn: an out of date version of my affine transform
package is here: https://github.com/Craig-Macomber/goFlame/blob/master/affine.go
00:49 < skelterjohn> SirPsychoS: this also works:
http://pastebin.com/q6JKSmA7
00:50 < SirPsychoS> ah, that makes sense too
00:50 < |Craig|> invalid memory access of null pointer deference in
matrix.Zeros
00:50 < |Craig|> or not of
00:51 < skelterjohn> SirPsychoS: though it is a little bit harder to read...
00:51 < skelterjohn> |Craig|: does it say what line?
00:52 < |Craig|> one sec, I'll grap the whole error (its on my other
computer_
00:52 < SirPsychoS> Just throwing this out there, what if Go were to add
support for «guillemots» as string delimiters?
00:53 < SirPsychoS> I like the idea of a balanced string delimiter,
personally
00:53 < SirPsychoS> but it would be a departure from...  well, every other
programming language ever.
00:53 < skelterjohn> what's a guillemot
00:53 < SirPsychoS> this: «
00:53 < skelterjohn> oh
00:53 < skelterjohn> how do i type that :)
00:53 < SirPsychoS> non-American quotation marks
00:54 < SirPsychoS> Compose+<< or ISO_Level3_Shift + {
00:54 < skelterjohn> i have no idea what you're talking about
00:54 < SirPsychoS> I don't know how to do it on anything other than Linux,
lol
00:54 < |Craig|> skelterjohn: http://dpaste.com/273699/
00:55 < skelterjohn> |Craig|: that line is a call to make
00:55 < skelterjohn> so i think i can offload the blame
00:55 < |Craig|> I deleted code that's after the error, and it caused the
code to make it further before getting the error, so its clearly compile/link
dependant
00:55 < skelterjohn> unless you gave it a negative for rows or cols, which
is a case i don't check for
00:56 < |Craig|> and it worked fine until I updated go
00:56 < skelterjohn> do you think you can create a minimal example?
00:56 < |Craig|> skelterjohn: I deleated irrelevent code, and the error
changed
00:56 < |Craig|> code that never ran
00:57 < skelterjohn> for the purpose of trying it on anothe rmachine, that
is
00:57 < skelterjohn> another error is still an error
00:57 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined
#go-nuts
00:58 < |Craig|> the binary crashes the same on another machine
00:58 < |Craig|> I don't have another install of go to build from
00:58 < |Craig|> I think I'll just check out an old version of go so it
works again
00:59 -!- tommytastic [~tomhowe@gatea.kw.bbc.co.uk] has quit [Ping timeout: 276
seconds]
01:00 < |Craig|> I'm not sure how to report that an error that some source
gets strange memory related crashes, and it looks like the compiler or linker is
broken
01:00 < uriel> |Craig|: post sample code that reproduces the error to the
issue tracker and/or golang-nuts
01:01 -!- tommytastic [~tomhowe@gatea.kw.bbc.co.uk] has joined #go-nuts
01:01 < uriel> |Craig|: also, sorry for not following backlog, but I assume
you have tried the current dev tip?  a new release is imminent
01:01 < |Craig|> I'm not having much luck making a minimal example.  I cut
stuff out an the error jumps around and eventually goes away
01:01 < uriel> |Craig|: how big is your whole project?
01:02 < |Craig|> I updated with hg pull, hg update release about 10 min ago
01:02 < |Craig|> uriel: pretty tiny
01:02 < |Craig|> I'll push an update to github
01:08 < |Craig|> uriel: while project at
https://github.com/Craig-Macomber/goFlame hello.go and broken.go are different
versions of my main file that crash differnelty
01:09 < |Craig|> they make the 2 different crashes I see here:
http://dpaste.com/273699/
01:10 -!- kanru [~kanru@118-160-173-237.dynamic.hinet.net] has quit [Quit: WeeChat
0.3.2]
01:12 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has joined #go-nuts
01:17 -!- dacc [~Adium@c-71-227-155-195.hsd1.wa.comcast.net] has joined #go-nuts
01:17 -!- dacc [~Adium@c-71-227-155-195.hsd1.wa.comcast.net] has left #go-nuts []
01:19 < uriel> |Craig|: i'd recommend posting about it to the go-nuts list,
but I would still fill a bug
01:23 < |Craig|> I just finished filing my bug
01:23 < uriel> cool
01:23 -!- dj2 [~dj2@mail.ihhotel.com] has joined #go-nuts
01:24 < |Craig|> first time I've had go not really work for me
01:25 < skelterjohn> ideally the publicizing of your troubles will prevent
others from having similar trouble
01:27 -!- artefon [~thiago@187.114.39.144] has quit [Remote host closed the
connection]
01:32 -!- artefon [~thiago@187.114.39.144] has joined #go-nuts
01:43 -!- tommytastic [~tomhowe@gatea.kw.bbc.co.uk] has quit [Ping timeout: 264
seconds]
01:48 -!- dj2 [~dj2@mail.ihhotel.com] has quit [Remote host closed the connection]
01:56 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
slashus2]
02:00 -!- sudoer [~jtoy@c-98-234-218-193.hsd1.ca.comcast.net] has quit [Quit:
sudoer]
02:03 -!- skelterjohn [~jasmuth@c-76-99-92-40.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
02:03 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
02:04 -!- SoniaKeys [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has joined
#go-nuts
02:06 -!- Tv [~tv@gige.bur.digisynd.com] has quit [Ping timeout: 264 seconds]
02:10 -!- impl [impl@atheme/member/impl] has quit [Ping timeout: 255 seconds]
02:10 -!- iant [~iant@67.218.104.238] has quit [Quit: Leaving.]
02:14 -!- impl [impl@224-74.ip4.durham0.network.cynigram.com] has joined #go-nuts
02:14 -!- impl [impl@224-74.ip4.durham0.network.cynigram.com] has quit [Changing
host]
02:14 -!- impl [impl@atheme/member/impl] has joined #go-nuts
02:14 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has left
#go-nuts []
02:15 -!- fumblebee [~kgay@blk-138-44-93.eastlink.ca] has joined #go-nuts
02:16 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined
#go-nuts
02:22 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has joined
#go-nuts
02:31 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Remote
host closed the connection]
02:33 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has joined #go-nuts
02:35 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
slashus2]
02:46 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
02:48 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has quit [Read
error: Operation timed out]
02:50 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has quit [Ping timeout: 245
seconds]
02:51 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
02:52 -!- artefon [~thiago@187.114.39.144] has quit [Quit: bye]
03:00 -!- cbeck [cbeck@firefly.cat.pdx.edu] has quit [Quit: leaving]
03:03 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Remote
host closed the connection]
03:05 -!- cbeck [cbeck@firefly.cat.pdx.edu] has joined #go-nuts
03:06 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has joined
#go-nuts
03:10 -!- felipe [~felipe@my.nada.kth.se] has quit [Quit: felipe]
03:27 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
03:33 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
03:33 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
03:33 -!- mode/#go-nuts [+v iant] by ChanServ
03:54 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 245 seconds]
04:16 -!- dj2 [~dj2@mail.ihhotel.com] has joined #go-nuts
04:16 -!- dj2 [~dj2@mail.ihhotel.com] has quit [Remote host closed the connection]
04:23 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Quit:
leaving]
04:24 -!- fumblebee [~kgay@blk-138-44-93.eastlink.ca] has quit [Ping timeout: 240
seconds]
04:24 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
#go-nuts
04:41 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has quit [Ping
timeout: 265 seconds]
04:41 -!- morrildl_ [~morrildl@216.239.45.130] has joined #go-nuts
04:55 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 265 seconds]
04:56 -!- iant [~iant@216.239.45.130] has joined #go-nuts
04:56 -!- mode/#go-nuts [+v iant] by ChanServ
04:57 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
04:57 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
Leaving]
05:11 -!- fumblebee [~kgay@blk-138-44-93.eastlink.ca] has joined #go-nuts
05:19 -!- snearch [~snearch@f053012080.adsl.alicedsl.de] has joined #go-nuts
05:30 -!- fabled [~fabled@mail.fi.jw.org] has joined #go-nuts
05:45 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265
seconds]
05:50 -!- morrildl_ [~morrildl@216.239.45.130] has quit [Ping timeout: 240
seconds]
05:56 -!- fumblebee [~kgay@blk-138-44-93.eastlink.ca] has quit [Ping timeout: 245
seconds]
05:56 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has joined
#go-nuts
06:02 -!- dacc [~Adium@c-67-171-32-251.hsd1.wa.comcast.net] has joined #go-nuts
06:02 -!- dacc [~Adium@c-67-171-32-251.hsd1.wa.comcast.net] has left #go-nuts []
06:03 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
06:10 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit:
adu]
06:19 -!- aho [~nya@fuld-4d00d533.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
06:29 -!- vegai [vegai@archlinux/developer/vegai] has joined #go-nuts
06:36 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has quit [Ping
timeout: 276 seconds]
06:41 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts
06:43 -!- sudoer [~jtoy@c-98-234-218-193.hsd1.ca.comcast.net] has joined #go-nuts
06:47 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has joined #go-nuts
07:00 -!- wrtp [~rog@92.17.50.1] has joined #go-nuts
07:07 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240
seconds]
07:09 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
07:13 -!- SoniaK [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has joined
#go-nuts
07:13 -!- SoniaKeys [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has quit
[Read error: Connection reset by peer]
07:15 -!- dacc [~Adium@c-67-171-32-251.hsd1.wa.comcast.net] has joined #go-nuts
07:19 -!- SirPsychoS [~sp@c-24-13-132-255.hsd1.il.comcast.net] has quit [Ping
timeout: 240 seconds]
07:22 -!- dacc [~Adium@c-67-171-32-251.hsd1.wa.comcast.net] has quit [Quit:
Leaving.]
07:23 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
Leaving.]
07:30 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts
07:37 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Remote
host closed the connection]
07:40 -!- Davidian1024 [~Davidian1@cpe-98-27-192-193.neo.res.rr.com] has quit
[Read error: Operation timed out]
07:41 -!- sudoer [~jtoy@c-98-234-218-193.hsd1.ca.comcast.net] has quit [Quit:
sudoer]
07:42 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:42 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
07:53 -!- SoniaK [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has quit []
07:54 -!- Davidian1024 [~Davidian1@cpe-98-27-192-193.neo.res.rr.com] has joined
#go-nuts
08:01 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
08:06 -!- photron [~photron@port-92-201-142-254.dynamic.qsc.de] has joined
#go-nuts
08:07 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
08:12 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:27 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
08:34 -!- tensorpudding [~user@99.148.202.191] has quit [Remote host closed the
connection]
08:38 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
08:38 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 265
seconds]
08:52 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has quit [Quit: Leaving]
09:09 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
09:12 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Remote
host closed the connection]
09:14 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving]
09:31 -!- SirPsychoS [~sp@c-24-13-132-255.hsd1.il.comcast.net] has joined #go-nuts
09:36 -!- SirPsychoS [~sp@c-24-13-132-255.hsd1.il.comcast.net] has quit [Ping
timeout: 245 seconds]
09:36 -!- mikespook [~mikespook@58.61.206.168] has quit [Quit: Leaving.]
09:37 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
09:41 < nsf> alternative go documentation: http://nsf.github.com/go and the
documentation generator (that was used for generating it):
http://github.com/nsf/gortfm
09:41 < nsf> :P
09:53 < nsf> what I want to know is..  does someone find these useful?
should I keep working on them, or maybe switching to something else (who knows
what I will come up with next time)
09:54 < nsf> oh..  and an example of documentation generated for the 3rd
party lib: http://nsf.github.com/termbox/termbox.html
10:05 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 255
seconds]
10:16 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
10:27 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 264 seconds]
10:28 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 272
seconds]
10:36 -!- artefon [~thiago@187.114.39.144] has joined #go-nuts
10:36 -!- artefon [~thiago@187.114.39.144] has quit [Read error: Connection reset
by peer]
10:39 -!- TheSeeker2 [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has
joined #go-nuts
10:41 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
10:42 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has quit
[Disconnected by services]
10:47 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
10:51 -!- wrtp [~rog@92.17.50.1] has quit [Ping timeout: 272 seconds]
10:55 -!- wrtp [~rog@92.17.50.1] has joined #go-nuts
11:09 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.2]
11:09 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
11:29 -!- lmoura [~lauromour@187.58.103.253] has quit [Read error: Connection
reset by peer]
11:31 -!- lmoura [~lauromour@187.113.103.137] has joined #go-nuts
11:33 -!- tav [~tav@92.7.93.11] has quit [Ping timeout: 245 seconds]
11:43 -!- tav [~tav@92.7.90.1] has joined #go-nuts
11:51 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
12:27 -!- gr0gmint [~quassel@87.60.23.38] has joined #go-nuts
12:27 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has joined #go-nuts
12:29 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has quit [Client Quit]
12:29 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has joined #go-nuts
12:40 -!- matti__ [~mumboww@c-98-207-108-218.hsd1.ca.comcast.net] has quit [Ping
timeout: 265 seconds]
12:50 < uriel> nsf: you should post about gortfm to
http://www.reddit.com/r/golang/ ;)
12:51 < nsf> probably I should, I just never used reddit
12:51 < Gertm> addictive :o
12:57 < nsf> dunno
12:57 < nsf> looks clumsy to me
12:57 < nsf> but popular for some reason
13:00 < wrtp> nsf: what advantages does gortfm have over godoc?
13:00 < nsf> it generates documentation statically
13:01 < wrtp> why is that good?
13:01 < nsf> if you want to publish your doc on the web it's a nice thing
13:01 -!- zcram [~zcram@78-28-75-57.cdma.dyn.kou.ee] has quit [Quit: Leaving]
13:01 < nsf> unless you have a place where you can run go binaries of course
13:02 < nsf> and usability is different
13:02 < nsf> gortfm generated reference is more usable for me
13:03 < nsf> it's very easy to find stuff in it with few key strokes
13:03 < nsf> mostly doesn't require mouse at all
13:04 -!- gr0gmint [~quassel@87.60.23.38] has quit [Remote host closed the
connection]
13:04 < uriel> nsf: I think gortfm is already worth it for the
static-docs-generation part alone
13:05 < uriel> I'm not too thrilled by the keyboard-oriented interface, but
it is nice to have alternatives for people that like that kind of thing
13:05 < nsf> well, the second part is mostly a reason why I maintain
http://nsf.github.com/go/ this thing
13:05 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
13:05 < uriel> I just think that there would be no downside to make it more
mouse-friendly
13:06 < uriel> (by making perhaps more things into links)
13:06 < uriel> (like argument types, etc)
13:06 -!- wrtp [~rog@92.17.50.1] has quit [Ping timeout: 276 seconds]
13:06 < uriel> also, something that is cool about godoc is that it provides
easy access to the source, it might be worth thinking of some way to keep the
source accessible from gorftm
13:07 < nsf> http://github.com/nsf/gortfm/issues#issue/1
13:07 < nsf> I have a feature request regarding source code generation
13:07 < nsf> currently I'm looking into the way I can integrate pygments
highlighter
13:08 < nsf> but I'm afraid I won't do it for Go docs
13:08 < nsf> it's just too many files :)
13:08 < nsf> and my personal opinion that there is an API reference and
there is a source code
13:09 < nsf> the first one should be rich enough
13:09 < nsf> so that you don't have to look into the second one
13:09 < nsf> but if you want to..  there is a source code :) use vim or
something
13:09 < nsf> but people disagree
13:09 < nsf> :\
13:09 < nsf> of course..  :D
13:10 -!- wrtp [~rog@92.17.50.1] has joined #go-nuts
13:12 -!- MX80 [~MX80@cust222.253.117.74.dsl.g3telecom.net] has quit [Remote host
closed the connection]
13:12 < nsf> although there is one more option
13:12 < nsf> for go lib docs
13:13 < nsf> just link my documentation to golang.org's source code browser
13:15 < KBme> hi
13:15 -!- iomox [~ios@120.28.94.31] has joined #go-nuts
13:15 < KBme> anyone know this: http://pastie.org/1289733 ?
13:15 < KBme> this is with hg update release
13:17 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
13:17 < nsf> mkenam script for some reason failed to generate enam.c file
13:18 < nsf> it uses 'ed' text editor
13:18 < nsf> do you have one?
13:18 -!- cmarcelo [~cmarcelo@187.113.103.137] has joined #go-nuts
13:18 -!- cmarcelo [~cmarcelo@187.113.103.137] has quit [Changing host]
13:18 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
13:18 < nsf> 'whereis ed'
13:18 < KBme> i do but i think i only have the one from plan9ports
13:19 < KBme> yep
13:19 < KBme> $ which ed
13:19 < KBme> /usr/local/plan9/bin/ed
13:19 < KBme> so something gnu-ed-specific was introduced maybe
13:19 < KBme> i'll try by installing the gnu one
13:20 < KBme> yep looks like that did it
13:20 < nsf> probably something like that, yeah
13:21 * KBme is sad to see that
13:21 < KBme> ah well
13:21 < KBme> thanks nsf
13:22 < nsf> np
13:22 -!- nigelkerr [~nigelkerr@jstormichfw.jstor.org] has joined #go-nuts
13:22 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has left #go-nuts
["Leaving..."]
13:23 -!- bjarneh [~bjarneh@1x-193-157-202-221.uio.no] has joined #go-nuts
13:29 -!- felipe [~felipe@my.nada.kth.se] has joined #go-nuts
13:32 -!- MX80 [~MX80@cust222.253.117.74.dsl.g3telecom.net] has joined #go-nuts
13:33 -!- skelterjohn [~jasmuth@c-76-99-92-40.hsd1.nj.comcast.net] has joined
#go-nuts
13:40 -!- skelterjohn [~jasmuth@c-76-99-92-40.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
13:45 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
13:48 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
13:48 -!- iomox [~ios@120.28.94.31] has quit [Quit: Leaving]
13:49 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts
13:54 -!- wrtp [~rog@92.17.50.1] has quit [Read error: Connection reset by peer]
13:54 -!- wrtp [~rog@92.17.50.1] has joined #go-nuts
13:57 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
14:01 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
14:05 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Quit: Leaving]
14:08 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has joined #go-nuts
14:14 -!- DerHorst [~Horst@e176105121.adsl.alicedsl.de] has joined #go-nuts
14:18 < madari> hey
14:18 < madari> quick one: are close() and closed() atomic ?
14:19 < uriel> hmmm...  I guess so?
14:20 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
14:20 < madari> that's what I thought too..  in the spec/someplaceelse it
did say that all channel operations are atomic, but just checking...  thanks
14:20 < uriel> in my experience, depending on close()/closed() for channel
communication/synchronization is not the best idea
14:21 < uriel> why do you need to know?
14:22 < madari> i'll show you...  one sec
14:24 < madari> http://pastie.org/private/iqngwcc5rb57io3nbxcma
14:24 < nsf> madari: of course they are not atomic
14:24 < madari> hehe, there we go
14:24 < madari> :(
14:24 < nsf> but there is a mutex inside runtime function
14:25 < madari> so close and closed are not channel operations?
14:25 < nsf> they are runtime functions
14:25 < nsf> and they are thread-safe
14:25 < madari> ok
14:26 < madari> thank you for this explanation
14:26 < nsf> np
14:30 < KBme> [uriel] in my experience, depending on close()/closed() for
channel communication/synchronization is not the best idea
14:31 < KBme> what do you mean?.
14:31 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
14:36 < skelterjohn> if two goroutines are reading from the same channel,
they cannot rely on closed() giving useful information
14:37 < skelterjohn> not without extra machinery
14:38 < nsf> that's an obvious thing
14:38 < nsf> beacuse if closed(c) { ...  here it is possible that in other
thread the status of the channel will be changed
14:38 < skelterjohn> right - this is a well known issue
14:39 < nsf> it's not an issue
14:39 < nsf> it is an expected behaviour :)
14:39 < skelterjohn> and this expected behavior makes it difficult to write
some kinds of code - hence the "issue"
14:39 < skelterjohn> i'm not saying it's a bug
14:39 < nsf> not really, it is a misuse of the channels
14:39 < skelterjohn> but it's not exactly a feature, either
14:39 < skelterjohn> nsf: that code doing what it does is not the issue
14:40 < skelterjohn> the issue is that i can't have two goroutines read from
the same channel and handle closing without having extra machinery
14:40 < nsf> but what about the read operation itself
14:40 < skelterjohn> what about it
14:40 < nsf> how it behaves on closed channels?
14:41 < skelterjohn> it gives a zero value
14:41 < nsf> that's a bad idea
14:41 < nsf> I mean there should be a better form
14:41 < skelterjohn> oh, so you mean there may be an issue, here?  :)
14:41 < nsf> I believe it is possible to do: v, ok := <-c
14:41 < skelterjohn> nsf: that does not block
14:42 < nsf> yes yes I know
14:42 < KBme> it is, but it doesn't block
14:42 < nsf> well, it should be designed differently
14:42 < nsf> it should be:
14:42 < skelterjohn> one solution, if it had been done from the beginning,
is to have that block and give ok if the read was successful
14:42 < nsf> v, status := <-c
14:42 < skelterjohn> but it's "too late now", basically
14:42 < nsf> and for blocking channel
14:42 < nsf> it should returns something different
14:42 < skelterjohn> or at least making that change would have a great deal
of resistance
14:42 < KBme> many things would need to be changed
14:42 < nsf> yes
14:42 < skelterjohn> right
14:43 < KBme> what does reading a closed channel return?
14:43 < skelterjohn> zero
14:43 < skelterjohn> whatever the zero value is for the type
14:43 < nsf> on the other hand
14:43 < KBme> ah, ok
14:43 < nsf> what's wrong with using that fact
14:44 < skelterjohn> perhaps you want to do math, and are sending numbers
over the channel
14:44 < nsf> like if I have a channel, and it passes to my goroutines some
kind of *Message
14:44 < nsf> nil means the channel was closed
14:44 < skelterjohn> certainly in many cases you can use zero as a special
value
14:44 < nsf> sending channels through a channel is a very bad idea
14:44 < skelterjohn> this is one way to do the "extra machinery" i was
talking about
14:44 < nsf> it is plain slow
14:44 < KBme> so if it's a channel of int, it will return 0?
14:44 < KBme> that's fairly ambigous
14:44 < skelterjohn> KBme: yes
14:44 < nsf> oops
14:45 < nsf> I mean sending numbers though a channel
14:45 < nsf> is a bad idea
14:45 < skelterjohn> nsf: bad idea or not is beside the point
14:45 < nsf> anyways, I know nothing about concurrent programming
14:45 < nsf> we should ask Rob Pike for what is right and how we should
write our code
14:45 < nsf> I believe he knows :)
14:46 * KBme has a project comming around using lots of netchans
14:46 < skelterjohn> i believe the go team feels that other issues are more
important
14:46 < skelterjohn> or at least, that's the sense i got when i brought this
issue up in the ML
14:46 < nsf> my personal issue with the language is the GC
14:46 < skelterjohn> a number of months back
14:46 < nsf> I hate it
14:46 < nsf> even though it doesn't break my apps
14:46 < nsf> yet
14:46 < nsf> but I just don't like it :)
14:47 * KBme can't say anything about that
14:47 < skelterjohn> i haven't had any problems, so far
14:47 < KBme> why, though?
14:47 < nsf> well, the problem is that even on medium apps like gocode
14:47 < KBme> is it because of the global lock?
14:47 < nsf> it's performance is very noticable
14:47 < nsf> its*
14:48 < nsf> for example currently gocode autocompletes stuff in 30ms
14:48 < nsf> and after each request it runs GC explicitly
14:48 < nsf> without that thing (running GC explicitly)
14:48 < nsf> sometimes autocompletion time drops to 130ms
14:48 < nsf> due to GC
14:48 < nsf> it's not funny :)
14:48 < KBme> is there a doc for using gocode by the way?  i'd love to
integrate it to acme..
14:49 < skelterjohn> i am surprised that an autocomplete tool would take so
much memory
14:49 < nsf> I just don't like that kind of unpredictable behaviour
14:49 < nsf> KBme: I'm afraid integrating it to acme is a bad idea
14:49 < nsf> skelterjohn: it takes 30-50 megs of ram with warm cache
14:49 < skelterjohn> ...
14:49 < skelterjohn> whyyyyy
14:50 < nsf> I don't know, because GC is crappy and never returns stuff to
system
14:50 < KBme> nsf: why?  heheheh i feel some sarcasm there
14:50 < skelterjohn> i don't know what warm cash is, though
14:50 < nsf> cache
14:50 < nsf> well it caches libraries
14:50 < nsf> and files
14:50 < nsf> because parsing them takes time
14:51 < nsf> the thing is
14:51 < nsf> it caches the whole source code as well (for refactoring
module)
14:51 < KBme> nsf: whywhywhy?  :P
14:51 < nsf> a bit weird
14:51 < skelterjohn> speed vs memory
14:51 < skelterjohn> always a trade-off
14:52 < skelterjohn> and now with the GC, it's not an obvious trade-off
14:52 < nsf> KBme: well how would you integrate autocompletion to acme?
14:52 < nsf> another mouse chord?
14:52 < nsf> skelterjohn: exactly
14:52 < nsf> the problem with current GC
14:52 < KBme> nsf: there is autocompletion for acme, the insert key does
that
14:52 < nsf> that it isn't cache friendly
14:52 < KBme> for now it only does it for directories
14:52 < skelterjohn> KBme: I don't have an insert key
14:52 < nsf> e.g.  if my app has big cache in heap
14:52 < nsf> it affects the GC performance
14:53 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
14:53 < KBme> skelterjohn: there is a ctrl sequence too, i don't know what
it is
14:53 < nsf> even if the cache shouldn't be ever destroyed
14:53 < KBme> maybe ^x or something
14:53 < skelterjohn> hah when i said "warm cash", i meant "warm cache".
what is a warm cache?  I know what cache is in general
14:53 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 245 seconds]
14:53 < skelterjohn> just realized that was why you didn't answer me earlier
14:53 -!- virtualsue [~chatzilla@nat/cisco/x-scsroypvdesqswee] has joined #go-nuts
14:53 < nsf> KBme: I'll take a look, but how do you want to integrate
another app into acme, does it have scripting langauge?
14:54 < nsf> warm means that it was up and running for some time
14:54 < nsf> and contains data
14:54 < KBme> nsf: yeah, it does.  it's just a filesystem ;)
14:54 < nsf> because if you've just started gocode daemon
14:54 < nsf> it eats 5-10 megs of ram
14:55 < KBme> especially because it seems like gocode just uses
stdin-stdout, it shouldn't be too hard
14:55 < nsf> KBme: ugh..  ok, two options: 1.  give me your email I will
send instructions to you, 2.  download gocode, go to 'testing' dir and figure out
how it works :)
14:55 -!- sauerbraten [~sauerbrat@p508CB073.dip.t-dialin.net] has joined #go-nuts
14:56 < KBme> nsf: heh it might be nice to publish it, tho, maybe other
people would like to know.  gocode doesn't seem to have a whole lot of doc.
14:57 < KBme> nsf: you receive privmsg's right?
14:57 < nsf> yes
14:57 < nsf> the thing is
14:57 < nsf> I'm not publishing it
14:57 < KBme> not publishing what?
14:57 < nsf> because if person wants to integrate gocode in his editor
14:57 < nsf> it's kind of a barrier that makes him think more
14:57 < nsf> does he really want that
14:58 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has joined
#go-nuts
14:58 < nsf> most people just don't know what they want, they ask for help
and then don't do anything
14:58 < nsf> :)
14:58 < nsf> maybe I'm wrong though
14:58 < KBme> ok i guess you might be right
14:58 < nsf> but integrating gocode is fairly simple
14:59 < KBme> i guess i understand you don't want to be swamped with support
requests and stupid questions about gocode
15:00 < skelterjohn> nsf is a bit of a curmudgeon
15:00 < KBme> yeah, he likes to code more than answer stupid questions.
15:00 < nsf> it's not even like that
15:00 < KBme> i can understand, i answer stupid questions for work ;)
15:00 < skelterjohn> you can find him in his cave
15:00 < nsf> I just don't know english well to type fast
15:00 < nsf> and spend a lot of time answering questions
15:00 < nsf> :D
15:00 < nsf> or do lots of mistakes
15:02 < nsf> KBme: check your mail :)
15:02 < nsf> skelterjohn: I dunno, maybe you're right
15:02 < KBme> nsf: thanks
15:03 < skelterjohn> nothing wrong with being a curmudgeon
15:03 < skelterjohn> it takes all kinds
15:03 < nsf> I believe in people too much, but if they behave as they were
stupid idiots
15:03 < nsf> it disappoints me :)
15:03 < KBme> haha
15:07 < skelterjohn> so, i've got this set of packages that are necessarily
divided up into subfolders and subpackages - what's the best way to have them all
build with one command?
15:08 < nsf> write a makefile :D
15:08 < KBme> heh
15:08 < KBme> skelterjohn: make -C subdir
15:08 < nsf> and here you go..  one command: make
15:08 < skelterjohn> i'd like to keep the existing makefiles
15:08 < nsf> well one makefile to rule them all
15:08 -!- rlab_ [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
15:08 < skelterjohn> but i'd have to put that in a directory above the top
package :\
15:09 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
15:09 < skelterjohn> now look whose being a curmudgeon...
15:09 < nsf> well it's a nice idea, just make another directory for your
main app
15:09 -!- snearch [~snearch@f053012080.adsl.alicedsl.de] has quit [Quit:
Verlassend]
15:09 < nsf> like 'src'
15:09 < nsf> or something
15:10 < nsf> or you can add deps to your makefile
15:10 < nsf> I do that
15:10 < nsf> see gortfm for example
15:10 < nsf> it uses internal library in the 'doce' package
15:10 < nsf> http://github.com/nsf/gortfm/blob/master/Makefile
15:11 < nsf> I'm just adding doce.a to PREREQ var
15:11 < skelterjohn> what i really want is a magic tool that will be able to
figure all these things out for me
15:11 < nsf> and then add a rule to build doce.a
15:11 < skelterjohn> so i don't have to maintain a collection of makefiles
15:11 < nsf> there is no magic in this world
15:11 < skelterjohn> s/magic/clever
15:11 < nsf> I guess this problem was recently discussed in the mailing list
15:11 < nsf> there are some patters however
15:11 < nsf> and there should be one solution for them
15:12 < nsf> patterns*
15:12 < nsf> like another Makefile template
15:12 < nsf> LIBS=subdir1 subdir2
15:12 < nsf> MAIN=src
15:12 < nsf> and you're done :)
15:12 < nsf> it is possible
15:12 < nsf> I think
15:13 < skelterjohn> i have a new project for you ;)
15:13 < nsf> hehe
15:13 < nsf> I've tried to make a build system once
15:14 < nsf> wasn't quite pleasant experience
15:14 < nsf> since then I'm using cmake for everything that isn't Go :)
15:15 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
15:18 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts
15:25 -!- skejoe [~skejoe@188.114.142.231] has joined #go-nuts
15:34 -!- fumblebee [~kgay@137.149.217.133] has joined #go-nuts
15:35 -!- kanru [~kanru@118-160-173-237.dynamic.hinet.net] has joined #go-nuts
15:36 < wrtp> madari: you should never use closed() to test whether it's ok
to send on a channel.
15:40 -!- Venom_X [~pjacobs@99-8-218-190.lightspeed.hstntx.sbcglobal.net] has
joined #go-nuts
15:48 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
15:51 < uriel> wrtp: yea, that sounds like a not very good idea
15:51 < wrtp> uriel: that's what his code snippet was doing
15:53 -!- fumblebee [~kgay@137.149.217.133] has quit [Ping timeout: 272 seconds]
15:54 -!- fabled [~fabled@mail.fi.jw.org] has quit [Quit: Ex-Chat]
15:56 < uriel> sorry, had to run and have not been paying attention to irc
for a bit :(
16:02 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts
16:05 -!- morrildl_ [~morrildl@c-98-248-38-72.hsd1.ca.comcast.net] has quit [Ping
timeout: 265 seconds]
16:06 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
16:09 -!- rejb [~rejb@unaffiliated/rejb] has quit [Client Quit]
16:11 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
16:19 -!- Chopinn [~Chopin@ti0018a380-dhcp2647.bb.online.no] has quit [Ping
timeout: 240 seconds]
16:21 -!- homa_rano [~erice@hmsvelociraptor.csail.mit.edu] has quit [Ping timeout:
240 seconds]
16:22 -!- homa_rano [~erice@hmsvelociraptor.csail.mit.edu] has joined #go-nuts
16:23 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
16:25 -!- Venom_X [~pjacobs@99-8-218-190.lightspeed.hstntx.sbcglobal.net] has quit
[Quit: Venom_X]
16:31 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240
seconds]
16:34 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
16:35 -!- FIsh [~Fish@9fans.fr] has joined #go-nuts
16:35 -!- FIsh [~Fish@9fans.fr] has quit [Client Quit]
16:35 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
16:36 -!- morrildl_ [~morrildl@nat/google/x-datxbalvvbddzayn] has joined #go-nuts
16:40 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit:
Leaving]
16:43 -!- boscop [~boscop@f055255079.adsl.alicedsl.de] has quit [Ping timeout: 245
seconds]
16:54 -!- boscop [~boscop@g227132035.adsl.alicedsl.de] has joined #go-nuts
16:58 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Quit: Leaving]
16:58 -!- kanru [~kanru@118-160-173-237.dynamic.hinet.net] has quit [Ping timeout:
265 seconds]
17:06 -!- Tv [~tv@gige.bur.digisynd.com] has joined #go-nuts
17:08 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
17:09 < cyounkins> Ahoy there.  Isn't append a built-in in the latest
compiler?  I'm getting "undefined: append" using "6g version 6432
release.2010-09-29"
17:09 < nsf> you have an old release version
17:10 < nsf> 09 is september, seriously..
17:11 < cyounkins> I know what month that is :-) I believe that is the
latest in the release branch.
17:12 < nsf> go releases happen each week or two
17:12 < nsf> the latest one was on 10th of november
17:12 -!- Venom_X [~pjacobs@99.3.159.249] has joined #go-nuts
17:12 < cyounkins> Hm. OK.
17:14 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
17:21 -!- morrildl_ [~morrildl@nat/google/x-datxbalvvbddzayn] has quit [Ping
timeout: 276 seconds]
17:25 -!- skejoe [~skejoe@188.114.142.231] has quit [Quit: leaving]
17:43 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
17:43 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
Leaving.]
17:46 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
245 seconds]
17:49 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
17:55 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
18:00 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
18:01 -!- virtualsue [~chatzilla@nat/cisco/x-scsroypvdesqswee] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.5.15/20101026200251]]
18:01 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 276 seconds]
18:02 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
18:03 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping
timeout: 265 seconds]
18:08 -!- MaksimBurnin [~max@44.188-224-87.telenet.ru] has joined #go-nuts
18:18 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
18:21 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
18:26 -!- DerHorst [~Horst@e176105121.adsl.alicedsl.de] has quit [Remote host
closed the connection]
18:29 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
18:33 -!- Venom_X [~pjacobs@99.3.159.249] has quit [Ping timeout: 245 seconds]
18:36 -!- ercx_ [~ercan@ool-182df0e4.dyn.optonline.net] has joined #go-nuts
18:39 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
18:43 -!- ercx_ [~ercan@ool-182df0e4.dyn.optonline.net] has quit [Quit: WeeChat
0.3.3]
18:46 -!- dj2 [~dj2@c69-58-69-2.cust.broadbandip.net] has joined #go-nuts
18:49 -!- TheMue [~TheMue@p5DDF6803.dip.t-dialin.net] has joined #go-nuts
18:54 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit:
Leaving]
18:54 -!- d_m [d6@SDF.ORG] has left #go-nuts []
19:00 -!- tvw [~tv@e176006111.adsl.alicedsl.de] has joined #go-nuts
19:00 -!- dj2 [~dj2@c69-58-69-2.cust.broadbandip.net] has quit [Remote host closed
the connection]
19:01 < plexdev> http://is.gd/gWCGx by [Robert Griesemer] in
go/src/pkg/sort/ -- sort.Search: fix typo in documentation
19:01 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving]
19:11 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-176-180.clienti.tiscali.it] has
joined #go-nuts
19:11 -!- nigelkerr [~nigelkerr@jstormichfw.jstor.org] has quit [Quit: nigelkerr]
19:14 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has quit [Quit: ucasano]
19:18 -!- tvw [~tv@e176006111.adsl.alicedsl.de] has quit [Remote host closed the
connection]
19:22 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
19:27 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
19:29 -!- TheMue [~TheMue@p5DDF6803.dip.t-dialin.net] has quit [Quit: TheMue]
19:30 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
19:31 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
19:31 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has quit [Quit: Leaving.]
19:33 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
19:34 -!- TheMue [~TheMue@p5DDF6803.dip.t-dialin.net] has joined #go-nuts
19:35 -!- devrim [~Adium@160.79.7.234] has joined #go-nuts
19:36 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-176-180.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
19:43 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping
timeout: 245 seconds]
19:47 -!- bjarneh [~bjarneh@1x-193-157-202-221.uio.no] has quit [Quit: leaving]
19:50 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
264 seconds]
19:52 -!- SoniaKeys [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has joined
#go-nuts
20:04 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
20:08 -!- ucasano [~ucasano@151.54.199.130] has joined #go-nuts
20:09 -!- ucasano [~ucasano@151.54.199.130] has quit [Read error: Connection reset
by peer]
20:09 -!- ucasano [~ucasano@151.54.199.130] has joined #go-nuts
20:10 -!- res99 [~anonymous@201.237.130.70] has joined #go-nuts
20:14 -!- fumblebee [~kgay@142.166.116.234] has joined #go-nuts
20:14 -!- aho [~nya@fuld-4d00d462.pool.mediaWays.net] has joined #go-nuts
20:23 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
20:24 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
20:34 -!- morrildl_ [~morrildl@nat/google/x-bhsybbjyfwsupctw] has joined #go-nuts
20:39 -!- exch [~exch@h78233.upc-h.chello.nl] has quit [Read error: Connection
reset by peer]
20:39 -!- exch [~exch@h78233.upc-h.chello.nl] has joined #go-nuts
20:46 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit:
Leaving]
20:48 < plexdev> http://is.gd/gWLUV by [Adam Langley] in
go/src/pkg/crypto/x509/ -- crypto/x509: policy OID support and fixes.
20:50 -!- devrim [~Adium@160.79.7.234] has quit [Quit: Leaving.]
20:58 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
20:59 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265
seconds]
21:11 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
21:12 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
21:20 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping
timeout: 245 seconds]
21:23 -!- tvw [~tv@e176006111.adsl.alicedsl.de] has joined #go-nuts
21:25 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
21:25 < |Craig|> anyone have an idea why adding math.MinFloatFloat32 to
math.MinFloatFloat32 takes over 24 times longer than adding 1.0 to 1.0, or even
adding 3.5 to 115.7?
21:27 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
21:30 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
240 seconds]
21:30 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
21:35 -!- TheMue [~TheMue@p5DDF6803.dip.t-dialin.net] has quit [Quit: TheMue]
21:37 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:38 < wrtp> |Craig|: no idea.  quite cool though.  the multiplier is 170x
on my machine.
21:38 < wrtp> it must be triggering some odd edge cases in the multiplier
unit, i guess
21:39 < wrtp> adding 1 takes 4ns on my machine, adding pi takes 14ns, and
adding MinFloat32 takes 685ns
21:40 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
21:45 -!- morrildl_ [~morrildl@nat/google/x-bhsybbjyfwsupctw] has quit [Ping
timeout: 264 seconds]
21:45 < |Craig|> wrtp: numbers 1**(-127) and less seem to have the slow
speed, where 1**(-126) and higher are fast
21:45 < |Craig|> interesting
21:46 < |Craig|> 127 is the exponent bias for float32 I think
21:47 < |Craig|> wrtp: my times are testing on a very large array, so for
the bast cases, its memory bound, I should do a simpler test
21:48 < |Craig|> this explains why my fractal generator accelerated as the
numbers got larger.  Very strange, but good to know
21:49 < wrtp> oh yes, all my times should be divided by 4, as i unrolled the
loop 10 times.  (i assume it wasn't optimised out).
21:50 < plexdev> http://is.gd/gWRkL by [Robert Griesemer] in
go/src/pkg/sort/ -- sort.Search: more typos
21:54 -!- virtualsue [~chatzilla@nat/cisco/x-ihgujwehknrgxger] has joined #go-nuts
21:54 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
21:56 < |Craig|> 2.2 ns for 1.0/(a<<126) and 60.6 ns for
1.0/(a<<126), difference of 26 times
21:56 < |Craig|> wow
21:57 < skelterjohn> and would the times be the same if you used a <<
125 instead?
21:57 -!- rbraley [~rbraley@ip72-222-128-78.ph.ph.cox.net] has quit [Ping timeout:
272 seconds]
21:58 < |Craig|> 60.6 ns for 1.0/(a<<127) I mean
21:59 < |Craig|> skelterjohn: as far as I can tell, there is simply one shap
transition.  1.0/(a<<126) and 1.0 are the same speed for me
21:59 < skelterjohn> also try doing the experiment in the opposite order - i
find sometimes a program runs slowly the first time, probably due to cpu caching
21:59 < |Craig|> and minFloat32 is the same speed as 1.0/(a<<127)
22:00 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
22:00 < |Craig|> skelterjohn: I saw that effect in my array tests, it was
huge, but not an issue here
22:00 < |Craig|> I did try reverseing them though, no change
22:01 -!- ucasano [~ucasano@151.54.199.130] has quit [Quit: ucasano]
22:01 < |Craig|> -126 is the claimed min exponet for float32
22:02 < skelterjohn> nea
22:02 < skelterjohn> t
22:02 < skelterjohn> same behavior in C, i imagine
22:02 -!- morrildl_ [~morrildl@nat/google/x-jwuvqexyudqdrzia] has joined #go-nuts
22:02 < |Craig|> I guess I'm not sure how the even smaller min float 32
works, must be the minimim significant or something
22:03 < |Craig|> so don't go below 2**-126 or you are in special case land
as the exponent is at its minimum value
22:04 -!- sauerbraten [~sauerbrat@p508CB073.dip.t-dialin.net] has quit [Remote
host closed the connection]
22:04 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping
timeout: 245 seconds]
22:07 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
22:07 -!- morrildl_ [~morrildl@nat/google/x-jwuvqexyudqdrzia] has quit [Ping
timeout: 245 seconds]
22:11 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Quit:
Leaving]
22:11 -!- rbraley [~rbraley@ip72-222-128-78.ph.ph.cox.net] has joined #go-nuts
22:11 -!- SirPsychoS [~sp@c-24-13-132-255.hsd1.il.comcast.net] has joined #go-nuts
22:15 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
22:18 -!- fluffle [~camelid@s.pl0rt.org] has quit [Ping timeout: 272 seconds]
22:18 -!- fluffle [~camelid@s.pl0rt.org] has joined #go-nuts
22:20 -!- tav [~tav@92.7.90.1] has quit [Ping timeout: 245 seconds]
22:24 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Remote host closed the
connection]
22:35 -!- virtualsue [~chatzilla@nat/cisco/x-ihgujwehknrgxger] has quit [Ping
timeout: 272 seconds]
22:41 -!- tav [~tav@92.7.102.64] has joined #go-nuts
22:41 < SoniaKeys> re e-126, there was this post on the mailing list
http://groups.google.com/group/golang-nuts/msg/42fd6a12affe88c3
22:46 < |Craig|> SoniaKeys: that reminds me of how a friend of mine needed
deterministic math for implementing the lock step model for an rts game, and
because of all the little differences across machines, resorted to fixed point for
everything
22:47 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:48 < |Craig|> SoniaKeys: looks like the explanation there matches up with
my new found understanding of the issue, thanks for the link
22:49 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
22:50 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the
connection]
22:52 < SoniaKeys> yw.  and then, sometimes i've used the opposite trick,
using doubles to store integers when my only available integer data types were 32
bit, and i needed a few more digits.  doubles represent integer values exactly, so
it's safe.
22:53 < |Craig|> off the top of my head, I remember doubles having a 52 bit
significant or so, so more than 32
22:54 < plexdev> http://is.gd/gWXdA by [Robert Griesemer] in
go/src/pkg/sort/ -- sort.Search: added extra test to verify efficiency
22:55 < SoniaKeys> yes.  it's a strange little trick, but in some languages
it's handy.  totally not needed in go, with int64s.
22:56 < SoniaKeys> my performance frustration the last few days has been
trying to parallelize a routine that reads a large text file full of floats.
22:57 < SoniaKeys> it takes several seconds to read in.  i thought with four
cores, i could do better.
22:57 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Read
error: Connection reset by peer]
22:57 < |Craig|> SoniaKeys: depends on if its IO bound
22:57 < SoniaKeys> but no.  i can't get any parallel versions to run faster
than my single threaded version.
22:57 -!- ucasano [~ucasano@host185-90-static.5-79-b.business.telecomitalia.it]
has joined #go-nuts
22:57 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
22:57 < |Craig|> SoniaKeys: this in go?
22:58 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Read
error: Connection reset by peer]
22:58 < SoniaKeys> yes, in go.  i can read the file into memory in 50ms, so
i don't think it's exactly io bound.
22:58 < |Craig|> you set runtime.GOMAXPROCS(4)
22:58 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
22:59 -!- ucasano [~ucasano@host185-90-static.5-79-b.business.telecomitalia.it]
has quit [Client Quit]
22:59 < SoniaKeys> but somehow doing io at the the same time as running
multiple goroutines keeps the cores from running at 100%.
22:59 < SoniaKeys> i don't understand it exactly
23:00 < |Craig|> well if it only takes 50ms to read, read then parallel
process it I guess
23:00 < |Craig|> make sure you are using buffered pipes too I guess.  I
haven't really tried to parallelize anything yet, so I don't know much about it
23:01 < SoniaKeys> it's not a big deal.  it was just kind of an exercise to
see if i could cut a couple of seconds off the time.
23:01 < SoniaKeys> i tried lots of different reading and parallelizing
techniques.  nothing worked.  :(
23:02 < |Craig|> Now that I got my nastly slow floats done away with, maybe
I should do some parallelization, though I need to use a different algroythem for
it
23:03 < SoniaKeys> your problem should be big enough that a speedup is
worthwhile, and of course parallelizable somehow.
23:04 < |Craig|> I need to invert my fractal generator algorithm.  as it it,
it would generate multiple concurrent writes.  If I run the inverse, it only has
concurrent reads :)
23:06 < SoniaKeys> don't have much experience with them, but fractal
generators would seem embarrassingly parallel on the surface.
23:07 < |Craig|> most approaches are
23:07 < SoniaKeys> i have one compute-bound program that parallelized very
well.  runs pretty much n times faster with n cores.
23:07 < |Craig|> issue happens when you render overlapping parts to your
image array at the same time
23:07 < SoniaKeys> i see
23:08 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X]
23:08 < |Craig|> so instead i'll iterate over the image, and compute what to
draw at each pixel, then I can parallelize it, and for my fractals, that should be
just about as fast (though it would not work for many kinds of fractals)
23:10 -!- kr [~kr@208.66.27.62] has joined #go-nuts
23:11 -!- SoniaKeys [~soniakeys@c-76-118-178-209.hsd1.ma.comcast.net] has quit []
23:15 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
265 seconds]
23:15 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 245 seconds]
23:17 -!- lilpenguina [~penguina@adsl-71-146-23-139.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
23:17 -!- wrtp [~rog@92.17.50.1] has quit [Quit: wrtp]
23:29 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 240 seconds]
23:29 -!- uriel [~uriel@li43-28.members.linode.com] has quit [Ping timeout: 240
seconds]
23:29 -!- uriel_ [~uriel@li43-28.members.linode.com] has joined #go-nuts
23:30 -!- quag_ [~quag@121-98-81-61.bitstream.orcon.net.nz] has joined #go-nuts
23:31 -!- Altercato [~Altercati@ogygia.ethanschoonover.com] has joined #go-nuts
23:36 -!- Netsplit *.net <-> *.split quits: Altercation, quag, Stiletto,
ampleyfly, uriel
23:38 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping
timeout: 245 seconds]
23:38 -!- aho [~nya@fuld-4d00d462.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
23:43 -!- kanru [~kanru@118-160-173-237.dynamic.hinet.net] has joined #go-nuts
23:44 -!- lilpenguina1 [~penguina@adsl-71-146-23-139.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
23:46 -!- belkiss [~kvirc@feu30-1-82-242-58-196.fbx.proxad.net] has joined
#go-nuts
23:47 -!- lilpenguina [~penguina@adsl-71-146-23-139.dsl.pltn13.sbcglobal.net] has
quit [Ping timeout: 272 seconds]
23:48 -!- belkiss [~kvirc@feu30-1-82-242-58-196.fbx.proxad.net] has quit [Client
Quit]
23:50 < |Craig|> I just used my first closure, and function array in Go, and
it was very intuitive and easy.  Doing that in Java would have been horrible!
23:53 < |Craig|> and I'm pretty sure I'd have a hard time in C too.  Go
feels like Cython to me, except instead of fast or safe, its fast and safe.
23:55 -!- SirPsychoS [~sp@c-24-13-132-255.hsd1.il.comcast.net] has quit [Ping
timeout: 255 seconds]
23:59 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
--- Log closed Fri Nov 12 00:00:15 2010