--- Log opened Thu Nov 18 00:00:16 2010
00:05 -!- kanru [~kanru@118-160-164-12.dynamic.hinet.net] has joined #go-nuts
00:10 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
00:16 -!- krutcha [~krutcha@remote.icron.com] has joined #go-nuts
00:19 -!- gr0gmint [~quassel@] has joined #go-nuts
00:20 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
00:22 -!- iant [~iant@nat/google/x-ahuieibdengebftj] has quit [Read error:
Operation timed out]
00:28 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has quit [Ping
timeout: 260 seconds]
00:30 -!- iant [~iant@] has joined #go-nuts
00:30 -!- mode/#go-nuts [+v iant] by ChanServ
00:31 -!- itrekkie [~itrekkie@ip72-200-114-63.tc.ph.cox.net] has quit [Quit:
00:33 -!- evilclone [~graham@dyn1065-37.hor.ic.ac.uk] has quit [Quit: Leaving]
00:46 -!- Tv [~tv@gige.bur.digisynd.com] has quit [Ping timeout: 255 seconds]
00:47 -!- gr0gmint [~quassel@] has quit [Read error: Connection reset
by peer]
00:57 -!- krutcha [~krutcha@remote.icron.com] has quit [Quit: Leaving]
00:58 -!- mikespook [~mikespook@] has joined #go-nuts
01:01 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Remote
host closed the connection]
01:01 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
01:02 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts
01:03 < plexdev> http://is.gd/hjTWr by [Robert Griesemer] in
go/src/pkg/go/token/ -- go/token position: code improvements per rsc's suggestion
01:05 -!- kanru [~kanru@118-160-164-12.dynamic.hinet.net] has quit [Ping timeout:
276 seconds]
01:06 -!- Venom_X_ [~pjacobs@] has joined #go-nuts
01:06 -!- Venom_X_ [~pjacobs@] has quit [Client Quit]
01:06 -!- felipe [~felipe@my.nada.kth.se] has quit [Quit: felipe]
01:08 -!- Venom_X [~pjacobs@] has quit [Ping timeout: 255 seconds]
01:17 -!- sjansen [~sjansen@ip65-44-231-178.z231-44-65.customer.algx.net] has quit
[Quit: The lesson here is that dreams inevitably lead to hideous implosions.]
01:18 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
quit [Quit: Leaving]
01:18 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
01:18 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode]
01:19 -!- bjarneh [~bjarneh@232.80-203-20.nextgentel.com] has joined #go-nuts
01:23 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
01:25 -!- bmizerany [~bmizerany@] has quit [Remote host closed the
01:25 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
01:27 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit:
01:31 -!- cco3-hampster [~conleyo@nat/google/x-mkgesqjtrkhahuiu] has quit [Quit:
01:32 -!- tsykoduk [~tsykoduk@] has quit [Ping timeout: 245 seconds]
01:33 -!- tsykoduk [~tsykoduk@] has joined #go-nuts
01:34 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has
joined #go-nuts
01:53 -!- aho [~nya@fuld-4d00d6ac.pool.mediaWays.net] has quit [Quit:
01:53 -!- ios_ [~ios@] has joined #go-nuts
01:53 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
02:09 -!- iant [~iant@] has quit [Quit: Leaving.]
02:10 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has quit
[Remote host closed the connection]
02:31 -!- ios_ [~ios@] has quit [Ping timeout: 240 seconds]
02:34 -!- tav [~tav@] has quit [Ping timeout: 255 seconds]
02:39 -!- tav [~tav@] has joined #go-nuts
02:42 -!- itrekkie [~itrekkie@ip72-200-114-63.tc.ph.cox.net] has joined #go-nuts
02:52 -!- Xurix [~Luixsia@AToulouse-254-1-2-18.w83-203.abo.wanadoo.fr] has quit
[Quit: Leaving]
02:58 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 264 seconds]
03:03 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
03:12 < enferex> Is there a way to define an equality operator for a struct?
03:13 < skelterjohn> i do not believe so
03:14 < skelterjohn> go doesn't support operator overloading for any custom
03:14 < enferex> ah ok
03:14 < skelterjohn> having a method "func (me MyType) Equals(other
interface{}) bool" is common practice, though
03:15 < vsmatck> enferex: The reflect package has stuff you can use to do
equality on structs.
03:16 < vsmatck> But unlike defining an operator you can't exclude anything
from the comparison.
03:16 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 240 seconds]
03:16 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
03:20 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
03:22 < anticw> enferex: reflect.DeepEqual will work but it's quite slow ...
depends what you need
03:22 < anticw> and i mean very very slow ...  on the order of 100s of usecs
03:22 < plexdev> http://is.gd/hkfkp by [Andrew Gerrand] in go/src/pkg/rpc/
-- rpc: add RegisterName to allow override of default type name
03:23 -!- ios_ [~ios@] has joined #go-nuts
03:27 < enferex> anticw: vsmatck: thanks
03:31 -!- yinruzhi [~zhi@2001:da8:e000:90:0:5efe:a79:2abc] has joined #go-nuts
03:32 < anticw> s
03:32 < anticw> :/
03:39 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has joined
03:46 -!- yinruzhi [~zhi@2001:da8:e000:90:0:5efe:a79:2abc] has quit [Quit: test]
04:19 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
04:20 -!- watr_ [~watr@] has joined #go-nuts
04:20 -!- itrekkie [~itrekkie@ip72-200-114-63.tc.ph.cox.net] has quit [Quit:
04:25 -!- watr__ [~watr@] has joined #go-nuts
04:25 -!- watr__ [~watr@] has quit [Remote host closed the
04:30 -!- watr_ [~watr@] has quit [Ping timeout: 272 seconds]
04:32 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
04:37 -!- ios_ [~ios@] has quit [Read error: Connection reset by
04:47 -!- yinruzhi [~zhi@2001:da8:e000:90:0:5efe:a79:2abc] has joined #go-nuts
04:47 -!- yinruzhi [~zhi@2001:da8:e000:90:0:5efe:a79:2abc] has left #go-nuts []
04:49 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
04:49 -!- mode/#go-nuts [+v iant] by ChanServ
05:04 -!- devrim [~Adium@] has joined #go-nuts
05:10 < krutcha> hmm..  is implicit initialization required across all
return values from a function, all or nothing?  ie if I have a predefined [var msg
string], but want a throwaway error, can I not [msg, err:= somefunction()] ?
05:11 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts
05:14 -!- grai [~grai@] has joined #go-nuts
05:22 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 255
05:23 -!- enherit [~enherit@71-83-188-75.dhcp.lnbh.ca.charter.com] has joined
05:27 -!- grai [~grai@] has quit [Quit: leaving]
05:27 -!- devrim [~Adium@] has quit [Quit: Leaving.]
05:34 -!- fabled [~fabled@mail.fi.jw.org] has joined #go-nuts
05:48 -!- enherit [~enherit@71-83-188-75.dhcp.lnbh.ca.charter.com] has quit [Quit:
05:49 < |Craig|> krutcha: msg, _:= somefunction()
05:49 < |Craig|> maybe thats what your asking about
05:50 < krutcha> in this case no, as I don't wish to ignore the value
05:51 < krutcha> I'm trying to contrive a snippet for pastebin, I'll link it
in a moment
05:54 -!- Chopinn [~Chopin@ti0018a380-dhcp1590.bb.online.no] has joined #go-nuts
05:55 -!- teop [~teop@] has quit [Read error: Operation timed out]
05:59 < krutcha> Craig: it is more an issue of wrestling with scope, and
wishing to use := to reduce clutter when I can't, some examples thrown in here:
06:01 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
06:01 < |Craig|> krutcha: interesting
06:02 < krutcha> in short, I wish I could somehow get the best of both
worlds and tag 90% of my returns with :=, but specify whether I wish to
reassign/inherit one of them from an outer scope when needed
06:03 < |Craig|> krutcha: you can make (a) new variable(s) with (a)
different name(s), and assign over the old one(s) on the next line
06:03 < krutcha> it may be an issue of more rope to hang with, but if the
syntax was clear it would sure clean up my code a lot
06:04 < krutcha> yeah, I was thinking that..  in most cases it would just be
an extra unused pointer floating around, but it does seem a bit wasteful :(
06:04 < |Craig|> thats the task of the optimizer to fix
06:06 < |Craig|> tidy and nice often comes out slow.  I stuck on mutex on my
data structure, 3x slowdown, I used defer to release it, more than 10x slowdown...
06:07 < krutcha> could one do this: if innerX, innerY, err := f() ;
outerX=innerX; outerY=innerY; err != nil { ?
06:08 < krutcha> hmm ouch
06:08 < |Craig|> outerX, outerY = innerX,innerY
06:08 < krutcha> ah ever better
06:09 -!- teop [~teop@] has joined #go-nuts
06:09 < krutcha> I used to do the equivalent of defer in C++ all the time to
control mutexes, ie construct an object that takes a mutex, then releases the
mutex as it goes out of scope
06:10 < krutcha> sortof had to due to exceptions in that world :(
06:10 -!- matti___ [~mumboww@c-98-207-108-218.hsd1.ca.comcast.net] has quit [Ping
timeout: 250 seconds]
06:13 < krutcha> was it 3x to take the semaphore+access the struct, compared
to previously just accessing the struct?  or 3x performance overall for your
06:13 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 240 seconds]
06:14 -!- iant [~iant@] has joined #go-nuts
06:14 -!- mode/#go-nuts [+v iant] by ChanServ
06:16 -!- matti___ [~mumboww@c-98-207-108-218.hsd1.ca.comcast.net] has joined
06:28 < |Craig|> After some research, I have discovered what it is that I
implemented.  Apparently its called a "Unrolled linked list", except I sacrificed
keeping order for much faster adding, removing and better space usage
06:29 < krutcha> nice
06:29 < |Craig|> krutcha: I mutexed the add method, and my brute force add
loop (like 100000 items) ran about 3x slower
06:29 < |Craig|> I could allow batched adds though if that were an issue
06:30 < Namegduf> Why not do what map does, and leave mutexing to the code
using it?
06:30 < krutcha> that seems fair, given the additional operations involved.
Going from that to 3x slower yet again (10x overall) by using defer to release
your mutex is the bit that concerns me
06:31 < |Craig|> Namegduf: my plan it to add some easy tools for splitting
it and balancing item counts between them (it can do that really fast by swapping
batches in the linked list)
06:31 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240
06:32 < |Craig|> thus, there will be no reason to do concurrent
06:33 < |Craig|> incase anyone wants it, the source is here:
waiting to be potentially used in my game server project
06:34 < krutcha> I have a bit of code that use using range on a channel,
largely to fall out if the channel closes.  I now find myself with two other
channels to select on.  Is it safe to select, then detect closure manualy?
06:35 < madari> hmmm does this mean 08:11 < |Craig|> tidy and nice
often comes out slow.  I stuck on mutex on my data structure, 3x slowdown, I used
defer to release it, more than 10x slowdown...
06:36 < madari> that deferring is that much slower?
06:36 < |Craig|> madari: it added a whole digit to the run time and then
06:36 < madari> ok
06:37 < madari> good to know
06:37 < |Craig|> that 10x the origional, not the mutexed version
06:38 < |Craig|> and this was on very short very optimized (for good cach
performance) code, so its very oversensative
06:38 < madari> yeah but this is a lot faster: f() { m.Lock(); /*fooo*/
m.Unlock(); } than this: f() { m.Lock(); defer m.Unlock(); /*foooo*/ }
06:38 < madari> right?
06:38 < madari> what are you doing btw
06:38 < |Craig|> perhaps 4x speed difference if /*fooo*/ is fast I guess
06:39 < krutcha> that one seems easy to simulate in the go playground
06:39 < |Craig|> madari: an unordered unrolled linked list
06:40 < madari> ok
06:40 < |Craig|> its designed to allow adding and removing elements while
iterating over it, or parallel iteration (both would need the slow locking)
06:41 < madari> is the source code on the web somewhere?
06:42 < |Craig|> madari: see link I posted just before your first comment
06:42 < |Craig|> its a work in progress
06:43 < madari> ah
06:43 < madari> =)
06:43 < |Craig|> time.Nanoseconds on go playground is no good,
1257894000000000000 <- really low precision
06:44 < krutcha> yikes
06:44 < krutcha> hehe
06:44 < |Craig|> good to about 17 minutes aparently
06:46 < |Craig|> I've been thinking about parallelization and memory
organization way too much recently.
06:46 < Namegduf> |Craig|: Note that time is haxed on the Go playground.
06:47 < Namegduf> It's done so that programs with the same code will alway
give the same results.
06:47 < |Craig|> Interesting
06:47 < |Craig|> do they then memoize the common ones?
06:48 < Namegduf> Not sure.
06:49 < krutcha> I take it this is way wrong for initializing a struct of
chans?  user_chans := {make(chan string,100), make(chan string 100), make(chan
06:50 < |Craig|> krutcha: I don't see anything wrong with it
06:50 < |Craig|> except a missing ","
06:50 < krutcha> syntax error: unexpected {
06:50 < krutcha> is what I got
06:50 < |Craig|> chan string 100 needs a ,
06:51 < krutcha> ahh typo FTL
06:53 < krutcha> is it possible to range across 2 channels?
06:53 < |Craig|> is the behavior of having multiple go routines ranging
across a single channel defined?
06:54 < madari> what?  you can initialize a struct like that these days?  :)
06:54 < madari> does it get the type []chan string ?
06:54 < madari> or wat
06:54 < |Craig|> madari: in that case the number is the buffer size for the
06:55 < madari> yes I know
06:55 < krutcha> I had a type X struct { a chan string; b chan string; c
chan string }
06:55 < madari> I'm just wondering what will user_chans be after that?
06:55 < madari> ah ok
06:55 < krutcha> so it was a var X newstruct :=
06:55 < krutcha> that I was trying to satisfy
06:56 < madari> ok =) sorry for being silly
06:56 < krutcha> not silly, I'm still not sure if it works :P got
06:58 < |Craig|> can someone help me understand why this code (parallel
reading) seems to drop/miss some some items sometimes>
06:59 < |Craig|> runs fine in the go playground
06:59 < krutcha> Craig: I 'm not sure if that range in two goroutines is
defined, but my guess is it would just treat it the same as two instances of for
loops reading from the chan
07:00 < |Craig|> they seem to pull all the items into one (and only one) of
the go routines
07:00 < |Craig|> but some get left out at the end
07:00 < krutcha> there was a post on the newsgroup that may help you there
07:00 < krutcha> it involved starvation of goroutines
07:01 < krutcha> wouldn't explain lost items, just a lack of concurrency tho
07:02 < krutcha>
07:02 < krutcha> incase it helps
07:02 -!- zhaozhou [~zhaozhou@linfast76.bitnet.nu] has quit [Read error:
Connection reset by peer]
07:02 < |Craig|> on my computer with only 1 go routine, and if I make it try
and process to numbers, the last is dropped, but on the go playground, it works.
Both the playground and mine fail as the go routine count climbs higher
07:03 < |Craig|> *10 numbers
07:04 < |Craig|> Hum, I was sure I say that before, I think either I messed
up or it has race conditions.  regardless, it failes with lots of rountines.
07:04 < |Craig|> I'll check that link
07:05 < krutcha> looking at your example now
07:05 < madari> hmmm we should combine go playground with a pastebin
07:05 < madari> if someone hasn't done that already, that is
07:05 < krutcha> heh yeah, auto link to a pasted, ready-to-run snippet would
be nice
07:05 < |Craig|> pasteGoround!
07:06 < madari> GoPaste
07:14 < krutcha> Craig, how many numbers on go playground to break it?
07:19 < krutcha> i reworked the paste example a bit here just to wrap my
head around it: http://dpaste.com/276730/
07:20 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a138:e483:f1a7:8dde] has joined
07:40 < |Craig|> krutcha: the key is the size of count vs the other number
07:40 < |Craig|> 8:10 returns only 2 items I think, 1:10 returns all 10,
07:41 < krutcha> hmm let me try it here, not on go playground
07:43 < |Craig|> I wrote it to see if multiple channel readers duplicated or
divided up data, and the answer is they divide it up, and lose some crumbs
07:43 < krutcha> hmm I ran it with 8 goroutines and 10 numbers
07:44 < krutcha> and I see the same as playground, 10 numbers print out
07:45 < |Craig|> your version seems to work as expected
07:45 < krutcha> the sequence varies from what goplayground showed
07:45 < krutcha> but the output is sane, I'll paste a link
07:46 < |Craig|> ah
07:46 < |Craig|> run with 6 and 10
07:46 < |Craig|> number 9 is missing
07:47 < |Craig|> 4:10 is even worse
07:47 < |Craig|> 7-9 are missing
07:47 < krutcha> ah yeah I see similar
07:47 < |Craig|> low and high thread counts work, medium don't
07:48 < |Craig|> making the channel buffered seems to fix it
07:48 < |Craig|> even just a buffer of 1
07:50 < krutcha> I'd think a buffer would be worse
07:51 < krutcha> because closing the channel, if anything, could kill the
range: calls with something in the buffer
07:51 < krutcha> though it probably flushes
07:51 < krutcha> but with an unbuffered channel, I don't see how that could
07:51 < krutcha> unless there is a 2 step process getting the data to a
07:52 < krutcha> like 10 threads are blocking on chan, I pull an item off
chan and queue it up for thread 1..  then thread one gets woken up and does it's
07:52 < krutcha> well in that case..  the data could be dolled out to the
channels ready for them to process once woken up, but when they read, they read
the close (if the main thread did so)
07:52 < krutcha> leaving some limbo data
07:53 < krutcha> does that sound sane?
07:53 < krutcha> which might mean with N readers on a channel, up to N items
could be lost in a close()
07:55 < |Craig|> close does not terminate the channel, it makes it just send
0 values
07:56 < |Craig|> and closed is not true until a zero value has been gotten
after close
07:56 < krutcha> but the spec says range on a channel will fall through when
it's closed
07:56 < krutcha> I think
07:56 < |Craig|> range must read an item, then check closed
07:56 < krutcha> hmm could be
07:56 < |Craig|> so if between those operations, another chan reads,
07:57 < krutcha> but once it's closed for one, it's closed for all
07:57 -!- ExtraSpice [~XtraSpice@] has joined #go-nuts
07:58 < |Craig|> anyway, its either a hard to see race condition that should
be warned about somewhere, or a bug I think
07:58 < krutcha> there is another way to structure it, hang on
08:01 -!- Project_2501 [~Marvin@] has joined #go-nuts
08:05 -!- bjarneh [~bjarneh@232.80-203-20.nextgentel.com] has quit [Quit: leaving]
08:08 -!- photron [~photron@port-92-201-199-202.dynamic.qsc.de] has joined
08:09 < krutcha> tried it this way but it crashes: http://dpaste.com/276740/
08:09 < krutcha> not sure why?
08:12 -!- bookses [~John@] has joined #go-nuts
08:16 < krutcha> fixed by removing the defer
08:18 < |Craig|> odd
08:19 < krutcha> hmm seems I'm able to do 6,10 that way
08:19 < krutcha> I think the range/close thing is a real problem
08:20 < krutcha> at least as far as guaranteeing data delivery is concerned
08:22 < krutcha> I learned two good things, save defer for stack
unwinding/panics/cleanup, and don't close channels for normal operation
08:22 -!- awidegreen [~quassel@p5DF1EA63.dip.t-dialin.net] has joined #go-nuts
08:27 < |Craig|> range on a channel only ever ends if you close it, thats
how its supposed to work I think
08:28 < |Craig|> if you don't close it, it will either take infinate data or
08:28 -!- bookses [~John@] has quit [Quit: Leaving.]
08:28 < |Craig|> unless you excape the loop by another control flow device
08:29 < |Craig|> the only real use of close I see is for use with range
08:30 < krutcha> yeah, I am thinking it's safe for a permanent channel, on
exit etc..  but not for batch processing with go routines as you were doing.  The
lost data is a killer
08:31 < krutcha> that could change with a go release though
08:40 -!- krutcha [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit:
08:45 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:58 -!- tensorpudding [~user@] has quit [Remote host closed the
09:20 -!- Gertm [~Gertm@mail.dzine.be] has quit [Quit: C-x C-c]
09:20 -!- Gertm [~Gertm@d51A45118.access.telenet.be] has joined #go-nuts
09:24 -!- Gertm [~Gertm@d51A45118.access.telenet.be] has quit [Client Quit]
09:25 -!- Gertm [~Gertm@d51A45118.access.telenet.be] has joined #go-nuts
09:26 -!- Gertm [~Gertm@d51A45118.access.telenet.be] has quit [Client Quit]
09:26 -!- Gertm [~Gertm@d51A45118.access.telenet.be] has joined #go-nuts
09:30 -!- tvw [~tv@] has joined #go-nuts
09:37 -!- wrtp [~rog@] has joined #go-nuts
09:39 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
09:42 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 255 seconds]
09:43 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
09:46 < matti___> has anyone ever gotten the following error message before
when compiling?
09:46 < matti___> abc.go:13 inconsistent definition for type regexp.Regexp
during import
09:46 < matti___> struct { expr string; prefix string; prefixBytes []uint8;
inst []regexp.instr; start regexp.instr; prefixStart regexp.instr; nbra int }
09:46 < matti___> struct { expr string; prefix string; prefixBytes []uint8;
inst *vector.Vector; start regexp.instr; prefixStart regexp.instr; nbra int }
09:47 < matti___> i recently updated my version of Go and got the above
error message
09:49 < exch> matti___: It looks like you have a stale version of a library
imported somewhere.  Try cleaning before building
09:49 -!- nf [~nf@124-149-41-bcast.dyn.iinet.net.au] has joined #go-nuts
09:49 -!- mode/#go-nuts [+o nf] by ChanServ
09:49 < exch> $GOROOT/src/clean.bash should take care of that
09:49 -!- mode/#go-nuts [-o adg] by adg
09:49 < matti___> exch: thanks
10:00 -!- nictuku [~nictuku@unaffiliated/nictuku] has quit [Ping timeout: 264
10:32 < TheSeeker> doesn't ./all.bash clean first?
10:33 -!- ystsntv [ystsntv@S01060019db8e14ab.vc.shawcable.net] has left #go-nuts
10:33 -!- tvw [~tv@] has quit [Remote host closed the connection]
10:36 -!- tvw [~tv@] has joined #go-nuts
10:38 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 250 seconds]
10:38 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
10:42 -!- iant [~iant@] has quit [Ping timeout: 272 seconds]
10:43 < exch> TheSeeker: It should, but I've had problems with that several
times.  Not sure why
10:43 -!- rlab [~Miranda@] has joined #go-nuts
10:43 < exch> I always run clean.bash separately before doing hg pull and
building.  Have had no problems that way anymore
10:52 -!- iant [~iant@] has joined #go-nuts
10:53 -!- mode/#go-nuts [+v iant] by ChanServ
11:07 -!- bookses [~John@] has joined #go-nuts
11:08 -!- bookses [~John@] has left #go-nuts []
11:12 -!- virtualsue [~chatzilla@nat/cisco/x-gbnnuixlnydlkamy] has joined #go-nuts
11:13 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 240 seconds]
11:14 -!- gr0gmint [~quassel@] has joined #go-nuts
11:14 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
11:26 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has quit [Ping timeout: 265
11:32 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined
11:33 -!- roadkith [~roadkith@unaffiliated/kith] has joined #go-nuts
11:54 -!- niemeyer [~niemeyer@189-10-175-46.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
11:55 -!- nictuku [~nictuku@cetico.org] has joined #go-nuts
12:07 -!- artefon [~thiago@] has joined
12:27 -!- mcot_ [~mcot@pool-71-171-113-161.clppva.fios.verizon.net] has joined
12:28 < plexdev> http://is.gd/hlCn3 by [Russ Cox] in go/src/pkg/sort/ --
sort: edit doc comment for Search
12:31 -!- mcot [~mcot@pool-71-171-113-161.clppva.fios.verizon.net] has quit [Ping
timeout: 265 seconds]
12:32 -!- bookses [~John@] has joined #go-nuts
12:36 -!- ExtraSpice [~XtraSpice@] has quit [Quit: Leaving]
12:39 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 245
12:39 -!- mikespook [~mikespook@] has quit [Remote host closed the
12:45 -!- ExtraSpice [~XtraSpice@] has joined #go-nuts
12:56 -!- snearch [~snearch@f053001249.adsl.alicedsl.de] has joined #go-nuts
13:07 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
13:20 < niemeyer> Hmm..  quite silent as far as commits go lately
13:20 < vegai> it's done?  :P
13:20 < niemeyer> I wonder if there's something interesting being baked
13:21 < vegai> theoretically, a programming language should reach a point
where no changes happen outside of new libraries and such
13:21 < vegai> a programming language implementation*
13:23 -!- foocraft [~dsc@] has quit [Remote host closed the
13:25 -!- foocraft [~dsc@] has joined #go-nuts
13:36 < niemeyer> vegai: Agreed..  not there yet, though
13:37 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.nj.comcast.net] has joined
13:40 -!- sauerbraten [~sauerbrat@p508CF030.dip.t-dialin.net] has joined #go-nuts
13:42 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has joined #go-nuts
13:44 < Nitro> Hi! Question about tcp sockets.  Is there a way to set the
connection timeout?  Because I don't see any way to create a TCPConn other than
using DialTCP, which is trying to connect before return the TCPConn.  Since I
don,t have any TCPConn, I can't call SetTimeout on it.
13:49 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has joined #go-nuts
13:52 < skelterjohn> good question, Nitro
13:52 < skelterjohn> i don't know of any way to do that
13:52 < skelterjohn> maybe post an issue?  the go standard library is
incomplete, and the devs rely in part on us to help them know where improvement
can happen
13:53 < yiyus> iirc there is a pending CL about net timeouts
13:54 < niemeyer> Nitro: http://golang.org/pkg/net/
13:54 < niemeyer> Nitro: Search for "timeout"
13:56 < skelterjohn> niemeyer: none of those suggest a way to set a timeout
for the dial step
13:56 -!- artefon [~thiago@] has quit [Quit:
13:57 < Nitro> niemeyer: I did ;) I can't get the TCPConn struct before it
tries to connect, so I can't set the timeout before it tries to connect
13:57 < niemeyer> I see, hmmm
14:04 < niemeyer> Nitro, skelterjohn: The core of the issue is likely that
there's likely no actual way to timeout the real system call
14:05 < niemeyer> That said, it should be trivial to get whatever behavior
you desire by setting up a timeout inside your program
14:06 < Nitro> I saw in the mailing list that the windows implementation
wasn't supporting timeouts, but I guess *nix implementation should.
14:06 < niemeyer> Nitro: That comment was about Linux
14:06 < niemeyer> Nitro: My comment above, I mean
14:07 < Nitro> Yup, anyway I'm dealing with timeout inside my program, so it
works for now ;)
14:07 < niemeyer> Great :)
14:12 -!- felipe [~felipe@my.nada.kth.se] has joined #go-nuts
14:16 -!- foocraft [~dsc@] has quit [Quit: Leaving]
14:26 -!- vegai [vegai@archlinux/developer/vegai] has quit [Ping timeout: 276
14:29 -!- mbohun [~user@ppp115-156.static.internode.on.net] has quit [Ping
timeout: 240 seconds]
14:31 -!- melter [~Melter@2001:4930:116:0:21c:c0ff:feef:eaf5] has quit [Remote
host closed the connection]
14:35 -!- skelterjohn [~jasmuth@c-76-98-219-171.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
14:37 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has joined #go-nuts
14:38 -!- bookses [~John@] has quit [Ping timeout: 255 seconds]
14:46 -!- ucasano_
[~ucasano@host153-182-static.227-95-b.business.telecomitalia.it] has joined
14:47 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has quit [Ping timeout: 265 seconds]
14:57 -!- d_m [d6@SDF.ORG] has joined #go-nuts
14:57 -!- luruke [~luruke@] has joined #go-nuts
15:00 -!- tav [~tav@] has quit [Ping timeout: 240 seconds]
15:03 -!- DerHorst [~Horst@e176100030.adsl.alicedsl.de] has joined #go-nuts
15:05 -!- luruke [~luruke@] has quit [Quit: Leaving]
15:06 -!- tav [~tav@] has joined #go-nuts
15:11 -!- lmoura [~lauromour@] has quit [Remote host closed the
15:12 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
15:13 -!- roadkith [~roadkith@unaffiliated/kith] has quit [Quit: Leaving]
15:15 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
15:23 -!- snearch [~snearch@f053001249.adsl.alicedsl.de] has quit [Quit:
15:26 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Ping
timeout: 245 seconds]
15:27 -!- wrtp [~rog@] has quit [Ping timeout: 240 seconds]
15:29 -!- lmoura [~lauromour@] has joined #go-nuts
15:32 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts
15:35 -!- wrtp [~rog@] has joined #go-nuts
15:36 -!- ExtraSpice [~XtraSpice@] has quit [Quit: Leaving]
15:38 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
15:40 -!- mattn_jp [~mattn_jp@112-68-60-62f1.hyg1.eonet.ne.jp] has joined #go-nuts
15:51 -!- ExtraSpice [~XtraSpice@] has joined #go-nuts
15:58 -!- tvw [~tv@] has quit [Remote host closed the connection]
16:07 -!- tdnrad [~tdnrad@D6209.WPA.Dal.Ca] has joined #go-nuts
16:07 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
16:10 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
16:11 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Ping
timeout: 245 seconds]
16:11 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
16:12 < cyounkins> Ahoy there.  Does Go have a way to access the IP
addresses that local network interfaces are bound to?
16:16 < skelterjohn> i'm not sure - sounds like the kind of thing that
wouldn't make it into the first pass at the core library, though
16:16 -!- Venom_X [~pjacobs@] has joined #go-nuts
16:19 < tdnrad> What is the best way for me to get an integer value from
stdin?  Right now I'm using readString("\n"), triming the newline, and then using
strconv.Atoi, is there a better way?
16:21 < tdnrad> I'm assuming using ReadBytes or something?
16:26 -!- artefon [~thiagon@] has joined #go-nuts
16:27 < skelterjohn> maybe fmt.Scanf can do it for you
16:28 < skelterjohn> fmt.Scanf("%d", &myInt)
16:31 < tdnrad> oh dear..  thank you..
16:31 < tdnrad> I'm silly
16:32 -!- saschpe [~quassel@77-23-177-40-dynip.superkabel.de] has joined #go-nuts
16:32 < tdnrad> At least it's good that I'm thinking of this as a very
different language..  so I don't get confused..  but still, I should have been
able to figure that out.
16:34 -!- kanru [~kanru@] has joined #go-nuts
16:41 -!- kanru [~kanru@] has quit [Ping timeout: 240 seconds]
16:46 -!- tvw [~tv@e176005168.adsl.alicedsl.de] has joined #go-nuts
16:47 < plexdev> http://is.gd/hmlHb by [Russ Cox] in 2 subdirs of
go/src/pkg/ -- sort: invert meaning of f in Search
16:49 -!- mattn_jp [~mattn_jp@112-68-60-62f1.hyg1.eonet.ne.jp] has quit [Ping
timeout: 265 seconds]
16:58 -!- gr0gmint [~quassel@] has quit [Remote host closed the
17:01 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
17:01 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 255 seconds]
17:01 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
17:01 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
17:01 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:03 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
17:22 -!- kanru [~kanru@118-160-164-12.dynamic.hinet.net] has joined #go-nuts
17:26 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
17:28 < tdnrad> How do I clear Stdin before exiting?  Currently, when my
program gets invalid input it exits with an error.  The remaining input is sent to
bash though.
17:29 -!- awidegreen_ [~quassel@p5DF1F795.dip.t-dialin.net] has joined #go-nuts
17:31 -!- awidegreen [~quassel@p5DF1EA63.dip.t-dialin.net] has quit [Ping timeout:
240 seconds]
17:31 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has joined #go-nuts
17:32 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has quit [Read error: Connection reset by peer]
17:33 -!- mattn_jp [~mattn_jp@112-68-60-62f1.hyg1.eonet.ne.jp] has joined #go-nuts
17:33 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has joined #go-nuts
17:33 -!- cco3-hampster [~conleyo@nat/google/x-hjijyrbrkcvqkqki] has joined
17:36 <+iant> tdnrad: that shouldn't happen if you use file redirection; if
you are typing on the terminal, then I guess you could read until EOF, or whatever
marker you want to use
17:37 -!- mattn_jp [~mattn_jp@112-68-60-62f1.hyg1.eonet.ne.jp] has quit [Ping
timeout: 245 seconds]
17:39 -!- sauerbraten [~sauerbrat@p508CF030.dip.t-dialin.net] has quit [Remote
host closed the connection]
17:39 -!- sauerbraten [~sauerbrat@p508CF030.dip.t-dialin.net] has joined #go-nuts
17:41 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has quit [Read error: Connection reset by peer]
17:41 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has joined #go-nuts
17:41 < tdnrad> iant, I am using the terminal for an interactive program,
17:42 < tdnrad> iant, if that's the only way, I guess that's what I will do.
I was hoping there was some sort of 'clear' function
17:42 <+iant> Unix doesn't work that way
17:43 <+iant> the terminal is just another input source, like a pipe
17:44 -!- Nitro [~Nitro@modemcable105.5-82-70.mc.videotron.ca] has quit [Quit:
17:44 < tdnrad> I realise that, but I was under the impression when I did
the same thing in C, the Stdin was cleared when the program exited
17:44 < tdnrad> perhaps I'm wrong
17:44 < tdnrad> I never encountered this before
17:44 <+iant> Go should behave the same was as C in this regard
17:44 <+iant> s/was/way/
17:44 < tdnrad> Maybe I'm just dreaming then
17:45 < tdnrad> thanks!
17:45 <+iant> well, if you do find a difference, let us know
17:45 < tdnrad> will do
17:45 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
276 seconds]
17:46 -!- kanru [~kanru@118-160-164-12.dynamic.hinet.net] has quit [Read error:
Operation timed out]
17:46 -!- virtualsue [~chatzilla@nat/cisco/x-gbnnuixlnydlkamy] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.5.15/20101026200251]]
17:47 -!- virtualsue [~chatzilla@nat/cisco/x-nczgvfpzouvbuwjj] has joined #go-nuts
17:48 -!- ShadowIce`
[pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
17:48 -!- ShadowIce`
[pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing
17:48 -!- ShadowIce` [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:50 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Ping
timeout: 245 seconds]
17:59 -!- tdnrad [~tdnrad@D6209.WPA.Dal.Ca] has quit [Quit: Leaving]
18:00 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has joined #go-nuts
18:03 -!- Tv [~tv@gige.bur.digisynd.com] has joined #go-nuts
18:03 -!- femtoo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Ping
timeout: 264 seconds]
18:26 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has quit [Read error:
Connection reset by peer]
18:26 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has joined #go-nuts
18:32 -!- photron_ [~photron@port-92-201-222-234.dynamic.qsc.de] has joined
18:35 -!- photron [~photron@port-92-201-199-202.dynamic.qsc.de] has quit [Ping
timeout: 265 seconds]
18:35 < plexdev> http://is.gd/hmEZd by [Ian Lance Taylor] in go/src/cmd/6c/
-- 6c: automatically #define _64BIT.
18:38 < gmilleramilar> if I want to start up a netchan, send a message and
shut down, how do I make sure the message was sent?  The docs for Hangup say
"Messages in flight for the channel may be dropped"
18:41 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
265 seconds]
18:43 -!- DerHorst [~Horst@e176100030.adsl.alicedsl.de] has quit [Remote host
closed the connection]
18:45 -!- ucasano [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it]
has quit [Quit: ucasano]
18:47 -!- tensorpudding [~user@] has joined #go-nuts
18:52 < TheSeeker> Wait for an ack before hanging up?
18:53 -!- TheMue [~TheMue@p5DDF7C54.dip.t-dialin.net] has joined #go-nuts
18:54 -!- femtooo [~femto@95-89-197-196-dynip.superkabel.de] has quit [Quit:
18:57 -!- photron_ [~photron@port-92-201-222-234.dynamic.qsc.de] has quit [Ping
timeout: 264 seconds]
19:05 -!- rlab [~Miranda@] has quit [Ping timeout: 240 seconds]
19:05 -!- rlab [~Miranda@] has joined #go-nuts
19:14 -!- artefon [~thiagon@] has quit [Quit: Leaving]
19:24 -!- TheMue [~TheMue@p5DDF7C54.dip.t-dialin.net] has quit [Quit: TheMue]
19:25 -!- foocraft [~dsc@] has joined #go-nuts
19:26 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
19:40 -!- tav [~tav@] has quit [Ping timeout: 240 seconds]
19:45 -!- tav [~tav@] has joined #go-nuts
19:53 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
260 seconds]
19:57 -!- saschpe [~quassel@77-23-177-40-dynip.superkabel.de] has quit [Remote
host closed the connection]
20:01 -!- bmizerany [~bmizerany@] has joined #go-nuts
20:01 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
20:06 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has quit [Quit: Leaving.]
20:06 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
20:10 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
20:11 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has quit [Client Quit]
20:18 -!- sxs [~sxs@e180010170.adsl.alicedsl.de] has joined #go-nuts
20:18 < sxs> hi
20:20 < sxs> when i access a string by myString[5] what do i get
20:20 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
20:20 < sxs> i want the character at position 5
20:20 < taruti> sxs: the indexing starts at 0
20:21 < sxs> erm, sry.  ++ ;)
20:21 < sxs> does it returns ASCII?
20:21 < taruti> a byte
20:22 < sxs> when i fmt.Println it, it looks like the ASCII value.  but i
thought strings are utf8
20:22 < taruti> strings are in utf8
20:22 < sxs> how can i say: give my the character at index position i?
20:24 < taruti> sxs: cast it into an array of runes and index that
20:25 < taruti> sxs: or use IndexRune
20:25 < sxs> which package is Indexrune?
20:25 < taruti> sorry, not indexrune
20:28 < sxs> when i do bString := []byte(aString) -> i got the same, an
array with bytes, and their numbers looks like asscii codes.
20:29 < sxs> when i do a bString[i] == 'c' this works
20:29 < sxs> but when i put it to fm.Println it prints the int, i want the
character printed
20:29 -!- tcoppi
[~nuclear@57c3ed63-1294-45bd-a8e8-cdcc07cfa16f.static.grokthis.net] has joined
20:30 < TheSeeker> fmt.Println(string(bString[i])) ?
20:31 < tcoppi> so, if I send a channel over a netchan to a remote host, is
reading or writing to that channel from the remote host defined?
20:31 < taruti> sxs: then you want to either convert it to runes (not bytes)
or use the utf8 package
20:32 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has quit [Ping timeout:
255 seconds]
20:32 < sxs> thx TheSeeker.  thats it :)
20:33 < TheSeeker> may not behave as expected with multibyte chars, per
tcoppi's remark.
20:34 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
20:37 < sxs> ok.  first i only want to process ascii strings.  next step i
move to utf8.
20:38 -!- d_m [d6@SDF.ORG] has left #go-nuts []
20:40 < plexdev> http://is.gd/hn1Ee by [Ian Lance Taylor] in go/src/cmd/cgo/
-- cgo: Print required space after parameter name in wrapper function.
20:40 < plexdev> http://is.gd/hn1Es by [Ian Lance Taylor] in 2 subdirs of
go/src/ -- Makefiles: Don't define _64BIT now that 6c does it by default.
20:40 -!- fafhrd [~fafhrd@unaffiliated/fafhrd] has joined #go-nuts
20:40 < Namegduf> sxs: You need to use a function to index by rune, from the
utf8 package.
20:41 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
20:41 < Namegduf> Bear in mind that indexing by rune in a utf8 string takes
O(n) time, so if you do it a lot, storing the string as an array of ints, each a
character, may be cheaper in CPU.
20:42 < Namegduf> For strings which can be contained in ASCII, utf8 is the
same as ASCII, so it's no surprise that it looks like it
20:43 < sxs> when want to store them in an array of int, then i should use
an array of bytes or of uint32?
20:43 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has joined #go-nuts
20:43 < sxs> with bytes i should now it its a utf8 rune so i ca n'consume'
more than one byte, isn't it?
20:43 < Namegduf> You should use IndexRune.
20:44 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has quit [Client Quit]
20:44 < Namegduf> somestr[5] gets the fifth byte, not the fifth character.
20:44 < Namegduf> It can be the anythingeth character, including halfway
through one.
20:45 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has joined #go-nuts
20:46 < sxs> can't find IndexRune() in package utf8
20:47 -!- tav [~tav@] has quit [Ping timeout: 240 seconds]
20:49 < Namegduf> You might need to construct a String and use At.
20:50 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.3]
20:51 < fafhrd> What's with GOROOT and GOROOT_FINAL at installation time?
20:51 < fafhrd> From the description in the docs it sounds like _FINAL does
the job of DESTDIR (sorta) from GNU autotools
20:51 < fafhrd> but when I have GOROOT set to my temp build dir, and
GOROOT_FINAL set to where it's going to live, the build script is trying to rm -Rf
already installed binaries on my system ...  this is making packaging annoying and
20:52 < sxs> is there an EOF character in Go?
20:52 < fafhrd> the one it's trying to remove inparticular is quietgcc ...
i can appreciate the build wanting to use the newest interal version, but it
should be removing files off the installed system
20:52 -!- tav [~tav@] has joined #go-nuts
20:52 < fafhrd> s/should/shouldn't/
20:55 < fafhrd> is Go not really ready for packaging yet?  (I'd like to have
a real deb and ebuild on my debian and gentoo systems, but if it's not quite there
yet, I'll happily give up)
21:03 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has joined #go-nuts
21:04 -!- tobel [~tobel@pD9E8B52C.dip.t-dialin.net] has quit [Client Quit]
21:07 -!- tvw [~tv@e176005168.adsl.alicedsl.de] has quit [Remote host closed the
21:07 -!- skejoe [~skejoe@] has joined #go-nuts
21:11 < plexdev> http://is.gd/hn86Q by [Ken Thompson] in go/src/cmd/gc/ --
adjustable hash code in
21:17 -!- zozoR [~zozoR@5634798d.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
21:17 < sxs> bye
21:17 -!- sxs [~sxs@e180010170.adsl.alicedsl.de] has quit [Quit: sxs]
21:18 -!- virtualsue [~chatzilla@nat/cisco/x-nczgvfpzouvbuwjj] has quit [Ping
timeout: 276 seconds]
21:19 -!- virtualsue_ [~chatzilla@nat/cisco/x-qkarzgybbopbzoqb] has joined
21:26 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost
21:27 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
21:29 -!- boscop [~boscop@g226245092.adsl.alicedsl.de] has quit [Ping timeout: 240
21:29 -!- boscop [~boscop@g225201187.adsl.alicedsl.de] has joined #go-nuts
21:31 -!- pothos_ [~pothos@111-240-204-211.dynamic.hinet.net] has joined #go-nuts
21:32 -!- pothos [~pothos@111-240-220-37.dynamic.hinet.net] has quit [Read error:
Connection reset by peer]
21:33 -!- tcoppi
[~nuclear@57c3ed63-1294-45bd-a8e8-cdcc07cfa16f.static.grokthis.net] has left
#go-nuts []
21:33 -!- pothos_ [~pothos@111-240-204-211.dynamic.hinet.net] has quit [Read
error: Connection reset by peer]
21:33 -!- pothos [~pothos@111-240-204-211.dynamic.hinet.net] has joined #go-nuts
21:38 -!- Makoryu [~bloodgog@pool-71-174-191-10.bstnma.fios.verizon.net] has
joined #go-nuts
21:44 -!- sauerbraten [~sauerbrat@p508CF030.dip.t-dialin.net] has quit [Remote
host closed the connection]
21:50 -!- flix [~flix@APuteaux-152-1-22-229.w82-120.abo.wanadoo.fr] has joined
21:51 -!- flix [~flix@APuteaux-152-1-22-229.w82-120.abo.wanadoo.fr] has quit
[Client Quit]
21:57 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts
21:58 < cyounkins> Why would the gzip package not export the var that
specifies the size of the uncompressed data?  I need to know how large to make a
buffer for that uncompressed data.
22:08 < cyounkins> Is there a way to force access to an unexported field?
22:17 < wrtp> cyounkins: does gzip know that value?
22:18 < Namegduf> No.
22:18 < Namegduf> (To cyounkins's question)
22:18 < wrtp> after all you can do cat file | gzip > somewhere, so it
can't really
22:18 < wrtp> otherwise it would need to seek on its output, which it can't
in general
22:20 < Namegduf> Is it possible to tell until after it's decompressed?
22:20 < wrtp> exactly
22:21 < Namegduf> Even if you know the input size, I doubt that predicts
22:22 < wrtp> it certainly doesn't (e.g.  random data vs all 1s...)
22:22 < cyounkins> I'm talking about decompressing.  There is a gzip header
that specifies the size of the decompressed data.
22:23 < wrtp> presumably it's not always set.
22:23 < wrtp> in which case you're going to have to deal with the
unknown-size case anyway
22:23 < cyounkins> OK. I found ioutil.ReadAll() which works for what I need
22:26 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has quit
[Changing host]
22:26 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has joined #go-nuts
22:30 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Quit: Lost terminal]
22:34 -!- bmizerany [~bmizerany@] has quit [Remote host closed the
22:34 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
22:36 -!- bmizerany [~bmizerany@] has joined #go-nuts
22:38 -!- Venom_X [~pjacobs@] has quit [Quit: Venom_X]
22:41 -!- skejoe [~skejoe@] has quit [Quit: Lost terminal]
22:41 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has quit [Quit: Disappears
in a puff of smoke]
22:43 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has joined #go-nuts
22:44 -!- boscop [~boscop@g225201187.adsl.alicedsl.de] has quit [Quit:
OutOfTimeException: Allocation of TimeFrame failed due to lack of time.
22:46 -!- ShadowIce` [pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
22:52 -!- rlab [~Miranda@] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:52 < wrtp> cyounkins: as i thought, size is zero when output of gzip is a
22:54 -!- fafhrd1 [~fafhrd@rrcs-72-43-5-235.nys.biz.rr.com] has joined #go-nuts
22:55 -!- adg [~nf@124-149-41-bcast.dyn.iinet.net.au] has quit [Ping timeout: 272
22:55 < wrtp> actually it looks like decompressor is broken.  it failed on
my test file.
23:02 -!- virtualsue [~chatzilla@nat/cisco/x-qkarzgybbopbzoqb] has quit [Ping
timeout: 255 seconds]
23:08 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has quit [Ping timeout: 240
23:09 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has joined #go-nuts
23:12 < cyounkins> I'm trying to write a custom unmarshaller for JSON
encoding.  I have a function "func (n Nodes_used_t) UnmarshalJSON(data []byte)
os.Error", which I believe satisfies the interface, but json says "json: cannot
unmarshal object into Go value of type main.Nodes_used_t".  Suggestions?
23:13 -!- napsy [~luka@] has quit [Quit: Lost terminal]
23:15 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has quit [Ping timeout: 245
23:16 -!- weatherkid [~name@unaffiliated/weatherkid] has joined #go-nuts
23:16 < weatherkid> Hey, anyone alive>
23:16 < weatherkid> **?
23:20 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
23:20 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has joined #go-nuts
23:21 -!- devrim1 [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
23:22 < fafhrd1> I'm mostly alive
23:22 < fafhrd1> Go is killing me, though ;-)
23:22 < wrtp> braaains
23:23 -!- devrim1 [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Read error:
Connection reset by peer]
23:23 < weatherkid> fafhrd, I'm having issues compiling Go on Ubuntu 10.04.
Here is the last few line of debug off of my SSH client:
23:23 -!- devrim1 [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
23:24 < weatherkid> basicly it gets to the syslog package and shits itself
23:24 < weatherkid> when compiling
23:26 < weatherkid> oops
23:27 < weatherkid> fafhrd1 i mean
23:27 < weatherkid> ^
23:28 -!- awidegreen_ [~quassel@p5DF1F795.dip.t-dialin.net] has quit [Remote host
closed the connection]
23:46 -!- Project_2501 [~Marvin@] has quit [Quit: E se abbasso questa
leva che succ...]
23:47 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
23:49 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has joined #go-nuts
23:52 -!- mbohun [~user@ppp115-156.static.internode.on.net] has joined #go-nuts
--- Log closed Fri Nov 19 00:00:09 2010