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

--- Log opened Thu Aug 11 00:00:20 2011
00:02 < f2f> you don't need to allocate it every time.  one-time allocation
cost before the loop, and you can make it as big as you expect the packetconn to
transmit (mtu?  max udp packet size?)
00:03 -!- snim2 [~user@cpc4-cove12-2-0-cust152.3-1.cable.virginmedia.com] has
joined #go-nuts
00:04 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
00:09 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Remote
host closed the connection]
00:10 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts
00:14 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit:
Textual IRC Client: http://www.textualapp.com/]
00:14 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:14 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit
[Client Quit]
00:15 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
00:18 < allengeorge> f2f: Sorry - was in the middle of trying to decipher
some code I wrote two months ago.
00:18 < allengeorge> I thought about that - but then I have to copy the
bytes read from one buffer to another on every read
00:19 < allengeorge> i.e.  I allocate one large fixed-size buffer into which
I read the packets initially
00:19 < allengeorge> Then, using n (number of bytes read), I make a new
slice of that size and pass it on a channel to some sort of processing goroutine
00:19 < allengeorge> I wondered if there was a way to avoid that copy
00:20 < allengeorge> in that case
00:22 < |Craig|> allengeorge: pass what ever you were reading from over then
chan instead of the data?
00:24 -!- hargettp [~hargettp@pool-71-174-133-100.bstnma.east.verizon.net] has
joined #go-nuts
00:30 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has quit [Read
error: Connection reset by peer]
00:41 -!- vmil86 [~vmil86@88.118.36.96] has quit [Remote host closed the
connection]
00:42 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined
#go-nuts
00:43 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
00:53 -!- miker2_ [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined
#go-nuts
00:53 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit
[Ping timeout: 250 seconds]
01:01 -!- avelino [bd3e4844@gateway/web/freenode/ip.189.62.72.68] has joined
#go-nuts
01:07 < avelino> Hi, my name is Thiago Avelino form Brazil, Go language has
community Brazilian?
01:13 < str1ngs> avelino: there is are some go users from brazil
01:17 < avelino> You think it's cool to idea of ​​create a community of Go
lang here in Brazil?  Create mailing list, create time for translation of
documents?
01:18 < str1ngs> I dont see how it would hurt
01:19 < str1ngs> there could be one already
01:19 < str1ngs> I know one contributor to go lang.  is from brazil
01:19 < avelino> I talk with to help in the translation of documents?
str1ngs
01:21 < str1ngs> it might be best if you post to the go lang google group.
01:22 < avelino> very good :D
01:35 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:35 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:36 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:36 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:38 -!- niemeyer [~niemeyer@72-254-15-217.client.stsn.net] has joined #go-nuts
01:40 < str1ngs> avelino: niemeyer should be on soon if you hang around
01:40 * niemeyer is around..  (?)
01:40 < str1ngs> sorry irc filter :P
01:41 < niemeyer> :-)
01:41 * niemeyer ports labix.org from mustache to exp/template
01:41 < niemeyer> Let's see how that goes
01:42 -!- avelino [bd3e4844@gateway/web/freenode/ip.189.62.72.68] has quit [Quit:
Page closed]
01:42 < niemeyer> LOL
01:42 -!- avelino [~avelino@189.62.72.68] has joined #go-nuts
01:42 -!- avelino [~avelino@189.62.72.68] has quit [Changing host]
01:42 -!- avelino [~avelino@unaffiliated/avelino] has joined #go-nuts
01:43 < niemeyer> avelino: Hey there..  can I help somehow?
01:43 < str1ngs> he might be afk now :(
01:43 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
01:43 < avelino> pvt pls
01:44 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:44 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:45 < chilts> niemeyer: I read a little bit around exp/template the other
day ...  am I right in thinking that exp = experimental?
01:46 < niemeyer> chilts: It is indeed
01:46 < chilts> I guess that means it's liable to change
01:46 < niemeyer> chilts: It will certainly replace the standard template,
though
01:46 < niemeyer> chilts: Indeed
01:46 < chilts> oh right, if that's certain then I'll probably switch now :)
01:46 < chilts> thanks
01:46 < str1ngs> if its in the go tree its liable to change.  generally for
the better :P
01:47 < chilts> on another note, are you keen on someone adding SimpleDB and
maybe some other AWS stuff to go-amz?
01:47 < chilts> I wrote a Perl library too to a lot of that stuff but am
using Go more and more these days: https://github.com/appsattic/awssum
01:48 < chilts> so I'd be happy to take a look at implementing one or two
other services
01:48 < niemeyer> chilts: Oh, absolutely
01:48 < chilts> str1ngs: yeah, good point :)
01:48 < chilts> :)
01:48 < niemeyer> chilts: Co-maintainership is very welcome
01:49 < niemeyer> chilts: The only requirement is for the API to be nice and
well tested, which shouldn't be a big deal in general :)
01:49 < chilts> I might not go that far for the moment, let's see how I get
on first ;)
01:49 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
01:50 < chilts> yeah, one thing I am finding with all the AWS services is
that they're all so different (different ways of doing REST, different HTTP return
codes, different ways to sign, different ways to represent data (XML, URL params,
JSON even)) so I think getting each API right in terms of programming is hugely
important
01:50 < chilts> I abstracted all that away from the programmer in my Perl
stuff (even to RackspaceCloud API, PayPal etc)
01:51 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:51 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:53 < niemeyer> chilts: Agreed
01:53 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:53 < niemeyer> chilts: Have you checked out the goamz/{ec2,s3} API?
01:53 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:53 < chilts> heh, my bzr on my other machine is too old ...  am on Lucid
on this one, so will be checking it out now
01:54 < chilts> I've browsed the code online, but not used it yet
01:54 < chilts> also, I usually use Git, so I'm a complete bzr newbie ...
so I'll just give it a go and figure it out
01:54 < chilts> :)
01:54 < niemeyer> chilts: There are docs here: http://goneat.org/lp/goamz
01:54 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:54 < chilts> thanks :)
01:55 < chilts> ah, do you run that domain?
01:55 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:58 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has quit [Ping timeout:
264 seconds]
01:58 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
01:58 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
01:59 < niemeyer> chilts: I do, yeah
01:59 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has joined #go-nuts
02:00 < chilts> ok, I branched out goamz, aws, ec2 and s3 - but I'm unsure
of the relationship between them - are the latter three all branches in the first
one's (master) repo?
02:01 < niemeyer> chilts: There are three packages..  goamz/aws goamz/ec2
goamz/s3
02:01 < niemeyer> chilts: The first one contains generic logic
02:02 < niemeyer> chilts: The other two contain service-specific information
02:02 < chilts> yep, sounds good ...  but what is lp:goamz then?  a
conglomeration of the other three?
02:02 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 255 seconds]
02:02 < chilts> I have lp:goamz, lp:goamz/aws, lp:goamz/ec2, lp:goamz/s3
02:02 < niemeyer> chilts: It's nothing..  you don't need it
02:02 < chilts> sorry, I don't know bzr :)
02:02 < chilts> ah ok, I'll delete it them :)
02:02 < niemeyer> chilts: Totally fine :)
02:03 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
02:03 -!- snim2 [~user@cpc4-cove12-2-0-cust152.3-1.cable.virginmedia.com] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
02:03 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
02:03 < niemeyer> chilts: It was a previous generation..  I'll delete it to
make sure people don't grab it by accident
02:03 < chilts> righto :)
02:05 < chilts> I'll have a further play tonight ...  better get on with my
afternoon :)
02:05 < chilts> thanks for your help so far :)
02:05 < niemeyer> chilts: No worries..  please let me know how it goes
02:05 < chilts> will do :)
02:06 < niemeyer> chilts: Cheers, have a good one
02:06 < chilts> :)
02:07 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
02:09 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error:
Connection reset by peer]
02:09 -!- qeed [~qeed@adsl-98-85-44-162.mco.bellsouth.net] has quit [Quit:
Leaving]
02:09 -!- shoenig [~shoenig@bastion.sfo1.yelpcorp.com] has quit [Remote host
closed the connection]
02:11 -!- Soak [Soak@gas45-5-88-182-12-78.fbx.proxad.net] has quit []
02:12 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
02:13 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
02:13 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 260 seconds]
02:13 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 260 seconds]
02:17 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
02:17 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
02:19 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
02:19 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Read error:
Connection reset by peer]
02:22 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has quit
[Quit: allengeorge]
02:23 < knowmercy> well I got further on porting go to openbsd than I
thought I would make tonight
02:23 -!- benjack [~benjack@bb220-255-251-77.singnet.com.sg] has joined #go-nuts
02:23 < knowmercy> I got the bash dependency satisfied and added openbsd to
the GOOS_LIST
02:23 < knowmercy> :P
02:26 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
02:27 < knowmercy> I have a 6l and gomake in the go/bin dir
02:28 < chilts> sounds like you're on to a winner :)
02:29 < knowmercy> well...  I don't have a 6g and it stopped without an
error so I'm mostly confused ;)
02:30 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
02:30 < chilts> heh, good luck!
02:31 < knowmercy> I'm gonna need it now!
02:31 < knowmercy> completely stumped where to go next
02:31 < knowmercy> :)
02:34 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 255
seconds]
02:35 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Quit:
Leaving]
02:35 < niemeyer> knowmercy: Are you sure it just stopped?
02:35 < niemeyer> knowmercy: Isn't the error mixed in the middle of the
output?
02:37 < knowmercy> niemeyer: I just ran ../bin/gomake -C cmd install again
and saw a useful error
02:37 < knowmercy> no target for openbsd-install
02:37 < knowmercy> err install-openbsd
02:37 < niemeyer> Ah, ok..  that's easier
02:37 < knowmercy> yup
02:38 < knowmercy> for cmd/cov
02:38 < knowmercy> I'm fairly certain that is what the build script does
02:38 < knowmercy> for i in foo bar cmd etc gomake -C $i install
02:39 < knowmercy> what is cov?
02:43 < niemeyer> knowmercy: coverage?
02:44 < niemeyer> knowmercy: http://golang.org/cmd/cov/
02:44 < knowmercy> niemeyer: do I need that on openbsd?  I see it's not used
on darwin
02:44 < niemeyer> knowmercy: Definitely not critical
02:44 < niemeyer> knowmercy: I wouldn't worry about it before everything
else works
02:44 < knowmercy> ok
02:44 < knowmercy> :)
02:44 < knowmercy> thanks
02:44 < niemeyer> np
02:47 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
02:47 < knowmercy> built with the exception of prof and cov
02:47 < knowmercy> with all the ctl* stuff
02:48 < knowmercy> I've got compilers
02:48 < knowmercy> lets see if they work
02:49 -!- hargettp [~hargettp@pool-71-174-133-100.bstnma.east.verizon.net] has
quit [Quit: Leaving...]
02:50 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit
[Quit: Computer has gone to sleep.]
02:51 < knowmercy> made it LOTS farther this time!  all the way to lib/lib9
02:52 < knowmercy> can't find defs.h
02:52 < knowmercy> am I being too noisy?
02:53 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has quit [Ping timeout: 255
seconds]
02:53 < chilts> not for me ...  it's quite interesting just seeing progress
as it goes along
02:53 < chilts> and I don't even use OpenBSD :)
02:54 < knowmercy> http://pastebin.com/vA7Y6ZjF
02:54 < knowmercy> that's the latest
03:00 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
03:02 < knowmercy> aha, that's the part that I'll actually need to write
from the looks of it :)
03:02 < knowmercy> should be fun I guess
03:05 < knowmercy> godefs you say!
03:06 -!- rael_wiki [~chatzilla@unaffiliated/rael-wiki/x-8420294] has quit [Quit:
ChatZilla 0.9.87 [Iceweasel 5.0/20110730084237]]
03:07 < niemeyer> chilts: Progress indeed goes along around here..
03:07 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has quit [Ping timeout:
252 seconds]
03:08 -!- danilo04
[~danilo04@province-wireless-173-84-27-187.dr02.roch.ny.frontiernet.net] has
joined #go-nuts
03:14 -!- odoacre [~antonio@218.241.169.34] has joined #go-nuts
03:14 < knowmercy> hrmmm, I'm not sure how to proceed
03:17 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has joined
#go-nuts
03:20 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has quit [Client
Quit]
03:30 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has quit [Ping timeout: 260
seconds]
03:30 -!- welterde [welterde@thinkbase.srv.welterde.de] has quit [Ping timeout:
276 seconds]
03:32 < knowmercy> can anyone else get to this url?
http://code.google.com/r/calminferno-go-openbsd/
03:32 < nicka> 403
03:33 < knowmercy> me too :(
03:33 < knowmercy> so apparently there is some elf format that I need to fix
or figure out
03:42 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has joined
#go-nuts
03:42 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has quit [Client
Quit]
03:46 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts
03:46 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Remote host
closed the connection]
03:47 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
03:48 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
03:49 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
03:50 -!- clr_ [~colin@158.sub-72-100-239.myvzw.com] has joined #go-nuts
03:55 -!- clr_ [~colin@158.sub-72-100-239.myvzw.com] has quit [Ping timeout: 255
seconds]
04:01 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has joined
#go-nuts
04:02 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
04:03 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has quit
[Client Quit]
04:04 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts
04:08 -!- clr_ [~colin@214.sub-75-221-218.myvzw.com] has joined #go-nuts
04:12 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
04:13 -!- clr_ [~colin@214.sub-75-221-218.myvzw.com] has quit [Ping timeout: 252
seconds]
04:20 -!- JakeyChan_
[~Jakey@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has joined
#go-nuts
04:23 < JakeyChan_> hi
04:23 < niemeyer> JakeyChan_: yo
04:24 < JakeyChan_> go can install on Mac ?
04:25 -!- Kumul [~Kumul@67.224.248.2] has quit [Quit: gone]
04:25 < JakeyChan_> oh, stupid question
04:25 < JakeyChan_> :D
04:26 < JakeyChan_> 8)
04:26 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
04:27 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
04:28 < niemeyer> JakeyChan_: Don't be so harsh to yourself..  :-)
04:28 < JakeyChan_> :)
04:43 -!- clr_ [~colin@34.sub-75-245-54.myvzw.com] has joined #go-nuts
04:47 -!- clr_ [~colin@34.sub-75-245-54.myvzw.com] has quit [Ping timeout: 240
seconds]
04:58 -!- tav [~tav@host-92-20-54-201.as13285.net] has quit [Ping timeout: 255
seconds]
04:59 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:00 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts
05:03 -!- tav [~tav@host-2-96-37-56.as13285.net] has joined #go-nuts
05:07 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has quit [Ping timeout: 258
seconds]
05:09 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
05:10 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
05:10 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:11 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
05:12 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Quit: Leaving]
05:14 -!- avelino [~avelino@unaffiliated/avelino] has quit [Ping timeout: 250
seconds]
05:16 -!- raylu [raylu@173-228-31-111.static.sonic.net] has quit [Quit: leaving]
05:27 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Read error:
Connection reset by peer]
05:28 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
05:31 -!- Jamra [~Jamra@212.143.214.77] has joined #go-nuts
05:38 -!- Jamra [~Jamra@212.143.214.77] has quit [Ping timeout: 255 seconds]
05:46 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
05:48 -!- danilo04
[~danilo04@province-wireless-173-84-27-187.dr02.roch.ny.frontiernet.net] has quit
[Quit: Leaving]
05:52 -!- nicka [~nicka@unaffiliated/nicka] has quit [Ping timeout: 240 seconds]
05:55 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
05:59 -!- raylu [raylu@173-228-31-111.static.sonic.net] has joined #go-nuts
06:04 -!- vmil86 [~vmil86@88.118.36.96] has joined #go-nuts
06:11 -!- JakeyChan_
[~Jakey@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has quit [Quit:
JakeyChan_]
06:12 -!- JakeyChan_ [~Jakey@116.226.101.244] has joined #go-nuts
06:12 -!- JakeyChan_ [~Jakey@116.226.101.244] has left #go-nuts []
06:13 -!- noodles775 [~michael@g225134127.adsl.alicedsl.de] has joined #go-nuts
06:13 -!- noodles775 [~michael@g225134127.adsl.alicedsl.de] has quit [Changing
host]
06:13 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
06:22 -!- meling_ [~meling@100.81-167-33.customer.lyse.net] has quit [Remote host
closed the connection]
06:23 -!- photron [~photron@port-92-201-20-158.dynamic.qsc.de] has joined #go-nuts
06:37 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
06:44 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Remote host closed the
connection]
06:50 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has joined #go-nuts
06:55 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has joined #go-nuts
06:59 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts
07:01 -!- ronnyy [~quassel@p4FF1C42C.dip0.t-ipconnect.de] has joined #go-nuts
07:01 -!- ccc1 [~Adium@140.109.98.187] has quit [Ping timeout: 260 seconds]
07:01 -!- ronnyy [~quassel@p4FF1C42C.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
07:03 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
07:04 -!- Jamra_ [~Jamra@109-186-50-217.bb.netvision.net.il] has joined #go-nuts
07:06 -!- ronnyy [~quassel@p4FF1C42C.dip0.t-ipconnect.de] has joined #go-nuts
07:07 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has quit [Ping timeout:
276 seconds]
07:07 -!- meling [~meling@pico.ux.uis.no] has joined #go-nuts
07:07 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
07:12 -!- niemeyer [~niemeyer@72-254-15-217.client.stsn.net] has quit [Ping
timeout: 240 seconds]
07:15 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:16 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
07:19 -!- Jamra [~Jamra@109-186-50-217.bb.netvision.net.il] has quit [Quit: Jamra]
07:19 -!- ukai_ [~ukai@nat/google/x-cbevdzfmnceloveq] has quit [Ping timeout: 240
seconds]
07:20 -!- ukai_ [~ukai@nat/google/x-bfphfbmvevvtxaqs] has joined #go-nuts
07:21 -!- kevlar_work [~kevlar@unaffiliated/eko] has quit [Ping timeout: 260
seconds]
07:21 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
07:28 -!- kevlar_work [~kevlar@nat/google/x-kjlpdoimysitybve] has joined #go-nuts
07:28 -!- kevlar_work [~kevlar@nat/google/x-kjlpdoimysitybve] has quit [Changing
host]
07:28 -!- kevlar_work [~kevlar@unaffiliated/eko] has joined #go-nuts
07:29 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
07:34 -!- StefanPauly [~st@143.93.117.10] has joined #go-nuts
07:38 -!- sebastianskejoe [~sebastian@563455dd.rev.stofanet.dk] has joined
#go-nuts
07:53 -!- deepfuture [~liuxing@218.75.249.184] has joined #go-nuts
08:16 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Ping
timeout: 240 seconds]
08:29 -!- benjack [~benjack@bb220-255-251-77.singnet.com.sg] has quit [Quit:
Leaving.]
08:32 -!- erus` [~chatzilla@mailgate.ips-international.com] has joined #go-nuts
08:38 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
08:43 -!- ronnyy [~quassel@p4FF1C42C.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
08:48 -!- Jamra [~Jamra@109-186-49-245.bb.netvision.net.il] has joined #go-nuts
09:07 -!- virtualsue [~chatzilla@nat/cisco/x-ifqwrkaltahxrhxg] has joined #go-nuts
09:17 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 264 seconds]
09:19 -!- noodles775 [~michael@g225092129.adsl.alicedsl.de] has joined #go-nuts
09:19 -!- noodles775 [~michael@g225092129.adsl.alicedsl.de] has quit [Changing
host]
09:19 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
09:21 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Ping timeout: 250
seconds]
09:22 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
09:33 -!- Jamra [~Jamra@109-186-49-245.bb.netvision.net.il] has quit [Ping
timeout: 255 seconds]
09:35 -!- Argue [~Argue@112.201.133.68] has joined #go-nuts
09:43 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
09:44 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 250 seconds]
09:44 -!- Jamra [~Jamra@109-186-50-217.bb.netvision.net.il] has joined #go-nuts
09:53 -!- Solak [~stijnw@cthia.xs4all.nl] has joined #go-nuts
09:55 -!- StefanPauly [~st@143.93.117.10] has quit [Quit: Leaving.]
10:02 -!- deepfuture [~liuxing@218.75.249.184] has quit [Read error: Connection
reset by peer]
10:04 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
joined #go-nuts
10:04 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
10:06 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
10:11 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 240 seconds]
10:14 -!- noodles775 [~michael@g225133231.adsl.alicedsl.de] has joined #go-nuts
10:14 -!- noodles775 [~michael@g225133231.adsl.alicedsl.de] has quit [Changing
host]
10:14 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
10:15 -!- dustyw [~dustyw@c-67-168-84-176.hsd1.wa.comcast.net] has quit [Quit:
Leaving.]
10:21 -!- Sep102_ [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has quit [Read
error: Connection reset by peer]
10:21 -!- Jamra [~Jamra@109-186-50-217.bb.netvision.net.il] has quit [Quit: Jamra]
10:22 < xyproto> In Python you can do f = lambda: print("hello"), in
Moonscript you can do f = -> print "hello", what is the equivivalent in Go?
10:22 < xyproto> typo :) equivalent
10:24 -!- Jamra [~Jamra@46-116-120-42.bb.netvision.net.il] has joined #go-nuts
10:26 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.]
10:26 < moraes> xyproto,
http://golang.org/doc/go_spec.html#Function_literals
10:27 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Ping
timeout: 240 seconds]
10:28 < xyproto> moraes: thank you, I had forgotten
10:38 -!- Jamra [~Jamra@46-116-120-42.bb.netvision.net.il] has quit [Ping timeout:
255 seconds]
10:48 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
10:51 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
quit [Quit: Leaving...]
10:52 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
joined #go-nuts
10:57 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has quit [Quit: I mine
on BitMinter.com]
10:59 -!- meling_ [~meling@152.94.120.233] has joined #go-nuts
11:02 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
11:02 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
11:03 -!- meling [~meling@pico.ux.uis.no] has quit [Ping timeout: 264 seconds]
11:12 -!- avelino [~avelino@189.120.233.230] has joined #go-nuts
11:13 -!- avelino [~avelino@189.120.233.230] has quit [Remote host closed the
connection]
11:13 -!- avelino [~avelino@189.120.233.230] has joined #go-nuts
11:14 -!- avelino [~avelino@189.120.233.230] has quit [Changing host]
11:14 -!- avelino [~avelino@unaffiliated/avelino] has joined #go-nuts
11:30 -!- benjack [~benjack@cm224.omega195.maxonline.com.sg] has joined #go-nuts
11:35 -!- meling_ [~meling@152.94.120.233] has quit [Remote host closed the
connection]
11:36 -!- meling [~meling@pico.ux.uis.no] has joined #go-nuts
11:37 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
11:41 -!- ccc1 [~Adium@118-166-215-203.dynamic.hinet.net] has joined #go-nuts
11:45 -!- Jamra [~Jamra@93-173-31-31.bb.netvision.net.il] has joined #go-nuts
11:47 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
quit [Quit: Leaving...]
11:56 -!- Jamra [~Jamra@93-173-31-31.bb.netvision.net.il] has quit [Ping timeout:
255 seconds]
11:58 -!- miker2 [~miker2@64.55.31.190] has joined #go-nuts
12:04 -!- Dr_Who [~tgall_foo@206.9.88.154] has joined #go-nuts
12:04 -!- Dr_Who [~tgall_foo@206.9.88.154] has quit [Changing host]
12:04 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
12:08 -!- Jamra [~Jamra@89-139-62-115.bb.netvision.net.il] has joined #go-nuts
12:13 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 255 seconds]
12:15 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
12:17 -!- Jamra [~Jamra@89-139-62-115.bb.netvision.net.il] has quit [Quit: Jamra]
12:17 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Read error: Operation timed
out]
12:18 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
12:18 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
12:23 -!- franciscosouza [~francisco@187.105.21.97] has quit [Quit:
franciscosouza]
12:24 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
12:29 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has
joined #go-nuts
12:33 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
12:38 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
12:41 -!- nicka [~nicka@unaffiliated/nicka] has joined #go-nuts
12:46 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: WeeChat 0.3.5]
12:47 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
12:48 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
13:03 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has joined #go-nuts
13:03 -!- qeed [~qeed@adsl-98-85-46-108.mco.bellsouth.net] has joined #go-nuts
13:06 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
13:06 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 250 seconds]
13:07 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
13:11 -!- samuell_ [~samuel@pc2-samuel.uppmax.uu.se] has joined #go-nuts
13:13 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
13:14 -!- prip [~foo@host149-125-dynamic.36-79-r.retail.telecomitalia.it] has quit
[Quit: Leaving]
13:14 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
13:16 -!- samuell_ [~samuel@pc2-samuel.uppmax.uu.se] has quit [Client Quit]
13:18 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has
joined #go-nuts
13:21 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
13:24 -!- mindphaze [~void@205.185.124.87] has joined #go-nuts
13:26 -!- knowmerc1 [~knowmercy@mobile-198-228-224-177.mycingular.net] has joined
#go-nuts
13:27 < knowmerc1> morning
13:30 < zozoR> ^^
13:40 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has joined #go-nuts
13:49 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has joined
#go-nuts
13:50 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined
#go-nuts
13:56 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has quit
[Quit: allengeorge]
13:59 < Argue> is there a way to make the goroutine on the receiving end of
a channel block until its buffer is full?
14:00 < aiju> Argue: pass an array?
14:00 < Argue> err...  good idea
14:00 < exch> That would require polling for the channel's len().  Which is
racey at best
14:00 < exch> aiju's suggestion is probably better
14:00 < Argue> yeah i didn't want to poll for len
14:00 < Argue> passing an array sounds good
14:02 < knowmerc1> how would passing in an array work and look in code?
14:02 < aiju> c := make(chan [5]int)
14:02 < aiju> c <- [5]int{1,2,3,4,5}
14:04 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
14:05 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has quit
[Ping timeout: 255 seconds]
14:06 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit []
14:10 -!- meling [~meling@pico.ux.uis.no] has quit [Remote host closed the
connection]
14:10 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
14:11 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
14:11 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
14:11 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
14:13 -!- niemeyer [~niemeyer@72-254-19-205.client.stsn.net] has joined #go-nuts
14:15 -!- foxen [~foxen@212.12.18.237] has joined #go-nuts
14:18 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 250 seconds]
14:23 -!- virtualsue [~chatzilla@nat/cisco/x-ifqwrkaltahxrhxg] has quit [Ping
timeout: 276 seconds]
14:24 < zozoR> why do i never see people complaining about go
14:24 < zozoR> except for random guys who wants to turn of GC per thread xD
14:24 < skelterjohn|work> you don't go on redit enough
14:24 < zozoR> whats that?
14:24 < skelterjohn|work> reddit i mean
14:24 < skelterjohn|work> reddit.com
14:25 < zozoR> random discussion board?
14:25 < f2f> :)
14:25 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
14:27 < zozoR> but they dont come with any good argumentations against it
14:27 < zozoR> or real complains
14:27 < skelterjohn|work> sure they do
14:27 < skelterjohn|work> go is not the perfect language for every situation
14:27 < skelterjohn|work> so they can easily pick a situation that it's not
perfect for and complain about it
14:29 < mpl> "I wanted to chop that tree down, but that stupid hammer
doesn't seem to work very well!!  hammer is teh suck!!!111"
14:29 -!- virtualsue [~chatzilla@nat/cisco/x-rzantmaeixvejeyd] has joined #go-nuts
14:29 < f2f> more like "this hammer doesn't have exceptions!  its designers
are idiots" ;)
14:30 < mpl> hehe
14:30 -!- knowmerc1 [~knowmercy@mobile-198-228-224-177.mycingular.net] has quit
[Ping timeout: 264 seconds]
14:31 < skelterjohn|work> if the hammer designers really wanted the hammer
to be a successful tool, they'd make the handle a blade that you could use to chop
the tree with
14:31 < skelterjohn|work> sure, it wouldn't be great for chopping trees, but
it's better than not being able to do it at all!
14:32 < mpl> nevermind that you risk cutting your fingers with it while
using it :)
14:33 < skelterjohn|work> a skilled hammerer knows how to hold the hammeraxe
properly in order to not cut him or herself
14:33 < mpl> (which was probably implied, sorry for doing captain subtext)
14:33 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has quit [Ping timeout:
246 seconds]
14:33 < skelterjohn|work> of course, it's hard to really pound a nail
properly when you have to hold the hammeraxe by pressing it between your thumb and
pinky
14:34 < mpl> bah who needs nails when you can plug the hammeraxe to the
mains and insert screws in the tree with it!?
14:35 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:35 < zozoR> :D
14:35 < mpl> btw, hammeraxe is a brilliant name :)
14:35 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has joined #go-nuts
14:35 < zozoR> its a great analogy
14:35 < skelterjohn|work> if you can't figure out how to make the hammeraxe
battery-operated, you don't really care about making it a useful tool
14:35 -!- Solak [~stijnw@cthia.xs4all.nl] has quit [Remote host closed the
connection]
14:36 * mpl wants to tape together a hammeraxe now
14:36 < jnwhiteh> "go ignores 20 years of academic research"
14:36 < jnwhiteh> I think that guy, whoever he is, goes out of his way to
work that into every post on reddit
14:36 < skelterjohn|work> we've known how to make axes for thousands of
years
14:36 < skelterjohn|work> and hammers too
14:36 -!- knowmerc1 [~knowmercy@mobile-198-228-224-177.mycingular.net] has joined
#go-nuts
14:38 < zozoR> what is the wrong situation to chose go in?
14:38 < zozoR> except maybe for hard real time embedded programming
14:39 < mpl> when you want to cut a tree down of course!  sheesh haven't you
followed anything we said?
14:39 < mpl> ;P
14:39 < skelterjohn|work> mostly it's the situation where the programmer has
already decided they want to use X or Y language feature found elsewhere, except
with go syntax
14:39 < nicka> class go rhetoric : the analogy of the hammeraxe
14:40 < zozoR> ^^
14:41 < zozoR> i've been damaged by go..  all other languages seem dumb
14:42 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
14:42 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
14:44 -!- miker2_ [~miker2@64.55.31.190] has joined #go-nuts
14:44 < mpl> skelterjohn|work: btw, the hammeraxe made me think of that:
http://www.dontevenreply.com/view.php?post=84
14:44 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
14:44 < f2f> on reddit everybody has an axe to grind :)
14:45 -!- miker2 [~miker2@64.55.31.190] has quit [Ping timeout: 240 seconds]
14:50 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Ping timeout: 240
seconds]
14:50 -!- Kumul [~Kumul@67.224.219.226] has joined #go-nuts
14:51 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has quit [Ping timeout: 246
seconds]
14:54 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts
14:56 -!- ancientlore [~ancientlo@12.54.6.218] has joined #go-nuts
14:56 < f2f> here's what the lead D developer says about Go on reddit:
14:56 < f2f> I've always been wondering about this misrepresentation of Go
as a suitable successor to C. It has too much runtime decoration and offers too
little control to be anywhere near as suitable as C, yet at the same time it is
too underpowered to offer true modelling power that C can't do.  I think it was a
mistake to introduce Go in comparison and contrast to C. It's not impossible there
is a place for it on the programming languages landscape, but it has
14:57 < skelterjohn|work> (your message cut off at "but it has".  maybe just
link the comment?)
14:57 < f2f> http://pastie.org/2356134
14:58 < f2f> but it hasn't found it yet.
14:58 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
14:59 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
15:00 < wrtp>
http://www.reddit.com/r/programming/comments/j48tf/how_is_c_better_than_d/c292dmo
15:00 < wrtp> f2f: is that pastie link D code?
15:01 < f2f> yes
15:02 < f2f> i downloaded the compiler+stdlib to see what it's all about and
that was the first thing that i saw.  really :)
15:02 < f2f> he claims that D compiles faster than Go
15:03 < skelterjohn|work> while the code does look a bit weird, a different
syntax always looks weird at first
15:03 < f2f> skelterjohn|work: i'm supposed to be familiar with this syntax
from C
15:04 < f2f> and i'm supposed to avoid it, at least that's what i've been
taught
15:04 < skelterjohn|work> are types first class values in D?
15:05 < aiju> unlike D, C has a working compiler
15:08 < f2f> you mean Go?
15:08 < aiju> both Go and C do
15:08 < skelterjohn|work> both Go and C have a working compilre
15:10 < moraes> nice link
15:10 < moraes> @f2f
15:12 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
15:12 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has
joined #go-nuts
15:12 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
15:17 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has joined #go-nuts
15:20 < f2f> D's compiler is on par or faster than Go's.  they compile 150k
lines in ~3s, go compiles (and installs) 200k in ~6s.  D compiles everything in
one line while Go does lots of i/o (the difference between make and make -j8 is
10s on this mac)
15:20 < skelterjohn|work> who cares about make?  use gb :)
15:21 < skelterjohn|work> i'm not sure how "compiles everything in one line"
compares to "does lots of i/o"
15:21 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has joined
#go-nuts
15:21 < dlowe> 10s???  You could take a whole sip of coffee in that time!
15:21 < aiju> kencc is faster than the Go compiler
15:22 < vegai> some people, like Bright, don't seem to appreciate simplicity
quite as much as go programmers do
15:22 < dlowe> You could save whole hours of compilation per year just by
switching languages
15:23 < aiju> write assembly
15:23 < aiju> that "compiles" fastest
15:23 < skelterjohn|work> i could save months if i didn't doze off at the
computer so much
15:23 < f2f> dlowe, a claim was made that D is faster than Go. i am
diligently verifying it.
15:23 < aiju> wait
15:23 < aiju> are you talking about the compiler or the programs?
15:23 < dlowe> f2f: faster at what?
15:23 < f2f> compiler
15:23 < skelterjohn|work> oh...
15:23 < skelterjohn|work> who cares about that?
15:24 < skelterjohn|work> we're talking about how fast it compiles go/D code
15:24 < skelterjohn|work> and i'm sure he was too
15:24 < aiju> nasm -O2 -l kernel.lst kernel.asm -o build/kernel.com 0.36s
user 0.02s system 30% cpu 1.252 total
15:24 < aiju> assemblers can be slow, too
15:24 < aiju> hahahaa
15:24 < dlowe> modern assemblers are bizarrely full functional.
15:25 < jnwhiteh> Russ has very expressive eyebrows in the promo video, heh.
15:28 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has quit
[Quit: Leaving]
15:28 -!- virtualsue [~chatzilla@nat/cisco/x-rzantmaeixvejeyd] has quit [Ping
timeout: 250 seconds]
15:30 < f2f> skelterjohn|work: in general, if you only need one execution to
accomplish something you'll waste less time accessing the same set of resources
than if you have to do it in multiple runs
15:30 < f2f> cd go/src/pkg && make has to do, for example,
open("/lib64/libgcc_s.so.1", O_RDONLY) 570 times
15:31 -!- nekoh [~nekoh@dslb-088-069-158-233.pools.arcor-ip.net] has joined
#go-nuts
15:31 -!- benjack [~benjack@cm224.omega195.maxonline.com.sg] has quit [Quit:
Leaving.]
15:31 < skelterjohn|work> how fast does that run on your computer?
15:31 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Quit:
ChatZilla 0.9.87 [Firefox 5.0/20110615151330]]
15:32 < f2f> 16 seconds sequentially, 6 seconds with 8 parallel compilations
15:32 -!- knowmerc1 [~knowmercy@mobile-198-228-224-177.mycingular.net] has quit
[Ping timeout: 260 seconds]
15:32 < skelterjohn|work> what happens if i only put -j
15:33 -!- sebastianskejoe [~sebastian@563455dd.rev.stofanet.dk] has quit [Quit:
leaving]
15:33 < skelterjohn|work> gb -p is 17 seconds on my computer, make -j is 26
15:33 < jnwhiteh> why does libgcc get opened?
15:33 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has quit [Ping timeout:
255 seconds]
15:35 < f2f> what's the goinstall incantation for go-gb?
15:35 < skelterjohn|work> you use weekly or release?
15:35 < jnwhiteh> f2f: what's opening libgcc_s in your tests?
15:36 < jnwhiteh> skelterjohn|work: you obviously destroy 'make', which does
not surprise me a bit =)
15:36 < skelterjohn|work> f2f: if you use release, goinstall
github.com/skelterjohn/go-gb/gb
15:37 < skelterjohn|work> it will run $GOMAXPROCS compilations in parallel
15:37 < skelterjohn|work> which might not be optimal
15:37 < skelterjohn|work> haven't thought about it much
15:37 < f2f> jnwhiteh, not sure
15:37 < jnwhiteh> might just include a -j option
15:37 < jnwhiteh> so we can tinker independently
15:37 < jnwhiteh> f2f: because I don't *think* the go compiler/linker should
be doing that
15:38 < f2f> it's a full make
15:38 < jnwhiteh> possibly make/install I dunno =/
15:38 < skelterjohn|work> jnwhiteh: i'm thinking of unlimited :)
15:38 < jnwhiteh> well, that's testing a lot more than compilation
15:38 < jnwhiteh> =)
15:38 < f2f> so something external.  cp perhaps
15:38 < jnwhiteh> its also testing make/cp/install/etc.
15:38 -!- mrsrikanth [~mrsrikant@59.92.36.47] has joined #go-nuts
15:38 < f2f> well, yes.  both times were given for a "make of the runtime
from scratch"
15:39 < skelterjohn|work> (gb was copying too, btw)
15:39 < jnwhiteh> again, runtime or src/pkg?  =)
15:39 < f2f> src/pkg
15:39 < f2f> s/runtime/libraries/, sorry
15:39 < f2f> that is, exactly what rsc showed in his video
15:40 < jnwhiteh> which was not part of a competition =)
15:40 < jnwhiteh> just trying to understand what's happening!
15:40 < f2f> the claims were made by the D developer, I just tried
substantiating them.
15:40 < jnwhiteh> running make will re-do a whole lot of things
15:40 < skelterjohn|work> same time when i have no limit on concurrent
compilations....
15:40 < jnwhiteh> gb will give you much more reasonable results
15:42 < skelterjohn|work> so maybe i shouldn't have any concurrency limit
for parallel building - the goroutines schedule around each other nicely as it is
15:42 < jnwhiteh> well, its just invoking external processes anyways, isn't
it?
15:43 < jnwhiteh> so the concurrency comes from the os and how many of those
are spawned, so yeah
15:43 < skelterjohn|work> yes - i worried about having too much disk
thrashing, though
15:43 < skelterjohn|work> but i guess it's not a big deal
15:43 < jnwhiteh> I think gb is happily fast enough :P
15:44 < jnwhiteh> f2f: where's the claim being made?
15:44 < skelterjohn|work> well i always like getting rid of parameters
15:44 < jnwhiteh> ah, well, I have to run either way
15:44 < jnwhiteh> just make sure you're testing the same thing, I'd say =)
15:44 < jnwhiteh> and I look forward to seeing your results =)
15:45 < skelterjohn|work> well, if the claim was "D builds faster than Go",
then it's a bit ambiguous - since it's not clear if that means the compiler,
libraries, or arbitrary projects
15:45 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has joined #go-nuts
15:45 < jnwhiteh> indeed, that's why I'm wondering
15:45 < f2f> skelterjohn|work: what's the equivalent of 'cd src/pkg && make'
for gb?  it fails at exp/wingui
15:46 < skelterjohn|work> f2f: i recently added a switch to ignore that
package if not on windows
15:46 < skelterjohn|work> but it's not in the release version
15:46 < skelterjohn|work> it will compile everything else though
15:47 < skelterjohn|work> and you can just go to src/pkg and run "gb -p"
15:48 < f2f>
http://www.reddit.com/r/programming/comments/fslmx/rob_pike_explains_google_go_doing_oop_without/c1ikynb
15:49 -!- shoenig [~shoenig@bastion.sfo1.yelpcorp.com] has joined #go-nuts
15:49 < skelterjohn|work> i wonder on what evidence you can make such a
claim
15:49 < skelterjohn|work> "4x" is pretty specific
15:49 < skelterjohn|work> but i don't know how i'd test it - i have a
feeling the guy didn't make equiv programs in Go and D to compare
15:49 < f2f>
http://www.reddit.com/r/programming/comments/dm8n8/the_many_faces_of_d_slides_pdf/c11cfp0
15:52 -!- tncardoso [~thiagon@150.164.2.20] has quit [Ping timeout: 260 seconds]
15:52 < skelterjohn|work> did you see a 4x time difference when you tried
it?
15:52 -!- mephcpp [~sasha@86.104.57.133] has joined #go-nuts
15:53 -!- Jamra_ [~Jamra@93-172-79-106.bb.netvision.net.il] has joined #go-nuts
15:54 < mephcpp> hi, I've found in a test this expression: func TestReader(t
*testing.T) {
15:54 < mephcpp> testLoop:
15:54 < mephcpp> for i, test := range untarTests {
15:54 < mephcpp> what is testLoop?
15:54 < skelterjohn|work> it's a label for gotos
15:55 < skelterjohn|work> in this case it's probably for breaking out of an
outer loop
15:55 < mephcpp> ok..goto..  I forgot about them
15:55 < skelterjohn|work> if you have for { for { break } }
15:55 < skelterjohn|work> it will break the inner
15:55 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
15:55 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has quit [Ping timeout:
240 seconds]
15:55 < skelterjohn|work> if you have a label before the outer, you can do
"break testLoop"
15:55 < skelterjohn|work> and it will break the outer
15:55 < mephcpp> I see
15:55 < skelterjohn|work> beats adding an extra bool
15:55 < mephcpp> thanks
15:57 -!- katorga [~idr@g225021027.adsl.alicedsl.de] has joined #go-nuts
16:02 -!- Jamra [~Jamra@93-172-79-106.bb.netvision.net.il] has quit [Quit: Jamra]
16:06 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 260 seconds]
16:08 < f2f> skelterjohn|work: i saw close to 4x difference in the
non-parallel make as described above.  when some of the io was parallelized i saw
~1.5x to 2x speed difference.  i said 'comparable' above because i'm sure if io
was taken out of the equation the speed will be close
16:08 < f2f> note, however, that he is doing what rsc did in the video,
nothing more nothing less
16:10 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host
closed the connection]
16:14 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has quit
[Quit: allengeorge]
16:19 -!- mrsrikanth [~mrsrikant@59.92.36.47] has quit [Quit: Leaving]
16:22 -!- srikanth [~mrsrikant@59.92.36.47] has joined #go-nuts
16:24 -!- srikanth [~mrsrikant@59.92.36.47] has quit [Read error: Connection reset
by peer]
16:25 -!- mrsrikanth [~mrsrikant@59.92.36.47] has joined #go-nuts
16:25 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
joined #go-nuts
16:27 -!- a2800276 [~a2800276@node-clrwtif73qmetxl.camp.ccc.de] has joined
#go-nuts
16:33 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has
joined #go-nuts
16:39 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Operation
timed out]
16:40 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
16:43 -!- dfr|mac [~dfr|work@nat/google/x-dpdrawyxrjyoawts] has joined #go-nuts
16:43 -!- xulfer [~xulfer@ipv6.cheapbsd.net] has joined #go-nuts
16:44 -!- Argue [~Argue@112.201.133.68] has quit [Quit: Leaving]
17:03 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts
17:05 -!- Husio [husiatyn@oceanic.wsisiz.edu.pl] has quit [Ping timeout: 260
seconds]
17:05 -!- Husio [husiatyn@oceanic.wsisiz.edu.pl] has joined #go-nuts
17:06 -!- pjjw [klang@68.64.241.250] has quit [Read error: Operation timed out]
17:06 -!- erus`_ [~chatzilla@mailgate.ips-international.com] has joined #go-nuts
17:07 -!- pjjw [klang@68.64.241.250] has joined #go-nuts
17:09 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
quit [Ping timeout: 255 seconds]
17:15 -!- ancientlore_ [~ancientlo@12.54.6.218] has joined #go-nuts
17:15 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
17:16 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has joined #go-nuts
17:17 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts
17:17 -!- ancientlore [~ancientlo@12.54.6.218] has quit [Ping timeout: 264
seconds]
17:18 -!- ancientlore__ [~ancientlo@12.54.6.218] has joined #go-nuts
17:22 -!- noodles785 [~michael@g225133231.adsl.alicedsl.de] has joined #go-nuts
17:22 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has joined
#go-nuts
17:22 -!- ancientlore___ [~ancientlo@12.54.6.218] has joined #go-nuts
17:22 -!- ccc1 [~Adium@118-166-215-203.dynamic.hinet.net] has quit [Quit:
Leaving.]
17:22 -!- Husio_ [husiatyn@oceanic.wsisiz.edu.pl] has joined #go-nuts
17:24 -!- ancientlore__ [~ancientlo@12.54.6.218] has quit [Ping timeout: 250
seconds]
17:26 -!- Solak [~stijnw@cthia.xs4all.nl] has joined #go-nuts
17:27 -!- ancientlore_ [~ancientlo@12.54.6.218] has quit [Read error: Connection
reset by peer]
17:27 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 255
seconds]
17:27 -!- alehorst [~alehorst@201.47.21.29.dynamic.adsl.gvt.net.br] has quit [Ping
timeout: 255 seconds]
17:27 -!- pjm0616 [~user@114.200.203.101] has quit [Ping timeout: 255 seconds]
17:27 -!- mcfuzz [~tj1776@c-67-180-244-115.hsd1.ca.comcast.net] has quit [Ping
timeout: 255 seconds]
17:27 -!- tvw [~tv@212.79.9.150] has quit [Ping timeout: 255 seconds]
17:27 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 255 seconds]
17:27 -!- noselasd|2 [~kvirc@80.239.96.162] has joined #go-nuts
17:27 -!- Husio [husiatyn@oceanic.wsisiz.edu.pl] has quit [Ping timeout: 255
seconds]
17:27 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 255 seconds]
17:27 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
17:27 -!- noselasd [~kvirc@80.239.96.162] has quit [Ping timeout: 255 seconds]
17:27 -!- noselasd [~kvirc@80.239.96.162] has joined #go-nuts
17:27 -!- noselasd|2 [~kvirc@80.239.96.162] has quit [Ping timeout: 255 seconds]
17:30 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib]
17:31 -!- ancientlore___ [~ancientlo@12.54.6.218] has quit [Ping timeout: 250
seconds]
17:32 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
17:36 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts
17:38 -!- Netsplit *.net <-> *.split quits: tav, firwen, xulfer, cbeck,
flaguy48, tvw, noselasd
17:39 -!- Netsplit over, joins: tav
17:42 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #go-nuts
17:44 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
17:44 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-vxnizwpzbnzvuonm] has joined
#go-nuts
17:49 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
17:49 -!- arun_ [~arun@e71020.upc-e.chello.nl] has joined #go-nuts
17:49 -!- arun_ [~arun@e71020.upc-e.chello.nl] has quit [Changing host]
17:49 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
17:50 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
17:50 -!- xulfer [~xulfer@ipv6.cheapbsd.net] has joined #go-nuts
17:54 -!- alehorst [~alehorst@201.47.21.29.dynamic.adsl.gvt.net.br] has joined
#go-nuts
18:02 < erus`> skelterjohn you dont play wow do you?
18:03 < skelterjohn|work> I thought I had escaped...  it's been...  6 years
since I quit
18:03 -!- dustyw [~dustyw@c-98-247-248-194.hsd1.wa.comcast.net] has joined
#go-nuts
18:03 < skelterjohn|work> but I see that it was hopeless from the beginning
18:03 < skelterjohn|work> I guess I'll go buy the latest expansion
18:04 < erus`> nooo
18:04 < erus`> goto rehab
18:04 < skelterjohn|work> why do you ask?
18:07 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has quit [Read error:
Operation timed out]
18:08 -!- yogib [~yogib@dslb-178-009-075-037.pools.arcor-ip.net] has joined
#go-nuts
18:14 -!- TheMue [~FMueller@p5DDF6D06.dip.t-dialin.net] has joined #go-nuts
18:14 < erus`> saw u on reddit
18:15 < skelterjohn|work> did i say something about wow on reddit?
18:15 -!- moraes_ [~moraes@189.103.188.201] has joined #go-nuts
18:18 < skelterjohn|work> spose i did
18:20 < str1ngs> hmm skelterjohn|work nelf hunter?
18:21 < str1ngs> :P
18:24 -!- samuell [~samuel@student-244-206.eduroam.uu.se] has joined #go-nuts
18:25 < skelterjohn|work> nope
18:25 < str1ngs> you know you can have tauren paladins now.  pretty crazy
18:26 < exch> And here I thought gnome tanks were weird
18:26 < str1ngs> gnomes are fun, but sadly I never like alliance
18:31 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has quit [Ping timeout: 252
seconds]
18:35 -!- mrsrikanth [~mrsrikant@59.92.36.47] has quit [Quit: Leaving]
18:38 < qeed> well this is weird, i made a scratch app to test banthar
opengl using the exact same gl call from yesterday and got 60 fps, but i then
tried my opengl binding with the program and got 60 fps too
18:39 < qeed> i guess that slowness was from other code rather than
opengl....
18:43 -!- samuell [~samuel@student-244-206.eduroam.uu.se] has quit [Quit: Ex-Chat]
18:44 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving]
18:45 < skelterjohn|work> (not surprised)
18:45 < qeed> its weird cuz all the old program did was abstract some
operations in classes how can it make everything slower
18:46 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
18:49 < skelterjohn|work> it all depends on how often you do those
operations =p
18:50 < skelterjohn|work> simple code can take a lot of time if you stick it
in a for { } loop
18:50 -!- noodles785 [~michael@g225133231.adsl.alicedsl.de] has quit [Ping
timeout: 240 seconds]
18:50 < qeed> i commented that for run { } out ;P
18:50 < exch> This is why we profile stuff :)
18:51 < qeed> yeah it says most of the time is in runtime.futex
18:51 < qeed> not sure what that was
18:55 < aiju> runtime.futex is synchronization
18:55 < aiju> do you have like 1 jillion goroutines?
18:55 < qeed> no i didnt use any goroutines
18:56 < qeed> its just init; load image; make texture; loop()
19:03 < f2f> post the code & profile svg somewhere if the code isn't more
than a page.  it's always fun to look at profiles
19:06 -!- Sep102 [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has joined #go-nuts
19:07 -!- Sep102 [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has quit [Client
Quit]
19:08 -!- enferex [~enferex@users.757.org] has quit [Ping timeout: 240 seconds]
19:08 < qeed> http://pastie.org/2351931 http://pastie.org/2351989 thats the
code that runs slow
19:08 -!- enferex [~enferex@users.757.org] has joined #go-nuts
19:09 < qeed> http://pastie.org/2357232 heres the code i tested today that
runs 60 fps
19:09 < qeed> the old one went around ~10-15 fps
19:11 < aiju> hm
19:11 < aiju> there is no frame brake
19:12 -!- katorga [~idr@g225021027.adsl.alicedsl.de] has quit [Quit: leaving]
19:12 < aiju> qeed: don't forget to lock the OpenGL goroutine, btw
19:13 < skelterjohn|work> well, in one example we see the whole program, in
the second only a fragment
19:13 -!- tncardoso [~thiago@187.59.187.239] has joined #go-nuts
19:14 -!- huin [~huin@91.84.179.118] has joined #go-nuts
19:14 < qeed> well theres alot of files in the first one but those are just
thin abstraction
19:14 < qeed> like a matrix class or whatever
19:15 < qeed> heres main() for the first one http://pastie.org/2357271
19:16 < qeed> it just calls Gameloop() to start everything
19:16 -!- Halavanja [~chatzilla@mcswl207.mcs.anl.gov] has joined #go-nuts
19:17 < Halavanja> Can a mutex be used by itself to lock an area of code so
that calling routines from listen and serve have to wait?
19:18 < skelterjohn|work> qeed: it calls Gameloop(), but your old code had a
function gameloop() instead.  i'm not at all convinced this is the code you ran
19:18 < skelterjohn|work> Halavanja: i'm pretty sure that's the raison
d'etre for a mutex
19:18 < f2f> halavanja, i don't see why not.
19:18 < qeed> oh yeah i renamed it i pasted an semi old version just renamed
all the non class functons to lower case
19:19 < Halavanja> skelterjohn: yeah i don't really want to use it that way
but i basically have a global variable that is being used by each of the functions
of listen and serve
19:19 < Halavanja> I am just trying to find a way for the calling listen and
serve routines to wait until my update is complete without using sleep
19:21 -!- moraes_ [~moraes@189.103.188.201] has quit [Ping timeout: 246 seconds]
19:22 < Halavanja> So basically all it is doing is blowing up because the
mutex is not stopping the call
19:22 < skelterjohn|work> a mutex would work fine
19:22 < skelterjohn|work> then you're using it wrong
19:22 < skelterjohn|work> var m sync.Mutex ...  m.Lock(); stuffWithTheVar;
m.Unlock()
19:23 < Halavanja> that is how I am using it
19:23 < skelterjohn|work> is m a global as well?
19:23 < Halavanja> yes
19:23 < skelterjohn|work> then you're doing something else wrong - Go's
mutexes work fine
19:24 < Halavanja> is it wrong to have a global mutex inside an overloaded
(interface) function?
19:24 < skelterjohn|work> but i'd have to see the code to identify it
19:24 < Halavanja> okay give me a sec
19:24 < skelterjohn|work> i don't understand that last bit, completely
19:25 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
19:25 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 260 seconds]
19:26 < f2f> if you have one updater and many readers use sync.RWMutex
19:26 < f2f> halavanja, you're most likely making a copy of the mutex when
you pass it to the goroutines.  make sure you're passing a pointer to the original
19:27 < skelterjohn|work> good call, f2f
19:27 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
19:27 < f2f> every once in a while :)
19:28 -!- hargettp [~phil@dhcp-161.mirrorimage.net] has joined #go-nuts
19:28 < f2f> the zero value for a sync.Mutex is an unlocked mutex.  that's
passable by value.
19:29 < f2f> err, that was for Halavanja
19:29 < aiju> mutexes are dangerous
19:29 < aiju> it's rather easy to deadlock, as soon as two get involved
19:29 < skelterjohn|work> i think the plural should be mutices
19:29 < Halavanja> aiju: I am seeing that now
19:29 < Halavanja> http://pastebin.com/4s0wGkij
19:29 < aiju> skelterjohn|work: haha
19:29 -!- hargettp [~phil@dhcp-161.mirrorimage.net] has quit [Client Quit]
19:30 < Halavanja> there is the code that is calling it.
19:30 < Halavanja> sorry if its a bit terse
19:30 < skelterjohn|work> where is m initialized
19:30 < aiju> is there a latin word ending with -ex?
19:30 < aiju> Halavanja: just sync.Mutex
19:30 < aiju> not *sync.Mutex
19:30 < skelterjohn|work> it's unusual to have a global *Mutex
19:31 < Halavanja> skelterjohn: AH i didn't initilize it, i just declared
it.  i think because I would have set that up in my main
19:31 < skelterjohn|work> do what aiju said
19:31 < Halavanja> would a new work fine in this situation?
19:31 < skelterjohn|work> you don't need a pointer to a mutex
19:31 < skelterjohn|work> just the mutex itself
19:32 < skelterjohn|work> you won't have to change anything other than
deleting the "*"
19:32 < skelterjohn|work> aiju: or mux/muxi - that could work
19:32 < aiju> mux/muxi?
19:32 < aiju> Halavanja: a nice alternative to mutexes is sending closures
down a channel
19:32 < skelterjohn|work> instead of mutex/mutexes
19:33 < aiju> Halavanja: it's basically like SQL
19:33 < aiju> just instead of a special purpose language you have Go code
19:33 < str1ngs> mutants!
19:34 < aiju> i'm fine with mutexes
19:35 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
19:35 < aiju> mutekoi!
19:35 < Halavanja> aiju: that is an interesting idea but I'm not really sure
how closures work with channels to the listen and serve library
19:35 < aiju> Halavanja: libraries don't change the language
19:35 < skelterjohn|work> just remove the "*" - your code will work
19:35 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
19:35 < Halavanja> and it doesnt blow up anymore but I think I have a dead
lock.  And I have removed the *
19:35 < skelterjohn|work> or at least, it won't not work in the same way
19:36 < skelterjohn|work> line 77
19:36 < skelterjohn|work> you return without unlocking sometimes
19:36 < Halavanja> aiju: yeah, i realized that was stupid of me to say.
What i mean is I wasn't sure how the two interacted
19:36 < aiju> Halavanja: not sure what your gloal structure does
19:36 < aiju> you just have
19:36 < aiju> go func() { for f := range channel { f() } } ()
19:36 < aiju> somewhere
19:36 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
19:37 < skelterjohn|work> a nice way to make sure to unlock is "m.Lock();
defer m.Unlock()" and then go about your business
19:37 < aiju> skelterjohn|work: deadlock can occur from other situations
19:37 < skelterjohn|work> of course
19:37 < skelterjohn|work> but there is at least one situation that could
cause it to occur for the reason i stated, in his code
19:37 < f2f> Halavanja: what you've written illustrates quite well the
danger of mutexes.  you have a huge critical section, and, even worse, it is
unclear what the mutex is actually protecting.  it looks like it might be
"outletStatus", but that's not even referenced in the second critical section from
your code.
19:38 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
19:38 < f2f> you certainly don't need to have the Dial() code inside a
critical section for example.
19:38 < f2f> s/danger/dangers/ (for they are many)
19:39 < aiju> generally i avoid locks as long as it doesn't hurt performance
and/or simplicity too mcuh
19:39 < Halavanja> aiju: the global structure just stores an on and off
state for a power controller so that I can reference it when needed
19:39 < aiju> Halavanja: it's just a boolean?
19:40 < f2f> oh, and the 'return' on line 77 too :)
19:40 < aiju> use two channels and a select
19:41 < aiju> Halavanja:
http://phicode.de/view-mail.php?show=6f317ac0eb099cfcf3d7203b967198f3%40cirno.Speedport_W_722V_Typ_B
19:41 < Halavanja> f2f: I am trying to protect the outletStatus which is
just an small outlet simple database.  I don't want it to dial the telnet server
twice because I want all of the information from the first call to be completed
before the second.  In my tests it is shwoing that a call for "on" "off" "reboot"
is being eaten when someone calls "status"
19:41 < aiju> if i'm not mistaken about select syntax
19:42 < f2f> the canonical way of handling mutexes is to keep them close to
the data they're protecting: type Data struct { realData, m Mutex }.  then every
time you're accessing realData you do var.m.Lock(); update; var.m.Unlock()
19:42 < Halavanja> aiju: would I have this running in main, just waiting or
would I have to include it in the actual call?
19:42 < aiju> Halavanja: that bit runs in a separate go routine
19:42 < aiju> to update you write the new value to writechan
19:42 < aiju> to access it just read from readchan
19:42 < f2f> type ProtectedOutlet struct { outlet *OutletDB; m sync.Mutex }
19:43 < Halavanja> aiju: okay.  So it is constantly running and waiting for
input/output then.  Makes sense
19:43 < aiju> Halavanja: go scales well to thousands of bullshit goroutines
19:44 < aiju> the only cost of more goroutines is a bit of memory and longer
stack dumps :)
19:44 < Halavanja> f2f: Would this also stop it from chaning the loop I have
when the other goroutine spawned from two different listen and serve routines to
stop it from dialilng?
19:45 -!- erus`_ [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com]
has joined #go-nuts
19:45 < Halavanja> aiju: Yes that is a very good way to do it.  It would
definitely remove the mutexes.  And since this is a small load server effeicency
is not a major concern at all
19:45 -!- dfr|mac [~dfr|work@nat/google/x-dpdrawyxrjyoawts] has quit [Remote host
closed the connection]
19:46 < f2f> it's a global mutex.  it'll stop everything :)
19:46 < aiju> Halavanja: the only cost is the context switch between go
routines
19:46 < f2f> the way you have your outlet variable defined at the moment
19:47 < f2f> but listen to aiju.  it's easier with goroutines :)
19:47 < Halavanja> f2f: okay.  It seemed to be stopping when 2 different
routines were trying to access it.
19:49 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Ping
timeout: 276 seconds]
19:50 < Halavanja> aiju: are writechan and readchan global vars?
19:50 < aiju> Halavanja: you can also put them in the structure
19:51 < aiju> or some structure
19:51 < aiju> but yeah, they're basically gloal
19:51 < Halavanja> aiju: i think it would be better if it were in the
structure lol.
19:51 < aiju> it doesn't really matter as long as anyone who wants access
can access those
19:51 < Halavanja> aiju: so would that mean that the function itself would
have the signature of func(var *structVar) Listen() for the go routine?
19:52 < aiju> Halavanja: you can write "inline" goroutines
19:52 < Halavanja> or just listen()
19:52 < aiju> Halavanja: it doesn't matter too much
19:53 < Halavanja> okay.  since I'm new to using go routines (ive stayed
away from them up until now because i'm not strong on concurrency) i wanted to
make sure the function signature was correct
19:53 < aiju> you can use any function cal
19:54 < aiju> go foobar.MyUberComplicatedMethod(dum, di, dum, nil, 42)
19:54 < aiju> or use the inline variant go func() { ...  } ()
19:56 < Halavanja> aiju: okay its becoming clearer now
19:56 -!- sebastianskejoe [~sebastian@563455dd.rev.stofanet.dk] has joined
#go-nuts
19:56 < aiju> Halavanja: if you do a function call as an argument, it'll be
done immediately though
19:56 < aiju> go foo(bar()) is like x := bar(); go foo(x)
19:57 < Halavanja> aiju: yeah i was thinking of just having listen() called
in my main and having the channels pass data back and forth from my structure
19:57 < Halavanja> and listen() has no arguments
19:58 -!- alehorst [~alehorst@201.47.21.29.dynamic.adsl.gvt.net.br] has quit
[Quit: Leaving.]
20:00 -!- miker2 [~miker2@64.55.31.190] has quit [Ping timeout: 252 seconds]
20:02 -!- alehorst [~alehorst@201.47.21.29.dynamic.adsl.gvt.net.br] has joined
#go-nuts
20:07 -!- dRbiG [p@bofh.edu.pl] has quit [Ping timeout: 264 seconds]
20:07 -!- moraes_ [~moraes@189.103.188.201] has joined #go-nuts
20:08 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has quit
[Quit: Leaving]
20:09 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has joined #go-nuts
20:10 -!- sebastianskejoe [~sebastian@563455dd.rev.stofanet.dk] has quit [Quit:
leaving]
20:11 < dgnorton> skelterjohn|work: with gb ...  I'm not getting an exe on
Windows.  I can build the app manually and it runs.  I don't get any errors from
gb.  After gb runs I have "_go_.8" and a dir named "_obj".  What am I doing wrong?
20:12 < skelterjohn|work> what does "gb -s" say?  pastebin it
20:12 < dgnorton> ok
20:12 < skelterjohn|work> and i bet you have the command source in the same
directory as the package
20:12 < skelterjohn|work> but i'll wait for the gb scan output
20:13 < dgnorton> http://pastebin.com/HU0Z2VhH
20:13 < skelterjohn|work> pkg OCS.exe?  that is weird...
20:14 < skelterjohn|work> usually it only appends .exe onto commands...
20:14 < skelterjohn|work> probably a gb bug here :)
20:14 < skelterjohn|work> whta happens if you run gb from the src dir,
rather than src/OCS?
20:14 < dgnorton> skelterjohn|work: no, i create a target.gb
20:14 < dgnorton> created
20:14 < skelterjohn|work> oh i see
20:14 < skelterjohn|work> ok, that's not necessary
20:14 < skelterjohn|work> but i bet you have package source and command
source in the same directory
20:15 < dgnorton> all the source is in the same dir
20:15 < skelterjohn|work> one target per directory - that's the rule
20:15 < skelterjohn|work> there is at least one source file in there that
doesn't have package main
20:16 < skelterjohn|work> and by default gb uses it as the target for the
directory
20:16 < skelterjohn|work> is this making sense?
20:17 < dgnorton> no but that's because I'm new to this
20:17 < skelterjohn|work> pastebin the results of gb -L
20:17 < skelterjohn|work> and annotate each line with what package the file
is in
20:18 < f2f> gofmt needs a -pastebin option :)
20:20 < dgnorton> http://pastebin.com/LkvCWLYu
20:20 < skelterjohn|work> yikes - why 5 different packages?  :)
20:20 < dgnorton> dunno
20:20 < skelterjohn|work> it's a little weird, but not a problem in itself
20:21 < skelterjohn|work> to make this work as is, you need to make a new
directory for each of those packages except main, and put the corresponding source
in each
20:21 < skelterjohn|work> then gb should be able to build it all
20:21 < skelterjohn|work> also remove the target.gb file
20:21 < dgnorton> ok...but maybe the smarter thing is to move them all into
the ocs package
20:21 < dgnorton> all but the main
20:21 < skelterjohn|work> sure, but that's a design issue rather than a
build issue
20:22 < skelterjohn|work> and it's best to stick to one thing at a time
20:22 < dgnorton> right
20:22 < dgnorton> it's a small project ...  easy to put them in one package
20:23 < skelterjohn|work> and btw - when you do gb -L, the * before a file
name indicates that gb is not using that file to build that target
20:23 < dgnorton> ahh
20:23 < skelterjohn|work> so since it had to pick one package, it picked the
"order" package and ignored everything that didn't have "package order" at the top
20:24 < dgnorton> i understand
20:24 < dgnorton> gb is going to be pretty slick...once I figure out what
I'm doing :)
20:24 < skelterjohn|work> :)
20:25 < skelterjohn|work> the docs could probably be better
20:26 < dgnorton> well, I'm at work and get 10 minutes here and there to
fiddle with this so I didn't read as carefully as I should
20:26 < dgnorton> I remember reading the one target rule but it didn't sink
in
20:28 < moraes> hey.  care to explain me something simple.  why map is
initialize twice in the last snippet?  http://paste.pocoo.org/show/456848/
20:29 < skelterjohn|work> moraes: when i run it, it doesn't print anything
at all
20:30 < pharris> moraes: You pass in (a copy of) foo, so foo.bar isn't
visible in main()
20:30 < erus`> skelterjohn watch the video on my google+
20:30 < pharris> moraes: Change the receiver to (f *Foo)Add
20:30 < skelterjohn|work> which makes sense - it's initialized in the
NewFoo() func
20:30 < moraes> skelterjohn, code that prints is commented out
20:30 < moraes> you must comment first part, uncomment second
20:31 < moraes> (of main())
20:31 < skelterjohn|work> i see no comments at all
20:31 < skelterjohn|work> erus`: no video on this work computer
20:31 < f2f> i think Add is just being defensive
20:31 < erus`> :(
20:31 < moraes> sorry
20:31 < moraes> http://paste.pocoo.org/show/456849/
20:31 < f2f> in case it got called with a new(Foo) rather than NewFoo()
20:31 < moraes> skelterjohn, i pasted wrong url
20:31 < moraes> that one first works
20:32 < skelterjohn|work> right
20:32 < moraes> http://paste.pocoo.org/show/456848/ <--- perfectly fine
20:32 < skelterjohn|work> the issue is that go is kind of tricky abount
pointers
20:32 < skelterjohn|work> if you call.Add on a pointer, the f Foo you get in
the method is not a copy
20:32 < skelterjohn|work> if you call .Add() on a value, the f Foo you get
in the method is a copy
20:33 < moraes> aaah
20:33 < skelterjohn|work> i find this fairly confusing
20:33 < skelterjohn|work> but that's how it goes
20:33 < moraes> ok, but it makes it make sense
20:33 < skelterjohn|work> explains the behavior anyway
20:33 < moraes> yep.  tx.
20:33 < Kahvi> I find myself using pointers most of the time so I haven't
encountered that problem much.
20:34 < skelterjohn|work> alrighty, my summer intership is over so i'm
shutting down this computer
20:34 < skelterjohn|work> later yall
20:34 -!- skelterjohn|work [~jasmuth@dice.rutgers.edu] has quit [Quit: Terminated
with extreme prejudice - dircproxy 1.0.5]
20:34 < moraes> how abrupt
20:35 < moraes> :)
20:37 < f2f> hehe...
20:37 < f2f> who's going to answer go questions now?  :)
20:39 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
20:41 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
20:44 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Ping timeout:
258 seconds]
20:45 < qeed> wow, i tracked down what it was, teximage2D wanted 0 for image
border x|
20:46 < aiju> qeed: gl image borders are fucking rocket science
20:46 < Halavanja> so I just have to say that goroutines actually just
solved my entire problem.  I literally put go in front of the function that i was
calling and BAM it just works
20:46 < Halavanja> That is super awesome
20:46 -!- mephcpp [~sasha@86.104.57.133] has quit [Remote host closed the
connection]
20:46 < Halavanja> its so much faster now!
20:48 < f2f> :)
20:48 < qeed> ah i see it now, adding 1 pixel make the whole damn image not
a power of 2
20:49 < qeed> so the image was a power of 2, then i turned border on it
becomes 513, and i lose all my speed x(
20:51 < qeed> that was a waste 2 days
20:54 -!- Fish- [~Fish@9fans.fr] has quit [Quit: WeeChat 0.3.5]
20:56 -!- kevlar__work [~kevlar@nat/google/x-mobdnuujcoktjmhm] has joined #go-nuts
20:56 -!- kevlar__work [~kevlar@nat/google/x-mobdnuujcoktjmhm] has quit [Read
error: Connection reset by peer]
20:56 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
21:00 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.]
21:03 -!- virtualsue
[~chatzilla@cpc5-haye15-0-0-cust140.haye.cable.virginmedia.com] has joined
#go-nuts
21:07 -!- Jamra [~Jamra@93-173-58-72.bb.netvision.net.il] has joined #go-nuts
21:14 -!- huin [~huin@91.84.179.118] has quit [Quit: bedtime]
21:15 -!- Solak [~stijnw@cthia.xs4all.nl] has quit [Remote host closed the
connection]
21:17 -!- TheMue [~FMueller@p5DDF6D06.dip.t-dialin.net] has quit [Quit: leaving]
21:19 -!- tvw [~tv@e176009065.adsl.alicedsl.de] has joined #go-nuts
21:21 < moraes> pharris was right, changing receiver to func (f *Foo) Add()
{ } would work too
21:23 < Halavanja> thanks again guys.  I'll be back tomorrow probably haha.
Great channel
21:23 -!- Halavanja [~chatzilla@mcswl207.mcs.anl.gov] has quit [Quit: ChatZilla
0.9.87 [Firefox 5.0/20110622232440]]
21:24 < f2f> anl, eh?  didn't know they allowed irc ;)
21:26 -!- photron [~photron@port-92-201-20-158.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
21:27 < nicka> qeed: are you the one who was getting 15fps drawing a quad?
21:28 < qeed> yeah
21:28 < nicka> are you on very old hardware?
21:28 < qeed> no but i have an intel card
21:28 < nicka> old/intel
21:29 < nicka> how much was the speedup?
21:29 < qeed> well intel forces vsync so i get 60 fps
21:30 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
21:30 -!- yogib [~yogib@dslb-178-009-075-037.pools.arcor-ip.net] has quit [Quit:
yogib]
21:30 < nicka> you can't disable it?
21:30 < qeed> i probably can though i dont want to muck with x configuration
i just let X figure out the hardware
21:30 < qeed> 60 fps is fine
21:31 -!- Jamra_ [~Jamra@93-173-142-9.bb.netvision.net.il] has joined #go-nuts
21:33 -!- Jamra [~Jamra@93-173-58-72.bb.netvision.net.il] has quit [Ping timeout:
250 seconds]
21:43 -!- tncardoso [~thiago@187.59.187.239] has quit [Ping timeout: 250 seconds]
21:43 -!- wrtp [~rog@host-92-30-134-53.as13285.net] has quit [Quit: wrtp]
21:46 -!- Jamra [~Jamra@93-173-142-9.bb.netvision.net.il] has quit [Quit: Jamra]
21:51 -!- virtualsue
[~chatzilla@cpc5-haye15-0-0-cust140.haye.cable.virginmedia.com] has quit [Ping
timeout: 250 seconds]
21:51 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Quit: Lost terminal]
21:57 -!- Nisstyre [~nisstyre@infocalypse-net.info] has joined #go-nuts
22:02 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
22:08 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has joined
#go-nuts
22:11 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
22:17 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 260 seconds]
22:19 < erus`> 120fps or gtfo
22:20 < erus`> 60 fps in each eye :P
22:23 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
22:23 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
22:24 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Read error:
Connection reset by peer]
22:29 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Operation timed
out]
22:29 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
joined #go-nuts
22:40 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
22:43 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has quit [Quit:
Leaving]
22:54 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #go-nuts
22:55 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit:
WeeChat 0.3.4]
23:01 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
quit [Quit: ChatZilla 0.9.87 [Firefox 5.0.1/20110707182747]]
23:13 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
23:15 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 252
seconds]
23:15 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Quit:
Leaving]
23:17 -!- franciscosouza [~francisco@187.105.21.97] has quit [Client Quit]
23:22 -!- snorkel_cs2 [~snorkel@rrcs-74-218-231-11.se.biz.rr.com] has joined
#go-nuts
23:23 < snorkel_cs2> skelterjohn: thanks for your help with gb earlier.  It
was a piece of cake to rearrange the packages and get it building once I
understood how it works.
23:24 -!- snorkel_cs2 [~snorkel@rrcs-74-218-231-11.se.biz.rr.com] has quit [Client
Quit]
23:24 -!- dgnorton2 [~snorkel@rrcs-74-218-231-11.se.biz.rr.com] has joined
#go-nuts
23:27 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Read error: Connection reset by peer]
23:31 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
quit [Quit: Leaving...]
23:31 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error:
Operation timed out]
23:34 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
23:35 -!- nekoh [~nekoh@dslb-088-069-158-233.pools.arcor-ip.net] has quit [Quit:
nekoh]
23:44 -!- sjbrown [~sjbrown@c-98-210-195-242.hsd1.ca.comcast.net] has joined
#go-nuts
23:46 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
23:53 -!- hargettp [~hargettp@pool-71-184-177-187.bstnma.east.verizon.net] has
joined #go-nuts
23:55 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
23:56 -!- vmil86 [~vmil86@88.118.36.96] has quit [Ping timeout: 276 seconds]
23:57 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
--- Log closed Fri Aug 12 00:00:20 2011