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

--- Log opened Fri Mar 18 00:00:55 2011
00:01 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Quit:
shakesoda]
00:07 -!- ddoman [~root@96.53.63.250] has quit [Remote host closed the connection]
00:07 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Quit:
Leaving]
00:20 -!- m4dh4tt3r [~Adium@29.sub-75-210-236.myvzw.com] has quit [Ping timeout:
248 seconds]
00:29 -!- nettok [~quassel@200.119.156.136] has joined #go-nuts
00:34 < steven> i have a plan.
00:34 < steven> i think its gonna be AWESOME.
00:34 < KirkMcDonald> Uh oh.
00:34 < steven> should i post my proposal on the mailing list?
00:34 < steven> undoubtedly some will love it and some will hate it
00:35 < steven> maybe i should just keep it to myself until im done?
00:36 -!- nettok_ [~quassel@200.119.188.207] has joined #go-nuts
00:37 < skelterjohn> it's tough to answer that question
00:37 -!- nettok [~quassel@200.119.156.136] has quit [Ping timeout: 264 seconds]
00:37 < skelterjohn> if it's a plan about how you're going to buy lunch
tomorrow
00:37 < skelterjohn> i'd suggest, in a friendly way, to keep it to yourself
00:38 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Operation timed out]
00:39 < steven> hehe
00:39 < steven> its a plan for a go web framework
00:39 < steven> one thats different than the rest.
00:39 < steven> one thats more full
00:39 < kamaji> That should be the motto of all web frameworks
00:39 < steven> one thats AWESOME
00:40 < steven> right on kamaji
00:40 < steven> see he knows what im talkin bout
00:40 < kamaji> hurry up and make it so I can play with it~
00:42 < exch> steven: probably best to just get started yourself.  Get some
of the details sorted out and make sure it wont fall apart due to some big
unforseen issue.  Then you can always publish it and get people involved
00:44 < skelterjohn> i'm playing hunt-the-wumpus
00:46 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined
#go-nuts
00:53 < exch>
https://groups.google.com/forum/#!topic/golang-nuts/MFewHGTgdAw
00:58 < skelterjohn> whoah, how do you make google groups look like that?
00:58 < exch> I wa spresented with a link to do so a long time ago
00:59 < exch> probably in your groups settings somewhere
01:07 -!- mikespook [~mikespook@183.47.228.38] has joined #go-nuts
01:11 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
01:28 -!- tsung_ [~jon@112.104.53.151] has quit [Ping timeout: 252 seconds]
01:28 -!- tsung [~jon@112.104.53.151] has joined #go-nuts
01:33 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
01:59 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has left #go-nuts []
02:05 -!- statik_ [u986@gateway/web/irccloud.com/x-xilqmfwksjtoqimk] has joined
#go-nuts
02:10 -!- statik [u986@gateway/web/irccloud.com/x-xilqmfwksjtoqimk] has quit
[Changing host]
02:10 -!- statik [u986@canonical/launchpad/statik] has joined #go-nuts
02:28 -!- ronnyy [~quassel@p4FF1C54B.dip0.t-ipconnect.de] has joined #go-nuts
02:55 -!- aho [~nya@fuld-590c74d0.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
03:07 -!- ronnyy [~quassel@p4FF1C54B.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
03:23 -!- shvntr [~shvntr@116.26.131.13] has joined #go-nuts
03:33 -!- nettok_ [~quassel@200.119.188.207] has quit [Ping timeout: 250 seconds]
03:43 -!- niemeyer_away
[~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has quit [Ping
timeout: 255 seconds]
03:49 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 252 seconds]
03:58 -!- gogogrrl [~max@p5DE8E0C7.dip.t-dialin.net] has joined #go-nuts
04:00 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has joined #go-nuts
04:01 -!- gogogrrl_ [~max@p5DE8D63E.dip.t-dialin.net] has quit [Ping timeout: 248
seconds]
04:07 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
04:07 -!- mode/#go-nuts [+v iant] by ChanServ
04:14 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
04:32 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
04:33 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
04:35 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
04:36 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
04:54 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
04:55 -!- Venom_X [~pjacobs@74.61.90.217] has left #go-nuts []
04:55 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
05:05 -!- mikespook1 [~mikespook@183.47.231.20] has joined #go-nuts
05:05 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has joined #go-nuts
05:05 -!- mikespook [~mikespook@183.47.228.38] has quit [Ping timeout: 255
seconds]
05:27 -!- mikespook1 [~mikespook@183.47.231.20] has quit [Quit: Leaving.]
05:32 -!- vpit3833 [~user@203.111.33.203] has quit [Remote host closed the
connection]
05:32 -!- adu [~ajr@softbank220043139062.bbtec.net] has joined #go-nuts
05:35 -!- foocraft [~dsc@78.100.168.186] has joined #go-nuts
05:41 < plexdev> http://is.gd/ySA2oW by [Yasuhiro Matsumoto] in
go/src/cmd/godoc/ -- godoc: fix path problem for windows.
05:56 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu]
05:56 -!- rbraley [~rbraley@114.250.73.141] has quit [Ping timeout: 240 seconds]
06:12 -!- shvntr [~shvntr@116.26.131.13] has quit [Ping timeout: 250 seconds]
06:13 -!- shvntr [~shvntr@116.26.131.13] has joined #go-nuts
06:25 -!- inktri [~rudy@ip68-101-103-129.oc.oc.cox.net] has joined #go-nuts
06:25 -!- inktri [~rudy@ip68-101-103-129.oc.oc.cox.net] has left #go-nuts []
06:33 -!- dfc [~dfc@sydfibre2.atlassian.com] has quit [Ping timeout: 240 seconds]
06:34 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:36 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
06:39 -!- enferex [~enferex@users.757.org] has quit [Ping timeout: 250 seconds]
06:46 -!- adu [~ajr@softbank220043139062.bbtec.net] has joined #go-nuts
06:47 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Ping
timeout: 252 seconds]
06:48 < nsf> adg: oh!  you've created the golang-announce ML, very nice!
thanks for that
06:53 -!- pi_ [pii@rasm.se] has joined #go-nuts
06:55 -!- espeed [~espeed@63.246.231.57] has joined #go-nuts
06:58 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
06:59 -!- enferex [~enferex@users.757.org] has joined #go-nuts
07:02 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu]
07:07 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 240 seconds]
07:13 -!- neshaug [~oyvind@213.239.108.5] has quit [Quit: Lost terminal]
07:14 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has joined #go-nuts
07:20 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts
07:20 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has quit [Remote host closed
the connection]
07:26 -!- foocraft [~dsc@78.100.168.186] has quit [Ping timeout: 252 seconds]
07:30 -!- GoBIR [~gobir@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping
timeout: 250 seconds]
07:31 -!- espeed [~espeed@63.246.231.57] has quit [Quit: Leaving]
07:32 -!- Eko [~eko@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping timeout:
252 seconds]
07:33 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
07:38 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
07:42 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
07:58 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
08:00 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu]
08:03 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
08:04 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
08:05 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:05 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
08:05 -!- foocraft [~dsc@78.101.137.1] has joined #go-nuts
08:05 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Quit:
shakesoda]
08:05 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
08:06 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
08:08 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has joined #go-nuts
08:09 -!- nixness [~dsc@78.100.252.72] has joined #go-nuts
08:11 -!- foocraft [~dsc@78.101.137.1] has quit [Ping timeout: 260 seconds]
08:14 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
08:18 -!- Project-2501 [~Marvin@82.84.66.20] has joined #go-nuts
08:29 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
08:34 -!- zeroXten_ [~zeroXten@0x10.co.uk] has quit [Quit: leaving]
08:34 -!- zeroXten [~zeroXten@0x10.co.uk] has joined #go-nuts
08:36 -!- Eko [~eko@c-24-130-224-186.hsd1.ca.comcast.net] has joined #go-nuts
08:42 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has quit [Quit: dfc]
09:17 -!- rbraley [~rbraley@114.250.73.141] has joined #go-nuts
09:20 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
09:24 -!- wrtp [~rog@92.17.17.88] has joined #go-nuts
09:26 -!- tensorpudding [~user@99.148.205.193] has quit [Remote host closed the
connection]
09:28 -!- g0bl1n [~g0blin@unaffiliated/g0bl1n] has joined #go-nuts
09:37 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
09:47 -!- sacho [~sacho@46.10.16.35] has quit [Ping timeout: 250 seconds]
09:48 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has joined #go-nuts
10:01 -!- alkavan_ [~alkavan@IGLD-84-229-168-230.inter.net.il] has quit [Read
error: Connection reset by peer]
10:02 -!- alkavan_ [~alkavan@IGLD-84-229-168-230.inter.net.il] has joined #go-nuts
10:03 -!- neshaug [~oyvind@213.239.108.5] has quit [Ping timeout: 240 seconds]
10:03 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts
10:05 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
10:15 -!- czr_ [czr@nexus.iohazard.net] has quit [Remote host closed the
connection]
10:16 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
10:19 -!- alkavan_ [~alkavan@IGLD-84-229-168-230.inter.net.il] has quit [Read
error: Connection reset by peer]
10:19 -!- alkavan_ [~alkavan@IGLD-84-229-168-230.inter.net.il] has joined #go-nuts
10:52 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by
peer]
10:53 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
10:53 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
10:54 < KBme> hmm interestingly enough goinstall doesn't seem to make clean,
which seems to cause problems when updating the installation
10:54 -!- niemeyer [~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
10:55 < KBme> i always have to remove the pkg/linux_arch/...  files for the
package and the object files in the project directory src/pkg/...
11:02 -!- wrtp [~rog@92.17.17.88] has quit [Quit: wrtp]
11:03 < dfc> KBme: goinstall -clean
11:03 < dfc> there are lots of useful options for goinstall
11:03 < dfc> i prefer
11:03 < dfc> goinstall -u -v -clean
11:03 < dfc> after every ~/go/src/make.bash
11:03 < KBme> ah
11:04 < KBme> yeah, i didn't know about that, thanks
11:09 -!- ronnyy [~quassel@p4FF1C515.dip0.t-ipconnect.de] has joined #go-nuts
11:10 -!- hcatlin [~hcatlin@host109-153-168-137.range109-153.btcentralplus.com]
has joined #go-nuts
11:10 -!- hcatlin [~hcatlin@host109-153-168-137.range109-153.btcentralplus.com]
has quit [Changing host]
11:10 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
11:16 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
11:21 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
11:24 -!- gr0gmint [~quassel@87.61.162.99] has joined #go-nuts
11:38 < xyproto> I found a simple gtk calculator at
http://google-go-lang.blogspot.com/
11:38 < xyproto> However, it uses "float" as a type
11:38 -!- artefon [~thiago@dhcp26.usuarios.dcc.ufmg.br] has joined #go-nuts
11:38 < kamaji> Should I be passing functions by reference or value...?
11:39 < xyproto> But, I can't find "float" in the go langauge specification
11:39 < xyproto> Is "float" a valid type?
11:39 < jnwhiteh> no, float32 and float64 are
11:39 < xyproto> jnwhiteh: ok, thank you
11:43 -!- PortatoreSanoDiI [~Marvin@82.84.95.146] has joined #go-nuts
11:44 -!- g0bl1n [~g0blin@unaffiliated/g0bl1n] has quit [Quit: g0bl1n]
11:44 -!- PortatoreSanoDiI [~Marvin@82.84.95.146] has quit [Read error: Connection
reset by peer]
11:46 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
11:46 -!- Project-2501 [~Marvin@82.84.66.20] has quit [Ping timeout: 240 seconds]
11:52 -!- Project-2501 [~Marvin@82.84.67.7] has joined #go-nuts
12:00 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
12:21 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
12:22 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has quit [Quit: dfc]
12:23 -!- boscop [~boscop@f055001210.adsl.alicedsl.de] has joined #go-nuts
12:29 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
12:32 * skelterjohn has hunted the wumpus
12:38 -!- artefon [~thiago@dhcp26.usuarios.dcc.ufmg.br] has quit [Ping timeout:
252 seconds]
12:59 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu]
13:06 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Quit:
Leaving.]
13:18 -!- go-irc-ch [~go-irc-ch@2001:470:1f13:3b4:20a:e4ff:fe49:b68c] has joined
#go-nuts
13:21 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has joined #go-nuts
13:25 -!- ronnyy [~quassel@p4FF1C515.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
13:30 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com]
has joined #go-nuts
13:34 -!- nighty__ [~nighty@tin51-1-82-226-147-104.fbx.proxad.net] has joined
#go-nuts
13:39 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
13:41 -!- iant [~iant@67.218.107.6] has joined #go-nuts
13:41 -!- mode/#go-nuts [+v iant] by ChanServ
13:44 -!- waqas [~waqas@jaim.at] has joined #go-nuts
13:48 -!- jeng [~jeng@74.194.1.28] has joined #go-nuts
13:48 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
13:51 < waqas> Is there any concept of a custom object being iterable in Go?
13:51 < waqas> (I think the answer is no, but just making sure)
13:55 <+iant> waqas: you can write an Iter method which returns a channel,
and write elements to the channel; then the caller can use "for v := range
object.Iter()"
13:55 <+iant> other than that, no
13:57 < waqas> iant: I'm guessing that wouldn't be very performant?
13:57 <+iant> it's not too bad, but it's certainly slower than using range
over a slice
13:57 < waqas> Right, plain old for loops it is then.
14:04 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
14:08 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
14:17 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
14:19 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
14:24 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:28 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com]
has quit [Quit: Cromulent]
14:28 < xyproto> I'm trying to make Go-OpenGL work.  Go is recently updated,
so is Go-SDL (which Go-OpenGL) and Go-OpenGL.  Everything compiles great.  But,
there's a really strange thing:
14:28 < xyproto> gogears works great if I run "strace ./gogears", but
segfaults if I just run "./gogears"!
14:28 < xyproto> (it's like glxgears, but for Go)
14:28 < xyproto> How can that be?
14:29 < exch> xyproto: I had similar problems with GLFW bindings.  the
program runs fine when started through gdb, but segfaults on its own
14:30 < xyproto> exch: glad to hear I'm not the only one, but isn't that
exceptionally strange?
14:30 < exch> Something about duplicate symbols in a shared library
14:30 < xyproto> I get a lot of read(4, 0x3a8ace4, 4096) = -1 EAGAIN
(Resource temporarily unavailable)
14:30 < exch> Someone else had the same issue and 'solved' it by removing
custom nvidia drivers and replacing it with plain old libgl
14:31 < exch> Im still not sure where the problem is exactly
14:32 < xyproto> exch: I do have nvidia-drivers (I've tried running nouveau,
the git-version, not long ago, but it didn't work out).
14:47 -!- napsy [~luka@193.2.66.6] has quit [Read error: Operation timed out]
14:47 -!- Venom_X_ [~pjacobs@75.92.43.21] has joined #go-nuts
14:52 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
Leaving...]
14:53 < steven> guys
14:54 < steven> isnt there a function somewhere in the stdlib that lets you
read an entire string until eof, from an io.Reader?
14:54 < steven> i cnat find it, bugt i know ive seen it before
14:55 < waqas> ioutil.ReadAll?
14:55 < steven> ah yes.  thanks.
14:55 < steven> waqas++
14:55 < waqas> Indeed.
14:56 < steven> ive noticed something
14:56 < steven> this channel has the most mature, respectful, and
intelligent members ive seen on all of freenode, more than any other language
channel
14:56 < steven> thats awesome.
14:58 -!- iant [~iant@67.218.107.6] has quit [Quit: Leaving.]
14:58 < xyproto> steven: +1
15:02 -!- g0bl1n [~g0blin@unaffiliated/g0bl1n] has joined #go-nuts
15:04 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
15:06 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
15:07 -!- iant [~iant@nat/google/x-zjvirecnsnlamvfe] has joined #go-nuts
15:07 -!- mode/#go-nuts [+v iant] by ChanServ
15:08 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Client
Quit]
15:15 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts
15:15 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host]
15:15 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
15:18 < xyproto> It would be great fun to rewrite the Linux kernel in Go. Is
it doable?
15:18 < aiju> hahhahaha
15:18 < xyproto> :)
15:18 < aiju> it is theoretically possible to write an OS in Go
15:18 < aiju> but the language is too instable
15:18 < aiju> http://code.google.com/p/gofy/ a project i did
15:19 < nsf> I don't think it's a good idea
15:19 < niemeyer> :-)
15:19 < nsf> and why it would be great fun?
15:19 < nsf> OS code requires a lot of low level hack
15:19 < nsf> hacks*
15:19 < nsf> which are painful in Go
15:19 < nsf> like no void*, etc.
15:19 < aiju> it's not that bad
15:19 < xyproto> aiju: looks promising :)
15:20 < nsf> I think it will end up in the same place where OS written in C#
are
15:20 < aiju> xyproto: well, it doesn't compile with current versions and
i'm not going to do it further
15:20 < waqas> "Goals: To have lots of fun, and to piss off lots of people."
- <3
15:20 < xyproto> nsf: great fun might be a slight exaggeration on my part,
but still
15:20 < nsf> I just don't think that writing an OS is fun
15:21 < xyproto> aiju: I agree that making something solid with a constantly
changing language is an extra challenge
15:21 < nsf> and there is at least one reason why
15:21 < nsf> 70% of OS's success is its drivers
15:21 < xyproto> nsf: I wrote an OS in assembly+C once.  It was reasonably
fun.
15:21 < xyproto> nsf: It couldn't do much, but still.
15:21 < nsf> a toy OS
15:21 < xyproto> yes
15:21 < nsf> it's like a toy programming language
15:21 < nsf> fun, but useless
15:21 < aiju> nsf: 50% drivers, 49% compatibility, 1% good design
15:21 < xyproto> or like "a hobby project"?  (ref Linux)
15:21 < aiju> something along that ;P
15:22 < nsf> aiju: :D
15:22 < aiju> it used to be different
15:22 < xyproto> true
15:22 < nsf> xyproto: well, there should be a point
15:22 < nsf> when you realize
15:22 < nsf> it's not a hobby project anymore
15:22 < aiju> it's incredible UNIX got popular with no support for but one
FS
15:23 < xyproto> nsf: I disagree.  I think great things have been achived
with just setting out with what could be perceived as a random or useless goal by
some.  People have different personality types.
15:23 < nsf> maybe
15:23 < nsf> but I think it's a waste of time
15:23 < xyproto> nsf: noted :)
15:23 < steven> the FS isnt what makes the OS
15:23 < aiju> most of life is a waste of time
15:23 < steven> the FS is just a detail :)
15:23 < nsf> I think a very great goal should be created (like to conquer
all the world)
15:23 < nsf> and if at least 25% of it is delievered - great :)
15:24 < nsf> oh, no..  not philosophy again
15:24 < aiju> hhahaha
15:24 < xyproto> nsf: how realistic a goal turns out to be is incredibly
hard to measure, in both positive and negative direction
15:24 < xyproto> ;)
15:24 * nsf is back to his C killer language
15:25 < xyproto> at least it isn't a conversation about which syntax is best
;)
15:25 < nsf> of course Go's syntax is the best
15:25 < nsf> :)
15:26 < waqas> I like the Go syntax and semantics quite a bit.  Considering
borrowing several parts for my programming language experiements.
15:27 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts
15:27 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Operation timed out]
15:28 < nsf> I'm very inspired by all these tiny things like: ':=', 'default
break behaviour in switch case clause', 'no () around if condition statement and
"for" clause', etc.
15:28 < nsf> and it's not like I've seen all these things and wuala, no..
I've written a couple thousands of Go code and it simply feels amazing
15:29 < waqas> I've not written a couple thousands of Go code yet.
15:30 < nsf> thousands of lines I mean :)
15:30 < xyproto> I also really like the syntax.
15:30 < nsf> well, it's the only measure of code, so..
15:30 < aiju> mandatory braces around if gets more annoying the more
thousands of lines you write
15:30 < nsf> 'iota' is amazing too
15:30 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:31 < xyproto> I miss some small things from Python, though.  And writing
math-stuff Haskell-style would be great.
15:31 < xyproto> But overall, my favorite language.
15:32 < nsf> well and here comes the flame war..  "nya nya, where is my
feature"
15:32 < nsf> :)
15:32 < nsf> but I don't like to say what I like and don't like
15:32 < nsf> I'm just trying to create my vision of perfection
15:32 < xyproto> nsf: mind that you started the actuall conversation about
syntax ;)
15:32 < xyproto> *actual
15:32 < nsf> not really
15:32 < xyproto> 16:28:21 nsf | of course Go's syntax is the best │ brett
15:33 < aiju> 16:34 < xyproto> I miss some small things from Python,
though.  And writing math-stuff Haskell-style would be great.
15:33 < nsf> "xyproto | at least it isn't a conversation about which syntax
is best ;)"
15:33 < nsf> you've started it
15:33 < aiju> i remember math stuff in Haskell to be particularly terrible
15:33 < xyproto> nsf: that isn't a start!  :D
15:33 < nsf> unintentionally
15:33 < xyproto> aiju: that was after
15:33 < nsf> but you should be aware of trolls you know
15:33 < xyproto> okok, vnm
15:33 < aiju> after what?
15:33 < xyproto> *nvm
15:33 < nsf> :)
15:34 < steven> guys, im havin trouble figurin out how to make a proper url
when my query args (a single string, not a map) might contain invalid values, (ie
containing spaces)
15:34 < xyproto> aiju: math stuff in Haskell is great, just pure
expressions, without any dirty user input or output ;)
15:34 < aiju> yeah, but i remember entering formulas to be real pain
15:34 < aiju> what was it?  weird operator hiarchy or something
15:35 < aiju> anyway, i dislike the "code, ???, program" way
15:35 < xyproto> I wish this could work:
15:35 < xyproto> var l []int = []int{2,3}
15:35 < xyproto> x, y := l
15:36 < nsf> uhm..
15:36 < aiju> i don't see much value there
15:36 < nsf> maybe a tuple type?
15:36 < xyproto> something along those lines, at least.  But it's just sugar
15:36 < nsf> yeah, virtual tuple type
15:36 < nsf> like:
15:36 < nsf> uhm..  no, nevermind :D
15:37 < nsf> no tuples today :D
15:37 < xyproto> :D
15:37 < nsf> btw, we're arguing about syntax
15:37 -!- waqas [~waqas@jaim.at] has left #go-nuts []
15:37 < aiju> syntactic sugar causes cancer of the semicolon
15:37 < nsf> ah, one more neat Go feature:
15:38 < nsf> being able to write: func GetArea(x, y, w, h int)
15:38 < nsf> instead of: x int, y int, w int, h int
15:38 < aiju> you can do that in C too, using evil tricker
15:38 < nsf> uhm?
15:38 < aiju> GetArea(x, y, w, h) int x, y, w, h; :D
15:38 < nsf> I know that in old C it is possible
15:38 < nsf> yeah
15:38 < nsf> and compilers still support that crap
15:39 < aiju> actually, int is implicit
15:39 < nsf> because there is gnu software that uses it
15:39 < aiju> GetArea(x, y, w, h) {
15:39 < nsf> aiju: but still it leads to repetition
15:39 -!- ajdecon [~ajdecon@li207-111.members.linode.com] has joined #go-nuts
15:39 < aiju> well, eah
15:39 -!- g0bl1n [~g0blin@unaffiliated/g0bl1n] has left #go-nuts []
15:39 < nsf> the point is to group similar args with the same type
15:39 < aiju> yeah yeah
15:40 < nsf> ok :)
15:40 < nsf> grouping type and repeating args instead is kind of..  wrong
15:41 < steven> i wanna port Linda to Go
15:41 < nsf> ah, one more awesome thing in Go
15:41 < nsf> multiple cases at once in one case clause
15:41 < steven> you can do that?
15:41 < aiju> sure, case 1, 2, 3:
15:41 < nsf> and arbitrary expressions in case clauses
15:41 < steven> nice.
15:41 < steven> yep.
15:41 < steven> i dig it.
15:42 < nsf> actually mutliple cases thing removes the need for 90% use of
the "fallthrough" behaviour in C
15:42 < nsf> multiple*
15:42 < nsf> it's like very simple modification but right to the point
15:42 < aiju> but you can't do something like loop: switch(foo) { case 1: do
{ foo++ default: } while(bar); goto loop; }
15:43 < gmilleramilar> nsf: you're worth your weight in gold.  I thought I
knew the syntax pretty well, but I did not know that one.
15:43 < nsf> gmilleramilar: I wrote an autocompletion for Go, of course I
know syntax well :D
15:43 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
15:43 < gmilleramilar> oh I know your work.
15:44 < gmilleramilar> I've got my best no smile face on right now.
15:44 < nsf> hehe
15:46 < nsf> but of course there are things that I don't like about Go
15:46 -!- karpar [~user@112.96.225.32] has joined #go-nuts
15:46 < nsf> I still don't buy their definition of systems language, maybe
it's the right thing for google work, but not for me
15:47 < aiju> systems language is a marketing term void of any meaning
15:47 < nsf> I guess, yeah
15:47 < nsf> every program is a system :)
15:47 < aiju> people use it for all kind ofs hit
15:48 < jnwhiteh> its easier to say what a non-systems language is =)
15:48 < jnwhiteh> and even that isn't straightforward
15:48 < aiju> yeah, Javascript
15:48 < nsf> :D
15:49 < nsf> lua
15:49 < nsf> php
15:49 < jnwhiteh> <insert dynamic scripting language with no notion of
'memory' here>
15:49 < nsf> exactly
15:49 < aiju> Javascript memory overhead is a factor of 10 or something
15:50 < nsf> and there are languages in the middle (and Go somewhere amongst
them sadly), like java, C#, D
15:50 < jnwhiteh> aye
15:50 < nsf> and btw, it's ok, but I think there is no niche here as people
think
15:51 < nsf> "connecting best from two worlds"...  uhm..  no
15:51 < aiju> "connecting best of two worlds" is a good indicator of
bullcrap
15:52 < exch> moderate at both sides, really good at none of them
15:52 < aiju> "a multifunction device can do anything, but nothing well"
15:53 < exch> Not a very Unix-y way of doing things :p
15:53 < nsf> Go has a lot of nice ideas in it, but two of them particularly
suck (my personal strong opinion): goroutines/channels and garbage collector
15:54 < aiju> channels suck?  :D
15:54 < aiju> channels are fucking best :D
15:54 < nsf> and btw, garbage collector exists primarly because of
goroutines/channels
15:54 < nsf> primarily*
15:54 < jnwhiteh> yeah I'm interested in why you think goroutines and
channels suck
15:54 < exch> goroutines and channels are fine imho
15:54 < jnwhiteh> its the one thing they got right, in my opinion.
15:54 < nsf> :)
15:54 < jnwhiteh> well, that's harsh..  not the one thing
15:54 < jnwhiteh> but the most important =)
15:54 < nsf> I think it's a unrealistic abstraction
15:55 < nsf> over natural OS processes
15:55 < nsf> and that's why it's bad
15:55 < jnwhiteh> tell that to Erlang?
15:55 < jnwhiteh> channels and goroutines aren't an abstraction of processes
and threads
15:55 < jnwhiteh> that's precisely the point
15:55 < jnwhiteh> they're completely different, intentionally
15:56 < nsf> it is a separate abstraction which hides OS details
15:56 < nsf> basically it's like GC
15:56 < nsf> GC hides the memory management detail from you
15:56 < jnwhiteh> what OS details does it hide, other than blocking system
calls?
15:56 < nsf> and here processes flow gets hidden
15:57 < nsf> you can't create an app which utilizes multiple threads
15:57 < nsf> the way you want it
15:57 < jnwhiteh> so make a pthreads library for Go =)
15:57 < nsf> it's only up to Go's runtime to decide
15:57 < jnwhiteh> no
15:57 < nsf> it won't work in Go
15:57 < jnwhiteh> they're different
15:58 < jnwhiteh> the conventional OS process/threading model is broken,
that's been shown time and time again
15:58 < nsf> then we need a new OS
15:58 < jnwhiteh> good luck with that =)
15:58 < nsf> not a language :)
15:58 < Namegduf> With blackjack, and hookers
15:58 < jnwhiteh> why do you need os threads?
15:58 < nsf> well, you see Go devs have tried new OS
15:58 < skelterjohn> a go based os would be sweet
15:59 < jnwhiteh> what do you want to do with them?
15:59 < nsf> uhm, first of all, using threads I can control CPU affinity,
priorities, etc.
15:59 < nsf> yes, these are OS details
15:59 < nsf> but sometimes important ones
15:59 < jnwhiteh> so what you want is actually scheduler activations
16:00 < jnwhiteh> but yuo don't have them, because Solaris and NetBSD have
removed them, in favour of threads
16:00 < nsf> preemtive scheduler would be nice for start
16:00 < nsf> preemptive*
16:00 < Namegduf> I wonder how different in price goroutines and new
segmented stack threads are.
16:01 < jnwhiteh> Namegduf: segmented stack threads aren't a new thing =)
16:01 < Namegduf> jnwhiteh: "new" as in "newly spawned"
16:01 < jnwhiteh> ah
16:02 < Namegduf> Perhaps "goroutines and segmented stack threads are to
spawn."
16:02 < aiju> nothing in CS is new
16:02 < jnwhiteh> truth!
16:03 < jnwhiteh> nsf: so if you could control CPU affinity and priority
with goroutines, what would you need threads for?
16:03 < nsf> uhm..  what would I need goroutines for?  :)
16:03 < nsf> OS threads/processes are already here
16:03 < jnwhiteh> to avoid the cost of thread creation and destruction
16:03 < nsf> it's not a problem for me
16:04 < kamaji> but it is for some :P
16:04 < jnwhiteh> indeed
16:04 < jnwhiteh> then don't use Go =)
16:04 < nsf> you see the whole point is about "nya nya, I want thread per
connection"
16:04 -!- Venom_X_ [~pjacobs@75.92.43.21] has quit [Ping timeout: 276 seconds]
16:04 < jnwhiteh> I don't understand that sentence
16:04 < nsf> otherwise why would the cost of thread construction/destruction
hurt?
16:05 < kamaji> It's not just for serving I/O
16:05 < aiju> in any case where you use many goroutines?
16:05 < aiju> Go is about concurrency, not parallelism
16:05 < jnwhiteh> yeah, that's an absurdly limited view of the world
16:05 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
16:05 < nsf> there is only one case where you need them
16:05 < nsf> :)
16:05 < jnwhiteh> that's not the only purpose of spawning new conceptual
'processes'
16:05 < kamaji> parallel computation?
16:05 < jnwhiteh> yeah, that's just not true mate
16:06 < nsf> there is no "conceptual" in CPU, CPU doesn't care how you think
16:06 < kamaji> nsf: http://www.xmos.com
16:06 < nsf> language should reflect CPU architecture not your way of
thinking
16:06 < jnwhiteh> *sigh*
16:06 < jnwhiteh> I'm saying the terminology is wrong
16:06 < jnwhiteh> this is why I said conceptual 'process'
16:06 < jnwhiteh> because the word 'process' already has an OS context
meaning
16:06 < kamaji> nsf: there are CPUs with this exact model
16:06 < jnwhiteh> as does thread of execution
16:06 < jnwhiteh> etc.
16:06 -!- iant [~iant@nat/google/x-zjvirecnsnlamvfe] has quit [Ping timeout: 248
seconds]
16:07 < nsf> jnwhiteh: because it's the most important meaning
16:07 < kamaji> I think Go's processes are essentially like CSP's processes
16:07 < jnwhiteh> I disagree.
16:07 < jnwhiteh> 100%
16:07 < jnwhiteh> with nsf, not kamaji
16:07 < nsf> I think this model will simply fail
16:07 < nsf> in 10 years
16:07 < kamaji> lol
16:07 < jnwhiteh> ??
16:07 < jnwhiteh> yes, all green or hybrid threading models will fail
16:07 < kamaji> 640K should be enough for anyone.
16:07 < jnwhiteh> clearly
16:07 -!- iant [~iant@nat/google/x-qtaazmmsnnsvaiih] has joined #go-nuts
16:07 -!- mode/#go-nuts [+v iant] by ChanServ
16:07 -!- artefon [~thiago@dhcp26.usuarios.dcc.ufmg.br] has joined #go-nuts
16:08 < kamaji> if there's anything we don't want, it's more traditional
CPUs
16:08 < nsf> saying that CSP is future isn't that different )
16:08 < kamaji> hooray for a single chip drawing 120W
16:08 < jnwhiteh> no one has made any claim like that
16:08 < jnwhiteh> you are acting like Go is doing something new
16:08 < jnwhiteh> green and hybrid threading has been around for decades
16:08 < jnwhiteh> and its a valid way of doing things
16:08 < nsf> I don't think so
16:08 < jnwhiteh> 1:1 threading is not the only solution, and I can cite you
extensive amount of literature showing this
16:09 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
16:09 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
16:09 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:09 < jnwhiteh> there's a reason N:M threading exists..  and it is because
the 'threading' abstraction provided by the operating system is not sufficient.
16:09 < jnwhiteh> there's *proof* of that
16:09 < jnwhiteh> so you can't really argue against it
16:09 < jnwhiteh> "use the right tool for the right job"
16:09 < jnwhiteh> I don't disagree with that statement, but you seem to be
arguing that the presence of the tool in the first place is a problem
16:10 < jnwhiteh> and that I do disagree with =)
16:10 < aiju> 17:09 < nsf> language should reflect CPU architecture
not your way of thinking
16:10 < jnwhiteh> oh, I missed that statement
16:10 < aiju> so assembly is best?
16:10 < jnwhiteh> but I'll let aiju field this one =)
16:10 < nsf> aiju: in a way it is
16:10 < aiju> imho both ways are bad
16:10 < kamaji> yep
16:10 < kamaji> I agree ^
16:11 < aiju> typing in Go is in no way related to CPU architecture
16:11 < kamaji> Nor is it limited to any single person's way of thinking
16:11 < nsf> typing is what was nicely improved, because it doesn't change
semantics much
16:11 < exch> tbh, reflecting hardware in a programming language is bad all
around
16:11 < nsf> but goroutines (hey, new name, one more?) and GC
16:12 < kamaji> exch: unless it's assembly :P
16:12 < nsf> are just ..
16:12 < jnwhiteh> lol
16:12 < aiju> nsf: interfaces change quite a lot of semantics
16:12 < aiju> 17:14 < exch> tbh, reflecting hardware in a programming
language is bad all around
16:12 < nsf> indeed they are
16:12 < jnwhiteh> you're conflating the CPU and the operating system
16:12 < jnwhiteh> they're not the same thing
16:12 < aiju> yeah, let's all write code for some mythical machine
16:12 < jnwhiteh> nor does the OS necessarily accurately reflect the
underlying CPU
16:12 < kamaji> JAAAAAVAAAAAAAAA
16:12 < aiju> Java is not even as bad as e.g.  LISP
16:13 < jnwhiteh> so I fail to see how you can make the leap from 'typing is
good' to 'goroutines are bad' on the same argument.
16:13 < aiju> "the infinite memory model"
16:13 < kamaji> LISP had actual CPUs implementing the machine didn't it?
16:13 < aiju> kamaji: no
16:13 < aiju> LISP machines just were convenient to write LISP interpreters
on
16:13 < kamaji> ok, but they were stack machines
16:14 < nsf> jnwhiteh: I'm fine with improving ways of typing and editing,
but adding something experimental in the language is just not what I would do
16:14 < jnwhiteh> this isn't experimental
16:14 < kamaji> nsf: You consider goroutines to be experimental?
16:14 < jnwhiteh> it has 25 years of proven history
16:14 < nsf> yes
16:14 < jnwhiteh> its not =)
16:14 < jnwhiteh> that's a fact, not an opinion
16:14 < nsf> 25 years is nothing
16:14 < aiju> your interpretation is an opinion, not a fact
16:14 < nsf> OOP is older
16:14 < kamaji> nsf: Google scholar: "Communicating Sequential Processes"
16:14 < aiju> assigned goto is known since the 50s
16:14 < aiju> doesn't mean it's a good idea
16:14 < nsf> kamaji: I'm aware of that paper by Hoare
16:15 < jnwhiteh> aiju: yes, but it does mean its not experimental
16:15 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
16:15 < jnwhiteh> which is all I was arguing against.
16:15 < kamaji> nsf: I meant all of the papers
16:15 < jnwhiteh> saying goroutines are experiemental is just wrong
16:15 < kamaji> and there do exist CPUs with the CSP model
16:15 < jnwhiteh> and no matter how I 'interpret' that statement from any
bias, its just not correct
16:15 < jnwhiteh> the presence of them in a language like Go, that's a
different story
16:16 < jnwhiteh> the transputer had precisely this model
16:16 < kamaji> jnwhiteh: as does the XCore
16:16 < jnwhiteh> aye
16:16 < kamaji> but then, the same guy designed it, so that's not really
unexpected
16:16 < nsf> well, of course the technology is not experimental, but
applying it to programming practice is experimental
16:16 < jnwhiteh> nsf: that is also not the case
16:16 < nsf> there are not so many successul coroutine-based projects
16:16 < nsf> there are some
16:16 < kamaji> Also, he's my computer architecture lecturer, so I'm
massively biased
16:16 < nsf> but it's far from widely adopted
16:17 < jnwhiteh> Java had this threading model.
16:17 < jnwhiteh> Ruby also had this threading model
16:17 < aiju> Java and Ruby doing something is usually not an indicator of
something good
16:17 < nsf> and to me adding such a feature to the language it's like
adding OOP to C in 80s
16:17 < kamaji> aiju: buuuuurn
16:17 < jnwhiteh> aiju: but it shows that its been done
16:17 < jnwhiteh> you seem to be arguing against points I am not making..
16:17 < jnwhiteh> and I"m not sure why that's the case.
16:18 < aiju> i just made a note alongisde ;P
16:18 < jnwhiteh> alright
16:18 < kamaji> aiju is the comic relief :P
16:21 -!- Venom_X [~pjacobs@75.92.43.21] has joined #go-nuts
16:24 < xyproto> I'm trying to learn about interfaces, but I have completely
misunderstood something.
16:25 < xyproto> http://pastebin.com/tzHT1J9T
16:25 < xyproto> I have googled, but the top 5 pages did not get me any
further.
16:26 < exch> xyproto: your interface methods are defined on *Robot, but you
are calling them on Robot
16:27 < exch> so *Robot implements Controllable, Robot does not
16:28 < exch> solve it by having NewRobot return a pointer instead of a
value
16:32 < xyproto> exch: ok, thanks!
16:33 < plexdev> http://is.gd/qGvP24 by [Yasuhiro Matsumoto] in
go/src/cmd/godoc/ -- godoc: No need to use filepath.IsAbs()
16:35 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
16:39 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
16:39 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
16:40 -!- artefon [~thiago@dhcp26.usuarios.dcc.ufmg.br] has quit [Quit: bye]
16:45 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
16:47 -!- matti_ [~mumboww@c-24-6-22-101.hsd1.ca.comcast.net] has quit [Quit:
matti_]
16:51 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
16:53 -!- PJRobins [~quassel@174-20-67-7.mpls.qwest.net] has joined #go-nuts
16:56 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
16:56 < steven> niemeyer_meeting: does gorun allow passing arguments to the
go file?
16:56 < niemeyer_meeting> steven: It does
16:56 < niemeyer_meeting> steven: As usual..  just process os.Args
16:58 -!- fabled [~fabled@mail.fi.jw.org] has quit [Quit: Ex-Chat]
16:59 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 252 seconds]
17:02 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
17:04 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
17:06 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
17:07 -!- sysiphus [~opera@unaffiliated/sysiphus] has joined #go-nuts
17:12 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 250 seconds]
17:14 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
17:14 < steven> sweet.
17:14 < steven> niemeyer: so then you dont allow multiple files?
17:15 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
17:17 < niemeyer> steven: In which sense?
17:17 -!- go-irc-ch [~go-irc-ch@2001:470:1f13:3b4:20a:e4ff:fe49:b68c] has quit
[Remote host closed the connection]
17:19 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
17:21 < steven> gorun file1.go file2.go
17:21 -!- matti_ [~mumboww@c-24-6-22-101.hsd1.ca.comcast.net] has joined #go-nuts
17:21 < matti_> im trying to write a simple program using the Timer type,
where it will print the time every 10 seconds
17:22 < matti_> but im having trouble understanding the correct usage
17:22 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
17:22 < matti_> especially AfterFunc and how it's used...
17:23 < niemeyer> steven: No, just like you can't do /bin/sh file1.sh
file2.sh, or python file1.py file2.py
17:23 < matti_> when i looked at the test bench, all they were doing was
just passing in a time of 0 (not sure why they would do that), and an anonymous
function
17:23 < steven> niemeyer: cool.  i one-up'd you then :)
17:24 < skelterjohn> niemeyer: but it doesn't make sense in those contexts
17:24 < steven> godo file1.go file2.go -- arg1 arg2 ...
17:24 < skelterjohn> for go source, it does
17:24 < steven> :)
17:24 < skelterjohn> as long as only one of htem has a main()
17:24 < niemeyer> steven: Oh gosh..
17:24 * steven is a one-up'er
17:24 < niemeyer> steven--
17:24 < skelterjohn> with .sh or .py files, it's not clear which you run
first
17:24 < steven> :'(
17:25 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
17:26 < exch> steven's solution is elegant in the case of Go
17:26 < steven> ty
17:27 -!- Project-2501 [~Marvin@82.84.67.7] has quit [Quit: E se abbasso questa
leva che succ...]
17:28 < matti_> if someone could point me in the right direction, it'd be
much appreciated.  thanks :)
17:28 < niemeyer> exch: Yeah, it's also broken
17:28 < skelterjohn> matti_: what is the issue with time.After?
17:28 < exch> matti_: it seems simple enough..  "AfterFunc waits at least ns
nanoseconds before calling f in its own goroutine.  It returns a Timer that can be
used to cancel the call using its Stop method."
17:28 < exch> what exactly is causing problems?
17:29 < skelterjohn> AfterFunc I mean
17:29 < niemeyer> exch: But I'll shut up I guess..  I don't really want to
argue about that pseudo-competition
17:29 < matti_> tbh, im not quite sure what the problem is
17:29 < skelterjohn> what are you trying to do that isn't happening?
17:29 < matti_> let me pastebin what i have so far, and show you my output
17:30 < matti_> just trying to use the Timer to print the current time and
10 second intervals
17:30 < matti_> just want to write a test class
17:30 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
17:30 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has joined #go-nuts
17:31 -!- jyxent [~jyxent@129.128.191.96] has quit [Read error: Operation timed
out]
17:32 < matti_> http://www.pastie.org/1686916
17:32 < matti_> actually i was trying to do something even simpler ^_^
17:32 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:32 < matti_> just print the number "1" from within the AfterFunc
function...  should be pretty straightforward, but not sure why it's not
working...
17:32 -!- shvntr [~shvntr@116.26.131.13] has quit [Quit: leaving]
17:33 < matti_> the only output i get is "Hello World"
17:33 < matti_> i do not get the "1"
17:33 < skelterjohn> time.AfterFunc(0, func(){println(1)})
17:33 < skelterjohn> oh
17:33 < skelterjohn> that's because main() exits
17:33 < skelterjohn> you aren't waiting around for things to happen
17:33 < skelterjohn> once main() returns, your program stops.  period.
17:34 < matti_> doh...
17:34 < skelterjohn> if you want things to happen, you have to cause main to
not return
17:34 < matti_> how should i get it to wait?
17:34 < skelterjohn> you can do "<-time.AfterFunc(0, foo).C"
17:34 < matti_> just put the thread to sleep?
17:34 < skelterjohn> that's one way, that will work here, maybe
17:35 < skelterjohn> you can also have your foo send something on a channel
to say that it has happened
17:35 < skelterjohn> and read from that channel at the end of main
17:35 -!- aho [~nya@fuld-590c6cb6.pool.mediaWays.net] has joined #go-nuts
17:35 < matti_> oh ok, let me try that...  i am still not too familiar with
channels yet, but it might be good to learn that now
17:36 < skelterjohn> i don't know if what i wrote above will work - it
depends on whether C gets sent to before or after the function is called
17:36 < skelterjohn> actually, it's probably concurrent
17:36 < skelterjohn> so, might not work
17:36 < skelterjohn> you'll need to add your own infrastructure
17:36 < matti_> ok let me try a few things....
17:37 < matti_> i might be in here later :)
17:37 < matti_> thanks skelterjohn!
17:37 < skelterjohn> :) my pleasure
17:40 < niemeyer> skelterjohn: After does that internally
17:40 < niemeyer> matti_, skelterjohn: More specifically, <-time.After(t)
17:41 < niemeyer> matti_, skelterjohn: AfterFunc doesn't set C, if I'm not
on crack
17:41 < skelterjohn> i was just looking at the godoc
17:41 < skelterjohn> i've never used these tools
17:41 < skelterjohn> so i could be way off base
17:48 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
17:49 -!- jyxent [~jyxent@129.128.191.96] has quit [Client Quit]
17:49 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
17:49 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 264 seconds]
17:51 -!- waqas [~waqas@jaim.at] has joined #go-nuts
17:53 < niemeyer> skelterjohn: "When the Timer expires, the current time
will be sent on C unless the Timer represents an AfterFunc event."
17:53 < skelterjohn> heh
17:53 < skelterjohn> cool
17:53 < skelterjohn> never listen to anything i say
17:54 -!- sunfmin [~sunfmin@87.213.45.42] has joined #go-nuts
17:54 -!- keithgcascio [~keithcasc@nat/google/x-hkohwguxgkeyucjo] has joined
#go-nuts
17:55 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
17:59 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 255 seconds]
18:06 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
18:10 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 250 seconds]
18:13 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
18:14 -!- ptolomy [~consalus@66.109.104.32] has joined #go-nuts
18:14 -!- ptolomy [~consalus@66.109.104.32] has quit [Client Quit]
18:15 < waqas> Is there a favored parser/statemachine generator?  I recall
reading Ragel was getting Go support.
18:16 -!- PJRobins_ [~quassel@174-20-86-139.mpls.qwest.net] has joined #go-nuts
18:16 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
18:17 -!- PJRobins [~quassel@174-20-67-7.mpls.qwest.net] has quit [Ping timeout:
255 seconds]
18:17 < steven> man, compared to this channel, the guys in #bash are
assholes
18:17 -!- madcapfizzle [~username@66.109.104.32] has joined #go-nuts
18:18 -!- madcapfizzle [~username@66.109.104.32] has quit [Client Quit]
18:18 < exch> the channel name wuold imply that
18:18 < exch> *would
18:18 < steven> sigh
18:18 < steven> i just want to make godo better, they're not helping any
18:18 < waqas> Any fun arguments?
18:19 < skelterjohn> eventually any irc channel will become full of people
who find it more entertaining to make fun of requests rather than fulfill them
18:20 < exch> likely because they have been there from the beginning and
have answered every possible question a billion times already :)
18:21 < exch> still, I suppose that's what you should expect to happen when
you join an IRC channel, so it's not really a reason to be an ass about it
18:21 < skelterjohn> also, they don't need to be nice to people to get them
interested in bash
18:21 -!- ako [~nya@fuld-590c6da7.pool.mediaWays.net] has joined #go-nuts
18:22 < skelterjohn> with go, i feel that i can make it more likely that the
language i enjoy coding in will flourish if i help people with questions, when i
can
18:22 < skelterjohn> also i am a tremendous slacker, and irc is perfect for
that
18:22 < exch> true
18:23 < skelterjohn> you affirm my statement that i'm a tremendous slacker?
:)
18:23 < exch> I couldnt comment on that :p I was referring to the fact that
IRC is perfect for slacking
18:23 < steven> sigh.  i just hope God has mercy on greycat and rebukes him.
thats all
18:23 < kimelto> If I want to print the stacktrace I have to use
runtime.Callers and runtime.FuncForPC, right?
18:24 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
18:24 < steven> never heard of FuncForPC
18:24 -!- aho [~nya@fuld-590c6cb6.pool.mediaWays.net] has quit [Ping timeout: 255
seconds]
18:24 < steven> sounds neat
18:25 < skelterjohn> oh very good
18:25 < skelterjohn> good = cool
18:25 < skelterjohn> i didn't know about that function
18:26 < skelterjohn> time to slack more from writing, so i can upgrade my
stack trace printing package
18:27 < waqas> Cool indeed
18:27 < steven> :)
18:27 < kimelto> :)
18:27 < steven> does 'testing' package make use of this?
18:27 < steven> thatd be sweet.
18:27 < sunfmin> Hi guys
18:28 < sunfmin> I got this error when I try to run my little test of a
package
18:28 < sunfmin> _testmain.go:6: undefined: testing.Test
18:28 < sunfmin> _testmain.go:9: testing.Benchmark is not a type
18:28 < sunfmin> _testmain.go:13: not enough arguments to function call
18:28 < sunfmin> _testmain.go:14: not enough arguments to function call
18:28 < skelterjohn> import "testing"
18:28 < sunfmin> I did:
18:28 < sunfmin> package hello
18:28 < sunfmin> import (
18:28 < sunfmin> "testing"
18:28 < sunfmin> )
18:28 < sunfmin> func TestHello(t *testing.T) {
18:28 < sunfmin> }
18:28 < skelterjohn> sunfmin: do not paste code in the chan
18:28 -!- gr0gmint [~quassel@87.61.162.99] has quit [Remote host closed the
connection]
18:28 < sunfmin> ok, :(
18:28 < skelterjohn> use a pastebin
18:28 < sunfmin> ok, ;)
18:28 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has quit [Ping
timeout: 252 seconds]
18:29 < skelterjohn> sunfmin: the code you posted did not create the errors
you posted
18:29 < skelterjohn> so it's difficult for me to point out what's wrong with
the code that actually had errors
18:30 < sunfmin> http://pastie.org/1687072
18:30 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has joined #go-nuts
18:31 < skelterjohn> very funny
18:31 < sunfmin> my source code: http://pastie.org/1687077
18:31 < sunfmin> of the hello.go
18:31 < skelterjohn> oh wait -t hose errors are from the generated test
source
18:31 < skelterjohn> my mistake, i'm sorry
18:31 < skelterjohn> try upgrading your go installation
18:31 < skelterjohn> and rebuilding it
18:32 < sunfmin> ok, doing it now.
18:33 -!- madcapfizzle [~username@66.109.104.32] has joined #go-nuts
18:33 < sunfmin> Normally built from latest code ? I am using Mac brew to
install go now.
18:33 -!- madcapfizzle [~username@66.109.104.32] has quit [Client Quit]
18:33 < skelterjohn> i use hg pull -u
18:33 < skelterjohn> i'm not really familiar with the various package
managers
18:33 < sunfmin> ok, cool
18:35 < steven> check out mah readme bros: https://github.com/sdegutis/godo
18:35 < skelterjohn> hooray - a readme
18:35 < skelterjohn> ?
18:35 < skelterjohn> :)
18:35 < steven> (no i mean read it hehe)
18:36 < skelterjohn> i did
18:36 < steven> godo now allows multiple files *and* arguments
18:36 < steven> woot.
18:36 -!- karpar [~user@112.96.225.32] has quit [Quit: ERC Version 5.3 (IRC client
for Emacs)]
18:41 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving]
18:41 -!- nighty__ [~nighty@tin51-1-82-226-147-104.fbx.proxad.net] has quit [Ping
timeout: 255 seconds]
18:43 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 264 seconds]
18:47 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
18:47 -!- madcapfizzle [~username@216.239.45.130] has quit [Remote host closed the
connection]
18:47 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Ping timeout: 246 seconds]
18:48 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
18:48 -!- madcapfizzle [~username@216.239.45.130] has quit [Client Quit]
18:49 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
18:50 < sunfmin> Hi, Now I got this:
18:50 < sunfmin> http://pastie.org/1687129
18:51 < plexdev> http://is.gd/HeaG56 by [Ian Lance Taylor] in
go/src/pkg/net/ -- net: Use preallocated buffer for epoll.
18:51 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 260 seconds]
18:52 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
18:54 < sunfmin> Hi skelterjohn?
18:54 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
18:54 < sunfmin> still there?
18:54 < skelterjohn> hi, yeah i was in another desktop
18:54 < skelterjohn> make clean test
18:54 < skelterjohn> that error happens when you don't clean between
installs of go
18:55 < sunfmin> Still the same
18:55 < sunfmin> alright.
18:55 < skelterjohn> oh -
18:55 < skelterjohn> something in $GOROOT/pkg didn't get cleaned
18:55 < skelterjohn> go to $GOROOT/src
18:55 < skelterjohn> and do "make clean all"
18:55 < skelterjohn> well, i don't know if all is a target there
18:55 < skelterjohn> "make clean" and "make" then
18:57 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
18:57 < sunfmin> I should do ./clean.bash I think?
18:57 < sunfmin> make: *** No rule to make target `clean'.  Stop.
18:58 < skelterjohn> yeah, then you need to rerun all.bash though
18:58 < skelterjohn> was trying to skip that step, since it takes forever
18:58 < skelterjohn> sorry
18:58 -!- madcapfizzle [~username@216.239.45.130] has quit [Ping timeout: 252
seconds]
18:58 < sunfmin> doing it now.  thank you very much.
18:58 < sunfmin> yeah, but I can wait, ;-)
19:00 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
19:00 < sunfmin> ohh, It worked!!!, thanks, :-)
19:03 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
19:03 -!- PJRobins [~quassel@174-20-86-139.mpls.qwest.net] has quit [Remote host
closed the connection]
19:04 < skelterjohn> great!
19:05 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
19:07 < plexdev> http://is.gd/7QDQg5 by [Rob Pike] in go/src/pkg/rpc/ --
rpc: keep free lists of Request and Response structures.
19:09 < steven> is rob pike in here?
19:10 -!- madcapfizzle [~username@216.239.45.130] has quit [Ping timeout: 240
seconds]
19:11 < skelterjohn> i've never seen him in here
19:11 < skelterjohn> at least i haven't realized it
19:13 < sunfmin> (actually he is watching you)
19:13 < steven> creepy
19:13 < steven> HI ROB!!!
19:13 < steven> HOW ARE YOU!!!!!
19:13 < steven> WOULD YOU LIKE A GLASS OF WATER!!!!!!
19:14 < steven> (can he hear me?)
19:14 < aiju> Pike is too old for IRC ;P
19:19 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
19:19 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
19:23 -!- madcapfizzle [~username@216.239.45.130] has quit [Remote host closed the
connection]
19:23 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
19:24 -!- fizzbuzzer [~consalus@216.239.45.130] has joined #go-nuts
19:25 < fizzbuzzer> .
19:26 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
19:27 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Read error: Connection
reset by peer]
19:29 < niemeyer> fizzbuzzer: That's what I call a to-the-point sentence..
19:30 < fizzbuzzer> Apologies; testing my IRC client, and needed someone to
say something.  :)
19:33 -!- madcapfizzle [~username@216.239.45.130] has quit [Remote host closed the
connection]
19:33 -!- madcapfizzle [~username@216.239.45.130] has joined #go-nuts
19:34 < steven> regardless of questions of style, is it feasible to make
parentheses around function-call arguments optional in Go?
19:34 < steven> fizzbuzzer: its a good idea to grab your own channel when
you test an IRC prgraom
19:35 < skelterjohn> steven: not unless you change the language
19:35 < steven> or feel free to use #giantrobot, its dead in there 24/7
19:35 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has quit [Ping
timeout: 248 seconds]
19:35 < fizzbuzzer> steven: Good point.  Will do.
19:35 < steven> skelterjohn: right, thats what im asking.  would it be too
difficult to make that change?
19:36 < skelterjohn> foo(a) / 2
19:36 < skelterjohn> foo a / 2
19:36 < skelterjohn> is it foo(a/2) or foo(a)/2?
19:36 -!- madcapfizzle [~username@216.239.45.130] has quit [Client Quit]
19:37 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has joined #go-nuts
19:37 < steven> skelterjohn: in certain places it would give an error about
ambiguity
19:37 < steven> sure, thats fine.  id rather not allow foo a / 2
19:37 < steven> but foo(a) vs foo a, should be clean
19:37 < skelterjohn> so i can't divide function calls by 2?
19:37 < steven> as long as theres no ambiguity
19:38 < steven> you can, but you need to use parens
19:38 < steven> remember i said "optional"?
19:38 < skelterjohn> it's a pretty complicated grammar that says "do this,
as long as there is no ambiguity"
19:38 < skelterjohn> doesn't seem feasible, to me
19:38 < steven> its been done in ruby, i know that much.
19:38 < skelterjohn> ruby is not very feasible
19:38 < steven> sure it is.
19:39 < steven> i use it every dya.
19:39 < steven> i dont *like* it as much as Go, but its feasible.
19:39 < steven> ;)
19:39 < skelterjohn> you feas it all the time, do you?  :)
19:39 < steven> heha
19:39 < steven> hahe
19:39 < steven> oO
19:39 < steven> \/
19:39 < plexdev> http://is.gd/QusQvO by [Robert Griesemer] in
go/src/cmd/cgo/ -- cgo: fix index-out-of-bounds bug
19:39 < steven> (crazy face)
19:46 -!- fizzbuzzer [~consalus@216.239.45.130] has quit [Quit: goodbye.]
19:47 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
19:50 < steven> i like makengo but i dont like the implementation or
execution
19:51 < steven> is the polite thing to do, to fork it and rewrite it, to
send him my suggestions, or just write my own competing thingy?
19:51 < niemeyer> steven: Everything is polite, if you do it politely :)
19:52 < niemeyer> steven: Sorry for my lack of patience earlier, btw..
19:52 < niemeyer> steven: I was a bit frustrated by the undue attacks in the
ML, but you have nothing to do with that.
19:52 < niemeyer> steven: I have some polite feedback for you in terms of
your earlier suggestion regarding multiple files.
19:52 < niemeyer> :)
19:53 < niemeyer> steven: You can't do that, or you'll break argument
parsing when it's used in a bangline context
19:55 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts
19:55 -!- jeng [~jeng@74.194.1.28] has quit [Remote host closed the connection]
19:55 -!- sauerbraten [~sauerbrat@p508CAF5A.dip.t-dialin.net] has joined #go-nuts
19:56 < plexdev> http://is.gd/rQXglb by [Ian Lance Taylor] in
go/src/pkg/net/ -- net: Use preallocated buffer for kqueue/kevent.
19:58 < steven> niemeyer: not sure i follow
19:58 < niemeyer> steven: Which part of it?  Me apologizing?
19:58 < steven> nah
19:58 < niemeyer> steven: Kidding..
19:58 < steven> bangline something
19:59 < exch> #!/usr/bin/foobar
19:59 < niemeyer> steven: Try this: put #!/path/to/godo into a file you want
to turn into a script
19:59 < exch> ^ like that
19:59 < steven> oh yeah.  it is a little broken right now.
19:59 < steven> the solution is ugly, but its doable still
19:59 < steven> ./script -- arg1 arg2
19:59 < niemeyer> steven: Then run the file like this: script.go filearg.go
19:59 < niemeyer> steven: Yep, exactly
19:59 < steven> see: https://github.com/sdegutis/godo/blob/master/README.md
20:00 < steven> i think its a worthwhile tradeoff
20:00 < niemeyer> steven: No need..  just wanted to make sure you were aware
of the problem
20:00 < steven> to allow arguments in scripts along with multiple files
20:00 < steven> thanks niemeyer
20:00 < niemeyer> steven: Cool, sounds good
20:00 < niemeyer> That's why multiple implementations exist :)
20:00 < steven> hehe
20:00 < steven> you're still duplicating work though
20:01 < steven> https://github.com/tav/go/blob/master/src/Make.inc
20:01 < steven> you do a lot of the same "figuring out" that this file
already does
20:01 < steven> you could just farm out the work to make ;)
20:04 < niemeyer> steven: What is gorun duplicating from Make.inc, exactly?
20:06 < steven> TheChar and Compile
20:06 < steven> and a portion of GoRun
20:06 < skelterjohn> nothing should depend on make
20:07 < skelterjohn> (in my humble opinion)
20:07 < niemeyer> steven: you mean a string comparison, and calling 6l and
6c?  I'm very happy to duplicate those trivial tasks into machine code and not
depend on make ever.
20:08 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
20:08 < steven> ok
20:10 -!- gmilleramilar1 [~gmiller@pool-74-101-133-165.nycmny.fios.verizon.net]
has joined #go-nuts
20:10 < steven> skelterjohn: so what do you use instead of make?
20:10 < steven> with go
20:10 < skelterjohn> man, i must have mentioned it to you at least ten times
by now
20:10 < skelterjohn> in different contexts :)
20:10 < steven> gb?
20:11 < skelterjohn> yes!
20:11 < steven> :)
20:11 < skelterjohn> oh, were you setting me up?
20:11 < skelterjohn> hah.
20:11 < steven> hah no
20:11 < steven> i just forgot
20:11 < skelterjohn> gb wouldn't work for something like godo or gorun
20:11 * steven is multitasking
20:11 < skelterjohn> since specifying the source files is part of what you
*want* to do
20:11 < steven> i like simple tools that work together
20:12 < steven> gb seems more complex, which is why i havent looked into it
20:12 < steven> whereas make is really simple
20:12 < skelterjohn> different tool for a different job
20:12 < skelterjohn> HAH
20:12 < skelterjohn> did you just call make simple?
20:12 < skelterjohn> wow
20:12 < steven> with my limited experience with it anyway
20:12 < steven> its lightweight and stays out of my way.
20:12 < exch> for go they are simple because the includes hide all the
tedium
20:13 < skelterjohn> and they only work for special kinds of proejcts
20:13 < skelterjohn> projects
20:13 -!- gmilleramilar [~gmiller@38.104.67.234] has quit [Ping timeout: 276
seconds]
20:13 < steven> most of what ive seen in Go's makefiles could be rewritten
in bash with slightly more boilerplate complexity
20:13 < skelterjohn> ie, ones that only depend on themselves and stuff in
$GOROOT/pkg
20:13 < steven> i heard good things about cmake
20:13 < skelterjohn> steven: is bash turing complete?  if so, i'm not
surprised
20:13 < skelterjohn> i mean, it's a language
20:13 < skelterjohn> so it should be able to replicate functionality
20:14 < skelterjohn> but i imagine dependency checking would be a pain with
bash
20:14 < steven> hi
20:14 < steven> how r u
20:14 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
20:14 < skelterjohn> turing complete is not the same thing as "passes a
turing test"
20:15 < nickbp> thats what she said
20:16 < skelterjohn> makefiles aren't really appropriate for a language
where it is easy to do dep analysis by looking at the source
20:16 < skelterjohn> pair that with "one target per directory" and the rest
just follows
20:16 < skelterjohn> very straightforward
20:17 < steven> hw r u don
20:17 < steven> doon
20:17 < steven> skelterjohn: does gb look at the source to find dependencies
and do stuff with them?
20:18 < steven> or something?
20:18 < skelterjohn> ye
20:18 < skelterjohn> s
20:18 < steven> cool whats it do in that regard?
20:18 < skelterjohn> sees what different targets depend on
20:18 < skelterjohn> and if it can, it makes sure they're built
20:18 < skelterjohn> kind of like goinstall
20:18 < skelterjohn> except fully functional
20:19 < skelterjohn> go-gb.googlecode.com has info - i actually wrote up
some docs
20:19 < skelterjohn> which is unusual for me
20:19 < nickbp> cmake is gr8
20:20 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
20:20 < skelterjohn> i just hate making configuration files
20:20 < steven> cool but what scenario is it useful for skelterjohn?
20:20 -!- foocraft [~dsc@78.100.252.72] has quit [Ping timeout: 250 seconds]
20:20 < skelterjohn> if it's not obvious from the layout, then you're doing
things wrong
20:20 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
20:20 < skelterjohn> steven: scenarios where you don't want to write
makefiles, and where you have a bunch of targets that depend on each other (gb
does incremental builds)
20:21 < skelterjohn> i have a group of 38 targets (my research
experimentation code)
20:21 < skelterjohn> there are lots of interdependencies
20:21 < skelterjohn> if i had to clean all/rebuild each time i'd lose my
mind
20:21 < steven> is gb a continuous build server too?
20:21 < steven> ;)
20:21 < skelterjohn> in fact, i was doing that for a while, then i lost my
mind and wrote gb
20:21 < skelterjohn> i have no idea what that is, and no, it isn't
20:22 < steven> haha
20:22 < steven> http://godashboard.appspot.com/ == continuous build server
20:22 < steven> kinda
20:22 < skelterjohn> is that something that would watch for file updates and
rebuild whenever it sees any?
20:22 < skelterjohn> because that's pretty useful, but not what gb will do
20:22 < skelterjohn> if anything, something can wrap gb and do that
20:23 < skelterjohn> or make, or goinstall, or w/e
20:25 < steven> no
20:25 < steven> at intervals it builds
20:26 < skelterjohn> that's not a continuous build server
20:26 < skelterjohn> that's a discrete build server
20:27 -!- foocraft [~dsc@89.211.240.101] has joined #go-nuts
20:28 -!- venk [~user@CPE-124-189-81-145.azsz1.cht.bigpond.net.au] has joined
#go-nuts
20:28 -!- hypertux_ [~hypertux@vps1.joelegasse.com] has left #go-nuts []
20:32 -!- arun_ [~arun@pool-108-18-145-233.washdc.fios.verizon.net] has joined
#go-nuts
20:32 -!- arun_ [~arun@pool-108-18-145-233.washdc.fios.verizon.net] has quit
[Changing host]
20:32 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
20:32 < steven> oh ok
20:32 < steven> it continually builds ;)
20:36 -!- gmilleramilar1 [~gmiller@pool-74-101-133-165.nycmny.fios.verizon.net]
has quit [Ping timeout: 255 seconds]
20:36 -!- arun_ [~arun@unaffiliated/sindian] has quit [Remote host closed the
connection]
20:42 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
20:47 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
20:51 -!- gmilleramilar [~gmiller@pool-74-101-133-165.nycmny.fios.verizon.net] has
joined #go-nuts
20:53 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
21:03 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 260 seconds]
21:08 -!- tensorpudding [~user@99.148.205.193] has quit [Read error: Connection
reset by peer]
21:09 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
21:09 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts
21:12 -!- sacho [~sacho@46.10.16.35] has joined #go-nuts
21:13 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
21:19 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
21:21 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Ping timeout: 255 seconds]
21:27 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
21:29 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 248 seconds]
21:36 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
21:38 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has quit [Remote host closed
the connection]
21:40 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
21:46 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 252 seconds]
21:47 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
21:47 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
21:50 -!- sunfmin [~sunfmin@87.213.45.42] has quit [Quit: sunfmin]
21:51 -!- sauerbraten [~sauerbrat@p508CAF5A.dip.t-dialin.net] has quit [Remote
host closed the connection]
21:55 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 248 seconds]
21:59 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving]
22:01 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
22:05 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:06 -!- venk [~user@CPE-124-189-81-145.azsz1.cht.bigpond.net.au] has quit [Quit:
ERC Version 5.3 (IRC client for Emacs)]
22:17 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Read
error: Connection reset by peer]
22:17 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 246 seconds]
22:23 -!- GoBIR [~gobir@c-24-130-224-186.hsd1.ca.comcast.net] has joined #go-nuts
22:24 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
22:27 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Quit: Venom_X]
22:29 < plexdev> http://is.gd/nGSdty by [Russ Cox] in go/src/ -- build:
diagnose Ubuntu's buggy copy of gold
22:31 < xyproto> Why does not % work on float64?
22:32 < skelterjohn> could you be more specific?
22:32 < skelterjohn> oh - mod operator
22:32 < xyproto> the modulus operator
22:32 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 250 seconds]
22:33 < skelterjohn> it's mathematically defined to be an operation on
integers
22:33 < xyproto> skelterjohn: does python do it wrong, then?
22:33 < skelterjohn> lots of languages make up extra stuff for convenience
22:34 < xyproto> skelterjohn: modulus makes sense for floats as well, though
22:34 < xyproto> but, ok
22:35 < skelterjohn> math.Fmod
22:35 < xyproto> oh, okay
22:35 < skelterjohn> + also makes sense for strings, but that doesn't mean
the addition operator works on strings in all languages
22:35 < xyproto> I wonder why % doesn't call math.Fmod for float64, then
22:35 < skelterjohn> but in many, it does, for convenience
22:36 < skelterjohn> perhaps % is an assembly instruction
22:36 < skelterjohn> fmod definitely isn't
22:36 < skelterjohn> but i don't know that % is, for sure
22:36 < xyproto> that might be
22:36 < xyproto> guess I could report it as a wish/suggestion, that % calls
math.Fmod?  Or, they've probably thought it through already.
22:37 -!- ronnyy [~quassel@p4FF1C515.dip0.t-ipconnect.de] has joined #go-nuts
22:37 < skelterjohn> they will not do that
22:37 < skelterjohn> i promise you :)
22:38 < xyproto> ok, I won't bother then :)
22:38 < xyproto> I find it inconsistent that +, which is a convience
function for strings, is implemented, but not % for float64, though
22:39 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined
#go-nuts
22:40 < skelterjohn> because not having + for strings would be a huge
inconvenience
22:40 < skelterjohn> not having % for floats is, well, i didn't notice it
until you mentioned it
22:41 < xyproto> I see your point, but I still think it feels like something
that's missing.  Adding % for floats would make the language better.  It would not
be worse, more inconsistent, more cluttered or less simplistic in any way.
22:41 < xyproto> As far as I can see.
22:41 < skelterjohn> the rule of thumb with go is, "we need a good reason to
change things"
22:42 < skelterjohn> new-idea being better than current-idea isn't
sufficient
22:42 < skelterjohn> it has to be much-better
22:42 < skelterjohn> otherwise, leave things the way they are
22:42 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
22:42 < skelterjohn> and i disagree that it would be better to have % do
fmod
22:43 < xyproto> I agree, in general.  But, in this case, I think it's a
missing feature.
22:43 < skelterjohn> 1) my point about machine instructions
22:43 < xyproto> Also, %= does not work for floats.
22:43 < skelterjohn> 2) that's just not what modulus means
22:43 < skelterjohn> modulo, i mean
22:43 < xyproto> yeah, modulo
22:43 < xyproto> I think 2) is the best argument.
22:44 < xyproto> Oh well.  math.Fmod works.  Thanks :)
22:46 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
22:50 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping
timeout: 240 seconds]
22:54 -!- ronnyy [~quassel@p4FF1C515.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
22:54 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the
connection]
23:00 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
23:24 -!- iant [~iant@nat/google/x-qtaazmmsnnsvaiih] has quit [Ping timeout: 276
seconds]
23:28 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 255 seconds]
23:38 -!- iant [~iant@67.218.107.6] has joined #go-nuts
23:38 -!- mode/#go-nuts [+v iant] by ChanServ
23:41 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
23:56 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
--- Log closed Sat Mar 19 00:00:55 2011