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

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