--- Log opened Sun Dec 05 00:00:37 2010 00:00 -!- photron [~photron@port-92-201-51-158.dynamic.qsc.de] has quit [Ping timeout: 245 seconds] 00:09 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 00:11 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has joined #go-nuts 00:11 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 00:13 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 00:16 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 00:21 -!- _nil [~aiden@c-24-147-65-44.hsd1.ma.comcast.net] has quit [Ping timeout: 240 seconds] 00:23 -!- watr_ [~watr@66.183.100.58] has joined #go-nuts 00:26 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 00:26 < jesusaurus> a fresh clone of go (release branch) fails to build 00:27 < jesusaurus> GOOS=linux; GOARCH=386 00:28 -!- ronnyy [~quassel@drsd-4db30e11.pool.mediaWays.net] has quit [Remote host closed the connection] 00:29 < cbeck> jesusaurus: I was able to build fresh an hour ago 00:29 -!- scyth [~scyth@rots.in.rs] has joined #go-nuts 00:29 < cbeck> same GOOS/GOARCH 00:33 < tox2010> anyone used import "asn1" 00:36 < jesusaurus> cbeck: it seems to fail looking for Make.$GOARCH 00:37 < jesusaurus> something somewhere is still looking for that crufty, nonexistent file 00:40 < jesusaurus> /usr/bin/gotest: line 26: /home/jesusaur/aur/go/src/Make.386: No such file or directory 00:40 < jesusaurus> it would be nice if i knew what file line 26 referred to 00:49 -!- ymasory_ [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has quit [Quit: Leaving] 00:52 -!- tox2010 [~user@cpc5-addl4-2-0-cust231.6-3.cable.virginmedia.com] has quit [Ping timeout: 260 seconds] 00:58 -!- Scorchin [~Scorchin@host109-152-120-17.range109-152.btcentralplus.com] has quit [Quit: Scorchin] 01:01 -!- sauerbraten [~sauerbrat@p508CB917.dip.t-dialin.net] has quit [Remote host closed the connection] 01:02 < |Craig|> I made a make file that runs the make files of my list of sub-packages, then rebuilds if any of them changed. 01:03 < |Craig|> Perhaps this will finally give me a proper multi package build system 01:10 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has quit [Quit: skelterjohn] 01:16 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has quit [Ping timeout: 265 seconds] 01:19 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has joined #go-nuts 01:27 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined #go-nuts 01:34 -!- Oejet [~oejet@212.45.122.120] has left #go-nuts [] 01:37 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has joined #go-nuts 01:39 -!- kanru [~kanru@2001:c08:3700:ffff::22:9e03] has joined #go-nuts 01:50 -!- watr_ [~watr@66.183.100.58] has quit [Ping timeout: 260 seconds] 01:54 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 240 seconds] 02:00 -!- shvntr [~shvntr@116.26.130.7] has joined #go-nuts 02:08 < skelterjohn> |Craig|: i'm working on something - maybe you'd like to help me test? 02:17 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 02:20 < drd> http://pastie.org/1348492 <-- when casting from []int16 to []int8, i lose half the data because the length stays the same.. when i try to re-slice, i get slice index out of bounds 02:20 < drd> now for this example i could simply cast it to [10]int8, but what if i don't know how large the data will be? 02:22 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 02:28 -!- floppy_legs [~Adium@c-24-6-100-37.hsd1.ca.comcast.net] has joined #go-nuts 02:28 < exch> drd: without knowing the length of the actual array, you can't reliably cast it like that 02:29 < thomaslee> is there a portable way to programatically get at the filesystem path of a Go executable? 02:30 -!- _nil [~aiden@c-24-147-65-44.hsd1.ma.comcast.net] has joined #go-nuts 02:30 < thomaslee> something like $0 in bash ... argv[0] elsewhere :) 02:31 < crazy2be> thomaslee: Havn't looked at it myself... but i would look in os first, then maybe flags 02:31 < exch> thomaslee: os.Args[0] 02:31 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit: slashus2] 02:31 < crazy2be> well there you go :) 02:31 < thomaslee> ah. cheers 02:32 < crazy2be> i can't figure out why my reverse proxy server isn't working... 02:34 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 245 seconds] 02:35 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping timeout: 272 seconds] 02:37 < crazy2be> pastebin doesn't seem to have go support... 02:38 < crazy2be> http://pastebin.com/sCHnT8Lk 02:38 < crazy2be> can you see anything wrong with that? 02:39 -!- jeff2 [~sername@c-98-210-113-215.hsd1.ca.comcast.net] has joined #go-nuts 02:39 < crazy2be> it's wierd 02:39 < crazy2be> because when it serves html 02:39 < crazy2be> all the css files get 404 as a response 02:39 < crazy2be> but it seems to work if i request the css directly 02:42 <@nf> crazy2be: looks reasonable, but there's a lot missing 02:43 <@nf> crazy2be: why don't you just use http.Serve and http.ServeFile ? 02:43 <@nf> oh i see what's going on 02:43 < crazy2be> well i was using http.Serve/http.ServeFile, but it was doing the same thing 02:44 < crazy2be> so i was trying to debug it by removing layers of abstraction 02:44 < crazy2be> my code does not have 404 programmed in anywhere 02:44 < crazy2be> and yet it is able to throw it 02:44 < crazy2be> in facy 02:44 < crazy2be> *fact 02:44 <@nf> is the html referencing the css files properly? 02:44 < crazy2be> it never recieves the tcp request 02:44 <@nf> you say you can request the css files manually, and that works? 02:45 < crazy2be> seems to 02:45 < drd> pastie.org has go support, btw 02:45 < crazy2be> i thought maybe 02:45 <@nf> seems to or does? 02:45 < crazy2be> the server might be trying to use keep-alive 02:45 < crazy2be> it does 02:45 < crazy2be> wgeting it works too 02:46 <@nf> you could try stripping the keep-alive header 02:46 <@nf> does the css, etc, live on a different server? 02:48 < crazy2be> well the css is served directly 02:48 < crazy2be> the dynamic pages are forwarded to other ports on the same machine 02:48 < crazy2be> like /photos/ 02:48 < crazy2be> the idea there is to make it more fault-tolerant 02:49 < crazy2be> so that if one program has a bug, the whole server isn't taken down 02:50 < crazy2be> i think that it's using persistent connections, looking at the spec 02:50 < crazy2be> which would break things 02:50 < crazy2be> since the css and such are on the proxy server 02:51 < crazy2be> however, i don't really want to destroy the possibility of keep-alive 02:51 < crazy2be> because that is an important performance boost 02:51 < crazy2be> so then, how can i do this :/ 02:51 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.pa.comcast.net] has quit [Quit: skelterjohn] 02:52 <@nf> crazy2be: the only workable solution i can see is to handle keep-alive in the proxy server 02:53 < crazy2be> hmm, time to read up on the spec :) 02:53 < crazy2be> i've been grappling with this all day 02:53 < crazy2be> it seemed like such a wierd bug 02:53 < crazy2be> because sometimes it would work 02:53 < crazy2be> for all of the files, sometimes for 1, 2, or 3 02:54 < crazy2be> and there didn't seem to be a pattern 02:54 -!- watr_ [~watr@66.183.100.58] has joined #go-nuts 02:56 -!- terrex [~terrex@84.122.72.127.dyn.user.ono.com] has quit [Read error: Operation timed out] 02:56 < crazy2be> but it all makes sence now :) 02:56 <@nf> :) 02:57 <@nf> i suspect a good approach would be to use Serve and a global Handler in the reverse proxy 02:57 <@nf> that way you get ListenAndServe's keepalive support 02:57 <@nf> (i think) 02:57 < crazy2be> yeah, right now it's a bit of a mess 02:57 < crazy2be> it usually is when i'm debugging 02:58 < crazy2be> grr... io.Copy always seems backwards to me 03:01 <@nf> it's consistent to have the writer/destination first 03:01 <@nf> consider fprint 03:01 <@nf> copy(), append() 03:03 < crazy2be> hmm... well isn't that the reverse of the cp command? 03:03 < crazy2be> yeah, that's why i think of it as backwards 03:04 < crazy2be> although i suppose that makes sence 03:05 <@nf> the cp command would be better designed were it destination-first 03:06 <@nf> consider accidentally typing "cp file1 file2 dir" without the "dir" 03:10 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 272 seconds] 03:12 < crazy2be> what difference would that make? either you overwrite file1 or your overwrite file2, right? 03:13 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has quit [Ping timeout: 240 seconds] 03:14 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 03:15 < plexdev> http://is.gd/idHPQ by [Andrew Gerrand] in go/doc/ -- doc/install: describe GOHOSTOS and GOHOSTARCH 03:15 -!- boscop_ [~boscop@f055049217.adsl.alicedsl.de] has joined #go-nuts 03:18 -!- boscop [~boscop@g225211013.adsl.alicedsl.de] has quit [Ping timeout: 260 seconds] 03:19 -!- foocraft [~dsc@78.101.99.236] has quit [Quit: Leaving] 03:23 < rmmh> nf: like mov? 03:31 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined #go-nuts 03:38 -!- hagna [d0360544@gateway/web/freenode/ip.208.54.5.68] has joined #go-nuts 03:39 < hagna> so what's a good minimal library for receiving mouse click events? GUI is not necessary. 03:40 -!- markcol [~markcol@74.125.59.1] has quit [Quit: markcol] 03:40 < rmmh> hagna: you could read /dev/input 03:41 < rmmh> or /dev/mouse0 or what have you 03:43 < hagna> rmmh: is that for linux? I don't have those on osx ,but yeah good idea 03:44 < adu> on macosx? 03:45 < hagna> yes macosx made in california 03:46 < adu> http://developer.apple.com/library/mac/#DOCUMENTATION/Darwin/Reference/ManPages/man3/getmouse.3x.html 03:47 < adu> hagna: is this for iPhone? 03:48 < hagna> adu: nope macbook. I thought only objective C was aloud on the iphone 03:48 < hagna> thanks for the docs 03:48 < adu> no C is definitely allowed 03:49 < adu> C is a subset of ObjC 03:49 < hagna> oh 03:49 < adu> you can do whatever the hell you want on iPhone 03:49 < hagna> so to use ncurses getmouse with go would I use swig or is there another option? 03:50 < hagna> dang I got a droid 03:50 < adu> hagna: Carbon HIToolbox is one options 03:51 < hagna> adu: just to print hell it's like System.out.println .... 03:51 < adu> hagna: CoreGraphics CGEvent is another options 03:51 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 03:51 < hagna> whoa 03:52 < adu> hagna: I honestly don't know how to interface Go and C 03:52 < hagna> I saw swig and then maybe some ffi thing 03:53 < hagna> s/saw/read 03:53 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.nj.comcast.net] has joined #go-nuts 03:53 < adu> the 6g/8g compilers live in their own little world of symbol stripping and incompatibility 03:53 < adu> so I'm writing my own compiler 03:54 < adu> what's woah? 03:54 < hagna> adu: wow 03:54 < adu> what's wow? 03:54 < hagna> whoa at the options 03:54 < hagna> nm 03:54 < adu> so far I've got the lexer done 03:54 < adu> now i'm working on the parser 03:54 < Namegduf> Why can't you use gccgo? 03:54 < hagna> yeah 03:54 < adu> i don't remember why 03:55 < hagna> what's wrong with gccgo? 03:55 < hagna> stack overflow? 03:55 < Namegduf> You can improve it to have whatever facilties you need easier than rewriting them, surely 03:55 <@nf> crazy2be: the difference is you're less likely to forget the destination if you put it first 03:56 < adu> o right i rember 03:57 < adu> when I install gccgo, i get things like [nm, strings, strip, ar, c++filt] but no gcc 03:57 < adu> so I get everything except "it" 03:57 < Namegduf> So you're writing a new compiler 03:58 < adu> yes 03:58 < Namegduf> Because that's easier than fixing your broken installer 03:58 < adu> no 03:58 < adu> because I have other plans for it 03:58 < adu> and its a very nice language 03:59 < hagna> adu: what language had you been using before deciding go was a nice language? 03:59 < adu> I'm writing my own go compiler because I want to, and because what I want to do with it is very unrelated to what 6g/9g do, and different than what gccgo does 03:59 < hagna> adu: bw cgo is to interface go and c 03:59 < adu> hagna: C 03:59 < adu> hagna: interface in which direction? 04:00 < adu> using C shared libs from Go? or using Go shared libs from C? 04:00 < Namegduf> Both. 04:00 < Namegduf> Er, the former, but they can call back 04:00 < Namegduf> Go does not presently do shared libs in *g 04:00 < adu> that's what I thought 04:00 < Namegduf> gccgo doesn't NEED cgo, though. 04:00 < Namegduf> IIRC. 04:01 < adu> I don't think writing shared libs in Go is a luxury, I think it's a necessity 04:01 < Namegduf> Also, you can't get yourself compatible with calling into C and visa versa without overhead without dropping segmented stacks, unfortunately. 04:01 < adu> dropping segmented stacks? 04:01 < Namegduf> Which means dropping goroutines, practically. 04:02 < adu> can you explain? 04:02 < Namegduf> Go is incompatible with calling into C and back without significant overhead because it runs each goroutine with a very small stack, about 4KB 04:02 < Namegduf> And grows it up by allocating new segments. 04:02 < Namegduf> This makes function calls require different generated code. 04:03 < Namegduf> C does not do this, and requires a much bigger stack to be used and conversion between the two calling conventions. 04:03 < adu> i see 04:04 <@nf> adu: basically, go has a runtime that is linked into every go binary. for a go shared library to take advantage of goroutines and channels it would need to initialize this runtime 04:05 < hagna> Namegduf: but "Cgo enables the creation of Go packages that call C code. " 04:05 < Namegduf> hagna: Yes, with significant overhead. 04:05 < Namegduf> I believe cgo uses a separate stack and does the conversion and all that stuff I described. 04:05 <@nf> a cgo call is the equivalent of about 5-6 go function calls, IIRC 04:06 <@nf> so for some applications this is quite workable 04:06 < Namegduf> That's actually a lot better than I thought. 04:06 <@nf> for others, it might be a dealbreaker 04:06 < adu> interesting 04:06 < rmmh> how much slower is a go function call than a typical c function call? 04:06 < Namegduf> "On average, one cheap instruction", I think? 04:06 <@nf> rmmh: very little, if at all 04:07 <@nf> rmmh: the overhead in making calls to C code from Go code with CGO is related to scheduling and stack switching, as Namegduf says 04:07 < rmmh> is there a document somewhere on how go's method dispatching works at the assembly level? 04:07 <@nf> check rsc's swtch.com blog; maybe 04:07 < Namegduf> You mean on interfaces? 04:07 < rmmh> yeah 04:08 < Namegduf> His blog had a nice writeup of those; methods outside of interfaces don't have dynamic dispatch. 04:08 < Namegduf> http://research.swtch.com/2009/12/go-data-structures-interfaces.html 04:08 < rmmh> thanks 04:08 < Namegduf> In short, an interface value is a pointer to a vtable and either a thing in the interface or a pointer to it. 04:09 < Namegduf> vtables don't exist for every (type, interface) pair, but are generated on first usage at runtime. 04:09 < adu> my favorite part of go is the literals 04:11 < Namegduf> They're actually called itables but saying that would be useless to you. 04:11 < rmmh> and the implementation is essentially equivalent in gccgo and gc 04:12 < adu> rmmh: the dispatch implementation? 04:13 < |Craig|> how much pain/time would be involved in setting up and trying gccgo? (Mac) 04:14 < anticw> |Craig|: not much 04:14 < rmmh> time is mostly compiling gcc 04:14 < anticw> of you config right the compile is pretty fast ... for me it's about 3 mins 04:14 < adu> |Craig|: are you talking to me? 04:14 < anticw> but even at 2-3x that it's not bad 04:14 * adu is on mac 04:15 < |Craig|> thanks, I guess I'll get started 04:15 < |Craig|> adu: I was just asking in general, no on in particular 04:15 < adu> my gccgo is broken 04:15 < rmmh> anticw: 2-3min for a complete recompile? 04:16 < anticw> yeah ... but this is a dual xeon ... a desktop will probably be say 50% slower 04:17 < anticw> (it's a workstation, so the cores are slower than a recent desktop but there are more of them) 04:18 < anticw> Namegduf: you still want wrappers in most cases for gccgo 04:18 < anticw> iant: actually, this is something that came up here ... how to uniformly use cgo & gccgo wrappers ... what i have now is an ugly python hack and verges on autogen code 04:29 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:31 < anticw> rmmh: real 3m27.558s 04:32 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has joined #go-nuts 04:32 < adu> hagna: so what brings you to go? 04:32 < hagna> acme 04:33 < hagna> and python mostly 04:33 < hagna> adu: I figure if Rob's text editor is nice maybe his language is too 04:33 < Namegduf> XD 04:37 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 04:41 < adu> do you mean Rob Pike? 04:45 < Namegduf> The net package could totally have a "ListenAndServe" for TCP connections. 04:47 < crazy2be> hmmm 04:48 < crazy2be> i keep getting connection refused when i try to dial TCP 04:48 < Namegduf> Are you dialing things that exist 04:48 < crazy2be> well, when trying to connect to non-go programs like node.js and python 04:48 < crazy2be> it works with the go programs 04:48 < Namegduf> TCP doesn't much care what you're connecting to. 04:48 < crazy2be> yes, they exist 04:48 < crazy2be> typing in a browser works 04:48 < crazy2be> like localhost:8124 works in a browser 04:49 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 04:49 < Namegduf> Try specifying the IP address specifically 04:49 < Namegduf> IPv6 is an issue and localhost *does* resolve to an IPv4 and IPv6 address 04:49 < crazy2be> hmm 04:50 < crazy2be> huh 04:50 < crazy2be> you're like a genius or something 04:50 < Namegduf> Nah, I just ran into the same problem while writing a little server. 04:51 < crazy2be> huh 04:52 < crazy2be> the fact that the go ones worked 04:52 < crazy2be> and the python one didn't threw me off 04:52 < Namegduf> Also, I love the ability to convert between []interface and varargs 04:52 < hagna> adu: yes him Pike 04:52 < crazy2be> but i guess go binds to both the IPv6 and IPv4 ports 04:52 < Namegduf> Or just to the same one the Go client tries. 04:53 < Namegduf> The browser will probably try both, I think. 04:53 < crazy2be> huh 04:53 < crazy2be> well i would think tcp.Dial would try both aswell 04:54 < crazy2be> since i just say "tcp" 04:54 < crazy2be> not "tcpv4" 04:54 < Namegduf> I don't think it does. 04:54 < crazy2be> how does it choose? 04:55 < Namegduf> Not sure. 04:56 -!- rhencke [~rhencke@ppp-70-247-243-221.dsl.ltrkar.swbell.net] has joined #go-nuts 04:58 < hagna> It checks to see if everyone has switched to v6 yet 04:58 < rhencke> anyone cgo experts in the room? :/ 05:04 < |Craig|> is it just me or did ftp://gcc.gnu.org/pub/gcc/infrastructure/ go down? (and right before I downloaded something...) 05:07 -!- powerje [~powerj@adsl-75-49-3-95.dsl.wotnoh.sbcglobal.net] has quit [Quit: powerje] 05:07 -!- hagna [d0360544@gateway/web/freenode/ip.208.54.5.68] has quit [Quit: Page closed] 05:10 < |Craig|> seems to be back up now 05:11 < adu> what's v6? 05:12 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Ping timeout: 240 seconds] 05:13 < crazy2be> adu: IPv6 05:13 < adu> ah 05:14 * adu <3 IPv6 05:14 < adu> 128-bit addresses rock! 05:14 < crazy2be> haha 05:14 < crazy2be> i just hard-coded my program to use IPv4 05:14 < crazy2be> i feel dirty 05:15 < adu> 128-bit UUIDs also rock, but are slightly more confusing 05:18 < crazy2be> heh 05:19 < adu> FEDCBA9876543210 = little-endian 05:19 < adu> 0123456789ABCDEF = big-endian 05:19 < crazy2be> well night 05:19 < adu> 3210547698ABCDEF = UUID-endian 05:19 < adu> 05:20 < crazy2be> 128-but UUIDs are like sdfasdlk-dsflkajfdl etc right? 05:20 < adu> 550e8400-e29b-41d4-a716-446655440000 05:20 < crazy2be> yeah 05:20 < adu> sometimes theres 3 dashes, sometimes 4 05:21 < crazy2be> ext4 disks are mounted like that 05:21 < crazy2be> heh 05:21 < crazy2be> on ubuntu, anyway 05:21 < crazy2be> night 05:21 < adu> night 05:22 -!- DarthShrine [~angus@124-171-102-81.dyn.iinet.net.au] has joined #go-nuts 05:22 -!- DarthShrine [~angus@124-171-102-81.dyn.iinet.net.au] has quit [Changing host] 05:22 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 05:24 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 05:26 -!- crazy2be [~justin@S0106001ac401d400.cg.shawcable.net] has quit [Ping timeout: 240 seconds] 05:27 < adu> is gccgo not supposed to work on mac? 05:28 < rhencke> wow, go hates me now 05:28 < rhencke> throw: throw: throw: throw: throw: throw: throw: malloc/free - deadlock 05:29 < rhencke> throw: malloc/free - deadlock 05:29 < rhencke> double panic 05:32 < adu> interesting 05:32 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 05:40 < rhencke> yeah 05:41 < rhencke> i'm not sure if gccgo works on mac or not.. gonna try this weekend though 05:42 < adu> there is 1 big gotcha, I'm not sure if gold/gccgo handles it 05:42 < rhencke> what's the gotcha? 05:42 < adu> macho 05:42 -!- fafhrd [~fafhrd@unaffiliated/fafhrd] has joined #go-nuts 05:43 < adu> Mac doesn't use ELF, it uses Mach-o which stands for Mach-Object 05:43 < adu> its a pretty big gotcha 05:43 < rhencke> macho macho man 05:43 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined #go-nuts 05:43 < rhencke> sorry :P 05:43 < rhencke> Yes, that's a big gotcha 05:43 < adu> its why I don't build gcc on mac generally 05:43 < adu> if i really need to I do it on an ubuntu VM 05:44 < rhencke> thats what i ended up doing for some stuff 05:44 < rhencke> i just have a fedora vm 05:44 < adu> :) 05:44 < adu> to each their own 05:44 < rhencke> they're close enough in spirit, lol 05:45 < rhencke> at least i didnt do linux from scratch in a vm or something 05:45 < adu> did you know that RPM uses the xar format which was originally designed for Mac .pkg installers? 05:45 < rhencke> i did not know that 05:45 < rhencke> that is interesting, though 05:45 < adu> xar approx= xml tar 05:45 < Namegduf> Dear god, it's the worst thing ever 05:46 < rhencke> lol 05:46 < adu> what's worst? 05:46 < Namegduf> XML archive format. 05:46 < adu> xar? 05:46 < adu> why? 05:46 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Ping timeout: 265 seconds] 05:46 < Namegduf> Because why would you use XML for an archive format 05:47 < adu> it preserves all metadata, such as those preserved by tar, plus extended attributes, Finder colors, and Spotlight comments 05:48 < Namegduf> That's not a reason for using XML. 05:48 < Namegduf> Contrary to popular belief, there are other ways of storing information than XML. 05:48 < adu> it doesn't actually use XML 05:48 < adu> it uses gzipped xml :) 05:50 < adu> Namegduf: you sound prejudiced 05:51 < Namegduf> No, I sound like I have seen the same question I just asked repeatedly and no one has ever given a reason why XML would be better than any other data storage format. 05:51 -!- shvntr [~shvntr@116.26.130.7] has quit [Quit: leaving] 05:52 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error: Operation timed out] 05:52 < adu> XML Namespaces are the primary reason why I would choose it over a custom binary format 05:52 < adu> because anytime extensions have to be made to a binary format, they need to be mediated by some standards body, or a central authority 05:52 < rhencke> xml namespaces are pretty nice 05:52 < Namegduf> Those aren't your only options. 05:52 < rhencke> i agree 05:53 < Namegduf> Also, that's not even slightly true. 05:53 < Namegduf> You can very readily design a binary format that permits extensions and metadata 05:53 < rhencke> but.. i've also seen a bunch of people invent binary file formats who really had no business doing so 05:53 < adu> XML Namespaces on the other hand are handled indirectly by IANA 05:53 < rhencke> and coded themeselves into a corner 05:53 < adu> which you don't really have to worry about 05:53 < rhencke> over and over :/ 05:53 < Namegduf> It's still not the only option, though. 05:53 < Namegduf> How about JSON? 05:53 < Namegduf> JSON is actually human readable 05:54 < adu> JSON is nice, but doesn't really solve the names issue 05:54 < rhencke> you have to roll your own namespace-collision-prevention 05:54 < adu> two people adding metadata to a JSON format could theoretically choose the same name for two completely different things 05:54 < adu> XML solves that issue before it arises 05:55 < adu> anyways, I didn't make xar, so I don't know why I'm defending it 05:56 < adu> there is, however, a tendency (especially on mac) to use Java-like reverse-DNS extended attributes 05:56 < adu> like com.apple.FinderInfo 05:56 < adu> which goes well with JSONic storage 05:56 < rhencke> yes 05:56 < adu> Namegduf: have you heard of BSON? 05:57 < rhencke> beef storage object notation 05:57 < adu> http://bsonspec.org/ 05:58 < adu> it is similar to EXI, only much cleaner 05:58 < Namegduf> That's interesting. 05:58 < Namegduf> I like the look of it. 05:58 < adu> BSON is the native format for MongoDB, a database I am madly in love with 05:58 < rhencke> i keep hearing about mongodb 05:59 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 05:59 < adu> of course! many people are in love with it 05:59 <@nf> what's so great about it? 05:59 < adu> freedom 05:59 < rhencke> i have to admit i've never tried it 06:00 < rhencke> is it a sql-style database? 06:00 < adu> nope 06:00 < adu> its JSON-style database 06:00 < rhencke> so.. hierarchical? 06:00 < Namegduf> It's a NoSQL option 06:00 < adu> most queries and updates are JSON or JavaScript 06:00 < adu> yes, it is usually refered to as a NoSQL 06:00 < rhencke> that's interesting 06:00 < fafhrd> important to note that it's not *just* a k/v store — it *is* queryable 06:01 <@nf> http://browsertoolkit.com/fault-tolerance.png 06:01 < adu> yes 06:01 < rhencke> nf: rofl 06:01 <@nf> rhencke: i first saw that posted in somebody's cube at google in MTV :) 06:02 <@nf> mongodb looks very cool 06:02 < rhencke> i will have to try it someday 06:02 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 06:02 < adu> an example query might be db.books.find({name: {$has: "On the"}, {timestamps.created.year.centry: {$eq: 2000}}}) 06:02 < rhencke> as soon as i can get go to stop double panicing :( 06:03 < rhencke> or maybe i can get it up to triple panic 06:03 <@nf> what's the performance like? 06:03 * nf tries to think of a large dataset to try it out with 06:03 < adu> nf: I've never used it for more than 100 objects, so i dunno 06:04 < rhencke> you could throw your entire filesystem in it 06:04 < rhencke> that might be a nice large dataset 06:04 < adu> nf: they're doing some pretty fancy things with Hadoop, so I would expect the performance to improve with Hadoop enabled 06:04 <@nf> rhencke: all 6.7T of it/1 06:04 <@nf> ?! 06:04 < rhencke> nf: well... you did say big 06:04 < rhencke> of course, if the database is stored on the same disk, you may rip a new hole in space/time 06:05 <@nf> http://en.wikipedia.org/wiki/Wikipedia:Database_download#English-language_Wikipedia <- probably a good source, all basic page data is 6.07tb 06:05 <@nf> s/tb/gb/ 06:05 < rhencke> that's cool... i didnt know they had a dump of their data 06:06 < adu> Namegduf: my only complaint about JSON is that it doesn't have types 06:06 <@nf> rhencke: i used to have a copy of it on my 2nd generation ipod :) 06:06 < rhencke> nf: now that's pretty cool :) 06:07 <@adg> wish i could register this nick :( 06:07 < adu> for example, to represent the distinction between Rational numbers and Complex numbers you have to do something like ["Complex", x, y] and ["Rational", p, q] 06:07 < rhencke> oh... you're andrew gerrand? 06:07 <@adg> yes 06:07 < rhencke> awesome 06:07 < rhencke> hi :) 06:07 < rhencke> lol 06:07 <@adg> hello! 06:07 -!- mode/#go-nuts [-o adg] by adg 06:07 < adu> adg: I Andrew! I'm Andrew too! 06:07 < adu> s/I/hi/ 06:07 < adg> adu: hi other andrew! :) 06:07 < rhencke> the go playground is addicting 06:08 < adg> great 06:08 < adg> we plan to add some cool things to it 06:08 < rhencke> that would be great 06:08 < adu> oh adg=nf 06:09 < adg> rhencke: one idea is pastebin support 06:09 < adg> rhencke: and i would also like to embed it on go's documentation pages 06:09 < rhencke> I like that idea a lot. 06:10 < adu> 5 TiB?!?!? 06:10 < rhencke> like inline try-this-sample-code-for-this-function kind? 06:10 < adg> rhencke: yep 06:10 < rhencke> that'd be sweet :) 06:10 < adu> doesn't http://pastie.org/ have go support? 06:11 < TheSeeker> yay, examples of code use in docs would be awesome. 06:11 < adg> adu: yes but it won't execute the code 06:11 < adu> right 06:11 < rhencke> especially once you could compile and tinker with 06:11 < rhencke> aw 06:12 < rhencke> so what's it like being on the go team? 06:12 < adg> great 06:12 < rhencke> i've always wondered 06:12 < TheSeeker> I got started with QBASIC ... the comprehensive, easy to navigate help system spoiled me greatly. :) 06:12 < rhencke> man qbasic takes me back 06:12 < rhencke> mode 13 06:12 < rhencke> or whatever the 320x200x256 one was 06:12 < adg> TheSeeker: i first seriously coded in Pascal, using the Turbo Pascal compiler/IDE. it was a better IDE than any I've seen since. 06:13 < adg> rhencke: yeah, mode 0x13h 06:13 < adu> I remember GWBASIC 06:13 < adu> it didn't even have colors 06:13 < rhencke> that mode was fun 06:13 < rhencke> i used to abuse the heck out of it :P 06:13 < TheSeeker> I never tried pascal. hm. anything like delphi? 06:13 < rhencke> they're very close cousins 06:14 < rhencke> wirth's languages are interesting 06:14 < rhencke> they keep getting smaller 06:14 < rhencke> oberon-07, for example 06:15 < TheSeeker> only used gwbasic on my very first computer, 8088 ... all QB after that until years later when I finally went to Win98SE (skipped 95/98A) even then I stuck mostly with QB until I got XP64 and couldn't run it anymore without dropping into a vm or DosBOX ... 06:15 < rhencke> qbasic was a lot of fun 06:16 < adu> adg: are you hiring? 06:16 < TheSeeker> last languages I used before deciding to give Go a try were xbasic, then Euphoria 06:16 < adg> TheSeeker: delphi is an IDE for pascal with GUI libraries AFAIK 06:16 < adg> TheSeeker: it's a fine language, some parts of go were derived from pascal 06:16 < adg> adu: Google? yes, aggressively in all areas. 06:16 < rhencke> google doesn't have a branch on the east coast, does it? :P 06:17 < adg> rhencke: yes, we have a large engineering office in New York, one in Cambridge MA, and others I believe 06:17 < adu> I would move anywhere to work at Google, even the moon 06:17 < rhencke> oh, awesome 06:17 < adg> rhencke: we just bought an entire NYC city block 06:17 < adg> (according to the papers) 06:19 < rhencke> that's pretty awesome, being able to work on the go team :) 06:19 < adg> rhencke: yes, it is. easily the best job i've had. 06:19 < adg> rhencke: it's a great project and a great team 06:19 < rhencke> adg: you can definitely tell there's a lot of heart put into the stuff 06:20 < TheSeeker> I used Delphi-script when working in the QA dept at a software company that used AutomatedQA tools ... I guess that's as close as I get to ever coding in pascal :) 06:20 < adu> adg: I'm writing a go parser/compiler in Haskell, would you like me to send you a link when I'm done? 06:20 < adg> adu: of course, please do. 06:20 < rhencke> adu: that sounds like a fun project 06:21 < adg> adu: i'm more interested in the code generation/runtime stuff than the parser side :) 06:21 < adu> ok, well the parser is going to be called language-go, like all other Haskell language packages 06:21 < adu> the compiler is going to be called dsgo 06:21 < vsmatck> Someone needs to write go compiler in go. Then add it to the standard library. 06:21 < adg> although i've not seen a parser written in a purely functional language before, should be interesting 06:22 < adu> I imagine it will take me many years to finish the compiler 06:22 < adg> vsmatck: there is a go compiler in go, some university students did it as a project. they made it just good enough to work, then their semester was over 06:22 < adu> so far I'm done on the lexer, still working on the parser 06:23 < vsmatck> I've had the idea that it'd be nice to have a go compiler as part of the standard library that can output a portable assembly. That'd allow you to send to code places to be executed. 06:23 < rhencke> like to llvm? 06:23 < rhencke> or like a smalltalk-style vm? 06:23 < vsmatck> ya same idea. Or same idea as microsoft CIL. 06:23 < adg> vsmatck: http://code.google.com/p/gofrontend/ 06:24 < vsmatck> Something which could be quickly converted to machine code for execution. Like GCC middle-end code or LLVM middle-end code. 06:24 < adg> vsmatck: ian is working toward making gofrontend more backend-agnostic (at present it's very gcc-oriented) 06:24 < adu> adg: under http://hackage.haskell.org/packages/archive/pkg-list.html#cat:language you can see lots of popular parsers like "language-java" and "language-c" 06:24 < vsmatck> Interesting. I'll take a look. :) 06:25 < rhencke> are double panics what they sound like? go panicking inside a panic? 06:25 < adg> rhencke: yes 06:25 < adg> what do you guys think about having some kind of "office hours" on irc? 06:25 < rhencke> adg: ok, thanks :) 06:26 < vsmatck> I just want to be able to do universal server like you can with erlang. Have a server that only knows how to recieve code and run it. Right now there are only funky languages to do this. Sawzall and Javascript. 06:26 < rhencke> adg: like hours when the go team is on? 06:26 < adg> i don't have the time to respond to irc all the time, but we could set up some time once a week where myself and some of the team are available to answer questioins 06:26 < adg> s/oi/o/ 06:26 < adu> rhencke: do you know Haskell? 06:26 < rhencke> adg: that sounds great 06:27 < rhencke> adu: i had taken a few tutorials at one point, but it sadly all left my brain... 06:27 < adu> i can send you the parser so far, see if you can make sense of it 06:27 < rhencke> sure, i'm always up for reading code :) 06:28 < vsmatck> I tried learning haskell once.. heh 06:28 < Namegduf> I only really have one question, and that's "what cool problems are being worked on, and when are we likely to see interesting new things in the lanugage from them?", heh. 06:28 < adu> rhencke: http://hpaste.org/42078/go_parser 06:28 < Namegduf> It is at least a renewing one. 06:29 < adg> they taught us haskell in 1st year university 06:29 -!- noam [noam@77.124.224.108] has quit [Ping timeout: 272 seconds] 06:29 < adg> but i never found it very practical to work with, so i've forgotten a lot of it now 06:29 < rhencke> adg: you could always do a 'suggestion box', too, like Raymond Chen, if the irc format isn't ideal 06:29 < adg> rhencke: how does that work? 06:30 < rhencke> adg: he basically puts on his blog "ok, suggestion box time... ask your questions below"... a bunch of people ask him arcane questions about Windows stuff (he's an old MS dev), and he picks interesting ones out to answer over the course of a few months 06:30 < rhencke> adg: like: http://blogs.msdn.com/b/oldnewthing/archive/2010/07/20/10040074.aspx 06:31 < rhencke> there's a lot of junk questions, but there's always some really interesting ones 06:32 < adu> rhencke: any comments/suggestions? 06:32 < adg> i should take suggestions for golang blog posts 06:33 < rhencke> adu: reading it now.. my haskell is rusy, sorry 06:33 < krutcha> the blogs are great 06:33 < rhencke> rusty 06:34 < adu> you should blog about the differences between TypeLit and LiteralType 06:34 < adg> krutcha: thankx 06:34 < adg> s 06:35 < rhencke> adu: it looks like a good start to me. i have to admit my haskell isn't the best, sorry :) 06:38 < rhencke> adg: his responses take form like so: http://blogs.msdn.com/b/oldnewthing/archive/2007/10/08/5351207.aspx 06:38 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 06:38 < rhencke> gotta run. good night (morning?) all 06:38 -!- rhencke [~rhencke@ppp-70-247-243-221.dsl.ltrkar.swbell.net] has quit [Quit: rhencke] 06:40 < adg> night 06:40 < adg> uh 06:40 < jeff2> what is the easiest way to convert a string like 123, 0xff, 0777 to a numeric value? strconv.Atoi and fmt Sscanf %v seem to only accept decimal 06:41 < adu> what about Sscanf %x? 06:41 < jeff2> adu: that only accepts hex 06:43 -!- brighteyed [~brighteye@78.25.131.222] has joined #go-nuts 06:44 -!- brighteyed [~brighteye@78.25.131.222] has left #go-nuts [] 06:44 < krutcha> I'd like to see a blog post talking about whether go could be used to bit-bash hardware, covering topics like ensuring writes hit (ala C's volatile) or alignment etc. Just for giggles. I have regularely use C, or C++ for some real world systems but would never use java. Could go run on an arduino, processing interrupts, writing registers in-order.. and using channels and go routines to implement a trick subsumption architecture fo 06:44 < krutcha> r a robot.. ermm.. gopher!? lol. 06:47 -!- fafhrd [~fafhrd@unaffiliated/fafhrd] has quit [Quit: Leaving.] 06:50 < adg> krutcha: sounds interesting, i'd have to find a domain expert to write it though 06:54 < anticw> adg: strconv.Btoi64 06:54 < anticw> adu: sorry 06:54 < adu> ? 06:54 < anticw> jeff2: for you i mean 06:55 < anticw> 2/3 fails 06:55 < krutcha> adg: a bit left field I know, but I was just reading "behavior-based robotics" by ronald C. Arkin, it really felt like go could model that stuff nicely with channels. The diagrams make that mapping obvious. 06:56 < krutcha> adg: I heard there was work getting go running on android devices, so maybe an arduino port or something down the road for hobbyists isn't too far fetched? 06:58 < TheSeeker> nsf: using unmodified gocode and goclipse 0.0.17 I get gocode trying to open D:\go\bin\D:\Java\eclipse\workspace\test\src\cmd\ when trying to autocomplete. stack from the gocode -s console: http://dark-code.bulix.org/a1xvg8-78910 07:02 < TheSeeker> maybe a path.Split bug? I recall seeing that was altered recently for the windowsport... 07:03 < adg> krutcha: the arm port was originally intended for small-scale embedded work 07:03 < Rennex> krutcha: i seriously doubt Go could even run on an arduino, or at least be of any use 07:04 < krutcha> I honestly don't know much about arduino other than it seems to have gained a lot of popularity 07:04 < Rennex> krutcha: android is a bit far from arduino, having about a million times more ram 07:06 < Rennex> multitasking and garbage collection etc are far from arduino's league :) 07:08 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit: slashus2] 07:08 < adg> alright, i have written a program to parse the wikipedia xml, now to stuff it into sharded mongodb instances so i can mapreduce it for references to rude words 07:11 < TheSeeker> goclipse is executing: D:\go\bin\gocode.exe -f=csv autocomplete D:\Java\eclipse\workspace\test\src\cmd\udpecho.go 608 07:11 -!- cco3 [~conley@user-64-9-234-26.googlewifi.com] has quit [Ping timeout: 245 seconds] 07:11 < jeff2> anticw: cool thanks, Btoui64 works great. 07:18 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has joined #go-nuts 07:21 -!- crazy2be [~justin@S0106001ac401d400.cg.shawcable.net] has joined #go-nuts 07:22 -!- crazy2be [~justin@S0106001ac401d400.cg.shawcable.net] has quit [Remote host closed the connection] 07:24 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined #go-nuts 07:27 -!- shvntr [~shvntr@116.26.130.7] has joined #go-nuts 07:27 < TheSeeker> hmm, args are definately messed up somehow further up the chain 07:29 -!- shvntr [~shvntr@116.26.130.7] has quit [Client Quit] 07:29 -!- shvntr [~shvntr@116.26.130.7] has joined #go-nuts 07:30 -!- shvntr [~shvntr@116.26.130.7] has quit [Client Quit] 07:30 -!- shvntr [~shvntr@116.26.130.7] has joined #go-nuts 07:31 -!- shvntr [~shvntr@116.26.130.7] has quit [Client Quit] 07:32 -!- shvntr [~shvntr@116.26.130.7] has joined #go-nuts 07:33 -!- shvntr [~shvntr@116.26.130.7] has quit [Client Quit] 07:34 -!- jeff2 [~sername@c-98-210-113-215.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 07:40 < |Craig|> I now may or may not have gccgo compiled (I got build errors, and a bunch of warnings, and some binaries, but nothing looks like gcc or gccgo), but I can't figure out how to run GCC's tests (or if I have them), or how to test my dejagnu build which should run said tests. 07:40 < |Craig|> I guess I'll come back to that later when I have more time. 07:41 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 07:58 -!- araujo [~araujo@190.38.50.25] has joined #go-nuts 07:58 -!- araujo [~araujo@190.38.50.25] has quit [Changing host] 07:58 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 08:01 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has joined #go-nuts 08:03 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:06 < TheSeeker> I figured out the gocode issue 08:08 < TheSeeker> nsf: before joining the curpath with the filename, make sure the first char isn't '\\' and the second char isn't ':' ... I suppose a length check would need to be made there? 08:09 -!- watr_ [~watr@66.183.100.58] has quit [Ping timeout: 255 seconds] 08:09 < TheSeeker> with that simple fix, gocode seems to work as intended in goclipse, including getting code suggestions without having to save first. :) 08:09 -!- floppy_legs [~Adium@c-24-6-100-37.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 08:10 -!- piyushmishra [~piyushmis@117.200.225.86] has joined #go-nuts 08:12 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 08:12 < TheSeeker> well, except that if I do eg: os.func[ctrl+space] I get a list of functions, but when selecting eg: Getgroups it turns into os.funcroups ... that's probably a goclipse bug though :) 08:14 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit: slashus2] 08:22 < thebarberian> damn missed the nice mongodb discussion 08:24 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 08:26 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has joined #go-nuts 08:28 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined #go-nuts 08:49 -!- gnuvince [~vince@72.0.215.135] has quit [Remote host closed the connection] 08:49 -!- gnuvince [~vince@72.0.219.100] has joined #go-nuts 08:49 -!- gnuvince_ [~vince@72.0.215.135] has quit [Remote host closed the connection] 08:49 -!- gnuvince1 [~vince@72.0.219.100] has joined #go-nuts 09:11 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 260 seconds] 09:12 -!- photron [~photron@port-92-201-189-12.dynamic.qsc.de] has joined #go-nuts 09:15 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 09:21 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit: Leaving] 09:24 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 09:33 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit: adu] 09:35 -!- photron [~photron@port-92-201-189-12.dynamic.qsc.de] has quit [Ping timeout: 245 seconds] 09:41 -!- waga [~chatzilla@188.26.40.31] has joined #go-nuts 09:41 < waga> hi 09:45 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has quit [Remote host closed the connection] 09:46 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has joined #go-nuts 09:46 -!- DarthShrine [~angus@124-171-102-81.dyn.iinet.net.au] has joined #go-nuts 09:46 -!- DarthShrine [~angus@124-171-102-81.dyn.iinet.net.au] has quit [Changing host] 09:46 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 09:48 < TheSeeker> huh, I tried loading gocode into goclipse... it seems to have a problem with circular struct dependencies. 09:50 < TheSeeker> the Decl struct has a 'Scope *Scope' struct. the Scope struct has 'entities map[string]*Decl' 09:51 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 10:01 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 10:05 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit: slashus2] 10:13 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has quit [Ping timeout: 252 seconds] 10:17 -!- waga [~chatzilla@188.26.40.31] has quit [Remote host closed the connection] 10:25 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 240 seconds] 10:25 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 10:27 -!- thebarberian [~maznio@bas2-streetsville39-2925218263.dsl.bell.ca] has left #go-nuts [] 10:27 -!- foocraft [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has joined #go-nuts 10:28 -!- tox2010 [~user@cpc5-addl4-2-0-cust231.6-3.cable.virginmedia.com] has joined #go-nuts 10:43 -!- rspec22 [~rothspec@69.55.231.142] has quit [Quit: leaving] 10:49 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 10:51 < foocraft> merge sort! <--- my current project in Go 10:51 < foocraft> I wanna do a serial and concurrent implementation 10:52 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 10:54 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 10:55 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 11:03 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 11:05 -!- tapankarecha [~tapankare@122.167.0.181] has joined #go-nuts 11:05 -!- tapankarecha [~tapankare@122.167.0.181] has left #go-nuts [] 11:21 -!- terrex [~terrex@84.122.72.127.dyn.user.ono.com] has joined #go-nuts 11:24 -!- antonkovalyov [~antonkova@adsl-75-18-220-88.dsl.pltn13.sbcglobal.net] has joined #go-nuts 11:25 -!- DerHorst [~Horst@e176101162.adsl.alicedsl.de] has joined #go-nuts 11:26 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 11:43 -!- sjohnson [~sjohnson@ptr-208-68-18-67.rdns.thinktel.ca] has joined #go-nuts 11:44 < sjohnson> Q: why does the crypto standard library for Go have the 4 SHA-2 algorithms paired up in twos 11:46 < sjohnson> ;_; 12:00 -!- antonkovalyov [~antonkova@adsl-75-18-220-88.dsl.pltn13.sbcglobal.net] has quit [Remote host closed the connection] 12:01 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit [Quit: Ex-Chat] 12:01 -!- foocraft [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has quit [Ping timeout: 265 seconds] 12:02 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 12:04 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 12:10 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 12:18 -!- thomaslee [~thomaslee@202-161-18-106.dyn.iinet.net.au] has quit [Quit: Leaving] 12:25 -!- tensorpudding [~user@99.148.202.191] has quit [Remote host closed the connection] 12:28 -!- kanru [~kanru@2001:c08:3700:ffff::22:9e03] has quit [Read error: Operation timed out] 12:30 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 12:31 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 12:33 -!- Scorchin [~Scorchin@host109-154-186-176.range109-154.btcentralplus.com] has joined #go-nuts 12:39 -!- foocraft [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has joined #go-nuts 12:41 -!- wtfness [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has joined #go-nuts 12:41 -!- kanru [~kanru@2001:c08:3700:ffff::23:e732] has joined #go-nuts 12:43 -!- wtfness [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has quit [Client Quit] 12:47 -!- piyushmishra [~piyushmis@117.200.225.86] has quit [Quit: Leaving.] 13:18 < foocraft> hey all 13:18 < foocraft> I think this is a really bad question 13:18 < foocraft> but, I'm going to ask it anyway: how do I read the syntax declarations in the Go language spec? 13:21 < ww> http://en.wikipedia.org/wiki/Extended_Backus%E2%80%93Naur_Form 13:22 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has quit [Quit: tdc] 13:22 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 13:25 < nsf> http://golang.org/doc/go_spec.html#Notation 13:26 < nsf> foocraft: spec itself describes its notation 13:28 -!- kashia__ [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:29 -!- kashia__ [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:30 -!- kashia__ [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:32 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:32 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:34 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:34 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 13:34 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:38 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 13:39 -!- photron [~photron@port-92-201-189-12.dynamic.qsc.de] has joined #go-nuts 13:40 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:40 -!- noam [noam@77.124.236.67] has joined #go-nuts 13:41 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:44 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has joined #go-nuts 13:48 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Ping timeout: 255 seconds] 13:48 -!- Broady [~b@unaffiliated/broady] has quit [Quit: leaving] 13:50 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:52 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:53 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 13:54 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 13:55 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 13:56 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 14:03 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:05 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:07 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:08 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:10 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Ping timeout: 245 seconds] 14:10 < foocraft> thanks nsf and ww for the EBNF, seems interesting (and prolly helpful for some nasty pseudo code writeups that I've seen before) 14:12 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 14:15 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:16 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:18 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:18 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:22 -!- noam [noam@77.124.236.67] has quit [Read error: Connection reset by peer] 14:22 -!- noam [noam@77.124.236.67] has joined #go-nuts 14:26 -!- artefon [~thiago@189.59.159.218.dynamic.adsl.gvt.net.br] has joined #go-nuts 14:27 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Ping timeout: 250 seconds] 14:28 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:29 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 14:29 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Excess Flood] 14:31 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 14:32 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:32 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:33 -!- tox2010 [~user@cpc5-addl4-2-0-cust231.6-3.cable.virginmedia.com] has quit [Ping timeout: 255 seconds] 14:33 -!- zozoR [~zozoR@56344bf6.rev.stofanet.dk] has joined #go-nuts 14:34 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:35 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:37 -!- Axsuul [Axsuul@97-93-99-133.static.mtpk.ca.charter.com] has quit [Ping timeout: 250 seconds] 14:38 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:38 -!- skelterjohn_ [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 14:39 < foocraft> the constructs in Go are so much, that I can't get the "go way" straight up in my head 14:39 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.nj.comcast.net] has quit [Ping timeout: 245 seconds] 14:39 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:40 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:40 -!- sauerbraten [~sauerbrat@p508CB725.dip.t-dialin.net] has joined #go-nuts 14:47 -!- kanru [~kanru@2001:c08:3700:ffff::23:e732] has quit [Read error: Operation timed out] 14:47 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:48 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 14:48 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:52 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:53 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 14:53 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 14:56 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 14:56 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 14:57 -!- Scorchin [~Scorchin@host109-154-186-176.range109-154.btcentralplus.com] has quit [Quit: Scorchin] 14:57 -!- Scorchin [~Scorchin@host109-154-186-176.range109-154.btcentralplus.com] has joined #go-nuts 14:57 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:01 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:01 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 15:02 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:03 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 15:03 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:04 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:04 -!- foocraft [~dsc@dyn-86-36-43-92.wv.qatar.cmu.edu] has quit [Quit: Leaving] 15:06 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:06 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:10 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:10 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:12 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:13 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:13 -!- l00t [~i-i3id3r_@187.127.196.159] has quit [Quit: Leaving] 15:13 -!- l00t [~i-i3id3r_@187.127.196.159] has joined #go-nuts 15:13 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:14 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:17 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:18 -!- powerje [~powerj@adsl-75-49-3-95.dsl.wotnoh.sbcglobal.net] has joined #go-nuts 15:19 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:20 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:21 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:24 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 15:25 < skelterjohn> how can you get the return code from something invoked by exec.Run? 15:25 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:25 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Read error: Connection reset by peer] 15:26 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has quit [Client Quit] 15:26 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 15:31 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has quit [Ping timeout: 264 seconds] 15:36 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 15:39 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 15:42 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Quit: End of line.] 15:42 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has joined #go-nuts 15:50 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 15:51 -!- zozoR [~zozoR@56344bf6.rev.stofanet.dk] has quit [Ping timeout: 265 seconds] 15:52 -!- zozoR [~zozoR@56344bf6.rev.stofanet.dk] has joined #go-nuts 16:08 -!- allengeorge [~allengeor@bas1-brampton37-2925500154.dsl.bell.ca] has joined #go-nuts 16:09 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: peace in teh middle east] 16:19 -!- foocraft [~dsc@89.211.184.236] has joined #go-nuts 16:20 -!- piyushmishra [~piyushmis@117.200.225.86] has joined #go-nuts 16:34 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has joined #go-nuts 16:37 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 16:39 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has quit [Excess Flood] 16:41 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 16:41 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has quit [Remote host closed the connection] 16:45 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has left #go-nuts [] 16:48 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has joined #go-nuts 16:51 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has left #go-nuts [] 16:51 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 16:55 < allengeorge> Hi - I have a Go interface conversion question 16:55 < allengeorge> Given code like this: 16:55 < allengeorge> https://gist.github.com/729247 16:56 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has joined #go-nuts 16:56 < allengeorge> Let's say I have multiple _types_ of MessageDerived (i.e. MessageDerived1, MessageDerived2, etc.) all of which implement AnInterface 16:57 < allengeorge> How do I upcast a variable of type "AnInterface" to MessageBase in order to change RequestId? 16:59 -!- ronny [~quassel@drsd-4db30e11.pool.mediaWays.net] has joined #go-nuts 17:00 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has quit [Quit: Leaving.] 17:00 < allengeorge> Any ideas? 17:00 < exch> allengeorge: var foo AnInterface; foo = something; mb := foo.(*MessageDerived); mb.RequesId = 123 17:00 < exch> that's called a type assertion 17:01 < exch> You can do it without assigning it to mb.. foo.(*MessageDerived).RequestId = 123 17:01 < allengeorge> Right. But I want to do MessageBase, not MessageDerived 17:01 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has joined #go-nuts 17:02 < allengeorge> Can I not upcast? 17:02 < exch> You embedded messagebase in messagederived. You should be able to access the RequestId field directly through MessageDerived 17:02 < allengeorge> But then I'd need to know the exact type 17:02 < allengeorge> Instead of knowing only the parent type 17:02 < taruti> just add a "Base() *MessageBase" method to the interface. 17:03 < taruti> *syntax 17:03 < allengeorge> taruti: Yeah - that's a good idea. 17:03 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 17:03 < allengeorge> But other than that, there's no way, right? 17:04 < exch> why? var md MessageDerived; md.RequestId = 123; doesn't this work? You can access the MessageBase by it's type name: mybase := md.MessageBase; 17:04 < taruti> What is the status of the Plan9 port of Go? 17:06 < allengeorge> exch: I actually have 8 message types that embed MessageBase as an anonymous struct and one function that handles all 8. It has to set _1_ field (the real MessageBase has 8) before sending the message out. I can do a switch with a type assertion, but that seems like ... like I shouldn't have to do that 17:06 -!- tux21b_ [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 17:07 < allengeorge> Obviously the 8 derived types are specializations of the base type 17:10 -!- piyushmishra [~piyushmis@117.200.225.86] has quit [Ping timeout: 255 seconds] 17:10 -!- fluf^arr [~camelid@s.pl0rt.org] has joined #go-nuts 17:10 -!- cbeck1 [cbeck@gateway/shell/pdx.edu/x-uqchmyrixmrutwpm] has joined #go-nuts 17:10 -!- thiago__ [~thiago@189.59.159.218.dynamic.adsl.gvt.net.br] has joined #go-nuts 17:10 -!- homa_ran1 [~erice@hmsvelociraptor.csail.mit.edu] has joined #go-nuts 17:11 -!- Netsplit *.net <-> *.split quits: homa_rano, awidegreen, preflex, nictuku, cbeck, fluffle, pjm0616, TheSeeker, artefon, Cobi 17:11 -!- Netsplit over, joins: pjm0616, awidegreen 17:14 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 17:16 -!- tux21b_ [~christoph@chello213047047175.3.graz.surfer.at] has quit [Ping timeout: 265 seconds] 17:16 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 17:17 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 17:19 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has joined #go-nuts 17:23 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 17:24 -!- noam [noam@77.124.236.67] has quit [Read error: Connection reset by peer] 17:24 -!- noam [noam@77.124.236.67] has joined #go-nuts 17:24 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 17:26 -!- tux21b [~christoph@chello213047047175.3.graz.surfer.at] has quit [Quit: exit(EXIT_SUCCESS); // see ⓎⓄⓊ] 17:26 -!- tux21b [~christoph@trujillo.srv.pocoo.org] has joined #go-nuts 17:26 -!- deso_ [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts 17:26 -!- deso_ [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection reset by peer] 17:27 -!- camnaes [~sean@c-69-255-143-16.hsd1.md.comcast.net] has joined #go-nuts 17:38 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 17:39 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 17:40 < foocraft> hey all 17:41 < foocraft> I want to do the java equivalent of return new int [2][] { new int [2], new int [2] } 17:41 -!- tux21b [~christoph@trujillo.srv.pocoo.org] has quit [Excess Flood] 17:42 -!- tux21b [~christoph@trujillo.srv.pocoo.org] has joined #go-nuts 17:43 -!- Cyprien__ [~Cyprien@36-143.78-83.cust.bluewin.ch] has joined #go-nuts 17:43 -!- Kashia [~Kashia@port-92-200-8-147.dynamic.qsc.de] has joined #go-nuts 17:46 -!- Cyprien_ [~Cyprien@164-206.77-83.cust.bluewin.ch] has quit [Ping timeout: 240 seconds] 17:46 -!- noam [noam@77.124.236.67] has quit [Read error: Connection reset by peer] 17:46 -!- noam [noam@77.124.236.67] has joined #go-nuts 17:46 < nsf> foocraft: make([]int, 2) 17:47 < nsf> although I don't know Java at all 17:47 < foocraft> hmm so if I have var firstArray, secondArray []int; 17:47 < nsf> firstArray = make([]int, 2) 17:47 < nsf> len(firstArray) == 2 17:48 < nsf> cap(firstArray) == 2 17:48 < foocraft> so I want to return an array containing both firstArray and secondArray 17:48 < nsf> ah 17:48 < nsf> you can return multiple values in Go 17:48 < nsf> but if you really want a slice of slices 17:48 < exch> [][]int{ []int{1,2}, []int{3,4} } 17:48 < nsf> return [][]int{firstArray, secondArray} 17:49 < foocraft> yeah, that's more like what I was shooting for 17:49 < foocraft> I'm trying to create a serial implementation of merge sort, then write a parallel one the "go way" 17:52 < foocraft> var mergedCollection [ len ( firstHalf ) + len ( secondHalf ) ]int 17:52 < nsf> that won't work 17:52 < foocraft> this, for some reason, fails to compile 17:53 < nsf> mergedCollection := make([]int, len(firstHalf) + len(secondHalf)) 17:53 -!- noam [noam@77.124.236.67] has quit [Read error: Connection reset by peer] 17:53 -!- noam [noam@77.124.236.67] has joined #go-nuts 17:53 < foocraft> I better get used to make soon 17:53 < foocraft> without the var, nsf? 17:53 < nsf> yes 17:53 < exch> [123]int is a fixed size array. The size can only be determined at compile time. What nsf demonstrates is how you make a slice of arbitrary size 17:54 < foocraft> so what's the significance of the var keyword, then? 17:54 < nsf> foocraft: ':=' means declare and initialize + deduce type 17:54 < nsf> with var you can specify the type by yourself 17:54 < nsf> also var is required outside of functions scope 18:00 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit: Leaving] 18:01 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 18:02 < exch> Go is behaving very oddly today :s I'm rewriting my PCRE bindings.. repeated runs of the same test code: regex matches succeed sometimes and fail other times without any changes to the patterns or code. The addition or removal of a println() statement somewhere in the code also changes the behaviour of a slice bounds violation panic O_o 18:04 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 18:05 < nsf> exch: looks like race condition or buffer overflow 18:05 < nsf> somewhere.. 18:05 < exch> yes.. somewhere way deep down 18:05 < exch> I cant for the life of me figure out where 18:09 -!- foocraft [~dsc@89.211.184.236] has quit [Quit: Leaving] 18:12 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 18:13 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 18:14 -!- markcol [~markcol@74.125.59.1] has joined #go-nuts 18:20 -!- Nitro` [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has joined #go-nuts 18:21 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined #go-nuts 18:22 < fenicks> hello 18:22 < exch> lo 18:25 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 18:32 -!- tux21b [~christoph@trujillo.srv.pocoo.org] has quit [Excess Flood] 18:33 -!- Anjin [~anjin@sedona.hutch.org] has joined #go-nuts 18:33 -!- tux21b [~christoph@trujillo.srv.pocoo.org] has joined #go-nuts 18:34 -!- rbraley [~rbraley@ip72-204-243-89.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 18:35 -!- rbraley [~rbraley@ip72-204-243-89.ph.ph.cox.net] has joined #go-nuts 18:35 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 18:37 -!- Guest18404 [~quassel@drsd-4db30e11.pool.mediaWays.net] has quit [Remote host closed the connection] 18:55 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 19:06 < skelterjohn> anyone around who wants to try out a build tool i made, and maybe give me some feedback? 19:07 -!- Chopinn [~Chopin@ti0018a380-dhcp1590.bb.online.no] has joined #go-nuts 19:07 < skelterjohn> it's designed to handle multi-package projects with lots of interdependencies 19:08 -!- nictuku [~nictuku@cetico.org] has joined #go-nuts 19:08 < skelterjohn> with a bare minimum of necessary configuration 19:13 < skelterjohn> http://code.google.com/p/go-gb/ 19:13 < skelterjohn> no doc yet 19:20 -!- jeffreyb [~jeff@host109-152-236-10.range109-152.btcentralplus.com] has joined #go-nuts 19:21 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 276 seconds] 19:24 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 19:24 -!- thiago__ [~thiago@189.59.159.218.dynamic.adsl.gvt.net.br] has quit [Quit: bye] 19:25 -!- zozoR [~zozoR@56344bf6.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 19:32 -!- antonkovalyov [~antonkova@adsl-75-18-220-88.dsl.pltn13.sbcglobal.net] has joined #go-nuts 19:40 < exch> hmm. The only patterns that seem to occasionally fail or succeed, are the ones that have a regex escape character in it.. like \d or \w 19:41 < cbeck1> sre2 or regexp? 19:41 < exch> pcre 19:41 < cbeck1> ah 19:43 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts 19:53 < TheSeeker> skelterjohn: it looks like it expects there to be a /pkg folder existing in your project ? 19:54 < skelterjohn> it creates it 19:54 < skelterjohn> and puts the built packages there 19:54 < TheSeeker> skelterjohn: hmm, maybe use a pathseperator instead of a hardcoded '/' then so it'll work on windows? 19:55 < skelterjohn> aha...windows... 19:55 < skelterjohn> i could try to make it work with windows, but i could not test :\ 19:55 < TheSeeker> it's calling 8g -I D:\go\src\pkg\github.com\nsf\gocode/pkg -o goremote/_go_.5 goremote/goremote.go 19:56 < skelterjohn> i can certainly use a path separator instead of / though 19:56 < skelterjohn> there might be other issues too 19:56 < skelterjohn> do you know off the top of your head where i can find the separator? i figured os.FileSep or something - no dice 19:58 < camnaes> http://golang.org/pkg/path/ 19:58 < skelterjohn> thanks 20:00 < TheSeeker> The problem becomes detecting UNC paths ('/') vs normal paths ('\\') ... the obvious solution being to not support unc paths on windows :P 20:00 < TheSeeker> if there's no volume seperator ':' then it's either a relative path or a unc path... 20:01 * TheSeeker will be happy to test any changes. 20:02 -!- niemeyer [~niemeyer@189.73.142.213] has joined #go-nuts 20:03 < skelterjohn> i'm happily making some 20:04 < TheSeeker> is go-gb substantially any different than http://gobuild.googlecode.com or http://godag.googlecode.com ? 20:05 < skelterjohn> in that i couldn't get them to do what i wanted, or figure out the code, yes 20:05 < skelterjohn> one thing go-gb can do is redefine targets 20:06 < skelterjohn> for instance, if people want their project to work with goinstall, they might have the target be, eg, "gomatrix.googlecode.com/hg/matrix" instead of "matrix" 20:06 -!- virtualsue [~chatzilla@nat/cisco/x-psboroscogioonbe] has joined #go-nuts 20:13 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 20:13 < TheSeeker> hello nsf 20:14 < nsf> hi 20:14 < skelterjohn> alright - i pushed a new version that makes extensive use of the path package 20:14 < skelterjohn> and it still works locally 20:14 < skelterjohn> so that means it will now work on your machine, of course 20:15 < skelterjohn> though... never in there do i talk about ".exe" files... 20:15 < skelterjohn> i don't know what will happen there 20:16 < TheSeeker> nsf: http://dark-code.bulix.org/a8ql8w-78913 20:17 < nsf> TheSeeker: makes sense, but I'd rather place it in os_ files 20:17 < nsf> and call it like IsRootPath(string) bool 20:18 -!- siyb [~siyb@83.216.216.131] has quit [Ping timeout: 240 seconds] 20:18 < nsf> or even shorter 20:18 < nsf> simply IsRoot 20:18 < nsf> no, wait 20:18 < nsf> IsAbsPath :) 20:18 < TheSeeker> nsf: didn't say it was pretty, or right, just letting you know what I'm doing to make it work :) 20:19 < nsf> ok, thanks 20:19 -!- siyb [~siyb@83.216.216.131] has joined #go-nuts 20:20 < nsf> filename[0] != '\\' 20:20 < nsf> although 20:20 < nsf> I don't understand this one 20:20 < TheSeeker> oops 20:20 < nsf> in windows abs path starts with: "<DRIVE>:\" 20:21 < nsf> (len(filename) > 1 && filename[1] != ':') // which is here 20:21 < nsf> but previous one isn't necessary, right? 20:21 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts 20:21 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 20:21 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 20:21 < TheSeeker> I misunderstood the purpose of the -- filename[0] != '/' 20:21 < nsf> :) 20:21 < TheSeeker> maybe 20:22 < photron> nsf: what about unc and \\?\ paths? :) 20:22 < TheSeeker> windows can do \foo\bar as an absolute-ish path too, it's just absolute relative to the working <drive> ;) 20:22 < nsf> photron: ugh.. 20:22 < nsf> ah, ok, I see 20:23 < nsf> so.. first '\\' in the path means it's an abs path as well 20:23 * TheSeeker has never used unc paths for anything... I would say don't worry about it unless someone complains. :) 20:23 -!- DerHorst [~Horst@e176101162.adsl.alicedsl.de] has quit [Remote host closed the connection] 20:23 < nsf> should I leave (filename[0] == '\\') test? 20:24 < nsf> personally I don't care about windows, it's up to you guys :) 20:24 -!- siyb [~siyb@83.216.216.131] has quit [Read error: No route to host] 20:25 < TheSeeker> nsf: I think you should, since the logic otherwise would be to prepend the working gocode exe dir to the path... 20:25 -!- siyb [~siyb@83.216.216.131] has joined #go-nuts 20:25 < TheSeeker> though, you could just tell users of gocode not to use \foo or /foo style pathnames... 20:26 < TheSeeker> hmm 20:26 < TheSeeker> no 20:26 -!- siyb [~siyb@83.216.216.131] has quit [Read error: No route to host] 20:26 < TheSeeker> on linux /foo IS certain to be a specific location, on windows, not so much. :/ 20:27 < skelterjohn> what is gocode for? 20:27 < TheSeeker> awesomeness. 20:27 < skelterjohn> useful explanation 20:27 < TheSeeker> :) 20:27 < TheSeeker> it does autocompletion / code suggestion 20:27 < skelterjohn> ah 20:28 < nsf> also it can rename identifiers in the code 20:28 < nsf> but no one uses this feature 20:28 < nsf> except me 20:28 < nsf> :) 20:28 < nsf> TheSeeker: https://github.com/nsf/gocode/commit/df65d4f28a67b16ac10db390ebf3f07bc47dfc0d 20:28 < skelterjohn> rename identifiers... as in refactor code? 20:28 < nsf> will that be ok for you? 20:29 < nsf> skelterjohn: something like that, yeah 20:29 < skelterjohn> how is it different? 20:29 < nsf> I have a demo somewhere, one sec 20:29 < nsf> http://jiss.convex.ru/gocode-rename.swf 20:30 < TheSeeker> nsf: looks good to me, considering that's exactly equivilent to my code. XD 20:30 -!- siyb [~siyb@83.216.216.131] has joined #go-nuts 20:30 < nsf> TheSeeker: yep 20:30 < TheSeeker> Might even work properly with \\?\ paths that way 20:30 < nsf> well, I've just abstracted it away to os_ stuff 20:30 < skelterjohn> that seems exactly like refactoring :) 20:30 < skelterjohn> nice demo 20:30 < nsf> because there is no point in checking 'C:\' on linux 20:31 < TheSeeker> nsf: I bet goclipse uses that feature at some point in the future. 20:31 < nsf> TheSeeker: we'll see 20:32 < TheSeeker> I'm waiting for 0.0.18 to start copmlaining about gocode related bugs... 20:32 < nsf> :) 20:32 < GilJ> Is there a way to compare values of the type interface{} ? 20:32 < nsf> I'm sure most bugs are windows specific 20:33 -!- niemeyer [~niemeyer@189.73.142.213] has quit [Ping timeout: 245 seconds] 20:33 < TheSeeker> have you tried opening gocode as a project in goclipse on linux? 20:33 < nsf> nope 20:33 < nsf> I haven't used goclipse on linux 20:33 < nsf> I'm not a big fan of IDEs 20:34 < skelterjohn> i'd like eclipse to not be a big part of the go community, really 20:34 < exch> GilJ: only == and !=. those are pointer comparisons. The exception is integer values stored as interface{}. Those will be accurate == and != comparisons by the actual int value 20:34 < TheSeeker> why? 20:34 < nsf> skelterjohn: well, Rob Pike said that Go should be usable without an IDE 20:34 < nsf> and I'm sure it will be 20:35 < exch> GilJ: If you want more detailed comparisons, you have to turn the interface{} values into their respective real types 20:35 < TheSeeker> I personally would rather see a netbeans module, or a standalone go-based go-ide ... 20:35 < skelterjohn> the only thing i miss from an IDE is refactoring 20:35 < TheSeeker> but I'll take what I can get. 20:35 < GilJ> exch: Oh thats a bummer, but thanks :) 20:35 * exch does Go in gedit 20:35 < nsf> I do all my go code in vim with gocode :D 20:35 < GilJ> What's gocode? 20:36 < nsf> GilJ: https://github.com/nsf/gocode 20:36 < TheSeeker> I just can't write code in notepad, sorry. I need code autocomplete and syntax-nazi parsing to keep me at all productive... 20:36 < skelterjohn> an auto-complete tool for go on vim 20:36 < skelterjohn> i use xcode - lets me switch between projects and files easil 20:36 < nsf> GilJ: just scroll down to the README section of the page 20:36 < skelterjohn> y 20:36 < GilJ> nsf: Thanks :) 20:36 < nsf> screencast, screenshot, description 20:36 < nsf> everything is here 20:36 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has joined #go-nuts 20:37 < GilJ> I'm using vim without go specific plugins, but I'm just poking around and learning the language atm 20:38 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Client Quit] 20:38 < nsf> GilJ: if you're a vim user, you should try it, definitely 20:38 < nsf> I mean the gocode 20:38 < GilJ> Yeah, installing it atm :) 20:40 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has quit [Ping timeout: 265 seconds] 20:51 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 20:52 < GilJ> Thanks nsf, that saves me some trips to the documentation pages :) 20:52 -!- jeffreyb [~jeff@host109-152-236-10.range109-152.btcentralplus.com] has quit [Read error: Connection reset by peer] 20:52 -!- jeffreyb [~jeff@host109-152-236-10.range109-152.btcentralplus.com] has joined #go-nuts 20:53 < nsf> also I've created alt go docs which are for keyboard lovers: http://nsf.github.com/go/ 20:53 < nsf> just type something, like 'goast' 20:53 < nsf> and press enter here 20:54 < nsf> on the package package type '?' for help 20:54 < nsf> I mean it's fully usable without mouse 20:55 < exch> Is it normal for goinstall to prompt me for a username/password when I try to fetch a github repo? 20:55 < GilJ> Cool :) 20:57 < |Craig|> nsf: as someone who generally likes to use the mouse, and oft has one thumb on the track pad while typing, I still find that useful and awesome. 20:57 < nsf> well, good then :) 20:57 < nsf> I'm glad you like it 20:57 < |Craig|> and I'm reading a vim tutorial because gocode looks so nice. 20:58 < nsf> hehe 20:58 < bartbes> nsf: oh wow 20:58 < nsf> |Craig|: you can integrate it to your fav editor, but it requires a bit of work 20:59 < nsf> |Craig|: what editor are you using? 20:59 < |Craig|> nsf: generally I use textwrangler 20:59 < |Craig|> but I'm not too attached to it 20:59 < nsf> oh, I see, never heard about it.. probably you're a mac user also 20:59 < |Craig|> yes 21:00 < nsf> well, all I can say that vim and gocode should work on mac as well 21:00 < nsf> if not, let me know 21:00 < nsf> there were some problems with temporary files 21:00 < nsf> (vim uses them to pass currently editted buffer to gocode) 21:00 < TheSeeker> I suppose I could try installing vim on windows and seeing how things work (if they work) 21:01 < nsf> on windows it works badly 21:01 < TheSeeker> :) 21:01 < nsf> there is a problem, that on windows vim starts external command through a freshly opened console window 21:01 < nsf> if you can live with that, then fine.. it works 21:01 < nsf> :D 21:01 < |Craig|> I tried goclipse to try and get my hands on some gocode power, and it kinda worked, but for something so massively big and clunky, kinda working is not very good. 21:02 < nsf> yeah, goclipse gocode plugin isn't in the best shape 21:02 < nsf> especially on windows 21:02 < nsf> but it will be better I guess 21:02 < TheSeeker> It's pretty close to working well... 21:02 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit: Leaving.] 21:05 < |Craig|> nsf: regarding your keyboard interfaced go reference, would it be easy for me to run a local copy like I can for godoc so it includes my installed packages? 21:05 < nsf> |Craig|: it is generated by gortfm 21:05 < nsf> https://github.com/nsf/gortfm 21:05 < nsf> the tool I wrote 21:05 < nsf> perfectly works for 3rd party packages also 21:05 < nsf> http://nsf.github.com/termbox/termbox.html <- example 21:05 < |Craig|> nsf: excellent, thanks. 21:06 < nsf> gortfm-util stdlib $GOROOT <output dir> 21:06 < nsf> you can generate docs for std lib that way 21:06 -!- camnaes [~sean@c-69-255-143-16.hsd1.md.comcast.net] has quit [Quit: ] 21:08 < TheSeeker> only goclipse->gocode bug I have seen so far is the broken autocomplete when using eg: foo.func<autocomplete>->SomeName() turning into foo.funcName() 21:08 < nsf> I guess it is a misuse of gocode 21:08 < nsf> it can handle that nicely 21:08 < nsf> but no one from goclipse team asked me how 21:09 < nsf> because it is possible that editor may handle that case by itself 21:09 < nsf> like detecting first '.' before the cursor 21:09 < nsf> and sending that possition to gocode instead of a real one 21:09 < nsf> position* 21:09 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 21:10 < nsf> or leave it to gocode :) 21:10 < TheSeeker> well, gocode is returning a list of functions only in that case, so the request part seems to be working. 21:10 < nsf> ah.. also there is actually an issue 21:10 < nsf> gocode doesn't return a number of symbols 21:10 < nsf> that editor should replace in that case 21:10 < nsf> csv formatter simply doesn't use this number 21:11 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts 21:11 < nsf> vim formatter does though 21:11 < TheSeeker> aha 21:11 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #go-nuts 21:11 < nsf> and I actually don't remember how it all works 21:12 < nsf> :D 21:12 < nsf> I just know that it certainly works 21:12 < TheSeeker> grr, why doesn't it work? -> yay it works! -> never look at the code again. 21:12 < nsf> no, it's not like that 21:12 < jesusaurus> any devs around? 21:13 < jesusaurus> what does export GOROOT=${GOROOT:-"@@GOROOT@@"} do? from go-test 21:13 < nsf> I simply did that long time ago 21:13 < nsf> jesusaurus: it's something like: if GOROOT exists, use it, other wise use @@GOROOT@@ 21:13 < nsf> and @@GOROOT@@ is being set by someone else 21:14 < nsf> on the compilation stage probably 21:14 < nsf> or.. i don't know 21:14 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the connection] 21:14 < nsf> ifdef GOROOT 21:14 < jesusaurus> huh, because my gotest is failing after sourcing Make.inc because $O isn't set :/ 21:14 < nsf> GOROOT=$(GOROOT) 21:14 < nsf> else 21:14 < nsf> GOROOT=@@GOROOT@@ 21:14 < nsf> endif 21:14 < nsf> something like that :D 21:15 < nsf> strange 21:15 < nsf> but I can't help you 21:15 < nsf> never used gotest :D 21:18 < nsf> TheSeeker: ah.. I know how it works now.. gocode returns a number of character that editor needs to replace by an autocompletion proposal 21:18 < nsf> basically it's a destination to the closest '.' 21:18 < nsf> or something else 21:18 < jesusaurus> arg, i just want to build my go compiler 21:18 -!- floppy_legs [~Adium@c-24-6-100-37.hsd1.ca.comcast.net] has joined #go-nuts 21:19 < nsf> characters* 21:19 < nsf> oops 21:19 < nsf> nonsense 21:19 < TheSeeker> jesusaurus: is GOROOT defined? and GOOS, and GOARCH ? 21:21 < jesusaurus> GOROOT is, i recently unset GOOS and GOARCH to see if that would help 21:21 < TheSeeker> and $GOBIN ? 21:21 < jesusaurus> and GOBIN is set to a path outside GOROOT 21:22 -!- rhencke [~rhencke@ppp-70-247-243-221.dsl.ltrkar.swbell.net] has joined #go-nuts 21:22 < jesusaurus> found my problem 21:22 < jesusaurus> old crufty gotest higher in my path 21:22 < nsf> :) 21:23 < nsf> most of the go build system problems or compiler failure problems are old stuff somewhere on the PATH 21:23 < nsf> :\ 21:23 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined #go-nuts 21:24 < rhencke> nsf: yep... that's bitten me before 21:24 * TheSeeker could probably compile go on windows if he didn't have multiple conflicting posix emulation layers isntalled and required to be in the path for various things to work :P (msysgit, cywin, mingw) 21:25 < nsf> :D 21:25 < nsf> TheSeeker: there is a binary package out there for Go 21:25 < rhencke> yes; it works fairly well 21:25 < nsf> http://code.google.com/p/gomingw/ 21:26 < TheSeeker> nsf: I know, and I use it. but I'd still like to be able to compile myself... 21:26 < nsf> uhm.. why? :) 21:27 < nsf> gentoo syndrome? 21:27 < TheSeeker> so I don't have to wait for a next release when a fix is introduced? 21:27 < nsf> ah.. I see 21:27 < nsf> fair enough 21:27 < TheSeeker> that's not generally a problem since releases are made about once a week anyway, but still :) 21:27 < nsf> yeah 21:28 < TheSeeker> I could also build for x64 instead of 32 bit binaries... 21:29 < TheSeeker> yes, I'm aware of http://code.google.com/p/go-w64/ 21:29 < TheSeeker> It's not updated though... 21:31 -!- rbraley [~rbraley@ip72-204-243-89.ph.ph.cox.net] has quit [Ping timeout: 265 seconds] 21:32 < nsf> :) 21:32 -!- noam [noam@77.124.236.67] has quit [Read error: Connection reset by peer] 21:33 -!- noam [noam@77.124.236.67] has joined #go-nuts 21:33 -!- tdc [~santegoed@host86-156-182-103.range86-156.btcentralplus.com] has quit [Quit: tdc] 21:35 -!- floppy_legs [~Adium@c-24-6-100-37.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 21:37 < TheSeeker> http://code.google.com/p/golang-on-cygwin/ also looks very out of date. 21:37 < TheSeeker> probably just superceeded by gomingw. 21:41 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 21:41 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 21:41 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 21:42 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 21:43 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts 21:43 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 21:43 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 21:43 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Client Quit] 21:45 -!- niemeyer [~niemeyer@189.73.142.213] has joined #go-nuts 21:47 -!- coldturnip1 [~COLDTURNI@118-166-70-93.dynamic.hinet.net] has joined #go-nuts 21:47 -!- terrex [~terrex@84.122.72.127.dyn.user.ono.com] has quit [Ping timeout: 245 seconds] 21:49 -!- coldturnip [~COLDTURNI@118-166-68-202.dynamic.hinet.net] has quit [Ping timeout: 272 seconds] 21:54 -!- sauerbraten [~sauerbrat@p508CB725.dip.t-dialin.net] has quit [Remote host closed the connection] 21:57 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping timeout: 259 seconds] 22:01 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 22:04 -!- niemeyer [~niemeyer@189.73.142.213] has quit [Quit: Leaving] 22:10 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Remote host closed the connection] 22:17 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 22:26 < plexdev> http://is.gd/igaHD by [Nigel Tao] in go/ -- A+C: add Ryan Hitchman. 22:34 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:40 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has quit [] 22:44 -!- jeffreyb [~jeff@host109-152-236-10.range109-152.btcentralplus.com] has quit [Quit: Leaving] 22:45 < |Craig|> looks like gocode does not find stuff in my local packages for autocomplete. Do I need to open all the files, or install them (or something else)? 22:53 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 22:59 < nsf> |Craig|: it depends 22:59 < nsf> ah.. 22:59 < nsf> if you're importing something like: 23:00 < nsf> import "./mypackage" 23:00 < nsf> mypackage should be built 23:00 < nsf> e.g. you should have mypackage.a or mypackage.8/6 in dir 23:01 < |Craig|> I guess I'm paying the price of using strange makefile tricks 23:01 < |Craig|> I need to make my .a and .6 files more sensibly placed and named 23:03 < |Craig|> generally, how are local packages supposed to be imported? I've just been using "packageName" but I've seen "/packageName" and now you mention "./packageName" 23:04 < nsf> ./packageName means local package 23:04 < nsf> packageName means global package 23:04 < nsf> local package is imported using relative path 23:04 < nsf> you can see that in gocode itself 23:04 < nsf> it uses configfile package 23:04 < nsf> in config.go 23:07 < TheSeeker> in teh imports, there's : cfg "./configfile" 23:08 < TheSeeker> but ./configfile doesnt' exist ... 23:08 < TheSeeker> *does not exist 23:13 < nsf> wel.. it builds 23:13 < nsf> by make 23:14 < nsf> well* 23:14 < nsf> I mean "is built" 23:18 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265 seconds] 23:18 < TheSeeker> ah, so make creates it, then deletes it when it's done compiling? 23:18 < nsf> nope 23:18 * TheSeeker is confused. 23:18 < nsf> it just creates it and leaves it in the dir 23:18 < nsf> cleaned up by 'make clean' 23:18 < nsf> if you want to 23:19 < TheSeeker> I build gocode, but there's no ./configfile ... 23:19 < nsf> configfile.a 23:19 < TheSeeker> I use gomake, perhaps that does a clean afterwords? 23:19 < nsf> no 23:19 < nsf> :\ 23:19 < TheSeeker> hmm, configfile.a == ./configfile ? 23:19 < nsf> yes 23:20 < nsf> well, ./configfile is an import name for the compiler 23:20 < nsf> it looks for configfile.a or configfile.8 23:20 < TheSeeker> I guess that's a goclipse error then... it complains about it not existing. 23:20 < nsf> or whatever 23:20 < nsf> hm.. 23:20 -!- artefon [~thiago@189.59.159.218.dynamic.adsl.gvt.net.br] has joined #go-nuts 23:21 < TheSeeker> It complains about a lot fo stuff, even though it verifies just fine. :P 23:22 < TheSeeker> it's *probably* a goclipse lexer bug... 23:22 < nsf> maybe, I don't know 23:23 < TheSeeker> yeah, I'll just bug the goclipse people starting with verison 0.0.18 23:23 < TheSeeker> you've done enough work on gocode's side I think. 23:23 < nsf> there is a room for improvement 23:24 < nsf> but I'm lazy 23:24 < nsf> :) 23:24 < nsf> and well.. it works fine for most cases 23:25 -!- nibalizer [~krum@ruby.cat.pdx.edu] has joined #go-nuts 23:26 < drd> i noticed that if i have a local variable name len, it occludes the built-in function len() -- think that is worthy of a bug report? 23:26 < nsf> no 23:26 < nsf> len is a predeclared identifier 23:26 < nsf> it can be shadowed just fine 23:26 < nsf> and it's up to you 23:27 < drd> nsf: fair 23:27 < TheSeeker> you should use a more descriptive variable name anyway :) 23:27 < TheSeeker> len - of what? 23:27 < KirkMcDonald> I always liked D's approach to shadowing variables. 23:27 < TheSeeker> pathLen, nameLen, tmpStrLen ? 23:27 < KirkMcDonald> Which is to make it illegal. 23:28 < drd> TheSeeker: len, my Uncle-in-law 23:28 -!- brad_ [~brad@cpe-098-026-123-011.nc.res.rr.com] has joined #go-nuts 23:28 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 23:29 < KirkMcDonald> (With some exceptions.) 23:29 -!- photron [~photron@port-92-201-189-12.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 23:29 < drd> TheSeeker: i think perhaps a warning is warranted 23:30 < drd> but, oh wells. 23:30 < rhencke> go doesn't have warnings, though 23:30 < TheSeeker> that's what a good IDE is for... 23:30 -!- virtualsue [~chatzilla@nat/cisco/x-psboroscogioonbe] has quit [Ping timeout: 260 seconds] 23:30 < TheSeeker> "hey, perhaps maybe you might think of not naming your variable that, since it's a builtin function name and all..." 23:31 < Namegduf> Making shadowing illegal in Go 23:31 < Namegduf> Would react poorly with "x, ok :=" inside blocks 23:32 < Namegduf> In which 1) I want x to be a new variable persisting beyond the if 2) I don't care if ok already exists or not. 23:32 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 23:32 < Namegduf> I find this very common in my code. 23:33 < TheSeeker> An IDE should highlight shadowed variables/functions, but overriding built-in functionality is desireable sometimes... 23:33 < nsf> it's not actually about shadowing vs. not shadowing 23:34 < nsf> some languages use a keyword for built-in things 23:34 < nsf> and therefore you simply can't shadow them, because they are not really identifiers 23:34 < nsf> Go uses very nice approach of predeclared identifiers 23:34 < nsf> it's ok to have a local type 'int' 23:35 < nsf> if you really want to :) 23:35 < nsf> or a 'new' function 23:35 < drd> nsf: so, pedantically, why can't i do len2 := len, if len is just an identifier? 23:35 < nsf> identifier is a syntactic entity not a semantic 23:36 < nsf> len2 := len is a semantic action 23:36 < nsf> e.g. declare and initialize 23:36 < nsf> I guess it's illegal for some reason I don't know 23:36 < nsf> I think it should be legal 23:36 < drd> "use of builtin len not in function call" 23:36 < skelterjohn> because len is not a regular function - it can take many different types as parameter 23:37 < skelterjohn> what would the type of len2 be? 23:37 < nsf> well, I guess it's not a real function under the hood 23:37 < drd> yeah, that makes sense 23:37 < nsf> because sometimes compiler expands it to a compile time constant 23:37 < drd> it gives you the syntactical flexibility but it still has to be .. exactly 23:37 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts 23:37 < dho> hai2u skelterjohn 23:38 < skelterjohn> hey dho 23:38 < skelterjohn> dho - i made goober 23:38 < dho> ! 23:38 < dho> yay 23:38 < skelterjohn> i solved the cgo issue 23:38 < skelterjohn> the solution: don't support cgo 23:38 < dho> i like that solution 23:38 -!- tensorpudding [~user@99.148.202.191] has quit [Remote host closed the connection] 23:38 < dho> where'd it end up? 23:39 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts 23:39 < skelterjohn> the solution part 2: if there is a makefile in a directory, use that to build 23:39 < dho> clever 23:39 < skelterjohn> i made it yesterday and today...it's not a finished product 23:39 < skelterjohn> it's at go-gb.googlecode.com 23:39 < skelterjohn> but it compiles my projects nicely 23:40 < skelterjohn> i got tired of running scripts that would just clean/build a whole slew of packages 23:40 < dho> I'm finally going to start writing some go code. 23:40 < dho> ...instead of writing code for go 23:40 < dho> heh 23:41 < skelterjohn> it's fun 23:41 < skelterjohn> i used it for the experiments for my last conference submission 23:42 < dho> I'm going to end up using it to do some stuff for a netflow collector 23:42 < dho> and some websockets stuff 23:43 < dho> slightly worried about performance, but no big deal. 23:43 < skelterjohn> pure go? 23:43 < plexdev> http://is.gd/igjux by [Devon H. O'Dell] in go/misc/dashboard/builder/ -- builder: Allow buildroot to be passed as command-line argument 23:43 < dho> Yeah 23:44 < skelterjohn> multiple packages with interdependencies? 23:45 < dho> The other problem being that I need to be able to support some incremental map/reduce stuff prior to storage and I'm not sure of a really modular way of doing that without writing a language interpreter in go. 23:45 < dho> was going to just do that by embedding lua in C 23:45 -!- Scorchin [~Scorchin@host109-154-186-176.range109-154.btcentralplus.com] has quit [Quit: Scorchin] 23:45 < rhencke> you might like godag, too.. it draws pretty dependency graphs between packages 23:45 < vsmatck> godag++ 23:46 < skelterjohn> does godag have a way to specify the target name? that was the thing that i found missing in the tools i tested, though I didn't come across godg 23:46 < skelterjohn> godag 23:46 < rhencke> like target executable name? 23:47 < rhencke> godag -o myprogram 23:47 < skelterjohn> for packages to 23:47 < skelterjohn> TARG=something-other-than-the-directory-it's-in 23:47 < skelterjohn> helpful to make packages that work well with goinstall 23:47 < rhencke> i know it has one for source, but not sure about target 23:48 < skelterjohn> i don't understand what this would mean for source 23:48 < rhencke> well, you can say 'hey, look for packages you depend on in this directory' 23:48 < skelterjohn> not exactly the same thing 23:49 < rhencke> right.. i'm not sure if it lets you specify the opposite 23:49 < skelterjohn> consider this: in the project gohash, there are two packages (well more, but only two taht are relevant) 23:49 < skelterjohn> hashmap and hashset 23:49 < skelterjohn> hashmap is really just a special hashset, in this implementation, and imports it 23:49 -!- watr_ [~watr@66.183.100.58] has joined #go-nuts 23:49 < skelterjohn> by importing "gohash.googlecode.com/hg/hashset" 23:50 < skelterjohn> that way if you goinstall gohash.googlecode.com/hg/hashmap, it will also goinstall the hashset 23:50 < skelterjohn> if i want to build it locally, i need to tell the builder that it should create that different target 23:50 < skelterjohn> it's not reflected in the source or the directory structure 23:50 < skelterjohn> so it needs to get in there some other way 23:50 < rhencke> ah, gotcha 23:51 < skelterjohn> the way i did it for gb is you put a file target.gb in the directory that has that new target 23:51 < rhencke> that makes sense 23:51 -!- artefon [~thiago@189.59.159.218.dynamic.adsl.gvt.net.br] has quit [Quit: bye] 23:52 < skelterjohn> did you create godag? 23:53 < skelterjohn> that project looks pretty mature... i'd certainly dump gb if something else did everything i want 23:53 < rhencke> i didn't 23:53 < rhencke> but i've used it on a few pet projects 23:54 < rhencke> positives are: very fast, figures out all dependencies for you, fairly flexible 23:54 < rhencke> negative: no cgo support 23:55 < rhencke> it does not requires any configuration files, which is nice, but to accomplish this, it enforces a particular directory structure 23:55 < rhencke> author was pretty nice too 23:55 < skelterjohn> all those things are true with gb 23:55 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 23:56 < skelterjohn> except that last one 23:56 < rhencke> lol 23:56 < rhencke> it also works on windows, which may or may not matter to you 23:57 < skelterjohn> it only matters in that, like most computer scientists, i am a bit of a narcissist and think that everyone everywhere will want to use my software --- Log closed Mon Dec 06 00:00:37 2010