--- 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@87.60.23.38] 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@67.218.104.238] 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: itrekkie] 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@87.60.23.38] has quit [Read error: Connection reset by peer] 00:57 -!- krutcha [~krutcha@remote.icron.com] has quit [Quit: Leaving] 00:58 -!- mikespook [~mikespook@58.61.201.77] 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: Leaving.] 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@74.61.90.217] has joined #go-nuts 01:06 -!- Venom_X_ [~pjacobs@74.61.90.217] has quit [Client Quit] 01:06 -!- felipe [~felipe@my.nada.kth.se] has quit [Quit: felipe] 01:08 -!- Venom_X [~pjacobs@66.54.185.131] 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@208.66.27.62] has quit [Remote host closed the connection] 01:25 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 01:27 -!- slashus2 [~slashus2@74-141-107-118.dhcp.insightbb.com] has quit [Quit: slashus2] 01:31 -!- cco3-hampster [~conleyo@nat/google/x-mkgesqjtrkhahuiu] has quit [Quit: Leaving.] 01:32 -!- tsykoduk [~tsykoduk@184.78.195.79] has quit [Ping timeout: 245 seconds] 01:33 -!- tsykoduk [~tsykoduk@184.78.195.79] 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: EXEC_over.METHOD_SUBLIMATION] 01:53 -!- ios_ [~ios@180.191.41.170] has joined #go-nuts 01:53 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 02:09 -!- iant [~iant@67.218.104.238] 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@180.191.41.170] has quit [Ping timeout: 240 seconds] 02:34 -!- tav [~tav@92.7.137.44] has quit [Ping timeout: 255 seconds] 02:39 -!- tav [~tav@92.7.72.167] 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 types 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@180.191.39.164] 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 #go-nuts 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@66.183.108.186] has joined #go-nuts 04:20 -!- itrekkie [~itrekkie@ip72-200-114-63.tc.ph.cox.net] has quit [Quit: itrekkie] 04:25 -!- watr__ [~watr@66.183.108.186] has joined #go-nuts 04:25 -!- watr__ [~watr@66.183.108.186] has quit [Remote host closed the connection] 04:30 -!- watr_ [~watr@66.183.108.186] has quit [Ping timeout: 272 seconds] 04:32 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:37 -!- ios_ [~ios@180.191.39.164] has quit [Read error: Connection reset by peer] 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@72.225.239.227] 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@38.70.70.115.static.exetel.com.au] has joined #go-nuts 05:22 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 255 seconds] 05:23 -!- enherit [~enherit@71-83-188-75.dhcp.lnbh.ca.charter.com] has joined #go-nuts 05:27 -!- grai [~grai@38.70.70.115.static.exetel.com.au] has quit [Quit: leaving] 05:27 -!- devrim [~Adium@72.225.239.227] 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: leaving] 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 returned 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@78.138.171.130] 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: http://pastebin.com/B93Ez5h8 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@78.138.171.130] 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 program? 06:13 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 240 seconds] 06:14 -!- iant [~iant@216.239.45.130] 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 #go-nuts 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 seconds] 06:32 < |Craig|> thus, there will be no reason to do concurrent modifications 06:33 < |Craig|> incase anyone wants it, the source is here: https://github.com/Craig-Macomber/Grains--Vegetarian-Zombie-Rising/blob/master/Server/iterSet.go 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 some 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 int)} 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? :) cool 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 chan 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 sidetracked 06:58 < |Craig|> can someone help me understand why this code (parallel reading) seems to drop/miss some some items sometimes> http://dpaste.com/276723/ 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> http://groups.google.com/group/golang-nuts/browse_thread/thread/a99fc97cdff773d7/9543e5106d1f9300?lnk=gst&q=starvation#9543e5106d1f9300 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 #go-nuts 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 aparently 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 occur 07:51 < krutcha> unless there is a 2 step process getting the data to a reader 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 read 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, broken!~ 07:57 < krutcha> but once it's closed for one, it's closed for all 07:57 -!- ExtraSpice [~XtraSpice@88.118.33.48] 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@82.84.79.101] 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 #go-nuts 08:09 < krutcha> tried it this way but it crashes: http://dpaste.com/276740/ 08:09 < krutcha> not sure why? 08:12 -!- bookses [~John@173.224.212.236] 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 block 08:28 -!- bookses [~John@173.224.212.236] 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: Leaving] 08:45 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:58 -!- tensorpudding [~user@99.148.202.191] has quit [Remote host closed the connection] 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@212.79.9.150] has joined #go-nuts 09:37 -!- wrtp [~rog@92.17.75.221] has joined #go-nuts 09:39 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined #go-nuts 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 #go-nuts 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 seconds] 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@212.79.9.150] has quit [Remote host closed the connection] 10:36 -!- tvw [~tv@212.79.9.150] 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 #go-nuts 10:42 -!- iant [~iant@216.239.45.130] 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@91.200.158.34] 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@216.239.45.130] has joined #go-nuts 10:53 -!- mode/#go-nuts [+v iant] by ChanServ 11:07 -!- bookses [~John@123.138.25.208] has joined #go-nuts 11:08 -!- bookses [~John@123.138.25.208] 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@87.60.23.38] has joined #go-nuts 11:14 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined #go-nuts 11:26 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has quit [Ping timeout: 265 seconds] 11:32 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined #go-nuts 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@189.59.180.113.dynamic.adsl.gvt.net.br] has joined #go-nuts 12:27 -!- mcot_ [~mcot@pool-71-171-113-161.clppva.fios.verizon.net] has joined #go-nuts 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@123.138.25.208] has joined #go-nuts 12:36 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Quit: Leaving] 12:39 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 245 seconds] 12:39 -!- mikespook [~mikespook@58.61.201.77] has quit [Remote host closed the connection] 12:45 -!- ExtraSpice [~XtraSpice@88.118.33.48] 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@78.101.147.68] has quit [Remote host closed the connection] 13:25 -!- foocraft [~dsc@78.101.147.68] 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 #go-nuts 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@189.59.180.113.dynamic.adsl.gvt.net.br] has quit [Quit: bye] 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@78.101.147.68] has quit [Quit: Leaving] 14:26 -!- vegai [vegai@archlinux/developer/vegai] has quit [Ping timeout: 276 seconds] 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@123.138.25.208] has quit [Ping timeout: 255 seconds] 14:46 -!- ucasano_ [~ucasano@host153-182-static.227-95-b.business.telecomitalia.it] has joined #go-nuts 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@151.53.51.93] has joined #go-nuts 15:00 -!- tav [~tav@92.7.72.167] has quit [Ping timeout: 240 seconds] 15:03 -!- DerHorst [~Horst@e176100030.adsl.alicedsl.de] has joined #go-nuts 15:05 -!- luruke [~luruke@151.53.51.93] has quit [Quit: Leaving] 15:06 -!- tav [~tav@92.7.71.109] has joined #go-nuts 15:11 -!- lmoura [~lauromour@187.113.175.203] has quit [Remote host closed the connection] 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: Verlassend] 15:26 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has quit [Ping timeout: 245 seconds] 15:27 -!- wrtp [~rog@92.17.75.221] has quit [Ping timeout: 240 seconds] 15:29 -!- lmoura [~lauromour@187.113.175.203] has joined #go-nuts 15:32 -!- noktoborus_ [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 15:35 -!- wrtp [~rog@92.17.75.221] has joined #go-nuts 15:36 -!- ExtraSpice [~XtraSpice@88.118.33.48] 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@88.118.33.48] has joined #go-nuts 15:58 -!- tvw [~tv@212.79.9.150] 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@66.54.185.131] 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@150.164.2.20] 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@61.57.131.211] has joined #go-nuts 16:41 -!- kanru [~kanru@61.57.131.211] 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@87.60.23.38] has quit [Remote host closed the connection] 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 #go-nuts 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 #go-nuts 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 #go-nuts 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: Leaving] 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 #go-nuts 17:48 -!- ShadowIce` [pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 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 #go-nuts 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@99.148.202.191] 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: Leaving] 18:57 -!- photron_ [~photron@port-92-201-222-234.dynamic.qsc.de] has quit [Ping timeout: 264 seconds] 19:05 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds] 19:05 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 19:14 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving] 19:24 -!- TheMue [~TheMue@p5DDF7C54.dip.t-dialin.net] has quit [Quit: TheMue] 19:25 -!- foocraft [~dsc@78.101.147.68] has joined #go-nuts 19:26 -!- cyounkins [~cyounkins@CMU-415893.WV.CC.CMU.EDU] has joined #go-nuts 19:40 -!- tav [~tav@92.7.71.109] has quit [Ping timeout: 240 seconds] 19:45 -!- tav [~tav@92.24.229.169] 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@208.66.27.62] 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 #go-nuts 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@92.24.229.169] 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 difficult 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@92.7.92.66] 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 connection] 21:07 -!- skejoe [~skejoe@188.114.142.231] 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 #go-nuts 21:26 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost terminal] 21:27 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 21:29 -!- boscop [~boscop@g226245092.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 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 #go-nuts 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 output. 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@208.66.27.62] has quit [Remote host closed the connection] 22:34 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts 22:36 -!- bmizerany [~bmizerany@208.66.27.62] has joined #go-nuts 22:38 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X] 22:41 -!- skejoe [~skejoe@188.114.142.231] 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. Terminating...] 22:46 -!- ShadowIce` [pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:52 -!- rlab [~Miranda@91.200.158.34] 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 pipe 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 seconds] 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 seconds] 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@88.200.96.18] has quit [Quit: Lost terminal] 23:15 -!- danslo [~daniel@s5593965d.adsl.wanadoo.nl] has quit [Ping timeout: 245 seconds] 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: Leaving.] 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: http://pastebin.com/bYfAZa1N 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@82.84.79.101] 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