--- Log opened Thu Jan 20 00:00:05 2011 00:11 -!- tav [~tav@92.7.151.166] has quit [Ping timeout: 240 seconds] 00:11 -!- mosva [~mosva@unaffiliated/mosva] has quit [Read error: Connection reset by peer] 00:11 -!- napsy [~luka@APN-122-5-103-gprs.simobil.net] has joined #go-nuts 00:12 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has quit [Quit: adu] 00:14 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts 00:21 -!- erus` [~tommo@cpc1-gill2-0-0-cust436.basl.cable.virginmedia.com] has quit [Ping timeout: 265 seconds] 00:26 -!- shvntr [~shvntr@113.84.146.107] has joined #go-nuts 00:27 -!- iant [~iant@nat/google/x-pmtdyddmmrwnqfzo] has quit [Ping timeout: 260 seconds] 00:28 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com] has quit [Ping timeout: 245 seconds] 00:30 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com] has joined #go-nuts 00:31 -!- skejoe [~skejoe@89.249.0.154] has quit [Quit: Lost terminal] 00:34 -!- iant [~iant@67.218.105.75] has joined #go-nuts 00:35 -!- mode/#go-nuts [+v iant] by ChanServ 00:36 -!- nettok [~quassel@200.119.189.221] has joined #go-nuts 00:43 -!- watr_ [~watr@66.183.100.58] has joined #go-nuts 00:48 -!- Natch| [~natch@c-2bcfe155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 245 seconds] 00:49 -!- binarypie [~binarypie@adsl-99-185-244-154.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 00:50 -!- cafesofie [~cafesofie@dhcp-140-254-204-79.osuwireless.ohio-state.edu] has quit [Remote host closed the connection] 00:50 -!- cafesofie [~cafesofie@dhcp-140-254-204-79.osuwireless.ohio-state.edu] has joined #go-nuts 00:51 -!- binarypie [~binarypie@adsl-99-185-244-154.dsl.pltn13.sbcglobal.net] has joined #go-nuts 00:57 -!- karshan [~karshan@c-98-227-38-20.hsd1.il.comcast.net] has joined #go-nuts 01:00 -!- napsy [~luka@APN-122-5-103-gprs.simobil.net] has quit [Ping timeout: 240 seconds] 01:01 -!- napsy [~luka@APN-122-5-103-gprs.simobil.net] has joined #go-nuts 01:05 -!- binarypie [~binarypie@adsl-99-185-244-154.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 01:11 -!- Natch| [~natch@c-2bcfe155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 01:13 -!- napsy [~luka@APN-122-5-103-gprs.simobil.net] has quit [Quit: Lost terminal] 01:30 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 01:32 -!- m4dh4tt3r [~Adium@70-36-245-216.dsl.static.sonic.net] has quit [Read error: Operation timed out] 01:32 -!- shvntr [~shvntr@113.84.146.107] has quit [Quit: leaving] 01:38 -!- acetoline [~acetoline@122.58.180.208] has joined #go-nuts 01:42 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 01:44 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Quit: Venom_X] 01:45 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 01:47 -!- mosva [~mosva@unaffiliated/mosva] has quit [Read error: Connection reset by peer] 01:48 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts 02:07 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 02:13 -!- iant [~iant@67.218.105.75] has quit [Quit: Leaving.] 02:14 -!- boscop [~boscop@f055113009.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 02:41 -!- niemeyer [~niemeyer@189.30.51.233] has quit [Ping timeout: 240 seconds] 02:44 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the connection] 02:45 -!- devrim [~Adium@160.79.7.234] has quit [Quit: Leaving.] 02:47 -!- jeff2 [~sername@c-67-164-29-36.hsd1.ca.comcast.net] has joined #go-nuts 02:53 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts 03:12 -!- tensorpudding [~user@99.23.127.179] has quit [Remote host closed the connection] 03:13 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts 03:15 -!- Wiz126 [Wiz@h29.117.232.68.ip.windstream.net] has quit [Ping timeout: 240 seconds] 03:19 -!- sjd_ [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 03:20 -!- Wiz126 [Wiz@h29.117.232.68.ip.windstream.net] has joined #go-nuts 03:23 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 03:25 -!- sjd_ [~sjd@204-195-89-40.wavecable.com] has quit [Quit: sjd_] 03:30 -!- sjd_ [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 03:31 -!- keithcascio [~keithcasc@nat/google/x-cawwsvotealqzdro] has quit [Quit: Leaving] 03:33 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has joined #go-nuts 03:33 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the connection] 03:36 -!- cafesofie [~cafesofie@dhcp-140-254-204-79.osuwireless.ohio-state.edu] has quit [Remote host closed the connection] 04:17 -!- cafesofie [~cafesofie@dhcp-128-146-69-203.osuwireless.ohio-state.edu] has joined #go-nuts 04:24 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has quit [Quit: Later] 04:25 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:26 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has joined #go-nuts 04:33 <@adg> Eridius: whichever makes your code simpler 04:43 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has quit [Quit: .] 04:54 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 04:54 -!- mode/#go-nuts [+v iant] by ChanServ 05:05 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 260 seconds] 05:06 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 246 seconds] 05:10 -!- mfnyt [~mfnyt@116.26.139.216] has joined #go-nuts 05:10 -!- mfnyt [~mfnyt@116.26.139.216] has left #go-nuts ["Leaving"] 05:13 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 05:40 -!- karshan [~karshan@c-98-227-38-20.hsd1.il.comcast.net] has quit [Ping timeout: 240 seconds] 05:41 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 240 seconds] 05:41 -!- iant [~iant@216.239.45.130] has joined #go-nuts 05:41 -!- mode/#go-nuts [+v iant] by ChanServ 05:44 < jeff2> http://golang.org/pkg/json/ says of Marshal and structs: "By default the object's key name is the struct field name converted to lower case". but I'm seeing that the key name is mixed-case, the same as in the struct. is this a bug? 05:51 -!- brownee [~brownee@209.34.56.106] has quit [Ping timeout: 255 seconds] 05:54 -!- jeff2 [~sername@c-67-164-29-36.hsd1.ca.comcast.net] has quit [Quit: Leaving] 05:58 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 246 seconds] 06:00 -!- _1d5fclient_ [~kvirc@74.126.25.148.static.a2webhosting.com] has joined #go-nuts 06:01 < _1d5fclient_> helo 06:02 -!- _1d5fclient_ [~kvirc@74.126.25.148.static.a2webhosting.com] has quit [Client Quit] 06:04 -!- i__ [~none@69.164.206.224] has quit [Changing host] 06:04 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts 06:07 -!- _1d5fclient_ [~kvirc@74.126.25.148.static.a2webhosting.com] has joined #go-nuts 06:10 -!- cafesofie [~cafesofie@dhcp-128-146-69-203.osuwireless.ohio-state.edu] has quit [Remote host closed the connection] 06:12 -!- watr_ [~watr@66.183.100.58] has quit [Ping timeout: 240 seconds] 06:13 -!- cafesofie [~cafesofie@dhcp-128-146-69-203.osuwireless.ohio-state.edu] has joined #go-nuts 06:14 < _1d5fclient_> http://pastie.org/1479786 06:14 < _1d5fclient_> eval1.go:50: non-declaration statement outside function body 06:16 < _1d5fclient_> Does anyone know why that is happening, i just tried to recreate the code from the video introduction to go 06:17 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 06:17 < TheSeeker> where's your main func? 06:18 < TheSeeker> fmt.Println(newVal("2").BinaryOp("+", newVal("4")).String()) 06:18 < TheSeeker> is out in noman's land 06:19 < _1d5fclient_> i see 06:24 -!- frewsxcv [~frewsxcv@pine-green.feralhosting.com] has quit [Ping timeout: 255 seconds] 06:26 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts 06:26 -!- nettok [~quassel@200.119.189.221] has quit [Ping timeout: 255 seconds] 06:37 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 250 seconds] 06:41 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts 06:42 -!- nettok [~quassel@200.119.183.229] has joined #go-nuts 06:45 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 07:22 -!- cafesofie [~cafesofie@dhcp-128-146-69-203.osuwireless.ohio-state.edu] has quit [Remote host closed the connection] 07:22 -!- Project_2501 [~Marvin@82.84.95.58] has joined #go-nuts 07:37 -!- cafesofie [~cafesofie@rnwifi-164-107-93-163.resnet.ohio-state.edu] has joined #go-nuts 07:42 -!- _1d5fclient_ [~kvirc@74.126.25.148.static.a2webhosting.com] has quit [Quit: KVIrc Insomnia 4.0.0, revision: 3900, sources date: 20100125, built on: 2010-07-07 00:42:53 UTC http://www.kvirc.net/] 07:46 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts 07:49 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Remote host closed the connection] 07:50 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 07:52 < taruti> woot, I got 8g compiled on Plan9 07:54 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Client Quit] 07:54 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 08:02 -!- dforsyth_ [~dforsyth@bastion.inap.yelpcorp.com] has quit [Quit: Computer has gone to sleep.] 08:05 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 08:17 -!- cafesofie [~cafesofie@rnwifi-164-107-93-163.resnet.ohio-state.edu] has quit [Remote host closed the connection] 08:26 -!- Project_2501 [~Marvin@82.84.95.58] has quit [Read error: Connection reset by peer] 08:26 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: sudo rm -R /] 08:36 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com] has quit [Ping timeout: 250 seconds] 08:40 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has joined #go-nuts 08:41 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com] has joined #go-nuts 08:43 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 08:46 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined #go-nuts 08:48 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 08:54 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 08:55 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 08:56 -!- jkakar [~jkakar@85.48.252.209] has joined #go-nuts 09:03 -!- boscop [~boscop@f055113009.adsl.alicedsl.de] has joined #go-nuts 09:06 < taruti> could someone link a copy of runtime.a for 386_linux ? 09:11 -!- tensorpudding [~user@99.23.127.179] has quit [Remote host closed the connection] 09:14 -!- wrtp [~rog@92.17.17.115] has joined #go-nuts 09:14 < taruti> got it :) 09:20 -!- tvw [~tv@212.79.9.150] has quit [Ping timeout: 240 seconds] 09:22 < taruti> now I can compile go programs for linux on plan9 :D 09:23 < Broady> haha 09:23 < Broady> how come you don't have access to a linux boxen? 09:23 < Broady> a $5 vps does that ;) 09:24 < taruti> Broady: I'm aiming for compiling plan9 ones, just needs more debugging 09:25 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 09:26 < wrtp> taruti: using linuxemu? 09:26 < taruti> wrtp: natively 09:26 < wrtp> cool 09:26 < taruti> gopack does not work though :( 09:27 < taruti> 8g + 8l do 09:27 < wrtp> what about the build stuff? still using gnumake? 09:27 < wrtp> or you just building the compiler manually? 09:28 < taruti> gnu make, no bash 09:28 < taruti> but more of an hack than a nice tidy port 09:28 < wrtp> the same makefiles then 09:29 < wrtp> rc or ape/sh? 09:30 < taruti> ape/sh for building, but the executables do not depend on ape 09:30 < wrtp> good 09:31 < taruti> but this is really just a first hack 09:31 < wrtp> i'm really looking forward to the day that it all just works 09:31 -!- c9s [~c9s@59-126-64-204.HINET-IP.hinet.net] has quit [Quit: fly away] 09:33 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has left #go-nuts [] 09:37 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 09:40 < taruti> 8c (neither plan9 nor go) has a bug triggered in libmach/executable.c 09:40 < taruti> s/neither/both 09:41 < taruti> "out of registers" + "error in regfree: AL" 09:42 -!- jkakar [~jkakar@85.48.252.209] has quit [Ping timeout: 260 seconds] 09:45 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 09:58 < mpl> what's the best way to have one optional argument for a function ? use the variadic ... ? 09:59 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts 10:02 < Namegduf> Optional arguments are not supported in Go. 10:02 < Namegduf> Don't have one. 10:02 < Namegduf> They were deliberately left out. 10:04 < mpl> yeah I've seen that. but seems like having a variadic and just testing if its length is greater than 0 works fine enough. 10:05 < mpl> I've just tested that and that's good enough for me. I was just wondering if there's another trick to do that. 10:05 < Namegduf> Sure- it'll also let them specify other redundant extra parameters, and only works for one. 10:05 < Namegduf> Why not just always have it there? 10:06 < Namegduf> It sounds like you're using a bigger hack to try to get around the lack of a small thing. 10:06 < mpl> because most of the time the caller won't know or won't care what that input should be. 10:06 < Namegduf> So? 10:06 < jnwhiteh> If I have a cgo package I want to distribute, but it relies on a C library being present is there an easy way to distribute the source of the library and have it compiled as part of the installation? 10:06 < mpl> Namegduf: so it just seemed a bit nicer to hide it than to force the caller setting it to whatever. 10:07 < jnwhiteh> What I'm looking for is a better way to distribute https://github.com/afitz/golua. Since Lua is very small and easy to compile, it would be much easier to just distribute it and statically link the cgo package against it 10:07 < Namegduf> But is it nicer to have a varargs setup used *just* for that than to have the caller set it to something? 10:07 < wrtp> mpl: if you look at the standard go library, you won't find a single example where variadic arguments are used in that way. 10:07 < mpl> well it's dead simple, so why not? 10:07 < wrtp> that's a hint :-) 10:08 < Namegduf> Plus the reasons it was left out in the first place; if there's only one signature it's easier to see how to use the function from examples. 10:08 < Namegduf> Easier to read code is a win. 10:08 < wrtp> mpl: what's the type of the extra argument? 10:08 < mpl> wrtp: ideally, int. 10:09 < Namegduf> An extra 0 is not massively complicated 10:09 < mpl> it's not. neither is adding the variadic check in my code. 10:09 -!- Kashia [~Kashia@port-92-200-22-224.dynamic.qsc.de] has quit [Ping timeout: 250 seconds] 10:09 < wrtp> depending on what values are expected, it's common to use an out-of-band 0 or -1 to represent "not present" for int-typed arguments 10:09 < Namegduf> Except it makes the signature more complicated to read 10:09 < wrtp> e.g. strings.Trim 10:10 < Namegduf> The function's usage harder to recognise by example... 10:10 < wrtp> oops, i meant strings.Split 10:10 < Namegduf> And being an abuse of varargs is unidiomatic enough to throw people for a loop. Doing non-idiomatic things to save three characters is kinda crazy. 10:10 < mpl> Namegduf: I agree it is not good practice to have smegtons of different sigs, but I fail to see how this small variation can hurt. 10:11 < Namegduf> I think I just outlined how. 10:11 < wrtp> passing variadic arguments incurs an allocation too 10:11 < mpl> ah yes. 10:12 < wrtp> that appears to be true even if you don't pass any arguments 10:12 < mpl> oh well, both ways were ok to me. if you guys think it's that bad, I have no problem always leaving that extra arg. thx for the input. 10:13 < wrtp> the other way is to have two functions, one with all the args, the other with sensible defaults. 10:13 < mpl> wrtp: yeah, but for only one extra arg, that doesn't seem worth it. 10:13 < wrtp> netchan.Import is an example 10:13 < Namegduf> To save ", 0" that's probably a bad idea as well, though; it's just useful for cases where many are often not relevant. 10:13 < wrtp> that's only for one argument 10:13 < mpl> Namegduf: indeed. 10:14 < wrtp> and rob thought it was worth it... 10:14 < Namegduf> I tend to find my code trades some verbosity for much improved readability over other languages 10:14 < mpl> so what's better if I want the caller to use the default, have it set it to 0 or -1 ? 10:15 < wrtp> depends what the argument is... 10:15 < wrtp> what does the argument mean? 10:15 < taruti> now I can compile for plan9 natively too 10:15 < wrtp> sometimes 0 is a valid value 10:15 < Namegduf> 0 normally, -1 if 0 is not an invalid value 10:15 < Namegduf> (Which is quite common) 10:15 < taruti> the only "small" issue is that the runtime does not support plan9 yet 10:15 < mpl> it represents the wordsize that will be used, so even 0 isn't a valid value. 10:16 < wrtp> i'd generally go for -1, as 0 is a more common mistake 10:16 < wrtp> you could test for -1 and panic on 0 10:16 < Namegduf> 0 is a nice 'default', though. 10:17 < Namegduf> Amongst other things, it's good if you're generating the value at runtime. 10:17 < mpl> how about authorizing both 0 and -1 to represent the default? 10:17 < mpl> or is that confusing? 10:17 < Namegduf> I think it's redundant. 10:17 < mpl> yeah 10:18 < Namegduf> I think I've degraded into bikeshedding, though. 10:18 < Namegduf> :P 10:18 < wrtp> Namegduf: yeah, but as 0 is the common default value, it's easy to pass it by mistake if you've not initialised a field, for example. then the interface will hide the mistake. 10:18 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 10:18 < wrtp> i'd prefer something a little more explicit. 10:19 < wrtp> but i might easily have a different preference tomorrow :-) 10:19 < Namegduf> Precedent: Set*Timeout 10:19 < Namegduf> In the net package. 10:19 < Namegduf> 0 means "off" 10:19 < Namegduf> But, yes, I'm bikeshedding here. It's pretty inconsequential, heh. 10:20 -!- tvw [~tv@212.79.9.150] has quit [Read error: Operation timed out] 10:21 < mpl> uhmm actually my arg is a uint8, so that kindof eliminates the -1 possibility :) 10:22 < wrtp> in that case, 0 it is. 10:22 < mpl> yep 10:23 < wrtp> you could make the arg an int anyway 10:23 < mpl> yeah I could but I really don't need to, and 0 is totally fine and unambiguous anyway. 10:29 -!- shvntr [~shvntr@113.84.146.107] has joined #go-nuts 10:29 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 10:30 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined #go-nuts 10:31 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 10:38 < quantumelixir> Why does the container/list package define methods on type *List rather than List? 10:39 < quantumelixir> http://golang.org/pkg/container/list/ 10:40 < Namegduf> 1) It has unexported fields; you can't call methods on it itself outside the package because that causes an implicit copy, nor can you assign it. 10:41 < Namegduf> 2) That would result in them operating on a copy, not the original, which would be bad for mutating ones and if it's large, expensive on others. 10:42 < Namegduf> I suspect it's internally a fairly small reference type, so the last part of 2 doesn't apply, but the first part would for mutating methods, and 1 does regardless. 10:42 < quantumelixir> Hmm.. regarding 1) why would calling a method on an object cause an implicit copy? 10:42 < quantumelixir> oh function arg? 10:43 < Namegduf> s/object/struct/ 10:43 < quantumelixir> oh ok 10:43 < Namegduf> Calling a method on a struct copies the struct in the same way that passing the struct to a function would copy it 10:43 < Namegduf> All function parameters are by value in Go. 10:43 < quantumelixir> yeah got it.. that's why we need reference types 10:44 < Namegduf> Right. Like, say, a pointer to List 10:44 < quantumelixir> this is similar to a few other languages I think.. Java does this internally too right? 10:44 < Namegduf> It's similar to C. It's not similar to Java, the language; no idea about implementations. 10:47 < wrtp> quantumelixir: see http://golang.org/pkg/image/#Point for an example of methods that are defined on the value type. 10:48 < Namegduf> No unexported fields, so they can copy it around. 10:48 < wrtp> yup. 10:48 < wrtp> and none of the methods need to change any of the fields - they just return a new value. 10:49 < Namegduf> And it's small, so probably better than passing a pointer. 10:49 < Namegduf> Smaller than a slice, I think. 10:49 < wrtp> yeah, well certainly better than doing an allocation each time you want to do some arithmetic. 10:49 < Namegduf> Or, on AMD64 and assuming int is still four bytes, a string. 10:49 < Namegduf> Heh, yes. 10:50 < Namegduf> (Although the copy ought to be able to be on the stack?) 10:50 < Namegduf> (And I'm not sure stack usage "counts" as allocation) 10:50 < wrtp> currently any time you take a pointer to something, it goes on the heap 10:50 -!- niemeyer [~niemeyer@189.30.51.233] has joined #go-nuts 10:50 < Namegduf> Ah, yeah. 10:51 < wrtp> in the future, the compiler should be able to do better. 10:51 < wrtp> but not now. 10:51 < Namegduf> Escape analysis would be nice. 10:51 < wrtp> certainly would 10:51 < Namegduf> I wish it could avoid copying between strings and []byte so much. 10:51 < wrtp> add inlining and you're starting to get good 10:52 < wrtp> Namegduf: i don't find myself doing that much 10:52 < wrtp> if in doubt, stay with []byte... 10:52 < Namegduf> I do, but I'm writing servers so that's unsurprising. 10:52 < Namegduf> Well, a server. 10:52 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-lhxfusbsuuwhztvk] has quit [Ping timeout: 265 seconds] 10:53 < wrtp> so where do you find yourself copying between string and []byte a lot? 10:53 < taruti> got a working gopack now 10:53 < wrtp> yay 10:53 < Namegduf> Basically anything that gets added to state, or read from it, must be converted to string. 10:53 < Namegduf> 1) It has to be copied out of the input buffer it was in. 10:54 < Namegduf> 2) Concurrency makes []byte messy. 10:54 < wrtp> "added to state"? 10:54 < Namegduf> Yes. 10:54 < Namegduf> There's a persistent state. 10:55 < quantumelixir> Namegduf and wrtp, thanks for the explanation and example! 10:55 < wrtp> i don't see why the string conversion is necessary 10:55 < Namegduf> Well, a copy is necessary 10:56 < wrtp> sure, because of 1) 10:56 < wrtp> but that's not something any language could ever solve 10:56 < Namegduf> You could store it as a []byte, but you'd not be able to use any string manipulation functions on it 10:56 < Namegduf> And you would have to be very careful not to change it unless you "owned" that part of the state. 10:56 < wrtp> the bytes package has most of the manipulation functions that strings does 10:57 < Namegduf> Which is nasty because it means everything everywhere needs to carefully watch what it does and does not own that it's handling. 10:57 < wrtp> it's not hard to have a convention that certain things aren't changed. 10:57 < quantumelixir> Are you suggesting something like reinterpreting the same chunk of data as a string and perform string manipulations, on bytes? 10:57 < wrtp> we do it with fields in structs all the time. 10:58 < Namegduf> No, I'm suggesting that it could be aware that conn.Write([]byte(str)) does not, in fact, need a copy 10:58 < quantumelixir> exactly, almost the same right? 10:58 < Namegduf> No, it's the inverse. 10:58 < Namegduf> Reinterpreting a string as a []byte. 10:58 < quantumelixir> oh right.. 10:59 < quantumelixir> but this is very C-like 10:59 < Namegduf> That's actually true for all calls to write passing a string in []byte, ever. 10:59 < Namegduf> Because Write doesn't mutate. 10:59 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Ping timeout: 240 seconds] 10:59 < Namegduf> That is, for a given Write implementation. 10:59 < Namegduf> Doing it through an interface is messier. 11:00 < quantumelixir> Is there an mechanism by which we can inform the compiler of it's non mutating character? 11:00 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 11:00 < wrtp> if conn is an interface, then there's no telling that the Write function doesn't change its argument when called. the compiler can't tell the difference between conn.Write([]byte(str)) and conn.Read([]byte(str)) which *couldn't* be changed to avoid a copy 11:00 < wrtp> one is usually calling Write through an interface... 11:00 < Namegduf> If you say so. 11:01 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-jqwkyvtrgxhlcinf] has joined #go-nuts 11:01 < Namegduf> I don't, mostly because when I accept a connection it would need explicit wrapping in an interface for no reason for that. 11:02 < wrtp> Namegduf: don't you use net.Listen ? 11:02 < Namegduf> I use net.ListenTCP 11:02 < wrtp> if you use net.Listen, then your program can be trivially changed to use a different network interface... 11:02 < Namegduf> No, it can't. 11:03 < Namegduf> It relies on reliable delivery and in-order delivery. 11:03 -!- Project_2501 [~Marvin@82.84.95.58] has joined #go-nuts 11:03 < Namegduf> Being transport protocol agnostic takes a tad more effort than that. 11:03 -!- leczb [~leczb@nat/google/x-uepycspuznigqpyt] has quit [Remote host closed the connection] 11:03 < wrtp> ok, so it can be changed to use any different network interface that supports those featurs 11:03 < wrtp> s/urs/ures/ 11:03 < wrtp> it's still only a one-string change 11:04 < Namegduf> In this instance I also need SetWriteTimeout 11:05 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-26.clienti.tiscali.it] has joined #go-nuts 11:05 < Namegduf> ListenIP could work, potentially, but trying to hedge my code just in case a successor to TCP comes along sounds like overengineering 11:05 < wrtp> the code is simpler 11:05 < Namegduf> How is it simpler? 11:06 < wrtp> you don't have to explicitly call resolveaddr 11:06 < Namegduf> I... already don't do that? 11:07 < Namegduf> ListenTCP has basically the same signature as ListenIP 11:08 -!- Project_2501 [~Marvin@82.84.95.58] has quit [Ping timeout: 240 seconds] 11:08 < wrtp> yeah, you have to create a TCPAddr, right? 11:08 < Namegduf> c := l.AcceptTCP() 11:08 < Namegduf> Ah, ListenIP can't do it. 11:08 < wrtp> but you've already created l, using a TCPAddr 11:08 < Namegduf> Er 11:09 < Namegduf> l is a TCPListener 11:09 < wrtp> which, presumably you've called ResolveTCPAddr to create 11:09 < Namegduf> ...no? 11:09 < wrtp> func ListenTCP(net string, laddr *TCPAddr) (l *TCPListener, err os.Error) 11:09 < Namegduf> l, _ := ListenTCP(...); c, _ := l.AcceptTCP() 11:09 < wrtp> isn't that the only way to create a TCPListener ? 11:09 < wrtp> what do you pass for laddr? 11:10 < Namegduf> Ah, right. It doesn't resolve it for me. 11:10 < Namegduf> I would put that down as "being more explicit" rather than "being more complicated" 11:11 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 11:11 < wrtp> IMO the authors intended Listen() to be the "standard" interface. 11:11 < wrtp> you can use it for almost any proto 11:11 < Namegduf> Listen is no good in this case anyway because it lacks SetWriteTimeout(). 11:11 < wrtp> that's easy 11:12 < wrtp> func setWriteTimeout(c net.Conn, t int64) {if c, ok := c.(interface{SetWriteTimeout(int64)}); ok {c.SetWriteTimeout(t)}} 11:12 < wrtp> or something like that 11:13 < Namegduf> Congratulations, you've broken my program horribly. 11:13 < Namegduf> No, that's not a solution; the call is there because it's needed. 11:13 < wrtp> return an error if the call isn't supported 11:13 < wrtp> you've got to check the error anyway 11:14 -!- acetoline [~acetoline@122.58.180.208] has quit [Ping timeout: 240 seconds] 11:15 < Namegduf> Hmm, Conn does have SetWriteTimeout. Maybe it was somehing else I needed, blah. I forget, I had some code which wouldn't compile due to Conn not having the method, so I just switched it to TCPConn. 11:15 -!- leczb [~leczb@nat/google/x-nszrqcmxoqmmeueg] has joined #go-nuts 11:16 < Namegduf> This is beside the point, anyway. Okay, most uses of Write by most people might be through an interface, making the optimisation pointless. 11:16 < wrtp> not necessarily entirely pointless 11:17 < Namegduf> That just means there's no obvious solution to the suck of passing something of possibly significant size that has no need to be copied, but will be. 11:17 < wrtp> currently: b = append(b, []byte(s)) incurs a copy. but it doesn't need to 11:17 < Namegduf> Keeping everything inside the server []byte basically removes the gain of having string in the first place. 11:18 < Namegduf> Which kinda sucks. 11:18 < wrtp> i think strings are mostly intended to be relatively short 11:18 < Namegduf> Isn't really an option here because I don't like to export huge amounts of complexity in using a package. 11:19 < wrtp> they're still very useful like that 11:19 < Namegduf> Code simplicity would win over "Okay, remember these rules for what you get from calling this function." here and there. 11:19 < Namegduf> Over the performance gain from doing that, rather. 11:20 < wrtp> Buffer.Bytes ? 11:20 < Namegduf> You mean bytes.Buffer? 11:20 < Namegduf> Not sure what you mean. 11:21 < Namegduf> I use one here and there for building stuff up, writing it, then sending it out (typically repeatedly), but for storing stuff it has no major advantages over []byte. 11:21 < Namegduf> As far as I know, anyway. 11:21 < wrtp> no, i meant the Bytes method, which returns a slice of the buffer. if you change it, you change the actual contents of the buffer. if you call methods on the buffer, the return value of Bytes will be overwritten 11:22 < wrtp> the major advantage of bytes.Buffer is that it implements io.Reader and io.Writer 11:24 < wrtp> oops no, i was actually thinking of http://golang.org/src/pkg/bufio/bufio.go?s=6253:6319#L240 11:24 < wrtp> oops 11:24 < wrtp> http://golang.org/pkg/bufio/#Reader.ReadSlice 11:24 < wrtp> i.e. "The bytes stop being valid at the next read call." 11:32 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has quit [Ping timeout: 250 seconds] 11:56 -!- boscop_ [~boscop@g225235043.adsl.alicedsl.de] has joined #go-nuts 11:58 -!- boscop [~boscop@f055113009.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 12:02 -!- skejoe_ [~skejoe@188.114.142.162] has joined #go-nuts 12:02 -!- skejoe [~skejoe@188.114.142.162] has quit [Read error: Operation timed out] 12:12 -!- TheMue [~TheMue@p5DDF6C71.dip.t-dialin.net] has joined #go-nuts 12:13 -!- adu [~ajr@64.134.65.247] has joined #go-nuts 12:15 < TheMue> For all German Go fans: Today I received the first copy of my Go book (http://amzn.to/emX68O). It will be available on Monday. 12:17 < Tonnerre> Crazy 12:17 < wrtp> cool. pity the first Go book is German, which i don't read. 12:18 < TheMue> It's not the first one. There's one in English, another one in German and afaik one in Japanese. 12:19 < Tonnerre> <de>Bistabiles Kippglied</de> 12:19 < wrtp> what's the english one? 12:20 < TheMue> http://www.amazon.com/Go-Programming-John-P-Baugh/dp/1453636676/ 12:22 < wrtp> thanks. i hadn't seen that. 12:27 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 12:45 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds] 13:13 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 13:21 -!- xash [~xash@d047103.adsl.hansenet.de] has joined #go-nuts 13:30 -!- sacho [~sacho@90.154.201.105] has joined #go-nuts 13:39 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts 13:42 -!- TheMue [~TheMue@p5DDF6C71.dip.t-dialin.net] has quit [Ping timeout: 240 seconds] 13:43 -!- brownee [~brownee@209.34.56.106] has joined #go-nuts 13:45 -!- femtoo [~femto@95-89-248-171-dynip.superkabel.de] has joined #go-nuts 13:49 -!- TheMue [~TheMue@p5DDF7635.dip.t-dialin.net] has joined #go-nuts 13:52 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts 13:54 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 14:11 -!- cafesofie [~cafesofie@dhcp-140-254-204-79.osuwireless.ohio-state.edu] has joined #go-nuts 14:16 -!- xash [~xash@d047103.adsl.hansenet.de] has quit [Read error: Connection reset by peer] 14:16 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts 14:21 -!- lmoura_ [~lauromour@187.113.105.211] has quit [Remote host closed the connection] 14:21 -!- xash [~xash@d047103.adsl.hansenet.de] has joined #go-nuts 14:22 -!- rup [~rupert@78.159.100.188] has quit [Read error: Operation timed out] 14:24 -!- lmoura [~lauromour@187.113.105.211] has joined #go-nuts 14:28 -!- rup [~rupert@deathknight.net] has joined #go-nuts 14:28 -!- shvntr [~shvntr@113.84.146.107] has quit [Quit: leaving] 14:31 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 14:31 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has quit [Client Quit] 14:31 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 14:43 -!- fabled [~fabled@mail.fi.jw.org] has quit [Quit: Ex-Chat] 15:02 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 15:02 -!- photron [~photron@port-92-201-114-227.dynamic.qsc.de] has joined #go-nuts 15:03 -!- wrtp [~rog@92.17.17.115] has quit [Ping timeout: 240 seconds] 15:05 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts 15:06 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 15:07 < artefon> nsf, hello :) 15:07 < nsf> hi 15:08 < mosva> Welcome to go-nuts artefon 15:09 -!- wrtp [~rog@92.17.17.115] has joined #go-nuts 15:09 -!- imgx64 [~imgx64@95.84.72.151] has joined #go-nuts 15:09 < uriel> TheMue: is an English translation planned? 15:10 < aiju> German Hello world: fmt.Printf("Heil, Welt! 卍\n"); 15:12 < kimelto> erm. 15:14 < fzzbt> your hakenkreuz is wrong way 15:14 < aiju> i know 15:15 < fzzbt> so it's okay, if it's left-facing? 15:16 < fzzbt> :s 15:16 < aiju> i'm just too lazy to look up the correct codepoint 15:20 < TheMue> uriel: Sadly not (yet). 15:20 < TheMue> aiju: That's the 1933 edition, but you know we've got 2011 today? 15:21 < aiju> TheMue: the NPD is over 5% in Saxon, it's not completely obsolete yet! 15:22 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 15:22 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 15:22 < TheMue> aiju: But not in the whole country. 15:23 -!- niemeyer [~niemeyer@189.30.51.233] has quit [Ping timeout: 240 seconds] 15:23 < TheMue> OK, but prejudice want to be cultivated. 15:24 < aiju> TheMue: i am german, you know 15:24 < Tonnerre> German != german 15:24 < Tonnerre> There are east and west germans :P 15:24 < aiju> haha 15:24 < TheMue> And north and south 15:24 < skelterjohn> central, ring 15:25 < TheMue> Event that 15:27 < TheMue> But comming back to Go: Yes, the book contains the typical "Hello, World" :) 15:34 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: peace in teh middle east] 15:47 -!- niemeyer [~niemeyer@189.30.51.233] has joined #go-nuts 15:50 -!- skejoe_ [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 15:52 -!- rejb [~rejb@p5B05A7C3.dip.t-dialin.net] has joined #go-nuts 15:52 -!- rejb [~rejb@p5B05A7C3.dip.t-dialin.net] has quit [Changing host] 15:52 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 16:01 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 16:02 -!- Venom_X [~pjacobs@75.92.43.21] has joined #go-nuts 16:06 -!- tav [~tav@92.7.111.233] has joined #go-nuts 16:14 -!- brownee [~brownee@209.34.56.106] has quit [Ping timeout: 240 seconds] 16:14 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 16:17 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 16:18 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.] 16:19 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined #go-nuts 16:19 < uriel> don't mention the war! 16:20 < mpl> the war? what war? 16:23 < skelterjohn> we have always been at war with eurasia 16:24 < fzzbt> who we? 16:24 < Tonnerre> Oceania of course 16:25 < fzzbt> oh 16:31 -!- adu [~ajr@64.134.65.247] has quit [Quit: adu] 16:34 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 16:44 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 16:46 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined #go-nuts 16:51 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 16:59 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 16:59 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 16:59 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 17:01 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 17:09 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-179-222.clienti.tiscali.it] has joined #go-nuts 17:12 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-26.clienti.tiscali.it] has quit [Ping timeout: 265 seconds] 17:14 * wrtp finds some benchmark results highly perplexing. 17:17 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts 17:17 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts 17:17 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Client Quit] 17:24 -!- imgx64 [~imgx64@95.84.72.151] has quit [Quit: imgx64] 17:30 -!- sauerbraten [~sauerbrat@p508CBB45.dip.t-dialin.net] has joined #go-nuts 17:32 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined #go-nuts 17:33 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has quit [Quit: leaving] 17:35 -!- serbaut [~joakims@88.80.182.68] has joined #go-nuts 17:41 -!- ildorn [~ildorn@dslb-188-105-122-150.pools.arcor-ip.net] has joined #go-nuts 17:42 -!- ildorn [~ildorn@dslb-188-105-122-150.pools.arcor-ip.net] has quit [Client Quit] 17:43 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 17:45 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 17:48 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has joined #go-nuts 17:50 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has left #go-nuts [] 17:53 -!- cafesofie [~cafesofie@dhcp-140-254-204-79.osuwireless.ohio-state.edu] has quit [Remote host closed the connection] 17:56 -!- aconran__ [~aconran-o@adsl-67-119-205-150.dsl.pltn13.pacbell.net] has quit [Remote host closed the connection] 17:57 -!- aconran__ [~aconran-o@adsl-67-119-205-150.dsl.pltn13.pacbell.net] has joined #go-nuts 17:59 -!- keithcascio [~keithcasc@nat/google/x-wtanqhtxmmqziujo] has joined #go-nuts 18:10 -!- gmilleramilar [~gmiller@38.104.67.234] has left #go-nuts [] 18:11 < plexdev> http://is.gd/dDb93B by [Ken Thompson] in go/src/cmd/5g/ -- arm reg bug with address(variable) 18:11 < plexdev> http://is.gd/QIRHkg by [Ken Thompson] in go/src/cmd/5g/ -- arm bug address of a string 18:11 < plexdev> http://is.gd/h3hmCy by [Ken Thompson] in go/src/cmd/5g/ -- arm reg bug with SP adjust 18:11 < plexdev> http://is.gd/4YOn3J by [Ian Lance Taylor] in go/src/pkg/syscall/ -- syscall: Correct length of GNU/Linux abstract Unix domain sockaddr. 18:11 < plexdev> http://is.gd/ot1c7L by [Russ Cox] in go/ -- C: add Jos Visser (Google CLA) 18:11 -!- cafesofie [~cafesofie@rnwifi-164-107-93-10.resnet.ohio-state.edu] has joined #go-nuts 18:11 < plexdev> http://is.gd/rn0M7v by [Jos Visser] in go/src/pkg/expvar/ -- expvar: add Float 18:11 < plexdev> http://is.gd/JH5q6v by [Anthony Martin] in 2 subdirs of go/ -- gc: fix typed constant declarations 18:11 < plexdev> http://is.gd/Yv1upp by [Robert Griesemer] in go/src/cmd/godoc/ -- godoc: bring back "indexing in progress" message 18:11 < plexdev> http://is.gd/ilCGqR by [Rob Pike] in 2 subdirs of go/doc/ -- tutorial: make stdin, stdout, stderr work on Windows. 18:11 < plexdev> http://is.gd/55mcBN by [Russ Cox] in 2 subdirs of go/src/pkg/ -- syscall: correct WSTOPPED on OS X 18:11 < plexdev> http://is.gd/JAwzR8 by [Rob Pike] in go/doc/ -- tutorial: update go_tutorial.txt 18:11 < plexdev> http://is.gd/w4C5js by [Russ Cox] in 9 subdirs of go/ -- runtime: print signal information during panic 18:12 < plexdev> http://is.gd/kO2ZOI by [Gustavo Niemeyer] in go/src/pkg/xml/ -- xml: support for > in tags 18:12 < plexdev> http://is.gd/2h0WfC by [Russ Cox] in 2 subdirs of go/src/ -- gc, runtime: make range on channel safe for multiple goroutines 18:12 < plexdev> http://is.gd/8qLzRM by [Russ Cox] in go/src/cmd/cc/ -- cc: fix vlong condition 18:12 < plexdev> http://is.gd/Z6pOSK by [Adam Langley] in go/src/pkg/crypto/cipher/ -- crypto/cipher: add OFB mode 18:12 < plexdev> http://is.gd/xcHJ5v by [Ken Thompson] in go/src/cmd/5g/ -- arm register allocation/tempname allocation bug 18:12 < plexdev> http://is.gd/uecSm8 by [Rob Pike] in go/src/pkg/crypto/cipher/ -- crypto/cipher: fix build (missing file in Makefile) 18:12 < plexdev> http://is.gd/DtYNiu by [Yasuhiro Matsumoto] in go/src/pkg/syscall/ -- syscall: fix build. WUNTRACED isn't defined for win32. 18:12 < plexdev> http://is.gd/P7ATVj by [Corey Thomasson] in go/src/pkg/net/ -- net: avoid nil dereference if /etc/services can't be opened 18:12 < plexdev> http://is.gd/d6MrVB by [Clement Skau] in go/src/pkg/http/ -- http: fix Content-Range and Content-Length in response 18:12 < plexdev> http://is.gd/614DzG by [Russ Cox] in go/ -- A+C: Clement Skau (individual CLA) 18:12 < plexdev> http://is.gd/MU1X76 by [Robert Griesemer] in go/doc/ -- go spec: adjust language for constant typing 18:12 < plexdev> http://is.gd/RTFt7i by [Russ Cox] in go/src/pkg/fmt/ -- fmt: document %X of string, []byte 18:12 < plexdev> http://is.gd/S9MNuV by [Russ Cox] in 2 subdirs of go/ -- runtime: add per-pause gc stats 18:12 < plexdev> http://is.gd/1othWi by [Rob Pike] in go/ -- CONTRIBUTORS: add Ben Lynn (Google employee) 18:12 < plexdev> http://is.gd/QmdJer by [Ben Lynn] in go/src/pkg/regexp/ -- regexp: reject bare ? 18:13 < plexdev> http://is.gd/m6kmN9 by [Albert Strasheim] in go/src/pkg/net/ -- net: add unixpacket 18:13 < plexdev> http://is.gd/X8kMie by [Eoghan Sherry] in go/src/pkg/math/ -- math: handle denormals in Frexp, Ilogb, Ldexp, and Logb 18:13 < plexdev> http://is.gd/TbJ0QU by [Sebastien Binet] in 3 subdirs of go/src/ -- cgo: add complex float, complex double 18:13 < plexdev> http://is.gd/omBcal by [Albert Strasheim] in 2 subdirs of go/src/pkg/ -- net, syscall: return source address in Recvmsg 18:13 < plexdev> http://is.gd/YXcCn4 by [Ryan Hitchman] in go/lib/codereview/ -- codereview: don't mail change lists with no files 18:13 < plexdev> http://is.gd/Dv2iyW by [Wei Guangjing] in 2 subdirs of go/src/pkg/ -- net: implement windows timeout 18:13 < artefon> wow 18:13 < plexdev> http://is.gd/YAwJlL by [Alex Brainman] in go/src/cmd/ld/ -- 8l: pe changes 18:13 < plexdev> http://is.gd/MEpJkq by [Hector Chu] in 6 subdirs of go/ -- windows: implement exception handling 18:13 < plexdev> http://is.gd/7JEL0I by [Russ Cox] in go/ -- CONTRIBUTORS: secondary email for Kyle Lemons 18:13 < plexdev> http://is.gd/jhojp9 by [Kyle Lemons] in go/src/pkg/net/ -- net: add LookupAddr 18:13 < plexdev> http://is.gd/b30oiE by [Brad Fitzpatrick] in go/src/pkg/http/ -- http: support for relative URLs 18:13 < plexdev> http://is.gd/8wRCQU by [Russ Cox] in go/src/pkg/net/ -- net: fix build on freebsd 18:13 < plexdev> http://is.gd/G2kytf by [Rob Pike] in 2 subdirs of go/src/pkg/ -- runtime/debug: new package 18:13 < plexdev> http://is.gd/t00ZWi by [Roger Peppe] in go/src/pkg/netchan/ -- netchan: do not block sends; implement flow control. 18:14 < kimelto> commit fest? :) 18:14 < plexdev> http://is.gd/6LDL8k by [Russ Cox] in go/ -- A+C: Jeff R. Allen (individual CLA) 18:14 < plexdev> http://is.gd/ZBZjC2 by [Jeff R. Allen] in 7 subdirs of go/src/cmd/ -- 5a, 5l, 6a, 6l, 8a, 8l: handle out of memory, large allocations 18:14 < plexdev> http://is.gd/gydUKA by [Rob Pike] in go/src/pkg/runtime/debug/ -- runtime/debug: fix build (missing Makefile) 18:14 < plexdev> http://is.gd/2uqIt9 by [Gustavo Niemeyer] in go/src/pkg/xml/ -- xml: handle tag paths through the same element 18:14 < plexdev> http://is.gd/GAmmfM by [Robert Griesemer] in go/src/cmd/godoc/ -- godoc: enable qualified identifiers ("math.Sin") as query strings again 18:14 < plexdev> http://is.gd/D6xzgv by [Robert Griesemer] in 2 subdirs of go/ -- godoc: enable fulltext index by default 18:14 -!- anticw_ [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 18:14 < plexdev> http://is.gd/p5SiC4 by [Hector Chu] in go/lib/codereview/ -- codereview: fix hg change on Windows 18:14 < plexdev> http://is.gd/dgTnyz by [Ken Thompson] in go/src/cmd/5g/ -- arm bug with stack adjust 18:14 < plexdev> http://is.gd/SNvMUk by [Adam Langley] in go/src/pkg/crypto/twofish/ -- crypto/twofish: update with rsc's comments 18:14 < plexdev> http://is.gd/D48pKV by [Andrew Gerrand] in go/src/pkg/syscall/ -- syscall: attempt to fix windows build, supply missing constant 18:14 < plexdev> http://is.gd/uw3Tkr by [Andrew Gerrand] in go/src/pkg/net/ -- net: remove duplicate import of runtime 18:14 < plexdev> http://is.gd/NIGw6i by [Andrew Gerrand] in 2 subdirs of go/ -- release.2011-01-19 18:14 < plexdev> http://is.gd/XwPZPm by [Andrew Gerrand] in go/ -- tag release.2011-01-19 18:14 -!- cafesofie [~cafesofie@rnwifi-164-107-93-10.resnet.ohio-state.edu] has quit [Remote host closed the connection] 18:14 < plexdev> http://is.gd/TjLRQm by [Robert Griesemer] in go/doc/ -- go spec: remove float, complex in favor of float64 and complex128 18:15 < plexdev> http://is.gd/x2dmZB by [Rob Pike] in 3 subdirs of go/doc/ -- docs: float->float64 plus a couple of other tweaks. 18:15 < plexdev> http://is.gd/tzrRkI by [Russ Cox] in 4 subdirs of go/misc/ -- misc: update type + builtin lists found in editor support files 18:15 < plexdev> http://is.gd/MKKs5c by [Russ Cox] in 5 subdirs of go/src/cmd/ -- gc: delete float, complex 18:15 < plexdev> http://is.gd/OQCeeK by [Russ Cox] in 26 subdirs of go/ -- delete float, complex - code changes 18:15 < plexdev> http://is.gd/AFRMCy by [Russ Cox] in 2 subdirs of go/ -- release.2011-01-20 18:15 < plexdev> http://is.gd/j3ril4 by [Russ Cox] in go/ -- tag release.2011-01-20 18:15 < plexdev> http://is.gd/r8IPhw by [Russ Cox] in go/src/pkg/net/ -- net: fix windows build (?) 18:15 < plexdev> http://is.gd/O1BR7d by [Alex Brainman] in go/src/pkg/net/ -- net: get tests working to fix windows build 18:15 < aiju> WHOA 18:15 < plexdev> http://is.gd/67cWCX by [Alex Brainman] in go/src/pkg/syscall/ -- syscall: include all, even duplictate, invented error messages 18:15 < plexdev> http://is.gd/WEStGF by [Adam Langley] in go/src/pkg/crypto/openpgp/s2k/ -- crypto/openpgp: add s2k 18:15 < plexdev> http://is.gd/nWT02s by [Russ Cox] in go/src/pkg/runtime/ -- runtime: make select fairer 18:15 < plexdev> http://is.gd/7TMeQ4 by [Hector Chu] in go/src/pkg/runtime/windows/386/ -- runtime: fix tabs in windows/386/sys.s 18:15 < plexdev> http://is.gd/LTWKDd by [Wei Guangjing] in 2 subdirs of go/src/cmd/ -- 6l: windows/amd64 port 18:16 < plexdev> http://is.gd/A0dT4q by [Wei Guangjing] in 12 subdirs of go/src/ -- cgo: windows/386 port 18:16 < plexdev> http://is.gd/3mBQBk by [Wei Guangjing] in go/src/cmd/ld/ -- 8l: emit DWARF in Windows PE. 18:16 < plexdev> http://is.gd/k4qEoy by [Russ Cox] in go/src/cmd/5l/ -- 5l: document -F, force it on old ARMs 18:16 < plexdev> http://is.gd/yJIrGM by [Russ Cox] in go/src/pkg/http/ -- http: follow relative redirect in Get 18:16 < plexdev> http://is.gd/HDsCxq by [Russ Cox] in 2 subdirs of go/ -- 6g: fix uint64(uintptr(unsafe.Pointer(&x))) 18:16 < plexdev> http://is.gd/JNBB9p by [Russ Cox] in go/src/pkg/unsafe/ -- unsafe: add missing case to doc for Pointer 18:16 < plexdev> http://is.gd/DJYx2L by [Russ Cox] in go/ -- A+C: Miek Gieben (individual CLA) 18:16 < aiju> oh neat 18:16 -!- wrtp [~rog@92.17.17.115] has quit [Quit: wrtp] 18:16 < plexdev> http://is.gd/J7eHgY by [Miek Gieben] in 2 subdirs of go/src/pkg/ -- encoding/base32: new package 18:16 < aiju> the patch for my problem is among those 18:16 < quantumelixir> aiju: which one 18:16 < rm445> nice to see the Go authors keeping busy :-) 18:16 < aiju> 19:17 < plexdev> http://is.gd/HDsCxq by [Russ Cox] in 2 subdirs of go/ -- 6g: fix uint64(uintptr(unsafe.Pointer(&x))) 18:16 < jumzi> woho! 18:17 < jumzi> And gofy takes of 18:17 < quantumelixir> aiju: I knew it! It _had_ to do something with unsafe.Pointer! :D 18:17 < aiju> took him one hour to fix it 18:17 < quantumelixir> what was the problem? 18:17 < aiju> quantumelixir: didn't compile 18:19 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has joined #go-nuts 18:19 -!- leczb [~leczb@nat/google/x-nszrqcmxoqmmeueg] has quit [Remote host closed the connection] 18:20 -!- dforsyth [~dforsyth@egress-w.gni.yelpcorp.com] has joined #go-nuts 18:22 -!- Kashia [~Kashia@port-92-200-43-52.dynamic.qsc.de] has joined #go-nuts 18:23 -!- brownee [~brownee@209.34.56.106] has joined #go-nuts 18:26 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed the connection] 18:27 < plexdev> http://is.gd/0inWrD by [Russ Cox] in go/src/cmd/gotest/ -- gotest: new cgo does not require LD_LIBRARY_PATH 18:28 -!- tvw [~tv@212.79.9.150] has quit [Read error: Connection reset by peer] 18:30 -!- sauerbraten [~sauerbrat@p508CBB45.dip.t-dialin.net] has quit [Remote host closed the connection] 18:42 -!- sauerbraten [~sauerbrat@p508CBB45.dip.t-dialin.net] has joined #go-nuts 18:44 < plexdev> http://is.gd/rBwmAp by [Russ Cox] in go/src/pkg/runtime/linux/ -- runtime: drop CLONE_PARENT 18:53 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts 18:54 -!- jeffreyb [6d98e359@gateway/web/freenode/ip.109.152.227.89] has joined #go-nuts 18:56 < jeffreyb> Hello, I'm getting a "Segmentation fault" when linking a project after upgrading to release 2011-01-20, anyone have any ideas why that might be? 18:57 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 264 seconds] 19:00 < plexdev> http://is.gd/76oPxn by [Robert Griesemer] in 2 subdirs of go/ -- godoc: show line numbers for non-go files (bug fix) 19:03 -!- Scorchin [~Scorchin@host109-154-188-18.range109-154.btcentralplus.com] has joined #go-nuts 19:05 -!- tvw [~tv@e176002080.adsl.alicedsl.de] has joined #go-nuts 19:11 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a912:8445:a747:4c98] has joined #go-nuts 19:12 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 19:13 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts 19:18 < temoto> jeffreyb, this usually happen when you work with binary files produced by earlier versions of compiler/linker. 19:18 < temoto> jeffreyb, so quick solutions is: rebuild everything. 19:19 < temoto> jeffreyb, including all third party libraries you use. 19:29 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts 19:29 -!- acetoline [~acetoline@122.58.180.208] has joined #go-nuts 19:30 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving] 19:31 -!- GilJ [~gilles@zeus.ugent.be] has quit [Quit: leaving] 19:32 -!- gilles [~gilles@zeus.ugent.be] has joined #go-nuts 19:40 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 19:41 -!- gits [~gits@77.94.219.158] has joined #go-nuts 20:00 < rm445> guys, question about your use of Go packages: in a typical non-tiny program, there will probably be various separate conceptual 'parts', that you wouldn't necessarily split off and re-use in other programs. 20:00 < rm445> Do you split these into separate packages? And do you tend to buld them with the standard makefile (installing them in your $GOROOT) or do your own thing? 20:00 < taruti> no 20:00 < aiju> i just write one main package for most of my programs 20:04 -!- femtoo [~femto@95-89-248-171-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 20:04 -!- femtoo [~femto@95-89-248-171-dynip.superkabel.de] has joined #go-nuts 20:08 < TheMue> i've got many packages handling special tasks, and only small mains 20:09 -!- jumzi [~jumzi@c-89-233-234-125.cust.bredband2.com] has quit [Quit: leaving] 20:11 -!- jumzi [~jumzi@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 20:12 < rm445> ah-ha! Anything can be made to work of course, it's just the many-pronged question of what is 'best'. 20:14 -!- tav [~tav@92.7.111.233] has quit [Ping timeout: 240 seconds] 20:20 -!- tav [~tav@92.7.100.207] has joined #go-nuts 20:22 -!- cw [~anticw@parsec.stupidest.org] has quit [Ping timeout: 240 seconds] 20:23 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts 20:27 -!- nettok [~quassel@200.119.183.229] has quit [Ping timeout: 240 seconds] 20:28 -!- gilles [~gilles@zeus.ugent.be] has joined #go-nuts 20:28 -!- gilles [~gilles@zeus.ugent.be] has quit [Client Quit] 20:31 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 20:31 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao] 20:39 -!- acetoline [~acetoline@122.58.180.208] has quit [Ping timeout: 264 seconds] 20:39 -!- rdf [~rdf@18.111.73.22] has joined #go-nuts 20:39 -!- sjd [~sjd@4.78.243.126] has joined #go-nuts 20:39 -!- femtoo [~femto@95-89-248-171-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 20:41 < rdf> hi, quick questions has there been any interest or rumbling on developing an HDL in go? For those that have dealt with the pain of verilog or VHDL, you know being able to do this in go would be a really interesting alternative. Just a thought, and again a desire to gauge interest. 20:42 < taruti> I wouldn't pick Go for that 20:43 < rm445> Would it be Go? Or would it be an HDL that looked like Go? 20:44 < rdf> you could go either way, obviously easier to make a go looking language that expands to VHDL 20:45 < rdf> One thing to try, go compiles on an arm and you could have a decent setup connecting a go program on an arm conrolling an on board FPGA using goroutines as a channel of communication. 20:46 < rdf> you would just need a way of expressing process and architecture blocks in go 20:46 < rdf> is this just too far outside the scope of go? Or would the type system become problematic 20:47 < rdf> there have been some interesting attempts in haskell and c 20:47 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-178-217.clienti.tiscali.it] has joined #go-nuts 20:48 < rdf> taruti: why would you not pick Go for that? 20:48 < taruti> rdf: I would use something that makes implementing DSLs easier, such as Haskell 20:51 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-179-222.clienti.tiscali.it] has quit [Ping timeout: 276 seconds] 20:55 < rdf> Alright, thanks I'll just build off of the python or ruby dsl which already exist. 20:59 -!- artefon [~thiago@189.59.157.127.dynamic.adsl.gvt.net.br] has joined #go-nuts 20:59 < jeffreyb> temoto, thanks that fixed the problem! I didn't realise that re-running goinstall didn't rebuild the 3rd party packages from scratch. 21:00 -!- rdf [~rdf@18.111.73.22] has quit [Quit: rdf] 21:15 -!- dRbiG [p@irc.kaer.tk] has quit [Read error: Connection reset by peer] 21:15 -!- d2biG [p@irc.kaer.tk] has joined #go-nuts 21:16 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a912:8445:a747:4c98] has quit [Quit: Leaving.] 21:18 -!- erus` [~tommo@cpc1-gill2-0-0-cust436.basl.cable.virginmedia.com] has joined #go-nuts 21:23 -!- nettok [~quassel@200.119.155.26] has joined #go-nuts 21:24 -!- TheMue [~TheMue@p5DDF7635.dip.t-dialin.net] has quit [Quit: TheMue] 21:25 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Quit: Skola] 21:28 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts 21:28 -!- nettok [~quassel@200.119.155.26] has quit [Ping timeout: 276 seconds] 21:32 -!- dforsyth_ [~dforsyth@egress-w.gni.yelpcorp.com] has quit [Remote host closed the connection] 21:34 -!- wrtp [~rog@92.17.17.115] has joined #go-nuts 21:38 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 21:39 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Read error: Connection reset by peer] 21:40 -!- skejoe [~skejoe@188.114.142.162] has quit [Client Quit] 21:40 -!- xash [~xash@d047103.adsl.hansenet.de] has quit [Ping timeout: 260 seconds] 21:40 -!- jeffreyb [6d98e359@gateway/web/freenode/ip.109.152.227.89] has quit [Quit: Page closed] 21:41 -!- sauerbraten [~sauerbrat@p508CBB45.dip.t-dialin.net] has quit [Remote host closed the connection] 21:41 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 21:47 -!- dforsyth_ [~dforsyth@bastion.inap.yelpcorp.com] has joined #go-nuts 21:47 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 21:56 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 21:56 -!- wrtp [~rog@92.17.17.115] has quit [Quit: wrtp] 22:03 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 22:10 -!- artefon [~thiago@189.59.157.127.dynamic.adsl.gvt.net.br] has quit [Read error: Connection reset by peer] 22:11 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 22:15 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:21 -!- photron [~photron@port-92-201-114-227.dynamic.qsc.de] has quit [Read error: Operation timed out] 22:31 -!- tvw [~tv@e176002080.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:36 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 22:40 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-159-27.clienti.tiscali.it] has joined #go-nuts 22:40 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 22:42 < erus`> Go-SDL is broken :O 22:42 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-178-217.clienti.tiscali.it] has quit [Ping timeout: 240 seconds] 22:43 < erus`> just mixer actually 22:47 -!- TubeSteak [~vlad@94-226-82-25.access.telenet.be] has joined #go-nuts 22:47 < TubeSteak> hi 22:48 < TubeSteak> what is the recommended client library for mongo? gomongo or mongogo? 22:50 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 22:53 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has joined #go-nuts 22:56 < exch> erus`: there's been a patch request sent, but it hasn't been accepted yet. You can fix it by replacing all instances of 'float' with 'float32' 23:01 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 23:04 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 23:09 -!- cw [~anticw@parsec.stupidest.org] has joined #go-nuts 23:14 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Quit: Skola] 23:17 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 23:22 -!- erus` [~tommo@cpc1-gill2-0-0-cust436.basl.cable.virginmedia.com] has quit [Ping timeout: 265 seconds] 23:22 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 23:25 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts 23:30 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #go-nuts 23:41 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 23:52 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts --- Log closed Fri Jan 21 00:00:04 2011