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

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