--- Log opened Fri Jan 07 00:00:02 2011
00:13 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
00:13 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
00:13 -!- cafesofie [~cafesofie@dhcp-140-254-204-204.osuwireless.ohio-state.edu]
has joined #go-nuts
00:14 -!- jesmon [~user@static-71-244-114-122.albyny.fios.verizon.net] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
00:15 -!- drry [~drry@unaffiliated/drry] has joined #go-nuts
00:20 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 264 seconds]
00:21 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
00:22 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Remote
host closed the connection]
00:23 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has joined #go-nuts
00:24 -!- drry [~drry@unaffiliated/drry] has quit [Ping timeout: 240 seconds]
00:25 -!- Scorchin [~Scorchin@host86-161-167-138.range86-161.btcentralplus.com]
has quit [Ping timeout: 240 seconds]
00:25 -!- iant [~iant@nat/google/x-lheozzhgkpmlwdtf] has quit [Quit: Leaving.]
00:26 -!- Scorchin [~Scorchin@host86-173-184-103.range86-173.btcentralplus.com]
has joined #go-nuts
00:26 -!- Scorchin [~Scorchin@host86-173-184-103.range86-173.btcentralplus.com]
has quit [Client Quit]
00:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Read error: Operation timed out]
00:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
00:32 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
00:34 -!- iant [~iant@67.218.105.75] has joined #go-nuts
00:34 -!- mode/#go-nuts [+v iant] by ChanServ
00:36 -!- drry [~drry@unaffiliated/drry] has joined #go-nuts
00:38 -!- drry [~drry@unaffiliated/drry] has quit [Excess Flood]
00:38 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Remote
host closed the connection]
00:43 -!- drry [~drry@unaffiliated/drry] has joined #go-nuts
00:47 -!- drry [~drry@unaffiliated/drry] has quit [Excess Flood]
00:48 -!- derferman_ [~derferman@24-176-188-13.static.reno.nv.charter.com] has
joined #go-nuts
00:51 -!- Project-2501 [~Marvin@82.84.92.241] has quit [Quit: E se abbasso questa
leva che succ...]
00:51 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
00:51 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
01:05 -!- daxt [~daxt@112.135.87.84] has joined #go-nuts
01:07 -!- shvntr [~shvntr@113.84.148.74] has joined #go-nuts
01:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 264 seconds]
01:21 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
01:23 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 240
seconds]
01:23 -!- cafesofie [~cafesofie@dhcp-140-254-204-204.osuwireless.ohio-state.edu]
has quit [Remote host closed the connection]
01:29 < tylergillies> im trying to extract a section from a string for
example str = "foobar" and i want /fo(.*?)r/, is there a way to get "oba"?  i
looked at regexp lib but it didn't look like it could handle it
01:30 < KirkMcDonald> The regexp package is highly simplistic.
01:30 < KirkMcDonald> There is another package named sre2 which may even end
up in the standard library at some point.
01:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Read error: Operation timed out]
01:31 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Max SendQ
exceeded]
01:31 < tylergillies> cool , just downloaded it
01:31 < tylergillies> thnx
01:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
01:36 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
01:37 -!- ronnyy [~quassel@drsd-4db3e705.pool.mediaWays.net] has joined #go-nuts
01:37 -!- artefon [~thiago@20158072033.user.veloxzone.com.br] has quit [Ping
timeout: 240 seconds]
01:41 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts
01:41 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
01:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
01:42 < tylergillies> i am confused as to what the MatchIndex function is
returning
01:49 -!- xash [~xash@d142039.adsl.hansenet.de] has quit [Ping timeout: 255
seconds]
01:52 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
01:52 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
01:53 -!- cafesofie [~cafesofie@rnwifi-164-107-93-155.resnet.ohio-state.edu] has
joined #go-nuts
01:57 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Excess
Flood]
02:00 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
02:03 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
02:04 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
02:04 -!- binarypie [~binarypie@adsl-99-37-224-209.dsl.pltn13.sbcglobal.net] has
quit [Remote host closed the connection]
02:05 < tylergillies> oooh i figured it out
02:05 < tylergillies> heh thats clever
02:06 -!- ronnyy [~quassel@drsd-4db3e705.pool.mediaWays.net] has quit [Remote host
closed the connection]
02:10 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Excess
Flood]
02:11 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 260 seconds]
02:12 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
02:14 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
02:15 -!- iant [~iant@67.218.105.75] has quit [Quit: Leaving.]
02:15 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
02:15 -!- grouzen [~grouzen@ip23-159.200.109.crimea.com] has joined #go-nuts
02:19 -!- niemeyer_ [~niemeyer@201-40-141-234.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
02:19 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Quit: Venom_X]
02:26 -!- jartur [~user@109.110.41.179] has quit [Ping timeout: 260 seconds]
02:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 260 seconds]
02:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
02:31 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.3]
02:32 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
02:41 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
02:41 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
02:42 -!- Qvist_ [~erik@c-66cde455.05-294-6c6b701.cust.bredbandsbolaget.se] has
quit [Ping timeout: 255 seconds]
02:59 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 250 seconds]
03:00 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
03:02 -!- nettok_ [~quassel@200.119.158.92] has joined #go-nuts
03:03 -!- nettok [~quassel@200.119.154.65] has quit [Ping timeout: 255 seconds]
03:04 < tylergillies> is there something like thread.join in golang?
03:05 < tylergillies> good thread i found:
http://groups.google.com/group/golang-nuts/browse_thread/thread/ddda4601f8220d6d
03:08 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Excess
Flood]
03:12 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
03:21 < uriel> use channels
03:24 -!- bmizerany [~bmizerany@208.66.27.62] has quit [Remote host closed the
connection]
03:33 -!- adg [~nf@adak.wh3rd.net] has quit [Quit: leaving]
03:33 -!- nf [~nf@2001:470:21:20::4444:61d9] has joined #go-nuts
03:33 -!- mode/#go-nuts [+o nf] by ChanServ
03:43 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has quit
[Quit: derferman]
03:57 -!- keithcascio [~keithcasc@nat/google/x-ystxjejwhojlyubf] has quit [Quit:
Leaving]
04:00 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
04:00 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
04:10 -!- noktoborus [~noxless@109.126.26.65] has quit [Ping timeout: 240 seconds]
04:14 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Read error: Operation
timed out]
04:14 -!- noktoborus [~noxless@109.126.26.65] has joined #go-nuts
04:15 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has
joined #go-nuts
04:16 -!- newblue__ [~newblue@113.84.210.147] has quit [Remote host closed the
connection]
04:21 -!- enherit [~enherit@75.92.111.122] has quit [Ping timeout: 255 seconds]
04:22 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
04:22 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
04:23 -!- enherit [~enherit@75.92.111.122] has joined #go-nuts
04:28 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
04:29 -!- ios_ [~ios@180.191.89.63] has joined #go-nuts
04:29 -!- ios_ [~ios@180.191.89.63] has left #go-nuts []
04:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
04:32 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
04:34 -!- enherit [~enherit@75.92.111.122] has quit [Ping timeout: 240 seconds]
04:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
04:42 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
04:47 -!- daxt [~daxt@112.135.87.84] has quit [Ping timeout: 240 seconds]
05:17 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
05:17 -!- mode/#go-nuts [+v iant] by ChanServ
05:21 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 246 seconds]
05:21 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
05:33 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
05:33 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:33 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
05:42 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has quit
[Quit: derferman]
05:52 -!- Maser [~Maser@unaffiliated/maser] has joined #go-nuts
05:52 -!- Maser [~Maser@unaffiliated/maser] has left #go-nuts []
05:52 -!- boscop [~boscop@f055152232.adsl.alicedsl.de] has joined #go-nuts
05:56 -!- cafesofie [~cafesofie@rnwifi-164-107-93-155.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
05:57 -!- boscop [~boscop@f055152232.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
06:00 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
06:00 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
06:09 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
06:11 -!- cafesofie [~cafesofie@rnwifi-164-107-93-155.resnet.ohio-state.edu] has
joined #go-nuts
06:17 -!- illya77 [~illya77@6-70-133-95.pool.ukrtel.net] has joined #go-nuts
06:27 -!- pjm0616 [~user@114.200.203.243] has quit [Quit: pjm0616]
06:28 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
06:32 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
06:32 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
06:55 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
07:27 -!- kashia_ [~Kashia@port-92-200-38-82.dynamic.qsc.de] has joined #go-nuts
07:28 -!- Kashia [~Kashia@port-92-200-5-186.dynamic.qsc.de] has quit [Ping
timeout: 255 seconds]
07:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 264 seconds]
07:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
07:38 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
07:39 -!- aho [~nya@fuld-590c6127.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
07:42 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 250 seconds]
07:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
07:44 -!- Eko [~eko@76.252.12.180] has quit [Ping timeout: 240 seconds]
07:49 -!- hsaliak [~hsaliak@cm106.epsilon75.maxonline.com.sg] has joined #go-nuts
07:49 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
07:49 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
07:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 250 seconds]
07:51 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
08:02 -!- tvw [~tv@e176005153.adsl.alicedsl.de] has joined #go-nuts
08:02 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
08:02 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
08:02 -!- Eko [~eko@adsl-76-252-12-180.dsl.ipltin.sbcglobal.net] has joined
#go-nuts
08:03 -!- pjm0616 [~user@114.200.203.243] has joined #go-nuts
08:05 -!- Mr_Dark` [~dk@poviko.demon.nl] has joined #go-nuts
08:06 -!- Mr_Dark [~dk@poviko.demon.nl] has quit [Ping timeout: 246 seconds]
08:10 -!- nettok_ [~quassel@200.119.158.92] has quit [Ping timeout: 276 seconds]
08:17 -!- nettok [~quassel@200.119.158.92] has joined #go-nuts
08:20 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
08:21 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
08:26 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
08:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
08:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
08:33 -!- kashia_ [~Kashia@port-92-200-38-82.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
08:37 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
08:40 -!- Kashia [~Kashia@port-92-200-59-71.dynamic.qsc.de] has joined #go-nuts
08:40 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
08:41 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
08:41 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-hizxbthwjfubjdzf] has quit [Read
error: Connection reset by peer]
08:42 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-aossavjaaiixgcrw] has joined
#go-nuts
08:44 -!- photron_ [~photron@port-92-201-52-23.dynamic.qsc.de] has joined #go-nuts
08:46 -!- Project_2501 [~Marvin@82.84.64.200] has joined #go-nuts
08:50 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Read error:
Operation timed out]
08:51 -!- adg [~nf@2001:470:21:20::4444:61d9] has quit [Read error: Operation
timed out]
08:53 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 276 seconds]
08:53 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
08:54 -!- adg [~nf@2001:470:21:20::4444:61d9] has joined #go-nuts
08:54 -!- mode/#go-nuts [+o adg] by ChanServ
08:55 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts
08:59 -!- snearch [~snearch@f053003011.adsl.alicedsl.de] has joined #go-nuts
08:59 -!- wrtp [~rog@92.17.28.181] has joined #go-nuts
09:03 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has
joined #go-nuts
09:06 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
09:07 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has quit
[Client Quit]
09:12 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 264 seconds]
09:12 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
09:13 -!- Kashia [~Kashia@port-92-200-59-71.dynamic.qsc.de] has quit [Quit: This
computer has gone to sleep]
09:23 -!- Scorchin [~Scorchin@host86-147-116-104.range86-147.btcentralplus.com]
has joined #go-nuts
09:24 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 264 seconds]
09:24 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
09:25 -!- nettok [~quassel@200.119.158.92] has quit [Ping timeout: 264 seconds]
09:25 -!- snearch [~snearch@f053003011.adsl.alicedsl.de] has quit [Quit:
Verlassend]
09:28 -!- femtoo [~femto@95-89-248-140-dynip.superkabel.de] has joined #go-nuts
09:29 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
09:30 -!- Qvist_ [~erik@c-66cde455.05-294-6c6b701.cust.bredbandsbolaget.se] has
joined #go-nuts
09:47 -!- artefon [~thiago@20158072033.user.veloxzone.com.br] has joined #go-nuts
09:50 -!- wrtp [~rog@92.17.28.181] has quit [Ping timeout: 240 seconds]
09:50 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
09:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
09:54 -!- wrtp [~rog@92.17.28.181] has joined #go-nuts
09:58 -!- thiago__ [~thiago@20158005018.user.veloxzone.com.br] has joined #go-nuts
10:01 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
10:01 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
10:02 -!- artefon [~thiago@20158072033.user.veloxzone.com.br] has quit [Ping
timeout: 276 seconds]
10:04 -!- femtoo [~femto@95-89-248-140-dynip.superkabel.de] has quit [Ping
timeout: 240 seconds]
10:12 -!- femtoo [~femto@95-89-248-140-dynip.superkabel.de] has joined #go-nuts
10:16 -!- ronnyy [~quassel@drsd-4db3e705.pool.mediaWays.net] has joined #go-nuts
10:16 -!- jkakar [~jkakar@176.Red-79-155-139.dynamicIP.rima-tde.net] has joined
#go-nuts
10:20 -!- sauerbraten [~sauerbrat@p508CE8E6.dip.t-dialin.net] has joined #go-nuts
10:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
10:21 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
10:30 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts
10:34 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
10:36 < mosva> Can Go be ever ask fast a C/C++?
10:36 < mosva> *as
10:36 < aiju> yeah
10:36 < aiju> Go *is* as fast as C for many things
10:37 -!- Project-2501 [~Marvin@82.84.71.194] has joined #go-nuts
10:39 -!- ronnyy [~quassel@drsd-4db3e705.pool.mediaWays.net] has quit [Remote host
closed the connection]
10:40 -!- Project_2501 [~Marvin@82.84.64.200] has quit [Ping timeout: 240 seconds]
10:44 -!- virtualsue [~chatzilla@nat/cisco/x-snhkoxkoihdtxydq] has joined #go-nuts
10:50 < jumzi> aiju: Isn'
10:50 < jumzi> t it better to say
10:50 < jumzi> Can C ever be as fast as assembly?
10:51 < aiju> jumzi: C is already faster than human-written assembly in most
cases
10:51 < Namegduf> Can the instructions Go produces be faster than those
produced by a C compiler?
10:51 < jessta> mosva: for somethings probably not, but there are good
reasons for that
10:52 < Namegduf> Sure; take a really bad C compiler and vs it against
gccgo, which should be optimising.
10:52 < cde> computers are already faster than humans in most cases
10:52 < Namegduf> Can it be in the same ballpark in similarly usable
compilers?  Probably.
10:53 < Namegduf> I think the goal was within 10-20% of the performance.
10:53 < jumzi> Yeah a *really* well written compiler should be in the C
park...  depending on how the gc work goes
10:54 < Namegduf> The GC looks like it isn't too bad
10:54 < Namegduf> In some fairly memory allocation/garbage generating heavy
code of mine I see 15% or so of time being spent in the GC when big numbers are
plugged in and total memory usage is about 300MB
10:55 < Namegduf> According to 6prof.
10:55 -!- wrtp [~rog@92.17.28.181] has quit [Quit: wrtp]
11:04 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
11:04 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
11:08 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 255 seconds]
11:10 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
11:10 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
11:10 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
11:12 < mosva> var arrayOfInt [10]int
11:12 < mosva> . Why not var arrayOfInt int[10]?
11:13 < aiju> mosva: ease of parsing
11:13 < aiju> classical bikesheds issues in Go were usually resolved with
"what's easier to parse"
11:14 < mosva> I like int[1].  ;(
11:14 < Esmil> I thought it was to avoid something like this:
http://c-faq.com/decl/spiral.anderson.html
11:15 < nsf> also it's much easier to read
11:15 < nsf> yes
11:15 < aiju> i never had a problem with C declarations
11:15 < aiju> of course you can just make up crap, but i never had that in
any actual program
11:15 < jumzi> aiju: Well now you have
11:15 < nsf> int (*(*ptr)[10])()
11:15 < nsf> try read this
11:15 < nsf> :D
11:16 < mosva> wow, Its like you are all waiting for something to argue with
11:16 < nsf> var ptr *[10]func() int
11:16 < nsf> Go variant
11:16 < nsf> mosva: trolls, yeah
11:17 < aiju> what the fuck
11:17 < nsf> gimme fooood
11:17 < aiju> i haven't been trolling, i just said that i find all those C
declarations things are highly overrated
11:17 < aiju> and i acknowledge that Go does it better
11:17 < nsf> relax, I'm talking about myself, I'm a troll, yes
11:18 * aiju is working on a fucking assignment for school right now
11:18 * jumzi pats aiju
11:18 * mosva is willing to help aiju fuck
11:18 < aiju> haha
11:19 < aiju> no, not about fucking, about music
11:19 < mosva> You doing a music assignment using Go?
11:19 < aiju> haha no
11:19 < Namegduf> That'd be kinda awesome.
11:19 < jumzi> Using channels!
11:19 < mosva> yeah
11:19 < aiju> <-gagaku
11:21 < mosva> Now i agree, [3]int{1,2,3}
11:21 < mosva> is more readable than int[3]{1,2,3}
11:22 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 265
seconds]
11:22 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
11:22 < zozoR> but you would write [...]int{1,2,3} instead lol
11:22 < zozoR> :D
11:22 < nsf> you can read Go nicely from left to right
11:23 < zozoR> i wish more people were working on go..  so it could become
even more awesome :D
11:24 < aiju> haha
11:24 < aiju> zozoR: you haven't MMM, do you?  :P
11:24 -!- niemeyer_ [~niemeyer@201-40-141-234.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
11:24 < aiju> +read
11:24 < zozoR> MMM?
11:24 < aiju> mythical man-month
11:24 < zozoR> wtf is that xD
11:24 < aiju> gets down to "too many cooks spoil the broth" ;)
11:25 < zozoR> ah true ''
11:25 < aiju> http://en.wikipedia.org/wiki/Mythical_man-month
11:25 < zozoR> like firefox :D
11:26 < zozoR> i wonder why they added an append function to slices, but not
a remove : |
11:26 < cde> zozoR: yes, it makes no sense
11:26 < aiju> just slice the slices and append 'em
11:26 < zozoR> haha, didnt know you could do that xD
11:26 < aiju> append is a bit more annoying to do manually
11:27 < aiju> (if you ever programmed C you know what i mean)
11:27 < zozoR> list = append(list, list[:3], list[5:]) like thats?  :P
11:27 < niemeyer_> aiju: The reverse of append is: s = s[:len(s)-1]
11:28 < niemeyer_> aiju: Sorry, not for you
11:28 < nsf> zozoR: no
11:28 < aiju> niemeyer_: yeah, but it's more difficult in the middle
11:28 < niemeyer_> zozoR: The reverse of append is: s = s[:len(s)-1]
11:28 < nsf> list = append(list[:3], list[5:])
11:28 < zozoR> nsf: ah
11:28 < zozoR> niemeyer_: i dont want reverse, i want remove :P
11:28 < zozoR> different things
11:28 < aiju> that's not reverse
11:28 < aiju> niemeyer's thing removes the last element
11:29 < nsf> zozoR: but it will remove few element
11:29 < nsf> elements*
11:30 < zozoR> few?
11:30 < nsf> or 1
11:30 < zozoR> oh yea
11:30 < zozoR> 2
11:30 < nsf> or 1 :)
11:30 < nsf> I don't know
11:30 < zozoR> list[:3] would be the first 3 entries..  and list[5:] would
be 5 and onward
11:31 < nsf> 5th and onward
11:31 < nsf> so, it will remove 1, yes
11:31 < zozoR> so entry 3 and 4 would be gone (or in the list still
referenced somehow)
11:32 < nsf> ah, hes
11:32 < nsf> yes*
11:32 < nsf> it will remove 2 elements with indices 3 and 4
11:32 < zozoR> just tested in python, and im right :3
11:32 < nsf> and the syntax is wrong
11:32 < zozoR> doesnt matter :D
11:32 < nsf> a = append(a[:3], a[5:]...)
11:33 < nsf> a := []int{0,1,2,3,4,5,6,7,8,9} // for this it prints:
11:33 < nsf> [0 1 2 5 6 7 8 9]
11:33 < zozoR> but the 4th and 5th entry would still linger in the memory..
wouldnt it?  according to the new golang blog entry
11:34 < zozoR> or something ''
11:34 < aiju> zozoR: yeah
11:34 < nsf> I don't think so
11:34 < nsf> shrinking should reuse the same slice
11:35 < nsf> but I haven't read this new blog post
11:35 < zozoR> as i understand it, it would point to 3rd entry, and then
skip the next two, and then point to 5th
11:35 < zozoR> when you slice it that way
11:35 < niemeyer> zozoR: Well, yes, the array won't be reduced in size
11:36 < nsf> at what point?
11:36 < zozoR> so when you do that alot you end up with a fragmented slice
11:36 < nsf> after append operation
11:36 < nsf> it will be the same slice
11:36 < nsf> and 3, 4 will be overwritten
11:36 < niemeyer> zozoR: Also, if it's a pointer, ideally it should be
zeroed to remove GC issues
11:36 < niemeyer> zozoR: No..  nsf is right
11:37 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-134.clienti.tiscali.it] has
joined #go-nuts
11:37 < aiju> are there even "fragmented slices"?
11:37 < Namegduf> A slice is always a single continuous block of memory
11:37 < Namegduf> No
11:37 < nsf> no
11:37 < nsf> afaik that kind of data structure has some name
11:37 < aiju> "array"
11:37 < nsf> basically a linked list of arrays
11:37 < niemeyer> Sparse
11:37 < nsf> yeah
11:38 < Namegduf> IRT slice syntax and append, what I like to remember is
that append(a[:x], a[x:]) does nothing
11:38 < aiju> isn't a slice just a pointer with len and cap?
11:38 < Namegduf> Right.
11:38 < nsf> it is
11:38 < Namegduf> What will happen is that the append will mutate the
underlying array.
11:38 < Namegduf> As said, yeah.
11:39 < aiju> probably even change to a different array
11:39 < Namegduf> Nah, I doubt it.
11:39 < aiju> well, if cap is exceeded
11:39 < Namegduf> append does that when cap is exceeded.
11:39 < Namegduf> This example can't exceed cap, because it always ends some
number of elements short.
11:40 < nsf> well
11:40 < aiju> Namegduf: yeah, in this case
11:40 < nsf> a = append(a, a...)
11:40 < nsf> in that case
11:40 < nsf> the 'a' will be a slice pointing to a new chunk of memory
11:40 < nsf> and there will be a garbage for GC
11:40 -!- Project_2501 [~Marvin@82.84.71.194] has quit [Ping timeout: 260 seconds]
11:40 < nsf> (previous 'a')
11:40 < Namegduf> Yeah.
11:41 < nsf> but shrinking will reuse the same memory most likely
11:41 < aiju> GC still sounds incredibly fishy to me …
11:41 < nsf> I still think GC sucks
11:41 < nsf> but I hope that in future it will be good enough even for me
11:42 < aiju> but free() with concurrency seems like pure insanity
11:42 < nsf> GC with concurrency means slowness
11:42 < Namegduf> Lack of GC makes it hard to be safe.
11:42 < aiju> yeah, but you're allowed to keep your sanity :)
11:43 < aiju> language safety is overrated … people will write bad code in
any language
11:43 < zozoR> and sanity is a good thing
11:43 < nsf> don't get me wrong, the idea of a GC is good
11:43 < Namegduf> aiju: Yes, but it takes a good language to make bad code
look bad
11:43 < nsf> but I haven't seen a good implementation of that so far
11:43 < Namegduf> ANd help good programmers write good code
11:44 < nsf> and langauge safety isn't overrate (if we're talking about
memory safety)
11:44 < nsf> I don't remember how many days I had spent in debugging of C
apps
11:45 < nsf> some forms of memory corruptions really suck
11:45 < vegai> what do you think makes GC bad?
11:45 < vegai> the implementations?
11:45 -!- wrtp [~rog@92.17.28.181] has joined #go-nuts
11:45 < nsf> pauses
11:45 < zozoR> is it possible to see the underlying array of a slice?
11:45 < nsf> e.g.  unpredictable behaviour
11:46 < nsf> vegai: I think python is successful partly because it uses
reference counting :)
11:47 < vegai> I've been playing this hot indie game "Revenge of the Titans"
11:47 < vegai> afaik it's been implemented in Java
11:47 < nsf> and people write desktop software in it, and they know that
memory usage will be sane enough
11:47 < vegai> I haven't seen any pauses in it
11:47 < nsf> well, java has a good GC
11:47 < aiju> i'd rather write desktop software in assembly than in pyxthon
11:47 < nsf> I know that there are a lot of MMO servers written in Java
11:47 < nsf> in production
11:47 < vegai> ah, ok
11:47 < aiju> if java had a true garbage collector, all programs would
delete themselves upon execution …
11:48 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
11:48 < nsf> aiju: yeah, python is a bad choice
11:48 < zozoR> python is awesome:O
11:48 < nsf> but still, there are some projects in it
11:48 < nsf> I mean for desktop apps
11:48 < aiju> most java software i've seen so far has REALLY BAD MEMORY
USAGE
11:48 < zozoR> python is awesome for everything that doesnt require cpu
11:48 < vegai> aiju: I concur
11:49 < zozoR> and you have unlimeted memory
11:49 < aiju> zozoR: python is awesome for everything under 10 lines
11:49 < nsf> I haven't seen a single java project by myself
11:49 < nsf> but, I know few MMO servers that are written in Java
11:49 < aiju> nsf: given enough thrust even a brick will fly
11:49 < nsf> have no idea how they behave though
11:49 -!- wrtp [~rog@92.17.28.181] has quit [Ping timeout: 240 seconds]
11:49 < nsf> yeah
11:49 < zozoR> aiju: matter of oppinion
11:49 < nsf> EVE runs on stackless python with tons of hardware
11:49 < nsf> maybe there is something similar
11:50 < aiju> given enough hardware you can write production software in
ruby
11:50 < aiju> (opensuse build service)
11:50 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
11:51 < nsf> hehe
11:51 < aiju> zozoR: to paraphrase Knuth, Python is too baroque for my taste
11:51 < nsf> twitter was running on ruby for some time
11:51 < nsf> even after it became popular
11:52 < nsf> and github still runs on ruby
11:52 < aiju> we tried running the opensuse build service on our 2 GHz AMD64
server with 2 gigs of RAM
11:52 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
11:52 < aiju> it was too slow to be of ANY use
11:52 < aiju> and it slowed the whole system down MASSIVELY
11:53 < nsf> but it's a build service
11:53 < nsf> you need 4 core machine for that
11:53 < aiju> nsf: it wasn't building anything then
11:53 < aiju> it was just running
11:53 < nsf> build stuff is locked on 3 cores
11:53 < nsf> and everything else on a separate core
11:53 < nsf> e.g.  web
11:53 < nsf> hm..
11:53 < nsf> then why it was slow?
11:53 < aiju> i have no clue
11:54 < nsf> I don't think it's ruby's fault
11:54 < nsf> or whatever
11:54 < nsf> you were using
11:54 -!- wrtp [~rog@92.17.28.181] has joined #go-nuts
11:55 < wrtp> zozoR: what do you mean?
11:56 < wrtp> (i might have missed some intervening messages as i just got
disconnected)
11:56 < nsf> and about memory, python's memory consumption is ok
11:56 < zozoR> well, if you have a slice of len=3 and cap=5.  the underlying
array would be [x,x,x,?,?] or something
11:56 < nsf> yes
11:56 < wrtp> if you want to see the whole array, just slice a[0:cap(a)]
11:57 < zozoR> oh
11:57 < zozoR> cool
11:57 < wrtp> but if a is pointing somewhere into the middle of a larger
array, you can't see that larger array
11:57 < wrtp> (that is, you can't see any of it before the start of a)
11:58 < nsf> which is kind of weird, but nice at the same time :)
11:58 < zozoR> i want to see the whole array ^^
11:58 < wrtp> why?
11:59 < zozoR> curious
12:00 < zozoR> it was about the remove thing we talked about earlier
12:00 < zozoR> i want to see what is left in the array after a remove
12:01 < wrtp> ok, well, that does't move the beginning of the array, so you
could still see the whole array
12:01 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
12:02 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
12:03 < zozoR> ^^
12:03 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
12:03 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
12:07 < wrtp> zozoR: ??
12:07 < aiju> it's 2011 and people still insert pictures when UTF-8 would do
the trick
12:08 -!- thiago__ [~thiago@20158005018.user.veloxzone.com.br] has quit [Quit:
bye]
12:08 < nsf> ☺
12:08 < wrtp> aiju: yeah, but macos doesn't understand plan 9
alt-sequences...
12:08 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
12:09 < wrtp> and that face is too small on my screen to see its expression
:-)
12:09 < aiju> do you mean macos or macosx?
12:09 < wrtp> macosx
12:09 < aiju> i find it irritating when people mix those two up
12:09 < wrtp> aiju: macos has been dead a long time
12:09 < aiju> wrtp: W3C recommends it for webservers :)
12:09 < nsf> why?  because apple pays them?
12:10 < wrtp> does anything run macos any more?
12:10 < wrtp> macos IX that is
12:10 < aiju> wrtp: some people still do
12:10 < wrtp> i mean any current machines
12:10 < aiju> http://www.w3.org/Security/Faq/wwwsf1.html
12:11 < aiju> The safest Web site is a bare-bones Macintosh running a
bare-bones Web server.
12:11 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
12:12 < nsf> ☹
12:12 < wrtp> that just implies mac os non-x because the FAQ is out of date
12:12 < nsf> :D
12:12 < aiju> lol
12:13 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
12:13 < wrtp> anyway for all practical purposes these days, macos == macos X
12:13 < nsf> I don't understand why people like macosx that much
12:13 < wrtp> it's not windows
12:13 < aiju> it looks fancy
12:13 < wrtp> and it comes with lots of stuff that just works, well, out of
the box
12:13 < aiju> it's expensive therefore it is good
12:14 < nsf> but I do understand why some people don't like windows
12:14 < wrtp> linux does not work as well for quite a few things (unless you
really know what you're doing, probably)
12:14 < wrtp> and i like having unix underneath
12:15 < aiju> C:\Documents and Settings\aiju\My Documents\My Ass
12:15 < wrtp> i don't like macosx *that* much, but it's the most reasonable
of an over-engineered bunch.
12:16 < nsf> aiju: oh, yes
12:16 < aiju> i find Windows unusable
12:16 < nsf> :D
12:16 < nsf> I really hate on windows just one thing
12:16 < aiju> no sed, no awk, no service
12:16 < aiju> i *could* install lots of shit to just make it remotely usable
12:16 < nsf> I don't remember the name, but it's installation software
12:17 < aiju> INSTALLSHIELD
12:17 < nsf> and everyone's using it for some reason, even though it's
complete crap
12:17 < nsf> yeah
12:17 < aiju> and it's fucking impossible to reliable automatize ANYTHING
12:17 -!- Qvist_ [~erik@c-66cde455.05-294-6c6b701.cust.bredbandsbolaget.se] has
quit [Quit: Lost terminal]
12:17 < nsf> and the funnies part that I was living on windows for quite
some time
12:18 < nsf> just wasn't noticing all those problems
12:18 < wrtp> nsf: so what's your OS poison of choice?
12:18 < nsf> linux, particularly archlinux distro
12:19 < mosva> nsf, no debian?
12:19 < aiju> oh my god debian
12:19 -!- Qvist_ [~erik@c-66cde455.05-294-6c6b701.cust.bredbandsbolaget.se] has
joined #go-nuts
12:20 < nsf> no, I don't like debian
12:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Read error: Operation timed out]
12:20 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
12:21 < aiju> Ubuntu and Debian are best avoided
12:21 < mosva> aiju, which distro do you use?
12:22 < nsf> ubuntu is quite nice if you have no idea what's linux
12:22 < aiju> arch and opensuse, phasing the latter out
12:22 < mosva> and for servers?
12:22 < nsf> like for a newbie maybe, who doesn't want to dig in
12:23 < nsf> and I hate gentoo partly for the same reason as debian
12:23 < aiju> our server runs opensuse currently, i'd like to switch if it
weren't for NTARS
12:23 < aiju> i like gentoo somewhat
12:23 < nsf> debian guys simply apply too many patches to their software
12:23 < nsf> and gentoo is a software configuration hell
12:23 < nsf> it's like dll hell multiplied by 10
12:23 < aiju> if they wouldn't fuck up software that much, gentoo could be
somewhat nice
12:23 < mosva> nsf, so which one would you chooose for servers?
12:24 < nsf> mosva: I don't know honestly, I'll try archlinux
12:24 < aiju> i'd probably run slackware or openbsd on a server
12:24 < wrtp> things i didn't like about linux when i used it: - X windows;
- system settings scattered all over the place; - too many programs with
cursor-addressing output; - crappy, non-standard audio support; no really good
replacement apps for iphoto, itunes, etc
12:24 < wrtp> anyway, this is veering well off topic!
12:24 < nsf> wrtp: yeah, it's true
12:24 < aiju> i prefer X windows over that Mac OS X thingie
12:24 < nsf> but you know..  it's free and it's improving :)
12:25 < aiju> and yes, audio REALLY sucks
12:25 < wrtp> nsf: but perhaps you can understand now why people like mac os
X more?  :-)
12:25 < nsf> I can try
12:25 < nsf> but I constantly don't understand people anyway
12:25 < nsf> so, it's ok
12:25 < kimelto> because it is sooo 2011?
12:26 < aiju> there is no 2011 OS
12:26 < aiju> OS X is just a repackaged version of a 40 year old OS with
some extra surface fancyness
12:27 < aiju> some parts of all UNIX systems make me feel like i'm really
running a PDP-11 with a 110 baud terminal
12:27 < nsf> what parts?  :)
12:27 < aiju> almost all terminal programs
12:27 < nsf> I like them :D
12:28 * nsf is working on a Go gui lib for terminals
12:28 < nsf> :D
12:28 -!- lmoura [~lauromour@187.59.113.96] has joined #go-nuts
12:28 < aiju> the strange way how device files work under Linux
12:28 -!- lmoura_ [~lauromour@187.59.113.96] has quit [Read error: No route to
host]
12:28 < aiju> and everything related to networking _really_ _sucks_
12:28 < kimelto> why?
12:29 < aiju> Plan 9: dial(mknetaddr("google.com", "udp", "80"), 0, 0, 0)
12:29 < aiju> UNIX: <insert 100 lines of structure fuckery here>
12:29 < vegai> sounds like somebody has tasted the plan 9
12:29 < nsf> hehehe
12:29 < vegai> (I thought before you said that)
12:29 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
12:30 < aiju> Plan 9 apps work with IPv6 without even recompiling
12:30 < aiju> UNIX apps have to be REWRITTEN
12:30 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
12:30 < aiju> (not that i like IPv6 that much)
12:30 < nsf> valid arguments these are
12:31 < nsf> omg, I talk like Yoda
12:31 < aiju> but well; all of this is even ten times worse with Windows
12:31 < nsf> windows :P winapi :P hungarian notation :P
12:32 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
12:32 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 260 seconds]
12:32 < aiju> http://msdn.microsoft.com/en-us/library/aa363858(v=vs.85).aspx
12:32 < aiju> just look at the prototype
12:32 -!- user___ [~chatzilla@c-83-233-163-168.cust.bredband2.com] has joined
#go-nuts
12:32 < aiju> i can't do this without crying
12:32 < nsf> :D
12:32 * mosva changes the topic to "OS discussion"
12:33 < aiju> OS X may be repackaged UNIX, but Windows is repackaged CP/M
12:34 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has quit [Read
error: Connection reset by peer]
12:35 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
12:35 -!- wrtp [~rog@92.17.28.181] has quit [Ping timeout: 264 seconds]
12:36 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 260 seconds]
12:37 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
12:38 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
12:38 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
12:39 -!- wrtp [~rog@92.17.28.181] has joined #go-nuts
12:39 -!- femtooo [~femto@95-89-248-140-dynip.superkabel.de] has joined #go-nuts
12:41 -!- femtoo [~femto@95-89-248-140-dynip.superkabel.de] has quit [Ping
timeout: 240 seconds]
12:42 -!- user___ [~chatzilla@c-83-233-163-168.cust.bredband2.com] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.6.12/20101103192249]]
12:43 < aiju> http://www.kfunigraz.ac.at/~binder/serverinfo/vms.html if you
want to laugh …
12:47 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
12:47 -!- Xenith [~xenith@xenith.org] has quit [Read error: Operation timed out]
12:47 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-aossavjaaiixgcrw] has quit [Read
error: Connection reset by peer]
12:48 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-obwxomttxriyocua] has joined
#go-nuts
12:48 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Read error: Operation
timed out]
12:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 250 seconds]
12:50 -!- Xenith [~xenith@xenith.org] has joined #go-nuts
12:51 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
12:52 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
12:55 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
13:01 < zozoR> i dont understand why os.Environ doesnt return a map, instead
of strings with the form "key=value"
13:01 < taruti> What does a type switch do on a nil value?  the default
clause?
13:03 -!- artefon [~thiago@189.59.130.117.dynamic.adsl.gvt.net.br] has joined
#go-nuts
13:03 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
13:04 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
13:09 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
13:10 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
13:10 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 260 seconds]
13:13 < aiju> zozoR: By convention the strings in environ have the form
"name=value".  Common examples are:
13:13 < aiju> note "by convention"
13:14 < zozoR> some does not have that form?
13:14 < zozoR> weird :3
13:17 -!- WonTu [~WonTu@p57B52BE2.dip.t-dialin.net] has joined #go-nuts
13:17 -!- WonTu [~WonTu@p57B52BE2.dip.t-dialin.net] has left #go-nuts []
13:18 < aiju> http://p.remotehost.co/pastes/2011-01-07T08:19:02.raw
13:18 < aiju> works
13:19 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
13:20 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit:
DarthShrine]
13:20 -!- bjarneh [~bjarneh@1x-193-157-205-128.uio.no] has joined #go-nuts
13:21 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
13:22 -!- gr0gmint [~quassel@87.60.23.38] has joined #go-nuts
13:22 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
13:36 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Read error:
Operation timed out]
13:38 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
13:39 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has joined #go-nuts
13:39 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has quit [Changing
host]
13:39 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
13:40 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
13:48 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-134.clienti.tiscali.it] has
quit [Read error: Connection reset by peer]
13:49 -!- ios_ [~ios@180.191.89.63] has joined #go-nuts
13:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
13:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
13:52 -!- tensorpudding [~user@99.23.127.179] has quit [Remote host closed the
connection]
13:54 -!- cafesofie [~cafesofie@rnwifi-164-107-93-155.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
13:55 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
13:56 -!- artefon [~thiago@189.59.130.117.dynamic.adsl.gvt.net.br] has quit [Read
error: Connection reset by peer]
13:56 -!- boscop [~boscop@f055152232.adsl.alicedsl.de] has joined #go-nuts
13:56 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
14:00 -!- sacho [~sacho@95-42-68-160.btc-net.bg] has quit [Ping timeout: 240
seconds]
14:05 -!- alkavan [~alkavan@IGLD-84-229-36-224.inter.net.il] has joined #go-nuts
14:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
14:16 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
14:19 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
14:26 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
14:30 -!- jesmon [~user@static-71-244-114-122.albyny.fios.verizon.net] has joined
#go-nuts
14:35 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
14:35 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:37 < nsf> golanguage.ru is such a shame
14:37 < nsf> :(
14:37 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has joined #go-nuts
14:37 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has quit [Changing
host]
14:37 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
14:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 246 seconds]
14:42 < mosva> Its very difficult to use Google for learning go.  Because of
'go'
14:42 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
14:42 < nsf> mosva: it's not true
14:43 < nsf> all you need to learn Go is on the golang.org
14:43 < nsf> and few other web pages, but golang.org has all the links
14:43 < Namegduf> mosva: Search for "golang" instead of "go"
14:43 < aiju> unlike with other languages the Go library has a managable
size
14:43 < Namegduf> And I assume Google's results will get better.
14:44 < Namegduf> I like Go's stdlib's size.
14:44 < Namegduf> A lot of the ability to make small programs much faster
than in C comes from the stdlib, I think.
14:44 < Namegduf> Too big would be kinda bad, though.
14:44 < aiju> like in C writing stuff yourself is a serious alternative to
stdlib
14:45 < aiju> unlike in other languages where there is a serious performance
penalty associated with this
14:45 < Namegduf> Sure, I'll just write my own JSON decoder for my little
app
14:45 < Namegduf> I'll go ahead and do that
14:45 < nsf> :D
14:46 < Namegduf> No, writing stuff yourself is often not a serious
alternative, and in the case of protocol or file format implementations is often a
bad idea.
14:46 < aiju> well, you don't need a special library function to check
whether a string is a valid number, for example
14:46 < aiju> you can probably tell a good file format whether it is
feasible to write your own parser …
14:46 < wrtp> i tend to agree with aiju.  it makes a difference when
(almost) all the libraries are written in the language itself.
14:47 < Namegduf> "feasible" and "an efficient use of time" are very far
apart.
14:47 < wrtp> it means that the provided libraries aren't sacrosanct
14:47 < Namegduf> Them being written in the library is very nice.
14:47 < Namegduf> Er, the library being written in the language...
14:48 < aiju> with some languages it's often faster for me to just write it
myself than to look it up in the huge library …
14:48 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
Leaving.]
14:48 < Namegduf> What would be nice would be something CPAN-like for Go.
14:49 < Namegduf> I mean, even people who don't like Perl will use it on
occasion just because they can leverage almost all the stuff they need being
already written.
14:49 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
14:49 < Namegduf> And accessible.
14:49 -!- NuLLBiT [~mosva@122.172.116.223] has joined #go-nuts
14:50 < Namegduf> But yeah, I think a reasonably featureful stdlib is a nice
thing to have.
14:50 < kimelto> personally I can't stand cpan, pypi, rubygems and the like
:/
14:50 < nsf> goinstall is better?
14:50 < Namegduf> I don't consider goinstall useful
14:51 < nsf> I don't use it
14:51 < aiju> i prefer few powerful orthogonal primitives over a bataillion
of special cases
14:51 < Namegduf> Lack of versioning kills it for me, and it doesn't seem
like there's a solution in the works for that.
14:51 < Namegduf> I think I care more about random people being able to
reliably take a copy of my program and build it than some, though.
14:52 < Namegduf> Or at least *me* being able to consistently build my own
program without having to stop dev until someone unbreaks their thing, or if they
updated it for a new version, until everyone else does the same thing (at which
point I need to upgrade my own project)
14:53 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Ping
timeout: 240 seconds]
14:53 -!- mosva [~mosva@unaffiliated/mosva] has quit [Ping timeout: 260 seconds]
14:54 < Namegduf> It might work better when more projects get stable APIs a
while down the line, including Go itself.
14:55 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
14:56 <@adg> Namegduf: versioning won't fix the issue of people not updating
their code
14:58 < Namegduf> That's true.  It means that at least I can keep working
with an older version after one thing goinstall'd has updated, until everything
else has, though, so something working with a given version of Go will keep
working with that version.
15:01 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
15:01 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
15:09 -!- wtfness [~dsc@78.101.137.236] has joined #go-nuts
15:09 -!- sacho [~sacho@95-42-102-104.btc-net.bg] has joined #go-nuts
15:10 < Namegduf> What I mean is that versioning means that people not
updating limits my ability to update, rather than breaking my ability to develop;
not being able to update for a month isn't too bad, not being able to develop for
a month is awful.  I guess I don't like breaks-until-you-update-it changes in
stuff I use in general, but when the ability to update isn't in my own hands I
really dislike it.
15:10 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 260 seconds]
15:11 -!- foocraft [~dsc@89.211.119.46] has quit [Ping timeout: 240 seconds]
15:12 -!- virtualsue [~chatzilla@nat/cisco/x-snhkoxkoihdtxydq] has quit [Remote
host closed the connection]
15:12 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
15:13 < skelterjohn> my approach to versioning is to copy the entire source
tree to a new folder "1.0" or something, and promise to never change it
15:14 < nsf> I'm just trying to keep my apps in a working state (according
to release versions of Go)
15:14 < nsf> the most important one is gocode, it's a priority (due to a big
number of users)
15:18 < skelterjohn> you should figure out how to connect it to xcode
15:18 < aiju> haha
15:18 < aiju> oh sorry, wrong window
15:18 < skelterjohn> appropriate, none the less
15:19 < schilly> python has virtualenv to get different library versions for
different projects, is there something for go?  that might help
15:20 < schilly> (but i don't know goinstall, maybe it already covers that
...)
15:20 < skelterjohn> goinstall does not address the versioning issue
15:20 <@adg> in every case it is easier to just fix the broken code and move
on
15:20 < skelterjohn> it's just a way to quickly download and build a package
15:21 <@adg> what i am working on, though, is a way to report to package
maintainers when their code has broken
15:21 < skelterjohn> versioning doesn't only help with different versions of
go...  sometimes the package author will want to change the API as well
15:21 <@adg> and to allow users of those packages to check if something is
broken, and for how long, so they can get an idea of how well-maintained something
is
15:22 < Namegduf> You can't fix the broken code and move on if you depend on
multiple libraries
15:22 < Namegduf> And one has updated and the other has not
15:22 <@adg> why not?
15:22 < skelterjohn> a notice on the godashboard package list might be
appropriate for that
15:22 <@adg> i have done exactly that several times
15:22 < skelterjohn> adg: if you aren't the author of these multiple
packages, it can be tough
15:22 < Namegduf> There's no longer a version of Go for which both libraries
work.
15:22 < nsf> skelterjohn: xcode is on the mac, I don't have a mac
15:22 < skelterjohn> nsf: your loss *comfort*
15:22 < nsf> and I'm not interested in mac
15:23 < nsf> more users are good, but not _that_ good
15:23 < skelterjohn> repent, ye who has not been saved!
15:23 < nsf> :D
15:23 <@adg> skelterjohn: the breakages between go versions are never that
difficult to fix
15:23 -!- NuLLBiT [~mosva@122.172.116.223] has left #go-nuts []
15:23 <@adg> skelterjohn: most of the time it's a matter of some search and
replace
15:23 < Namegduf> Yeah, but to do that you'd have to fork the packkage,
right?
15:23 <@adg> you can just edit it in your local environment, the changes
won't get clobbered by goinstall
15:24 <@adg> in fact the particular VCS should do a reasonable job of
keeping your changes around even if the package is updated
15:24 < Namegduf> *package, damnit
15:24 <@adg> i don't deny that this is a very real frustration though
15:24 < Namegduf> I suppose you could temporarily fork it until they got
updated, but that seems somewhat more painful than just forking everything you use
in the first place
15:25 <@adg> i just can't see a solution that is not more complicated than
what we're experiencing already
15:25 < Namegduf> And updating it by dumping in upstream changes
irregularly.
15:25 < Namegduf> (Which is what I'm doing)
15:25 <@adg> that's also a valid approach
15:26 < mpl> I find it easier to keep up with the changes regularly on my
dev machine and on the production ones just fix all the breakages once in a while,
especially since I already know the fixes.
15:26 < wrtp> apart from versioning, i'd also like: a) a way to tell good
packages from bad b) a way to browse package documentation without goinstalling it
and running my own godoc
15:27 < Namegduf> It'd be nice if the author ran their own godoc instance.
15:27 < Namegduf> Kinda hard to do when you're using bitbucket or github or
such, though.
15:27 < taruti> It would be nice if godoc could generate docs that could be
uploaded to bitbucket/github
15:27 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has joined #go-nuts
15:28 < nsf> wrtp: I have a solution for docs: github.com/nsf/gortfm
15:28 < wrtp> where a "good" package might mean that it compiles fine, or
that it's got good reviews, or that it's been "blessed" by the go authors
15:28 <@adg> wrtp: i'm working on (a), but (b) is a great idea also
15:28 < nsf> gortfm generates docs like this: http://nsf.github.com/go/
15:28 < Namegduf> Maybe someone could setup a community godoc and put in all
the third party libs on cat-v?
15:29 <@adg> wrtp: we're wary of 'blessing' packages
15:29 <@adg> but i'm interested in defining some automated criteria by which
we can flag things as 'good'
15:29 < taruti> nsf: looks good
15:29 < aiju> grep for xml
15:30 < nsf> although the docs are keyboard-oriented
15:30 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
15:30 < Namegduf> Haha.
15:30 < nsf> you can browse it without mouse
15:30 < Namegduf> Nice.
15:31 < wrtp> adg: some packages are definitely more "core" than others, eg.
freetype, protobuf
15:31 < wrtp> it would be nice to know which ones are
15:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
15:32 < wrtp> b) would be quite straightforward if the central godoc server
installed (without building) all the godashboard packages
15:33 < wrtp> but the presentation could be better (3rd party packages
shouldn't be mingled in with core go packages)
15:33 < Namegduf> I think a separate godoc installation doing that would be
a nice idea.
15:33 <@adg> that mightn't be too hard
15:33 < wrtp> why separate?
15:35 < Namegduf> I guess it wouldn't need to be separate if there was
another way to present them separately and the main team were interested, and it
could be made to only happen on a specific flag or something so running your own
godoc instance doesn't do it.
15:36 < wrtp> i'm not sure that godoc itself would need to do the
installation, although i suppose it could
15:37 < Namegduf> That's true.
15:37 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts
15:38 <@adg> i'm not hugely keen to allow anyone to put content on
golang.org
15:38 < aiju> spam spam spam spam spam spam spam lovely spam spam spam
15:38 <@adg> maybe on some subdomain, but you must consider that these
things are always abused by some idiot
15:40 < wrtp> anyone can put content on http://godashboard.appspot.com/ ...
15:41 < wrtp> it's perhaps a little better that you can't put arbitrary
links into documentation, and the namespace is managed by the source code
repositories
15:42 < wrtp> maybe godashboard could have a "doc" link pointing to a godoc
instance with all the packages installed
15:43 < wrtp> that way 3rd party package documentation is only accessible
through a known gateway, not directly on golang.org
15:44 < mosva> Is there a website for finding/listing Go libraries?
15:44 -!- Venom_X [~pjacobs@75.92.43.21] has joined #go-nuts
15:44 < nsf> mosva: http://go-lang.cat-v.org
15:45 < nsf> and: http://godashboard.appspot.com/project
15:48 < wrtp> if there's some user feedback then spam repositories should
disappear pretty quickly
15:51 < nsf> I think it's just a process of reinventing of "ruby gems" or
cpan or AUR (archlinux user repository) and things like that
15:51 < nsf> there are things like that out there (for managing user
submitted packages, flagging them as out-of-date, ranking them, etc)
15:51 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
15:52 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
15:53 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
15:54 -!- hsaliak [~hsaliak@cm106.epsilon75.maxonline.com.sg] has quit [Quit:
Leaving]
15:54 -!- bjarneh [~bjarneh@1x-193-157-205-128.uio.no] has quit [Read error:
Operation timed out]
15:57 -!- bjarneh [~bjarneh@1x-193-157-205-128.uio.no] has joined #go-nuts
15:57 < wrtp> nsf: BTW gortfm still isn't a decent solution, because i still
have to download the package and run gortfm on it, and if i'm gonna do that, i may
as well just run godoc locally.  and gortfm doesn't provide search AFAICS.
15:58 < nsf> but it provide a way do generate static docs (html files)
15:58 < nsf> and they aren't really static
15:58 < nsf> there is a heavy javascript usage
15:58 < nsf> fuzzy-logic based filtering, but on a per-package basis only
15:59 < nsf> so it's kind of a search and at the same time it's not
15:59 < nsf> the idea is keyboard-driven browsing, not searching
16:00 < Namegduf> Hmm.
16:01 < wrtp> personally, i don't care if the docs are static (i like it if
the doc updates when the code changes), i prefer to use the mouse, and
cross-package searching is important to me, but mileage varies.
16:01 < Namegduf> It'd be nice to have an efficient run-function-after-time
implementation that didn't require blocking a goroutine per timer yourself.
16:01 < wrtp> Namegduf: see time.After
16:01 < Namegduf> wrtp: That would require blocking a goroutine per time
yourself
16:01 < nsf> wrtp: but I agree that gortfm is not a decent solution
16:01 < nsf> it's simply not for everyone
16:01 < nsf> I did it for myself mainly :)
16:01 < Namegduf> There's use cases with very large numbers of timers for
which that's not a good solution.
16:02 < Namegduf> Hundreds of thousands of goroutines would kind of suck
16:02 < nsf> Namegduf: afaik time.  uses single goroutine for all timers
16:02 < nsf> 'time.'*
16:02 < wrtp> if there was a version of time.After that allowed providing a
channel rather than returning a channel, it's be ok
16:02 < wrtp> s/it's/it'd/
16:03 < Namegduf> nsf: That's true, but time.* does not provide the
functionality I described.
16:03 < Namegduf> nsf: It can only send a message down a channel when the
timer expires, not call a function.
16:03 < Namegduf> So you'd have to block your own goroutine on that channel.
16:03 < nsf> true
16:03 < Namegduf> I'm thinking connection timeouts and expiring entries here
16:04 < nsf> request a feature, I don't know :)
16:04 < Namegduf> As well as liveness checks
16:04 < Namegduf> A goroutine per timer for that would be kinda memory
heavy.
16:05 < Namegduf> nsf: If it'd be accepted, that could be a good idea.
16:06 < nsf> I have no opinion on that :)
16:08 < Mr_Dark> good afternoon
16:08 < Mr_Dark> *or morning
16:08 < Namegduf> nsf: Well, that's kinda why I brought it up instead of
making a feature request
16:08 < Namegduf> Wanted to see if other people thought it was a useful idea
or not.
16:08 < Namegduf> I will need it eventually when I get around to actually
implementing that functionality, but I can implement it inside my project anyway.
16:11 < aiju> http://www.abload.de/img/storage_objektmodellsd1j.png <--
why I prefer Go over C#
16:11 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
16:13 < nsf> aiju: oh, I bet we'll see that in Go too, but at least not in a
standard library
16:13 < nsf> where is it from?
16:13 < Namegduf> What IS it?
16:13 < wrtp> it'd be fairly trivial to adapt the code from time.After to
support a "pool of goroutines running functions" scenario
16:13 < aiju> UML of some OOP / ORM heavy commercial program
16:13 -!- alkavan [~alkavan@IGLD-84-229-36-224.inter.net.il] has quit [Quit:
Leaving]
16:13 < Namegduf> Ah.
16:14 < Namegduf> I admit, one of the things I like best about Go is the
lack of OO
16:14 < nsf> +1
16:15 < vegai> OO truly is a misfeature in many languages
16:15 * vegai presents ActiveMQReactorFactory
16:18 < Namegduf> Interfaces as a method of abstraction and permitting "old
code to use new code" are so much nicer, and don't involve having to try to
protect against the future in the present.
16:18 -!- shvntr [~shvntr@113.84.148.74] has quit [Ping timeout: 260 seconds]
16:19 < Namegduf> Requiring an interface representing the (often one
function) you need from the type are much better than trying to figure out an
object hierarchy in advance, and fitting all new code into that hierarchy.
16:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
16:20 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
16:22 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
16:22 -!- Project_2501 [~Marvin@82.84.84.214] has joined #go-nuts
16:23 -!- enherit [~enherit@75.92.111.122] has joined #go-nuts
16:24 -!- shvntr [~shvntr@221.172.251.48] has joined #go-nuts
16:27 -!- dju [dju@fsf/member/dju] has quit [Read error: Connection reset by peer]
16:27 -!- dju [dju@fsf/member/dju] has joined #go-nuts
16:28 -!- binarypie [~binarypie@c-24-6-151-185.hsd1.ca.comcast.net] has joined
#go-nuts
16:33 -!- devrim [~Adium@160.79.7.234] has joined #go-nuts
16:35 < wrtp> Namegduf: see http://pastebin.com/Hj8TiWDn
16:35 < wrtp> it seems to work
16:35 < wrtp> i'm referring to the DoAfter function
16:36 < wrtp> the down side of the implementation is that the pool of
function-executing goroutines can grow without bound, and never shrinks
16:41 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
16:42 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
16:44 -!- enherit [~enherit@75.92.111.122] has quit [Ping timeout: 240 seconds]
16:44 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:49 < wrtp> Namegduf: is that the kind of thing you were after?
16:50 < Namegduf> Yeah, that looks good.
16:51 -!- ios_ [~ios@180.191.89.63] has quit [Quit: Leaving]
16:54 < wrtp> limiting the number of goroutines in the pool is awkward
though.  maybe it's better just to start a new one each time anyway.
16:55 < Namegduf> I'd go with starting a new one and hoping that the Go
implementation eventually gets starting a new goroutine to do an arbitrary thing
to the same speed as reusing an existing one, maybe through its own pool.
16:55 < Namegduf> I don't think there's a reason it can't or shouldn't,
right?
16:59 < Namegduf> Hmm.  The queue in't actually kept sorted?
16:59 < wrtp> yeah you're right
16:59 < wrtp> it's a heap
16:59 < Namegduf> sleeper() seems to assume that the first thing is the
earliest
16:59 < wrtp> it is
16:59 < wrtp> 'cos it's a heap
17:00 < Namegduf> Why would it be?
17:00 < Namegduf> Well...  it'd be the earliest one added, I guess.
17:00 < Namegduf> I'm not sure why that'd be interesting when adding a new
one to the end, though.
17:01 < wrtp> it's a heap invariant
17:01 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
17:01 < wrtp> see the documentation; http://golang.org/pkg/container/heap/
17:02 < wrtp> it's not obvious though (implied by Pop == Remove(0))
17:02 < Namegduf> How does Push() maintain that invariant?
17:03 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 240 seconds]
17:03 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
17:04 < wrtp> see the implementation of up() in heap.go
17:04 -!- iant [~iant@216.239.45.130] has joined #go-nuts
17:04 -!- mode/#go-nuts [+v iant] by ChanServ
17:04 < wrtp> it's a standard binary heap.  see wikipedia etc for details of
the algorithm.
17:05 < Namegduf> Ah, I see.  You're calling eventHeap's Push through
heap.Push
17:05 < Namegduf> Which does that for you.
17:06 < wrtp> yes
17:06 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts
17:06 < wrtp> "heap.Push" is a bit of a giveaway :-)
17:07 < Namegduf> It requires it clicking that "heap" is the package, not a
reference to the actual instance of a heap, which is called something else
17:07 < Namegduf> Which is why I missed it when reading.
17:09 < wrtp> yeah i see.  two arguments too, which is the other clue.
17:10 < Namegduf> It's mostly that the design caught me out, I'm not used to
types which don't actually provide their invarients through their own methods, but
through package functions their methods are to be called through, that's all.
17:10 < Namegduf> The reason I was looking for the thing that up() does is
to see how it worked.
17:11 < Namegduf> I was thinking that if I implemented this to handle a
large number of timers I might have used a skip list to avoid adding n timers
being O(n^2)
17:11 < Namegduf> And I wanted to see if this implementation did it the way
I thought it would.
17:12 < wrtp> for this application, a heap is sufficient, and might be more
efficient.
17:12 < wrtp> it doesn't need to maintain a fully sorted list.
17:23 -!- teejae [~teejae@softbank219185095092.bbtec.net] has joined #go-nuts
17:23 < Namegduf> Yeah, that should be as fast anyway.
17:24 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
17:24 < teejae> hey guys, can i get a quick style review from you for a
small project i'm working on?
17:25 < teejae> https://github.com/teejae/go-otp
17:26 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
17:26 < teejae> it's an implementation of an OTP (one time pad) package
17:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
17:31 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
17:32 < wrtp> Namegduf: http://codereview.appspot.com/3905041
17:33 < wrtp> we'll see if it gets accepted
17:33 -!- Eko [~eko@adsl-76-252-12-180.dsl.ipltin.sbcglobal.net] has quit [Ping
timeout: 272 seconds]
17:34 < wrtp> anyone know of a JSON pretty printer for Go?
17:34 -!- emjayess [~emjayess@pix1.i29.net] has quit [Ping timeout: 276 seconds]
17:34 < Namegduf> wrtp: Awesome.
17:35 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Read error:
Connection reset by peer]
17:37 -!- Eko [~eko@ppp-70-225-140-127.dsl.ipltin.ameritech.net] has joined
#go-nuts
17:37 < skelterjohn> teejae: I don't really understand the purpose of your
project
17:38 < teejae> skelterjohn: purpose?  its just to have the implementation
of the one-time-pad protocol
17:38 < skelterjohn> is one-time-pad a protocol?
17:38 < teejae> well, conceptually no
17:38 < teejae> but there's a standard
17:38 < skelterjohn> then i need further explanation :)
17:39 < teejae> http://en.wikipedia.org/wiki/HOTP
17:39 < teejae> a few different ones
17:39 < teejae> like the RSA tokens that bankers use
17:39 < teejae> and newer is that wikipedia article
17:39 < teejae> there are rfcs
17:39 < teejae> it's used for 2-factor authentication
17:39 < skelterjohn> reference number 3 on that wiki matches what i'm
thinking
17:40 < skelterjohn> also, it says OTP refers to one-time-password in this
context
17:40 -!- shvntr [~shvntr@221.172.251.48] has quit [Quit: 入棺时辰已到]
17:40 < skelterjohn> which has a different connotation than one-time-pad
17:41 < wrtp> yeah, that suddenly makes a little bit more sense to me
17:41 < teejae> skelterjohn: they're the same to me
17:41 < teejae> one-time-password and one-time-pad are the same
17:41 < skelterjohn> password is used to identify
17:41 < skelterjohn> pad is used to encrypt
17:41 < wrtp> a password is used as a key for further encryption.  a
one-time-pad is used directly to encrypt (e.g.  with xor)
17:42 < teejae> its an arbitrary sequence of digits used to change
17:42 < teejae> ok
17:42 < teejae> i'll rename this then ;)
17:50 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
17:50 < teejae> so any style comments?  just ran gofmt on it.  but just more
idioms and whatnot
17:50 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
17:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
17:54 < skelterjohn> math.Pow
17:55 < skelterjohn> i guess there is a chance that might have inaccuracies
for higher numbers
17:56 < teejae> skelterjohn: yea, i didn't want to use float64, esp since i
wanted int space
17:56 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-161-18.clienti.tiscali.it] has
joined #go-nuts
17:56 < skelterjohn> you can still compute ** faster
17:56 < teejae> skelterjohn: i guess i could make it do squaring, but either
way
17:56 < skelterjohn> right
17:57 < teejae> its just gonna be 10 ^ x
17:57 < skelterjohn> i guess speed isn't the important bit
17:57 < teejae> yea
17:57 < teejae> just wanted correct implementation
17:57 < skelterjohn> so the idea is that you create this generator, using a
secret key, and it generates passwords for you?
17:58 < teejae> actually, i have no real test cases, so not even sure what
it's supposed to be.  for example, the spec doesn't mention what the counter
should be
17:58 < teejae> and that surely affects the hashes
17:59 < teejae> nm, counter is 8byte, so uint64 is right
17:59 < skelterjohn> it seems kind of like rand.Seed
17:59 < skelterjohn> but i don't really know what's going on
17:59 < teejae> skelterjohn: you mean HOTP seems like rand.Seed?
17:59 < skelterjohn> no - the counter
17:59 < teejae> oh
18:00 -!- Project_2501 [~Marvin@82.84.84.214] has quit [Ping timeout: 265 seconds]
18:00 < skelterjohn> you get a sequence of passwords that are a function of
the secret key and the counter
18:00 < teejae> right
18:00 < skelterjohn> so you just tell it where in that sequence you want to
start
18:00 -!- felipe [~felipe@unaffiliated/felipe] has quit [Ping timeout: 276
seconds]
18:00 < teejae> only HOTP is a publicly known alg
18:01 < teejae> whereas rand is any arbitrary alg
18:01 -!- pjm0616 [~user@114.200.203.243] has quit [Read error: Connection reset
by peer]
18:01 < skelterjohn> that's not the level i'm talking at
18:01 < skelterjohn> a pseudo random generator will give you a sequence of
numbers
18:02 < skelterjohn> that sequence is a function of the seed
18:02 < teejae> then yes, i agree
18:02 < skelterjohn> though there is less of a relation between a seed of x
and x+1, as there is with your code
18:03 -!- enherit [~enherit@75.92.111.122] has joined #go-nuts
18:03 < teejae> how's the code structure?
18:03 -!- Project_2501 [~Marvin@82.84.98.178] has joined #go-nuts
18:03 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
18:03 < teejae> does it "look" like Go code, however that's supposed to
look?
18:03 < skelterjohn> i guess?  it's pretty straightforward
18:03 < skelterjohn> i don't think that is something that you should worry
about
18:04 < teejae> like do people use defer like i do to reset the hashing
function?
18:04 < skelterjohn> why do you reset it before and after each use?
18:04 < skelterjohn> seems like reseting it before would be sufficient
18:04 < teejae> since this is about cryptography
18:04 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
18:05 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-161-18.clienti.tiscali.it] has
quit [Ping timeout: 255 seconds]
18:05 < teejae> i presume that i want to clear memory asap
18:05 < teejae> i know the data is still all there (counter/key)
18:05 < skelterjohn> then what you did is not perfectly secure, nor could it
be, in that sense
18:05 < skelterjohn> there could be a race condition with you reseting the
hash and someone checking memory
18:06 < teejae> right
18:06 < teejae> just trying to clean up as much as i can
18:06 < skelterjohn> but if you reset it after, then there is no need to
reset it before for the next one
18:06 < skelterjohn> since it is already reset
18:07 < teejae> yea, i know.  just figured it's "safer", or a bit more
defensive
18:08 < skelterjohn> it does nothing
18:09 < skelterjohn> unless you mean someone could sneakily edit the memory
to change the hash?
18:09 < skelterjohn> if your attacker has this level of access, there is
nothing you can do
18:09 < skelterjohn> the attacker may as well rewrite your code at this
point
18:09 < teejae> skelterjohn: i was considering allowing the client to pass
in a hash fn factory
18:09 < teejae> or a hash.Hash
18:10 < skelterjohn> so that the key would be in memory for a short time?
18:10 < teejae> yea, or at least the client would be responsible somehow
18:10 < skelterjohn> so, i'm not a cryptology expert, or even one who uses
it beyond https, but this all seems like overkill
18:10 < skelterjohn> and not a good use of effort
18:10 < teejae> the reset?
18:11 < skelterjohn> the other stuff
18:11 < teejae> other stuff meaning?
18:11 < skelterjohn> you can't protect your code against being rewritten by
changing your code
18:12 < teejae> ok
18:25 < skelterjohn> I have a function DropAssignment and a mighty
temptation to shorten it to DropAss
18:25 < skelterjohn> but i shall not
18:28 -!- femtooo [~femto@95-89-248-140-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
18:42 -!- devrim [~Adium@160.79.7.234] has quit [Quit: Leaving.]
18:43 -!- soliloquery [soliloquer@184-77-52-122.gar.clearwire-wmx.net] has joined
#go-nuts
18:43 -!- soliloquery [soliloquer@184-77-52-122.gar.clearwire-wmx.net] has left
#go-nuts []
18:47 -!- emjayess [~emjayess@pix1.i29.net] has quit [Ping timeout: 250 seconds]
18:48 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
18:50 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
18:58 -!- sacho [~sacho@95-42-102-104.btc-net.bg] has quit [Ping timeout: 240
seconds]
18:59 -!- enherit [~enherit@75.92.111.122] has quit [Ping timeout: 255 seconds]
19:02 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
19:02 -!- Davidian1024 [~Davidian1@173.88.163.203] has joined #go-nuts
19:03 -!- Venom_X_ [~pjacobs@75.92.43.21] has joined #go-nuts
19:06 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has quit [Ping timeout: 265
seconds]
19:06 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Ping timeout: 264 seconds]
19:06 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
19:08 -!- deso_ [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
19:09 -!- Venom_X_ [~pjacobs@75.92.43.21] has quit [Ping timeout: 264 seconds]
19:10 -!- snearch [~snearch@f053003011.adsl.alicedsl.de] has joined #go-nuts
19:11 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
19:12 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined
#go-nuts
19:14 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
19:15 -!- Qvist_ [~erik@c-66cde455.05-294-6c6b701.cust.bredbandsbolaget.se] has
quit [Ping timeout: 255 seconds]
19:16 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has quit [Quit: bye]
19:16 -!- sauerbraten [~sauerbrat@p508CE8E6.dip.t-dialin.net] has quit [Remote
host closed the connection]
19:16 -!- cafesofie [~cafesofie@rnwifi-164-107-92-142.resnet.ohio-state.edu] has
joined #go-nuts
19:17 -!- Qvist_ [~erik@c-4ccbe455.05-294-6c6b701.cust.bredbandsbolaget.se] has
joined #go-nuts
19:19 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has
joined #go-nuts
19:21 < kamaji> Is there a package to format terminal output like ncurses?
19:21 < KirkMcDonald> Someone should port Urwid to Go.
19:21 < Namegduf> I remember one, but I don't remember the name.
19:22 < kamaji> Namegduf: any clues?
19:22 < taruti> kamaji: termbox
19:22 < cbeck> kamaji: I think nsf was working on one, but I could be wrong
19:22 < Namegduf> Aha, there we go.
19:23 < kamaji> awesome, cheers
19:23 < kamaji> also I found GotX but that seems to be graphical
19:24 < kamaji> Namegduf: is nsf or termbox the one you are thinking of
19:24 -!- keithcascio [~keithcasc@nat/google/x-ayeweouefeitqwuq] has joined
#go-nuts
19:24 < kamaji> oh it's the same
19:24 < kamaji> and nsf is a person
19:24 < kamaji> I will stop talking now :D
19:27 < kamaji> aw, boo, it doesn't compile
19:31 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has
joined #go-nuts
19:32 -!- illya77 [~illya77@6-70-133-95.pool.ukrtel.net] has quit [Quit: illya77]
19:33 -!- sacho [~sacho@95-42-85-91.btc-net.bg] has joined #go-nuts
19:33 < kamaji> oh, do I need gccgo for 'import "C"' to work?
19:35 < taruti> no
19:35 < taruti> cgo
19:36 < GilJ> Does anyone have examples of the xml Unmarshal method for more
complicated XML structures?
19:37 < kamaji> taruti: still can't find import "C"
19:38 < taruti> look into the cgo examples
19:41 -!- Davidian1024 [~Davidian1@173.88.163.203] has quit [Ping timeout: 276
seconds]
19:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
19:43 -!- artefon [~thiago@189.59.130.117.dynamic.adsl.gvt.net.br] has joined
#go-nuts
19:43 -!- devrim [~Adium@160.79.7.234] has joined #go-nuts
19:53 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
20:05 -!- emjayess [~emjayess@24-116-86-22.cpe.cableone.net] has joined #go-nuts
20:13 -!- rbraley [~rbraley@ip72-222-134-229.ph.ph.cox.net] has quit [Ping
timeout: 264 seconds]
20:14 -!- rbraley [~rbraley@ip72-222-134-229.ph.ph.cox.net] has joined #go-nuts
20:16 < uriel> kamaji: for terminal stuff see:
http://go-lang.cat-v.org/library-bindings
20:22 -!- cafesofie [~cafesofie@rnwifi-164-107-92-142.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
20:24 -!- bmizerany [~bmizerany@208.66.27.62] has joined #go-nuts
20:27 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 240 seconds]
20:28 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
20:32 -!- teejae [~teejae@softbank219185095092.bbtec.net] has quit [Quit: teejae]
20:35 -!- bjarneh [~bjarneh@1x-193-157-205-128.uio.no] has quit [Ping timeout: 255
seconds]
20:40 -!- felipe [~felipe@unaffiliated/felipe] has joined #go-nuts
20:42 -!- wrtp [~rog@92.17.28.181] has quit [Quit: wrtp]
20:42 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
20:43 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
20:51 < MaybeSo> Folks, I've seen an interesting compact use of struct types
where they use an anonymous field to set up an implementation of io.ReadCloser,
type foo struct {io.Reader io.Closer}, and can then do things like "return
foo{someReader someCloser}" -- is there any similar compact technique I could use
to deal with a compressed stream, where I have *two* variables that I need to
.Close()?  The compress.gzip.Decompressor.Close() does not close its underlying
str
20:52 < MaybeSo> or does one simply have to set up named fields and
implement Close() and Read() functions on it ourselves?
20:52 -!- nettok [~quassel@200.119.166.253] has joined #go-nuts
20:57 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
20:59 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Read error: Operation timed out]
20:59 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
21:01 -!- pothos_ [~pothos@111-240-168-252.dynamic.hinet.net] has joined #go-nuts
21:02 -!- jramnani [~Adium@chml01.drwholdings.com] has joined #go-nuts
21:03 -!- pothos [~pothos@111-240-169-170.dynamic.hinet.net] has quit [Ping
timeout: 250 seconds]
21:06 -!- cafesofie [~cafesofie@dhcp-140-254-204-203.osuwireless.ohio-state.edu]
has joined #go-nuts
21:12 -!- jramnani [~Adium@chml01.drwholdings.com] has left #go-nuts []
21:17 -!- deso_ [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Operation
timed out]
21:18 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
21:18 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
21:22 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
21:23 <@adg> MaybeSo: you could create a struct like:
21:23 <@adg> type Chain struct { io.Reader; closers []io.Closer }
21:23 < aiju> io.Closer sounds cute
21:23 <@adg> func (c Chain) Close() { for _, v := range c.closers {
v.Close() } }
21:24 <@adg> aiju: ;)
21:24 < aiju> what's it good for?
21:25 -!- thiago__ [~thiago@189.115.126.46] has joined #go-nuts
21:26 <@adg> aiju: what do you mean?
21:26 < aiju> io.Closer; but looking at elf/file.go i think i get it
21:26 <@adg> yeah anything that needs to be Closed after reading/writing
21:27 <@adg> like a file, or a gzip stream, etc
21:27 * aiju is reminded of windows where the OS doesn't close ressources for you
*shudder*
21:27 -!- artefon [~thiago@189.59.130.117.dynamic.adsl.gvt.net.br] has quit [Ping
timeout: 246 seconds]
21:28 -!- snearch [~snearch@f053003011.adsl.alicedsl.de] has quit [Quit:
Verlassend]
21:30 -!- willdye [~willdye@fern.dsndata.com] has quit [Read error: Connection
reset by peer]
21:30 <@adg> i try not to be reminded of windows :)
21:31 < aiju> btw were they any concrete reasons for avoiding exceptions?
21:31 -!- willdye [~willdye@fern.dsndata.com] has joined #go-nuts
21:31 < aiju> *tere
21:31 < aiju> +h
21:31 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 255 seconds]
21:32 <@adg> a better question is whether there are any concrete reasons we
should have included exceptions
21:32 < aiju> haha
21:32 <@adg> i don't mean to sound evasive
21:32 < aiju> well, conciseness
21:33 <@adg> but one of the tenets of Go is that its language features
behave in a predictable and comprehensible way
21:33 < aiju> (not that i mind too much)
21:33 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
21:33 < Namegduf> I dislike them personally because they make errors very
hard to predict; it's pretty much impossible to know what errors can happen
calling a given function, and how.
21:34 <@adg> the behaviour of exceptions tends to be rather invisible
21:34 < aiju> i dislike them personally because they seem too fishy and
unsafe
21:34 < Namegduf> Go's panic()/recover() being restricted to a single
package in idiomatic code makes it predictable knowing only the current package,
which should be okay.
21:34 <@adg> while one of the design goals of go was to be able to look at a
piece of code and not need surrounding context to understand it
21:34 < Namegduf> While providing for the ability to use them if there's
some code they really help with.
21:34 -!- iant [~iant@166.134.68.149] has joined #go-nuts
21:34 -!- mode/#go-nuts [+v iant] by ChanServ
21:35 < aiju> Namegduf: don't some Go packages use them for "fucked up
beyond rescu"?
21:35 < aiju> +e
21:35 < aiju> http://golang.org/search?q=panic
21:37 <@adg> aiju: pretty much; we try to use panics mainly for programming
errors
21:37 < Namegduf> aiju: I think they're permitted to escape packages to
indicate an actual panic that the package is comfortable with killing the program.
21:37 < Namegduf> Ah, that's clearer.
21:37 < aiju> oh, also unreachable sections of code
21:37 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Quit: Venom_X]
21:38 < aiju> // Not likely enough to bother.
21:38 < aiju> haha
21:38 < aiju> (tls/conn.go)
21:39 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has quit
[Quit: derferman]
21:40 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
21:41 < aiju> i miss Plan 9 style function declarations with the function
name at the beginning of the line
21:41 -!- iant [~iant@166.134.68.149] has quit [Ping timeout: 255 seconds]
21:43 -!- derferman [~derferman@24-176-188-13.static.reno.nv.charter.com] has
joined #go-nuts
21:47 < aiju> http://golang.org/search?q=; haha
21:49 < MaybeSo> adg: thanks for the tip re []io.Closer!
21:51 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 246 seconds]
21:51 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
21:52 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
21:59 -!- Qvist_ [~erik@c-4ccbe455.05-294-6c6b701.cust.bredbandsbolaget.se] has
quit [Quit: Lost terminal]
22:03 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has left
#go-nuts []
22:08 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
22:08 -!- mode/#go-nuts [+v iant] by ChanServ
22:10 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
22:10 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
22:14 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined
#go-nuts
22:17 < GilJ> I think there is a problem when using a strings.Reader with
the xml.Unmarshal method
22:19 <@adg> GilJ: oh?
22:20 < GilJ> adg: I'll pastie the code in a second
22:22 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 272 seconds]
22:22 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
22:23 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
22:23 < fenicks> hello
22:24 <@adg> hi
22:25 -!- frewsxcv [~frewsxcv@pine-green.feralhosting.com] has joined #go-nuts
22:26 -!- Melvar [~melvar@dslb-088-078-150-021.pools.arcor-ip.net] has joined
#go-nuts
22:27 -!- jeffreymcmanus [~jeffreymc@70-36-141-128.dsl.dynamic.sonic.net] has
joined #go-nuts
22:27 < GilJ> adg: http://pastie.org/1438621 This is what happened
22:28 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
22:28 < aiju> that's what happens when you're using invalid XML!
22:28 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
22:29 <@adg> GilJ: the xml you're trying to parse is the filename string
22:29 < GilJ> Oh >_<
22:29 <@adg> strings.NewReader(filename) just creates a reader containing
fileanme :)
22:29 <@adg> s/an/na/
22:29 < GilJ> My bad :(
22:29 <@adg> d'oh :P
22:29 < GilJ> Yeh, big D'Oh
22:29 <@adg> easily fixed heh
22:30 < aiju> do you need a strings.Reader after all?
22:30 < GilJ> Not really:p
22:30 < GilJ> Thanks alot :)
22:31 -!- Kashia [~Kashia@port-92-200-77-149.dynamic.qsc.de] has joined #go-nuts
22:32 < GilJ> Starting to wonder how I even ended up using strings.NewReader
:(
22:32 < aiju> blame XML
22:33 < GilJ> :P
22:33 <@adg> yeah i'm not really sure - did you have the xml in the .go
source as a constant string initially?
22:33 < GilJ> adg: Yeah I did, so I guess thats how
22:33 <@adg> i find strings.Reader useful for that kinda thing
22:34 < aiju> adg: i meant in that specific case
22:41 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 260 seconds]
22:41 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
22:41 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
22:43 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
22:43 -!- gr0gmint [~quassel@87.60.23.38] has quit [Read error: Connection reset
by peer]
22:44 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
22:45 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
22:51 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 276 seconds]
22:51 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
22:51 -!- jeffreymcmanus [~jeffreymc@70-36-141-128.dsl.dynamic.sonic.net] has left
#go-nuts []
22:57 -!- Guest17387 [~xabbu@80.123.211.110] has joined #go-nuts
23:01 -!- Guest17387 [~xabbu@80.123.211.110] has left #go-nuts ["WeeChat 0.3.2"]
23:01 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Ping timeout: 265 seconds]
23:02 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
23:10 -!- Sieben [leone2009@arkana.iiens.net] has joined #go-nuts
23:11 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Ping timeout: 240 seconds]
23:11 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined
#go-nuts
23:13 -!- aconran [~aconran-o@adsl-76-199-140-78.dsl.pltn13.sbcglobal.net] has
quit [Quit: aconran]
23:16 -!- ProfOak_ [~profoak@c-76-29-96-30.hsd1.il.comcast.net] has joined
#go-nuts
23:16 < ProfOak_> Hiya
23:20 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
23:22 -!- ProfOak_ [~profoak@c-76-29-96-30.hsd1.il.comcast.net] has quit [Quit: ok
then]
23:24 -!- devrim [~Adium@160.79.7.234] has quit [Quit: Leaving.]
23:26 -!- thomaslee [~thomaslee@124-168-100-150.dyn.iinet.net.au] has joined
#go-nuts
23:26 < thomaslee> hi all
23:30 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit
[Read error: Operation timed out]
23:30 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
23:31 <@adg> hi :)
23:31 -!- boscop [~boscop@f055152232.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
23:35 -!- l00t [~i-i3id3r_@189.105.2.99] has joined #go-nuts
23:37 < uriel> adg: I'm not sure if this is a bug in Google Code, in the
codereview scripts, or what, but the codereview links for every push are broken in
the Updates page:
23:37 < uriel> http://code.google.com/p/go/updates/list
23:37 < uriel> (I suspect a Google Code bug, because if you go to
http://code.google.com/p/go/source/detail?r=9958da4a18a060ab19be42b88758c7bf8f1b814a
for example, the link there works fine and doesnt have the extraneous
</span>
23:37 -!- emjayess [~emjayess@24-116-86-22.cpe.cableone.net] has quit [Quit:
Leaving]
23:38 <@adg> uriel: looks like a google code bug, for sure
23:38 <@adg> i'll file it
23:38 <@adg> uriel: thanks for catching that
23:38 < uriel> no problem, thanks for doing the work of filling the bug ;P
23:39 < uriel> might be easy to work around though, maybe just add a
trailing new line or some dummy footer (---)
23:39 < thomaslee> hi adg, your presentation at this year's OSDC finally
dragged me kicking & screaming into go.  thanks!
23:39 <@adg> better to fix the issue, it looks like it's in their new UI
23:39 <@adg> thomaslee: glad to hear it :D
23:39 < thomaslee> err ...  *last* year's OSDC
23:39 < uriel> but that is just a guess assuming the problem is with the URL
being the last item in the comment
23:39 < uriel> ah, good point, forgot they just changed the UI
23:40 < uriel> (I was thinking, if it is not some obscure corner case,
somebody would have noticed by now :))
23:40 <@adg> uriel: someone already noticed, it seems
http://code.google.com/p/support/issues/detail?id=2356&q=span&colspec=ID%20Type%20Status%20Milestone%20Priority%20Stars%20Owner%20Summary
23:40 -!- jyxent_ [~jyxent@129.128.191.96] has quit [Read error: Operation timed
out]
23:40 <@adg> maybe i can be a hero dig up the code myself and fix it :)
23:40 < uriel> ouch :)
23:41 < uriel> hehehe
23:41 -!- photron_ [~photron@port-92-201-52-23.dynamic.qsc.de] has quit [Read
error: Operation timed out]
23:41 < uriel> wow, been broken since 2009....
23:41 <@adg> :/
23:41 <@adg> they're a small team
23:42 < uriel> "This only happens when the URL is typed as the *VERY LAST*
text of the issue
23:42 < uriel> comment."
23:42 < uriel> seems that I had that right...
23:44 <@adg> my gut guess would be that they wrap the comment in a span and
then insert hotlinks
23:44 <@adg> (anchor tags)
23:44 <@adg> so it interprets the url as http://foo/bar/</span> and
just link that
23:46 < uriel> yea, makes sense
23:46 < uriel> is the code for that stuff open source?
23:47 <@adg> i'm not sure; if they used an open source library for that
part, maybe
23:47 <@adg> but probably not
23:48 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts
23:50 -!- adu [~ajr@c-76-23-82-40.hsd1.in.comcast.net] has joined #go-nuts
23:53 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
23:57 -!- l00t [~i-i3id3r_@189.105.2.99] has quit [Quit: Leaving]
23:58 -!- jesmon [~user@static-71-244-114-122.albyny.fios.verizon.net] has quit
[Remote host closed the connection]
23:59 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has quit
[Read error: Operation timed out]
23:59 -!- Davidian1024 [~Davidian1@cpe-173-88-163-203.neo.res.rr.com] has joined
#go-nuts
--- Log closed Sat Jan 08 00:00:01 2011