--- Log opened Sun Feb 06 00:00:05 2011 00:06 -!- DerHorst [~Horst@e176106061.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 00:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 00:10 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Quit: Leaving] 00:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 00:13 -!- adu [~ajr@64.134.100.20] has quit [Quit: adu] 00:16 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 00:19 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 00:20 -!- DerHorst [~Horst@e176105178.adsl.alicedsl.de] has joined #go-nuts 00:22 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Ping timeout: 245 seconds] 00:23 -!- virtualsue [~chatzilla@nat/cisco/x-snygxkcclfcyzvta] has quit [Ping timeout: 255 seconds] 00:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 00:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 00:32 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 00:48 -!- wrtp [~rog@92.17.35.133] has quit [Quit: wrtp] 00:48 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 00:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 00:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 00:54 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has joined #go-nuts 01:00 -!- Scorchin [~Scorchin@host109-158-116-182.range109-158.btcentralplus.com] has quit [Quit: Scorchin] 01:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 01:10 -!- toyoshim [~toyoshim@y252189.dynamic.ppp.asahi-net.or.jp] has joined #go-nuts 01:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 01:12 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 01:23 -!- DerHorst [~Horst@e176105178.adsl.alicedsl.de] has quit [Remote host closed the connection] 01:24 -!- creack [~charme_g@163.5.84.215] has quit [Ping timeout: 240 seconds] 01:26 -!- tav [~tav@92.7.116.65] has quit [Ping timeout: 240 seconds] 01:27 -!- tav [~tav@92.7.127.183] has joined #go-nuts 01:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 01:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 01:32 -!- creack [~charme_g@163.5.84.215] has joined #go-nuts 01:46 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 01:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 01:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 02:01 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Ping timeout: 245 seconds] 02:06 < erus_> just found the eval stuff in pkg/exp 02:06 < erus_> this is cool 02:07 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 02:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 02:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 02:11 -!- Project-2501 [~Marvin@82.84.81.169] has quit [Quit: E se abbasso questa leva che succ...] 02:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 02:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 02:35 -!- niemeyer [~niemeyer@189.30.48.133] has quit [Ping timeout: 240 seconds] 02:36 -!- boscop [~boscop@f055204211.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 02:36 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has joined #go-nuts 02:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 02:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 02:52 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 02:57 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 03:07 -!- erus_ [519f126f@gateway/web/freenode/ip.81.159.18.111] has quit [Ping timeout: 245 seconds] 03:07 -!- KingPhilroy [~kingphilr@shc-nat-newhall.stonehill.edu] has quit [Remote host closed the connection] 03:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 03:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 03:12 -!- niemeyer [~niemeyer@189.30.48.133] has joined #go-nuts 03:18 -!- shvntr [~shvntr@123.88.131.155] has joined #go-nuts 03:27 -!- Magnade [~Magnade@unaffiliated/magnade] has joined #go-nuts 03:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 03:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 03:37 < jodaro> wow 03:37 < jodaro> sitting down to write code after reading docs for a week 03:37 < jodaro> comes out pretty fast 03:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 03:49 -!- _jgr [~jgr@CPE-123-211-173-81.lnse3.woo.bigpond.net.au] has quit [Read error: Connection reset by peer] 03:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 04:01 -!- nutate [~rseymour@cpe-76-171-28-231.socal.res.rr.com] has joined #go-nuts 04:08 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Quit: Leaving] 04:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 04:11 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 04:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 04:22 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 04:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 04:37 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 04:48 -!- rbraley [~rbraley@ip72-222-134-229.ph.ph.cox.net] has quit [Ping timeout: 240 seconds] 04:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 04:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 04:51 -!- nettok [~quassel@200.119.158.13] has joined #go-nuts 04:55 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 04:56 -!- niemeyer [~niemeyer@189.30.48.133] has quit [Ping timeout: 240 seconds] 05:04 -!- rbraley [~rbraley@ip72-222-134-229.ph.ph.cox.net] has joined #go-nuts 05:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 05:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 05:11 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has joined #go-nuts 05:12 -!- pai [~CrazyThin@unaffiliated/mosva] has joined #go-nuts 05:12 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 05:13 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 05:23 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has joined #go-nuts 05:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 05:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 05:36 < chee> golang is c-- 05:36 < chee> in a good way 05:38 < adu> hi 05:39 < adu> chee: are you new? 05:39 < adu> Go, strictly speaking, has way more features than C 05:40 < nsf> but syntax is simpler 05:40 < nsf> in that sense it is c-- 05:40 < |Craig|> its c where you (the coder) do less, not c with less 05:41 < adu> nsf: it's still pretty complicated 05:41 < nsf> adu: no it's not 05:41 < adu> nsf: for example, x.y could be: (1) qualified identifier (2) method expression (3) struct selector 05:42 < nsf> compare it to C++ 05:42 < adu> o it's so much simpler than C++, for sure 05:42 < taruti> don't think about C++ 05:42 < taruti> except as a warning on how not to do things 05:43 < adu> nsf: compared to C it's certainly more consistent on certain things 05:43 < adu> like all type-information goes on the right 05:43 < adu> in C, type-info can go on either side of an variable/identifier 05:44 < adu> or around (in the case of function pointers) 05:44 < nsf> adu: hehe, not in a memory management part, I did a prototype of an autocompletion daemon for C, it works way better than gocode (in a sense of memory consumption). 05:45 < nsf> and as for now, I don't think garbage collector is a valid solution to any memory management problem 05:45 < nsf> :\ 05:45 < taruti> the go garbage collector is not yet good 05:45 < adu> I don't see why zones/pools aren't popular 05:45 < nsf> taruti: it doesn't matter 05:45 < nsf> .NET GC is considered as good 05:46 < nsf> but I've seen C#-based games written in XNA 05:46 < nsf> they eat 1 gig of memory for practically no reason 05:46 < nsf> of course one might say, that this is a programmer's fault 05:46 < adu> both Mac and Linux have these things called "malloc zones" which let you do whatever you want with a certain part of a sectioned-off part of the heap, and using that method, you can have some zones GC'd, and some zones RC'd, and some zones manually managed 05:47 < adu> why is this not the way people to MM? 05:48 < nsf> but it's actually a duality kind of thing.. on one side you have a low skill requirement for a programmer (e.g. fairy tale: "memory management solved"), on the other hand GC apps are always heavy on memory 05:48 < nsf> so.. and I'm sure the same thing will be with Go 05:48 < nsf> no miracles, sorry 05:48 < adu> I believe in balance 05:49 < nsf> exactly, there have to be a balance, between an amount of job done by programmer and by the tool he/she uses 05:49 -!- nettok_ [~quassel@200.119.162.206] has joined #go-nuts 05:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 05:50 < nsf> GC just makes some of us think, that they don't have to manage their own memory 05:50 < nsf> it's a false idea 05:50 < adu> and I think it would be natural to do something like "pool := GCPool()" or "pool := RCPool()" then use "pool.new" in the first case, and "pool.new" and "pool.free" in the second case 05:50 < nsf> nah.. I think GC should die 05:51 < nsf> at least in schools we need to teach programmers about memory management 05:51 < adu> GC is the only logical solution to provide a memory-leak free browser 05:51 < nsf> with things like Java and Python 05:51 < nsf> i don't know 05:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 05:52 -!- jotham [~jotham@unaffiliated/jotham] has joined #go-nuts 05:52 < adu> if JavaScript required memory management, then browsers would have so many more leaks 05:52 < nsf> adu: GC is good at certain things, I agree.. I can't imagine javascript without GC, but for a systems programming language 05:52 < jotham> thought i'd turn the logo into an animation ... heh http://fieldsofnoise.org/waltster.html 05:52 -!- nettok [~quassel@200.119.158.13] has quit [Ping timeout: 260 seconds] 05:52 < adu> nsf: are you involved with the standard go compiler in any way? 05:52 < jotham> needs the speed lines though 05:53 < nsf> adu: no, I'm just a very enthusiastic user :) 05:53 < adu> nsf: well, I thought about some changes I would like, one of them would be replacing the built-in functions with built-in methods 05:54 < adu> that way you could implement your own new() function 05:54 < nsf> adu: hehe, I know that go devs would disagree with you 05:54 < adu> probably 05:54 < adu> which is why I'm writing my own compiler 05:54 < nsf> I wanted to do that too 05:55 < nsf> because mostly what I like about Go is syntax 05:55 < adu> I've already got a parser: http://hackage.haskell.org/package/language-go 05:55 < nsf> and I wanted some kind of C with that syntax 05:55 < nsf> e.g. without GC and channels 05:55 < adu> nsf: that's what I'm calling "Go--" 05:55 < adu> nsf: would you like to help me define "Go--"? 05:55 < nsf> but then I realized, that I'm not that good to handle such a big project 05:55 < nsf> adu: no, sorry :) 05:56 < adu> why not? 05:56 < nsf> I'm working on an autocompletion daemon for the C right now 05:56 < nsf> I did one for Go already :D 05:56 < adu> where is it? 05:56 < nsf> https://github.com/nsf 05:56 < nsf> https://github.com/nsf/gocode - Go 05:56 < nsf> https://github.com/nsf/ccode 05:57 < nsf> C :) 05:57 < adu> cool 05:57 < adu> ooo gollvm :) 05:58 < nsf> gollvm is quite dumb port of the C api 05:58 < adu> i see 05:58 < nsf> as README says, it is possible to do more 05:58 < nsf> like trying to mimic C++'s inheritance model, for the sake of type safety 05:58 < nsf> C api is much more simplificated in that sense 05:58 < adu> nsf: then can I get some ideas from you about what might be in go--? 05:59 < nsf> sure 05:59 < nsf> I can tell you at least about the most important things 05:59 < adu> some things I'm thinking of removing are: builtin-functions, interfaces, builtin-maps, select-stmt, type-switch-stmt 05:59 < adu> I think methods would be useful even without interfaces 06:00 < dforsyth> why do you want to remove maps? 06:00 < nsf> 1. context-insensitive grammar, 2. modules system 06:00 < nsf> these two are the most important ones 06:00 < nsf> then you have to decide about pointer arithmetic 06:00 < nsf> and slices 06:01 < nsf> because without GC, maybe these actually make sense 06:01 < adu> dforsyth: because they are a special case of generics, and one of the extensions I'm planning to include is generics 06:01 < nsf> although I'm not sure how slices would look like 06:02 < nsf> and I'm very skeptical about generics 06:02 < nsf> _VERY_ 06:02 < nsf> :) 06:02 < adu> yes, as you should be 06:02 < nsf> also, don't make too many features 06:02 < adu> generics doesn't belong in go 06:02 < nsf> for example there is a language called Boo 06:02 < nsf> it's a .NET based language 06:02 * taruti wishes Go-proper would get generics 06:02 < adu> but it might belong in go-- + extensions :) 06:03 < nsf> basically its development just went into a feature overload 06:03 < nsf> and as in D, there is no valid documentation, etc. 06:03 < nsf> very bad sign for a language 06:03 -!- jotham [~jotham@unaffiliated/jotham] has left #go-nuts [] 06:04 < nsf> adu: also, I think interfaces can be implemented easily without GC 06:04 < nsf> but there is a bad side too 06:04 < adu> how would you make your (1) happen? 06:04 < nsf> in Go they are too easy to use 06:05 < nsf> uhm.. 06:05 < nsf> Go has nice grammar 06:05 < adu> yes, interface{} is basically void* 06:05 < nsf> adu: the problem with interfaces, that people tend to overuse them for no reason 06:05 < adu> interface{} specifically 06:05 < nsf> yes 06:06 < adu> are you saying that Go is not context-insensitive? 06:06 < adu> and if so, how would you make it context-insensitive? 06:06 < nsf> it is 06:06 < nsf> I'm just saying that keeping things that way is important 06:06 < adu> oh ok 06:06 < nsf> one of the biggest C mistakes is a context-sensitive grammar 06:07 < adu> I'm not going to add ANYTHING to go--, only removals 06:07 < adu> the additions are going to be called language extensions 06:07 < nsf> well, that's a good thing 06:07 < nsf> I guess 06:07 < adu> which will probably be some kind of compiler flag 06:07 < adu> like -XInterfaces if I model it after GHC 06:07 < nsf> I would remove channels and goroutines 06:08 < taruti> why remove goroutines? 06:08 < adu> I was considering that too, but I haven't made up my mind 06:08 < taruti> threads are still needed 06:08 < nsf> maybe.. maybe these are a good abstraction, but I haven't seen a proof for that 06:08 < adu> lambdas are a must, even in go-- 06:08 < taruti> go is just a fancy name for "spawn a new thread" 06:08 < nsf> threads are required yes, and OS supports them 06:08 < nsf> but goroutines is not a thread 06:09 < nsf> goroutines require a very good scheduler within a runtime 06:09 < nsf> and frankly it's not that easy to accomplish 06:09 < taruti> e.g. in gccgo goroutine = thread 06:09 < nsf> for example in Go 06:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 06:09 < nsf> there are many apps, that simply run slower with GOMAXPROCS > 1 06:10 < nsf> on a multicore machine 06:10 < nsf> it says two things: 06:10 < nsf> 1. probably a bad abstraction that misleads a programmer, 2. bad scheduler implementation 06:10 < nsf> of course maybe I'm wrong about that 06:10 < nsf> but that's what I've seen so far 06:11 < nsf> easy to use - yes 06:11 < nsf> good performance wise - no 06:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 06:11 < nsf> and abstraction problem too 06:11 < adu> ya, I'm pretty sure replacing "go f(x)" with pthread_run or something would work, maybe not as fast, but it would work 06:12 < nsf> taruti: and that too, yes, you see Go allows different implementations of goroutines 06:12 < |Craig|> I wrote something that ran faster with GOMAXPROCS > 1, but then I have to avoide using go routines and channels in the rest of the code in that project 06:12 < nsf> but that leads to a very serious incompatibilities 06:13 < adu> nsf can you give me an example? 06:13 < nsf> of what? 06:13 < adu> incompatibilities? 06:14 < nsf> well, it should be obvious isn't it.. app that uses hundreds of goroutines will work nicely more or less on 6g and will suck on gccgo 06:14 < nsf> this area is very sensitive performance wise 06:14 < adu> oh that's an optimization problem, not an incompatibility 06:15 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has quit [Ping timeout: 245 seconds] 06:15 < nsf> it is an incompatibility 06:15 < adu> how so? 06:15 < nsf> it's like having two different GCs 06:15 < nsf> I heard some stories about java people 06:15 < nsf> who had optimized their projects for one GC 06:16 < nsf> and then boom, here goes a different GC 06:16 < nsf> everything breaks 06:16 < adu> breaks? 06:16 < adu> or becomes slow? 06:16 < nsf> well, is running not as expected 06:17 < nsf> I assume it is about memory consumption and performance, yes 06:17 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 06:18 < adu> ok, so what about your (2) module system, what would you change about that? 06:18 < nsf> what I'm trying to say, that you can't give performance sensitive areas into to the hands of compiler implementors 06:18 < nsf> adu: one sec 06:19 < nsf> so.. we've seen actually that in C++ too 06:19 < nsf> STL 06:19 < nsf> different compilers have different implementations 06:19 < nsf> and people tend to create their own 06:19 < adu> nsf: so you would remove "go" and channels, for that reason? 06:19 < nsf> simply because they want stable behaviour 06:19 < nsf> GC and channels 06:19 < adu> ah 06:19 < nsf> "go" is syntax 06:19 < nsf> and goroutines 06:19 < nsf> :) 06:19 < adu> so is type-case, but I'm removing that 06:20 < nsf> ok, now about modules 06:20 < adu> yes 06:20 < nsf> modules is actually an implementation detail, but an important one 06:20 < nsf> just take a look at current Go approach and D's too 06:20 < nsf> I don't know how they implement them 06:20 < nsf> but apparently these implementations are good enough :) 06:21 < nsf> for providing fast compilation 06:21 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has joined #go-nuts 06:21 < adu> well, the "only-include-what-you-use" rule helps with that 06:22 < adu> and also proper includes (big problem in C) 06:22 < nsf> yep 06:22 < nsf> basically any module system is better than C approach 06:22 < adu> I remember hearing some big project found that system includes like stdio was being included an average of 12 times per file 06:23 < adu> but because of the include gaurds 11 of those includes did nothing 06:23 < nsf> the bigger problem with C actually is context-sensitivity in grammar 06:23 < nsf> #include <stdio.h> #include <myheader.h> 06:23 < nsf> #include <myheader.h> #include <stdio.h> 06:23 < nsf> leads to two different ASTs 06:23 < nsf> can lead to* 06:24 < nsf> and therefore you can't cache them in a reliable way 06:24 < nsf> well, actually some caching can be done 06:24 < nsf> but yet.. no one does it for some reason 06:24 < adu> apple does 06:24 < nsf> I've seen some experiments in clang, yes 06:24 < nsf> but it's 2009-2011 06:25 < nsf> it's a bit too late for that :D 06:25 < nsf> anyways 06:25 < adu> xcode automatically generates .pch files by default 06:25 < nsf> it's all about correct data structures, dependencies management and performance 06:26 < nsf> http://macton.smugmug.com/gallery/8966729_SSA7c#595848343_NzpGQ <- a few interesting thoughts on a linker problem 06:26 < nsf> btw, this guy has a lot of stuff written about concurrency as well 06:27 < nsf> in general I think it's a good thing to listen people from console game development about concurrency 06:27 < nsf> they know stuff :D 06:27 < nsf> http://cellperformance.beyond3d.com/articles/2009/08/roundup-recent-sketches-on-concurrency-data-design-and-performance.html 06:28 < nsf> ok, that's enough information for today :D 06:28 < nsf> adu: pch is the only solution that people use today more or less, yes 06:29 < nsf> sadly it's not trivial to use 06:29 < nsf> compiler should do the caching automatically 06:29 < adu> yes, I don't know how to do the same thing in linux 06:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 06:29 < nsf> exactly, within an IDE it's an easy thing 06:30 < nsf> but other than that.. for example cmake refuses to support pch 06:30 < adu> interesting 06:30 < nsf> because there is no way to make a portable interface for that 06:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 06:40 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts 06:45 < adu> nsf those slides were weird 06:45 < nsf> adu: they are not easy to understand 06:47 < adu> i don't see how the gateway helps 06:47 < adu> how do you make a queue on the gateway without increment? 06:48 < nsf> uhm.. 06:48 < nsf> you can't 06:48 < nsf> but the thing is 06:49 < nsf> gateway is kind of collects the increment requests 06:49 < nsf> and then makes _one_ write to a shared data 06:49 < adu> how does it sequence them? 06:49 < nsf> it doesn't matter isn't it? 06:49 < adu> is it blocking I/O based? 06:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 06:50 < nsf> adu: I have no idea, there is no implementation 06:50 < nsf> the main point here 06:50 < adu> or does the gateway round-robin through the increment requests? 06:50 -!- illya77 [~illya77@123-79-112-92.pool.ukrtel.net] has joined #go-nuts 06:50 < adu> that part was very unclear 06:50 < nsf> is that concurrency requires special data design technique 06:50 < nsf> like you have to answer more questions 06:50 < nsf> about ordering 06:50 < nsf> frequencies 06:50 < nsf> etc. 06:51 < nsf> adu: as far as I understand 06:51 < nsf> gateway just communicates through multiple queues with requestors 06:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 06:52 < nsf> queue is easy to do if you know that you'll have one reader/one writer 06:52 < adu> yeah i guess 06:52 < nsf> and the gateway thing is just how can you cheat 06:52 < nsf> you have multiple writers, but because ordering is not important 06:52 < nsf> you can combine them that way 06:53 < adu> i think threads would have been a better abstraction than "go" 06:53 < nsf> threads are an abstraction that is here for a long time 06:53 < nsf> in the OS 06:53 < adu> yes 06:54 < nsf> the problem Go addresses 06:54 < nsf> is their limits 06:54 < adu> limits? 06:54 < nsf> like creating a thread requires you to allocate a space for a stack 06:54 -!- nutate [~rseymour@cpe-76-171-28-231.socal.res.rr.com] has quit [Quit: nutate] 06:54 < adu> right 06:54 < nsf> thread context switch is costly, etc. 06:54 < nsf> therefore you simply can't use one thread per connection model 06:55 < nsf> for example in a http server 06:55 < adu> what is this "stackless" thing I keep hearing about? 06:55 < nsf> python has a stackless version 06:55 < adu> so is it heap-only? 06:55 < adu> or register-only? 06:55 < nsf> well, it's not the main point 06:56 < nsf> frankly I have no idea about internals :) 06:56 < adu> ok :) 06:56 < nsf> I know more about goroutines than stackless python 06:57 < nsf> in go there is a simply different stack model than in C 06:57 < adu> do you think go-- should require semicolons? 06:57 < nsf> which allows you to have many goroutines 06:57 < nsf> adu: maybe, maybe not, I don't care 06:57 < nsf> it took two days to get back to writing C code with semicolons 06:57 < nsf> after 6 months of writing go code 06:58 < nsf> (in my case) 06:58 < nsf> so.. not an issue I think :) 06:58 < adu> I forsee people writing converters that strip semicolons off, so they can read it better, so maybe keep auto-insertion 06:58 < adu> ok 06:58 < nsf> Go has semicolons too 06:58 < nsf> in grammar 06:58 < adu> i know, but no one uses them 06:58 < nsf> yes, parses creates them for you 06:59 < nsf> automatically inserts, yes 06:59 < adu> anyways, automatic semicolon insertion is already implemented in my parser, so I'm not worried about it 06:59 < nsf> well, it's for you to decide I have no opinion on that 06:59 < adu> I'm really confused about Go's stack usage 06:59 < nsf> Go has a dynamic stack 06:59 < nsf> no stack overflows 06:59 < nsf> ever 07:00 < adu> ya, very confused 07:00 < adu> doesn't that just mean inc/dec of the base pointer? 07:00 < nsf> I have no idea 07:00 < nsf> how it's implemented 07:00 < adu> that's how it is on x86 07:00 < nsf> I know that function calling convention is special 07:00 < nsf> because of that 07:01 < adu> the first thing I tried to do to "look into it" was to compile some functions with 6g, and disasm them 07:02 < nsf> hehe 07:02 < adu> but I was thwarted by complete absence of any symbols! 07:02 -!- nettok [~quassel@200.119.157.218] has joined #go-nuts 07:02 < adu> so I didn't know where the functions started 07:02 < adu> so I couldn't locate the instructions of interest 07:02 < adu> so I gave up 07:02 < nsf> but if don't use goroutines, fixed-size stack is not a big problem 07:02 < nsf> if you* 07:02 < adu> I've heard it's just a problem with nm, that there's a special nm function to use 07:02 < adu> and a special objdump 07:02 < nsf> 6nm 07:03 < nsf> not sure about objdump 07:03 < adu> is there a special objdump? 07:03 < adu> i use otool on macosx 07:03 < adu> gcc binutils' objdump doesn't understand mach-o files, otool does 07:04 < adu> it really pisses me off that gc-produced binaries have no symbols 07:04 < adu> sorry, that was mean 07:05 -!- nettok_ [~quassel@200.119.162.206] has quit [Ping timeout: 240 seconds] 07:05 < nsf> :) 07:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 07:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 07:15 < adu> nsf: 6nm worked! http://pastie.org/1533203 07:16 < nsf> good 07:16 < adu> so that's the calling convention 07:17 < adu> it looks like every function starts with if (!stack_is_initialize) initialize_stack() 07:17 < adu> i might be interpreting that wrong tho 07:18 < adu> it would be if (first_time) get_stack() 07:18 < adu> might be... 07:19 < nsf> maybe 07:22 < adu> nsf: what do you think about the interplay between modules and capitalization? 07:23 < nsf> nothing :) 07:23 < nsf> hiding stuff it's a team work issue 07:23 < nsf> I have small amount experience in that area :) 07:24 < nsf> amount of* 07:24 < nsf> well, also it's a linker problem maybe 07:24 < nsf> like internal non-exposed functions 07:24 < nsf> in C "static" works for me 07:25 < nsf> not sure I need something like Go's or C++'s public/private 07:25 < nsf> I know one real big project where people do #define private public 07:25 < nsf> simply because it's too late to fix all the issues 07:25 < nsf> :\ 07:26 < adu> lol 07:26 < nsf> that's all I think, e.g. a pile of weird thoughts 07:28 < adu> i think that the go name doesn't have to be the same as the linker name 07:29 < adu> like you could have: func __asm__("puts") PutString() 07:29 < adu> i believe gccgo has something like that 07:29 < nsf> linker issues are an implementation detail 07:29 < adu> which reminds me I was going to try gccgo on ubuntu 07:29 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 07:30 < nsf> what I mean is the case 07:30 < nsf> where you have two modules 07:30 < nsf> and both have let's say private function 07:30 < nsf> starts_with 07:30 < nsf> you can handle it in two ways 07:30 < nsf> prefixing the function with something 07:30 < nsf> or completely hiding it 07:30 < adu> like static 07:31 < nsf> yeah 07:31 < nsf> so.. some kind of visibility mechanism makes sense 07:31 < nsf> be it a keyword 07:31 < nsf> or naming convention 07:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 07:39 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 07:47 -!- tav [~tav@92.7.127.183] has quit [Ping timeout: 240 seconds] 07:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 07:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 07:53 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 240 seconds] 07:54 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 07:55 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 07:55 -!- wtfness [~dsc@dyn-86-36-43-113.wv.qatar.cmu.edu] has joined #go-nuts 08:01 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 08:06 -!- tav [~tav@92.7.79.91] has joined #go-nuts 08:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 08:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 08:25 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 08:25 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 08:25 -!- gmilleramilar [~gmiller@38.104.67.234] has quit [Ping timeout: 240 seconds] 08:26 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 240 seconds] 08:27 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 08:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 08:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 08:33 -!- gmilleramilar [~gmiller@38.104.67.234] has joined #go-nuts 08:33 -!- gits [~gits@77.94.219.158] has joined #go-nuts 08:36 -!- d3mn0id [~daniel@41.16.59.231] has joined #go-nuts 08:36 < d3mn0id> chee, sup 08:44 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 08:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 09:01 -!- nettok [~quassel@200.119.157.218] has quit [Ping timeout: 265 seconds] 09:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 09:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 09:13 -!- gits [~gits@77.94.219.158] has quit [Ping timeout: 260 seconds] 09:17 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 255 seconds] 09:18 -!- gits [~gits@77.94.219.158] has joined #go-nuts 09:18 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 09:19 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has joined #go-nuts 09:27 -!- kashia_ [~Kashia@2001:0:53aa:64c:0:3260:b017:9550] has quit [Ping timeout: 260 seconds] 09:27 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has quit [Quit: adu] 09:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 09:30 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 240 seconds] 09:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 09:33 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 09:36 -!- DerHorst [~Horst@e176105178.adsl.alicedsl.de] has joined #go-nuts 09:41 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts 09:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 09:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 09:54 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 09:58 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has quit [Remote host closed the connection] 10:03 -!- Project_2501 [~Marvin@82.84.88.163] has joined #go-nuts 10:04 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has quit [Ping timeout: 245 seconds] 10:06 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has joined #go-nuts 10:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 10:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 10:12 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts 10:14 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 250 seconds] 10:14 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 10:15 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 10:19 -!- vasu [~vasu@202.63.112.184] has joined #go-nuts 10:20 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 10:22 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving] 10:22 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 10:26 -!- napsy [~luka@88.200.96.18] has quit [Client Quit] 10:28 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 10:29 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-155-101.clienti.tiscali.it] has joined #go-nuts 10:29 < taruti> Has anyone extended "flag" for custom types? 10:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 10:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 10:31 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 10:32 -!- Project_2501 [~Marvin@82.84.88.163] has quit [Ping timeout: 255 seconds] 10:35 -!- dRbiG [drbig@unhallowed.pl] has quit [Read error: Operation timed out] 10:36 -!- dRbiG [drbig@unhallowed.pl] has joined #go-nuts 10:37 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving] 10:37 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 10:37 -!- napsy [~luka@88.200.96.18] has quit [Client Quit] 10:38 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 10:39 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Quit: WeeChat 0.3.4] 10:39 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts 10:41 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has quit [Ping timeout: 246 seconds] 10:41 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has joined #go-nuts 10:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 10:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 10:58 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 245 seconds] 11:00 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 11:08 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 240 seconds] 11:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 11:10 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 11:11 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-155-101.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 11:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 11:12 -!- dju [dju@fsf/member/dju] has quit [Quit: Quitte] 11:15 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 250 seconds] 11:16 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 11:22 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 11:24 -!- vasu [~vasu@202.63.112.184] has quit [Remote host closed the connection] 11:24 -!- wrtp [~rog@92.17.35.133] has quit [Client Quit] 11:26 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 11:27 -!- wrtp [~rog@92.17.35.133] has quit [Client Quit] 11:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 11:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 11:32 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Ping timeout: 240 seconds] 11:33 < nsf> taruti: but flag supports custom types 11:33 < nsf> see type flag.Value and func flag.Var 11:37 < taruti> ah, didn't notice those :) 11:42 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 11:43 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 11:45 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Max SendQ exceeded] 11:46 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving] 11:46 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 11:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 11:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 11:55 -!- CrazyThinker [~CrazyThin@unaffiliated/mosva] has joined #go-nuts 11:56 -!- pai [~CrazyThin@unaffiliated/mosva] has quit [Ping timeout: 240 seconds] 11:58 -!- Pai [~CrazyThin@unaffiliated/mosva] has joined #go-nuts 12:01 -!- CrazyThinker [~CrazyThin@unaffiliated/mosva] has quit [Ping timeout: 240 seconds] 12:04 -!- d3mn0id [~daniel@41.16.59.231] has quit [Quit: Leaving] 12:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 12:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 12:16 < taruti> hmm, strip -s makes 6g binaries *larger* 12:19 < nsf> taruti: there is a special app for stripping Go binaries afair 12:20 < nsf> or an undocumented linker flag 12:20 < nsf> or something like that 12:20 < aiju> 6l -s strips off the symbols 12:20 < nsf> yeah, here it is 12:20 < nsf> :) 12:21 < aiju> strips of 500 KB ofhello world 12:21 < aiju> +f 12:22 < KBme> that's pretty good, how big is hello world? 12:22 * KBme tries it 12:22 < aiju> 1.3 MB without -s 12:22 < aiju> 827 KB with it 12:23 < aiju> (8l, not 6l) 12:23 < KBme> yeah, that's pretty good 12:24 < taruti> 3.1M -> 1.6M for a real app 12:24 < taruti> now how to make that a default in the makefiles 12:24 < aiju> well, it'll make debugging funnier 12:27 < aiju> it might also cause problems with panic 12:28 < taruti> panics work just fine 12:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 12:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 12:33 -!- Pai [~CrazyThin@unaffiliated/mosva] has quit [Quit: Pai] 12:36 < aiju> Go hello world is 1000 times bigger than V6 hello, world 12:36 < aiju> advances of software development 12:37 < KBme> and we probably have trilion times the memory they had 12:38 < taruti> I think it is much more relevant how program size grows 12:39 < taruti> rather than hello world size 12:39 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts 12:39 < aiju> well, it sums up 12:40 < aiju> i have 125 binaries in /bin, if all of them were written in Go, that'd like 200 MB 12:41 < KBme> aiju: also, you use a dynamically linking system (i'm pretty sure) 12:41 < aiju> all binaries in V6 /bin are about one fifth of Go hello world! 12:42 < KBme> V6 is static right? 12:42 < aiju> yes 12:42 < KBme> yeah, well, go does have more abstractions than C, especially V6 c.. 12:42 < Ina> aiju, 200 MB is nothing on today's HDDs, though. 12:42 < KBme> a GC 12:43 < KBme> it could be nice to have a VM-like so one instance of the GC could do the work for all go programs running on a system, but that sounds complicated to do.. 12:44 < aiju> Ina: reminds me of something ken said 12:44 -!- sacho [~sacho@82.137.66.18] has joined #go-nuts 12:44 < aiju> "the state of a hard disk is always full" or something like that 12:44 < KBme> true dat 12:45 < Ina> I mean, It's less than 0.1% of a one TB HDD, which are pretty common these days 12:45 < aiju> *"The steady state of disks is full" 12:45 < aiju> Ina: i have a 60 GB HDD in my laptop 12:45 < aiju> i don't think wealth is an excuse for waste 12:46 < Ina> aiju, how old is your laptop? 12:46 < aiju> 2003; but that doesn't matter, i still use it 12:47 < Ina> Yeah, well... that means your laptop is, quite frankly, severely outdated. 12:47 < aiju> i just don't throw hardware out because it's another season 12:47 < Ina> Technology marches on, this isn't about wealth, this is about staying up to date. 12:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 12:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 12:57 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping timeout: 246 seconds] 12:59 -!- erus_ [519f126f@gateway/web/freenode/ip.81.159.18.111] has joined #go-nuts 13:03 -!- coud [~coud@81.25.16.87] has joined #go-nuts 13:07 -!- boscop [~boscop@f050133141.adsl.alicedsl.de] has joined #go-nuts 13:07 -!- wtfness [~dsc@dyn-86-36-43-113.wv.qatar.cmu.edu] has quit [Ping timeout: 240 seconds] 13:09 -!- erus_ [519f126f@gateway/web/freenode/ip.81.159.18.111] has quit [Ping timeout: 245 seconds] 13:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 13:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 13:14 -!- adu [~ajr@64.134.68.100] has joined #go-nuts 13:15 < adu> i have a question 13:15 < adu> how does 6g distinguish between packages, types and structs? 13:16 -!- TheMue [~TheMue@p5DDF7347.dip.t-dialin.net] has joined #go-nuts 13:24 -!- tav_ [~tav@92.7.79.91] has joined #go-nuts 13:25 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 13:26 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 255 seconds] 13:28 -!- tav [~tav@92.7.79.91] has quit [Ping timeout: 260 seconds] 13:28 -!- shvntr [~shvntr@123.88.131.155] has quit [Quit: leaving] 13:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 13:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 13:39 -!- tensorpudding [~user@99.23.127.179] has quit [Remote host closed the connection] 13:42 -!- visof [~visof@unaffiliated/visof] has quit [Read error: Connection reset by peer] 13:49 -!- toyoshim [~toyoshim@y252189.dynamic.ppp.asahi-net.or.jp] has quit [Ping timeout: 255 seconds] 13:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 13:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 13:53 < taruti> Is anyone running a community go-doc instance? 13:56 < adu> I downloaded part of golang.org, does that count? 14:01 < adu> i guess it doesn't, 6g seems to store everything as a &ast.SelectorExpr{x, y} 14:03 < KBme> taruti: anyone know why sandbox.js isn't in the distribution? 14:03 < KBme> oops, that wasn't really directed at taruti 14:04 < KBme> adu: why download it when you have the exact copy in the distribution? 14:04 < KBme> except playground.js 14:09 -!- Scorchin [~Scorchin@host86-148-115-27.range86-148.btcentralplus.com] has joined #go-nuts 14:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 14:11 -!- niemeyer [~niemeyer@189.30.48.133] has joined #go-nuts 14:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 14:15 -!- toyoshim [~toyoshim@y252189.dynamic.ppp.asahi-net.or.jp] has joined #go-nuts 14:21 -!- Darkmush [badaimer@unaffiliated/darkmush] has joined #go-nuts 14:22 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 14:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 14:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 14:33 -!- wrtp [~rog@92.17.35.133] has quit [Read error: Connection reset by peer] 14:33 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 14:43 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a868:af3:b289:8c5c] has joined #go-nuts 14:49 -!- adu [~ajr@64.134.68.100] has quit [Quit: adu] 14:50 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving] 14:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 14:51 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 14:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 14:58 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 14:58 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So Long, and Thanks for All the Fish] 14:58 -!- adu [~ajr@64.134.68.100] has joined #go-nuts 14:58 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 265 seconds] 15:02 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 15:04 -!- adu [~ajr@64.134.68.100] has quit [Quit: adu] 15:04 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has joined #go-nuts 15:05 -!- niemeyer [~niemeyer@189.30.48.133] has quit [Ping timeout: 240 seconds] 15:06 -!- virtualsue [~chatzilla@2001:470:92f1:0:226:bbff:fe10:3d1a] has joined #go-nuts 15:10 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts 15:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 15:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 15:13 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 260 seconds] 15:22 -!- wrtp [~rog@92.17.35.133] has quit [Quit: wrtp] 15:22 -!- boscop [~boscop@f050133141.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 15:24 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 15:24 -!- boscop [~boscop@f050133141.adsl.alicedsl.de] has joined #go-nuts 15:26 < dario_> type string does not satisfy type interface{} ? 15:27 < aiju> sure it does 15:28 < aiju> even my cat satisfies interface{} 15:28 < dario_> thats what i thought, but 8g says "cannot use splittet[:] (type []string) as type []interface { } in function argument" 15:28 < KBme> and interface{} satisfies my cat 15:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 15:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 15:33 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 15:34 -!- wrtp [~rog@92.17.35.133] has quit [Client Quit] 15:35 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has joined #go-nuts 15:42 -!- waqas [~waqas@jaim.at] has joined #go-nuts 15:45 -!- virtualsue [~chatzilla@2001:470:92f1:0:226:bbff:fe10:3d1a] has quit [Ping timeout: 272 seconds] 15:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 15:50 -!- virtualsue [~chatzilla@93-97-176-250.zone5.bethere.co.uk] has joined #go-nuts 15:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 15:56 -!- erus_ [519f11be@gateway/web/freenode/ip.81.159.17.190] has joined #go-nuts 16:01 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 16:03 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 16:04 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has quit [Remote host closed the connection] 16:07 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Max SendQ exceeded] 16:07 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 16:08 -!- jhawk28_ [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 16:08 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Read error: Connection reset by peer] 16:09 -!- virtualsue [~chatzilla@93-97-176-250.zone5.bethere.co.uk] has quit [Ping timeout: 246 seconds] 16:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 16:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 16:14 -!- jhawk28_ [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Ping timeout: 265 seconds] 16:20 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 16:25 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 16:29 -!- gits [~gits@77.94.219.158] has quit [Ping timeout: 245 seconds] 16:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 16:31 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has quit [Read error: Connection reset by peer] 16:31 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has joined #go-nuts 16:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 16:38 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 16:44 -!- _nil [~caine@c-24-147-65-44.hsd1.ma.comcast.net] has quit [Read error: Connection reset by peer] 16:49 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 16:50 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has quit [Quit: adu] 16:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 16:50 -!- virtualsue [~chatzilla@2001:470:92f1:0:226:bbff:fe10:3d1a] has joined #go-nuts 16:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 16:58 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 17:01 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 17:07 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 17:10 -!- erus_ [519f11be@gateway/web/freenode/ip.81.159.17.190] has quit [Ping timeout: 245 seconds] 17:10 -!- wrtp [~rog@92.17.35.133] has joined #go-nuts 17:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 17:10 -!- wrtp [~rog@92.17.35.133] has quit [Client Quit] 17:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 17:13 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit: Leaving...] 17:21 -!- niemeyer [~niemeyer@189.30.48.133] has joined #go-nuts 17:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 17:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 17:36 -!- jackzh [~jackzh@58.47.159.223] has quit [Ping timeout: 246 seconds] 17:41 -!- nettok [~quassel@200.119.170.139] has joined #go-nuts 17:43 -!- erus_ [519f11be@gateway/web/freenode/ip.81.159.17.190] has joined #go-nuts 17:43 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has joined #go-nuts 17:47 -!- coudX [~coud@81.25.16.87] has joined #go-nuts 17:47 -!- coudX [~coud@81.25.16.87] has quit [Read error: Connection reset by peer] 17:47 -!- coud [~coud@81.25.16.87] has quit [Read error: Connection reset by peer] 17:48 < erus_> Is there any docs about using the crypto stuff? 17:48 < erus_> the package test only seems to write a single block 17:49 < taruti> erus_: yes, use crypto/cipher. 17:50 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has joined #go-nuts 17:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 17:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 17:53 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has joined #go-nuts 18:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 18:12 < KBme> there is also go software you can take example from 18:12 -!- napsy [~luka@88.200.96.18] has quit [Quit: leaving] 18:12 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 18:12 -!- Viriix [~joseph@c-24-130-195-91.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 18:14 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 18:18 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 18:19 -!- cde [~cde@unaffiliated/cde] has joined #go-nuts 18:19 < cde> hi 18:22 < cbeck> Howdy 18:22 < aiju> cde: are you related to the vms gui? :) 18:23 < cde> nope, sorry 18:30 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 18:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 18:34 < erus_> are channels unbuffered by default? 18:35 < nsf> erus_: yes 18:35 < TheMue> depends on your make statement 18:36 < TheMue> as long as you just make it w/o another param it's unbuffered 18:36 < erus_> if I do make(chan int, 1000000) will that use loads of memory, or allocate as its used? 18:36 < Namegduf> Loads of memory. 18:36 < erus_> damn 18:37 < aiju> there should be infinitely buffered chans imho 18:37 < TheMue> why do you need such a buffer size? 18:37 < nsf> erus_: you can always use two channels and a linked list in between them 18:37 < waqas> You can create an infinitely buffered chain yourself using a goroutine which does just that 18:37 < nsf> exactly 18:37 < aiju> so much work :P 18:37 < nsf> and that will be slower than a good queue implementation 18:37 < erus_> im sending all my pixels_to_be_traced down a channel so the worker threads can recv them when they are free 18:37 < nsf> but whatever 18:38 < nsf> erus_: but what's wrong with unbuffered channel 18:38 < nsf> ? 18:38 < nsf> renderer sends pixels and blocks 18:38 < waqas> erus_: Ray tracing? That's traditionally done on an area larger than a single pixel per thread. 18:38 < nsf> worker when free, takes pixel and proceeds 18:39 < erus_> it might send two pixels before any worker threads aer free to process them 18:39 < erus_> waqas: I know i just wanna get it working first 18:39 < nsf> and yeah, some people actually use multiple rays in a single SSE algorithm 18:39 -!- virtualsue [~chatzilla@2001:470:92f1:0:226:bbff:fe10:3d1a] has quit [Ping timeout: 245 seconds] 18:39 < nsf> erus_: it can't 18:39 < erus_> nsf: and the first would be lost? 18:39 < nsf> the channel is blocking 18:40 < nsf> by default 18:40 < nsf> renderer will be blocked if there is no receiver on the other side 18:40 < erus_> ah 18:40 < Namegduf> Nothing in a channel gets lost 18:40 < erus_> thats handy 18:40 < Namegduf> If the buffer is full, the sender blocks 18:40 < Namegduf> If there is no buffer, the sender always blocks. 18:41 < Namegduf> Until there's a reader. 18:42 < erus_> no need to worry then :) 18:42 < erus_> Is there a for range ( int ) like in python? 18:43 < nsf> erus_: no 18:43 < nsf> use C-like 18:43 < nsf> for i := 0; i < N; i++ { 18:43 < Namegduf> There's a for x := range <channel> { 18:43 < Namegduf> But not a Python-like range over an int. 18:45 < aiju> not just channels, also arrays, slices and maps 18:49 < skelterjohn> you could write a Range(n int) (ch int) function :) 18:50 < nsf> yeah, and forget about performance 18:50 < erus_> its slower using 4 cores and channels than using 1 core and no channels :P 18:50 < nsf> skelterjohn: he's writing a ray tracer! 18:50 < skelterjohn> right - this is a bad idea 18:50 < erus_> i need to split up these rays 18:50 < skelterjohn> sorry, i should have made that clear 18:50 < nsf> erus_: in Go it could be 18:51 < nsf> imho Go is a bad choice for a raytracer 18:51 < nsf> channels won't help 18:51 < nsf> and you can easily make a simple queue in C and use threads 18:51 < nsf> but ok, try Go 18:51 < skelterjohn> can each pixel be rendered independent of each other pixel? 18:51 < Namegduf> erus_: That's no surprise. 18:51 < aiju> concurrency in Go isn't as much about parallelism as about a cleaner way to write programs 18:51 < nsf> skelterjohn: yes, that's why GPUs are so fast 18:51 < nsf> shared data is usually read-only 18:52 < Namegduf> Go makes concurrency fast and simple, but it's still concurrency and channels and communication still have overhead. 18:52 < nsf> although they don't do ray tracing 18:52 < skelterjohn> nsf - GPUs generally don't do ray tracing 18:52 < Namegduf> Sending a pixel at a time will always be horribly slow. 18:52 < nsf> but pixel and vertex shading is the same idea 18:52 < nsf> GPUs actually do one pixel at a time :) 18:53 < skelterjohn> but, it was more of a point than a question. if ray tracing is something where each pixel is independent, and a go program splitting it among 4 cores runs slower, then the go program is written incorrectly 18:53 < Namegduf> Yeah. 18:53 < Namegduf> They need to be sent in large enough batches that the time processing them dwarfs communication. 18:54 < Namegduf> That's one way to reduce the huge communication overhead. 18:54 < erus_> i can do it concurrently without channels 18:54 < erus_> this should be quicker 18:55 < skelterjohn> what do the channels bring, in this situation? 18:55 < erus_> easy ques 18:55 < erus_> que 18:55 < skelterjohn> queues 18:55 < skelterjohn> :) 18:56 < erus_> that looked wrong :P 18:56 < aiju> simply use large enough blocks then you should be fine with channels 18:56 < nsf> you can do all that in C 18:56 < nsf> or C++ 18:57 < nsf> and testing the ray tracer will be slower than compilation anyway :D 18:57 < skelterjohn> a queue is more useful when you have data coming in while you're doing calculations. in this problem, you've got all the data at the beginning 18:57 < erus_> but I like go 18:57 < erus_> i can embed structs 18:57 < taruti> doing it in Go is fine :) 18:57 < skelterjohn> i'm not sure why nsf is suggesting C :) 18:57 < nsf> because I like C 18:58 < nsf> I did a ray tracer in C in the past 18:58 < nsf> well, not a ray tracing renderer 18:58 < nsf> but a ray tracing lightmap generator :) 18:58 < erus_> reverse ray tracer 18:58 < nsf> http://www.youtube.com/watch?v=gv_yMwhjlzU 18:58 < nsf> an early video 18:58 < nsf> it's unfinished anyway 18:59 < aiju> skelterjohn: what would you suggest? 18:59 < aiju> python? :P 18:59 < skelterjohn> i wouldn't suggest anything 18:59 < erus_> global illumination makes my head hurt 18:59 < skelterjohn> people use w hatever language they like 19:00 < aiju> write a raytracer in X++ and get a cookie 19:00 < skelterjohn> but we're in a go channel 19:00 -!- gastal [~gastal@186.214.48.80] has joined #go-nuts 19:00 < nsf> erus_: at the end I had a nice 1-2 bounces photon-based thing 19:00 < nsf> was working kind of 19:00 < nsf> but I stuck at packing lightmaps to a texture 19:01 < gastal> Why doesn't gotest work with "include $(GOROOT)/src/Make.cmd" but works with "include $(GOROOT)/src/Make.pkg"? 19:01 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 19:01 < nsf> erus_: I've just realized that I can't do it at the same level as this guy: http://www.rendertotexture.com/index.php?view=gallery 19:01 < exch> gotest is for packages, not for executables. They can easily contain their own test code 19:02 < nsf> erus_: his packing is very amazing 19:02 < exch> packages dont have any main() bits, so the gotest suit is there to give it to you with minimal effort 19:02 < skelterjohn> exch: I heard that the reason "main" is going to be allowed as a package name was to allow gotesting of executable code 19:02 < exch> interesting 19:02 < exch> not sure I would ever need that though 19:02 < aiju> what exactly does gotest do? 19:03 < gastal> I would find it much more convinient to be able to test my executables with gotest.... 19:03 < skelterjohn> it scans the _test.go files for Test*() and Benchmark*() functions 19:03 < erus_> packing algos make my head hurt. I like the ones that use a physics based approach with repelling forces and stuff 19:03 < skelterjohn> and creates a _testmain.go that invokes them 19:03 < nsf> erus_: yeah, like zerglings crowd management in starcraft 2 19:03 < skelterjohn> erus_: those have local maxima issues 19:03 < nsf> they are very good at packing :) 19:04 < nsf> blizzard uses some kind of fluid simulation for that 19:07 -!- gastal [~gastal@186.214.48.80] has quit [Remote host closed the connection] 19:09 -!- erus_ [519f11be@gateway/web/freenode/ip.81.159.17.190] has quit [Ping timeout: 245 seconds] 19:11 -!- Project_2501 [~Marvin@82.84.72.235] has joined #go-nuts 19:14 -!- erus_ [56ae55f2@gateway/web/freenode/ip.86.174.85.242] has joined #go-nuts 19:14 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has joined #go-nuts 19:16 -!- niemeyer [~niemeyer@189.30.48.133] has quit [Ping timeout: 240 seconds] 19:16 < erus_> am i doing something stupid here: http://pastie.org/1534690 19:17 < erus_> the higher thread count is the longer it takes to run 19:17 < erus_> 1 is fastest 19:18 -!- skelterjohn-phon [~skelterjo@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 19:18 -!- skelterjohn-phon [~skelterjo@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Client Quit] 19:18 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has quit [Remote host closed the connection] 19:22 < skelterjohn> erus_: perhaps some memory thrashing issue? 19:22 < waqas> Is there a community wiki or something for Go? 19:23 < skelterjohn> what are you looking for, exactly? 19:23 < skelterjohn> what kind of information? 19:23 < waqas> More content to read. Nothing in particular. 19:23 < skelterjohn> you know about the mailing list? 19:24 < waqas> Went through a lot of that actually 19:24 < skelterjohn> the go blog? 19:25 < waqas> Finished 19:25 < skelterjohn> heh 19:25 < waqas> ;) 19:25 < skelterjohn> i can't think of any other resources 19:25 < skelterjohn> maybe go-lang.cat-v.org 19:25 < waqas> Many of the packages lack docs. I was hoping for some easy to find usage examples of text, etc. 19:25 < waqas> The tests would have to do I suppose 19:26 < skelterjohn> oh a good place to look for taht, actually, is in the package's _test.go files 19:26 < skelterjohn> oh 19:26 < skelterjohn> well then. 19:29 < waqas> Does anyone know the status of gccgo on windows? 19:31 < aiju> hopefully dead 19:31 < waqas> :) 19:31 < waqas> I want to try Go for a new project, but it involves making dynamic lib, and has to be cross-platform 19:32 < aiju> why does it involve dynamic pain^Wlibs? 19:32 < skelterjohn> gonna be tough 19:32 < zozoR> python ftw? :P 19:33 < jumzi> start with trying Go for smaller projects imo :P 19:33 < waqas> aiju: Addon for a larger project I'm involved in (Lua). Basically a Lua library. 19:33 < Namegduf> waqas: You cannot make a dynamic library loadable from C, if that's what you're wanting to do. 19:33 < waqas> Namegduf: I did. I think I read that you can in fact do that using gccgo. 19:33 < Namegduf> Doesn't work with the Go runtime. 19:33 < Tonnerre> ITYM Python wtf 19:33 < waqas> I could be wrong. I'm quite new to Go. 19:34 < Namegduf> You might be able to make dynamic libraries, but not loadable from C, I believe. 19:35 < waqas> That's sad. I might just make it a separate process, with a bit of IPC over sockets. Go's concurrency/etc is really attractive. 19:45 < waqas> If I can't embed Go in the application, I'll just embed the application in Go. Should be interesting :) 19:51 < erus_> Are there any Updog client packages for go yet? 19:57 < skelterjohn> ... 19:58 -!- salty-horse [~ori@bzq-79-181-6-163.red.bezeqint.net] has joined #go-nuts 20:01 -!- femtooo [~femto@95-89-197-149-dynip.superkabel.de] has joined #go-nuts 20:04 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 20:06 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 20:12 -!- nettok_ [~quassel@200.119.179.174] has joined #go-nuts 20:13 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 20:14 -!- nettok [~quassel@200.119.170.139] has quit [Ping timeout: 240 seconds] 20:23 -!- decaf [~mehmet@95.10.172.95] has joined #go-nuts 20:26 -!- illya77 [~illya77@123-79-112-92.pool.ukrtel.net] has quit [Quit: illya77] 20:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 20:32 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 20:35 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 20:39 < Xenith> So I know float was removed in favor of explicit float types. Is the same thing planned to happen to int and unint? 20:40 < aiju> seems unlikely to me 20:42 < aiju> also, unint sounds like an interesting type 20:42 < aiju> i should use it for a potential esoteric language 20:44 < jodaro> its like the uncola 20:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 20:52 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 20:57 -!- dancek [~hthartik@kekkonen.cs.hut.fi] has joined #go-nuts 20:57 -!- gits [~gits@77.94.219.158] has joined #go-nuts 20:58 < Xenith> anti-int 20:58 < Xenith> Never shall the two meet 21:00 -!- waqas [~waqas@jaim.at] has left #go-nuts [] 21:01 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 21:02 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has joined #go-nuts 21:02 -!- femtooo [~femto@95-89-197-149-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 21:05 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 21:06 -!- femtoo [~femto@95-89-197-149-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 21:06 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-172-48.clienti.tiscali.it] has joined #go-nuts 21:10 -!- Project_2501 [~Marvin@82.84.72.235] has quit [Ping timeout: 255 seconds] 21:11 -!- artefon [~thiago@189.59.186.203.dynamic.adsl.gvt.net.br] has joined #go-nuts 21:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 21:13 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 21:28 -!- jdp [~jdp@24.238.32.162.res-cmts.segr.ptd.net] has joined #go-nuts 21:30 -!- Kunkka [~kristian@mivacukor.lha.sgsnet.se] has quit [Remote host closed the connection] 21:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 21:33 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 21:34 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 21:35 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a868:af3:b289:8c5c] has quit [Quit: Leaving.] 21:43 -!- erus_ [56ae55f2@gateway/web/freenode/ip.86.174.85.242] has quit [Quit: Page closed] 21:49 < exch> I need to keep track of a forked() process. Specifically I want to be notified when it dies. I have no access to the internals of the app, just its pid. I suppose it's easiest to just do a regular poll for the pid in the process list in a goroutine? 21:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 21:53 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 21:54 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 21:54 -!- millergarym [~chatzilla@203-219-89-242.static.tpgi.com.au] has quit [Read error: Connection reset by peer] 21:58 < jnwhiteh> exch: you can just Wait on it 21:58 < jnwhiteh> if you spawned it through Go 21:59 < exch> mm true 21:59 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has joined #go-nuts 21:59 -!- rickard2 [~rickard@netra.esec.du.se] has quit [Quit: byta server, hej!] 22:02 -!- gits [~gits@77.94.219.158] has quit [Quit: Leaving] 22:03 -!- Scorchin [~Scorchin@host86-148-115-27.range86-148.btcentralplus.com] has quit [Quit: Scorchin] 22:06 -!- jdp [~jdp@24.238.32.162.res-cmts.segr.ptd.net] has quit [Remote host closed the connection] 22:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 22:12 -!- TheMue [~TheMue@p5DDF7347.dip.t-dialin.net] has quit [Quit: TheMue] 22:12 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-172-48.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 22:13 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 22:13 -!- sav [~lsd@189001136104.usr.predialnet.com.br] has quit [Quit: Leaving] 22:16 -!- adu [~ajr@pool-173-79-54-138.washdc.fios.verizon.net] has quit [Quit: adu] 22:17 -!- lvh [~lvh@python/psf/lvh] has joined #go-nuts 22:17 < lvh> Hello! 22:17 < lvh> I noticed that map only needs equality, not hashability. Is it internally an association list? 22:18 -!- cafesofie [~cafesofie@ool-4a5978f2.dyn.optonline.net] has joined #go-nuts 22:18 < Namegduf> It's a hashtable. 22:18 < lvh> So it actually *does* require hashability. Is hashability considered an essential part of equality? 22:19 < lvh> (I'll gladly read docs if you can point me to the appropriate ones.) 22:19 < jumzi> its on the website 22:19 < jumzi> www.golang.org 22:19 < Namegduf> As equality is only defined for built-in types, there is no possibility of having a type have equality defined but not a hash method. 22:19 < lvh> Well, yes, I had found that much. 22:20 < lvh> Err, to jumzi. 22:20 < exch> lack of equality for custom types is (afaik) the main reason why you can't use custom types as map keys 22:20 < lvh> I see. 22:21 < lvh> Thanks, guys :-) 22:21 < exch> eg: you can't define hash functions for custom types (yet) 22:21 -!- lvh [~lvh@python/psf/lvh] has left #go-nuts [] 22:22 < exch> You can use a pointer to a custom type as a map key, but that's a tricky and potentially dangerous proposition 22:26 < exch> Is there any reason why os.Wait(pid, 0) wouldn't actually wait? 22:26 < exch> It keeps returning immediately, eventhough the process is still very much alive :< 22:29 < KBme> what does a "stopped" process do? 22:29 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 22:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 22:32 < KBme> exch: aren't you supposed to give it an option like os.WNOHANG etc? 22:33 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 22:33 < exch> tried that. No change 22:34 < exch> WNOHANG is supposed to return immediately. according to the docs anyway 22:34 < exch> "Don't wait if no process has exited." 22:34 < exch> Which just seems odd 22:34 < KBme> heh yea 22:34 < exch> why wait if the process /has/ exited 22:35 < KBme> is there a system where you can specify the pid of a created process? 22:36 < exch> the Fork() stuff just returns the pid assigned by the system 22:36 < KBme> yeah, that would be silly 22:37 < KBme> dunno, haven't tried the process stuff yet. 22:38 -!- DerHorst [~Horst@e176105178.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:48 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 22:51 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 22:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 22:53 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 22:56 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:57 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit [Quit: JusticeFries] 22:57 -!- salty-horse [~ori@bzq-79-181-6-163.red.bezeqint.net] has quit [Quit: Leaving] 23:02 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:03 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 23:05 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 23:06 -!- artefon [~thiago@189.59.186.203.dynamic.adsl.gvt.net.br] has quit [Read error: Connection reset by peer] 23:11 -!- jodaro [~user@70-36-136-156.dsl.dynamic.sonic.net] has quit [Ping timeout: 245 seconds] 23:15 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 23:16 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 23:18 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 23:18 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 23:18 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 23:19 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 23:20 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 23:21 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts 23:22 -!- itrekkie [~itrekkie@ip72-211-129-122.tc.ph.cox.net] has joined #go-nuts 23:22 -!- waqas [~waqas@jaim.at] has joined #go-nuts 23:28 < waqas> How do I convert 'type CharData []byte' to a string? 23:29 < exch> string(myslice) 23:30 < exch> with that custom typoe, you may have to convert to []byte first 23:30 < waqas> string([]byte(x))? 23:31 < waqas> Works, thanks 23:31 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:32 -!- erus_ [56ae55f2@gateway/web/freenode/ip.86.174.85.242] has joined #go-nuts 23:32 < erus_> where does cgo look for header files if you run it without a makefile? 23:33 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 23:34 -!- jdp [~jdp@nj-76-6-38-194.dhcp.embarqhsd.net] has joined #go-nuts 23:44 < erus_> ok nevermind 23:44 < erus_> wtf do i do with all the files cgo produces 23:45 < exch> nothing, they will go away when you make clean 23:45 < erus_> how do i build a pkg with 8l? 23:46 < erus_> oh god they make it so tied to make 23:48 < waqas> I gave up on trying to make cgo/make for now. I'll try again when I'm more awake. 23:48 < waqas> Make them work that is 23:51 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:53 < erus_> just gonna have to install cygwin at work tmo 23:53 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 23:57 -!- erus_ [56ae55f2@gateway/web/freenode/ip.86.174.85.242] has quit [Ping timeout: 245 seconds] --- Log closed Mon Feb 07 00:00:05 2011