--- 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