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

--- Log opened Sun May 08 00:00:50 2011
00:02 -!- ab3 [~abe@83.101.90.66] has quit [Read error: Operation timed out]
00:22 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has joined
#go-nuts
00:23 < hallas> Hi. Does anyone know how I can encode a string as ucs2?  I
dont understand how to use the utf16 package.
00:37 -!- genbattle [~nick@203-173-210-96.dialup.ihug.co.nz] has quit [Quit:
Leaving]
00:43 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has left
#go-nuts []
00:44 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has joined
#go-nuts
01:06 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 260 seconds]
01:19 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts
01:19 -!- Allotabits [~Joshwa@h35.195.213.151.dynamic.ip.windstream.net] has quit
[Ping timeout: 240 seconds]
01:23 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
01:36 < taruti> Is there a quick way of showing how much memory is allocated
within a Go program?
01:39 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 264 seconds]
01:41 < taruti> hmm, /proc/self/statm is good enough
01:42 < skelterjohn> runtime has some methods to call
01:51 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has quit [Quit:
adu]
01:54 -!- qrty [~qrty@99-47-116-167.lightspeed.sntcca.sbcglobal.net] has joined
#go-nuts
01:59 -!- thakis__ [~thakis@c-71-198-222-88.hsd1.ca.comcast.net] has joined
#go-nuts
02:01 -!- thakis_ [~thakis@216.239.45.130] has quit [Ping timeout: 240 seconds]
02:19 < thakis__> what's the best way to have a goroutine that does some
computation until it's told to stop?
02:20 < thakis__> do i give the goroutine a chan bool and send true to that
when i want to stop it?  how can the goroutine read from that channel without
blocking?
02:20 < Namegduf> select { } on a channel with a default every so often.
02:20 < thakis__> oh, select can have a default?
02:20 < thakis__> thanks
02:21 < Namegduf> Yeah, that's how you do non-blocking reads now.
02:21 < thakis__> how was it done earlier?  :-)
02:21 < Namegduf> v, ok := <-chan
02:21 < thakis__> ah, that looks familiar
02:21 < Namegduf> With ok being false for "no read"
02:21 < Namegduf> But now, that "ok" is instead used to mean "closed"
02:22 < thakis__> thanks!
02:22 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has quit [Quit: Leaving]
02:27 -!- thakis__ [~thakis@c-71-198-222-88.hsd1.ca.comcast.net] has quit [Quit:
thakis__]
02:44 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has joined
#go-nuts
02:45 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
02:59 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 260 seconds]
03:13 -!- foocraft [~ewanas@78.100.195.95] has quit [Quit: if you're going....to
san.  fran.  cisco!!!]
03:14 -!- foocraft [~ewanas@78.100.195.95] has joined #go-nuts
03:17 -!- mjard [~k@misadventuregames.com] has joined #go-nuts
03:20 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has quit [Read error:
Connection timed out]
03:25 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
03:40 -!- thakis_ [~thakis@c-71-198-222-88.hsd1.ca.comcast.net] has joined
#go-nuts
03:41 -!- thakis_ [~thakis@c-71-198-222-88.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
03:41 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts
04:00 -!- Dr_Who [~tgall@linaro/tgall-foo] has quit [Ping timeout: 250 seconds]
04:16 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:16 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:22 -!- qrty [~qrty@99-47-116-167.lightspeed.sntcca.sbcglobal.net] has quit
[Remote host closed the connection]
04:30 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
04:49 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout:
276 seconds]
04:53 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts
05:06 -!- Dr_Who [~tgall@206.9.88.154] has joined #go-nuts
05:09 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
05:14 -!- thakis_ [~thakis@216.239.45.130] has quit [Ping timeout: 276 seconds]
05:15 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
This computer has gone to sleep]
06:00 -!- foocraft [~ewanas@78.100.195.95] has quit [Quit: if you're going....to
san.  fran.  cisco!!!]
06:05 -!- nbm [~nathan@dhcp-0-25-9c-d3-a7-c7.cpe.townisp.com] has joined #go-nuts
06:14 -!- genbattle [~nick@203-173-210-96.dialup.ihug.co.nz] has joined #go-nuts
06:19 -!- tvw [~tv@e176010250.adsl.alicedsl.de] has joined #go-nuts
06:20 -!- ios_ [~ios@180.191.134.17] has joined #go-nuts
06:30 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
06:30 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
06:35 -!- nbm [~nathan@dhcp-0-25-9c-d3-a7-c7.cpe.townisp.com] has quit [Quit:
Leaving]
06:35 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
06:35 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
06:35 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
06:39 < napsy> jutro
06:40 -!- kfb [~chatzilla@c-24-7-103-177.hsd1.ca.comcast.net] has joined #go-nuts
06:59 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Read error:
Connection reset by peer]
07:06 -!- sebastianskejoe [~sebastian@89.249.0.154] has joined #go-nuts
07:15 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
07:17 -!- adu [~ajr@pool-173-66-252-92.washdc.fios.verizon.net] has quit [Quit:
adu]
07:25 -!- ios_ [~ios@180.191.134.17] has quit [Ping timeout: 240 seconds]
07:36 -!- kfb [~chatzilla@c-24-7-103-177.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
07:39 -!- tvw [~tv@e176010250.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
07:45 -!- Project_2501 [~Marvin@82.84.76.219] has joined #go-nuts
07:52 -!- ab3 [~abe@83.101.90.66] has joined #go-nuts
07:52 -!- ako [~nya@fuld-590c6bba.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
07:53 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Ping timeout: 246
seconds]
07:55 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
07:59 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
08:10 -!- djcapelis [~djc@blender/coder/DJCapelis] has quit [Ping timeout: 240
seconds]
08:10 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Ping
timeout: 258 seconds]
08:11 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts
08:11 -!- djcapelis [~djc@capelis.dj] has joined #go-nuts
08:11 -!- djcapelis [~djc@capelis.dj] has quit [Changing host]
08:11 -!- djcapelis [~djc@blender/coder/DJCapelis] has joined #go-nuts
08:11 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
08:12 -!- larva [~larvanitr@ec2-46-51-171-183.eu-west-1.compute.amazonaws.com] has
quit [Ping timeout: 240 seconds]
08:16 -!- larva [~larvanitr@ec2-46-51-171-183.eu-west-1.compute.amazonaws.com] has
joined #go-nuts
08:20 -!- firwen [~firwen@ANancy-554-1-20-223.w90-40.abo.wanadoo.fr] has joined
#go-nuts
08:24 -!- Kafo [5b98bdf4@gateway/web/freenode/ip.91.152.189.244] has joined
#go-nuts
08:27 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
08:33 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has joined #go-nuts
08:33 -!- ios_ [~ios@180.191.130.45] has joined #go-nuts
08:41 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
08:48 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has quit [Quit: Leaving]
08:53 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has joined #go-nuts
08:55 -!- genbattle [~nick@203-173-210-96.dialup.ihug.co.nz] has quit [Quit:
Leaving]
09:10 -!- lucid [~rbl@84-74-142-37.dclient.hispeed.ch] has joined #go-nuts
09:14 -!- Project_2501 [~Marvin@82.84.76.219] has quit [Read error: Connection
reset by peer]
09:15 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Ping timeout:
252 seconds]
09:16 -!- Project_2501 [~Marvin@82.84.65.55] has joined #go-nuts
09:17 -!- huin [~huin@91.85.171.238] has joined #go-nuts
09:17 -!- Project_2501 [~Marvin@82.84.65.55] has quit [Read error: Connection
reset by peer]
09:17 -!- Project_2501 [~Marvin@82.84.65.55] has joined #go-nuts
09:17 -!- Project_2501 [~Marvin@82.84.65.55] has quit [Remote host closed the
connection]
09:18 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Quit: "Wait...  what?!"]
09:18 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
09:19 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
09:20 -!- firwen [~firwen@ANancy-554-1-20-223.w90-40.abo.wanadoo.fr] has quit
[Ping timeout: 240 seconds]
09:25 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
09:29 -!- TheMue [~TheMue@p5DDF53C4.dip.t-dialin.net] has joined #go-nuts
09:34 -!- sebastianskejoe [~sebastian@89.249.0.154] has quit [Quit: Lost terminal]
10:00 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
10:03 -!- araujo [~araujo@190.75.195.55] has joined #go-nuts
10:03 -!- araujo [~araujo@190.75.195.55] has quit [Changing host]
10:03 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
10:03 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
10:09 -!- firwen [~firwen@ANancy-554-1-20-223.w90-40.abo.wanadoo.fr] has joined
#go-nuts
10:14 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
10:16 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 240 seconds]
10:17 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
10:18 -!- wrtp [~rog@92.17.111.113] has joined #go-nuts
10:21 -!- ios_ [~ios@180.191.130.45] has quit [Quit: Leaving]
10:26 -!- genbattle [~nick@203-173-210-96.dialup.ihug.co.nz] has joined #go-nuts
10:42 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
10:53 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 258 seconds]
11:03 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has joined
#go-nuts
11:06 < jeremy_c> Is there a better way of doing callbacks from C code to Go
code?  http://github.com/jcowgar/iup.go ...  see iup/callback.go for how I
implemented and demo/hello2.go for an example use
11:12 < str1ngs> jeremy_c: as far as I know no.  actually this is the first
time I've seen a cgo callback so go with it :P
11:16 < jeremy_c> :-)
11:18 -!- DerHorst [~Horst@e176104172.adsl.alicedsl.de] has joined #go-nuts
11:22 < genbattle> i've got a stylistic question to pose to all the C/go/cgo
programmers out there
11:23 < genbattle> if i'm dealing with a C API that uses a single method to
query a half dozen different properties of an object, is it better to query them
all when i fetch the object and store them in a go struct, or add methods to the
struct and fetch them as required?
11:24 < genbattle> originally i planned to just read them all in to the Go
struct, thus copying them from the underlying C struct
11:24 < str1ngs> I would think methods would be better
11:24 < genbattle> but then ifigured that would be wasteful and slow
11:25 < genbattle> so i've been doing methods, but it means i have to return
an error value with each method result
11:25 < genbattle> i really get annoyed with the go idiom of return val, err
11:25 < genbattle> makes the code slightly messier because you have to read
the error
11:26 < str1ngs> yes kinda bothers me to.  have not found something I like
yet short of handleError(err)
11:26 < genbattle> k
11:26 < str1ngs> which is not proper go either
11:27 < genbattle> it stops you from being able to do one-line assignments,
turns them into 3 or 4 line switches :-/
11:27 < genbattle> but from the perspective of being less wasteful, i
suppose it is better
11:27 -!- sebastianskejoe [~sebastian@89.249.0.154] has joined #go-nuts
11:27 < genbattle> and it is more consistent with the underlying C API I am
interfacing to?
11:28 < str1ngs> I think this is just something takes time to get use to.  I
think the important thing is to atleast handle all errors
11:28 < str1ngs> as for your question I use Methods
11:29 < genbattle> ok, thanks :)
11:32 < str1ngs> genbattle: I should clarify I dont use handleError(err) for
your use case
11:33 < genbattle> i don't use it at all :)
11:33 < genbattle> i don't have a problem with handling errors properly, in
fact i prefer to do it (i've dealt with some horrible "errorless" systems in the
past), i just wish it was more elegant in go
11:33 < str1ngs> I would do something like if C.foo(bar) != 0 { return nil,
os.NewError("For messed up") }
11:34 < str1ngs> thats not perfect but I hope you get the idea
11:34 -!- photron_ [~photron@port-92-201-141-235.dynamic.qsc.de] has joined
#go-nuts
11:34 < genbattle> yea i'm doing something similar to that
11:34 < str1ngs> in this case err is not so much a pain.  and with the
methods you can set up nice tests
11:34 < genbattle> k
11:35 < genbattle> i'm just doing cheap error checking for now anyway,
checking if there was an error
11:35 < genbattle> i've got to back and refine it later and convert each of
the C error codes into strings i can return
11:35 < genbattle> the only thing i hate more than no errors is useless
uninformative errors :P
11:36 < str1ngs> my I ask what you are wrapping?
11:36 < mjard> newb issue: was playing with the web.go example, and ran into
some issues trying to store state in a struct: http://pastie.org/1877641
11:37 < mjard> the compiler states that counter.Incr is not an expression
and must be called
11:38 < str1ngs> counter.Incr()
11:38 < mjard> but that doesn't really work for a handler, does it :)
11:38 < str1ngs> one sec let me check that part though
11:38 < mjard> really?
11:38 < str1ngs> ok no make a proper handle an just call that Method from
the handler
11:39 < str1ngs> also t.count++ should be fine
11:39 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
11:39 < str1ngs> should be an example handler with web.go use that as a
start
11:39 < mjard> yeah, there is
11:39 < mjard> was kinda hoping to avoid that, but ok, thanks
11:40 < str1ngs> also if you make couter global with init you wont need to
pass it
11:40 < str1ngs> but thats not session bassed
11:45 -!- napsy [~luka@193.2.66.6] has quit [Quit: leaving]
11:47 -!- keidaa [~keidaa@cm-84.210.56.138.getinternet.no] has joined #go-nuts
11:49 < genbattle> str1ngs: i'm wrapping opencl
11:50 < genbattle> so far all i'm doing is querying the platform
11:50 < str1ngs> ah kk thanks
11:52 < genbattle> i feel a bit lost at times with it, and it's slow
progress; this is my first major programming project in both Go and C
11:53 < genbattle> so i've spent a week stuck on a single type conversion
clash trying to get C pointers interfaced to go arrays and the like
11:53 < genbattle> but the last few days i've made some significant ground,
the learning curve seems to be flattening out a bit
11:55 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
11:55 < genbattle> I can now read in all the opencl platform information via
pure go
11:56 < genbattle> so next i can start attacking the device
11:57 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
11:57 < str1ngs> pure go is alot easier I find
11:58 < str1ngs> but my C is weak at best
11:59 -!- dfc [~dfc@124.168.36.46] has joined #go-nuts
12:00 < dfc> evening
12:00 < dfc> is there a simple way to convert from a []byte
12:00 < dfc> to a [6]byte
12:00 < dfc> I have a type
12:00 < dfc> type Mac [6]byte
12:00 < dfc> and the first 6 bytes of the []byte are the bits I want
12:00 < aiju> copy?
12:00 < dfc> copy on works with slices right ?
12:00 < dfc> (but I will try)
12:00 < aiju> copy(dst[:], source)
12:01 < dfc> ethernet.go:9: first argument to copy should be slice; have
[6]uint8
12:02 < dfc> i'll just make Mac a []byte
12:02 < dfc> not a [6]btyte
12:03 < dfc> that'll do
12:03 < genbattle> out of curiosity, why do you need a [6] byte?
12:03 < ww> genbattle, yeah, go's type saftey can make casts that would be
trivial in C very cumbersome
12:04 < genbattle> ww: yea i've been stick for the last 48 hours on a
segfault error, i ended up solving it by switching around a bunch of casts in my
cgo code
12:05 < genbattle> both code files compiled perfectly fine, so the type
system obviously had no problem, but one gave a null pointer, the other worked
12:05 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
12:06 < ww> yeah, i guess the problem is mostly that because of the hoops
you have to jump though, it's more difficult to see what's going on
12:06 < genbattle> yea
12:06 < genbattle> i did try gdb at one point, but cgo support seems to be a
very grey area
12:07 < ww> i've never been able to get it to work on my workstation, but
custom-build gdb is a whole other kettle of fish with osx and signing binaries and
such
12:08 < genbattle> in the end there was a limited number of variables I
could change, so working on the assumption that neither Go nor the library I was
interfacing had any such know issues, i sort of worked to eliminate each possible
case
12:08 < ww> hugh leather writes: "We have a new episode for you,
12:08 < ww> http://computersciencepodcast.com/podcasts.html, all about
compilers.  "
12:08 < dfc> genbattle: i wanted a type for a mac address, which a 6 octets
12:08 < dfc> a slice will do
12:12 < genbattle> anyway, thanks for the help, cyas
12:13 -!- genbattle [~nick@203-173-210-96.dialup.ihug.co.nz] has quit [Quit:
Leaving]
12:15 -!- dfc [~dfc@124.168.36.46] has quit [Quit: dfc]
12:18 < keidaa> how can I convert a var of type interface{} to say a
map[string]string ?
12:22 < fzzbt> keidaa: http://golang.org/doc/go_spec.html#Type_assertions
12:28 < keidaa> fzzbt: I don't understand how I can use x.(T) to convert a
variable.  Is that not just for checking what type is used?
12:28 < Namegduf> You don't want to "convert" an interface{} to a
map[string]string.
12:28 < Namegduf> You can't.
12:28 < Namegduf> It doesn't make sense.
12:28 < Namegduf> They're different types, represented differently in
memory, for different things.
12:29 < Namegduf> You may, however, have an interface{} containing a
map[string]string
12:29 < keidaa> so it's impossible to use m[key] on a interface containing a
map?
12:29 < keidaa> e.g.  there's no way around it?
12:29 < Namegduf> In which case, var := i.(map[string]string) is how you can
get the map[string]string out.
12:30 < Namegduf> You MUST do that, yes.  You can't just generically do a
key lookup on an interface.
12:30 < Namegduf> The only way to "generically" do a key lookup without
knowing the type is through reflection, which is ugly and slow.
12:30 < keidaa> but i.(...) won't work with assignment?
12:31 < Namegduf> No.
12:31 < Namegduf> It doesn't make sense.
12:31 < Namegduf> i.(T) asks it to give you a copy of what's in i, assuming
it is of type T
12:31 < Namegduf> You'd be...  assigning to the copy?
12:31 < Namegduf> A temporary.
12:31 < Namegduf> Not a variable in memory.
12:32 < Namegduf> Interfaces aren't "any type", they're a little box
containing any type.  You can't just use them as any type, you have to take the
type out first.
12:32 < keidaa> to be more specific: I have a function returning a var of
type interface{}.  Is there a way to use that return var as a map within the
function body?
12:32 < Namegduf> Yes.
12:33 < keidaa> how?
12:33 < Namegduf> var := i.(map[string]string) is how you can get the
map[string]string out.
12:33 < keidaa> but the var is empty...
12:34 < keidaa> it's not a arg, it's the return var
12:34 < Namegduf> Oh.
12:34 < Namegduf> No, you can't use an interface{} value as a map in the
body.
12:34 < Namegduf> Make a map variable and use it inside, then return it, at
which time it'll be wrapped in the interface.
12:35 < Namegduf> Just use another variable.  Seriously.
12:35 < keidaa> yes, that's what I've done, it's just not optimal..
12:35 < Namegduf> It's perfectly damn optimal.
12:36 < Namegduf> What you're requesting would be incredibly slow to
actually run.
12:36 < Namegduf> It'd essentially have to use the reflection-based approach
all the time due to not remembering the type.
12:37 < keidaa> but the return interface var is left unused
12:37 < Namegduf> So don't give it a damn name
12:37 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has quit [Remote host closed the
connection]
12:37 < Namegduf> And it doesn't matter.  What you're asking for is way more
expensive than two measly bytes of memory
12:37 < keidaa> but then I have to do that for the rest of the return vars
as well
12:37 < Namegduf> Er, two measly words
12:38 < Namegduf> Look at what the operations you are asking for actually do
in memory
12:38 < Namegduf> And then see if there's an equivalent, faster/lower space
algorithm
12:38 < ww> go++
12:38 < aiju> "go++" sounds awkward
12:39 < Namegduf> What you're asking for, "letting an interface containing a
map be used as a map without a typecast" would be very slow.
12:39 < Namegduf> Because That's How Computers Work.
12:39 < ww> that was meant for the reputation bot...  we have a reputation
bot, right?
12:39 < Namegduf> Operating on an arbitrary type means runtime type checks
to select what code to run, repeatedly.
12:39 < fzzbt> reputation bot?
12:39 < keidaa> Namegduf: I know, guess I'm trying to hack my way to a
generic type..
12:40 < Namegduf> You don't have one.
12:40 < Namegduf> And one which did what you're asking would be slow.
12:40 < keidaa> and it hurts
12:40 < Namegduf> It doesn't hurt when you don't keep stabbing yourself.
12:40 < Namegduf> Stop using interface{} and write code to do things
12:40 * ww churns through 80Gb of XML, with a Go process that never exceeds 6Mb of
RAM, transforming it to a sane format...  try that with python...
12:41 < Namegduf> What you're asking for would be slow and VERY unoptimal,
and Go will not do it for you.
12:41 < ww> most pessimal in fact
12:41 < Namegduf> You have to accept that.
12:41 < keidaa> guess I'll use a struct type instead, the interface hack is
to ugly, and probably slow yes..
12:41 < keidaa> I accept my defeat
12:42 < Namegduf> maps are only a single word
12:42 < Namegduf> Because they're reference types, actually pointers to a
struct
12:42 < Namegduf> That is, duplicate references to the same map.
12:42 < Namegduf> A map's actual struct is hundreds of byts
12:42 < Namegduf> *bytes
12:42 < Namegduf> I think 100+ base, rising with contents.
12:43 < Namegduf> ww: That's pretty nice.  How low was it at the start?
12:43 < ww> i think it started at about 4Mb
12:43 < Namegduf> Not bad rise.
12:44 < Namegduf> I've normally seen the GC behave far worse than that.
12:44 < Namegduf> Maybe it improved since my last tests.
12:44 < Namegduf> Or maybe your code is much better for the GC. :P
12:45 < ww> well, not churning through 1 80Gb file.  many chunks of 150Mb
files
12:45 < ww> still
12:45 < ww> and a new process per chunk, because, why make things more
complicated than they need to be
12:46 < Namegduf> Ah. Still.
12:46 < ww> and actually, the xml files are zipped, and i just read them
in-place (because i don't have enough free disk space to uncompress them)
12:56 -!- roca [~Adium@95.39.57.5.static.user.ono.com] has joined #go-nuts
13:04 < xyproto> if I wish to print out the elements in a map[int]string,
ordered by the number, is there an easy way to do it?
13:04 < xyproto> yes, duh :D
13:04 < xyproto> just don't use range and index with a for i := ...  :P
13:08 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has quit [Quit: Leaving]
13:09 < TheMue> if you know the max i it could be a way, yes.  Otherwise
build a sort.IntArray with range and append in the first run and then sort it and
do a second run using the array.
13:39 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
13:40 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
13:41 < uriel> http://news.ycombinator.com/item?id=2525221
13:49 -!- firwen [~firwen@ANancy-554-1-20-223.w90-40.abo.wanadoo.fr] has quit
[Ping timeout: 240 seconds]
13:51 -!- DerHorst [~Horst@e176104172.adsl.alicedsl.de] has quit [Remote host
closed the connection]
13:55 < kamaji> uriel: awesome
13:58 -!- Boney [~paul@124-168-103-51.dyn.iinet.net.au] has quit [Ping timeout:
252 seconds]
14:00 -!- Boney [~paul@124-148-153-245.dyn.iinet.net.au] has joined #go-nuts
14:02 -!- nbm [~nathan@dhcp-0-25-9c-d3-a7-c7.cpe.townisp.com] has joined #go-nuts
14:25 -!- roca [~Adium@95.39.57.5.static.user.ono.com] has quit [Quit: Leaving.]
14:27 < taruti> hmm, gommap is broken for large mappings?  (given that it
returns []byte which has a quite small maximum size)
14:29 < ww> taruti: for values of "broken" which include "working as
expected", yes
14:29 -!- pull9 [6c29957d@gateway/web/freenode/ip.108.41.149.125] has joined
#go-nuts
14:30 < taruti> ww: []byte is limited to <4gb and I want a 10gb
mapping...
14:30 < taruti> there is syscall however :)
14:31 < ww> []byte is limited to <2Gb because it has a signed length, but
yes
14:31 < ww> your only real option is to make several mappings
14:33 * taruti ponders one mapping + *byte + function to return []byte at given
offsets
14:52 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
14:53 -!- sebastianskejoe [~sebastian@89.249.0.154] has quit [Quit: Lost terminal]
14:54 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:10 -!- Soultake1 [~Soultaker@hell.student.utwente.nl] has joined #go-nuts
15:10 -!- Soultaker [~Soultaker@hell.student.utwente.nl] has quit [Read error:
Connection reset by peer]
15:10 < skelterjohn> why would its length be signed?
15:12 < ww> istr that it is...  not that it must be...  but i may be talking
nonsense
15:12 < Namegduf> Lengths are signed so you can use them in arithmetic or
use arithmetic to generate them without casts everywhere
15:14 -!- kfb_ [~chatzilla@c-24-7-103-177.hsd1.ca.comcast.net] has joined #go-nuts
15:16 < skelterjohn> one of the disadvantages of the no-implicit-conversions
idea, i think
15:16 < skelterjohn> you feel compelled to leave things as int when
something else might be more appropriate, just to avoid the extra typing
15:16 < Namegduf> Kinda.
15:17 < Namegduf> If you did convert implicitly you'd still have the
potential for horrible errors.
15:17 < skelterjohn> yes
15:17 < xyproto> TheMue: nice to know about sort.IntArray.  Thanks.
15:17 < Namegduf> Things which could go up to 4GB but due to math broke
above 2GB, etc
15:17 < skelterjohn> there are disadvantages to allowing it, as well
15:17 < Namegduf> I like it the way it is.
15:17 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts
15:22 -!- thakis_ [~thakis@216.239.45.130] has quit [Client Quit]
15:22 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts
15:32 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Quit: "Wait...  what?!"]
15:39 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 240 seconds]
15:43 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts
15:48 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts
[]
15:48 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
15:58 < ww> uriel, should add generic data wrangling to "what we do with Go"
15:58 < ww> latest project: http://eris.okfn.org/ww/2011/05/medline
16:00 -!- yvsong [~victor@c-71-232-78-237.hsd1.ma.comcast.net] has joined #go-nuts
16:01 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
16:01 < vegai> what's "wrangling"?
16:01 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
16:05 < ww> vegai: traditionally one wrangles cattle
16:16 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:91bc:8a8f:9216:5edc] has joined
#go-nuts
16:21 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
16:27 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
16:33 -!- Project_2501 [~Marvin@82.84.90.237] has joined #go-nuts
16:41 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
16:43 -!- pull9 [6c29957d@gateway/web/freenode/ip.108.41.149.125] has quit [Ping
timeout: 252 seconds]
16:51 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
Leaving]
16:56 -!- TheMue [~TheMue@p5DDF53C4.dip.t-dialin.net] has quit [Quit: TheMue]
16:56 < keidaa> is sessions planned for http ?
16:57 < ww> keidaa: as in persistent sessions?  or as in keeping track of
cookies?
16:58 < keidaa> persistent
16:59 < keidaa> thinking of storing login information.  maybe an encrypted
cookie is a good idea?
17:01 < keidaa> also though about implementing some primitive session
handling: just storing password, IP, timeout.
17:01 < keidaa> thoughts?
17:01 < ww> i think there is work being done on persistent http sessions in
the context of the spdy work, but i think you're talking more about
application-layer sessions
17:01 < keidaa> yes, correct
17:02 < keidaa> user sessions
17:02 < ww> i doubt the go http layer will ever go there, but something like
web.go might
17:03 < ww> a cookie would be fine, you don't even need to encrypt anything,
just send a random number that's a key into a map of sessions that you keep
17:03 < ww> every once in a while garbage collect old sessions...
17:04 < keidaa> good idea
17:04 < ww> because you're going to have to keep around information anyway,
at the very least a "last seen" value that can't be in the encrypted cookie
because it'll keep changing (unless you reset the cookie with each request)
17:05 < ww> vulnerable to session hijacking unless you run over ssl though
17:06 -!- unhygienix [~unhygieni@host86-135-59-30.range86-135.btcentralplus.com]
has joined #go-nuts
17:07 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
quit [Quit:  /(bb|[^b]{2})/]
17:09 < huin> is there a syntax similar to `foo, ok := <-someChan` - but
for sending instead?  (i.e atomic check for closed channel)
17:10 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
17:11 < ww> most often i treat it as the sender's responsibility to close
the channel, first question - would it be really inconvenient or inappropriate to
design your system such that this is true
17:12 < huin> that assumes a single sender
17:13 < huin> is having many an example of poor design?
17:13 < ww> not necessarily
17:14 < ww> you might have one channel per sender though, and select on them
at the receiver though
17:15 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #go-nuts
17:15 < ww> otherwise i think, since send on a closed channel panics
(right?), you can let it panic and use recover
17:15 < huin> in this case i have an arbitrary number of senders
17:17 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has joined #go-nuts
17:18 < ww> so then select might be inappropriate.
17:19 < ww> does send to a closed channel still panic?  there's your
atomicness, just recover and exit
17:20 < ww> or you could also loop over them and do non-blocking receives,
but that might get messy and have to be careful about busy-wait cpu spinning
17:21 < huin> select {} only works with a known number of channels
17:22 < ww> or another way, depends on what your receiver is doing.  could
it be multiple receivers and then whatever data structure they use to put their
results in protected by a mutex
17:22 < ww> huin: right, that's a pity
17:22 < ww> seems like the path of least resistance from where you are is
the panic/recover
17:23 < huin> sounds like it
17:23 < huin> thanks, i did wonder if that would be it
17:40 -!- TheMue [~TheMue@p5DDF53C4.dip.t-dialin.net] has joined #go-nuts
17:40 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Ping timeout: 276 seconds]
17:44 -!- fabled [~fabled@91.220.88.166] has joined #go-nuts
17:49 < thakis_> what's the recommended way to stop a producer goroutine?  i
have two goroutines p and c.  p produces data every second and sends it through a
channel to c.  c wants to be able to tell p to exit.  i added a "quit chan bool",
but when I write to this from c, they deadlock on each other naturally (p hangs in
writing to the data channel, c hangs in writing the to the quit channel)
17:50 < thakis_> how is this usually done?
18:01 < kamaji> How do I compare to NaN?
18:02 < cbeck> NaN equals nothing
18:02 < aiju> there is an "IsNaN"
18:02 < aiju> function somewhere
18:02 < cbeck> yeah, I don't remember where either
18:02 < kamaji> there's one in cmath
18:03 < kamaji> I need for float64 though
18:03 < ww> i := NaN; !( i<=0 || i>=0 )
18:04 < kamaji> oh right, math.IsNan(foo)
18:05 < kamaji> ww: eh?
18:05 < ww> kamaji: better to use the library function...
18:05 < ww> but...
18:05 < ww> you know that i<=0 false and i>=0 false only for NaN
18:06 < ww> because one of them will be true for any number
18:06 < kamaji> Oh I see
18:06 < kamaji> That's....  odd :P
18:06 < kamaji> doesn't the CPU usually throw a FPE?
18:07 < ww> i think that the last time i had to deal with NaN was actually
in javascript...
18:08 < ww> so not sure if Go will panic or let you see the FPE somehow
18:08 < kamaji> oh I just meant maybe that's a go-specific thing
18:08 < kamaji> but I guess comparisons with NaN have to equal something
18:08 < kamaji> and setting everything to true is pretty illogical :P
18:11 < aiju> 20:10 < kamaji> doesn't the CPU usually throw a FPE?
18:11 < aiju> FPE are entirely customizable
18:14 < ww> maybe clearer, !(i<=0) && !(i>=0)
18:15 < ww> this is where i miss #define because really no need to make a
function call for that, the compiler should inline it
18:58 -!- brtk [~brtk@c83-248-35-158.bredband.comhem.se] has joined #go-nuts
19:02 -!- qrty [~qrty@99-47-116-167.lightspeed.sntcca.sbcglobal.net] has joined
#go-nuts
19:03 -!- sacho [~sacho@79-100-48-20.btc-net.bg] has joined #go-nuts
19:04 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Read error:
Operation timed out]
19:06 < qrty> i have a question about type "aliases" - i was wondering why
this doesnt work http://pastie.org/1878753
19:09 < uriel> qrty: those are not "type aliases", just two different types
19:09 < uriel> type foo bar // foo is a new type, not just an 'alias'
19:09 -!- binarypie_ [~binarypie@c-24-6-151-185.hsd1.ca.comcast.net] has joined
#go-nuts
19:10 < uriel> for example, you could define methods on foo
19:10 -!- sebastia1skejoe [~sebastian@188.114.142.217] has joined #go-nuts
19:11 < qrty> is there any way to assign the uint8 to that different type?
19:12 < qrty> seems odd to me that i can assign a literal to it but not an
existing uint8 variable
19:12 < thakis_> does go have a time datatype with a resolution < 1s?
19:13 -!- binarypie [~binarypie@c-24-6-151-185.hsd1.ca.comcast.net] has quit [Ping
timeout: 260 seconds]
19:13 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Ping timeout: 248
seconds]
19:14 < kamaji> thakis_: time works with nanoseconds doesn't it?
19:14 < thakis_> type Time doesn't
19:14 < kamaji> oic, you can't specify resolution down any more
19:15 < kamaji> I just saw Nanoseconds()
19:15 < kamaji> that's odd
19:17 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has joined #go-nuts
19:17 < crazy2be> any tips for using godoc with github?
19:19 -!- keidaa [~keidaa@cm-84.210.56.138.getinternet.no] has quit [Read error:
Operation timed out]
19:19 -!- Sep102_ [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has joined
#go-nuts
19:20 < qrty> so what does it mean when i say "type a uint8"?  what's the
relationship between the uint8 and a types?
19:22 -!- Sep102 [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has quit [Ping
timeout: 248 seconds]
19:24 < kamaji> is there a copy() builtin for map?
19:24 < kamaji> or something similar
19:27 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
19:28 -!- sacho [~sacho@79-100-48-20.btc-net.bg] has quit [Read error: Operation
timed out]
19:30 -!- Project_2501 [~Marvin@82.84.90.237] has quit [Ping timeout: 252 seconds]
19:30 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
19:31 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-180-181.clienti.tiscali.it] has
joined #go-nuts
19:32 < uriel> qrty: http://golang.org/doc/go_spec.html#Type_declarations
19:36 -!- keidaa [~keidaa@cm-84.210.56.138.getinternet.no] has joined #go-nuts
19:37 -!- Armael [~Armael@AToulouse-551-1-126-191.w92-156.abo.wanadoo.fr] has
joined #go-nuts
19:37 < Armael> hi
19:37 < wrtp> qrty: it's a different type
19:37 < wrtp> but you can declare methods on it if you want
19:38 < Armael> i have a little question : does the -> construction
exists in Go ? Those which lets access to an item of a struct when you have a
pointer on the struct
19:38 < uriel> Armael: .?
19:38 < Armael> (sorry for the bad english :d)
19:39 < Armael> s = struct { foo ...  }
19:39 < Armael> p = &s
19:39 < Armael> p->foo for example
19:39 < qrty> so in "type a uint8", a has an underlying type of uint8.  my
understanding from the spec is that values are assignable if they have the same
underlying type
19:39 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
19:40 < Armael> which is equivalent to (*p).foo
19:41 < uriel> qrty: no, values are assignable if they have the same type,
if not, cast
19:41 < uriel> Armael: p.foo
19:42 < Armael> even if p is a pointer on the struct which contains foo ??
19:42 < taruti> C p.foo => Go p.foo; C p->foo => Go p.foo
19:43 < Armael> okay
19:43 < Armael> strange :p
19:43 < Armael> Thanks uriel and taruti
19:44 < Armael> Oh, too
19:44 < Armael> I was wondering, in what context do you use Go ? For
fun/experiment/work ?
19:46 -!- ctimmerm [~ctimmerm@cs181050011.pp.htv.fi] has joined #go-nuts
19:46 < Armael> I wonder in fact, actually, who uses Go and to do what :)
19:46 < qrty> uriel: how can i cast a uint8 variable to fit inside a
variable of "type a uint8"
19:48 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Read
error: Connection reset by peer]
19:48 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
19:50 < uriel> Armael: http://go-lang.cat-v.org/organizations-using-go
19:50 < Armael> taruti: oh, i think : if I have a double pointer on the
struct ?
19:50 < Armael> uriel: thanks
19:50 < Armael> it's always p.foo even if **p = s ?
19:50 < taruti> (*doubleptr).foo
19:50 < Armael> okay
19:51 -!- unhygienix [~unhygieni@host86-135-59-30.range86-135.btcentralplus.com]
has quit [Quit: unhygienix]
19:51 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has joined #go-nuts
19:51 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has quit [Client Quit]
19:52 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
19:53 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has joined #go-nuts
19:53 < qrty> basically the only way i can figure out how to put data into a
"type a uint8" variable is by 1) assigning a literal to it or 2) assigning another
"type a uint8" to it
19:54 -!- Armael [~Armael@AToulouse-551-1-126-191.w92-156.abo.wanadoo.fr] has quit
[Quit: WeeChat 0.3.4]
19:54 < qrty> but if i have a plain uint8 i cant put that inside a "type a
uint8" even though they have the same underlying type
19:54 < uriel> qrty:
http://golang.org/doc/go_spec.html#Properties_of_types_and_values
19:54 < uriel> and see also the following section on Assignability
19:56 < crazy2be> can you make metapackages?
19:56 < qrty> uriel: i was reading the assignability section and it mentions
that you can assign when the values have identical underlying types
19:56 < crazy2be> like so that import blar actually imports
github.com/someuser/blar?
19:56 < crazy2be> aliases
19:57 < uriel> qrty: that is not what it says
19:57 < uriel> crazy2be: no?
19:58 < ww> crazy2be: go != python
19:58 < crazy2be> ww: It's almost python :P
19:58 < crazy2be> but nicer in many ways
19:59 < uriel> also, that is the way goinstall knows how to figure out
dependencies iirc
19:59 < qrty> i guess i dont understand what it says then
19:59 < crazy2be> well because we had a bunch of libraries that we were
using for an internal project, and released a bunch of them open source
20:00 < crazy2be> and i want to make the old import paths still work if
possible
20:00 < crazy2be> rather than update them all
20:01 < ww> maybe you could hack or extend gofix to do it for you?
20:01 < crazy2be> ah, gofix
20:01 < crazy2be> i should look into that more
20:01 * ww has never looked at how gofix does what it does
20:01 < crazy2be> magic
20:05 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
20:07 -!- Colin_ [~ctimmerm@cs181050011.pp.htv.fi] has joined #go-nuts
20:07 -!- ctimmerm [~ctimmerm@cs181050011.pp.htv.fi] has quit [Read error:
Connection reset by peer]
20:07 < crazy2be> ww:
http://code.google.com/p/go/source/browse/src/cmd/gofix/netdial.go
20:07 < crazy2be> example fix
20:08 < crazy2be> kinda cool
20:08 < crazy2be> i might do that later
20:10 < ww> kind of too bad all of gofix machinery is in non-exported types
20:10 < ww> if it were broken out into a fix library it would be eassy to
roll your own fixer
20:11 -!- yvsong [~victor@c-71-232-78-237.hsd1.ma.comcast.net] has quit [Ping
timeout: 240 seconds]
20:12 < crazy2be> ww: There is support for parsing go's syntax in the go
library
20:12 < crazy2be> so you could roll your own if you wanted too
20:12 -!- artefon [~thiago@189.59.134.43] has joined #go-nuts
20:12 < crazy2be> without having to reimplement a parser
20:15 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has quit [Quit:
hungrygruffalo]
20:15 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has joined #go-nuts
20:17 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has quit [Client Quit]
20:18 -!- unhygienix [~lemonkand@host86-135-59-30.range86-135.btcentralplus.com]
has joined #go-nuts
20:18 * ww is wondering if it was such a brilliant idea to start the big
xml-munging job on the laptop...  now i can't turn it off or take it out of the
house for the next two days...
20:19 -!- fabled [~fabled@91.220.88.166] has quit [Quit: Ex-Chat]
20:19 -!- Colin_ [~ctimmerm@cs181050011.pp.htv.fi] has quit [Quit: Colin_]
20:20 < ww> crazy2be: yeah, looking closer, i guess its just a thin wrapper
around ast
20:21 -!- unhygienix [~lemonkand@host86-135-59-30.range86-135.btcentralplus.com]
has quit [Client Quit]
20:22 -!- unhygienix [~lemonkand@host86-135-59-30.range86-135.btcentralplus.com]
has joined #go-nuts
20:22 -!- unhygienix [~lemonkand@host86-135-59-30.range86-135.btcentralplus.com]
has quit [Client Quit]
20:22 -!- tobym [~tobym@cpe-72-229-2-6.nyc.res.rr.com] has joined #go-nuts
20:22 -!- unhygienix [~hungrygru@host86-135-59-30.range86-135.btcentralplus.com]
has joined #go-nuts
20:23 -!- unhygienix [~hungrygru@host86-135-59-30.range86-135.btcentralplus.com]
has quit [Client Quit]
20:24 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has joined
#go-nuts
20:25 -!- photron_ [~photron@port-92-201-141-235.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
20:25 < TheMue> So, reaorganized my Go project pages at
http://www.tideland.biz/projects and below.  Now I can continue extending the
how-tos like the one for the Redis database client.
20:28 < ww> TheMue: nice
20:28 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has joined #go-nuts
20:28 < ww> but why, with the redis, is there IsOK() instead of returning
(thing, err)?
20:30 < ww> (i may use your redis client shortly to help with some
intermediate processing of things, e.g.  to keep a LCSH strings -> identifer
mappings)
20:33 < TheMue> ww: The IsOK() question is a good one.  Somehow it emerged
out of my design with the ResultSet.  But you're right, maybe I change the API w/o
changing the ResultSet but with a handling inside Command() etc.
20:34 < TheMue> ww: Btw, Redis is a neat database.  *smile*
20:34 < ww> yes, lightweight and fast...
20:35 < ww> i've never used it backing a production service of any kind, but
use it heavily as a lookup table for batch processing
20:36 < ww> the kinds of things i do often mean very big lookup tables used
by multiple processes in parallel
20:36 -!- foocraft [~ewanas@89.211.197.178] has joined #go-nuts
20:36 < ww> but then i just delete the redis database when i'm done
20:36 -!- pmolleda [~pmolleda@02d9bc06.bb.sky.com] has quit [Quit: Leaving]
20:37 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Read error:
Operation timed out]
20:39 < TheMue> ww: I'm currently starting a portal project with Redis as
backend.
20:39 -!- yvsong [~victor@c-71-232-78-237.hsd1.ma.comcast.net] has joined #go-nuts
20:40 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:91bc:8a8f:9216:5edc] has quit
[Quit: Leaving.]
20:46 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
20:50 -!- sebastia1skejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
20:51 -!- TheMue [~TheMue@p5DDF53C4.dip.t-dialin.net] has quit [Quit: TheMue]
20:54 < mpl> seems like aperture science employees got him.
21:00 < skelterjohn> heh
21:07 -!- dfc [~dfc@124.168.36.46] has joined #go-nuts
21:12 -!- dfc [~dfc@124.168.36.46] has quit [Client Quit]
21:13 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:14 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
21:20 -!- rlab_ [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
21:23 -!- keidaa [~keidaa@cm-84.210.56.138.getinternet.no] has quit [Quit:
Leaving]
21:34 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Read
error: Connection reset by peer]
21:36 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Remote
host closed the connection]
21:38 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-180-181.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
21:39 -!- artefon [~thiago@189.59.134.43] has quit [Ping timeout: 240 seconds]
21:46 -!- huin [~huin@91.85.171.238] has quit [Quit: off to bed]
21:47 -!- wrtp [~rog@92.17.111.113] has quit [Quit: wrtp]
21:50 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
21:57 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:13 -!- ab3 [~abe@83.101.90.66] has quit [Ping timeout: 258 seconds]
22:18 -!- dju [dju@fsf/member/dju] has joined #go-nuts
22:20 -!- dju [dju@fsf/member/dju] has quit [Max SendQ exceeded]
22:21 -!- dju [dju@fsf/member/dju] has joined #go-nuts
22:21 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 258 seconds]
22:28 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
22:34 -!- aho [~nya@fuld-590c716b.pool.mediaWays.net] has joined #go-nuts
22:37 < yvsong> With stable release r57, the following code r, _, err :=
http.DefaultClient.Get("www.google.com")
22:37 < yvsong> gets me err: Get www.google.com: unsupported protocol scheme
""
22:37 < yvsong> Any advice?
22:44 -!- kfb [~chatzilla@c-24-7-103-177.hsd1.ca.comcast.net] has quit [Quit:
ChatZilla 0.9.86.1 [Firefox 4.0.1/20110413222027]]
22:49 < KirkMcDonald> Sounds like you need http:// in front.
22:50 -!- anticw [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has joined #go-nuts
22:52 < yvsong> Thanks.  Just realized I should use the simpler http.Get()
too.
22:54 < yvsong> Since it's an http func, shouldn't the default protocol be
http?  Browsers do so.
22:56 -!- anticw [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
23:02 -!- Kafo [5b98bdf4@gateway/web/freenode/ip.91.152.189.244] has quit [Ping
timeout: 252 seconds]
23:05 -!- hungrygruffalo
[~hungrygru@host86-135-59-30.range86-135.btcentralplus.com] has quit [Quit:
hungrygruffalo]
23:19 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 240 seconds]
23:26 -!- nictuku [~yvesj@unaffiliated/nictuku] has quit [Ping timeout: 240
seconds]
23:27 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
23:28 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
23:36 -!- Kafo [5b98bdf4@gateway/web/freenode/ip.91.152.189.244] has joined
#go-nuts
23:39 -!- anticw [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has joined #go-nuts
23:39 -!- kfb [~kevin@c-24-7-103-177.hsd1.ca.comcast.net] has joined #go-nuts
23:41 -!- Tanner_ [~tanner@h96-60-249-44.cncrtn.dsl.dynamic.tds.net] has joined
#go-nuts
23:41 < Tanner_> Hello
23:44 < dfc> bonjour
23:45 < ampleyfly> bonne nuit
23:46 -!- Dr_Who [~tgall@206.9.88.154] has quit [Read error: Operation timed out]
23:46 < Tanner_> How are you all?
--- Log closed Mon May 09 00:00:50 2011