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

--- Log opened Mon Jun 20 00:00:53 2011
00:06 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:08 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:08 -!- sacho [~sacho@87-126-43-140.btc-net.bg] has joined #go-nuts
00:10 -!- info [~indux@host192.190-231-211.telecom.net.ar] has quit []
00:23 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
00:23 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 240 seconds]
00:26 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:28 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:30 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has joined
#go-nuts
00:32 -!- HaikuUser [~vision@189.59.237.201] has quit [Quit:
Vision[0.9.7-H-090423]: i've been blurred!]
00:39 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has quit
[Quit: pvarga]
00:43 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has joined #go-nuts
00:46 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:48 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:00 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
01:05 -!- zhaozhou [~zhaozhou@linfast76.bitnet.nu] has quit [Ping timeout: 260
seconds]
01:06 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts
01:06 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:08 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:14 -!- dreadlorde [~dreadlord@c-68-40-138-2.hsd1.mi.comcast.net] has joined
#go-nuts
01:19 -!- mikespook [~mikespook@219.137.234.17] has joined #go-nuts
01:22 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving]
01:26 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:28 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:31 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
01:46 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:48 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:51 -!- anticw [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has quit [Read
error: Operation timed out]
02:06 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:08 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:09 -!- anticw [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has joined #go-nuts
02:10 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has joined #go-nuts
02:26 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:28 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:28 < exch> im guesing its necessary on occasion when you need to make
hardware do stuff it really wasnt meant to do.  Pushing the boundaries is not
required to be pretty :p
02:32 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has joined #go-nuts
02:32 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Read error:
Operation timed out]
02:34 -!- Kai- [~kmallea@ool-45793895.dyn.optonline.net] has joined #go-nuts
02:35 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has quit [Read
error: Connection reset by peer]
02:36 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has joined #go-nuts
02:37 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has quit [Read
error: Connection reset by peer]
02:38 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has joined #go-nuts
02:44 -!- Kai- [~kmallea@ool-45793895.dyn.optonline.net] has quit [Quit:
Leaving...]
02:45 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has quit [Read
error: Connection reset by peer]
02:46 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has joined #go-nuts
02:46 -!- dreadlorde [~dreadlord@c-68-40-138-2.hsd1.mi.comcast.net] has quit [Ping
timeout: 258 seconds]
02:46 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:48 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:48 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit
[Read error: Connection reset by peer]
02:49 -!- adu [~ajr@pool-173-66-6-81.washdc.fios.verizon.net] has quit [Client
Quit]
02:50 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has joined
#go-nuts
02:53 < vsmatck> I'm looking forward to rage.  I may install windows for
that.
02:54 < vsmatck> Actually thinking of installing windows for alice.  Gah.  I
love games.
02:55 < chomp> rage does look pretty amazing
02:56 < vsmatck> Rage getting delayed because Id's parent company doesn't
want it competing with some other title they're releasing.  Id also not licensing
game engines anymore.  Seems strange.
02:57 < vsmatck> I wonder if they'll still GPL game engines.
03:00 -!- tgall_foo [~tgall@linaro/tgall-foo] has quit [Read error: Connection
reset by peer]
03:03 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
03:06 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:10 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error:
Operation timed out]
03:12 -!- nogwater [~Adium@cpe-76-172-223-245.socal.res.rr.com] has left #go-nuts
[]
03:14 -!- bmizerany [~bmizerany@c-69-181-106-229.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
03:17 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
03:33 -!- bmizerany [~bmizerany@c-69-181-106-229.hsd1.ca.comcast.net] has joined
#go-nuts
03:33 -!- bmizerany [~bmizerany@c-69-181-106-229.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
03:34 -!- go_epsilon_go [~chacho@187-177-232-145.dynamic.axtel.net] has quit [Read
error: Connection reset by peer]
03:50 -!- danilo04 [~danilo04@66.44.228.140] has joined #go-nuts
03:51 -!- adu [~ajr@pool-173-66-6-159.washdc.fios.verizon.net] has joined #go-nuts
03:53 -!- danilo04 [~danilo04@66.44.228.140] has quit [Client Quit]
03:57 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
03:59 -!- chomp [~chomp@c-67-186-35-69.hsd1.pa.comcast.net] has quit [Quit:
Leaving]
04:00 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts
04:05 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
04:08 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:08 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:16 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
04:19 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
04:26 -!- powerje [~heathen@li110-138.members.linode.com] has joined #go-nuts
04:35 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
04:36 -!- adu [~ajr@pool-173-66-6-159.washdc.fios.verizon.net] has quit [Quit:
adu]
04:43 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
04:49 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
04:54 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts
04:57 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
05:03 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 246 seconds]
05:04 -!- Sep102 [~Sep102@c-71-227-179-131.hsd1.wa.comcast.net] has quit [Read
error: Connection reset by peer]
05:05 -!- Sep102 [~Sep102@c-71-227-179-131.hsd1.wa.comcast.net] has joined
#go-nuts
05:30 -!- benjack1 [~benjack@bb121-6-49-120.singnet.com.sg] has joined #go-nuts
05:33 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has quit [Ping timeout:
250 seconds]
05:34 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 252
seconds]
05:36 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
05:41 -!- ronnyy [~quassel@p4FF1C536.dip0.t-ipconnect.de] has joined #go-nuts
05:41 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
05:48 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts
05:57 -!- legumbre_ [~leo@r190-135-12-151.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
05:59 -!- legumbre [~leo@r190-135-34-109.dialup.adsl.anteldata.net.uy] has quit
[Ping timeout: 252 seconds]
06:04 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts
06:11 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 250 seconds]
06:12 -!- noodles775 [~michael@g225071172.adsl.alicedsl.de] has joined #go-nuts
06:12 -!- noodles775 [~michael@g225071172.adsl.alicedsl.de] has quit [Changing
host]
06:12 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
06:15 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
06:18 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
06:22 -!- Project_2501 [~Marvin@82.84.81.120] has joined #go-nuts
06:27 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
06:28 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:31 < exch> Anyone who has experience with setting up windows using
xlib/xcb?  Can I force X to give me a pixel format other than 24 bit RGB?  I could
really do with an alpha channel
06:32 < message144> Hi, is web.go a good Go web framework to start with?
06:35 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds]
06:41 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
06:48 <@adg> message144: I don't think so, personally.  The Go http package
provides a lot of the same functionality
06:48 < message144> adg, ok..  is that one more commonly used?
06:49 <@adg> message144: yeah, it's part of the Go standard library
06:49 < message144> adg, ok, i will try it..  thank you
06:49 <@adg> message144: we support it and actively work on it
06:49 <@adg> message144: http://golang.org/doc/codelab/wiki/
06:49 < message144> adg, oh that is perfect.  thanks
06:50 < exch> web.go abstracts way too much of the useful bits for my taste.
Go's http package keeps it simple, but effective
06:50 < message144> this is a strange question, but is web dev in Go a bad
idea?
06:50 < message144> heh
06:50 < taruti> no
06:50 < exch> not at all
06:50 <@adg> message144: no, i love writing web stuff in go
06:50 < message144> ok, i was hoping to hear that :)
06:50 <@adg> message144: see also http://www.youtube.com/watch?v=2-pPAvqyluI
06:52 < exch> I thought I'd just go ahead and port the procedural drawing
tool 'harmony' to Go/Xgb..  It was easy to do in Go/opengl, but the limitations
and low level nature of xlib make this a formidable challenge.
http://img.jteeuwen.nl/index.php/software/wut-786831995
06:53 -!- photron [~photron@port-92-201-3-138.dynamic.qsc.de] has joined #go-nuts
06:53 < exch> the drawing is mighty fast at the moment.  I've come up with
plenty of optimizations, but the lack of alpha channel supportis proving hard to
work around.  The brush effects rely heavily on it
06:53 -!- ronnyy [~quassel@p4FF1C536.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
06:54 < exch> I'm thinking I can do some colour interpolation magic to
simulate transparency.  But that requires per-pixel graphics context switches
06:55 -!- eimantas [~eimantas@78-60-134-80.static.zebra.lt] has joined #go-nuts
06:55 -!- eimantas [~eimantas@78-60-134-80.static.zebra.lt] has quit [Client Quit]
06:56 < exch> I realize I could also just draw to a lrage image and upload
that to X as required.  But to be honest, I think that's cheating
06:56 < exch> besides, that would still not solve the alpha channel issue
06:57 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-173-21.clienti.tiscali.it] has
joined #go-nuts
06:59 -!- Project_2501 [~Marvin@82.84.81.120] has quit [Ping timeout: 240 seconds]
07:00 -!- benjack1 [~benjack@bb121-6-49-120.singnet.com.sg] has quit [Quit:
Leaving.]
07:00 < vsmatck> Put some work in to the website this weekend.
http://dyfora.com/
07:00 < vsmatck> Looks less fugly now.
07:01 < exch> better
07:03 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
07:03 < vsmatck> :)
07:04 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has left #go-nuts []
07:09 -!- Fish- [~Fish@coss6.exosec.net] has quit [Quit: So Long, and Thanks for
All the Fish]
07:11 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
07:20 -!- GeertJohan [~Squarc@clal-1-25.eduroam.inholland.nl] has joined #go-nuts
07:21 -!- mikespook [~mikespook@219.137.234.17] has quit [Remote host closed the
connection]
07:21 < message144> Just curious, in Go, what is the type of nil ?
07:22 < exch> that depends on the value you assign it to.  It always
represents the nil or zero value for a given type
07:23 < exch> for integers that's 0, for a slice that's []T with 0 length
and 0 capacity.  For a map it's an uninitialized version of said map
07:23 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping
timeout: 260 seconds]
07:23 < exch> incidentally, a nil slice is still a valid slice and can be
used in slice operations without worrying about nil reference errors or other
bizar stuff
07:24 < message144> exch, ok, make sense.  thanks
07:24 < exch> That won't work for a map or channel though, since it has to
be make()'d
07:25 < message144> ok
07:39 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
07:41 -!- fvbommel [~fvbommel_@131.155.71.133] has joined #go-nuts
07:47 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 246 seconds]
07:48 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
07:49 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:53 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit
[Read error: Connection reset by peer]
07:54 -!- GeertJohan [~Squarc@clal-1-25.eduroam.inholland.nl] has quit [Remote
host closed the connection]
07:54 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has joined
#go-nuts
07:56 -!- ccmtaylor [ctaylor@h-213.61.231.85.host.de.colt.net] has joined #go-nuts
07:59 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has joined
#go-nuts
08:07 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has quit [Quit:
leaving]
08:11 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has joined #go-nuts
08:12 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
08:21 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has joined #go-nuts
08:22 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has quit
[Quit: allengeorge]
08:32 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has quit [Quit: dfc]
08:45 -!- message144 [~message14@cpe-75-83-155-145.socal.res.rr.com] has quit
[Quit: gone]
08:47 -!- ctimmerm [~ctimmerm@83.150.80.193] has joined #go-nuts
08:50 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit
[Read error: Connection reset by peer]
08:51 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has joined #go-nuts
08:51 -!- iant [~iant@ip-62-105-190-81.dsl.twang.net] has quit [Quit: Leaving.]
08:52 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has joined
#go-nuts
08:52 < kfmfe04> hi - noobie question - I have a static variable as in int
foo() { static int x=999; return x; } - how do I translate this to Go? I suspect
that I need to use a different paradigm, but I can't seem to find any examples -
TIA
08:53 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
08:54 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
08:55 < kfmfe04> hmm...  ...looks like maybe I should use the init()
function for a package in conjunction with some kind of package level variable?
08:57 < vegai> it's not exactly the same, but yeah, if you can live with
that
08:57 < vegai> I wonder if go's closures work in a way that could be used
here
08:59 < kfmfe04> essentially, I'm looking for a singleton that I can
initialize once per program run - lemme try and see if it works - btw, what is the
hashmap or map class for Go?
08:59 < vegai> map is an internal datastructure
08:59 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 246
seconds]
08:59 < vegai> http://golang.org/doc/effective_go.html#maps
09:00 < kfmfe04> ty!
09:00 < kfmfe04> no wonder I couldn't find it - thought it was in a package
- nice that they stuck it in the language
09:07 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-160-134.clienti.tiscali.it] has
joined #go-nuts
09:09 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
09:10 < vegai> I guess
09:10 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-173-21.clienti.tiscali.it] has
quit [Ping timeout: 276 seconds]
09:12 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
09:14 -!- piranha [~piranha@93.189.143.198] has joined #go-nuts
09:15 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has quit [Quit:
kfmfe04]
09:16 -!- pothos [~pothos@111-240-175-71.dynamic.hinet.net] has joined #go-nuts
09:17 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 240
seconds]
09:23 -!- piranha [~piranha@93.189.143.198] has quit [Ping timeout: 240 seconds]
09:23 -!- piranha [~piranha@93.189.143.198] has joined #go-nuts
09:36 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
09:38 -!- piranha [~piranha@93.189.143.198] has quit [Quit: Computer has gone to
sleep.]
09:41 -!- leczb [~leczb@nat/google/x-dcdsdsuzqbxbkabh] has joined #go-nuts
09:41 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 255
seconds]
09:45 -!- leczb [~leczb@nat/google/x-dcdsdsuzqbxbkabh] has left #go-nuts []
09:45 -!- virtualsue [~chatzilla@nat/cisco/x-phaozggwqdalmjhb] has joined #go-nuts
09:52 -!- clip9_ [clip9@er.en.svarteper.com] has quit [Quit: brb]
09:52 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
09:53 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
09:55 -!- ctimmerm [~ctimmerm@83.150.80.193] has quit [Quit: ctimmerm]
09:56 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
10:05 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has joined #go-nuts
10:09 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has quit [Client Quit]
10:10 -!- xyproto [~alexander@77.40.159.131] has quit [Quit: WeeChat 0.3.5]
10:21 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
10:34 -!- alehorst [~alehorst@177.40.37.93] has joined #go-nuts
10:37 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
10:40 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has joined #go-nuts
10:42 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252
seconds]
10:51 -!- kfmfe04 [~kfmfe04@219.91.121.237] has joined #go-nuts
10:53 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
10:55 -!- tav_ [~tav@2.96.33.22] has joined #go-nuts
10:58 -!- tav [~tav@2.96.33.22] has quit [Ping timeout: 255 seconds]
10:58 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
11:00 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
11:04 -!- Ekspluati [5b98bd5e@gateway/web/freenode/ip.91.152.189.94] has joined
#go-nuts
11:07 -!- ccmtaylor_ [~ctaylor@vpn12.sjc.collab.net] has joined #go-nuts
11:10 -!- ccmtaylor [ctaylor@h-213.61.231.85.host.de.colt.net] has quit [Ping
timeout: 255 seconds]
11:14 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 240 seconds]
11:17 -!- noodles775 [~michael@g229203233.adsl.alicedsl.de] has joined #go-nuts
11:17 -!- noodles775 [~michael@g229203233.adsl.alicedsl.de] has quit [Changing
host]
11:17 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
11:21 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
11:21 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
11:27 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
11:34 -!- sacho [~sacho@87-126-43-140.btc-net.bg] has quit [Read error: Connection
reset by peer]
11:36 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has quit [Ping
timeout: 276 seconds]
11:38 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
11:42 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has quit [Quit: dfc]
11:45 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined
#go-nuts
11:47 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has joined #go-nuts
11:47 -!- fvbommel [~fvbommel_@131.155.71.133] has quit [Ping timeout: 240
seconds]
11:47 -!- Project-2501 [~Marvin@82.84.90.203] has joined #go-nuts
11:48 < angasule> game code...  yuck!
11:50 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-160-134.clienti.tiscali.it] has
quit [Ping timeout: 258 seconds]
11:52 -!- va3atc [~va3atc@205.211.141.177] has joined #go-nuts
11:53 < TheMueCloud> re
11:54 < angasule> does anyone have a link handy about the problems generics
cause for the parser, compiler, runtime, etc?  I'm googling and searching old
emails from the list, but I'm not finding anything conclusive
11:54 < angasule> I need more coffee :/
11:58 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 260
seconds]
11:59 -!- fvbommel [~fvbommel_@131.155.244.145] has joined #go-nuts
12:00 < uriel> angasule: all those are secondary, the problem is what they
do to the rest of the language
12:01 -!- adlan [~adlan@118.100.176.235] has joined #go-nuts
12:01 < uriel> angasule: there are tons of discussions on the topic in the
list, nobody has proposed something that is good enough
12:01 < uriel> angasule: also, few people who actually write Go code feel
much need for generics
12:01 < angasule> uriel: I'm curious anyway, frankly other than avoiding
unboxing in a container, I don't see a need, so my question is a bit OT, I guess
12:02 -!- va3atc [~va3atc@205.211.141.177] has quit []
12:03 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
12:03 < angasule> I've been discussing languages at work and I don't know
generics in languages other than C++ (C is for copy, that's good enough for me :-)
12:03 < TheMueCloud> yep, I definitely don't miss them.  and only for
containers?  no, please.  here I prefer adding according methods to types I define
like []*User or map[string]*Foo or like that.
12:05 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
12:06 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
12:06 -!- fvbommel [~fvbommel_@131.155.244.145] has quit [Ping timeout: 264
seconds]
12:06 -!- elathan [~elathan@139.91.70.37] has joined #go-nuts
12:07 < elathan> Hi! I am looking for an example on how to use the
'container/list' package.  Any ideas?
12:07 < aiju> don't ;P
12:08 < TheMueCloud> hehe, yep,just use slices
12:08 < aiju> slices are not lists
12:08 < aiju> but lists are easily hand crafter
12:08 < uriel> elathan: use a slice
12:08 < uriel> bleh, good to see I have been double-beatten :)
12:09 < elathan> uriel: but I have to define an array with a fixed size
before using the slice, right?
12:09 < TheMueCloud> elathan: nope
12:10 < elathan> TheMueCloud: I thought slices operate on a range over an
already allocated array.
12:10 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 240
seconds]
12:10 < uriel> append() is your friend
12:10 < elathan> uriel: ok, I hope it's fast..
12:11 < uriel> elathan: how do you think lists are implemented in any
language
12:11 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 276 seconds]
12:11 < elathan> uriel: true, fair enought.
12:11 < uriel> (well, you could have linked lists, but that would not be
faster for most operations, obviously)
12:11 < angasule> uriel: pointers?  :)
12:12 < angasule> uriel: insertion?  :P
12:12 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
12:12 < aiju> linked lists are faster for one case
12:12 < aiju> and arrays for another
12:12 < uriel> angasule: well, pretty much all languages are written in C,
an in C pointers and arrays are almost equivalent ;P
12:12 < aiju> if you want fast appending / deleting and need no random
access, go with a liist
12:12 < angasule> uriel: I meant pointers as in linked lists
12:12 < uriel> (just playing around with the terminology, I know what you
mean and you are obviously right, as I said, some languages might use linked lists
by default, but it is rare IMHO)
12:12 < aiju> -i
12:13 < TheMueCloud> elathan: You could start with mySlice := []int{} and
then mySlice := append(mySlice, 4711)
12:13 * angasule spanks uriel
12:13 < aiju> uriel: LISP, Prolog etc ;P
12:13 < aiju> linked lists are trivial to write in Go
12:13 < uriel> aiju: yea, languages nobody uses ;P
12:13 < uriel> aiju: that too
12:13 < aiju> composite literals make it very easy
12:13 < elathan> TheMueCloud: thanks!
12:17 < angasule> well, off to work or something
12:23 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has joined #go-nuts
12:24 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 246 seconds]
12:35 -!- xyproto [~alexander@77.40.159.131] has joined #go-nuts
12:35 -!- Lockal [~Lockal@wikipedia/Lockal] has joined #go-nuts
12:36 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
12:37 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has quit [Ping
timeout: 264 seconds]
12:41 -!- piranha [~piranha@93.189.143.199] has quit [Read error: Connection reset
by peer]
12:41 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
12:41 -!- Ekspluati [5b98bd5e@gateway/web/freenode/ip.91.152.189.94] has quit
[Ping timeout: 252 seconds]
12:43 < Lockal> hi everyone.  Is syntax "type Empty {}" considered obsolete?
Gopatterns advise to use this type for parallel loops, but gccgo says "...:12:
error: expected type"
12:44 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
12:53 -!- piranha_ [~piranha@93.189.143.199] has joined #go-nuts
12:53 -!- piranha [~piranha@93.189.143.199] has quit [Read error: Connection reset
by peer]
12:56 < Lockal> btw gcc version 4.7.0 2011-04-09 rev.  172225
12:57 -!- piranha_ [~piranha@93.189.143.199] has quit [Read error: Connection
reset by peer]
12:57 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
13:07 -!- fvbommel [~fvbommel_@131.155.245.127] has joined #go-nuts
13:08 < pharris> Lockal: Looks like a syntax error to me, too.  Did you mean
"type Empty struct {}" ?
13:09 -!- Ekspluati [5b98bd5e@gateway/web/freenode/ip.91.152.189.94] has joined
#go-nuts
13:12 -!- piranha [~piranha@93.189.143.199] has quit [Ping timeout: 260 seconds]
13:12 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
13:13 < Lockal> pharris, thanks, it works now.  Looks like gopatterns
articles are 2 years old and not valid now
13:14 < kfmfe04> If I want to create a package mylib/io , how do I
disambiguate between mylib/io and the standard io package?  it seems like the
package statement has no room for mylib (even though I can specify import
"mylib/io")...
13:15 < str1ngs> import myio "mylib/io"
13:15 < str1ngs> something like that
13:15 < kfmfe04> yes, import is ok - but what about the package statement?
13:16 < str1ngs> you mean like io.Copy?
13:16 < str1ngs> you would use myio.Copy if that's what you mean
13:16 -!- foocraft [~ewanas@178.152.115.82] has quit [Quit: So long, and thanks
for all the fish!]
13:16 -!- fvbommel [~fvbommel_@131.155.245.127] has quit [Ping timeout: 276
seconds]
13:18 < kfmfe04> ok - lemme put it another way, how do you arrange the file
structure for io/ioutil?  I only see package ioutil in the source file, with no
mention of io...  ...ultimately, I want to create a mylib/io (hmm...  ...maybe I
can find io/ioutil in the sources)
13:18 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
13:19 < kfmfe04> ok - I found io/ioutil in the sources - I will try to
follow its structure and see if I can build properly
13:20 -!- adlan [~adlan@118.100.176.235] has quit [Remote host closed the
connection]
13:21 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 260
seconds]
13:21 < kfmfe04> ah - simpler than I thought - TARG=mylib/io in the Makefile
seems to work fine
13:22 < kfmfe04> gotta love open source
13:22 < str1ngs> ok I did not realy your question right so sorry if I
confused you
13:22 < str1ngs> read*
13:23 < kfmfe04> np - I wasn't clear - ty for your quick response :)
13:24 < kfmfe04> I'm starting to port some C++ code to Go - seems like a
good way to learn as I go
13:24 < kfmfe04> porting a DateTIme class atm
13:24 -!- ronnyy [~quassel@p4FF1C536.dip0.t-ipconnect.de] has joined #go-nuts
13:25 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has joined
#go-nuts
13:26 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
13:26 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
13:27 -!- sacho [~sacho@87-126-43-140.btc-net.bg] has joined #go-nuts
13:28 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping
timeout: 260 seconds]
13:32 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
13:33 -!- niemeyer [~niemeyer@187.53.255.234] has joined #go-nuts
13:36 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 260 seconds]
13:37 < uriel> kfmfe04: porting code is a *bad* way to learn a new language
13:38 < uriel> it ensures that you carry with you all kinds of conceptual
and irrelevant baggage from the old language when you approach how to solve
problems in the new language
13:38 < kfmfe04> well, I am translating C++ paradigms into Go paradigms as
much as I can
13:38 < TheMueCloud> uriel: +1
13:38 < kfmfe04> I need something practical to do without having to think
too much about designing something totally new
13:38 < uriel> kfmfe04: which is precisely the wrong way to go about it,
given that paradigms don't map
13:38 < kfmfe04> agreed
13:39 < TheMueCloud> kfmfe04: Go follows a different paradigm, mostly with
goroutines, channels and interfaces as important language features
13:39 < aiju> "well, I am translating fascism paradigms into democracy
paradigms as much as I can"
13:39 < kfmfe04> yup - I intend to replace pthreads with channels as much as
possible
13:39 -!- ronnyy [~quassel@p4FF1C536.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
13:39 < kfmfe04> I feel it's better to port a "real program" than some
mickey-mouse example - I can better test the limits of Go that way
13:39 < TheMueCloud> kfmfe04: but maybe you can't replace, instead you would
have to rdesign
13:40 < kfmfe04> yup - I will redesign as needed
13:40 < TheMueCloud> kfmfe04: no, you just test the limits of portability,
but not of the lang
13:40 < kfmfe04> already throwing out tons of code by switching from C++ to
Go - about 4 to 1 LOC
13:41 -!- mkb218 [~mkb@pool-96-233-4-238.bstnma.east.verizon.net] has joined
#go-nuts
13:41 < kfmfe04> well, you can play around with semantics as much as you
like - right now, my biggest concern is the GC - as I have a realtime app that
can't suffer too much latency - we'll see if it works out in Go
13:42 < kfmfe04> if the GC cleans up at the wrong time, I could be screwed
(one reason I took C++ over Java initially)
13:42 -!- elathan [~elathan@139.91.70.37] has quit [Quit: elathan]
13:42 < aiju> realtime app which can suffer any latency is no realtime app
13:42 < aiju> and Go is probably not a good choice for RT
13:42 < kfmfe04> so bad idea to do realtime in Go?
13:42 < aiju> but define realtime
13:42 < aiju> if you just mean "fast shit", then Go is fine
13:43 < kfmfe04> reading from socket, latency of probably 100-200ms ok
13:43 < kfmfe04> I suspect Go will be sufficient
13:43 < kfmfe04> I chunk my data as much as possible so less work for GC
13:44 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
13:44 < uriel> TheMueCloud: plus Go 'interfaces' are quite different from
how you do interfaces in C++, so just because both have the same 'feature' it
doesn't mean trying to map one to the other makes any sense
13:44 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252
seconds]
13:44 < uriel> 13:40 < kfmfe04> yup - I will redesign as needed
13:44 < uriel> this is again a bad idea
13:45 < kfmfe04> so what do you suggest?  I do mickey-mouse projects?
13:45 < uriel> because you start with something that was designed for a very
different language
13:45 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 258 seconds]
13:45 < uriel> kfmfe04: there are all kinds of projects you can do without
porting from another language, uhu?
13:45 < TheMueCloud> uriel: yep, I really like them, a powerful instrument
13:45 < kfmfe04> I believe all programmers should be as agnostic as possible
and adapt to a new language as needed
13:46 < kfmfe04> I could abstract my project outward and then port, but I
don't find that necessary, so far
13:46 < aiju> you believe that all programmers should be as dumb as
possible?
13:46 < uriel> then you will miss the Go way of doing things
13:46 < kfmfe04> you are assuming too much
13:47 < uriel> between interfaces and goroutines, the high level way you
structure your projects is going to be very different from how you would do it in
other languages
13:47 < kfmfe04> simple - I will refactor in a 2nd round if necessary
13:47 < kfmfe04> I am cranking unit tests as I go
13:47 < kfmfe04> I don't expect to get 100% Go code the first time I code it
13:47 < kfmfe04> whether I do a Mickey Mouse project or not
13:48 < uriel> you might think you can replace pthreads with goroutines, but
the properties of both are completely different, for example gouroutines are way
cheaper than threads, you rarely do any locking because you use channels, etc
13:48 < kfmfe04> that's fine - I'm ok with throwing away mutexes
13:48 < kfmfe04> the more languages you play with, the more flexible one
should be towards various paradigms
13:49 < kfmfe04> I've been programming for 20yrs so I've seen my share of
paradigms/languages
13:49 < kfmfe04> right now, I have a C++ server and a Scala client - just
trying to port the C++ part to Go
13:51 < kfmfe04> I'm fine with throwing away things that don't fit - for
example, I hear C++ programmers complaining about the lack of templates, but I
also see many Go programmers saying they're not necessary - so I will investigate
and find how the proper way to do it in Go rather than fret about the lack of
generics
13:51 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
13:52 < kfmfe04> don't worry, I've lived through the C to C++ transition 15
years ago where all the C++ code looked like C code - I know what NOT to do ;)
13:55 < kfmfe04> imho, Pike & Thompson did a great job - writing natural
looking Go code doesn't seem to be as much of a mind-bender as writing natural
looking Scala code (but that may be due to my own C/C++ bias)
13:55 < aiju> when all C++ code looks like C code, sanity has been achieved
13:55 < aiju> all of MY C++ code is as much C as possible
13:55 < skelterjohn|work> i use C++ for stl and the new operator
13:56 < kfmfe04> that's part of the reason I'm using Go - much of C++ is
unnecessarily complicated
13:56 < aiju> i use C for NOT STL and NOT THE NEW OPERATOR
13:56 < skelterjohn|work> people are allowed to waste their time if they
want
13:56 < skelterjohn|work> it's nothing off me
13:56 < kfmfe04> STL is actually quite powerful, but it's painful to get it
right
13:56 < uriel> and NOT EVERYTHING ELSE IN C++
13:56 < kfmfe04> I should say generics are quite powerful
13:56 < skelterjohn|work> stl has nice stuff for vectors and maps
13:56 < skelterjohn|work> beyond that i don't use it
13:56 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
13:56 < skelterjohn|work> not that i write much C++ nowadays
13:57 < uriel> use BOOST!
13:57 < skelterjohn|work> also auto_ptr from boost is nice - pity you have
to download the rest of the 3gb of source to install it
13:57 < uriel> more time to procrastinate waiting for code to compile
13:57 < uriel> and pretending to being able to debug it
13:57 < kfmfe04> ya - but you can't use auto_ptr with STL - one of the
problems with orthogonality in C++ - the designers of Go got it right
13:58 < kfmfe04> C++ is a nightmare of non-orthogonality
13:58 < uriel> s/ of.*//
13:59 < skelterjohn|work> why wouldn't you be able to use auto_ptr with stl?
13:59 < skelterjohn|work> though i won't disagree with you - it must have
never come up when i wrote code
13:59 < kfmfe04> http://en.wikipedia.org/wiki/Auto_ptr
14:00 < kfmfe04> Because of its copy semantics, auto_ptr may not be used in
STL containers that may perform element copies in their operations.
14:00 < kfmfe04> this happens a lot in C++
14:00 < kfmfe04> code that you think works or you think you understand how
it works actually works only in specific cases
14:00 < skelterjohn|work> i guess stl containers copy the bits verbatim
without using the provided copy constructors?
14:00 < kfmfe04> one day, when you use it a little differently, you get
screwed
14:00 < kfmfe04> yes - the copy-semantics can cause problems
14:01 < kfmfe04> C++0x will deal with those issues by adding more complexity
14:01 < skelterjohn|work> sounds like a sound plan
14:01 < kfmfe04> it will define a bunch of copy-semantics
14:01 < kfmfe04> it is, if you like to learn C++ esoterica (some of my
coworkers do :( )
14:02 < ArgonneIntern> in container/list if you list.Remove and an iterater
points to it where will that iterator point, the one before, the next one or
nothing
14:03 < ArgonneIntern> right now I'm setting a temp element to the thing to
be removed, moving the iterator back one and removing the tmp element
14:03 < ArgonneIntern> which seems ugly
14:04 < skelterjohn|work> the docs are pretty clear i think
14:04 < skelterjohn|work> oh you mean the iterator
14:04 < skelterjohn|work> the iterator that you're ranging with will point
to the same thing it always did
14:05 < skelterjohn|work> actually, post some code
14:05 < skelterjohn|work> can you even range over a container/list?
probably not
14:05 < skelterjohn|work> so you must be doing a self-updating pointer w/
cur=cur.Next() kind of stuff - in which case it points to wherever you point it to
14:06 < ArgonneIntern> ok
14:06 < ArgonneIntern> so I basically need to do what I'm doing
14:06 < ArgonneIntern> and yes that's what I'm doing
14:07 < ArgonneIntern> hmm maybe a change to it so it made all element
pointers that point to that element to be removed get moved to the one before
14:07 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
14:07 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
14:08 < ArgonneIntern> bleh nvm, getting to used to go code doing everything
for me
14:08 < ArgonneIntern> making me soft
14:08 < skelterjohn|work> i'd bet that if you have a *List and you call
.Remove() on it, its .Next() and .Prev() functions still return the same thing
14:08 < skelterjohn|work> so you can continue iterating over the same way as
you had before
14:08 < skelterjohn|work> the other option is they're zeroed, in which case
you'd find out pretty quickly
14:09 < ArgonneIntern> lol yeah you would
14:09 < ArgonneIntern> but you may be right
14:09 < ArgonneIntern> I was looking at the docs
14:09 < skelterjohn|work> take a look at the source code
14:09 < ArgonneIntern> nope
14:09 < ArgonneIntern> it def zeros them out
14:10 < skelterjohn|work> ok then
14:10 -!- elathan [~elathan@athedsl-4465575.home.otenet.gr] has joined #go-nuts
14:10 < ArgonneIntern> http://www.pastie.org/2096066
14:10 -!- elathan [~elathan@athedsl-4465575.home.otenet.gr] has quit [Client Quit]
14:11 < kfmfe04> hmm...  ...a bit confused: got this error - invalid
operation: dt != dtExpected (operator != not defined on struct), but I thought
there was no operator overloading in Go...  can someone clarify?  TIA
14:11 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
14:13 < kfmfe04> both dt and dtExpected are of type DateTime (a struct)
14:13 < ArgonneIntern> can you go to www.pastie.org and past the type and
the if/for statement
14:13 < ArgonneIntern> and pste the URL here
14:14 < ArgonneIntern> also != is not defined for structs, and cannot be
overloaded.  So you might have to manually check for equality
14:15 < ArgonneIntern> or create a function that does this for you and
returns a boolean
14:15 < skelterjohn|work> kfmfe04: == and != don't work on structs at all
14:16 < skelterjohn|work> oh, ArgonneIntern answered
14:16 < ArgonneIntern> yeah but he could create a method that checs for
equality and have it passed in the thing to be checked against
14:16 < ArgonneIntern> and it returns a bool
14:16 < kfmfe04> so what is the convention for struct comparisons?
14:16 < skelterjohn|work> yes - that's what i'll typically do
14:16 < ArgonneIntern> which is not technically operator overloading
14:16 < skelterjohn|work> kfmfe04: can't go wrong with Equals(other
interface{}) bool
14:16 < kfmfe04> go it!  tyvm - will try it out!
14:17 < skelterjohn|work> then that struct will work with pkgs that use an
interface with that method
14:17 < skelterjohn|work> or if you don't care, use Equals(other MyType)
bool
14:17 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 240
seconds]
14:17 < kfmfe04> is there a convention for Equals() to be a deep or shallow
compare or is it up to the implementer?
14:18 < kfmfe04> it's not important in my case because I just have a couple
of uint32's in my struct, but it'd be good to follow convention
14:19 < skelterjohn|work> up to the implementor - depends entirely on what
you use the type for
14:19 < kfmfe04> excellent - tyvm
14:20 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has quit
[Ping timeout: 252 seconds]
14:21 < kfmfe04> one other quick question - in C++, we usually pass by const
reference in something like Equals( const MyType& rhs) to avoid copy-construction
- I believe that Go also constructs if I do Equals( other MyType ) - since MyType
is small in this case, it doesn't matter much, but do people worry about that at
all in Go and attempt to pass a pointer or just pass-by-value is fine?  again, I
am trying to follow convention...
14:22 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 255 seconds]
14:24 -!- zippoxer [~zippoxer@bzq-109-64-241-139.red.bezeqint.net] has joined
#go-nuts
14:25 < skelterjohn|work> if your type is large, operate on pointers to that
type
14:26 < skelterjohn|work> if your method begins like "func (x *X) " it
should end with "Equals(other *X)"
14:26 < skelterjohn|work> if you operate directly on the value, you're
copying anyway
14:27 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
14:27 < kfmfe04> yup - that's what I thought - ty for your advice
14:28 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
14:32 -!- Aperculum [lauri@kapsi.fi] has joined #go-nuts
14:33 < Aperculum> Hi! Do I have to know the size of an array at the compile
time or can I have a function take size as an argument and then create the array
from that?
14:37 < skelterjohn|work> need a bit more context - you can use append to
dynamically resize a slice
14:37 < pharris> Aperculum: By definition, Go arrays are fixed size.  A
"variable sized array" is called a slice.
14:37 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: leaving]
14:37 < skelterjohn|work> you can make a slice (backed by an array) by doing
whatever version of make([]int, someLength) is appropriate
14:38 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
14:38 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
14:42 < Aperculum> pharris: thanks, but I mean I won't change size of the
array at the run time, I just won't know the initial size before I run it
14:42 < pharris> If you don't know the size at compile time, you need a
slice.
14:42 < pharris> Arrays are fixed (at compile time) size.
14:43 < jessta> Aperculum: you can use [...]string{"pizza","pies","etc"} but
it still has to be fixed at compile time
14:44 < Aperculum> okay, thanks :)
14:44 < Aperculum> I'll just use slice then
14:44 < jessta> Aperculum: a [4]byte and a [5]byte are completely different
types in Go
14:46 < Aperculum> yes, I'm aware.  I just assumed it meant that I cannot
expand list after it's initial creation
14:46 < Aperculum> but I'm still learning, now I know
14:47 < Aperculum> its*
14:47 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 260
seconds]
14:51 -!- zippoxer [~zippoxer@bzq-109-64-241-139.red.bezeqint.net] has quit [Ping
timeout: 252 seconds]
14:53 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
14:54 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
14:55 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:58 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
14:59 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Read error:
Connection reset by peer]
14:59 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
15:01 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
15:03 -!- piranha [~piranha@93.189.143.198] has joined #go-nuts
15:04 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
15:05 -!- zippoxer [~zippoxer@109.65.248.117] has joined #go-nuts
15:08 -!- weazelb0y [~weazelb0y@69.60.16.202] has joined #go-nuts
15:10 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
15:11 -!- sacho [~sacho@87-126-43-140.btc-net.bg] has quit [Read error: Connection
reset by peer]
15:12 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Connection reset
by peer]
15:13 -!- piranha [~piranha@93.189.143.198] has quit [Quit: Computer has gone to
sleep.]
15:13 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
15:13 -!- sacho [~sacho@95-42-74-185.btc-net.bg] has joined #go-nuts
15:14 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
15:21 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
15:23 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
15:23 -!- piranha [~piranha@93.189.143.199] has quit [Read error: Connection reset
by peer]
15:23 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has joined
#go-nuts
15:26 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Quit:
leaving]
15:30 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
15:31 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
15:35 -!- kfmfe04 [~kfmfe04@219.91.121.237] has quit [Quit: kfmfe04]
15:35 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
15:36 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts
15:37 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 276
seconds]
15:39 -!- piranha [~piranha@93.189.143.199] has quit [Read error: Connection reset
by peer]
15:40 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Connection reset
by peer]
15:40 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
15:45 -!- qulinxao [~qulinxao@v-853923.vpn.mgn.ru] has joined #go-nuts
15:45 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
15:45 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 240
seconds]
15:48 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
15:50 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
15:51 -!- qulinxao [~qulinxao@v-853923.vpn.mgn.ru] has left #go-nuts []
15:53 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has joined #go-nuts
15:54 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
15:58 -!- ccmtaylor_ [~ctaylor@vpn12.sjc.collab.net] has quit [Ping timeout: 258
seconds]
15:59 -!- va3atc [va3atc@vpn42.sdf.org] has joined #go-nuts
16:00 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts
16:01 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has joined #go-nuts
16:01 -!- piranha [~piranha@93.189.143.199] has quit [Client Quit]
16:02 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #go-nuts
16:05 -!- Ekspluati [5b98bd5e@gateway/web/freenode/ip.91.152.189.94] has quit
[Ping timeout: 252 seconds]
16:06 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 250
seconds]
16:11 -!- darkhelmetlive [u1769@gateway/web/irccloud.com/x-mhnhjcarhnpfrvii] has
joined #go-nuts
16:19 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
16:20 -!- tvw [~tv@212.79.9.150] has quit [Read error: Connection reset by peer]
16:22 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:26 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
16:27 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
16:33 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 255 seconds]
16:33 < zippoxer> when accessing a map with non-existing key it returns
whatever but no exception
16:34 < zippoxer> with arrays, it returns an exception.
16:34 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
16:34 < zippoxer> so how can If an index exists in an array?
16:34 < zippoxer> witn len() ?
16:34 < xyproto> if I have a google appengine program and wish to put some
functions in other files, for example "func add(a, b int) int", how can it be
done?  Just put the function in another file, with the same package?  But how is
it imported?
16:35 -!- StoVoKor [~va3atc@205.211.141.177] has joined #go-nuts
16:35 < uriel> xyproto: if you have multiple files all in the same package,
they all can call eachother
16:35 < xyproto> uriel: just like that, without any additional makefiles or
yaml-modifications?
16:36 < uriel> AFAIK it should just work like any other Go program
16:37 < xyproto> uriel: yes, it worked great now!  I just had to not import
anything, but just act like it was in the same namespace (which it is...) Thanks
:(
16:37 < xyproto> uriel: meant the happy face :)
16:37 -!- va3atc [va3atc@vpn42.sdf.org] has quit [Ping timeout: 246 seconds]
16:37 < Tv> zippoxer: val, found := arr[idx]
16:38 < zippoxer> great!  thanks
16:38 < Aperculum> I coudn't quite parse the question there
16:39 < Tv> Aperculum: me neither but i offered the nearest matching nugget
of info where go is atypical ;)
16:39 < Aperculum> doesn't index exist if len(array) is larger than the
index you are checking?
16:39 -!- StoVoKor [~va3atc@205.211.141.177] has quit [Ping timeout: 250 seconds]
16:39 < xyproto> Tv: you're intellisense and natural language parsin
reincarnate
16:39 < xyproto> *parsing
16:39 < Tv> Aperculum: he talked about maps, so i figured i'll give that
answer
16:40 < zippoxer> why can't I quick access MultipleReturnValuesFunc()[0]?
16:40 < xyproto> +1
16:40 < Aperculum> oh, sorry, my bad :)
16:40 < Tv> xyproto: no need to correct yourself, i got you the first time
around ;)
16:40 < xyproto> Tv: :D
16:40 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 246 seconds]
16:40 < Tv> zippoxer: it's not an array, and it's meant to force you to
*check* the error
16:40 < zippoxer> kk
16:41 < Aperculum> Tv: does the map always return two values or only when I
as for them?
16:41 < Aperculum> ask*
16:41 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit:
pyrhho]
16:43 < jessta> Aperculum: only when you task for them
16:43 < jessta> *ask
16:44 < Aperculum> ah, cool
16:44 < jessta> it's a bit weird, but it's very helpful
16:45 < jessta> I'm glad only the map and array can do it
16:45 < Aperculum> They could have just made them always return two values
and user would just throw away the other with _ if they don't need it
16:45 < Aperculum> then again, it makes for a more readable code
16:45 < jessta> somefunc(somemap[somkey)
16:46 < jessta> wouldn't work if somefunc() only took one paramter
16:46 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has quit [Quit:
Leaving.]
16:47 < jessta> Aperculum: it would make maps and arrays really annoyign to
use
16:47 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has joined #go-nuts
16:47 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
16:47 < Aperculum> true
16:47 < zippoxer> if more people were asking on overflow instead of here
16:48 < Aperculum> I guess they know what they're doing better than I do :)
16:48 < zippoxer> it could really promote go
16:48 -!- nekoh [~nekoh@dslb-088-068-000-131.pools.arcor-ip.net] has joined
#go-nuts
16:48 < mkb218> SO requires you to act as a moderator of a forum thread
16:48 < mkb218> too much overhead
16:48 < mkb218> and then the waiting
16:49 < zippoxer> yeah, but that's only for promoting
16:49 < zippoxer> we can simply ask on overflow and post the question's url
here
16:49 < zippoxer> but not on very little questions :\
16:51 < zippoxer> I would like go to be more popular...
16:52 < Aperculum> you can help that by using it
16:52 < Aperculum> and maybe introducing people to it :)
16:52 < zippoxer> lol tried :P
16:52 < zippoxer> they said it's too new and headache to find stuff for it
16:53 < zippoxer> examples, etc..
16:53 < jessta> zippoxer: lots of things on stackoverflow about Go are out
of date
16:53 < zippoxer> you mean the questions or what?
16:53 < mkb218> it is also full of jerks
16:54 < jessta> the best way to make Go popular is to write awesome stuff in
Go
16:54 < zippoxer> open source :)
16:54 < jessta> zippoxer: the questions and anwsers
16:55 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:b966:f177:bfd4:8292] has joined
#go-nuts
16:58 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 264 seconds]
16:59 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
17:04 -!- nekoh [~nekoh@dslb-088-068-000-131.pools.arcor-ip.net] has quit [Ping
timeout: 258 seconds]
17:06 -!- sacho [~sacho@95-42-74-185.btc-net.bg] has quit [Ping timeout: 255
seconds]
17:08 < xyproto> ok, I have a form where people can upload files, for
instance .pdf files, and I get a *http.Request back.  Now, how can I get the
contents of that pdf using the *http.Request variable?  (appengine) Thanks
17:10 -!- Engineer_Bear [~kmallea@ool-45793895.dyn.optonline.net] has joined
#go-nuts
17:10 < skelterjohn|work> it's not in the reader provided?
17:11 -!- cco3 [~conleyo@nat/google/x-xvqrscsryqdehsfd] has joined #go-nuts
17:11 < xyproto> skelterjohn|work: I have a http.ResponseWriter as well.  I
don't know if I have a reader baked into one of those somehow.
17:12 < skelterjohn|work> there is a reader in the http.Request
17:12 < xyproto> skelterjohn|work: aha!  Is it the ReadRequest, perhaps?
17:12 < skelterjohn|work> Body
17:12 < skelterjohn|work> is a ReadCloser
17:13 < skelterjohn|work> Request.Body
17:13 < xyproto> skelterjohn|work: ah, I see.  Great, thanks!
17:13 < skelterjohn|work> np
17:16 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
17:18 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has joined
#go-nuts
17:19 -!- sacho [~sacho@95-42-74-185.btc-net.bg] has joined #go-nuts
17:25 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #go-nuts
17:26 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
17:33 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
17:36 -!- str1ngs [~strings@unaffiliated/str1ngs] has quit [Remote host closed the
connection]
17:36 -!- str1ngs [~strings@unaffiliated/str1ngs] has joined #go-nuts
17:42 -!- bytbox [~s@129.2.129.145] has joined #go-nuts
17:47 -!- m4dh4tt3r [~Adium@70-36-245-216.dsl.static.sonic.net] has joined
#go-nuts
17:48 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
17:54 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 244 seconds]
17:57 < zippoxer> How do I convert []interface{} to []string ?
17:57 < zippoxer> []interface{}{}.([]string) doesn't work
17:58 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
17:58 -!- legumbre_ [~leo@r190-135-3-54.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
17:58 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
17:58 -!- Engineer_Bear [~kmallea@ool-45793895.dyn.optonline.net] has quit [Quit:
Leaving...]
17:59 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined
#go-nuts
18:00 -!- legumbre [~leo@r190-135-12-151.dialup.adsl.anteldata.net.uy] has quit
[Ping timeout: 252 seconds]
18:12 -!- bytbox [~s@129.2.129.145] has quit [Remote host closed the connection]
18:13 -!- allengeorge [~allengeor@c-67-188-178-118.hsd1.ca.comcast.net] has quit
[Quit: allengeorge]
18:19 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
18:23 < kevlar_work> zippoxer, you'll have to do it with a loop; they are
not stored the same internally, and thus can't simply be casted or type asserted.
18:24 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 240 seconds]
18:30 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-150-175.clienti.tiscali.it]
has joined #go-nuts
18:33 -!- Project-2501 [~Marvin@82.84.90.203] has quit [Ping timeout: 244 seconds]
18:44 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving]
19:01 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
19:11 -!- cw_ [~anticw@parsec.stupidest.org] has quit [Read error: Operation timed
out]
19:18 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
19:20 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has quit [Quit: eimantas]
19:34 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
19:36 -!- virtualsue [~chatzilla@nat/cisco/x-phaozggwqdalmjhb] has quit [Ping
timeout: 240 seconds]
19:40 -!- photron [~photron@port-92-201-3-138.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
19:42 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
19:42 < jessta> zippoxer: you can only perform type asserts on interfaces,
[]interface{} isn't an interface, it's a type
19:44 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 264 seconds]
19:45 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
19:46 -!- virtualsue [~chatzilla@nat/cisco/x-iwdlzwbfdxeehxuv] has joined #go-nuts
19:58 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
20:01 -!- tncardoso [~thiago@189.59.178.169.dynamic.adsl.gvt.net.br] has joined
#go-nuts
20:02 -!- m4dh4tt3r [~Adium@70-36-245-216.dsl.static.sonic.net] has quit [Max
SendQ exceeded]
20:02 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Read error:
Connection reset by peer]
20:02 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
20:03 -!- m4dh4tt3r [~Adium@70-36-245-216.dsl.static.sonic.net] has joined
#go-nuts
20:08 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
20:10 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:b966:f177:bfd4:8292] has quit
[Quit: Leaving.]
20:18 -!- pjacobs2 [~pjacobs@66.54.185.130] has joined #go-nuts
20:18 -!- rlab_ [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
20:21 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 258 seconds]
20:22 -!- twolfe18 [~twolfe18@CMU-447816.WV.CC.CMU.EDU] has joined #go-nuts
20:27 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:28 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
20:30 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has quit [Ping timeout:
250 seconds]
20:32 -!- alehorst [~alehorst@177.40.37.93] has quit [Quit: Leaving.]
20:34 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
20:37 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252
seconds]
20:40 -!- virtualsue [~chatzilla@nat/cisco/x-iwdlzwbfdxeehxuv] has quit [Ping
timeout: 258 seconds]
20:42 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
20:51 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit
[Quit: kfmfe04]
20:57 < zippoxer> Nice gui library that has a binding for go?
20:57 < zippoxer> I heard bad about gtk :\
20:57 < aiju> "nice gui library" is an oxymoron
20:57 < str1ngs> go-gtk is fine
20:58 < skelterjohn|work> "useful answer from aiju" is, too
20:58 < aiju> bs
20:59 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
20:59 < zippoxer> נועם
20:59 < noam> זיפפוקסר
21:00 < zippoxer> חחח לא יפה לדבר ככה בעברית ליד כולם..
21:00 < aiju> 絶望した!
21:00 < zippoxer> sorry guys
21:00 < noam> you started it :)
21:00 < zippoxer> mm because it's good to know that someone from our very
little country
21:00 < zippoxer> is using go :)
21:00 < zippoxer> (israel)
21:00 < aiju> no shit sherlock
21:01 < zippoxer> lol agan..
21:01 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has quit [Quit:
Leaving.]
21:01 < zippoxer> again*
21:01 < aiju> have you added support to kill arabs yet?
21:01 < noam> i'm only interested in it, it has some nice stuff
21:01 < zippoxer> ohh so you believe what the arab says about us uhh...
21:02 < skelterjohn|work> let me stop this right here
21:02 < zippoxer> he started.
21:02 < skelterjohn|work> don't really want to hear about geopolitics in my
programming channel
21:02 < aiju> also, does your code occupy palestenean memory regions?
21:02 < zippoxer> stupid move by aiju.
21:02 < aiju> haha
21:02 < skelterjohn|work> you don't have to reply
21:02 < aiju> hell, i didn't mention the holocaust!
21:03 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Ping
timeout: 264 seconds]
21:03 < zippoxer> hey, don't forget that I'm not in the Israeli goverment so
complaints not to me please...
21:03 < zippoxer> government*
21:03 -!- huin [~huin@91.85.188.1] has joined #go-nuts
21:03 < zippoxer> and I think that's enough to close this topic.
21:03 < zippoxer> go Go.
21:04 < skelterjohn|work> just as long as you've got the last word, i
suppose
21:04 < aiju> hell, in reality, i don't even care too much about this issue
21:04 < skelterjohn|work> i'm not really a fan of the gtk bindings
21:04 < skelterjohn|work> i couldn't get them working on my mac
21:06 -!- Lockal [~Lockal@wikipedia/Lockal] has quit [Quit: Ухожу я от вас (xchat
2.4.5 или старше)]
21:07 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
21:07 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined
#go-nuts
21:07 < zippoxer> you're saying it for real?
21:07 < skelterjohn|work> uh
21:07 < skelterjohn|work> yes.
21:08 -!- virtualsue [~chatzilla@nat/cisco/x-mcwlligvnqfpvlak] has joined #go-nuts
21:08 < zippoxer> I'm sure str1ngs can help you with that (if u want)
21:08 < zippoxer> I only know that goinstall isn't the way to install it
21:08 < zippoxer> gomake worked forme
21:09 < skelterjohn|work> the bindings were not the problem, specifically.
it was installing the right version of gtk
21:09 < str1ngs> I run linux on my mac need I say more?
21:09 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has quit [Quit:
Leaving.]
21:09 < skelterjohn|work> i can't imagine getting a mac and putting linux on
it
21:09 < skelterjohn|work> just pay less for a laptop with no OS
21:09 -!- B33p [~mgray@li226-224.members.linode.com] has joined #go-nuts
21:09 < aiju> I run my car by putting horses in front of it
21:10 < str1ngs> lol you assumed I paid for it
21:10 < zippoxer> :P
21:10 < aiju> str1ngs stole it
21:10 < aiju> obviosuly
21:10 < aiju> *obviously
21:10 < skelterjohn|work> i don't make a habit of following around trucks
with the back open
21:10 < str1ngs> and now I'm a theft
21:10 < skelterjohn|work> so that solution isn't available to me
21:10 < str1ngs> thief*
21:12 < str1ngs> also you assumed it was a laptop
21:12 < aiju> str1ngs is running linux on a fruit
21:12 < skelterjohn|work> it's amazing how much is assumed when you're vague
21:13 < str1ngs> I run linux on my mac need I say more?
21:13 -!- virtualsue [~chatzilla@nat/cisco/x-mcwlligvnqfpvlak] has quit [Quit:
ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]]
21:13 < str1ngs> and you proceed to make a bunch of assumptions
21:13 < skelterjohn|work> i figured you weren't goint to say more
21:14 < skelterjohn|work> this is a strange thing to get offended about, to
be honest
21:14 < str1ngs> when really all my point was I can help much with your gtk
issues since I dont run OSX
21:14 -!- legumbre [~leo@r190-135-3-54.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
21:15 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has joined
#go-nuts
21:15 -!- legumbre_ [~leo@r190-135-3-54.dialup.adsl.anteldata.net.uy] has quit
[Remote host closed the connection]
21:15 -!- legumbre [~leo@r190-135-3-54.dialup.adsl.anteldata.net.uy] has quit
[Remote host closed the connection]
21:15 < ArgonneIntern> anyone know off hand if http.ListenAndServe is
blocking or nonblocking
21:15 < skelterjohn|work> blocking
21:15 < skelterjohn|work> probably
21:15 < ArgonneIntern> is there a non blockig command like it?
21:16 < skelterjohn|work> go http.ListenAndServe()
21:16 < str1ngs> ^
21:16 < ArgonneIntern> ahh ty
21:16 < ArgonneIntern> lol
21:17 < skelterjohn|work> be careful, though - that ignores the error that
the function returns
21:17 < skelterjohn|work> you might consider wrapping an anonymous function
which prints out the error, if there is one
21:17 < ArgonneIntern> I'm not concerned about the error atm
21:17 < ArgonneIntern> but I will eventually so I'll do that later
21:17 < skelterjohn|work> go func() { err := http.ListenAndServe(...); if
err != nil { fmt.Println(err) } }()
21:17 < skelterjohn|work> famous last words
21:18 < ArgonneIntern> won't that execute just once
21:18 < skelterjohn|work> some reason you'd want it to execute multiple
times?
21:18 < ArgonneIntern> http deamon
21:18 < ArgonneIntern> dishing out json responses
21:18 < skelterjohn|work> ListenAndServe loops
21:19 < skelterjohn|work> accepting connections from sockets and giving them
to handlers
21:19 < ArgonneIntern> oh ok
21:19 < ArgonneIntern> well that is convenient lol
21:20 -!- twolfe18 [~twolfe18@CMU-447816.WV.CC.CMU.EDU] has quit [Quit: twolfe18]
21:21 < zippoxer> was this channel firstly created by google?
21:21 < skelterjohn|work> the owners are google employees
21:22 < skelterjohn|work> adg is andrew gerrand
21:22 < zippoxer> nice :)
21:22 < aiju> adg is the führer of this channel
21:22 < ArgonneIntern> so listen and serve loops until an error is returned?
21:22 < ArgonneIntern> I would assume it returns on an error if you handle
it on the next line explicitly
21:22 < zippoxer> func listen() { err := http.ListenAndServe(...); if err !=
nil { listen() } }
21:23 < zippoxer> will automatically relisten on error.
21:23 < skelterjohn|work> that seems like a bad idea
21:23 < skelterjohn|work> ArgonneIntern: i have no idea what you mean
21:23 < ArgonneIntern> I just want it to listen, serve the request and
listen again
21:23 < aiju> zippoxer: go has no tail recursion optimiation
21:23 < skelterjohn|work> following "I would assume"
21:23 < aiju> for {} is your friend
21:23 < zippoxer> oh, good to know
21:25 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Remote
host closed the connection]
21:25 < ArgonneIntern> http://www.pastie.org/2098129
21:25 < ArgonneIntern> so like that then?
21:26 -!- cw [~anticw@parsec.stupidest.org] has joined #go-nuts
21:26 < ArgonneIntern> and just call a go on in in my main loop
21:26 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has joined #go-nuts
21:26 < skelterjohn|work> that code would do stuff, sure
21:26 < skelterjohn|work> it was the "if" part i didn't really get
21:26 < zippoxer> but why should it fail?
21:27 < ArgonneIntern> ack that's supposed to be != nil
21:27 < skelterjohn|work> the listening port is already bound is a good
reason
21:27 < skelterjohn|work> and a good reason not to loop
21:27 < zippoxer> yeah
21:27 < skelterjohn|work> since trying again is unlikely to fix it
21:27 < ArgonneIntern> I'm confused, I think I'm not understanding the
multiple responses
21:27 < zippoxer> if u like your computer don't loop for any error
21:27 < ArgonneIntern> so will listen and serve loop?
21:28 < skelterjohn|work> it loops internally, yes
21:28 < ArgonneIntern> also the printError func exits with -1
21:28 < ArgonneIntern> on an error
21:28 < ArgonneIntern> so I don't need to loop forever
21:28 < ArgonneIntern> I can just go the lisetn and serve, catch the error
and bail
21:28 < skelterjohn|work> i don't know if ListenAndServe will ever return if
there isn't an error
21:29 < ArgonneIntern> and it will loop otherwise
21:29 < ArgonneIntern> ok that's perfect
21:29 < ArgonneIntern> that's what I want lol
21:29 < skelterjohn|work> well, maybe i'm wrong - i'll double check the
source
21:30 < skelterjohn|work> my mistake
21:30 < skelterjohn|work> it listens for and serves just one request
21:30 < skelterjohn|work> so you need to loop on your own
21:30 < ArgonneIntern> ok
21:30 < skelterjohn|work> wait
21:31 < skelterjohn|work> i may be mistaken about my mistake
21:31 < str1ngs> you are
21:31 < str1ngs> it blocks
21:31 < skelterjohn|work> yes - i am.
21:31 < skelterjohn|work> it calls Serve, which loops, accepting and serving
21:31 < skelterjohn|work> i guessed wrongly about what net.Listen returned
21:31 < ArgonneIntern> cool well thanks ><
21:32 < skelterjohn|work> and if it ever reaches the Serve bit, it will
never return without an error
21:33 < ArgonneIntern> nice
21:33 < zippoxer> does ListenAndServe handle concurrently?
21:34 < zippoxer> * does ListenAndServe handle requests concurrently?
21:34 < ArgonneIntern> i just put it in a wrapper to call the listen and
serve and handle the error and used "go" on it
21:34 < skelterjohn|work> zippoxer: yes
21:34 < ArgonneIntern> it does does it
21:34 < ArgonneIntern> well then I need semaphores
21:34 < ArgonneIntern> lol
21:35 -!- alkavan_ [~alkavan@IGLD-84-228-189-104.inter.net.il] has joined #go-nuts
21:36 < kevlar_work> ArgonneIntern, eew, semaphores.
21:36 < kevlar_work> use channels or mutexes ;-)
21:37 < ArgonneIntern> a mutex is a semaphore
21:37 < ArgonneIntern> lol
21:37 < skelterjohn|work> semaphores are for reading/writing data safely -
mutexes are for blocking processes until something happens
21:37 < skelterjohn|work> i think
21:37 < kevlar_work> a mutex is a semaphore that has logic around it to make
it harder to abuse :)
21:38 < ArgonneIntern> mutexes are often implemented with semaphores I'm
pretty sure
21:38 < kevlar_work> for instance, it's always zero or one.
21:38 < kevlar_work> they are in Go.
21:38 < ArgonneIntern> right
21:38 < jlaffaye> a mutexe is a special semaphore (1)
21:38 < ArgonneIntern> right
21:38 < kevlar_work> I have a CL out for a Semaphore type, but as I was
making it I realized all of the reasons why exposing it was a bad idea.
21:38 -!- init6 [~chad@ice.superfrink.net] has joined #go-nuts
21:39 < ArgonneIntern> anyways I love talking to you guys but I gots to go
home for the night
21:39 < ArgonneIntern> thanks for the help with the http
21:39 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:39 < ArgonneIntern> cya guys tomorrow bright and early
21:40 < skelterjohn|work> later
21:43 < init6> I am using http.HandleFunc().  Printf with %#v shows that the
the http.ResponseWriter is a http.response and it has a member "status" that is
not exported.  I would like to read "status".
21:43 < skelterjohn|work> you can't
21:43 < init6> The end goal is just to create a log entry after the request
is served.
21:43 < skelterjohn|work> things that are not exported are inaccessible
21:44 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has quit
[Ping timeout: 252 seconds]
21:44 < skelterjohn|work> unless you use unsafe to inspect the bare memory
21:44 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has joined
#go-nuts
21:44 < init6> *nod* I was thinking of adding a GetStatus() but
http.response is not exported either.
21:45 -!- Netsplit *.net <-> *.split quits: darkhelmetlive, welterde,
tncardoso, Varriount, xulfer, apexo, TheMueCloud, jessta, dreadlorde, Adys, (+6
more, use /NETSPLIT to show all of them)
21:51 -!- tncardoso [~thiago@189.59.178.169.dynamic.adsl.gvt.net.br] has joined
#go-nuts
21:51 -!- zippoxer [~zippoxer@109.65.248.117] has joined #go-nuts
21:52 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
21:52 -!- mfoemmel [~mfoemmel@chml01.drwholdings.com] has joined #go-nuts
21:52 -!- darkhelmetlive [u1769@gateway/web/irccloud.com/x-qegnrgmvwqxepeck] has
joined #go-nuts
21:53 -!- qrush [u1528@gateway/web/irccloud.com/x-jqwlmniwbrsyyjgx] has joined
#go-nuts
21:54 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
21:58 -!- sacho [~sacho@95-42-74-185.btc-net.bg] has quit [Ping timeout: 240
seconds]
22:02 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
22:02 -!- tav [~tav@2.96.33.22] has joined #go-nuts
22:02 -!- Varriount [~Varriount@public-craft.com] has joined #go-nuts
22:02 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts
22:02 -!- jessta [~jessta@li7-205.members.linode.com] has joined #go-nuts
22:02 -!- apexo [~apexo@2a01:238:436b:8301:5054:ff:fe87:82fb] has joined #go-nuts
22:02 -!- xulfer [~xulfer@2600:3c01::f03c:91ff:fe96:c1cd] has joined #go-nuts
22:03 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
22:06 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has quit [Ping
timeout: 260 seconds]
22:14 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
22:21 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Quit: Lost terminal]
22:21 -!- dfc [~dfc@124-169-4-131.dyn.iinet.net.au] has quit [Quit: dfc]
22:21 -!- pjacobs [~pjacobs@66.54.185.130] has quit [Ping timeout: 260 seconds]
22:24 -!- init6 [~chad@ice.superfrink.net] has quit [Quit: Leaving]
22:25 -!- bugQ [~bug@c-71-195-206-245.hsd1.ut.comcast.net] has joined #go-nuts
22:25 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts
[]
22:31 -!- huin [~huin@91.85.188.1] has quit [Quit: bedtime]
22:37 -!- va3atc [~va3atc@24.246.17.37] has joined #go-nuts
22:39 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Ping timeout: 276 seconds]
22:52 -!- Bigbear1 [~Cody@d75-158-128-4.abhsia.telus.net] has joined #go-nuts
22:53 -!- crazy2be [~crazy2be@d75-152-167-124.abhsia.telus.net] has joined
#go-nuts
22:55 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
22:55 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-150-175.clienti.tiscali.it]
has quit [Quit: E se abbasso questa leva che succ...]
23:09 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Ping
timeout: 276 seconds]
23:17 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 255 seconds]
23:20 -!- m4dh4tt3r [~Adium@70-36-245-216.dsl.static.sonic.net] has quit [Ping
timeout: 252 seconds]
23:21 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:24 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Ping timeout: 264 seconds]
23:30 -!- tncardoso [~thiago@189.59.178.169.dynamic.adsl.gvt.net.br] has quit
[Quit: bye]
23:30 -!- clip9 [clip9@er.en.svarteper.com] has quit [Read error: Operation timed
out]
23:32 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Remote host closed the
connection]
23:32 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts
23:33 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
23:34 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit
[Read error: Connection reset by peer]
23:35 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
23:36 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has joined
#go-nuts
23:36 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
23:37 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Read error: Connection reset by peer]
23:38 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
23:41 -!- crazy2be [~crazy2be@d75-152-167-124.abhsia.telus.net] has quit [Remote
host closed the connection]
23:41 -!- tokuhiro_ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has joined #go-nuts
23:52 -!- m4dh4tt3r [~Adium@adsl-76-205-250-81.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
23:54 -!- tokuhiro_ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has quit [Quit:
Tiarra 0.1: SIGINT received; exit]
23:59 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has quit [Ping timeout: 276
seconds]
--- Log closed Tue Jun 21 00:00:53 2011