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

--- Log opened Tue Nov 17 04:13:15 2009
04:13 < Ycros> absurdh: yeah, I don't find speed an issue with bzr these
days
04:13 -!- xuser [n=xuser@unaffiliated/xuser] has left #go-nuts []
04:13 <+agl> kuroneko: I mean it's a hg plugin to push/pull from a git
server.  I'm looking for a git command to push/pull from an hg server.
04:14 -!- agl [n=agl@72.14.229.81] has quit ["Leaving"]
04:15 -!- devyn [n=devyn@S01060013d4130071.vc.shawcable.net] has left #go-nuts []
04:15 < kuroneko> agl: the thing is, you can stage through hg this way
04:15 < kuroneko> remember, DVCS is for dealing with multiple upstreams.
04:16 < kuroneko> so you pull from upstream as hg, push to your local git
repo
04:16 < kuroneko> work in git.
04:16 -!- Fraeon_ [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
04:16 < kuroneko> I'm giving it a shot right now to verify that it works ,
but so far so good.
04:17 < Ycros> kuroneko: yeah, I've worked like that in some projects in the
past - but using bzr
04:18 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
04:18 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
04:19 < ericmoritz\0> Ycros, I never noticed bzr being slow either and I've
been using it for a while.  Everyone seems to give that excuse
04:20 -!- drusepth` [n=drusepth@76.211.88.252] has quit [Read error: 110
(Connection timed out)]
04:20 < Ycros> ericmoritz\0: it used to be, a long time ago
04:20 < kuroneko> I find compared to git, it still is.
04:20 < kuroneko> it's not that it's in the too slow to use basket - it
isn't.
04:21 < kuroneko> it's just slower than an alternative which I'm equally (or
more) comfortable with using
04:21 < Ycros> kuroneko: yeah, it used to be much slower than hg though -
and hg is also written in Python
04:21 -!- halfdan_ [n=halfdan@p57A96706.dip.t-dialin.net] has joined #go-nuts
04:22 < kuroneko> my biggest upset with git is that chunks of git are
written in sh
04:22 < kuroneko> which makes putting it onto anything non-unixish
non-trivial
04:23 < kuroneko> but now we have go, we'll have to write a go
implementation of git!
04:23 -!- strohman [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has quit
[Read error: 110 (Connection timed out)]
04:23 -!- strohman_ is now known as strohman
04:23 < kuroneko> with no shell bits!
04:23 < kuroneko> *cough*
04:23 < kuroneko> sorry, I'll be good now.  :)
04:23 < kuroneko> ok, hg-git is a little slow.
04:23 -!- drusepth [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
04:23 < kuroneko> pushing all of the hg history has taken 5 minutes CPU time
so far, and it's only about 70% done
04:24 -!- assiss [n=assiss@219.143.144.229] has joined #go-nuts
04:24 * Ycros goes back to writing more tests
04:26 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
04:27 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Read error: 131
(Connection reset by peer)]
04:27 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
04:29 -!- thakis [n=thakis@c-71-198-222-88.hsd1.ca.comcast.net] has joined
#go-nuts
04:30 < uriel> kuroneko: there are implementations of both hg and git in
Limbo already, should be easy to translate them to Go
04:31 < kuroneko> somebody did git in limbo?
04:31 < Jerub> Trying to do things faster by using more than one version
control system seems to be a solution at odds with the goal.
04:31 < soul9> i don't think so, only mercurial
04:31 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has joined #go-nuts
04:31 < soul9> kuroneko: there is mercurial in limbo.
04:32 < uriel> kuroneko: it was a gsoc project this summer
04:32 < kuroneko> oh, hahahahahaha.  :)
04:32 < kuroneko> hg-git, to push, builds a little git repo in .hg/git
04:32 < uriel> but I think mercurial is more mature, mjl has been working
hard at it for the last year
04:33 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Read error: 113 (No route to host)]
04:33 < kuroneko> the commit history is intact in the push target though
04:33 < jgoebel> cool
04:33 < jgoebel> added a replace method :)
04:33 * jgoebel pasted http://pastie.textmate.org/private/p70h12x2hsglvbk27dug
04:33 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
04:33 < jgoebel> i love temates built in support to pastie to channel :)
04:34 -!- halfdan [n=halfdan@p57A96C05.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
04:34 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:35 -!- JSharpe2 [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 110
(Connection timed out)]
04:36 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 110 (Connection timed out)]
04:36 -!- Fraeon_ is now known as Fraeon
04:36 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
04:38 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
#go-nuts
04:39 -!- tcpip4000 [n=fulano@dsl-emcali-190.99.193.179.emcali.net.co] has left
#go-nuts []
04:42 -!- loureiro [n=loureiro@201008196167.user.veloxzone.com.br] has quit
["Quit"]
04:43 -!- kayess_ [n=kayess@ppp-124-122-211-91.revip2.asianet.co.th] has joined
#go-nuts
04:43 -!- ironfroggy__ [n=calvin@64.129.84.194] has quit [Read error: 60
(Operation timed out)]
04:45 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 60 (Operation timed out)]
04:47 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
04:47 -!- x-ip [n=sakura@unaffiliated/x-ip] has joined #go-nuts
04:50 -!- ericmoritz\0 [n=ericmori@c-76-123-248-214.hsd1.tn.comcast.net] has quit
["Leaving"]
04:50 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined
#go-nuts
04:53 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
04:54 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
04:55 < KragenSitaker> hi.  looks like when I get a SIGFPE, the handler
writes error stuff to stdout instead of stderr.  that isn't a known problem, is
it?
04:55 < KragenSitaker> I assume I divided by zero.
04:56 < anticw> iant: should the boehm garbage collector work for gccgo?
04:56 <+iant> printing to stdout seems to be intentional
04:56 -!- JBeshir [n=namegduf@138-38-226-61.resnet.bath.ac.uk] has joined #go-nuts
04:56 <+iant> anticw: I think it would be hard to fit boehm gc into the
goroutine scheme
04:57 < JBeshir> win move 19
04:57 < KragenSitaker> iant: does that mean I should or shouldn
04:57 < JBeshir> Er, sorry.
04:57 < KragenSitaker> shouldn't file an issue?
04:57 <+iant> KragenSitaker: I'm in favor of stderr, so I will file an
issue, but Russ might just close it
04:57 <+iant> s/will/would/
04:57 <+iant> sorry, I wasn't volunteering to file an issue myself
04:57 < KragenSitaker> darn
04:57 < KragenSitaker> :)
04:57 < KragenSitaker> I appreciate all your help already!
04:58 <+iant> anticw: I think something like recycler really is the way to
go, it has the right sort of multicore semantics
04:58 < KragenSitaker> sigh, it looks like I need a Google account to file
an issue?
04:58 < anticw> iant: i was thinking more as a short-term hack not really
much of a long-term solution
04:58 <+iant> hmmm, yeah, maybe
04:58 < anticw> recycler ithe ibm gc?
04:58 <+iant> anticw: yes, from IBM
04:58 < KragenSitaker> how many pages of legalese is that going to require
me to review?
04:59 < KragenSitaker> </complaints>
04:59 <+iant> KragenSitaker: dunno, I hope not much
04:59 -!- path__ [n=path@115.240.111.225] has joined #go-nuts
04:59 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
05:00 < KragenSitaker> I recognize Russ has a lot more experience designing
software for Unix than I do, but it is hard for me to imagine why someone would
think writing stack traces to stdout was a good idea
05:00 <+iant> anticw: the problem with GC in gccgo is mainly that it's hard
to do GC when you can't stop all the threads, and it's hard to stop all the
threads when they are all in different pthreads
05:00 -!- Wezz6400_ [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has joined #go-nuts
05:00 < wcr> go nuts!
05:00 <+iant> anticw: I'm pretty sure it can be done, I just haven't put
together the steps to do it
05:00 < KragenSitaker> I'll get to it later I hope
05:00 < anticw> iant: do you really have to stop the threads?
05:00 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
05:01 <+iant> anticw: using recycler you don't, but using boehm you do,
because otherwise memory will be changing as the collector is looking at it
05:01 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Read error: 104
(Connection reset by peer)]
05:02 < me___> iant: if you have per-osthread heaps, you could start gc-ing
there without stopping everyone?
05:02 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
05:03 <+iant> me___: yes, that is true
05:03 <+iant> well, wait
05:03 <+iant> you still have to find out whether anybody elses heap points
into yours
05:03 < anticw> iant: nothing precents maps and slices from badness when you
have multiple threads working...  i assume this is deliberately ommited from the
specification for now?
05:04 < anticw> s/precents/prevents/
05:04 < JBeshir> anticw: There was an FAQ item about it.
05:04 <+iant> yeah, they are deliberately non-atomic for now
05:04 < JBeshir> anticw: The judgement was basically that the majority of
use didn't require it, so you have to handle it yourself.
05:04 -!- evilhackerdude [n=stephan@e181102016.adsl.alicedsl.de] has quit [Nick
collision from services.]
05:04 < KragenSitaker> ...and wrapping them in locks would make them slower
05:05 -!- evilhackerdude [n=stephan@e181124118.adsl.alicedsl.de] has joined
#go-nuts
05:05 < JBeshir> Atomic data structures would actually be nice, to have as
an alternative.
05:05 < JBeshir> But someone could implement them in a package.
05:05 < anticw> KragenSitaker: taking a spinlock hot-cache when you have the
cache line already is pretty cheap
05:05 < KragenSitaker> JBeshir: not without parametric types
05:06 < KragenSitaker> anticw: I haven't done anything at that level so I
will take your word for it
05:06 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
05:06 -!- marciofss [n=marciofs@189.105.58.191] has quit []
05:06 < uriel> in case anyone was wondering, irc logs are working again
(they were down for a while), and now are split per-day:
http://go-lang.cat-v.org/irc-logs/go-nuts/2009-11-17
05:06 < uriel> and now good night
05:06 < KragenSitaker> uriel: awesome!  thanks!
05:07 < uriel> KragenSitaker: no problem, see you guys in the morning ;)
05:07 -!- thakis [n=thakis@c-71-198-222-88.hsd1.ca.comcast.net] has left #go-nuts
[]
05:09 < anticw> iant: wrt to locking for maps ...  a simple test to insert
1M intergers into a map (keys are ints) is about the same speed as python ...
which does locking
05:09 < anticw> (about 500k inserts/s)
05:10 <+iant> anticw: well, you're right that a cached uncontested lock can
be pretty fast
05:10 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
05:10 <+iant> I think the real motivator not locking maps is that the memory
model says that you can't access the same map simultaneously in multiple
goroutines anyhow
05:11 < Null-A> iant: can you elaborate?
05:11 < anticw> i dont understand that ...  i mean, "can't" meaning the
language or something will prevent it
05:11 < anticw> or can't meaning "dont do that" ?
05:11 <+iant> Null-A, anticw: nothing prevents it, but a correct Go program
isn't supposed to do it
05:11 <+iant> Also, simultaneous multithreaded access to a map requires more
than a lock
05:12 <+iant> it also requires copying the value out of the map before
returning it to the program
05:12 < chrome> You're supposed to use channels to share data instead of
sharing the map
05:12 < chrome> ?
05:12 <+iant> and that means that a map to a large struct is slower
05:12 < anticw> iant: so if i have 16+ goroutines that need to do map
access...  i should use a channel to an accessor gorouting?
05:12 < KragenSitaker> iant: that sounds more like a rationale for a C
feature than a rationale for a Go feature
05:12 < KragenSitaker> the rest of the language is memory- and type-safe and
could probably be made capability-secure
05:12 -!- edw [n=user@c-76-99-21-9.hsd1.pa.comcast.net] has joined #go-nuts
05:12 <+iant> yes, the general rule is that you should use a channel to
transfer ownership of the map before modifying it
05:13 <+iant> nothing wrong with simultaneous reads of a map
05:13 < KragenSitaker> reads simultaneous to a modification?
05:13 < anticw> iant: unless updates are done in careful ways (they probably
are) there is no reason to assume reaps are safe under writes surely?
05:13 < Null-A> But the map elements need to manage read/write conflicts,
right?
05:13 <+iant> KragenSitaker: yes, we've discussed having a mode in which the
compiler/runtime do lock maps specifically for high security situations; there is
also a race condition involving slices
05:13 < me___> iant: was RWMutex included in sync just for this?
05:13 <+iant> KragenSitaker: no, reads simultaneous with reads, only
singleton writes
05:14 < KragenSitaker> that's what I thought
05:14 <+iant> me___: I dont think so
05:14 -!- Wezz6400 [n=Wezz6400@145-118-111-123.fttx.bbned.nl] has quit [Read
error: 110 (Connection timed out)]
05:14 < KragenSitaker> sorry to recapitulate old discussions for the
zillionth time
05:14 <+iant> I think it just seemed generally useful
05:14 <+iant> no worries
05:14 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Read error: 110
(Connection timed out)]
05:14 < me___> fair, though i saw its not yet doing its job?
05:14 < Null-A> Are there conflicts with deleting elements in a map, and
reading that element?
05:15 < path__> is there any document that talks about how reflection was
implemented in go?
05:15 <+iant> Null-A: yes
05:15 <+iant> path__: beyond the docs for pkg/reflect?  I don't think so
05:15 < Null-A> hm
05:15 < path__> oh ok
05:15 -!- nickgibbon [n=nring@210.8.201.244] has joined #go-nuts
05:15 <+iant> path__: basically the compiler generates a type descriptor for
each type
05:16 < Null-A> Maybe it's worth supporting the full extent of single
writer, multiple reader ?
05:16 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Leaving"]
05:16 <+iant> Null-A: maybe; I don't think we know yet
05:16 < path__> hmm I see.  And this is even with gccgo right?
05:16 < KragenSitaker> Null-A: are you Korzybskian?
05:17 < Null-A> yep
05:17 < Null-A> =)
05:17 < KragenSitaker> what does "null-A" mean?
05:17 < path__> the world of null-
05:17 < path__> a
05:17 < path__> its a book isnt it
05:17 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has joined
#go-nuts
05:18 < Null-A> It comes from "The world of Null-A" a fiction novel; meaning
non- Aristotelean system
05:18 <+iant> A.E.  Van Vogt
05:18 < Null-A> yep
05:18 -!- antarus [n=antarus@gentoo/developer/antarus] has quit [Remote closed the
connection]
05:18 -!- antarus [n=antarus@nat/google/x-zfzjqbnyzryfnump] has joined #go-nuts
05:18 <+iant> (but I always preferred The Weapon Shops of Isher and related
stories)
05:19 < Null-A> A non-A system, is any system which supersets aristotle's
original logical premises, which was a two-valued logic mostly
05:19 < KragenSitaker> like intuitionistic logic, linear logic, that kind of
thing?
05:19 < Null-A> Korzybski in his book "Science of Sanity" tried to
incorporate such non-A systems, discovered in scientific theories, back in to
every-day language
05:20 < Null-A> I'm not familiar with those in particular, I would give
examples of fuzzy logic, infinite-valued logic, etc - but your probably right
05:20 < Null-A> iant: were you in sydney at all?
05:20 <+iant> No, I've never been there
05:20 < Null-A> ah ok, I saw russ and rob there
05:20 <+iant> yes, they were there, rob will be there again next spring
05:20 < KragenSitaker> at Google?
05:21 <+iant> yes
05:21 < Null-A> Yeah, its a nice vacationing office ;)
05:21 < chrome> iant: how much work do you think it would take to support
dlopen()?  :)
05:21 -!- igggy2 [n=iggy@c-76-104-189-88.hsd1.wa.comcast.net] has joined #go-nuts
05:21 <+iant> chrome: for 6g/8g/5g, not too much; they can already dlopen C
shared libraries; I think it would require some thought about which structures the
runtime expects to be unique
05:21 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Read error: 110
(Connection timed out)]
05:22 <+iant> chrome: getting 6g/8g/5g to generate a shared library would be
considerably more work
05:22 <+iant> chrome: for gccgo, dlopen would be trivial
05:22 < chrome> the former is more what I'm interested in
05:22 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
quit [Read error: 60 (Operation timed out)]
05:23 < chrome> iant: it would make it easier to integrate libraries, I
think.
05:24 < Null-A> iant: What happened to all the other go predecessors that
rob, etc worked on?
05:24 < Null-A> they didn't gain popularity?
05:24 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
05:24 < KragenSitaker> chrome: it seems like start-time dynamic linking is
sufficient
05:24 < KragenSitaker> chrome: for integrating libraries
05:24 <+iant> Null-A: you would really have to ask him, but my impression is
that none of them really got released as open source for one reason or another
05:24 < KragenSitaker> chrome: unless you are planning on building some kind
of go repl, which is going to require more changes than that
05:25 < Null-A> *nods*, or maybe way too late
05:25 <+iant> it took them years to get Plan 9 out AT&T and it kind of
missed its window of opportunity
05:25 <+iant> yeah
05:25 < KragenSitaker> Null-A: Limbo didn't get released as open source for
a long time, at least
05:25 < KragenSitaker> I'm not sure what happened to Squeak
05:25 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
05:25 < KragenSitaker> /Newsqueaik
05:25 < KragenSitaker> s/i// sorry
05:26 -!- triplez [n=triplez@bb116-14-29-6.singnet.com.sg] has quit []
05:26 < KragenSitaker> I remember at some mixer in 1996 talking to a bunch
of cisco guys
05:26 -!- wcn_ [n=wcn@80-219-150-87.dclient.hispeed.ch] has joined #go-nuts
05:26 < Null-A> That's too bad, C++ is so well established now, it would be
quite a surprise to me if go takes over a significant market share
05:26 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
05:26 < KragenSitaker> They said their group at cisco was doing most of its
development in Plan9
05:26 < lifeless> well, programming languages are a totally saturated
market, and yet better ones do thrive.
05:26 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has quit [Read
error: 60 (Operation timed out)]
05:26 < KragenSitaker> But they were starting to have a hard time buying new
workstations, because Plan9 didn't support any non-ISA graphics cards
05:27 < Null-A> lol
05:27 <+iant> I don't really expect Go to take many programmers away from
C++, but the number of people writing programs keeps getting larger, so there is
some room for new languages
05:27 <+iant> KragenSitaker: ouch
05:27 < lifeless> the lack of loadable go modules, and generics is a bit of
an impediment at the moment.
05:28 < KragenSitaker> (and of course this was many years before the
open-source release, so there wasn't really a community of people able to pour
work into the system to fix things like that)
05:28 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has joined
#go-nuts
05:28 < me___> KragenSitaker: hah.  nice.
05:28 < dho> there's not a community of people pouring in work now
05:28 < Null-A> I don't know..  I use templates a lot in C++, but you can do
all sorts of meta programming
05:28 < Jerub> hm, isa.
05:28 < dho> there's like 20 of us
05:29 < Null-A> for generics..  I use them in collections mostly
05:29 < dho> and i don't have time to pour work into a system that 19 other
people might use :)
05:29 < KragenSitaker> dho: and how is Plan9 support for current hardware?
05:29 < dho> me___: did you see my changeset?
05:29 < KragenSitaker> heh
05:29 < me___> dho: yep!
05:29 < dho> KragenSitaker: depends on the hardware.  usually abysmal
05:29 < me___> KragenSitaker: depends.  there's USB2
05:29 < KragenSitaker> yeah.  so.
05:29 < KragenSitaker> nice!  I want a USB2 video adaptor :)
05:29 < dho> no acpi, which is only going to be a bigger issue as time
progresses
05:30 < me___> dho: nemo is doing acpi atm.
05:30 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
05:30 < path__> hmm does anyone know where I could get a quick understanding
of how garbage collection works in a "compiled to machine code" language.  I had
always assumed till now (wrongly) that gc required a runtime environment which
interpreted your code in some manner
05:30 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
05:30 < dho> he mentioned it
05:30 < dho> it's a big project.
05:30 < KragenSitaker> there could potentially have been a bigger groups of
people doing this if it had been open-source at the time
05:30 < me___> so was usb2
05:30 < dho> path__: go has a runtime
05:30 < chrome> path__: compiled languages can allocate memory.  GCs track
that allocated memory and free it when it is no longer referenced.
05:30 < dho> path__: think of your OS kernel
05:30 < me___> KragenSitaker: there are a few graphics drivers that do
reasonable stuff, vesa recently got mtrr support and is faster, radeon is out of
tree but supports enough stuff (r100-r400)
05:31 < KragenSitaker> me___: awesome!
05:31 < dho> path__: it executes your applications, and collects / frees
resources consumed by them (thus doing a fair amount of garbage collection)
05:31 < KragenSitaker> path__: interpretation doesn't really affect how
garbage collection works
05:31 < me___> witness boehm.
05:31 < Null-A> iant: Why didn't you guys write a JIT compiler for Go?
05:32 < chrome> why JIT when you can PRE
05:32 < KragenSitaker> well, boehm is kind of an extreme case.  it works
without *any* support from the compiler, which is atypical.
05:32 < Null-A> chrome: PRE?
05:32 < me___> sure, just that 'interpreted' and 'GC' are mostly
perpendicular.
05:32 < chrome> PREcompile
05:32 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
05:32 < Null-A> chrome: platform independence for one
05:32 < KragenSitaker> path__: so anything you know about GC for
interpreters is true of GC for compiled languages, except the things that aren't
true of either one.
05:33 < KragenSitaker> Null-A: are you saying you think a JIT compiler for
Go would be a fun project?
05:33 <+iant> Null-A: I think fully compiled gets better runtime performance
for small programs
05:33 < me___> its ...  compiled to native code.  why?
05:34 < KragenSitaker> it's a little more speculative than I'm willing to
take on at the moment but I look forward to testing your results :)
05:34 <+iant> Null-A: and beating native code with a JIT is a heck of a lot
of work even for large programs
05:34 < Null-A> I'm wondering if they had any rationals behind the decision
05:34 < path__> hmm well my understanding is when you have a language that
supports gc there are only certain ways to allocate memory, you could use those to
allocate memory in certain areas and collect them when they are no longer
referenced (or circular references) etc.  And I read somewhere that the java gc
does some complex stuff like multiple areas of memory and multiple generations and
so on
05:34 < path__> so I always assumed this gc was something running on the
platform which interpreted your code
05:35 <+iant> path__: no, all you need for GC is some way to know that the
memory the collector is looking at is stable
05:35 < Null-A> iant: Isn't the only extra cost, the one-time process of
converting byte-code to native code?
05:35 < path__> with machine code does that mean the compiler links in a
library which then executes before your code does and provides all these features?
05:35 < Null-A> iant: effectively you could turn the current go compiler
into a JIT interpreter, if you had lazy compilation
05:35 < KragenSitaker> Null-A: wait, where did the bytecode come from?
05:35 <+iant> Null-A: but since one of the goals is speed of recompilation,
do we want to pay that cost?
05:36 < aho> just in time compilers dont compile everything in one go
05:36 <+iant> path__: I'm not sure I would say *before* your code, but it
executes in conjunction with your code somehow
05:36 < Null-A> KragenSitaker: JIT compiler architectures usually employ
byte code
05:36 < me___> so if you wanted to apply power overwhelming to 'speed of
recompile', you could keep a reverse map from executable to parts of the source or
intermediate trees that generated it
05:36 -!- fynn [n=fynn@unaffiliated/fynn] has joined #go-nuts
05:37 < me___> it'd allow partial recompiles...  otoh seems complex.  and
totally possibly not worth it
05:37 -!- gcopenhaver [n=greg@c-98-250-49-37.hsd1.mi.comcast.net] has quit
["Leaving."]
05:37 < fynn> any word on generics support?
05:37 < KragenSitaker> Null-A: HIPE used to but doesn't now, JVM does and
regrets it badly, Self sort of does but its "bytecode" is more like a parse tree,
LuaJIT doesn't, V8 doesn't, C# does
05:37 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
[Read error: 110 (Connection timed out)]
05:37 < Null-A> iant: Why not?  Really for the purposes of google
production, once the program has been executing for 4 seconds, it's fully
compiled.
05:37 < Null-A> iant: maybe I'm missing something
05:37 < KragenSitaker> oh, wait, I may be wrong about LuaJIT, sorry
05:38 < dho> Null-A: when you can compile very quickly beforehand, why would
you want to defer compilation?
05:38 < KragenSitaker> Null-A: in other words, bytecode isn't particularly
helpful for a JIT compiler.  it's great for program compression and fast
interpretation
05:38 < Null-A> dho: platform independence
05:38 <+iant> Null-A: the system is more complicated, requires a lot more
work, and what do we gain?
05:38 < KragenSitaker> fynn: the word is that lots of people want it but
nobody has offered a good design for it
05:38 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
05:38 <+iant> Null-A: platform independence isn't very useful to us
05:38 < dho> Null-A: ok, but you still have to port the VM
05:38 < Null-A> hm
05:38 < me___> hmm, everyone's always said platform independence, but in
practice i find C more portable than Java...
05:39 < Null-A> iant: I guess more to the open source community
05:39 < path__> hmm ok.  I guess I need to a bit more reading up.  But I
guess as long as all the memory you're allocating and de-allocating is through
some language features I can see how it would work.  So you're saying providing a
platform that interpets code is no advantage at all for gc implementation?
05:39 < Null-A> iant: I agree it's a lot of work
05:39 < dho> it's not like it runs everywhere when you have an interpreter.
05:39 <+iant> I have nothing against platform independence, but is it worth
the work?
05:39 < me___> VMs may be just as big to port as retargeting a small
compiler.
05:39 < dho> exactly my point
05:39 < anticw> x86 won
05:39 < dho> Null-A: I ported most of it to freebsd in ~5 days
05:39 <+iant> clearly nothing prevents Go as a language from using a
bytecode/JIT implementation even if the current tools don't work that way
05:39 < KragenSitaker> path__: very little.  and it doesn't even have to be
through some language features; it can be through some library
05:39 < Null-A> *nods*
05:39 < anticw> x86 is *the* platform ...  warts and all
05:39 < path__> ah ok
05:40 < path__> thanks
05:40 < fynn> KragenSitaker: :-(
05:40 < dho> Null-A: so, it's not like it's excruciatingly difficult
05:40 < anticw> actually, that's not true...  arm does well in embedded
space
05:40 < anticw> but go has an arm port
05:40 < dho> i wouldn't call myself the most experienced engineer ever
05:40 < anticw> i think the only other platform that might be useful in time
is mips, since it's also big in embedded space
05:40 < KragenSitaker> path__: the boehm GC, for example, as me___ pointed
out earlier.  although it's very helpful to be able to tell what parts of memory
are pointers and what parts aren't, which benefits from compiler/interpreter
support
05:40 < Null-A> dho: Yeah, it depends on the architectures
05:41 < path__> ah I see
05:41 < dho> Null-A: well, true.  i was helped by the fact that i was
porting to an existing architecture / binary format.
05:41 < KragenSitaker> anticw: also I suspect that in 2038 x86 will no
longer be so dominant
05:41 < Null-A> JIT compilation is nice too, because you can take advantage
of specialized instruction sets available on the particular processor
05:41 < dho> x86 isn't extremely dominant now
05:42 < me___> iant: other than recycler, did you folks think about the
VCGC?
05:42 < dho> almost every consumer chip for the past 5 years has supported
amd's 64-bit extensions
05:42 < me___> dho: erm, atom.
05:42 < wcr> except the dorito
05:42 < anticw> KragenSitaker: that's a long way off, plenty of time for
people to write compilers, JIT engines, VMs and more
05:43 < dho> me___: i *did* qualify with almost
05:43 < dho> :)
05:43 < Null-A> iant: I'm so glad there's finally a decent language out with
CSPs & data mutation.  Calls for some new experimentation.
05:43 -!- wcn [n=wcn@74.125.121.49] has quit [Read error: 110 (Connection timed
out)]
05:43 -!- wcn_ is now known as wcn
05:43 < me___> hey, there's this Limbo thingy..  </whine>
05:44 -!- serdar_ [n=serdar@dslb-084-060-214-095.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
05:44 < dho> it's interpreted :)
05:44 <+iant> me___: I guess I don't know enough about the differences
between vcgc and recycler
05:44 < Null-A> KragenSitaker: where'd you hear about korzybski?
05:44 < Null-A> brb laundry
05:44 -!- serdar_ [n=serdar@dslb-084-060-207-026.pools.arcor-ip.net] has joined
#go-nuts
05:44 < KragenSitaker> Null-A: oh, all over the place
05:45 < KragenSitaker> Null-A: but I heard of "null-A" from reading Tatjana
van Vark's web page
05:45 < dho> iant: what's up with the patents ibm has on that recycle gc?
05:45 < anticw> channel overhead is tens of bytes?
05:45 < KragenSitaker> she describes herself as a "creative null-A
polymaniac"
05:45 < anticw> a few tens at most?
05:46 <+iant> dho: no idea
05:46 -!- path__ [n=path@115.240.111.225] has quit []
05:46 <+iant> dho: and I really don't want to know
05:46 -!- lambo4jos [n=chatzill@c-76-126-250-10.hsd1.ca.comcast.net] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
05:46 < dho> was just wondering if that would interfere with using it
05:46 < me___> well, openjdk 7 will use it
05:47 < dho> we looked at it at work for an embedded interpreter we are
working on but a) implementing the pseudocode didn't end up freeing anything, and
b) patents were scary
05:47 < anticw> legal questions whilst interesting are very hard to answer,
even for legal people
05:47 < dho> (though we're commercial)
05:47 < me___> vcgc was the approach used by Inferno and SML/NJ, allows for
mark and sweep passes to be concurrent with mutate.
05:47 -!- fynn [n=fynn@unaffiliated/fynn] has left #go-nuts ["Leaving"]
05:48 < me___> probably not as good as recycler, haven't seen them compared
05:48 < KragenSitaker> if SML/NJ and Inferno used it, you can be very sure
that people on the Go team considered it
05:48 < KragenSitaker> in an informed fashion
05:48 < me___> but vcgc is older by a 5 or so years..
05:48 < KragenSitaker> I wonder if they wrote anything
05:49 < me___> KragenSitaker: 'wrote anything'?
05:49 < KragenSitaker> about their choice of GC
05:50 < me___> atm, there is a 'not for production' Mark/Sweep, so probably
not.
05:50 < Null-A> back
05:50 < anticw> me___: what does current 6g/8g runtime implement?
05:50 -!- path__ [n=path@115.240.126.55] has joined #go-nuts
05:50 < Amaranth> dang, google can't find anything on a recycler gc
05:50 < me___> anticw: a Mark/Sweep collector, with the header comment "NOT
FOR PRODUCTION"
05:51 < me___> Amaranth: "java without the coffee breaks"
05:51 < path__> this is about garbage collection without stopping the world?
05:51 < anticw> http://www.research.ibm.com/people/d/dfb/recycler.html
05:51 -!- droid0011 [n=g1@p4FDCD806.dip.t-dialin.net] has joined #go-nuts
05:52 < Null-A> KragenSitaker: This person is unusual?  worth reading?
05:52 -!- droid001 [n=g1@p4FDCC258.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
05:52 < dho> me___: how's dfbsd coming?
05:52 < KragenSitaker> Null-A: oh, very.  doesn't have much written material
up there, just photos of her work
05:53 < me___> dho: stalled atm, while i install dfly in a vm...  my k6
doesn't have network connectivity, so working on it was less than great.
05:53 < dho> aha
05:53 < me___> but making progress.  got the linker to finally do the right
thing.
05:53 < dho> that sucks
05:54 < dho> that sucks less :)
05:54 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
05:54 < KragenSitaker> me___: do you know Asheesh from JHU?
05:54 < me___> it was intentional, actually.  that computer just runs emacs
in full screen, its where i Get Stuff Done (tm)
05:54 < me___> KragenSitaker: yep!
05:54 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
05:55 < JBeshir> Why, you should have just advertised that Go used Bacon's
concurrency cycle collection.
05:55 < me___> JBeshir: it doesn't yet.
05:55 < KragenSitaker> speaking of Getting Stuff Done
05:55 < JBeshir> Oh, er, right.
05:55 < KragenSitaker> I'm signing off for now
05:55 < Null-A> org-mode
05:55 -!- cpr420 [n=cpr420@67.165.199.143] has joined #go-nuts
05:56 < Null-A> KragenSitaker: can't handle the context switching, i thought
so
05:56 < KragenSitaker> right :)
05:57 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit [Client
Quit]
05:57 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
05:57 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Connection
timed out]
05:58 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
05:58 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
05:58 -!- wcn [n=wcn@80-219-150-87.dclient.hispeed.ch] has quit []
06:01 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has quit [Client Quit]
06:03 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
06:04 < Gracenotes> hm..  there must be a map literal syntax somewhere..
06:04 < Gracenotes> there is, I've never used it though, heh
06:05 < strohman> hg sync doesn't work for me.  any tips?
06:07 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
06:08 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
["Leaving"]
06:10 -!- serdar_ [n=serdar@dslb-084-060-207-026.pools.arcor-ip.net] has quit
[Read error: 104 (Connection reset by peer)]
06:10 < Gracenotes> strohman: hm, how does it not work?  have you tried "hg
pull default"?  I'm not a mercurial expert in any way, but that works for me
06:10 -!- arty [n=arty@reactos/developer/arty] has quit [Read error: 145
(Connection timed out)]
06:10 < mikejs> anyone have code for a json.Marshal function?
06:11 < soul9> strohman: what is hg sync supposed to do?
06:12 <+iant> soul9: hg sync basically does hg pull -u
06:12 < soul9> hg: unknown command 'sync'
06:12 < soul9> :-/
06:12 <+iant> soul9: you need to have to Go codereview plugin
06:12 < soul9> ah, i see
06:14 -!- serdar_ [n=serdar@84.60.254.126] has joined #go-nuts
06:14 < dho> hm
06:15 < dho> the only sucky thing about that plugin is that you can't have
multiple changesets to the same file on different CLs
06:15 < dho> which is an understandable limitation, but it's blocking me on
fixing another thing in codereview.py
06:15 <+iant> dho: yes
06:15 -!- HELLO_WORLD [n=hello_wo@adsl-71-141-88-37.dsl.snfc21.sbcglobal.net] has
joined #go-nuts
06:15 <+iant> dho: for that you need to check out the sources multiple times
06:15 -!- strohman [n=strohman@216.239.45.130] has quit [Read error: 60 (Operation
timed out)]
06:15 < dho> so awful
06:16 <+iant> dho: it's somewhat painful
06:16 < Null-A> iant: I get a segfault when I use an uninitialized map, bug?
06:16 < dho> codereview.py doesn't like it when you have spaces in your CL
file spec
06:16 <+iant> Null-A: no, using an uninitialized map is basically a null
dereference
06:16 < dho> hg diff fails
06:16 <+iant> dho: that sounds like a bug
06:17 < dho> it is
06:17 < dho> trying to figure out how to fix it
06:17 < Gracenotes> hm.  if I modify the source, I should probably make a
separate hg repository
06:17 < dho> i think lstrip should do the job, just need to figure out if
the issue is in parsecl or elsewhere.
06:20 < Null-A> Do I always have to write my map types twice in Go once for
struct decl, and once struct init?
06:20 < Null-A> a bit annoying, since I don't have to do that in C++ if the
type is instantiating on construction
06:21 -!- wobsite [n=wobsite_@140.232.179.23] has joined #go-nuts
06:21 < KirkMcDonald> Null-A: Not sure what you're referring to.
06:21 < dho> i dunno, i'll look at it later
06:22 < Null-A> type A struct { n map[int]chan string }; Then CreateA() A {
return A{n:make(map[int]chan string)}; }
06:22 < Null-A> func CreateA()*
06:22 < Gracenotes> hm.  what's the best way to have two Go installations on
the same computer simultaneously?
06:22 < Gracenotes> switch environmental variables manually?
06:23 < jgoebel> have two bash profiles?
06:23 < jgoebel> and source the one you want to use?
06:23 < jgoebel> or write a shell script that does that
06:23 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has joined
#go-nuts
06:24 < Gracenotes> hm.  that sounds good.  actually..  the situation is a
bit complicated..  so long as the environmental variables are only needed by the
installer, I should be fine
06:24 < jgoebel> build tools use them too i think
06:24 < KirkMcDonald> Gracenotes: Is this in order to have two architectures
installed?
06:25 < Gracenotes> KirkMcDonald: both are the same architecture/os, but I
want to modify the source of one, and leave the other one be
06:25 < Gracenotes> and then be able to run either compiler at will
06:25 -!- hlv [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has joined #go-nuts
06:25 < jgoebel> just write a wrapper around the compile tools?
06:25 < jgoebel> my6g
06:25 < jgoebel> my6l
06:25 < jgoebel> that points to your install
06:26 < Gracenotes> that sounds like what I'll do; I just want to be sure
the compiler doesn't need $GOXXX
06:26 < dho> jgoebel: i don't think the build tools care at the moment.
06:26 < dho> Gracenotes: i'll look.
06:26 < Gracenotes> great
06:26 < dho> the linker uses goos
06:27 < Gracenotes> ah.  that's fine
06:27 -!- path__ [n=path@115.240.126.55] has quit [Read error: 145 (Connection
timed out)]
06:27 < dho> only if you don't pass -H though
06:28 -!- hlv [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has left #go-nuts []
06:28 -!- strohman [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has
joined #go-nuts
06:28 < Gracenotes> ok
06:29 < dho> (since the assembler is essentially built into the linker, this
effectively lets the linker crosscompile
06:29 -!- hlv [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has joined #go-nuts
06:30 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has left #go-nuts []
06:30 -!- drusepth` [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has joined
#go-nuts
06:31 < Gracenotes> ooh.
06:31 -!- Cyprien [n=Cyprien@253-101.78-83.cust.bluewin.ch] has joined #go-nuts
06:32 < dho> unless i'm on crack.
06:32 < dho> i don't think i am, but it's 1:30am so who knows
06:32 -!- turing_type_bot [n=turing@pool-71-241-35-143.nrflva.east.verizon.net]
has quit [Read error: 110 (Connection timed out)]
06:32 < Gracenotes> to absolutely verify that you are on crack, 1.  smoke
crack
06:33 < dho> well, or i could just do 6l -H7.
06:34 < dho> nope, i am on crack :)
06:34 -!- drusepth`` [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has quit
[Read error: 60 (Operation timed out)]
06:34 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
06:35 -!- leavengood [n=vision@adsl-074-166-196-078.sip.bct.bellsouth.net] has
joined #go-nuts
06:36 -!- tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has quit [Read
error: 110 (Connection timed out)]
06:36 -!- askhader [n=askhader@taurine.csclub.uwaterloo.ca] has quit ["Lost
terminal"]
06:37 -!- igfud [n=mike@ucb-np1-145.colorado.edu] has joined #go-nuts
06:37 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
60 (Operation timed out)]
06:38 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
06:38 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
06:42 -!- HELLO_WORLD [n=hello_wo@adsl-71-141-88-37.dsl.snfc21.sbcglobal.net] has
left #go-nuts []
06:42 < Gracenotes> hrm...  lookin for the 8g entry point..
06:43 < Gracenotes> there seems to be in gc/lex.c
06:43 < Gracenotes> but..  grr, I guess I'll have to look through the
makefile.  *shudder*
06:44 < dho> yes, it's in gc.
06:44 < dho> PLATc links to it
06:46 < Gracenotes> PLATc?
06:46 < dho> ${GOARCH}c
06:46 -!- wobsite [n=wobsite_@140.232.179.23] has left #go-nuts ["Leaving"]
06:48 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
60 (Operation timed out)]
06:48 < me___> someone was asking the same thing yesterday, but i answered
in cc/lex.c :)
06:52 < Gracenotes> dho: hm..  so what is the main entry point?
06:52 < me___> gc/lex.c has main()
06:52 < Gracenotes> what turns into the 8g executable
06:52 -!- silvs [n=silvs@scruffy.silvs.org] has quit ["This computer has gone to
sleep"]
06:52 < Gracenotes> me___: so do a few others :x
06:53 < Gracenotes> I'm just checking, really
06:53 < me___> right, this is the one for 8g.
06:53 < Gracenotes> okay.  good to know :D
06:53 -!- igggy2 [n=iggy@c-76-104-189-88.hsd1.wa.comcast.net] has quit []
06:54 < Gracenotes> I suppose I could have also made a graph of includes
06:55 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit [Read
error: 60 (Operation timed out)]
06:55 -!- aho [n=nya@f050194216.adsl.alicedsl.de] has quit
["EXEC_over.METHOD_SUBLIMATION"]
06:56 -!- metageorge [n=metageor@212.251.110.2.dsl.dyn.forthnet.gr] has left
#go-nuts []
06:57 -!- ajsharp_ [n=ajsharp@76.89.131.245] has joined #go-nuts
06:58 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
06:59 < ajsharp_> when I try to run gotest -h, I get a message saying please
create a Makefile for gotest.  Is this something that I need to do or that go team
has not gotten to yet?
07:00 -!- leavengood [n=vision@adsl-074-166-196-078.sip.bct.bellsouth.net] has
quit ["Vision[0.9.7-H-090826]: i've been blurred!"]
07:00 -!- igfud [n=mike@ucb-np1-145.colorado.edu] has quit [Read error: 110
(Connection timed out)]
07:00 -!- wcr [n=wcr@unaffiliated/warcrime] has quit []
07:01 -!- igfud [n=mike@cros5-105-dhcp.resnet.colorado.edu] has joined #go-nuts
07:01 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
07:03 -!- ajsharp_ is now known as ajsharp
07:04 -!- strohman_ [n=strohman@216.239.45.130] has joined #go-nuts
07:05 -!- Snert [n=achowe@puff.snert.com] has joined #go-nuts
07:06 -!- chickamade [n=chickama@222.254.12.228] has joined #go-nuts
07:06 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has joined
#go-nuts
07:07 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
07:07 -!- wcn [n=wcn@74.125.57.33] has joined #go-nuts
07:07 -!- turutosiya [n=turutosi@219.106.251.65] has joined #go-nuts
07:09 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
07:10 -!- silvs [n=silvs@210-84-16-103.dyn.iinet.net.au] has joined #go-nuts
07:12 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
07:13 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
07:14 -!- drusepth` [n=drusepth@ppp-70-250-215-7.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
07:17 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
07:18 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
#go-nuts
07:18 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
07:18 -!- strohman_ [n=strohman@216.239.45.130] has quit []
07:18 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
07:20 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
07:21 -!- strohman [n=strohman@adsl-71-135-96-124.dsl.pltn13.pacbell.net] has quit
[Read error: 110 (Connection timed out)]
07:26 -!- triplez [n=triplez@218.212.225.52] has joined #go-nuts
07:26 -!- edw [n=user@c-76-99-21-9.hsd1.pa.comcast.net] has quit [Remote closed
the connection]
07:28 < KirkMcDonald> Hmm.  There's no strings.Replace.
07:28 < jgoebel> i just wrote it
07:29 < KirkMcDonald> I was just going to use strings.Map.
07:29 < jgoebel> http://codereview.appspot.com/155076/show
07:29 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit
[Operation timed out]
07:29 < KirkMcDonald> Excellent.
07:31 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit []
07:33 -!- shambler [n=kingrat@mm-73-164-84-93.dynamic.pppoe.mgts.by] has quit
[Read error: 104 (Connection reset by peer)]
07:33 -!- shambler [i=kingrat@mm-73-164-84-93.dynamic.pppoe.mgts.by] has joined
#go-nuts
07:34 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
07:36 -!- fhs_ [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has joined
#go-nuts
07:37 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
07:40 -!- hlv_ [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has joined #go-nuts
07:41 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
07:42 -!- hlv_ [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has left #go-nuts []
07:43 < Gracenotes> does all.bash automatically run the tests?
07:44 < Gracenotes> oh, hm, there is a function maketest() in run.bash..
07:46 < Gracenotes> I'm not sure if that actually runs things like
{pgk}_test.go, though
07:46 -!- Cyprien [n=Cyprien@253-101.78-83.cust.bluewin.ch] has quit [Read error:
110 (Connection timed out)]
07:48 < Gracenotes> this is a bit confusing
07:49 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
07:49 -!- hlv [n=hlv@c-67-171-34-157.hsd1.wa.comcast.net] has quit [Read error:
110 (Connection timed out)]
07:50 < octoploid> Gracenotes: (xcd ../test
07:50 < octoploid> ./run
07:50 < octoploid> in run.bash
07:50 < octoploid> So yes, it runs all tests.
07:51 -!- olleolleolle [n=olleolle@kali.hypergene.com] has joined #go-nuts
07:52 -!- emptypointer [n=chatzill@p5084AA7C.dip0.t-ipconnect.de] has joined
#go-nuts
07:53 < Gracenotes> octoploid: there is the question of ./run does.  I
grepped the entire source tree for, e.g.  TestSymLink (from os_test), and didn't
find it anywhere eles
07:57 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
07:57 -!- caw [i=caw@res55551479.rh.rit.edu] has joined #go-nuts
07:57 -!- bquinn [n=bquinn@office.velleman.com] has joined #go-nuts
07:57 < octoploid> Gracenotes: Thats covert by the maketest() function.
07:58 < Gracenotes> ..how covert?
07:58 -!- garbeam [n=arg@garbe.us] has quit [Read error: 60 (Operation timed out)]
07:58 < Gracenotes> >_< oh, if you mean covered, I'm not sure where
07:59 < Gracenotes> I can go through the makefiles by myself
07:59 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
07:59 -!- fhs [n=fhs@pool-72-89-195-252.nycmny.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
07:59 < octoploid> cd src/pkg/os && gomake test
07:59 -!- bjarneh [n=bjarneh@1x-193-157-194-25.uio.no] has joined #go-nuts
07:59 -!- senneth_ [i=senneth@irssi/staff/senneth] has joined #go-nuts
07:59 -!- Netsplit leguin.freenode.net <-> irc.freenode.net quits: jgoebel,
clip9_, blasdelf, Hertta, harja, Eytre, zum, stepnem, serdar_, skyyy, (+27 more,
use /NETSPLIT to show all of them)
07:59 -!- senneth_ is now known as senneth
08:00 -!- paulca [n=paul@89.100.39.244] has joined #go-nuts
08:01 -!- Netsplit over, joins: kertak
08:01 -!- Hofanoff [i=hofanoff@server1.bshellz.net] has joined #go-nuts
08:01 -!- Netsplit over, joins: josh, eiro
08:01 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
08:01 -!- blasdelf [n=fred@c-76-104-181-225.hsd1.wa.comcast.net] has joined
#go-nuts
08:01 -!- tyler_wylie [n=tyler@remoteits.com] has joined #go-nuts
08:01 -!- Netsplit over, joins: Hertta
08:02 -!- Netsplit over, joins: hallsa
08:02 -!- praetorian [i=praetori@124-171-249-236.dyn.iinet.net.au] has joined
#go-nuts
08:02 -!- Netsplit over, joins: JBeshir, Jooon, clip9_
08:02 -!- Netsplit over, joins: jshriver
08:02 -!- CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has joined
#go-nuts
08:02 -!- Netsplit over, joins: directrixx
08:02 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has quit [Client
Quit]
08:03 -!- cpr420 [n=cpr420@67.165.199.143] has quit ["Vision[0.9.7-H-090423]: i've
been blurred!"]
08:04 < Gracenotes> hm, the actual search is grep -v '_test\.go:' in
Make.pkg
08:04 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
08:05 -!- dpb [i=dpb@xob.kapsi.fi] has joined #go-nuts
08:05 -!- keishi [n=keishi@h116-000-230-016.ms01.itscom.jp] has joined #go-nuts
08:05 -!- Cameron [n=Cameron@203-217-12-139.perm.iinet.net.au] has joined #go-nuts
08:05 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has joined
#go-nuts
08:06 -!- CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has quit
[Killed by sagan.freenode.net (Nick collision)]
08:06 -!- Cameron [n=Cameron@203-217-12-139.perm.iinet.net.au] has quit [Killed by
sagan.freenode.net (Nick collision)]
08:06 -!- zeebo- [n=zeebo-@pool-74-110-97-28.nrflva.fios.verizon.net] has quit
[Killed by sagan.freenode.net (Nick collision)]
08:06 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has quit [Killed by
sagan.freenode.net (Nick collision)]
08:06 -!- tyler_wylie [n=tyler@remoteits.com] has quit [Killed by
sagan.freenode.net (Nick collision)]
08:06 -!- taybin [n=taybin@24.42.93.107] has joined #go-nuts
08:06 -!- triplez [n=triplez@218.212.225.52] has joined #go-nuts
08:06 -!- serdar_ [n=serdar@84.60.254.126] has joined #go-nuts
08:06 -!- General13372 [n=support@71.84.247.187] has joined #go-nuts
08:06 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has joined
#go-nuts
08:06 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
08:06 -!- mtz [n=jaan@165.206.191.90.dyn.estpak.ee] has joined #go-nuts
08:06 -!- zeebo- [n=zeebo-@74.110.97.28] has joined #go-nuts
08:06 -!- kizzo [n=kizzo@24.6.50.117] has joined #go-nuts
08:06 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
08:06 -!- CallToPower [n=CallToPo@87.106.78.92] has joined #go-nuts
08:06 -!- riot [n=wntrmut@137.226.147.251] has joined #go-nuts
08:06 -!- wollw [n=wollw4@75-101-22-68.dsl.dynamic.sonic.net] has joined #go-nuts
08:06 -!- Cameron [n=Cameron@203.217.12.139] has joined #go-nuts
08:06 -!- Smari [n=smari@130.208.143.11] has joined #go-nuts
08:06 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has
joined #go-nuts
08:06 -!- tyler_wylie [n=tyler@fedora/tyler-wylie] has joined #go-nuts
08:06 -!- Innominate [n=sirrobin@71.77.41.139] has joined #go-nuts
08:06 -!- harja [n=maharj@130.232.203.196] has joined #go-nuts
08:06 -!- daganev [n=daganev@adsl-99-32-245-41.dsl.lsan03.sbcglobal.net] has
joined #go-nuts
08:06 -!- Cameron` [n=Cameron@203-217-12-139.perm.iinet.net.au] has joined
#go-nuts
08:06 -!- tyler_wy1ie [n=tyler@remoteits.com] has joined #go-nuts
08:06 -!- kizzo_ [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
08:06 -!- CallToPower [n=CallToPo@87.106.78.92] has quit [Connection reset by
peer]
08:06 -!- daganev [n=daganev@adsl-99-32-245-41.dsl.lsan03.sbcglobal.net] has quit
[Read error: 131 (Connection reset by peer)]
08:06 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has quit [Read error:
131 (Connection reset by peer)]
08:06 -!- zeebo- [n=zeebo-@74.110.97.28] has quit [Connection timed out]
08:06 -!- _CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has joined
#go-nuts
08:06 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
08:06 -!- Yuffster [n=yuffster@71.181.138.238] has quit [Remote closed the
connection]
08:06 -!- harja [n=maharj@130.232.203.196] has quit [Connection timed out]
08:07 -!- kizzo [n=kizzo@24.6.50.117] has quit [Read error: 145 (Connection timed
out)]
08:07 -!- tyler_wylie [n=tyler@fedora/tyler-wylie] has quit [Connection timed out]
08:07 -!- triplez [n=triplez@218.212.225.52] has quit [Connection timed out]
08:07 -!- triplez_ [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
08:07 -!- General13372 [n=support@71.84.247.187] has quit [SendQ exceeded]
08:07 -!- emptypointer [n=chatzill@p5084AA7C.dip0.t-ipconnect.de] has quit
["ChatZilla 0.9.85 [Iceweasel 3.0.9/2009042807]"]
08:07 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has quit
[Read error: 145 (Connection timed out)]
08:07 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has quit
[Connection timed out]
08:07 -!- riot [n=wntrmut@137.226.147.251] has quit [SendQ exceeded]
08:07 -!- triplez_ is now known as triplez
08:07 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
08:07 -!- paulca [n=paul@89.100.39.244] has quit []
08:07 -!- daganev [n=daganev@99.32.245.41] has joined #go-nuts
08:07 -!- Cameron [n=Cameron@203.217.12.139] has quit [Connection timed out]
08:08 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
08:08 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has quit [Connection
timed out]
08:09 -!- kizzo_ [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has quit [Client
Quit]
08:09 < jdp> is there any way to disable compile failures when a variable is
declared but not used
08:09 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined #go-nuts
08:10 < jdp> makes testing piece by piece hard if the whole thing has to be
implemented
08:10 -!- harja [n=maharj@castor.utu.fi] has joined #go-nuts
08:12 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
08:12 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has quit [Client
Quit]
08:12 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
08:13 < octoploid> jdp: Use _ instead
08:13 -!- path__ [n=path@59.162.86.164] has quit [Client Quit]
08:13 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
08:13 < jabb> http://gopaste.org/63bTP doesn't print anything unless I
uncomment the only commented line :P
08:14 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has left #go-nuts []
08:15 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net] has
joined #go-nuts
08:15 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined #go-nuts
08:15 < jgoebel> your program is probably terminating before the routien
runes?
08:16 < jgoebel> not sure if that's possible
08:16 < jgoebel> jsut a guess
08:16 < jabb> infinite loop in the main function
08:17 < jabb> when it runs it just sits there
08:17 < jgoebel> ah i see
08:17 -!- Snert [n=achowe@puff.snert.com] has quit [Read error: 113 (No route to
host)]
08:17 < Gracenotes> jdp: you could edit src/cmd/gc/walk.c
08:17 < Gracenotes> find the if block that throws it and comment it out
08:18 < Gracenotes> of course, that will make your code incompatible with
other compilers
08:18 < Gracenotes> source file, not resultant binary.  the problem is that
_ doesn't work in all contexts
08:19 < Gracenotes> in my case, channel sends in expressions require an
expression, when you don't care about whether it was sent or not.  one way to work
around it is: if mychan <- val {}.  eh.
08:19 -!- assiss1 [n=assiss@219.143.144.229] has joined #go-nuts
08:19 -!- assiss [n=assiss@219.143.144.229] has quit [Read error: 104 (Connection
reset by peer)]
08:21 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
08:22 < Gracenotes> _ is a good idea regardless
08:22 < Gracenotes> wha, it's so late already
08:23 -!- Yuffster [n=yuffster@71.181.138.238] has joined #go-nuts
08:24 < Gracenotes> okay, so I've disabled all testing and crippled the
standard library.  but I'm not done yet!  there is work to be done!
08:25 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has joined #go-nuts
08:28 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
08:29 -!- stepnem [n=stepnem@88.103.132.186] has joined #go-nuts
08:30 -!- path__ [n=path@59.162.86.164] has quit []
08:30 -!- fgb [n=fgb@190.246.85.45] has quit [Read error: 104 (Connection reset by
peer)]
08:32 -!- mainman__ [n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it]
has joined #go-nuts
08:34 -!- garbeam_ [n=arg@garbe.us] has joined #go-nuts
08:34 -!- mainman__ [n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it]
has quit [Client Quit]
08:35 -!- garbeam [n=arg@garbe.us] has quit [Read error: 104 (Connection reset by
peer)]
08:36 -!- bquinn [n=bquinn@office.velleman.com] has quit []
08:38 < KirkMcDonald> Awesome.  My command-line option parser's help
printing thingy is working.
08:39 -!- ajsharp [n=ajsharp@76.89.131.245] has quit []
08:40 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has quit [Read error:
110 (Connection timed out)]
08:41 < alus> KirkMcDonald: example?
08:41 -!- dharman [n=dharman@extranet.i-m3d.com] has joined #go-nuts
08:42 < KirkMcDonald> alus: Ever use Python's optparse module?
08:42 < mitsuhiko> why doesn't go has pointer arrithmetics...
08:42 -!- alt^255 [n=k@85.88.27.205] has left #go-nuts []
08:42 < mitsuhiko> oldpos := slice - &b;
08:42 < mitsuhiko> what would be the go way to do that?
08:44 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
08:44 -!- Cameron` [n=Cameron@203-217-12-139.perm.iinet.net.au] has quit [Read
error: 110 (Connection timed out)]
08:45 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has joined
#go-nuts
08:46 -!- olleolleolle [n=olleolle@kali.hypergene.com] has left #go-nuts []
08:46 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
["Leaving."]
08:46 < alus> KirkMcDonald: only by mistake
08:47 -!- dibb [n=dibb@ashera.openend.se] has quit [Read error: 60 (Operation
timed out)]
08:48 < jgoebel> hmmm
08:48 < jgoebel> does my CC not work?
08:48 < jgoebel> i don't see my change on the dev mailing list
08:48 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["This
computer has gone to sleep"]
08:49 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
08:49 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has quit [Read error:
110 (Connection timed out)]
08:49 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has joined #go-nuts
08:51 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-kfpkjowljwpktede] has joined
#go-nuts
08:52 -!- ajsharp [n=ajsharp@76.89.131.245] has joined #go-nuts
08:52 < jdp> why don't variables declared outside of a for loop enter its
scope?
08:54 < jgoebel> they do in my experience
08:54 < ned> jdp, i think they do..
08:54 < jgoebel> paste?
08:54 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:56 -!- p0g0 [n=pogo@unaffiliated/p0g0] has quit [Read error: 113 (No route to
host)]
08:56 < jdp> whoops silly mistake
08:57 < jdp> but i do have another question, i see why this is technically
illegal
08:57 < jdp> erver.go:47: cannot use fmt.Sprintf("unexpected input: %c",
b[0]) (type string) as type os.ErrorString
08:58 < jdp> kinda silly that i have to jump through hoops to do stuff like
that
08:59 < olegfink> jdp: os.NewError(fmt.Sprintf(...))?
08:59 < jdp> yeah i found that eventually
08:59 < sfuentes> are semicolors ever needed aside from seperators in a list
and aside from loops?
08:59 < sfuentes> err semicolons
08:59 < jdp> but i was doing it in &io.Error
09:02 < KirkMcDonald> Hmm.  Weird.  I just had a compile error which went
away when I changed the order of the source files on the command-line.
09:02 < Gracenotes> hm, is it possible to copy a map?
09:02 < Gracenotes> in one fell swoop
09:16 -!- jwzn` [n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com]
has quit [Remote closed the connection]
09:17 -!- wcn [n=wcn@74.125.57.33] has quit []
09:18 -!- Boohbah is now known as cCeZXfiwSP
09:19 -!- cCeZXfiwSP is now known as Boohbah
09:20 -!- assiss1 [n=assiss@219.143.144.229] has left #go-nuts []
09:20 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
09:20 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has joined #go-nuts
09:21 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has quit [Client
Quit]
09:22 -!- XniX23 [n=XniX23@212.235.186.231] has joined #go-nuts
09:22 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has joined #go-nuts
09:25 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has left #go-nuts
[]
09:25 -!- garbeam_ [n=arg@garbe.us] has quit [Read error: 104 (Connection reset by
peer)]
09:26 < jgoebel> hmmm
09:26 < jgoebel> http://github.com/kuroneko/gosqlite3
09:26 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
09:26 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
09:35 ,--[QueryResume]
09:35 | 08:06 -!- CallToPower [n=CallToPo@87.106.78.92] has quit [Connection reset
by peer]
09:35 | 08:06 -!- daganev [n=daganev@adsl-99-32-245-41.dsl.lsan03.sbcglobal.net]
has quit [Read error: 131 (Connection reset by peer)]
09:35 | 08:06 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has quit
[Read error: 131 (Connection reset by peer)]
09:35 | 08:06 -!- zeebo- [n=zeebo-@74.110.97.28] has quit [Connection timed out]
09:35 | 08:06 -!- _CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has
joined #go-nuts
09:35 | 08:06 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
09:35 | 08:06 -!- Yuffster [n=yuffster@71.181.138.238] has quit [Remote closed the
connection]
09:35 | 08:06 -!- harja [n=maharj@130.232.203.196] has quit [Connection timed out]
09:35 | 08:07 -!- kizzo [n=kizzo@24.6.50.117] has quit [Read error: 145
(Connection timed out)]
09:35 | 08:07 -!- tyler_wylie [n=tyler@fedora/tyler-wylie] has quit [Connection
timed out]
09:35 | 08:07 -!- triplez [n=triplez@218.212.225.52] has quit [Connection timed
out]
09:35 | 08:07 -!- triplez_ [n=triplez@cm52.sigma225.maxonline.com.sg] has joined
#go-nuts
09:35 | 08:07 -!- General13372 [n=support@71.84.247.187] has quit [SendQ exceeded]
09:35 | 08:07 -!- emptypointer [n=chatzill@p5084AA7C.dip0.t-ipconnect.de] has quit
["ChatZilla 0.9.85 [Iceweasel 3.0.9/2009042807]"]
09:35 | 08:07 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net]
has quit [Read error: 145 (Connection timed out)]
09:35 | 08:07 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has quit
[Connection timed out]
09:35 | 08:07 -!- riot [n=wntrmut@137.226.147.251] has quit [SendQ exceeded]
09:35 | 08:07 -!- triplez_ is now known as triplez
09:35 | 08:07 -!- mejja
[n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has joined #go-nuts
09:35 | 08:07 -!- paulca [n=paul@89.100.39.244] has quit []
09:35 | 08:07 -!- daganev [n=daganev@99.32.245.41] has joined #go-nuts
09:35 | 08:07 -!- Cameron [n=Cameron@203.217.12.139] has quit [Connection timed
out]
09:35 | 08:08 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined
#go-nuts
09:35 | 08:08 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has quit
[Connection timed out]
09:35 | 08:09 -!- kizzo_ [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has quit
[Client Quit]
09:35 | 08:09 < jdp> is there any way to disable compile failures when a
variable is declared but not used
09:35 | 08:09 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has joined
#go-nuts
09:35 | 08:10 < jdp> makes testing piece by piece hard if the whole thing
has to be implemented
09:35 | 08:10 -!- harja [n=maharj@castor.utu.fi] has joined #go-nuts
09:35 | 08:12 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
09:35 | 08:12 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has quit
[Client Quit]
09:35 | 08:12 -!- alt^255 [n=k@85.88.27.205] has joined #go-nuts
09:35 | 08:13 < octoploid> jdp: Use _ instead
09:35 | 08:13 -!- path__ [n=path@59.162.86.164] has quit [Client Quit]
09:35 | 08:13 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
09:35 | 08:13 < jabb> http://gopaste.org/63bTP doesn't print anything unless
I uncomment the only commented line :P
09:35 | 08:14 -!- kizzo [n=kizzo@c-24-6-50-117.hsd1.ca.comcast.net] has left
#go-nuts []
09:35 | 08:15 -!- vomjom [n=vomjom@99-157-248-71.lightspeed.stlsmo.sbcglobal.net]
has joined #go-nuts
09:35 | 08:15 -!- zum [n=jsykari@xdsl-83-150-88-4.nebulazone.fi] has joined
#go-nuts
09:35 | 08:15 < jgoebel> your program is probably terminating before the
routien runes?
09:35 | 08:16 < jgoebel> not sure if that's possible
09:35 | 08:16 < jgoebel> jsut a guess
09:35 | 08:16 < jabb> infinite loop in the main function
09:35 | 08:17 < jabb> when it runs it just sits there
09:35 | 08:17 < jgoebel> ah i see
09:35 | 08:17 -!- Snert [n=achowe@puff.snert.com] has quit [Read error: 113 (No
route to host)]
09:35 | 08:17 < Gracenotes> jdp: you could edit src/cmd/gc/walk.c
09:35 | 08:17 < Gracenotes> find the if block that throws it and comment it
out
09:35 | 08:18 < Gracenotes> of course, that will make your code incompatible
with other compilers
09:35 | 08:18 < Gracenotes> source file, not resultant binary.  the problem
is that _ doesn't work in all contexts
09:35 | 08:19 < Gracenotes> in my case, channel sends in expressions require
an expression, when you don't care about whether it was sent or not.  one way to
work around it is: if mychan <- val {}.  eh.
09:35 | 08:19 -!- assiss1 [n=assiss@219.143.144.229] has joined #go-nuts
09:35 | 08:19 -!- assiss [n=assiss@219.143.144.229] has quit [Read error: 104
(Connection reset by peer)]
09:35 | 08:21 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
09:35 | 08:22 < Gracenotes> _ is a good idea regardless
09:35 | 08:22 < Gracenotes> wha, it's so late already
09:35 | 08:23 -!- Yuffster [n=yuffster@71.181.138.238] has joined #go-nuts
09:35 | 08:24 < Gracenotes> okay, so I've disabled all testing and crippled
the standard library.  but I'm not done yet!  there is work to be done!
09:35 | 08:25 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has joined
#go-nuts
09:35 | 08:28 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit
[Read error: 113 (No route to host)]
09:35 | 08:29 -!- stepnem [n=stepnem@88.103.132.186] has joined #go-nuts
09:35 | 08:30 -!- path__ [n=path@59.162.86.164] has quit []
09:35 | 08:30 -!- fgb [n=fgb@190.246.85.45] has quit [Read error: 104 (Connection
reset by peer)]
09:35 | 08:32 -!- mainman__
[n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it] has joined #go-nuts
09:35 | 08:34 -!- garbeam_ [n=arg@garbe.us] has joined #go-nuts
09:35 | 08:34 -!- mainman__
[n=Adium@host247-200-dynamic.45-79-r.retail.telecomitalia.it] has quit [Client
Quit]
09:35 | 08:35 -!- garbeam [n=arg@garbe.us] has quit [Read error: 104 (Connection
reset by peer)]
09:35 | 08:36 -!- bquinn [n=bquinn@office.velleman.com] has quit []
09:35 | 08:38 < KirkMcDonald> Awesome.  My command-line option parser's help
printing thingy is working.
09:35 | 08:39 -!- ajsharp [n=ajsharp@76.89.131.245] has quit []
09:35 | 08:40 -!- tedster [n=tedster@cpe-008051.dhcp008.wadsnet.net] has quit
[Read error: 110 (Connection timed out)]
09:35 | 08:41 < alus> KirkMcDonald: example?
09:35 | 08:41 -!- dharman [n=dharman@extranet.i-m3d.com] has joined #go-nuts
09:35 | 08:42 < KirkMcDonald> alus: Ever use Python's optparse module?
09:35 | 08:42 < mitsuhiko> why doesn't go has pointer arrithmetics...
09:35 | 08:42 -!- alt^255 [n=k@85.88.27.205] has left #go-nuts []
09:35 | 08:42 < mitsuhiko> oldpos := slice - &b;
09:35 | 08:42 < mitsuhiko> what would be the go way to do that?
09:35 | 08:44 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined
#go-nuts
09:35 | 08:44 -!- Cameron` [n=Cameron@203-217-12-139.perm.iinet.net.au] has quit
[Read error: 110 (Connection timed out)]
09:35 | 08:45 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has
joined #go-nuts
09:35 | 08:46 -!- olleolleolle [n=olleolle@kali.hypergene.com] has left #go-nuts
[]
09:35 | 08:46 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has
quit ["Leaving."]
09:35 | 08:46 < alus> KirkMcDonald: only by mistake
09:35 | 08:47 -!- dibb [n=dibb@ashera.openend.se] has quit [Read error: 60
(Operation timed out)]
09:35 | 08:48 < jgoebel> hmmm
09:35 | 08:48 < jgoebel> does my CC not work?
09:35 | 08:48 < jgoebel> i don't see my change on the dev mailing list
09:35 | 08:48 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit
["This computer has gone to sleep"]
09:35 | 08:49 -!- dibb [n=dibb@ashera.openend.se] has joined #go-nuts
09:35 | 08:49 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has quit [Read
error: 110 (Connection timed out)]
09:35 | 08:49 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has joined
#go-nuts
09:35 | 08:51 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-kfpkjowljwpktede]
has joined #go-nuts
09:35 | 08:52 -!- ajsharp [n=ajsharp@76.89.131.245] has joined #go-nuts
09:35 | 08:52 < jdp> why don't variables declared outside of a for loop
enter its scope?
09:35 | 08:54 < jgoebel> they do in my experience
09:35 | 08:54 < ned> jdp, i think they do..
09:35 | 08:54 < jgoebel> paste?
09:35 | 08:54 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
09:35 | 08:56 -!- p0g0 [n=pogo@unaffiliated/p0g0] has quit [Read error: 113 (No
route to host)]
09:35 | 08:56 < jdp> whoops silly mistake
09:35 | 08:57 < jdp> but i do have another question, i see why this is
technically illegal
09:35 | 08:57 < jdp> erver.go:47: cannot use fmt.Sprintf("unexpected input:
%c", b[0]) (type string) as type os.ErrorString
09:35 | 08:58 < jdp> kinda silly that i have to jump through hoops to do
stuff like that
09:35 | 08:59 < olegfink> jdp: os.NewError(fmt.Sprintf(...))?
09:35 | 08:59 < jdp> yeah i found that eventually
09:35 | 08:59 < sfuentes> are semicolors ever needed aside from seperators
in a list and aside from loops?
09:35 | 08:59 < sfuentes> err semicolons
09:35 | 08:59 < jdp> but i was doing it in &io.Error
09:35 | 09:02 < KirkMcDonald> Hmm.  Weird.  I just had a compile error which
went away when I changed the order of the source files on the command-line.
09:35 | 09:02 < Gracenotes> hm, is it possible to copy a map?
09:35 | 09:02 < Gracenotes> in one fell swoop
09:35 | 09:16 -!- jwzn`
[n=user@CPE001839f8e82b-CM0017ee6363de.cpe.net.cable.rogers.com] has quit [Remote
closed the connection]
09:35 | 09:17 -!- wcn [n=wcn@74.125.57.33] has quit []
09:35 | 09:18 -!- Boohbah is now known as cCeZXfiwSP
09:35 | 09:19 -!- cCeZXfiwSP is now known as Boohbah
09:35 | 09:20 -!- assiss1 [n=assiss@219.143.144.229] has left #go-nuts []
09:35 | 09:20 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
09:35 | 09:20 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has joined
#go-nuts
09:35 | 09:21 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has quit
[Client Quit]
09:35 | 09:22 -!- XniX23 [n=XniX23@212.235.186.231] has joined #go-nuts
09:35 | 09:22 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has joined
#go-nuts
09:35 | 09:25 -!- qcesarjr [n=qcesarjr@wsip-70-166-99-7.ph.ph.cox.net] has left
#go-nuts []
09:35 | 09:25 -!- garbeam_ [n=arg@garbe.us] has quit [Read error: 104 (Connection
reset by peer)]
09:35 | 09:26 < jgoebel> hmmm
09:35 | 09:26 < jgoebel> http://github.com/kuroneko/gosqlite3
09:35 | 09:26 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
09:35 | 09:26 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
09:35 `--<~/irclogs/freenode/#go-nuts.log>->
09:35 -!- uriel [n=uriel@li43-28.members.linode.com] has joined #go-nuts
09:35 -!- Topic for #go-nuts: Go: http://golang.org | Bug tracker:
http://code.google.com/p/go/issues/list |
http://code.google.com/p/go/wiki/CommonProblems | Please use a pastebin (like
pastebin.com) and include all context when reporting errors
09:35 -!- Topic set by rsc9 [] [Wed Nov 11 09:21:42 2009]
09:35 [Users #go-nuts]
09:35 [+danderson ] [ ct ] [ Guest34451 ] [ kolmodin ] [ pbunbun ] [ ssantino ]
09:35 [+iant ] [ cworth ] [ Gussi ] [ korfuri ] [ Perberos ] [ ssb ]
09:35 [ [k2]_ ] [ cyt ] [ h4xOr ] [ kota1111 ] [ Peter` ] [ sstangl ]
09:35 [ __ed ] [ daganev ] [ hagna ] [ KragenSitaker] [ philips ] [ StDan ]
09:35 [ __gilles ] [ dagle2 ] [ halfdan_ ] [ kridian ] [ pierron ] [ stepnem ]
09:35 [ _CallToPower ] [ darjeeling ] [ hallsa ] [ kuroneko ] [ Pilate ] [ strlen
]
09:35 [ abbyz ] [ dD0T ] [ harja ] [ laprice ] [ pilt ] [ svanlund ]
09:35 [ absurdh ] [ dejones ] [ Hertta ] [ lbrandy_ ] [ plux ] [ swetland ]
09:35 [ ac ] [ Demp ] [ hhg ] [ lenst ] [ poucet ] [ syd ]
09:35 [ adante ] [ deufrai ] [ highb ] [ lifeless ] [ pquerna ] [ Sylvain_ ]
09:35 [ ahf ] [ dg ] [ hnaz ] [ lmoura ] [ praetorian ] [ synx` ]
09:35 [ aidecoe ] [ dharman ] [ Hofanoff ] [ lolsuper_ ] [ prip ] [ t5vaha01 ]
09:35 [ ajhager ] [ dho ] [ homa_ran1 ] [ Lorthirk ] [ ptrb ] [ taaz ]
09:35 [ ajray-away ] [ diatribes ] [ Hong_MinHee ] [ lstoll ] [ purefusion ] [
tabo ]
09:35 [ akheron ] [ dibb ] [ hoodow ] [ luca__ ] [ quag ] [ taybin ]
09:35 [ alamar ] [ dj_ryan ] [ hooopy ] [ luca_work_ ] [ raphael ] [ tc ]
09:35 [ alexf ] [ DJCapelis ] [ hstimer ] [ m-takagi ] [ rbancroft ] [ teedex ]
09:35 [ alexsuraci ] [ dobre_zlo ] [ huf ] [ Maddas ] [ reppie ] [ TenOfTen ]
09:35 [ Altercation ] [ DotMethod ] [ hyn ] [ madmoose ] [ rhc ] [ tetha ]
09:35 [ alus ] [ doublec ] [ Ian_Daniher ] [ magglass1 ] [ rickard ] [ tgall_foo ]
09:35 [ Amaranth ] [ dpb ] [ icy ] [ maruel ] [ Rint ] [ The_Ball ]
09:35 [ AmirMohammad ] [ Dreamer3 ] [ igfud ] [ mat_ ] [ Rob_Russell] [ TheL ]
09:35 [ amro ] [ drhodes ] [ igorgue ] [ mbt ] [ Robdgreat ] [ tokuhiro_______]
09:35 [ andern ] [ droid0011 ] [ imbrandon ] [ me___ ] [ robot12 ] [ tomaw_ ]
09:35 [ andoma ] [ drry ] [ impl ] [ mejja ] [ rob| ] [ triddell ]
09:35 [ andresambrois] [ dsp_ ] [ inittab- ] [ melba ] [ rog ] [ triplez ]
09:35 [ antarus ] [ dsuch ] [ Innominate ] [ ment_ ] [ rogue780 ] [ tromp_ ]
09:35 [ anticw ] [ dwery ] [ insane_coder] [ mfb ] [ RooTer ] [ trutkin ]
09:35 [ Anusko ] [ ector ] [ int-e ] [ michaelh ] [ roto ] [ tsavola ]
09:35 [ ArekZB ] [ eek ] [ interskh ] [ mikejs ] [ rthc ] [ turutosiya ]
09:35 [ arun ] [ Egelmex ] [ ironfroggy_ ] [ mizai ] [ rullie ] [ tyler_wy1ie ]
09:35 [ AryehGregor ] [ eharmon ] [ islands ] [ mjard ] [ rup ] [ u4ia ]
09:35 [ atsampson ] [ eiro ] [ itrekkie ] [ mjburgess ] [ s_mosher ] [ uriel ]
09:35 [ awalton ] [ elmarco ] [ jabb ] [ mncaudill ] [ saati_ ] [ uxp ]
09:35 [ axisys ] [ emit ] [ JAH ] [ monkfish ] [ sahazel ] [ vegai ]
09:35 [ bakkdoor ] [ enigmus ] [ jaska^ ] [ monteslu ] [ sanooj ] [ vegard ]
09:35 [ Bao ] [ eno ] [ jaxdahl ] [ mow ] [ savy ] [ vmac ]
09:35 [ bartwe ] [ ephoenix ] [ jb55 ] [ mpl ] [ scandal ] [ vomjom ]
09:35 [ bear ] [ Eridius ] [ JBdiGriz ] [ mpurcell ] [ scoopr ] [ vsmatck ]
09:35 [ beneth` ] [ erikd ] [ JBeshir ] [ mrd` ] [ scyth ] [ vt100 ]
09:35 [ bengl ] [ Esmil ] [ jepler ] [ mrmg ] [ sdier ] [ vt3 ]
09:35 [ bentley` ] [ evilhackerdude] [ Jerub ] [ msw ] [ seank ] [ vz ]
09:35 [ bj_990 ] [ exch ] [ jessta ] [ mtz ] [ segy ] [ werdan7 ]
09:35 [ bjarneh ] [ exDM69 ] [ jgoebel ] [ MX80 ] [ senneth ] [ Wezz6400_ ]
09:35 [ bluemoon ] [ Exstatica ] [ jiing_ ] [ mxcl ] [ serdar_ ] [ whiteley ]
09:35 [ BlueT_ ] [ eydaimon ] [ jlouis ] [ mycroftiv ] [ sfuentes ] [ Whtiger ]
09:35 [ BMeph ] [ Eytre ] [ jnwhiteh ] [ Nanoo ] [ shachaf ] [ Wi11 ]
09:35 [ bockmabe_ ] [ F1sh ] [ jobias ] [ nathanielk ] [ shambler ] [ wifs ]
09:35 [ bombuzal ] [ facemelter ] [ johncylee ] [ nbaum ] [ shardz ] [ wiretapped
]
09:35 [ Boohbah ] [ feenode ] [ JoLeClodo ] [ ned ] [ shasbot ] [ wm_eddie ]
09:35 [ Borf ] [ felipe ] [ JoNaZ ] [ nickjohnson ] [ shatly ] [ wollw ]
09:35 [ brontide ] [ fhs_ ] [ Jooon ] [ niekie ] [ shawn ] [ wooden ]
09:35 [ bsod2 ] [ Fl1pFl0p ] [ josh ] [ nigeltao ] [ silvs ] [ woremacx ]
09:35 [ Bun ] [ ForLoop ] [ jshriver ] [ no_mind ] [ sjbrown ] [ x-ip ]
09:35 [ cagdas ] [ Fraeon ] [ jurg ] [ NoOneButMe ] [ skerner ] [ xid ]
09:35 [ category ] [ franksalim ] [ jvogel_ ] [ Norgg ] [ skyyy ] [ xjih78 ]
09:35 [ cbus ] [ Freeaqingme ] [ K6HX ] [ nsz ] [ sladegen ] [ XniX23 ]
09:35 [ CFlux ] [ freespace ] [ kaigan|work ] [ Null_ ] [ sliceofpi ] [ xorl ]
09:35 [ chickamade ] [ frodenius ] [ kampasky ] [ nullpo_ ] [ Smari ] [ Yappo_ ]
09:35 [ chipdude ] [ FxChiP ] [ Kashia ] [ octoploid ] [ smcq ] [ Ycros ]
09:35 [ Chris ] [ garbeam ] [ kayess_ ] [ offby1` ] [ Smergo ] [ Zarutian ]
09:35 [ chrome ] [ Garibaldi ] [ kcwu ] [ oklofok ] [ smooge ] [ zidoh ]
09:35 [ clip9_ ] [ gcarrier_ ] [ keishi ] [ olegfink ] [ snnd ] [ ztzg ]
09:35 [ Clooth ] [ General1337 ] [ kennyG_ ] [ ote ] [ Solver ] [ zum ]
09:35 [ cmatei ] [ gl ] [ kertak ] [ ozzloy ] [ Spaghettini] [ |jessica| ]
09:35 [ codemac ] [ Glao ] [ kichik|work ] [ p0g0_ ] [ spb ]
09:35 [ cpach ] [ gnibbler ] [ Killerkid ] [ pagenoare ] [ spiffytech ]
09:35 [ crakrjak ] [ gnomon ] [ kim__ ] [ Paradox924X ] [ spinout ]
09:35 [ crankyadmin ] [ gnuvince ] [ KiNgMaR ] [ path__ ] [ sr ]
09:35 [ creack ] [ Gracenotes ] [ KirkMcDonald] [ paulproteus ] [ SRabbelier ]
09:35 -!- Irssi: #go-nuts: Total of 415 nicks [0 ops, 0 halfops, 2 voices, 413
normal]
09:35 -!- lazzurs [n=lazzurs@77.74.198.235] has joined #go-nuts
09:35 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
09:35 -!- blasdelf [n=fred@c-76-104-181-225.hsd1.wa.comcast.net] has joined
#go-nuts
09:35 -!- Gynvael [n=gynvael@static-87-105-185-61.ssp.dialog.net.pl] has joined
#go-nuts
09:35 -!- Channel #go-nuts created Mon Nov 9 18:22:37 2009
09:35 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has joined
#go-nuts
09:36 -!- djm [n=djm@paludis/slacker/djm] has joined #go-nuts
09:36 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
09:36 < jgoebel> weird
09:36 < jgoebel> i had to build it by hand and copy it tehre
09:36 < jgoebel> does all.bash not do that?
09:36 -!- Irssi: Join to #go-nuts was synced in 55 secs
09:38 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
#go-nuts
09:38 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
09:38 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
09:39 -!- vcgomes [n=vcgomes@li17-238.members.linode.com] has joined #go-nuts
09:39 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined
#go-nuts
09:39 -!- ivan` [n=ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
09:39 -!- andoma [n=andoma@194.48.213.8] has left #go-nuts []
09:39 -!- kjk [n=Adium@67.215.69.74] has joined #go-nuts
09:39 -!- prefrontal [n=prefront@mist.colorado.edu] has joined #go-nuts
09:39 -!- mitsuhiko [n=mitsuhik@ubuntu/member/mitsuhiko] has joined #go-nuts
09:39 -!- dstien [n=daniel@89.236.202.84.customer.cdi.no] has joined #go-nuts
09:39 -!- Zaba [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
09:39 -!- zilt [n=aking@74.210.120.119] has joined #go-nuts
09:40 -!- chickamade [n=chickama@222.254.12.228] has quit ["Leaving"]
09:40 -!- existsec [n=existsec@yosemite.yosemite.edu] has joined #go-nuts
09:40 -!- UKRep547 [n=jcricket@pirosa01.vm.bytemark.co.uk] has joined #go-nuts
09:40 -!- bthomson [n=bthomson@pool-71-114-74-245.washdc.dsl-w.verizon.net] has
joined #go-nuts
09:40 -!- yiyus [i=12427124@je.je.je] has joined #go-nuts
09:40 -!- Yuffster [n=yuffster@71.181.138.238] has joined #go-nuts
09:40 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
joined #go-nuts
09:40 -!- mfilenko [n=decoy@ns1.ukr.ua] has joined #go-nuts
09:41 -!- nickgibbon [n=nring@210.8.201.244] has joined #go-nuts
09:41 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
09:41 -!- jimi_hendrix [n=jimi_hen@unaffiliated/jimihendrix] has joined #go-nuts
09:41 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has joined #go-nuts
09:41 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
09:41 -!- andguent [n=andguent@qcx.be] has joined #go-nuts
09:41 -!- cgibreak [n=cgibreak@pool-71-171-137-50.chi01.dsl-w.verizon.net] has
joined #go-nuts
09:42 -!- redondos [n=nnnnnred@twat.com.ar] has joined #go-nuts
09:42 -!- mitsuhiko [n=mitsuhik@ubuntu/member/mitsuhiko] has quit [Excess Flood]
09:42 -!- assiss [n=assiss@219.143.144.229] has joined #go-nuts
09:43 -!- mitsuhiko [n=mitsuhik@ubuntu/member/mitsuhiko] has joined #go-nuts
09:45 -!- XniX23 [n=XniX23@212.235.186.231] has left #go-nuts []
09:45 -!- Snert [n=achowe@puff.snert.com] has joined #go-nuts
09:46 < jdp> when you call Read on net.Conn, even if the buffer is really
big (say 25k bytes)
09:46 < jdp> will it try to fill it all in one shot?
09:46 < jdp> or do you have to loop the calls to Read in chunks
09:47 < amro> jdp: it works like other socket reads, it reads as much as it
can into the buffer.  it returns how many bytes it read
09:48 < amro> jdp: you still need to loop the read to make sure you get all
the data you're waiting for
09:48 < jdp> ok
09:48 < jdp> thanks
09:48 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
09:51 -!- kennyG_ [n=kenny@201.47.242.48.dynamic.adsl.gvt.net.br] has quit
["Leaving"]
09:52 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
#go-nuts
09:54 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
09:59 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
10:00 -!- zhaozhou [n=zhaozhou@linfast76.bitnet.nu] has joined #go-nuts
10:01 -!- offby1` [n=user@q-static-138-125.avvanta.com] has quit [Read error: 60
(Operation timed out)]
10:01 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
joined #go-nuts
10:03 < Gracenotes> hey.  I got the IRC Go-evaluating bot working, and I
think reasonably secure.  I'll run it in a few hours..  gotta get some sleep -_-
10:03 -!- chickamade [n=chickama@222.254.12.228] has joined #go-nuts
10:05 < Gracenotes> I think it helps that there's only one place import
statements are allowed, so "bad" functionality can be excluded by not importing
things.  (also by other, messier, means.) of course, if I'm wrong about this,
that's a problem, but I've taken other measures
10:07 < uriel> Gracenotes: awesome
10:07 < uriel> Gracenotes: link to source (of the irc bot)
10:07 < uriel> ?
10:07 -!- garbeam [n=arg@garbe.us] has quit [Read error: 104 (Connection reset by
peer)]
10:08 -!- garbeam [n=arg@garbe.us] has joined #go-nuts
10:09 < chickamade> I've got a gay bug here http://gopaste.org/k6Kqw#LC182
10:09 < vegai> whoa, I'm smarter than Anselm Garbe :P
10:09 < chickamade> prints out an infinte stream of 999999...
10:09 < vegai> (in a very specific way)
10:09 < jgoebel> sqlite3.cgo1.go:64: cannot use
_C_sqlite3_total_changes(h.cptr) (type _C_int) as type int in return argument
10:09 < jgoebel> anyone know how to do the right typecasting here?
10:10 < uriel> vegai: why?  because you didn't get trolled by the anti-null
zealots?
10:10 < chickamade> the caller is at line 207 and pass the correct argument
http://gopaste.org/k6Kqw#LC207
10:10 < vegai> uriel: :)
10:10 < chickamade> but the callee gets a very strange int argument
10:11 < Gracenotes> uriel: sure :) just a sec
10:11 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has quit ["This
computer has gone to sleep"]
10:12 -!- paulca [n=paul@dsl-193-043.cust.imagine.ie] has joined #go-nuts
10:12 < chickamade> anyone got a couple of seconds to reproduce?
10:12 < jgoebel> anyone here know anything about cgo?
10:15 < jgoebel> where does import "C" come from?
10:15 -!- Snert [n=achowe@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
10:16 -!- Snert [n=achowe@puff.snert.com] has joined #go-nuts
10:16 < nbaum> I don't understand the quesiton.
10:16 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
10:16 < nbaum> Question.
10:16 -!- kertak [n=kertak@78.233.124.158] has quit [Client Quit]
10:17 -!- CoconutCrab [n=toor@unaffiliated/coconutcrab] has joined #go-nuts
10:17 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
10:19 -!- kayess__ [n=kayess@ppp-124-121-168-120.revip2.asianet.co.th] has joined
#go-nuts
10:20 < chickamade> doh I figure it out
10:20 -!- kayess_ [n=kayess@ppp-124-122-211-91.revip2.asianet.co.th] has quit
[Read error: 54 (Connection reset by peer)]
10:24 < uriel> Gracenotes: feel free to post a link to the source to
http://reddit.com/r/golang/
10:28 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
10:28 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Read error:
104 (Connection reset by peer)]
10:29 < poucet> How do you specify an argument to a function must satisfy
two interfaces?
10:29 < uriel> poucet: create a new interface that includes both interfaces,
and use that (I think)
10:31 < Gracenotes> uriel: know of any good readable pastebins?
10:31 < Gracenotes> anyway, hope this will do:
http://go.pastebin.com/m3464c811
10:31 <+danderson> Gracenotes: gopaste.org ? :)
10:32 < Gracenotes> the framework, thus far.  It's based on one I previously
did in Java, particularly the parsing, but I've changed the concurrency model to
reflect go's.
10:32 < Gracenotes> I've also implemented compiling/linking/running Go
programs inside Go programs, but haven't made that into a cohesive library
10:32 < uriel> poucet: http://golang.org/doc/effective_go.html#embedding
10:32 < poucet> uriel: ah thanks, been looking for embedding
10:33 < uriel> Gracenotes: gopaste.org, it rocks
10:33 < Gracenotes> or even module
10:33 -!- crankyadmin [n=crankyad@user-5af2599d.tcl121.dsl.pol.co.uk] has quit
[Read error: 104 (Connection reset by peer)]
10:34 < Gracenotes> eh.  well, feel free to take a look; I'll be back in a
few hours (sleep)
10:35 -!- _kayess [n=kayess@ppp-124-121-163-86.revip2.asianet.co.th] has joined
#go-nuts
10:35 < uriel> Gracenotes: see you
10:36 * uriel should sleep too
10:36 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
10:37 -!- turutosiya [n=turutosi@219.106.251.65] has quit [Remote closed the
connection]
10:37 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
10:39 -!- ironfroggy__ [n=calvin@64.129.84.194] has joined #go-nuts
10:40 -!- cagdas [n=chatzill@78.191.118.121] has left #go-nuts []
10:40 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
10:40 < jgoebel> hmmm
10:40 < jgoebel> how can i init a new type but skip some of the fields?
10:41 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has joined #go-nuts
10:41 < uriel> ?
10:41 < jgoebel> s = new(Statement{nil, h});
10:41 < jgoebel> type Statement struct {
10:41 < jgoebel> cptr *C.sqlite3_stmt;
10:41 < jgoebel> handle *Handle;
10:41 < jgoebel> i just want to set the handle
10:42 -!- kegie [i=kegie@stalin.acc.umu.se] has joined #go-nuts
10:43 -!- Lorthirk` [n=cm0901@109.114.32.70] has joined #go-nuts
10:44 < jgoebel> s = &Statement{handle: h};
10:44 < jgoebel> works
10:44 -!- darjeeling [n=dj@114.111.62.248] has quit [Read error: 54 (Connection
reset by peer)]
10:45 -!- kkb110 [n=kkb110@host133-16.student.udel.edu] has joined #go-nuts
10:46 < kkb110> can I use libraries such as wxWidget with go language?
10:46 < jgoebel> what language?
10:46 < kkb110> go
10:46 < jgoebel> you can link to other c libs with cgo
10:46 < kkb110> oh I see
10:46 < jgoebel> i'm doing that right now with sqlite )
10:47 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
10:48 -!- darjeeling [n=dj@114.111.62.248] has joined #go-nuts
10:48 < nickjohnson> Can anyone suggest why this would use less than one CPU
even when started with GOMAXPROCS=4?  http://gist.github.com/236821
10:48 < nickjohnson> The relevant function is 'async2_move'
10:50 < kkb110> btw, I've read Faq but it's hard to see what's better than
using python or other simple scripting lanugages except speed
10:51 < nickjohnson> kkb110: You say that as if there's some sort of
absolute, objective scale of language 'goodness'
10:52 < kkb110> absolute..  objective scale of language??
10:52 < nickjohnson> Your statement implies there's some way to rank
languages from "best" to "worst" in an objective fashion
10:52 < nickjohnson> Which plainly isn't the case
10:53 < nickjohnson> Go has many differences to Python; for a large subset
of those, whether they make it 'better' or 'worse' is subjective
10:53 < crashR> kkb110: go is statically typed...  thats a crucial
difference
10:54 < kkb110> ok.  I've got one thing.  statically typed.  what else will
make some difference?
10:54 -!- assiss [n=assiss@219.143.144.229] has quit [Read error: 110 (Connection
timed out)]
10:54 -!- kayess__ [n=kayess@ppp-124-121-168-120.revip2.asianet.co.th] has quit
[Read error: 110 (Connection timed out)]
10:54 -!- __kayess [n=kayess@ppp-124-122-211-104.revip2.asianet.co.th] has joined
#go-nuts
10:55 < nickjohnson> Concurrency using goroutines and channels (Stackless
python has more or less the same, but you didn't specify Stackless)
10:55 < nickjohnson> Structural interfaces
10:55 < nickjohnson> And so forth.  I'm sure there's a list of features
somewhere.
10:56 < kkb110> ok hm..  do you know any url or document describes go's
feature?  (Faq isn't enough for me :( )
10:56 < nickjohnson> Have you read the tutorial and 'effective go'?
10:56 < kkb110> no
10:57 < nickjohnson> those would be good places to start
10:57 < nickjohnson> there's also the language spec
10:57 < chickamade> stackless's tasklets block and you can't select them
though
10:58 < chickamade> nickjohnson: just curious what game is that?
10:58 < kkb110> it seems it's the best way to learn go but...  I hope that
there is a document that describes what's new in go and what makes it different,
so that I can motivate myself to learn or not
10:59 < uriel> kkb110: did you watch Rob's presentation?
11:00 < nickjohnson> chickamade: It's a trivial connect 4 AI
11:00 < nickjohnson> chickamade: Created to test how well goroutines
schedule very small amounts of work :)
11:00 < kkb110> uriel: yeah I've found that but I can't see it now because
my roommate is sleeping lol I'll watch later
11:01 < uriel> headphones?
11:01 < kkb110> I don't have it now so..
11:01 < kkb110> :(
11:01 < crashR> btw..  is there any other dedicated websites about Go than
golang.org ?
11:01 < jgoebel> does cgo pull in constants to the local namespace somehow?
11:01 < uriel> crashR: http://go-lang.cat-v.org ...
11:01 < uriel> (there is also gopaste.org :))
11:02 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
11:02 < uriel> crashR: its barely been a week, I'm sure some will crop up...
there is also http://reddit.com/r/golang/
11:02 < crashR> thanks uriel..  !
11:03 < crashR> finding resources is difficult as the 'go' name isnt an
efficient keyword to search on google :)
11:03 < jgoebel> indeed
11:03 -!- raphael [n=rgb@did75-11-82-231-40-223.fbx.proxad.net] has quit
["leaving"]
11:03 -!- CoconutCrab [n=toor@unaffiliated/coconutcrab] has quit [Read error: 110
(Connection timed out)]
11:03 < uriel> crashR: http://go-lang.cat-v.org/go-search
11:03 < chickamade> nickjohnson: since your channel has buffer 7 it doesn't
block on send and the goroutine doesn't get muxed into another thread
11:04 < crashR> great uriel ! thank you !
11:04 < uriel> no problem
11:05 -!- cryptobeacon [n=irvin@unaffiliated/cryptobeacon] has joined #go-nuts
11:06 < nickjohnson> chickamade: Hm. Counterintuitive.  I set the buffer
because I didn't want the goroutines to wait on return
11:07 -!- Lorthirk [n=cm0901@109.112.51.123] has quit [Read error: 110 (Connection
timed out)]
11:07 < nickjohnson> I understand why it'd be the case in a non-preemptive
scheduler, but still, counterintuitive.  :)
11:08 -!- _kayess [n=kayess@ppp-124-121-163-86.revip2.asianet.co.th] has quit
[Connection timed out]
11:08 < chickamade> nickjohnson: you are doing it wrong though
11:08 < nickjohnson> chickamade: how so?
11:08 < chickamade> nickjohnson: go negamax_sync(*s, col, player, 6, ret);
11:09 < chickamade> modify that func to take a return channel
11:09 < chickamade> so that it is spawn in a different goroutine
11:09 < chickamade> right now you just calling it the same goroutine as
async_move2
11:10 < nickjohnson> 'ret' is a return channel
11:10 < nickjohnson> er, negamax_sync is _supposed_ to be synchronous.  :)
11:10 < nickjohnson> negamax_async takes a return channel and gets invoked
as a goroutine
11:11 -!- kayess [n=kayess@ppp-124-122-211-206.revip2.asianet.co.th] has joined
#go-nuts
11:11 < chickamade> wait you did do "go func()" outside nvm
11:13 -!- __kayess [n=kayess@ppp-124-122-211-104.revip2.asianet.co.th] has quit
[Read error: 60 (Operation timed out)]
11:13 < nickjohnson> A more trivial example - why does this take exactly the
same time with GOMAXPROCS=1 or 4?  http://pastebin.com/m50bc4aa5
11:14 < nickjohnson> (On a 4 core machine, naturally)
11:15 < exch> the loops may be optimized out as they are empty
11:15 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
11:15 < nickjohnson> exch: Nope, it takes time proportional to the size of
the loops
11:15 < exch> mm
11:15 < jgoebel> grrr
11:16 < nickjohnson> 15.0 seconds on my machine no matter how many procs.
It uses more CPU in top with GOMAXPROCS>1, though
11:16 < jgoebel> getting hung up on char * vs unsigned char *
11:16 < jgoebel> cgo likes one but not the other
11:16 < chickamade> nickjohnson: you might be interested in playing with
this http://github.com/aht/gosieve/, it's an much more efficient prime sieves than
the one from the tutorial
11:17 -!- CFlux [n=CFlux@pool-98-108-155-174.ptldor.fios.verizon.net] has quit
[Read error: 104 (Connection reset by peer)]
11:17 < nickjohnson> chickamade: I'd like to figure out why this parallel
program isn't, first.  :P
11:17 < nickjohnson> The trivial one, at least
11:17 < chickamade> nickjohnson: hmm I've got 0m22.179s vs 12.54r for
GOMAXPROCS=2
11:17 < nickjohnson> chickamade: Let me test it on another machine, then
11:17 < jgoebel> wish i knew more C
11:19 < asmo> can a channel have multiple writers?
11:19 < nickjohnson> asmo: yes
11:19 < nickjohnson> Oh, er, scratch my earlier.  I was misreading the
output.
11:19 < asmo> Implemented with lock or is it a lockless queue?
11:19 < nickjohnson> It always takes 15 cpu seconds, but wallclock seconds
scale as expected.  :P
11:20 * nickjohnson blames the difference between the 'time' command and the bash
builtin 'time' output
11:21 -!- kkb110 [n=kkb110@host133-16.student.udel.edu] has left #go-nuts []
11:22 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 110 (Connection timed out)]
11:22 < nickjohnson> Hm. I still don't see any wall-clock improvement in my
original program, though
11:22 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 110
(Connection timed out)]
11:22 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
11:22 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
11:22 < nickjohnson> And it's still using less than 1 CPU
11:24 < nickjohnson> eh, missed a buffer size on a channel
11:24 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
11:25 < jgoebel> sqlite3.cgo1.go:88: cannot use rv (type *_C_unsignedchar)
as type *_C_char in function argument anyone help?
11:25 < jgoebel> i'm sure this is something simple like typecasting
11:26 < jabb> you'll have to use unsafe.Pointer to convert to char*
11:26 < nickjohnson> Nope, still less than 1 CPU and worse wall-clock time
11:26 < jgoebel> jabb: can you show me what that might look like?
11:26 < jgoebel> return C.GoString(rv);
11:26 < jgoebel> is the code now
11:28 < jabb> http://gopaste.org/Z110s
11:28 < jabb> didn't test, but it looks similar to that
11:28 < jabb> (test what I just wrote to see if it compiles)
11:29 -!- vhold [n=vhold@adsl-67-114-158-146.dsl.sntc01.pacbell.net] has joined
#go-nuts
11:29 -!- ephoenix [n=phoenixl@cpe-66-108-194-2.nyc.res.rr.com] has quit [Remote
closed the connection]
11:31 -!- paulca [n=paul@dsl-193-043.cust.imagine.ie] has quit []
11:31 < jgoebel> can unsafe be used with "C" ?
11:31 < jgoebel> now my entire compile blows up with erally ugly errors
11:32 < jgoebel> "unsafe";
11:32 < jgoebel> gcc failed:
11:32 < jgoebel> <stdin>:6: error: 'sqlite3_column_count' undeclared
here (not in a function)
11:32 < jgoebel> cc1: warnings being treated as errors
11:33 < jgoebel> i think C imports it automatically somewhere down the line
11:33 < jgoebel> hmmm
11:33 < chickamade> nickjohnson: the game tree is different with
GOMAXPROCS>1
11:33 < jabb> got the idea from here:
http://github.com/banthar/Go-SDL/blob/master/sdl/sdl.go
11:34 < jabb> first place I saw it
11:34 < nickjohnson> chickamade: How so?
11:35 < nickjohnson> You mean the output is?
11:35 < jgoebel> ok progress
11:35 < chickamade> yeah
11:35 < nickjohnson> That shouldn't be...
11:35 < chickamade> nickjohnson: final score is 10019902 vs -20010001
11:35 < chickamade> the latter is multithreaded version
11:36 -!- bquinn [n=bquinn@nat/yahoo/x-zetmwcyrxvoubfuo] has joined #go-nuts
11:38 < nickjohnson> Hm, on my machine they're exactly identical
11:38 < chickamade> nickjohnson: and it spawned 2 threads on my computer
11:38 < nickjohnson> But then, I have modified it since I pasted
11:39 < nickjohnson> Updated: http://pastebin.com/m3da09b78
11:39 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has joined
#go-nuts
11:39 < jdp> what does interface{} mean, in the context of container/heap
11:40 < nickjohnson> Top doesn't tell me how many threads it has on this
box, but I'm fairly sure it's spawning 4, because other programs have used >1
CPU
11:40 < chickamade> jdp: means you can use it as a heap of anything (that
implements heap.Interface)
11:40 < jgoebel> hmmm
11:40 < jgoebel> well sure doesn't look like i'm geting data back :(
11:40 < jgoebel> now what am i doing wrong
11:41 < chickamade> nickjohnson: pressing H inside top show threads for me
11:41 -!- LaSaRuX [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has joined
#go-nuts
11:41 < nickjohnson> chickamade: do you still get different results with the
latest code?
11:41 < chickamade> nickjohnson: and there's http://gopaste.com for better
paste!
11:41 < chickamade> nickjohnson: running it
11:42 < chickamade> damn ur AI is slow!
11:42 < nickjohnson> nickgibbon: neat
11:42 < jgoebel> bingo: return C.GoString((*C.char)(unsafe.Pointer(rv)));
11:42 < nickjohnson> 6 ply isn't trivial.  And it wasn't designed to be
fast.  No pruning or anything.  :P
11:42 < jgoebel> had to have just the right mix of * and unsafe and & :)
11:42 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
11:42 < chickamade> nickjohnson: still got different results
11:42 < jdp> hmm
11:42 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-kfpkjowljwpktede] has quit
[Ping timeout: 180 seconds]
11:43 < jdp> i'm trying to implement a priority queue, on top of the heap
interface
11:43 < jdp> this is what i have so far: http://www.gopaste.org/1q66n
11:43 < nickjohnson> okay, this is weird.  On my mac, I get different
results, and the threaded version is slightly faster but doesn't exceed 100% CPU
usage
11:43 < jdp> but i keep getting this error: msgqueue.go:36: x.Message
undefined (type interface { } has no field Message)
11:43 < nickjohnson> On my linux box, it gives the same results, but is
slower with n threads than 1
11:44 < nickjohnson> And I'll be damned if I can figure out why it should
give different results depending on the number of threads.  There oughtn't to be
any shared state in there
11:44 < nickjohnson> Hm, unless there are two different paths with equal
score at some point
11:45 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
11:47 < chickamade> jdp: see a PQ implementation here
http://github.com/aht/gosieve/blob/master/sieve2.go#L110
11:47 < Egelmex> nickjohnson: aparently if you are doing a lot of message
passing the speed will go down with number of "cores" due to the global lock
11:48 < nickjohnson> Looks like it - right at the very beginning
11:48 < chickamade> Egelmex: there's no global lock!
11:48 < nickjohnson> Egelmex: I expected that effect with the
massively-parallel version of the code, but not with the only-slightly-parallel
one
11:49 < alus> chickamade: goroutines are lockless?
11:49 -!- MrTopf [n=mrtopf@p5B397E4B.dip.t-dialin.net] has joined #go-nuts
11:49 < chickamade> nickjohnson: there're also a parallel spectral norm
implementation in $GOROOT/test/bench
11:49 < nickjohnson> spectral norm?
11:50 -!- sliceofpi1 [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
#go-nuts
11:50 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
11:51 < chickamade> alus: the way Egelmex was speaking reminds me of the
Python GIL
11:51 < nickjohnson> chickamade: I'm still puzzled why the current version
doesn't use more CPU and go faster as a result.  There's a substantial chunk of
work for each goroutine, and they're all independent
11:51 -!- rajeshsr [n=rajeshsr@59.92.26.181] has joined #go-nuts
11:52 < chickamade> did you fix the game tree to be deterministic?
11:52 < nickjohnson> Just testing that now
11:52 < Egelmex> chickamade: from what i understand, and it is all third
hand, it has somthing like the GIL
11:52 < nickjohnson> Yup, seems to have worked.
11:53 -!- cryptobeacon [n=irvin@unaffiliated/cryptobeacon] has quit ["leaving"]
11:53 < chickamade> Egelmex: no it doesn't!
11:53 < chickamade> Python has the GIL to make sure only one thread runs at
a time
11:54 < chickamade> Go programs are truly multiple threaded
11:54 < chickamade> nickjohnson: where's the code?
11:55 < nickjohnson> chickamade: http://gist.github.com/236821
11:55 -!- ctimmerm [n=ctimmerm@83.150.80.193] has joined #go-nuts
11:57 < nickjohnson> Hm, with threads on in top, I see 4 threads, each of
which consumes 25% of one CPU.  Weird.
12:00 -!- m-takagi is now known as m-takagi_
12:01 < Jerub> nickjohnson: sounds like i/o contention spread accross all
cpus
12:01 < nickjohnson> Jerub: There is no I/O.
12:05 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
12:05 -!- penguin42 [n=dg@tu006.demon.co.uk] has joined #go-nuts
12:06 < alus> without looking at the code, is the majority of the time spent
switching goroutines?
12:06 < alus> there could really be a global scheduler lock, which only
executes from one thread
12:07 < nickjohnson> alus: Not in the example I'm currently testing.  It
starts off 7 goroutines, each of which takes perhaps 500ms-1 second to execute
12:09 < alus> do you have real cores or HyperThreads?
12:09 [Users #go-nuts]
12:09 [+danderson ] [ cworth ] [ Gynvael ] [ kmc ] [ penguin42 ] [ SRabbelier ]
12:09 [+iant ] [ Cyprien ] [ h4xOr ] [ kolmodin ] [ Perberos ] [ ssantino ]
12:09 [ [k2]_ ] [ cyt ] [ hagna ] [ korfuri ] [ Peter` ] [ ssb ]
12:09 [ __ed ] [ daganev ] [ halfdan_ ] [ kota1111 ] [ philips ] [ sstangl ]
12:09 [ __gilles ] [ dagle2 ] [ hallsa ] [ KragenSitaker] [ pierron ] [ stalled ]
12:09 [ _CallToPower ] [ darjeeling ] [ harja ] [ kridian ] [ Pilate ] [ StDan ]
12:09 [ abbyz ] [ dD0T ] [ Hertta ] [ kuroneko ] [ pilt ] [ stepnem ]
12:09 [ absurdh ] [ dejones ] [ hhg ] [ laprice ] [ plux ] [ strlen ]
12:09 [ ac ] [ Demp ] [ highb ] [ LaSaRuX ] [ poucet ] [ svanlund ]
12:09 [ adante ] [ depood ] [ hipe ] [ lazzurs ] [ pquerna ] [ swetland ]
12:09 [ afurlan ] [ deufrai ] [ hnaz ] [ lbrandy_ ] [ praetorian ] [ syd ]
12:09 [ ahf ] [ dg ] [ Hofanoff ] [ lenst ] [ prefrontal ] [ synx` ]
12:09 [ aidecoe ] [ dharman ] [ homa_ran1 ] [ lifeless ] [ prip ] [ t5vaha01 ]
12:09 [ ajhager ] [ dho ] [ Hong_MinHee ] [ lmoura ] [ ptrb ] [ taaz ]
12:09 [ ajray-away ] [ diatribes ] [ hoodow ] [ lolsuper_ ] [ purefusion ] [ tabo
]
12:09 [ akheron ] [ dibb ] [ hooopy ] [ Lorthirk` ] [ quag ] [ taybin ]
12:09 [ alamar ] [ dj_ryan ] [ hstimer ] [ lstoll ] [ rajeshsr ] [ tc ]
12:09 [ alexf ] [ DJCapelis ] [ huf ] [ luca__ ] [ RayNbow ] [ TenOfTen ]
12:09 [ alexsuraci ] [ djm ] [ hyn ] [ luca_work_ ] [ Raziel2p ] [ tetha ]
12:09 [ Altercation ] [ dobre_zlo ] [ Ian_Daniher ] [ m-takagi_ ] [ rbancroft ] [
tgall_foo ]
12:09 [ alus ] [ DotMethod ] [ icy ] [ Maddas ] [ redondos ] [ The_Ball ]
12:09 [ Amaranth ] [ doublec ] [ igfud ] [ madmoose ] [ reppie ] [ TheL ]
12:09 [ AmirMohammad ] [ dpb ] [ igorgue ] [ magglass1 ] [ rhc ] [
tokuhiro_______]
12:09 [ amro ] [ Dreamer3 ] [ ikke ] [ maruel ] [ rhelmer ] [ tomaw_ ]
12:09 [ andern ] [ drhodes ] [ imbrandon ] [ mat_ ] [ rickard ] [ trickie ]
12:09 [ andguent ] [ droid0011 ] [ impl ] [ mbt ] [ Rint ] [ triddell ]
12:09 [ andresambrois] [ drry ] [ inittab- ] [ me___ ] [ Rob_Russell] [ triplez ]
12:09 [ antarus ] [ dsp_ ] [ Innominate ] [ mejja ] [ Robdgreat ] [ tromp_ ]
12:09 [ anticw ] [ dstien ] [ insane_coder] [ melba ] [ robot12 ] [ trutkin ]
12:09 [ Anusko ] [ dsuch ] [ int-e ] [ ment_ ] [ rob| ] [ trvbldn ]
12:09 [ ArekZB ] [ dwery ] [ interskh ] [ mfb ] [ rog ] [ tsavola ]
12:09 [ arun ] [ ector ] [ ironfroggy_ ] [ mfilenko ] [ rogue780 ] [ tyler_wy1ie ]
12:09 [ AryehGregor ] [ eek ] [ ironfroggy__] [ michaelh ] [ RooTer ] [ u4ia ]
12:09 [ asmo ] [ Egelmex ] [ islands ] [ mikejs ] [ roto ] [ UKRep547 ]
12:09 [ atsampson ] [ eharmon ] [ itrekkie ] [ mitsuhiko ] [ rrr ] [ uriel ]
12:09 [ awalton ] [ eiro ] [ ivan` ] [ mizai ] [ rthc ] [ uxp ]
12:09 [ axisys ] [ elmarco ] [ jabb ] [ mjard ] [ rullie ] [ vcgomes ]
12:09 [ bakkdoor ] [ emit ] [ JAH ] [ mjburgess ] [ rup ] [ vegai ]
12:09 [ Bao ] [ engla ] [ Jan_Flanders] [ mncaudill ] [ s_mosher ] [ vegard ]
12:09 [ bartwe ] [ enigmus ] [ jaska^ ] [ monkfish ] [ saati_ ] [ vhold ]
12:09 [ bear ] [ eno ] [ jaxdahl ] [ monteslu ] [ sahazel ] [ vmac ]
12:09 [ beneth` ] [ Eridius ] [ jb55 ] [ mow ] [ sanooj ] [ vomjom ]
12:09 [ bengl ] [ erikd ] [ jbauer ] [ mpl ] [ savy ] [ vsmatck ]
12:09 [ bentley` ] [ Esmil ] [ JBdiGriz ] [ mpurcell ] [ scandal ] [ vt100 ]
12:09 [ bj_990 ] [ evilhackerdude] [ JBeshir ] [ mrd` ] [ scoopr ] [ vt3 ]
12:09 [ bjarneh ] [ exch ] [ jdp ] [ mrmg ] [ scyth ] [ vz ]
12:09 [ blasdelf ] [ exDM69 ] [ jepler ] [ MrTopf ] [ sdier ] [ werdan7 ]
12:09 [ bluemoon ] [ existsec ] [ Jerub ] [ msw ] [ seank ] [ Wezz6400_ ]
12:09 [ BlueT_ ] [ existsec_ ] [ jessta ] [ mtz ] [ segy ] [ whiteley ]
12:09 [ BMeph ] [ Exstatica ] [ jgoebel ] [ MX80 ] [ senneth ] [ Whtiger ]
12:09 [ bockmabe_ ] [ eydaimon ] [ jiing_ ] [ mxcl ] [ serdar_ ] [ Wi11 ]
12:09 [ bombuzal ] [ Eytre ] [ jimi_hendrix] [ mycroftiv ] [ sfuentes ] [ wifs ]
12:09 [ Boohbah ] [ F1sh ] [ jlouis ] [ Nanoo ] [ shachaf ] [ wiretapped ]
12:09 [ Borf ] [ facemelter ] [ jnwhiteh ] [ nathanielk ] [ shambler ] [ wm_eddie
]
12:09 [ bquinn ] [ feenode ] [ jobias ] [ nbaum ] [ shardz ] [ wollw ]
12:09 [ brontide ] [ felipe ] [ johncylee ] [ ned ] [ shasbot ] [ wooden ]
12:09 [ bsod2 ] [ fhs_ ] [ JoLeClodo ] [ nickgibbon ] [ shatly ] [ woremacx ]
12:09 [ bthomson ] [ Fl1pFl0p ] [ JoNaZ ] [ nickjohnson ] [ shawn ] [ x-ip ]
12:09 [ Bun ] [ ForLoop ] [ Jooon ] [ niekie ] [ silvs ] [ xid ]
12:09 [ category ] [ Fraeon ] [ josh ] [ nigeltao ] [ skerner ] [ xjih78 ]
12:09 [ cbus ] [ franksalim ] [ jshriver ] [ no_mind ] [ skyyy ] [ xorl ]
12:09 [ cgibreak ] [ Freeaqingme ] [ jurg ] [ NoOneButMe ] [ sladegen ] [ Yappo_ ]
12:09 [ chickamade ] [ freespace ] [ jvogel_ ] [ Norgg ] [ sliceofpi1 ] [ Ycros ]
12:09 [ chipdude ] [ frodenius ] [ K6HX ] [ nsz ] [ Smari ] [ yiyus ]
12:09 [ Chris ] [ FxChiP ] [ kaigan|work ] [ Null_ ] [ smcq ] [ Yuffster ]
12:09 [ chrome ] [ garbeam ] [ kampasky ] [ nullpo_ ] [ Smergo ] [ Zaba_ ]
12:09 [ clearscreen ] [ Garibaldi ] [ kayess ] [ octoploid ] [ smooge ] [ Zarutian
]
12:09 [ clip9_ ] [ gcarrier_ ] [ kcwu ] [ oklofok ] [ Snert ] [ zhaozhou ]
12:09 [ Clooth ] [ General1337 ] [ kegie ] [ olegfink ] [ snnd ] [ zidoh ]
12:09 [ cmatei ] [ gl ] [ keishi ] [ ote ] [ Solver ] [ zilt ]
12:09 [ codemac ] [ Glao ] [ kichik|work ] [ ozzloy ] [ soul9 ] [ ztzg ]
12:09 [ cpach ] [ gnibbler ] [ kill-9 ] [ p0g0_ ] [ Spaghettini] [ zum ]
12:09 [ crakrjak ] [ gnomon ] [ Killerkid ] [ pagenoare ] [ spb ] [ |jessica| ]
12:09 [ crashR ] [ gnuvince ] [ kim__ ] [ Paradox924X ] [ spiffytech ]
12:09 [ creack ] [ Gracenotes ] [ KiNgMaR ] [ path__ ] [ spinout ]
12:09 [ ct ] [ Guest34451 ] [ KirkMcDonald] [ paulproteus ] [ spook327 ]
12:09 [ ctimmerm ] [ Gussi ] [ kjk ] [ pbunbun ] [ sr ]
12:09 -!- Irssi: #go-nuts: Total of 458 nicks [0 ops, 0 halfops, 2 voices, 456
normal]
12:09 < nickjohnson> real cores
12:09 < alus> hm.
12:11 < nickjohnson> Even weirder is that the same code shows a slight
improvement with more threads on my mac, and a slight degradation with more
threads on my linux box
12:11 < nickjohnson> In either case, without exceeding 1 CPU across all
threads
12:12 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has quit
[Remote closed the connection]
12:13 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Client
Quit]
12:13 -!- plainhao [n=plainhao@mail.xbiotica.com] has joined #go-nuts
12:13 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
12:14 -!- BMeph [n=black_me@65.103.151.24] has quit [Read error: 110 (Connection
timed out)]
12:14 < uriel> nickjohnson: have you tried comparing how it works on gccgo
vs gc?
12:14 < nickjohnson> uriel: I haven't tried out gccgo yet
12:15 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 145 (Connection
timed out)]
--- Log closed Tue Nov 17 12:20:04 2009
--- Log opened Tue Nov 17 12:21:38 2009
12:22 -!- remy__ [n=remy@telnet.telecom-lille1.eu] has joined #go-nuts
12:23 < remy__> what would be the best way to have something that looks like
a constructor ?
12:23 < remy__> I've got a map in a struct
12:24 < remy__> and the default value is nil
12:24 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
12:24 < remy__> i'd like the map to be initialized when I new() my type
12:25 < nickjohnson> remy__: The convention is to define a 'New' or 'NewFoo'
function in your module
12:29 -!- Bun [n=kgm@69.60.117.186] has left #go-nuts []
12:30 < remy__> nickjohnson: ok, that's what I feared
12:30 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
12:30 < nickjohnson> Why is that so bad?
12:32 -!- vdrab [n=vdrab@cap003-017.kcn.ne.jp] has joined #go-nuts
12:34 -!- path__ [n=path@59.162.86.164] has quit []
12:35 < remy__> nickjohnson: I'm not sure
12:35 < uriel> heh
12:36 < remy__> nickjohnson: it's just that it sounds bad to me in some way
12:36 < uriel> remy__: that is because the OO religion has brainwashed you
12:37 < remy__> uriel: yeah I guess so
12:37 < exDM69> yeah, constructors and functions that return new objects are
essentially the same
12:37 < exDM69> not in C++ tho
12:38 -!- breeno [n=breeno@12.185.80.194] has joined #go-nuts
12:38 < nickjohnson> Although, is there any way to initialize a
stack-allocated struct with the Go approach?
12:38 < exDM69> inheritance also adds stuff that may need constructors
12:38 < exDM69> nickjohnson: are there stack-allocated structs in go?
12:39 < nickjohnson> exDM69: Sure - just declare one as a local
12:40 < uriel> nickjohnson: so, you are working on this?
http://code.google.com/p/googleappengine/issues/detail?id=2382 ;P
12:40 < exDM69> nickjohnson: you sure about that?  sounds to me like it
would break stuff
12:40 < nickjohnson> exDM69: I've used it myself.  Structs are structs,
there's nothing stopping you allocating them on the stack
12:41 < exDM69> you can't use them as return values and using them in data
structures will mess up garbage collectionb
12:41 -!- TheAppleMan [n=apple@funtoo/contributor/theappleman] has joined #go-nuts
12:41 < exDM69> or then there is a workaround for those problems
12:42 < nickjohnson> Yes, obviously you can't pass pointers to them that
exceed the lifetime of the function they're defined in
12:42 < nickjohnson> not sure how Go handles it if you try
12:43 < uriel> nickjohnson: it allocates then on the heap if you return a
pointer to it
12:44 < uriel> the compiler is smart enough to figure it out for you where
to allocate it
12:44 < alus> neat
12:44 < uriel> (I think rob explained this in the mailing list)
12:45 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
12:47 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 110 (Connection timed out)]
12:47 -!- cmarcelo [n=cmarcelo@200.184.118.130] has joined #go-nuts
12:47 < nickjohnson> uriel: So it just looks like a local?  Crazy.
12:47 < nickjohnson> Does it magic away initializations as well?
12:48 < jgoebel> interesting now json impliments generics
12:48 < uriel> nickjohnson: not sure what you mean
12:48 < exDM69> jgoebel: generics in json?
12:48 < uriel> nickjohnson: if I got iant right, in Go the stack lives in
the heap anyway
12:48 < jgoebel> yes the json package
12:49 < uriel> jgoebel: to me it looks like it uses interfaces...
12:49 < nickjohnson> uriel: That doesn't really make any difference - stacks
are, well, stacked.
12:50 < nickjohnson> Unless every frame is individually allocated on the
heap and not freed until all references to locals are gone
12:50 < uriel> (what all the people asking and whinning about lack of
generics are missing is that with interfaces there is less need for generics)
12:50 < jgoebel> hmmmm
12:50 -!- breeno [n=breeno@12.185.80.194] has left #go-nuts []
12:50 < nickjohnson> I'm still curious how you initialize a struct on the
stack, though - even with a linked-list stack, that doesn't answer the question
12:50 < jgoebel> ah
12:50 < jgoebel> interesting :)
12:51 < uriel> nickjohnson: the compiler allocates it on the heap if the
function passes out a reference, so that makes sense to me
12:53 < nickjohnson> uriel: That still doesn't answer my question, though.
:)
12:53 -!- ponce [n=ponce@paradisia.net] has joined #go-nuts
12:54 < nickjohnson> If 'NewFoo' returns a pointer to a heap-allocated Foo,
how do I initialize my "var bar Foo"?
12:54 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
12:57 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-tzaxbzirdjfflcmd] has joined
#go-nuts
12:58 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
12:58 < uriel> nickjohnson:
http://groups.google.com/group/golang-nuts/browse_thread/thread/7b7c3b3a37feecd6/79816df02f26d65e
12:58 < uriel> (there are a few more threads about this)
13:01 -!- paulca [n=paul@86.43.5.29] has joined #go-nuts
13:02 -!- TheAppleMan [n=apple@funtoo/contributor/theappleman] has quit
["leaving"]
13:04 -!- scriptdevil [n=scriptde@122.174.109.132] has joined #go-nuts
13:05 -!- baldmountain [n=baldmoun@65.219.200.66] has joined #go-nuts
13:05 < nickjohnson> uriel: That addresses stack vs heap allocation, but not
construction of structs (as opposed to struct pointers)
13:05 -!- mightybyte [n=mightyby@pool-74-107-117-150.bltmmd.fios.verizon.net] has
joined #go-nuts
13:05 -!- baldmountain [n=baldmoun@65.219.200.66] has quit [Client Quit]
13:05 -!- baldmountain [n=baldmoun@65.219.200.66] has joined #go-nuts
13:07 < uriel> sorry, I'm not very awake, will try to figure it out later :)
13:08 -!- ponce [n=ponce@paradisia.net] has left #go-nuts []
13:08 < jlouis> nickjohnson: you probably just declare the struct and the
compiler chooses where to allocate it based on liveness of that struct.  If it
outlives its scope it is stuffed to the heap; if not, it can go on the stack
13:09 < jlouis> nickjohnson: It is a classic escape analysis optimization,
functional languages has had this one for about 20 years
13:09 < mightybyte> Why doesn't the time package export useful constants
like longDayNames, shortDayNames, and shortMonthNames?
13:10 < jlouis> nickjohnson: coincidentially, Java6 has a flag that enables
escape analysis.  It is said to give around 20-30% performance because many heap
allocations gets promoted to stack allocation
13:10 -!- eno [n=eno@nslu2-linux/eno] has quit [Read error: 104 (Connection reset
by peer)]
13:10 -!- triplez_ [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
13:11 -!- paulca_ [n=paul@86.43.5.29] has joined #go-nuts
13:11 < jlouis> in addition, if something never escapes its scope, you can
omit taking locks on it and other neat stuff
13:12 -!- eno [n=eno@nslu2-linux/eno] has joined #go-nuts
13:13 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit [Read error:
60 (Operation timed out)]
13:17 < nickjohnson> jlouis: Again, not wondering about where stuff is
allocated, just how to initialize a struct rather than a struct pointer
13:19 -!- x2cast [n=Administ@23.127.222.87.dynamic.jazztel.es] has joined #go-nuts
13:19 -!- x2cast [n=Administ@23.127.222.87.dynamic.jazztel.es] has left #go-nuts
[]
13:20 -!- me___ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit [Read
error: 60 (Operation timed out)]
13:20 -!- andresambrois [n=aa@r190-135-145-236.dialup.adsl.anteldata.net.uy] has
quit [Read error: 148 (No route to host)]
13:20 < remy__> is the Read from TCPConn blocking ?
13:21 -!- sergio [n=sergio@unaffiliated/sergio] has joined #go-nuts
13:22 -!- scriptdevil [n=scriptde@122.174.109.132] has left #go-nuts []
13:22 -!- paulca [n=paul@86.43.5.29] has quit [Success]
13:22 < jgoebel> hmmm
13:22 < jgoebel> can't find import: dm
13:23 < jgoebel> it's in the current directory
13:23 < vegai> it has "package dm"?
13:24 < jgoebel> yes
13:24 < jgoebel> and i tried . as well
13:24 < Ycros> jgoebel: it looks for the .a file
13:24 < jgoebel> hmm
13:24 < jgoebel> there isn't one, just a .6 file
13:24 < jgoebel> from compiling it
13:25 < vegai> he meant that, I believe
13:25 < jgoebel> dm.6 right there
13:25 < Ycros> uh, I get a .a when I build my package
13:26 < vegai> jgoebel: and then try import "./dm"
13:26 < jgoebel> ok that works
13:26 < Ycros> mmk
13:26 -!- mightybyte [n=mightyby@pool-74-107-117-150.bltmmd.fios.verizon.net] has
left #go-nuts []
13:27 < jgoebel> hmmm
13:27 < jgoebel> anyway to define top level methods on a struct?  like you
would have class level methods in ruby?
13:27 < vegai> perhaps this'll help:
http://kirkmcdonald.blogspot.com/2009/11/on-compilation-of-go-packages.html
13:28 < vegai> I suppose all methods are like that, no?
13:28 < jgoebel> but i want Person.find and State.find, etc
13:28 < jgoebel> not datamapper.Find
13:28 < jgoebel> if there any such parallel in Go?
13:29 < Ycros> jgoebel: no, just define a function
13:29 < jgoebel> well, i want to define the function once for all models
13:29 < halfdan> how do i access programm arguments?
13:29 < halfdan> -m
13:29 < jgoebel> so I'd have something like datamapper.Find(Person, 1) ?
13:30 -!- paulca_ [n=paul@86.43.5.29] has quit [Success]
13:30 -!- chickamade [n=chickama@222.254.12.228] has quit ["Leaving"]
13:30 -!- paulca [n=paul@86.43.5.29] has joined #go-nuts
13:30 < Ycros> jgoebel: once we have generics, stuff like that will be a lot
nicer to do
13:31 < dho> is there a way for me to get a diff from the last codereview
point and my current code?
13:31 < jgoebel> can i even pass struct as s top-level object?
13:31 < vegai> jgoebel: perhaps do it with interfaces?
13:31 < vegai> I'll try this myself before talking out of my backside some
more
13:31 < jgoebel> vegai: trying to figure out how to come up with something
even approximating ruby :)
13:32 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-irqxscgzcmnfywhv] has joined
#go-nuts
13:32 < vegai> that's probably a bad idea :)
13:32 < Ycros> jgoebel: this isn't ruby
13:32 < jgoebel> right
13:32 < Ycros> jgoebel: I know what you're trying to do and it won't work
13:32 < jgoebel> trying to write a nice data abstration
13:32 < jgoebel> like AR
13:32 < jgoebel> or at least see what's possible
13:32 < vegai> type Model interface { Find(id int) Model; } // perhaps?
13:33 < halfdan> is there even a way to access program arguments?
13:33 < vegai> and implement Find in your person package
13:33 < jgoebel> hmmm
13:34 < vegai> you'll have to find a different path to wrapping the database
than is possible with ruby, that's for sure
13:34 < Sylvain_> halfdan: this ? http://golang.org/pkg/flag/
13:35 < halfdan> ah crap
13:35 < halfdan> yeah i already used that
13:35 < halfdan> sorry
13:36 < jgoebel> Users/jgoebel/gosrc/gosqlite3/states.go:14: type State is
not an expression
13:36 < jgoebel> hmmm
13:36 < jgoebel> so i can't pass type as an argument
13:36 < vegai> no
13:36 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-irqxscgzcmnfywhv] has left
#go-nuts ["Parting is tough.."]
13:36 < Ycros> jgoebel: nope, we need generics for that
13:36 < jgoebel> well i was assuming it would be of type Type
13:37 < jgoebel> i'm not trying to pass an objection
13:37 < jgoebel> trying to pass the type itself
13:37 -!- Scotch [n=scotch@83.101.32.153] has joined #go-nuts
13:37 < jgoebel> in ruby class Class
13:37 < Scotch> hey there
13:37 < Ycros> jgoebel: yes, but in ruby classes are objects
13:37 -!- Fraeon_ [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
13:37 < jgoebel> yes, not so in Go i suppose :)
13:38 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Remote closed
the connection]
13:38 < vegai> there was some introspection in go, wasn' there
13:38 < jgoebel> yes there is
13:40 -!- baldmountain [n=baldmoun@65.219.200.66] has quit []
13:43 -!- paulca [n=paul@86.43.5.29] has quit []
13:43 -!- UKRep547 [n=jcricket@pirosa01.vm.bytemark.co.uk] has quit ["Leaving"]
13:44 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 145 (Connection timed out)]
13:44 -!- silvs [n=silvs@210-84-16-103.dyn.iinet.net.au] has quit ["This computer
has gone to sleep"]
13:46 -!- Freeaqingme [n=Freeaqin@ns3.hostdelight.com] has quit [Excess Flood]
13:47 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
13:47 -!- Guest42366 [n=Freeaqin@ns3.hostdelight.com] has joined #go-nuts
13:48 -!- Guest42366 [n=Freeaqin@ns3.hostdelight.com] has quit [Excess Flood]
13:48 -!- skyyy [i=caw@res55551479.rh.rit.edu] has quit [SendQ exceeded]
13:49 -!- silvs [n=silvs@210-84-16-103.dyn.iinet.net.au] has joined #go-nuts
13:49 -!- Freeaqinf [n=Freeaqin@ns3.hostdelight.com] has joined #go-nuts
13:52 -!- loureiro [n=loureiro@189.2.128.130] has joined #go-nuts
13:52 -!- bjb [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has joined #go-nuts
13:52 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 110
(Connection timed out)]
13:53 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 54 (Connection reset by peer)]
13:53 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
13:53 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
13:55 < dho> good morning go-ites
14:01 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
14:05 -!- edw [n=user@c-69-141-214-58.hsd1.pa.comcast.net] has joined #go-nuts
14:10 -!- ctimmerm [n=ctimmerm@83.150.80.193] has quit ["Leaving..."]
14:11 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit ["Leaving"]
14:12 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
14:12 -!- Freeaqinf [n=Freeaqin@ns3.hostdelight.com] has quit [Excess Flood]
14:14 -!- fhs_ [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has quit
["leaving"]
14:14 -!- Guest74735 [n=Freeaqin@ns3.hostdelight.com] has joined #go-nuts
14:15 -!- Guest74735 [n=Freeaqin@ns3.hostdelight.com] has quit [Excess Flood]
14:16 -!- Guest69707 [n=Freeaqin@ns3.hostdelight.com] has joined #go-nuts
14:16 < Scotch> Is go an object oriented language ? It looks like it but I
don't get the whole idea with interfaces...  It doesn't look like to anything
close to class imo..  Does it even handle construction/destruction ?
14:16 < JBeshir> I think creation functions are used, so no.  I don't think
that's the point of them.
14:17 < JBeshir> Go provides abstraction, which is the most important and by
far the most useful feature of OO, IMO.
14:17 < exDM69> Scotch: Go is not really OO, it has some similar concepts,
but abandons most of OO in favor of something more practical
14:17 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has joined
#go-nuts
14:18 < JBeshir> Yeah, it kinda takes the good features of OO and implements
them orthagonally, rather than using the blender approach of classes.
14:18 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Connection timed out]
14:18 < JBeshir> Even the little exposure to Go I've had time for has soured
me to putting up with the weird mix of code with data in the source that are
classes.
14:18 < edw> I need to add a method inside the http package (for handling
PUT requests); short of a massive reusing via copy and paste, anyone have a
suggestion?
14:19 < Scotch> so how's Go closer to C++ than C ?
14:20 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
14:20 < edw> Are you practicing your flamebaitting skills?  How do you
measure distance between programming languages?
14:20 < JBeshir> In terms of level, due to additions of memory management
functionality (vastly superior to the optional RAII-methods of C++, which were the
big things you needed constructors/destructors for)
14:20 < Scotch> Object oriented syntax with interfaces everywhere looks like
crap to me
14:20 < Egelmex> halfway between c++ and occam :p
14:21 < JBeshir> And some other higher level things like basic containers
included in the standard library or in the case of maps and slices, in the
language itself.
14:21 < JBeshir> I guess.
14:21 < JBeshir> Comparing level and distance is very qualitative.
14:21 < JBeshir> It doesn't seem very C++-like to me.
14:21 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
14:21 < exDM69> what I don't like about OO is that you can't add new methods
to classes, thankfully Go fixes this
14:22 < exDM69> using the visitor pattern is not a very nice solution
14:22 < edw> If it had multiple dispatch, I'd say it would most resemble
Dylan.
14:22 -!- remy__ [n=remy@telnet.telecom-lille1.eu] has quit [Remote closed the
connection]
14:23 < JBeshir> I need to learn about more arcane languages.
14:23 < JBeshir> I keep mentally converting that to Dyson.
14:23 < JBeshir> On the other hand, I'd be missing a joke if I did.
14:23 < edw> Dylan is basically CL.
14:23 < Scotch> exDM69: what's wrong with the visitor pattern ?
14:23 < exDM69> Scotch: the ton of boilerplate you have to add
14:23 < edw> Scotch: myList.map(func(x) { return x + 1; });
14:24 < exDM69> Scotch: all I want is to have some data and add operations
that work on the data
14:24 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has joined #go-nuts
14:26 < nbaum> Visitor is a solution to a language problem, not a
programming problem.
14:26 < exDM69> nbaum: exactly
14:26 < exDM69> sometimes OO seems to cause more problems than it solves
14:26 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has joined
#go-nuts
14:27 < exDM69> and the problems it solves are often related to the
underlying type system, which are mostly inherited from C
14:28 -!- bjorn` [i=bjorn@archlinux.no] has joined #go-nuts
14:30 -!- rajeshsr [n=rajeshsr@59.92.26.181] has quit [Remote closed the
connection]
14:33 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has joined #go-nuts
14:33 -!- LaSaRuX [n=pedro@184.Red-83-50-170.dynamicIP.rima-tde.net] has quit
["Leaving."]
14:40 -!- path__ [n=path@59.162.86.164] has joined #go-nuts
14:42 -!- ch4w [n=ch4w@62.57.138.69.dyn.user.ono.com] has quit [Remote closed the
connection]
14:43 -!- chickamade [n=chickama@222.254.12.228] has joined #go-nuts
14:44 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
14:44 -!- flyfish [n=flyfish@pixout.appriss.com] has joined #go-nuts
14:51 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
14:51 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Read
error: 110 (Connection timed out)]
14:52 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
14:56 -!- Scotch [n=scotch@83.101.32.153] has left #go-nuts []
14:57 -!- dgnorton [n=dgnorton@97.65.135.119] has joined #go-nuts
14:59 * nickjohnson wonders about an IOGoCC
14:59 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
15:00 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
15:02 -!- rakd [n=rakd@219.117.252.7.static.zoot.jp] has joined #go-nuts
15:02 -!- iant [n=iant@67.218.102.217] has joined #go-nuts
15:02 -!- mode/#go-nuts [+v iant] by ChanServ
15:04 < dgnorton> I have an AMD Phenom quad core running Ubuntu (9.0?) and
an Core 2 quad running XP with Ubuntu (9.01) running in VMWare.  If I build and
run my little test app (calling a go routine 1000x in a loop) on the AMD it takes
about 8 seconds to run.  If I build and run it on the Core 2 it takes less than a
second...even if I increase the loop to 10000.  Any idea why one would be so much
faster than the other?
15:05 < dgnorton> oops...the Ubuntu running the the VM is 9.10 ...  not 9.01
15:06 -!- JSharpe2 [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
15:06 -!- levicook [n=levicook@gw.alice.com] has joined #go-nuts
15:07 -!- decriptor [n=decripto@137.65.132.26] has joined #go-nuts
15:08 < dgnorton> Good morning iant
15:08 < flyfish> Can someone run this code and verify that exec.Run is not
passing args to the executable.  http://pastebin.com/m5bd077be
15:09 -!- JSharpe2 [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 54
(Connection reset by peer)]
15:09 <+danderson> dgnorton: unless you're setting GOMAXPROCS, you're in
fact benchmarking the performance of a single core of your machine
15:09 <+iant> morning
15:09 < penguin42> dgnorton: Well I've got a core2 running Ubuntu 9.10 but
not in a VM if that would help to compare
15:09 <+danderson> I don't know how phenom and core2 compare to each other,
but I can imagine that the difference could be significant
15:09 <+danderson> are you also compiling for different architectures (6g
vs.  8g) ?
15:10 -!- diltsman [n=diltsman@64.122.18.77] has joined #go-nuts
15:10 < penguin42> danderson: There shouldn't be factors difference - and if
anything I'd have expected teh phenom without vmware in the way to be faster
15:10 < dgnorton> danderson, yes 6g & 8g
15:11 <+danderson> istr that the 32 bit compiler currently optimizes less
than the 64 bit one, so that may explain it
15:11 < dgnorton> danderson, if I set GOMAXPROCS=4 on the AMD, it pegs all 4
cores and takes about 30 seconds to complete instead of 8 seconds
15:11 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla 0.9.75.1 [SeaMonkey 1.1.18/2009082513]"]
15:11 <+danderson> but that memory is vague, so I think I'd better shut up
:)
15:12 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit []
15:12 -!- roosvzjh [i=5352e40d@gateway/web/freenode/x-lyxjbnrzvdsemvxx] has joined
#go-nuts
15:13 < Gracenotes> incidentally, is there a nice way to read a line from
stdin?
15:13 < Gracenotes> or does one have to do the whole bufio thing?
15:13 -!- brown` [n=user@72.14.228.129] has joined #go-nuts
15:14 < dho> Gracenotes: gofmt does it
15:14 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
15:14 < dho> but i'm not sure if it does the `whole bufio thing' without
looking
15:14 < dgnorton> danderson, 8g is 32 bit...right?
15:14 < dho> ah, it does.
15:15 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
15:15 <+danderson> dgnorton: I believe so, yes
15:15 < dho> yes, it is
15:15 < dgnorton> danderson, my test app runs faster when compiled with 8g
...  6g is the slower
15:16 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
15:16 < penguin42> not impossible, 6g will use larger pointers
15:17 <+danderson> yeah, but orders of magnitude?
15:17 <+danderson> there is something strange at work
15:18 < Gracenotes> hey, I have my Go-evaluating bot running in #go-run —
feel free to join and see if it's suitable
15:18 < Gracenotes> I'd put it in here, but I think there would be a bit of
noise from it :/
15:18 < Gracenotes> unless it's okay to do that?
15:19 < exch> Chrome OS launches in a week :o
15:19 <+danderson> Gracenotes: I'd suggest test driving it in #go-run, then
bring it in here discreetly
15:19 <+danderson> but leave it also running in #go-run
15:19 <+danderson> so that I can direct people spamming it over there :P
15:19 <+danderson> does that make sense?
15:20 < Gracenotes> yeah, it's the case with some other language bots
15:20 < exch> the most noise I had from one of my bots was when I
implemented the magic 8 ball some years ago :p people just couldn't stop using it
15:20 -!- vdrab [n=vdrab@cap003-017.kcn.ne.jp] has quit []
15:22 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
#go-nuts
15:25 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
15:25 <+danderson> when a bot joins a channel, there's always a period of
everyone trying it.  Eventually it becomes actually useful.
15:28 -!- offby1 [n=user@q-static-138-125.avvanta.com] has joined #go-nuts
15:31 -!- zhaozhou [n=zhaozhou@linfast76.bitnet.nu] has quit [""Some cause
happiness wherever they go; others whenever they go." --Oscar Wilde"]
15:34 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 110
(Connection timed out)]
15:35 -!- afra [i=507e84eb@gateway/web/freenode/x-eyyampakienfzuzk] has joined
#go-nuts
15:36 < afra> d
15:36 -!- dharman [n=dharman@extranet.i-m3d.com] has quit [Read error: 54
(Connection reset by peer)]
15:37 -!- piotr [n=piotr@chello084010208203.chello.pl] has joined #go-nuts
15:37 -!- afraca [n=harkemas@a80-126-132-235.adsl.xs4all.nl] has joined #go-nuts
15:37 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Read error: 110
(Connection timed out)]
15:37 -!- thepalephantom [n=thepalep@64.129.209.162] has joined #go-nuts
15:37 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
15:37 -!- edw [n=user@c-69-141-214-58.hsd1.pa.comcast.net] has quit [Read error:
110 (Connection timed out)]
15:38 < roosvzjh> Hey, is there anyone that can tell me whether Go! is the
right language to produce an Anti-Cheat for games with?
15:39 -!- afra [i=507e84eb@gateway/web/freenode/x-eyyampakienfzuzk] has quit [Ping
timeout: 180 seconds]
15:39 < dho> It's called Go, and I'm not sure
15:39 < dho> What do you mean by `anti-cheat for games'
15:39 < afraca> sort of punkbuster
15:39 < roosvzjh> yeah sort of
15:39 < dho> never heard of it.
15:40 < roosvzjh> Uhm..  its like hooking in the game and scan memory of a
client etc.
15:40 < afraca> a small application meant to bust cheater in multiplayer
games
15:40 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
15:40 <+danderson> that kind of software usually needs to hack itself pretty
deep into the underlying OS, and go may not provide those interfaces yet
15:40 < afraca> that's what I thought danderson
15:40 < roosvzjh> So C++ should be a better option?
15:40 < dho> danderson: I suppose you could open /proc/PID/map
15:41 < dho> or whatever
15:41 < afraca> for an application like that some c++ libraries should be
used
15:41 < dho> either way, it's typically very game and os specific.
15:41 < afraca> and go doesn't have that kind of libraries I guess....
15:41 < s_mosher> for networked games, I like the idea of distributed
behavior checking among the various clients
15:42 -!- howboutjoe [n=howboutj@65-120-132-14.dia.static.qwest.net] has joined
#go-nuts
15:42 < roosvzjh> s_mosher: can you please explain that?
15:42 * roosvzjh is not sure what you mean
15:42 < dho> I'm surprised I only got 1 reply to my email last night
15:42 < dho> from kaib heh
15:42 < penguin42> roosvzjh: Although OT I should point out that what you
are trying to do is actually impossible
15:42 < afraca> because.....
15:42 < s_mosher> roosvzjh, you just have other clients confirm that each
player is within accepted behaviors
15:43 < s_mosher> it's kind of a vague description, and it's a heuristic
check
15:43 < dho> Is there a Wave for Go?
15:43 < afraca> I sort of get what you mean mosher
15:43 < afraca> but
15:43 <+danderson> it's impossible because you're writing software that you
must trust absolutely when it runs in an environment controlled by a hostile and
motivated attacker
15:43 < penguin42> danderson: Exactly
15:43 -!- Txarli_ [n=jcarles@53.Red-80-24-0.staticIP.rima-tde.net] has joined
#go-nuts
15:43 <+danderson> the best you can do is make it hard enough that most
won't try
15:43 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
15:43 < afraca> well
15:43 < penguin42> If you don'tr trust people not to fiddle with your game
then you can't trust them not to fiddle with your checker
15:44 <+danderson> with obfuscation, cross-checks etc.
15:44 < Txarli_> Hello all
15:44 <+danderson> but that's just delaying the inevitable
15:44 < afraca> Checking for hooking could be done easily right?
15:44 < afraca> True
15:44 <+danderson> that said, that's worked pretty well for Skype so far
15:44 < s_mosher> trying to enforce things like untampered binaries is kind
of sisyphean
15:44 <+danderson> but they have a world class obfuscator over their code
15:44 < dho> yes, but removing checks for hooking is just as easy
15:44 < afraca> But that won't be the only thing
15:45 <+danderson> and their interest is hiding an algorithm inside the
program
15:45 -!- delza [n=delza@d66-183-63-49.bchsia.telus.net] has quit []
15:45 <+danderson> not preventing outside influence over the program as a
black box
15:45 < saati_> in a game you wouldn't want an obfuscated protocoll, it
would add a ton of latency
15:45 < afraca> "their" ?
15:45 -!- roosvzjh [i=5352e40d@gateway/web/freenode/x-lyxjbnrzvdsemvxx] has quit
["Page closed"]
15:45 < afraca> hackers you mean?
15:45 < penguin42> saati_: Not necessarily, it's small compared to the
network latency; anyway I call OT
15:46 <+danderson> penguin42++
15:46 <+danderson> take it to #go-cafe or something :)
15:46 < afraca> Ok, was just wondering how far Go can go, because c++ is all
grown up, and Go so young
15:47 < dho> speaking of which
15:47 < dho> i'm really enjoying some of the comments on issues
15:47 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
15:47 < asmo> punkbuster and gameguard works much like a rootkit
15:48 < levicook> Anyone know if there's a parser generator dealing with Go
out there?
15:48 <+danderson> well, go is still experimental quality at this stage, so
if you need a production quality language today, I wouldn't recommend using Go.
15:48 < dho> like the windows support issue
15:48 < dho> If you like you can have a Linux shell on my server and try it
on there.
15:48 < dho> If you're interested, email me at cool_fire_666[at]hotmail.com
15:48 -!- roosvzjh [i=5352e40d@gateway/web/freenode/x-iydrtkdwtgrugnxg] has joined
#go-nuts
15:48 * dho is amused.
15:49 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has quit [Read
error: 60 (Operation timed out)]
15:49 < nbaum> levicook: goyacc comes with Go.
15:49 < s_mosher> dho, I laughed when I read that.
15:49 < vegai> do programming languages really support Windows typically?
15:49 < vegai> or their implementations, of course
15:49 < nbaum> vegai: Windows is written in one...
15:49 < nbaum> Well, several.
15:49 < levicook> hmm.  must have overlooked it.  thanks
15:49 < asmo> vegai: That sentence makes no sense at all
15:49 < asmo> (:
15:49 < vegai> I haven't been in that world in like 10 years, so I honestly
don't know
15:50 < dho> Snert: poke
15:50 < Snert> dho howdy
15:50 < dho> Snert: freebsd/amd64 is done
15:50 < vegai> and since it's so different from anything else, I'm surprised
people bother to support it at all
15:50 < ector> yes, there's windows-compatible implementations of most major
programming languages..
15:50 < dho> while i'm waiting for it to be committed, do you need help with
openbsd/i386?
15:50 < ector> and it's not fundamentally THAT different from unix, it just
looks like it :p
15:50 < dho> I'm not starting on freebsd/i386 until the amd64 stuff is
committed.
15:50 * Snert been making chilli con carne for Thursday's Beaujolais Nouveau wine
tasting.
15:51 < Snert> dho: cool
15:51 < asmo> vegai: Because it is one of, if not the one, major OS's?
15:51 < dho> which is probably later today
15:51 < dho> so i've got a small time window and an openbsd laptop right now
:)
15:51 < Snert> :)
15:51 < dho> do you have a patchset?
15:51 < Snert> so you care to give me a hand then?
15:51 < dho> sure
15:52 < Snert> not as yet
15:52 < dho> can you just run hg diff over what you have?
15:52 < Snert> i have to commit my changes to my local git first
15:52 < dho> oh i see
15:52 < Snert> i don't have mercurial installed
15:52 < Snert> and will not installed it
15:52 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
15:52 < dho> that's ok, i hate git :)
15:52 < Snert> think it's great, much nicer than CVS or SVN
15:53 < dgnorton> git rocks
15:53 < Snert> and its all written in C (as I recall)
15:53 < Snert> I hate having to install yet another scripting language in
order to use some tool
15:53 * dho shrugs
15:53 < dho> i don't really care, whatever gets the job done
15:53 < Snert> and I clearly don't want to install Python
15:53 < dgnorton> snert, C and shell scripts
15:53 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
15:53 < dho> my big beef is i hate git add before git commit
15:53 < Snert> I'm fussy about what goes on my machines
15:53 < saati_> Snert: you use linux from scratch?
15:54 < Snert> I use OpenBSD
15:54 < dho> anyway, not meaning to open cans of worms, was just being a bit
satirical
15:54 -!- lux` [n=lux@151.54.240.177] has joined #go-nuts
15:54 -!- afraca [n=harkemas@a80-126-132-235.adsl.xs4all.nl] has left #go-nuts []
15:54 < exDM69> dho: what version control does not require you to add before
commit?
15:54 < exDM69> and what mess would it make if it didn't?
15:54 < dho> exDM69: you have to add changes too.
15:54 < Snert> it's ok, my chilli is made and is cooling on the stove, so I
have some time for cans of worms
15:54 < dho> you add changes to a changeset and then commit the changeset.
15:55 < saati_> Snert: that has mercurial in its ports
15:55 < scoopr> dho, use -a in commit?  ;)
15:55 < hnaz> dho: git commit file or git commit -a
15:55 < rullie> hey folks, im getting this make error on all.bash
Dial("tcp", "", "www.google.com:http") = _, dial tcp www.google.com:http: lookup
www.google.com.  on 192.168.2.1:53: no answer from server
15:55 < rullie> a bunch of these, actually
15:55 < dho> or hg commit and i'm 1 character shorter, at least :)
15:55 < exDM69> dho: does commit mean pushing or uploading in this context?
I'm not too familiar with git command meanings
15:55 < dho> rullie: you have a name server running on the local machine
15:55 < hnaz> dho: explicit git add is useful with -i or -p
15:55 < dho> exDM69: I don't know
15:55 < dho> anyway
15:56 <+danderson> rullie: iirc the net tests have some known problems with
DNS
15:56 < dho> not trying to be converted or learn anything about git
15:56 < dho> i'm quite happy with $whatever
15:56 < dgnorton> exDM69, no.  committing in git is to local repo
15:56 < poucet> Can go have recursive type declarations?
15:56 < dho> i've used cvs, svn, perforce, hg, and git, and i'll use
whatever's available.
15:56 < rullie> danderson: hmm ok.  it worked on a mac machine under the
same LAN, but that one is using opendns, could that be why?
15:57 < dgnorton> exDM69, push is a separate operation
15:57 < exDM69> dgnorton: just like in mercurial, thne
15:57 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
15:57 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has joined #go-nuts
15:58 < dgnorton> exDM69, That I'll have to take your word for.  :) I only
started using hg for Go
15:58 < exDM69> dgnorton: hg commands are pretty close to those of svn (the
names I mean)
16:00 < dho> Snert: do you have a server to plop that up on?
16:01 -!- Jeffrey_ [i=4cd1835f@gateway/web/freenode/x-sfuuftbayohcrqxv] has joined
#go-nuts
16:01 < Snert> I have a server, but it doesn't have git install; so I could
tar ball the lot or at least my changes.
16:01 -!- Jeffrey_ [i=4cd1835f@gateway/web/freenode/x-sfuuftbayohcrqxv] has quit
[Client Quit]
16:02 < Snert> dho just a sec; on phone
16:02 < dho> yeah no problem
16:02 < dho> i just need diff output so i can run it through patch.
16:02 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
16:02 < exDM69> Snert: does git have a method to bundle a bunch of changes
into a file, use that if there's a way (like hg bundle/unbundle)
16:03 < path__> anyone know if there's an amazon ec2 image with a go
compiler on it?
16:04 -!- bmm [n=bram@195-240-186-6.ip.telfort.nl] has joined #go-nuts
16:05 < Snert> exDm69 : probably, but i've never had occasion to use use
such until today, so I have to go look.
16:05 < bmm> When is the first release archive going to hit the servers?  I
would love to try it, but to really put time in go I would have to have it in the
debian/ubuntu archive as a version I can depend on.
16:05 -!- igfud [n=mike@cros5-105-dhcp.resnet.colorado.edu] has quit [Read error:
110 (Connection timed out)]
16:06 -!- aninhumer
[n=aninhume@client-81-105-73-94.lds-bng-011.adsl.virginmedia.net] has joined
#go-nuts
16:07 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has quit []
16:07 -!- kill-9 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
16:09 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
16:09 < offby1> exDM69: you want "git bundle".
16:09 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
16:09 -!- diltsman [n=diltsman@64.122.18.77] has quit []
16:09 < offby1> exDM69: although it seems that "git format-patch" is used
more; don't know why
16:09 < exDM69> Snert: the "git bundle" is for you
16:11 -!- edsono [n=edsono@200-160-96-163-ma.static.vivax.com.br] has joined
#go-nuts
16:12 -!- french [i=534c5d6b@gateway/web/freenode/x-wvrfrvvjqfsnaonp] has joined
#go-nuts
16:13 -!- honeyhoney [n=francisp@72.14.229.81] has joined #go-nuts
16:14 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has joined #go-nuts
16:14 -!- rbohn [n=rbohn@192.206.100.4] has joined #go-nuts
16:17 < Snert> exdm69: cheers, i'll take a look in a mo
16:18 -!- MigoMipo [n=kvirc@84-217-11-119.tn.glocalnet.net] has joined #go-nuts
16:18 -!- bmm [n=bram@195-240-186-6.ip.telfort.nl] has quit ["Ex-Chat"]
16:19 < french> https://gist.github.com/3fc8a8119ff5244a64dc memory usage is
20mb after allocating the buffer, then 40mb after creating the string.  but why
still >40mb after returning?  the buffer cannot possible be used anymore, so
shouldn't it be discarded?
16:19 -!- diltsman_ [n=diltsman@64.122.18.77] has joined #go-nuts
16:19 < exDM69> french: the garbage collectors always run a bit late
16:20 < french> I tried waiting, creating loops
16:20 < french> but it stays
16:20 < exDM69> french: also the tools for checking memory usage do not tell
the whole truth
16:20 < french> it never (half an hour enough?) gets collected
16:20 < exDM69> what did you use to check this?
16:20 < french> malloc.GetStats() lies?
16:21 < exDM69> it may be inaccurate
16:21 < dho> sweet, freebsd/amd64 support in the tree!
16:21 < french> so all of top, ps and malloc.GetStats() is wrong?  I find
that hard to believe.
16:21 -!- seank [n=sean@64-184-238-2.mammothnetworks.com] has quit [Read error:
104 (Connection reset by peer)]
16:22 -!- diltsman_ [n=diltsman@64.122.18.77] has quit [Client Quit]
16:25 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 145
(Connection timed out)]
16:26 -!- flyfish [n=flyfish@pixout.appriss.com] has quit []
16:27 < french> exDM69: I'm running a loop allocating some []bytes after
loading, and you can clearly see the GC collecting unused stuff, but the 40mb stay
there no matter what
16:27 < exDM69> french: that's slightly awkward
16:27 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
16:27 < french> I can't find a way to read a file straight into a string
either
16:28 < exDM69> french: I know java had (has?) a similar problem with
substrings.
16:28 -!- silvs [n=silvs@210-84-16-103.dyn.iinet.net.au] has quit ["Leaving"]
16:29 < rhc> french: i get the same result..  and i thought it might be
linux not returning memory back to the OS after a free(), but a similar testcase
in C actually shrinks the process back down in ps
16:29 < french> rhc: yes it does in C
16:29 < french> exDM69: Substrings are fine, they are just slices (?), so
use like 8 bytes or something
16:29 < KirkMcDonald> Go might fragment the heap more.
16:29 -!- jorendorff [n=jorendor@c-76-22-141-17.hsd1.tn.comcast.net] has joined
#go-nuts
16:30 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
16:30 -!- iant [n=iant@67.218.102.217] has quit [Read error: 110 (Connection timed
out)]
16:31 -!- Lorthirk` [n=cm0901@109.114.32.70] has quit [Network is unreachable]
16:32 < exDM69> french: anyways, if this is not a showstopper, I would not
worry about it
16:33 < exDM69> the memory is probably already freed or it will be freed in
the future and it just doesn't show yet
16:33 < french> well for what I'm trying to do, double memory usage is not
so good.  but I guess I'll have to live with it if I want to use Go.
16:33 -!- edsono [n=edsono@200-160-96-163-ma.static.vivax.com.br] has quit []
16:33 < exDM69> it also may be a bug somewhere as go is very new, but the
guys will probably fix it soon
16:33 < exDM69> maybe send an e-mail to the mailing list
16:34 < rhc> KirkMcDonald: i tried a 10k mallocs between 0 to 4k and then
freed all of them..  still reduces the size right back down..
16:35 < french> rhc: in C?
16:35 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
16:36 < KirkMcDonald> rhc: It is entirely possible that Go's GC causes heap
fragmentation.
16:38 < KirkMcDonald> Well, s/heap/page/
16:38 -!- diabolix [n=jsoyke@206.210.81.55] has joined #go-nuts
16:38 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
16:38 < rhc> french: yeah
16:39 < french> I'm thinking that maybe the string() function marks the
buffer as "used" so it's not being deallocated
16:39 < rhc> yeah i guess heap fragmentation is probably hard to reproduce,
but french's testcase seems like a pretty straightforward allocation
16:39 < dgnorton> danderson, I can't reproduce the AMD / Core 2 performance
difference today.  I must have been smoking something yesterday.
16:39 < french> and since s is a global variable, it will stay marked
16:40 -!- vt100 [n=vt@cust125.179.113.38.dsl.g3telecom.net] has quit [Read error:
60 (Operation timed out)]
16:40 < rhc> french: ah..
16:40 < french> but I'm not sure how I can find out if that is the case.
16:41 < dgnorton> danderson, well - I can still reproduce the slow-down when
GOMAXPROCS > 1
16:41 < french> string() makes a copy of the buffer, that I know, because
strings are immutable
16:42 < vegai> dgnorton: that's not surprising
16:42 < dgnorton> vegai, why?
16:42 < rhc> french: i removed the string and it still sticks at 20 mb
16:42 -!- roosvzjh [i=5352e40d@gateway/web/freenode/x-iydrtkdwtgrugnxg] has quit
[Client Quit]
16:42 < french> just reading into a buf?
16:42 < vegai> dgnorton: becase of added bookkeeping and all that
16:42 < french> maybe the file needs to be closed?
16:42 < french> hm let me check on that
16:43 < vegai> dgnorton: although....  how big a slowdown are we talking
here?
16:43 < dgnorton> ~8 seconds to run with one proc ...  ~25 seconds with 2
16:43 < french> no change.
16:44 < vegai> oh, that's pretty bad.
16:44 < dgnorton> vegai, probably because both are accessing the same vector
16:44 < vegai> what kind of a task?
16:44 < dgnorton> vegai, iterating a vector looking for a match
16:44 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
16:45 < vegai> I don't know...  go doesn't do any kind of protection of a
shared resource anyway
16:45 < dgnorton> vegai, the vector holds pointers to a user defined type.
the vector has about 42K pointers in it
16:45 -!- ironfroggy__ [n=calvin@64.129.84.194] has quit [Read error: 104
(Connection reset by peer)]
16:45 < dgnorton> vegai, maybe some sort of cache sloshing type probelm
16:47 -!- ajray1 [n=alex@wvc32563rh.rh.ncsu.edu] has joined #go-nuts
16:47 < exDM69> vegai: accessing memory unsafely will cause slowdowns
because of CPU cache hierarchies
16:47 < vegai> oh, right.
16:48 < ajray1> what is the src []byte used for in the ebnf parser?
16:49 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has quit [Client
Quit]
16:49 < french> rhc: string -> buf -> string is used all over the
libraries in Go, and if the buf actually never gets GC'ed ....
16:49 -!- rovar [i=c7aca924@gateway/web/freenode/x-zlpydhqmkuutpaew] has joined
#go-nuts
16:49 < french> see strings.Map
16:49 -!- user__ [i=none@ip70-177-12-231.sb.sd.cox.net] has joined #go-nuts
16:49 < french> for example.  Actually I'll just do an test on that one
right now
16:49 -!- Capso [i=none@about/networking/128.0.0.0/Capso] has quit [Nick collision
from services.]
16:49 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has quit [Read error: 104
(Connection reset by peer)]
16:49 -!- user__ [i=none@ip70-177-12-231.sb.sd.cox.net] has quit [Read error: 104
(Connection reset by peer)]
16:49 < exDM69> vegai: there was a good ddj article about a seemingly
parallel problem that ended up running sequentially because of memory hierarchies.
it had good solutions how to work around the problem.  too bad I can't find it now
16:50 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has joined #go-nuts
16:50 < dgnorton> exDM69, was that the one written by Herb Sutter?
16:51 < exDM69> dgnorton: probably
16:51 -!- evilhackerdude [n=stephan@e181124118.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
16:51 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
#go-nuts
16:51 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Read error: 104 (Connection
reset by peer)]
16:51 < dgnorton>
http://www.ddj.com/hpc-high-performance-computing/208801371
16:51 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has left #go-nuts
[]
16:52 < exDM69> dgnorton: nope, not that one
16:53 < exDM69> it had lots of small code snippets and CPU usage graphs from
a 16 core system running the different algos
16:53 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has joined #go-nuts
16:53 < diabolix> cache coherency can be a pain.  especially on intel cpus.
16:53 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has joined
#go-nuts
16:54 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
16:55 < french> rhc: exDM69: https://gist.github.com/3fc8a8119ff5244a64dc
<- uses 70mb just after running maptest(), then 30mb get GC'ed, but 40mb stay
16:55 < french> two buffers of 10mb, two strings of 10mb.  adds up, again.
16:55 < french> I'll write to the mailing list I guess
16:56 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
16:58 -!- diabolix [n=jsoyke@206.210.81.55] has quit ["Leaving"]
16:59 -!- dga [n=dga@63.226.120.198] has joined #go-nuts
16:59 -!- tcpip4000 [n=tcpip400@190.84.233.18] has joined #go-nuts
17:00 -!- keeto [n=keeto@121.54.92.149] has joined #go-nuts
17:01 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 60 (Operation
timed out)]
17:02 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
17:02 -!- drusepth [n=drusepth@adsl-75-34-80-45.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
17:03 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
17:04 -!- mgdm [n=michael@pdpc/supporter/professional/mechanical-male] has joined
#go-nuts
17:04 -!- chickamade [n=chickama@222.254.12.228] has quit ["Leaving"]
17:04 -!- lazzurs [n=lazzurs@77.74.198.235] has quit [Read error: 60 (Operation
timed out)]
17:05 -!- drusepth` [n=drusepth@adsl-75-34-80-45.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
17:05 -!- lazzurs [n=lazzurs@77.74.198.235] has joined #go-nuts
17:05 < jorendorff> So, taking the address of a local variable is like
closing on it, right?  It keeps it alive?  (unlike C)
17:06 -!- doktoreas [n=doktorea@host55-2-dynamic.22-79-r.retail.telecomitalia.it]
has joined #go-nuts
17:06 -!- jeng [n=chatzill@75.110.231.66] has joined #go-nuts
17:06 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-tzaxbzirdjfflcmd] has quit
["Page closed"]
17:07 < french> exDM69: if you add "buf2 := make([]byte, int(stat.Size));"
and "file.Read(buf2);" to the program, the memory usage will be 60mb, but then
immediatly 20mb of that get collected.  Because string() was not used on buf2.
17:08 < scandal> jorendorff: yes
17:08 < jorendorff> thanks.
17:08 -!- calvin__ [n=calvin@64.129.84.194] has joined #go-nuts
17:08 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit
[Connection timed out]
17:08 < scandal> jorendorff: also, when you return a pointer to a literal,
you get a *new* copy each time
17:08 < french> so I guess it's a bug.
17:09 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 60
(Operation timed out)]
17:09 < sladegen> jorendorff: it doesn't have to be adress:
http://paste.lisp.org/display/90358
17:10 -!- serdar_ [n=serdar@84.60.254.126] has quit [Read error: 145 (Connection
timed out)]
17:11 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has joined
#go-nuts
17:11 < Snert> dho: sorry, been called away and I have to get ready for
dinner out; I'll try to prepare a bundle for you tomorrow morning.
17:12 < jorendorff> I'm aware of closures, thanks
17:12 < doktoreas> is there any tutorial about doing parallel processing
with go?
17:13 -!- ironfroggy__ [n=calvin@64.129.84.194] has joined #go-nuts
17:14 -!- dga [n=dga@63.226.120.198] has quit [Remote closed the connection]
17:14 -!- dga [n=dga@63.226.120.198] has joined #go-nuts
17:14 < dho> ok
17:15 < scandal> doktoreas: there is some discussion in the "effective go"
doc
17:15 -!- calvin__ [n=calvin@64.129.84.194] has quit [Read error: 104 (Connection
reset by peer)]
17:16 < doktoreas> thx scandal
17:16 < ajray1> the ebnf package takes a bit of getting use to
17:16 < jorendorff> mini-bug, maybe -- The language specification seems to
claim literals aren't addressable.
17:16 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
17:16 -!- piotr [n=piotr@chello084010208203.chello.pl] has quit ["Leaving"]
17:17 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit ["Get MacIrssi -
http://www.sysctl.co.uk/projects/macirssi/"]
17:17 < scandal> jorendorff: there is a corner can where if you define a
method on a pointer type, you can't use it with literals
17:17 < scandal> for example, (v *SomeType) Foo() you can't do
Sometype{}.Foo()
17:18 < scandal> just like in c++ you can't take the addr of a temporary
17:18 < jorendorff> scandal: huh.  a limitation of the implementation, or is
that intentional?
17:18 -!- delza [n=delza@209-52-232-202.vlan452.static.ucc-net.ca] has joined
#go-nuts
17:19 < scandal> its intentional
17:19 -!- serdar_ [n=serdar@dslb-084-062-234-086.pools.arcor-ip.net] has joined
#go-nuts
17:19 < jorendorff> but you can do x := &SomeType{}; x.Foo(); ?
17:19 < scandal> yup
17:19 -!- levicook [n=levicook@gw.alice.com] has quit []
17:20 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
#go-nuts
17:20 < rhc> this works for me: func (s *MyType) foo() {} type MyType struct
{} func main() { (&MyType{}).foo(); }
17:20 -!- drusepth [n=drusepth@adsl-75-34-80-45.dsl.spfdmo.sbcglobal.net] has quit
[Read error: 110 (Connection timed out)]
17:20 < jorendorff> yeah, I can even write (&SomeType{}).Foo();
17:20 < scandal> also you can do: x := Sometype{}; x.Foo()
17:20 < rhc> ah, I gues cause & is allocation
17:20 < jorendorff> Actually I can even write (SomeType{}).Foo()
17:21 < jorendorff> oops, hang on
17:21 < dgnorton> i thought i read somewhere that a slice could be made like
slice := myarray[10:20]; ...  is there some syntax like that or do I have to use
make()?
17:21 < asmo> Where do I define how many processors Go should use?
17:21 -!- banthar [n=banthar@chello084010208203.chello.pl] has joined #go-nuts
17:21 < asmo> It seems that it only uses one core atm...
17:21 < jorendorff> dgnorton: you can, there is syntax liket hat
17:21 < dgnorton> asmo, GOMAXPROCS environment variable
17:21 < rhc> jorendorff: that gives me cannot call pointer method on (node
STRUCTLIT)
17:21 < asmo> thanks
17:21 < jorendorff> correction, "cannot call pointer method on (node
STRUCTLIT)"
17:22 < jorendorff> yeah, I hadn't typed what I thought I had
17:22 -!- drusepth [n=drusepth@75.34.80.45] has joined #go-nuts
17:22 < scandal> jorendorff: ah yes, i was off a bit.  that's what i was
referring to
17:22 < aninhumer> I've implemented a map that can use interfaces as the key
type using a pair of slices, why can't this be allowed in the built in map type?
17:22 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
17:23 < scandal> aninhumer: i believe because map keys need to be immutable
17:23 -!- calvin__ [n=calvin@64.129.84.194] has joined #go-nuts
17:23 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has joined #go-nuts
17:23 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
17:24 -!- ironfroggy__ [n=calvin@64.129.84.194] has quit [Read error: 60
(Operation timed out)]
17:24 -!- raichoo [n=raichoo@i577B8E89.versanet.de] has joined #go-nuts
17:24 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has quit [Read error: 104
(Connection reset by peer)]
17:24 -!- lgolds [n=lucky@93-82-90-164.adsl.highway.telekom.at] has joined
#go-nuts
17:24 < aninhumer> Hmm, then how about a pointer to an interface as the key
type?
17:26 < jorendorff> actually the language specification appears to claim you
*can* use an interface type as a map key type
17:26 -!- dga [n=dga@63.226.120.198] has quit [Read error: 145 (Connection timed
out)]
17:26 < KirkMcDonald> If the underlying object can be used as one.
17:27 < jorendorff> yes--you can't mix keys of different types
17:27 < jorendorff> in the same map, you'll unpredictably get run-time
errors
17:27 -!- ajray1 [n=alex@wvc32563rh.rh.ncsu.edu] has left #go-nuts []
17:28 -!- kim__ [n=kim@207-179-247-248.mtco.com] has quit [Read error: 110
(Connection timed out)]
17:28 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
17:28 < jorendorff> wait, that's wrong...
17:29 -!- sm [n=sm@pool-71-189-233-10.lsanca.dsl-w.verizon.net] has joined
#go-nuts
17:30 < aninhumer> KirkMcDonald, So a map[interface{}] would work as long as
you only used constants and strings and such?
17:30 < dgnorton> I have a vector of pointers (to type Dog struct).  I want
to say "d := myvec.Data()" and then create slices "d0 := d[0:9999]; d1 :=
d[10000:19999];" and pass them to a function foo().  What is the parameter type of
foo?  func foo(dogs []*Dog) is sort of what I would like to have but that doesn't
work.
17:32 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit ["Leaving"]
17:32 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
17:33 < aninhumer> dgnorton, *[]Dogs ?
17:33 < tromp_> why doesn't []*Dogs work?
17:33 < aninhumer> []*Dogs is a slice of pointers, *[]Dogs is a pointer to a
slice
17:33 * offby1 has a C deja-vu
17:33 -!- calvin__ [n=calvin@64.129.84.194] has quit [Read error: 60 (Operation
timed out)]
17:34 -!- calvin__ [n=calvin@64.129.84.194] has joined #go-nuts
17:34 < tromp_> but he has a slice of pointers
17:34 < dgnorton> tromp_, correct
17:34 < aninhumer> oh right...  I should probably read stuff slower :P
17:34 < jorendorff> the static type, though, is []interface{}
17:35 -!- ote [n=shapor@yzf.shapor.com] has left #go-nuts []
17:35 < dgnorton> jorendorff, yes and that's what the compiler complains
about
17:35 < jorendorff> I don't think there's an answer in the language for what
you want;
17:36 < dgnorton> jorendorff, i can't pass a slice of interfaces?
17:36 < jorendorff> if you actually have an array of that type somewhere,
yes
17:37 -!- banthar [n=banthar@chello084010208203.chello.pl] has quit ["Leaving"]
17:37 < jorendorff> but a Vector is implemented, I'm guessing, as an array
of interface{}, not an array of Dog
17:37 < jorendorff> you could probably write IterDogs(myvec *Vector, start,
stop int) Dog chan {
17:37 < dgnorton> jorendorff, that's correct.  So can I change foo to take a
slice of interfaces?  I tried that too but it didn't work...i probably had the
syntax wrong.
17:38 < jorendorff> oh, that part is easier I think
17:38 < jorendorff> dgnorton: probably (dogs []interface{})
17:38 < jorendorff> and inside, you can just cast dog := dogs[i].(*Dog)
17:39 -!- no_mind_ [n=orion@122.162.27.69] has joined #go-nuts
17:39 -!- no_mind [n=orion@122.161.124.147] has quit [Nick collision from
services.]
17:39 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
17:39 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
54 (Connection reset by peer)]
17:40 -!- drusepth` [n=drusepth@adsl-75-34-80-45.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
17:40 -!- grajo [n=grajo@dynamic-78-8-28-129.ssp.dialog.net.pl] has joined
#go-nuts
17:40 < nmichaels> If I'm trying to send a string to a writer, is there an
easy way to cast it so the parameter looks like a []byte?
17:40 < dgnorton> jorendorff, I was missing the {} on the end eariler
17:40 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit [Read
error: 60 (Operation timed out)]
17:40 -!- Neil [n=neil@82.132.139.111] has joined #go-nuts
17:40 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
#go-nuts
17:40 -!- serdar_ [n=serdar@dslb-084-062-234-086.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
17:40 < jorendorff> nmichaels: import "strings"; Bytes(str)
17:41 < jorendorff> er, strings.Bytes
17:41 -!- daganev [n=daganev@99.32.245.41] has left #go-nuts []
17:41 < jorendorff> nmichaels: that probably allocates a copy though
17:41 -!- serdar_ [n=serdar@dslb-084-060-234-025.pools.arcor-ip.net] has joined
#go-nuts
17:41 < jorendorff> nmichaels: casting would be unsafe, since strings are
supposed to be immutable
17:42 < nmichaels> jorendorff: right, thanks
17:42 -!- Neil [n=neil@82.132.139.111] has quit [Client Quit]
17:42 -!- ironfroggy__ [n=calvin@64.129.84.194] has joined #go-nuts
17:42 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
17:42 -!- path__ [n=path@59.162.86.164] has quit []
17:43 -!- pshahmumbai [n=prashant@59.164.25.110] has joined #go-nuts
17:43 -!- trickie [n=trickie@94.100.112.225] has quit [Read error: 113 (No route
to host)]
17:43 -!- calvin__ [n=calvin@64.129.84.194] has quit [Read error: 60 (Operation
timed out)]
17:43 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 113 (No route to host)]
17:43 -!- rowdog [n=jth@h19.147.30.71.dynamic.ip.windstream.net] has joined
#go-nuts
17:44 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Read
error: 60 (Operation timed out)]
17:44 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has joined #go-nuts
17:45 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
17:45 -!- Snert [n=achowe@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
17:45 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has joined
#go-nuts
17:45 -!- grajo [n=grajo@dynamic-78-8-28-129.ssp.dialog.net.pl] has quit
["Leaving"]
17:45 -!- bbeck [n=bbeck@dxr-fw.dxr.siu.edu] has quit [Remote closed the
connection]
17:46 -!- iant [n=iant@nat/google/x-sqciwazqxkbmrczn] has joined #go-nuts
17:47 -!- mode/#go-nuts [+v iant] by ChanServ
17:47 -!- pace_t_zulu [n=pacetzul@unaffiliated/pacetzulu/x-585030] has quit []
17:48 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has joined #go-nuts
17:48 -!- Fl1pFl0p1 [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has quit [Client
Quit]
17:49 -!- rowdog [n=jth@h19.147.30.71.dynamic.ip.windstream.net] has quit
["leaving"]
17:49 -!- ironfroggy__ [n=calvin@64.129.84.194] has quit [Remote closed the
connection]
17:49 -!- ironfroggy__ [n=calvin@64.129.84.194] has joined #go-nuts
17:50 < uriel> good morning iant :)
17:50 <+iant> morning
17:50 <+iant> I see the channel has dropped below 500, probably a good sign
17:51 < ikke> lol, the hype is gone :(
17:51 < ikke> maybe they are just waiting chrome os
17:51 -!- rowdog [n=jth@h19.147.30.71.dynamic.ip.windstream.net] has joined
#go-nuts
17:51 < uriel> yea, things are starting to calm down, it is nice..
17:52 < gl> http is crap :/
17:52 * gl struggles with the f*cking protocol
17:52 -!- howboutjoe [n=howboutj@65-120-132-14.dia.static.qwest.net] has quit []
17:52 < hagna> I came here because of the hype
17:53 < aninhumer> There's only so much documentation to read...
17:53 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has joined
#go-nuts
17:54 -!- zero-1 [n=macbook@200.56.104.192.dsl.dyn.telnor.net] has joined #go-nuts
17:54 -!- bquinn [n=bquinn@nat/yahoo/x-zetmwcyrxvoubfuo] has quit []
17:54 -!- calvin__ [n=calvin@64.129.84.194] has joined #go-nuts
17:54 -!- Soulou [n=Soulou@bro67-2-82-225-6-71.fbx.proxad.net] has joined #go-nuts
17:55 < Soulou> Hello !
17:55 -!- spinout [n=s@adsl-71-146-141-45.dsl.pltn13.sbcglobal.net] has quit [Read
error: 110 (Connection timed out)]
17:56 -!- defectiv [n=clays@c-24-5-65-40.hsd1.ca.comcast.net] has quit ["Leaving"]
17:56 < Soulou> GO compilation error :
17:56 < Soulou> --- cd ../misc/cgo/stdio
17:56 < Soulou> rm -rf *.[568vqo] *.a [568vq].out *.cgo[12].go *.cgo[34].c
*.so _obj _test _testmain.go hello fib chain run.out
17:56 < Soulou> cgo file.go
17:56 < Soulou> could not determine kind of name for C.CString
17:56 < Soulou> could not determine kind of name for C.puts
17:57 < Soulou> could not determine kind of name for C.fflushstdout
17:57 < Soulou> could not determine kind of name for C.free
17:57 < Soulou> failed to interpret gcc output:
17:57 -!- ironfroggy__ [n=calvin@64.129.84.194] has quit [Connection reset by
peer]
17:57 < Soulou> cc1: warnings being treated as errors
17:57 < Soulou> ARCH amd64 OS Linux
17:57 <+iant> Soulou: which version of gcc is installed on your system?
17:57 < Soulou> 4.4.2
17:58 < Soulou> Fedora 12 Bêta
17:58 <+iant> are your Go sources up to date (e.g., hg pull -u)
17:58 -!- drusepth [n=drusepth@75.34.80.45] has quit [Read error: 110 (Connection
timed out)]
17:58 < Soulou> I just got them
17:58 < Soulou> 10min ago
17:58 < sjbrown> is there a link to download all the documentation that's on
the website?
17:59 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
17:59 < sjbrown> I want the FAQ and Effective Go as well
17:59 <+iant> Soulou: please file an issue for this in the issue tracker; I
don't know what the problem is
17:59 < uriel> sjbrown: it is included with the distribution
17:59 < scandal> just compiled it on my f12 box--no errors
17:59 -!- MrTopf [n=mrtopf@p5B397E4B.dip.t-dialin.net] has quit [Remote closed the
connection]
17:59 <+iant> sjbrown: it's all in the doc directory
17:59 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
17:59 < Soulou> ok, go to bug tracker =)
18:00 < sjbrown> thanks
18:01 < depood> i hope, someone writes soon a good go book for non-c writer
^^
18:01 < zero-1> Hi everyone has anyone run into the following problem when
installing go?: --- FAIL: http.TestClient
18:01 < zero-1> Get http://www.google.com/robots.txt: dial tcp
www.google.com:http: lookup www.google.com.  on 4.2.2.1:53: no answer from server
18:01 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has joined
#go-nuts
18:01 < sladegen> sjbrown: godoc --http=:6060 &
18:01 <+iant> zero-1: that happens if you have a firewall, you can ignore
the test failure
18:02 < zero-1> iant: no firewall though :(
18:02 <+iant> it also happens if you use an HTTP proxy
18:03 <+iant> it's a DNS failure of some sort
18:03 <+iant> that is, a failure in Go's DNS client
18:04 < dho> man, a couple people on that list need a serious chill-pill
18:05 < michaelh> does anyone have the url of that blog comparing stackless
python to go?
18:05 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
18:05 < michaelh> (someone pasted it earlier)
18:05 < alexsuraci> michaelh: is this it?
http://dalkescientific.com/writings/diary/archive/2009/11/15/100000_tasklets.html
18:06 -!- zero-1 [n=macbook@200.56.104.192.dsl.dyn.telnor.net] has quit []
18:07 -!- zhaozhou [n=zhaozhou@linfast76.bitnet.nu] has joined #go-nuts
18:07 < michaelh> thank you!
18:08 < Soulou> It is a minor bug, because i realized i've got binaries
18:08 < Soulou> so i can use the language, but i think some items are
missing
18:09 -!- triddell [n=tim@207-191-198-64.cpe.ats.mcleodusa.net] has joined
#go-nuts
18:09 -!- nsa310 [n=Adium@dyn26-165.roaming.few.vu.nl] has joined #go-nuts
18:09 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
18:09 -!- nsa310 [n=Adium@dyn26-165.roaming.few.vu.nl] has left #go-nuts []
18:11 -!- conra [n=konrad@host-89-229-12-166.torun.mm.pl] has quit ["Leaving."]
18:13 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
18:15 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has joined
#go-nuts
18:18 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has left #go-nuts
[]
18:18 -!- yourpalal [n=alex@198.161.51.49] has joined #go-nuts
18:19 -!- calvin__ [n=calvin@64.129.84.194] has quit [Read error: 110 (Connection
timed out)]
18:21 -!- vt100 [n=vt@cust125.179.113.38.dsl.g3telecom.net] has joined #go-nuts
18:21 < dho> iant: thank god
18:22 < dho> that jqb guy is awful
18:22 <+iant> his comments are starting to seem somewhat pointless to me
18:22 < dho> i want to reach throug the internets, grab him by the throat
and shake him
18:22 < dho> where's his non-amateurish language?
18:22 < dho> silly trolls.
18:22 -!- nocturnal [n=nocturna@ce05910.cenara.com] has joined #go-nuts
18:22 -!- cablehead [n=Adium@nat/slide/x-ashpzntpemrqqeos] has joined #go-nuts
18:22 -!- serdar_ [n=serdar@dslb-084-060-234-025.pools.arcor-ip.net] has quit
[Read error: 113 (No route to host)]
18:22 < uriel> he has got a huge sign hovering and blinking over his head
saying: 'T-R-O-L-L'
18:23 < uriel> bleh, dho beat me to it :)
18:23 -!- serdar_ [n=serdar@dslb-084-062-250-219.pools.arcor-ip.net] has joined
#go-nuts
18:23 -!- nocturnal [n=nocturna@ce05910.cenara.com] has left #go-nuts []
18:23 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has joined
#go-nuts
18:23 -!- thepalephantom [n=thepalep@64.129.209.162] has quit []
18:24 -!- Soulou [n=Soulou@bro67-2-82-225-6-71.fbx.proxad.net] has quit []
18:24 -!- Soulou [n=Soulou@bro67-2-82-225-6-71.fbx.proxad.net] has joined #go-nuts
18:25 -!- diabolix [n=jsoyke@206.210.81.55] has joined #go-nuts
18:26 < yourpalal> Hi! I'm working on a go app which won't compile.  The
problem seems to be with my select statement, and I have written an example which
distills the problem at http://pastebin.ca/1675137.  any ideas?
18:26 -!- Robbo_ [n=cogs@CPE-121-216-207-237.lnse3.ken.bigpond.net.au] has joined
#go-nuts
18:27 <+iant> yourpalal: what is the compilation error?
18:27 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
18:27 < yourpalal> syntax error near default
18:27 < yourpalal> and syntax error near return
18:27 <+iant> s/case default/default/
18:28 <+iant> yourpalal: that is, don't write "case default:" just write
"default:"
18:28 < yourpalal> omg
18:28 < yourpalal> thanks!
18:29 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
[Client Quit]
18:29 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 54 (Connection reset by peer)]
18:29 < scandal> has there been any discussion about something ala memcpy()
for working with arrays?  all of the Copy() functions seem to loop through all
elements.
18:30 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
#go-nuts
18:30 < dgnorton> danderson, vegai, exDM69: Regarding my little test app
from earlier that was searching a vector.  Creating 4 array slices from the vector
and having go routines search those instead of the entire vector dropped the time
from 8 seconds to 5.
18:30 <+iant> scandal: since Go is intended to be type-safe, it's hard to
avoid looping through elements unless you import "unsafe"
18:31 <+iant> memcpy is effectively an unsafe interface in Go terms
18:31 -!- mennis [n=mennis@adsl-068-016-104-079.sip.asm.bellsouth.net] has quit
[Read error: 60 (Operation timed out)]
18:32 < french> iant: you replied to my post on the mailing list.  I got a
new example here: https://gist.github.com/26afe2f8be13a46981f7
18:32 < french> it must be a bug.
18:32 < french> because it uses 400mb of memory when running it
18:32 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
18:33 -!- Robbo_ [n=cogs@CPE-121-216-207-237.lnse3.ken.bigpond.net.au] has left
#go-nuts []
18:33 <+iant> french: how big is tab/cards.tab?
18:33 < french> 20mb
18:33 <+iant> so your program is going to use 200mb for sure
18:33 < french> why?
18:33 <+iant> because we only have a simpled minded garbage collector at
present
18:34 <+iant> and you load the file into memory 10 times
18:34 -!- p4p4 [n=P4p4@24.121.113.82.net.de.o2.com] has joined #go-nuts
18:34 -!- yourpalal [n=alex@198.161.51.49] has quit ["WeeChat 0.3.0"]
18:34 <+iant> not only do you load the file into memory, you then convert
the contents to a string, which winds up making another copy
18:34 <+iant> so there is your 400mb right there
18:35 <+iant> so, sure, there is a bug, which is that the GC needs work, but
we know that
18:35 < french> alright then so it's a GC limitation.
18:35 <+iant> yes
18:35 -!- MrTopf [n=mrtopf@p579F06BB.dip.t-dialin.net] has joined #go-nuts
18:35 < french> ok thanks
18:35 -!- ring-zero [n=hotshot@117.199.129.151] has joined #go-nuts
18:36 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
18:37 -!- Kashia [n=Kashia@port-92-200-27-151.dynamic.qsc.de] has quit [Read
error: 60 (Operation timed out)]
18:37 -!- Wi11_ [n=william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has joined
#go-nuts
18:38 -!- Wi11 [n=william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has quit [Read
error: 104 (Connection reset by peer)]
18:40 -!- lgolds [n=lucky@93-82-90-164.adsl.highway.telekom.at] has left #go-nuts
[]
18:41 -!- gasreaa [n=atwong@nat/slide/x-laikwsduzeuuvnhy] has joined #go-nuts
18:42 -!- french [i=534c5d6b@gateway/web/freenode/x-wvrfrvvjqfsnaonp] has quit
["Page closed"]
18:42 < penguin42> can you explicitly trigger the GC - e.g.  if you know
you've just finished with 400mb of data?
18:42 -!- yourpalal [n=alex@198.161.51.49] has joined #go-nuts
18:43 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
18:43 -!- pshahmumbai [n=prashant@59.164.25.110] has quit ["Ex-Chat"]
18:43 -!- Soulou [n=Soulou@bro67-2-82-225-6-71.fbx.proxad.net] has left #go-nuts
[]
18:43 -!- serdar_ [n=serdar@dslb-084-062-250-219.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
18:44 -!- hipe__ [n=hipe@cpe-67-247-12-10.nyc.res.rr.com] has joined #go-nuts
18:44 -!- serdar_ [n=serdar@dslb-084-062-226-039.pools.arcor-ip.net] has joined
#go-nuts
18:44 < dgnorton> is there a non-blocking way to read from a channel?  a
test to see if there is data to read?
18:44 < exch> dgnorton: data, ok <- chan;
18:44 < exch> ko will be true/false depending on success
18:44 <+iant> dgnorton: and, for a buffered channel, len(ch)
18:44 < exch> *ok
18:45 < dgnorton> exch, iant, thanks!
18:46 < dgnorton> iant, now that you mention that, i remember you telling
someone else that several days ago.  Wish I had better memory.  :)
18:46 < Gracenotes> penguin42: I don't see one
18:46 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
closed the connection]
18:48 < scandal> iant: i was trying to see it was possible to make typesafe
Copy() function that used memcpy http://gopaste.org/n3btr
18:48 < scandal> but i guess a slice is not a pointer
18:48 <+iant> scandal: that is true, a slice is a three element struct
holding a pointer, a length, and a capacity
18:48 -!- phosphoer [n=user@66-192-186-101.static.twtelecom.net] has joined
#go-nuts
18:49 <+iant> scandal: you could take a look at reflect.ArrayCopy
18:50 < phosphoer> I'm having an issue installing gccgo, when I run make I
get error 2 towards the end of the process
18:50 < phosphoer> Installing through cygwin on windows xp
18:51 <+iant> phosphoer: you should get some output from make indicating
what the error is
18:51 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
18:51 < nmichaels> Is there a way to check to see if a channel has any data
for me without blocking?
18:52 <+iant> nmichaels: if the channel is buffered, then len(ch) will
return the number of elements on the channel
18:52 <+iant> nmichaels: or you can use v, ok := <- ch to do a
non-blocking receive
18:52 < nmichaels> iant: Thanks!
18:53 -!- becks` [n=becks_@38-163.104-92.cust.bluewin.ch] has joined #go-nuts
18:53 < nmichaels> Do I have to do something special to create a buffered
channel, or is "var ch chan bool" enough?
18:53 <+iant> obviously you can have race conditions if you rely on
len(ch)--somebody else might pull a value off, somebody might add a value just
after you check
18:54 <+iant> nmichaels: you have to create a channel using the make
function; to create a buffered channel, do "make(chan TYPE, N)" where N is the
buffer size
18:54 < phosphoer> I see something right above it that says, "unrecognized
-a option 'ware' "
18:54 < Gracenotes> nmichaels: that creates a 'zero value' of that type.
which is an unbuffered channel
18:54 < nmichaels> ah
18:54 < Gracenotes> I think at least.  likewise, the zero value for a string
is ""...  hm, I'll have to check the specs actually
18:55 < scandal> iant: wow, thanks for that pointer.  i missed
reflect.ArrayCopy() and reflect.DeepEqual()
18:55 <+iant> Gracenotes: actually the zero value of a channel is just nil;
you have to create the channel using make()
18:55 < Gracenotes> oh, right.  *facepalm*
18:56 < Gracenotes> but yeah, make without an explicit buffer length is
unbuffered.  as I learned messily
18:56 <+iant> right
18:56 -!- Alkavan [n=igal@77.127.229.182] has joined #go-nuts
18:56 < nmichaels> Okay, so here's another one: I want to read from stdin in
my program, but it doesn't seem to get any data unless I don't put the reader
function in a goroutine.  Also, that would explain the stack dumps I've been
seeing.
18:57 <+iant> nmichaels: os.Stdin.Read ought to work....
18:58 -!- phosphoer [n=user@66-192-186-101.static.twtelecom.net] has quit [Remote
closed the connection]
18:58 < nmichaels> iant: I used bufio.NewReader(os.Stdin) and read from
that.
18:59 < dgnorton> iant, if I fire off multiple go routines and I want all of
them to stop when one finds the answer, how can I do that?
18:59 < Gracenotes> probably check every so often
19:00 -!- hipe__ [n=hipe@cpe-67-247-12-10.nyc.res.rr.com] has quit [Read error:
104 (Connection reset by peer)]
19:00 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
19:00 < dgnorton> Gracenotes, check what?
19:00 < nmichaels> dgnorton: you could use a channel to broadcast done-ness.
19:00 -!- Cyprien [n=Cyprien@43-180.203-62.cust.bluewin.ch] has joined #go-nuts
19:01 < drhodes> could dgnorton have have shared (chan bool) that all the
goroutines push to?
19:01 < Gracenotes> goroutines can't kill other goroutines, because that
might result in incomplete data structures.  channels are the communication
primitive to consider
19:01 < nmichaels> dgnorton: or, and I don't know if this is kosher, just
use a global variable.
19:01 < dgnorton> nmichaels, not kosher :)
19:01 < nmichaels> sigh
19:02 < Gracenotes> you can use non-blocking sends/gets for this
19:02 < dgnorton> nmichaels, as far as "broadcast done-ness" goes, I'm
guessing once one go routine reads from the channel that the data is gone
19:03 < dgnorton> nmichaels, might be able to create a buffered channel and
have all go routines check len()
19:03 < Gracenotes> it depends on your situation.  in my case, I did have
two goroutines doing competing tasks, and then at the end, if mychan <- true {
finish up, but only if we're first }
19:03 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:04 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:04 < Gracenotes> the value I put into it doesn't matter.  it is a chan
with length 1, btw.  you might want a non-blocking receive instead..  I don't know
your situation exactly
19:04 < drhodes> is it safe to think of a channel as a pointer to a
threadsafe queue with syntax support?
19:05 < dgnorton> Gracenotes, that in a package?
19:05 < Gracenotes> non-blocking channel communications is part of the
language spec
19:05 < facemelter> wasn't there somebody in here who coded an IRC-bot?
19:05 < Gracenotes> facemelter: I did
19:05 -!- cmarcelo [n=cmarcelo@200.184.118.130] has joined #go-nuts
19:06 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
19:06 < Gracenotes> here is the basic framework,
http://go.pastebin.com/m3464c811 not excluding the main other application, which
is in #go-run - executing Go statements remotely
19:06 < Gracenotes> to be moved to here when it's stable enough.  -.-
19:07 -!- serdar_ [n=serdar@dslb-084-062-226-039.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
19:08 -!- serdar_ [n=serdar@dslb-084-060-206-034.pools.arcor-ip.net] has joined
#go-nuts
19:08 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
19:09 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
19:10 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:10 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:11 -!- sockmonk [n=user@pixout.appriss.com] has joined #go-nuts
19:11 < yourpalal> I'd assume the zero value for a bool is false.  Is that
right?
19:11 < gl> 0
19:11 < gl> *rimshot*
19:13 -!- hipe [n=hipe@69.193.196.185] has joined #go-nuts
19:13 < Gracenotes> well, 1, sort of o-o
19:16 -!- bjarneh [n=bjarneh@1x-193-157-194-25.uio.no] has quit ["leaving"]
19:17 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
19:17 -!- dmeikle [n=dmeikle@apache/committer/dmeikle] has joined #go-nuts
19:17 -!- diltsman_ [n=diltsman@128.187.128.6] has joined #go-nuts
19:17 -!- yourpalal [n=alex@198.161.51.49] has quit [Read error: 104 (Connection
reset by peer)]
19:19 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Leaving"]
19:19 -!- sm [n=sm@pool-71-189-233-10.lsanca.dsl-w.verizon.net] has quit [Remote
closed the connection]
19:19 -!- baldmountain [n=baldmoun@65.219.200.66] has joined #go-nuts
19:19 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
19:19 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
19:21 -!- doktoreas [n=doktorea@host55-2-dynamic.22-79-r.retail.telecomitalia.it]
has quit [Read error: 110 (Connection timed out)]
19:21 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has left #go-nuts ["ERC
Version 5.3 (IRC client for Emacs)"]
19:22 -!- Wi11 [n=william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has joined
#go-nuts
19:22 -!- Wi11_ [n=william@dhcp-0-14-bf-38-80-9c.cpe.powergate.ca] has quit [Read
error: 104 (Connection reset by peer)]
19:23 -!- ajray [n=alex@nom27935d.nomadic.ncsu.edu] has joined #go-nuts
19:24 < ajray> iant: whats the filename for in ebnf.Parse() ?
19:24 -!- ring-zero [n=hotshot@117.199.129.151] has quit [Read error: 131
(Connection reset by peer)]
19:24 < ajray> took me a while to figure out that the grammar actually goes
in the []byte >.<
19:25 -!- jeng [n=chatzill@75.110.231.66] has quit ["ChatZilla 0.9.85 [Firefox
3.5.5/20091102152451]"]
19:25 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 60 (Operation
timed out)]
19:27 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
["Verlassend"]
19:28 -!- Alkavan [n=igal@77.127.229.182] has quit [Read error: 110 (Connection
timed out)]
19:28 -!- Alkavan [n=igal@77.127.229.182] has joined #go-nuts
19:29 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
19:30 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
19:34 -!- rovar [i=c7aca924@gateway/web/freenode/x-zlpydhqmkuutpaew] has quit
["Page closed"]
19:34 -!- Lee` [n=user@94.170.148.183] has joined #go-nuts
19:34 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
19:35 -!- eydaimon [n=eydaimon@unaffiliated/anywho] has left #go-nuts ["WeeChat
0.3.0"]
19:35 -!- BeaN [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
19:36 -!- diltsman_ [n=diltsman@128.187.128.6] has quit [Read error: 110
(Connection timed out)]
19:36 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
19:36 -!- asyncster [n=asyncste@206.169.213.106] has joined #go-nuts
19:37 < asyncster> what's the safe way to cast objects in go?  (i can't seem
to find it in the docs)
19:38 -!- diltsman [n=diltsman@76.8.194.226] has joined #go-nuts
19:38 < gl> is there an equivalent to strerror() in go?
19:38 < scandal> asyncster: you use explicit conversions
19:38 < scandal> gl: os.Error.String() perhaps
19:38 < gl> i mean i want to print the output of syscall.Socket()
19:39 -!- hugov [n=hugov@sjc237n225.joh.cam.ac.uk] has joined #go-nuts
19:39 < gl> scandal: nope
19:40 -!- sjbrown [n=sjbrown@c-69-181-182-137.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
19:40 -!- Maddas [n=mz@74.125.121.33] has quit ["leaving"]
19:40 < scandal> gl: ah, syscall.Errstr()
19:41 < exch> iant: I;m wracking my brain over some piece of data I get from
a c function.  It's a list of integers (*_C_int).  I can't seem to convert it to a
go array/slice or index it using the old fashioned c way (like: ptr[x])..  any
ideas?
19:42 < gl> scandal yeah i just found it :) thanks anyway
19:42 < Gracenotes> wow.  2/3 of the syscall documentation is just constants
19:42 -!- tcpip4000 [n=tcpip400@190.84.233.18] has left #go-nuts []
19:42 < Gracenotes> I thought there were more functions, but when you
actually scroll through the page...  wow
19:43 -!- flyfish [n=flyfish@pixout.appriss.com] has joined #go-nuts
19:44 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has quit []
19:46 < WalterMundt> Anything in go for handling HTTP cookies, beyond
manually setting the appropriate headers?
19:47 < WalterMundt> client-side in this case
19:48 -!- illya77 [n=illya77@247-138-113-92.pool.ukrtel.net] has joined #go-nuts
19:48 -!- becks` [n=becks_@38-163.104-92.cust.bluewin.ch] has quit []
19:49 < Gracenotes> I wonder if Go is a language that is destined to be
port-bound.  By which I mean most projects written in it are ports of those from
other languages.  Hell, much of the source code itself is ported from Plan 9.
19:50 -!- Alkavan_ [n=alkavan@77.127.229.182] has joined #go-nuts
19:50 -!- serdar_ [n=serdar@dslb-084-060-206-034.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
19:50 -!- Alkavan_ [n=alkavan@77.127.229.182] has quit [Client Quit]
19:50 -!- gdebug [n=gdebug@97.93.221.235] has joined #go-nuts
19:50 < uriel> Gracenotes: I doubt it, rob clearly has some new projects in
mind to build with go (I can feel a successor for acme is comming ;)
19:50 < Gracenotes> I've ported a few of my own things to it.  maybe I'm
just thinking this because it's a while since I've learned a truly new programming
language
19:50 < uriel> Gracenotes: in any case, there are new things already, like
gofmt
19:50 -!- serdar_ [n=serdar@dslb-084-062-242-003.pools.arcor-ip.net] has joined
#go-nuts
19:51 < Gracenotes> uriel: that's true.  though that project is a bit
navel-gazingy :)
19:51 < WalterMundt> I hope not; the type system is too cool for that
19:51 -!- sku [n=sk@217.175.10.144] has joined #go-nuts
19:52 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
19:52 < Gracenotes> well.  nothing's as cool as System F variants and
Hindley-Milner and perhaps dependent types, but I grant it is interesting ;)
19:53 -!- dmeikle [n=dmeikle@apache/committer/dmeikle] has quit ["Leaving"]
19:53 < gdebug> this has probably already been talked about ad naseum in
here, but is there any plans for MySql, etc.  support?
19:53 < uriel> gdebug: see http://go-lang.cat-v.org/library-bindings
19:54 < sladegen> second!
19:54 < uriel> and there is at least somebody working on a pure-Go mysql
client implementation: http://go-lang.cat-v.org/pure-go-libs
19:55 < gdebug> that is fantastic.  thank you.  I might end up contributing
some, if needed
19:56 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has quit [Read
error: 110 (Connection timed out)]
19:56 < asyncster> if I declare a type that's just a struct (i.e type Person
struct { ...  } ), and I create a new Person object, is it possible to cast that
back to a struct type?
19:56 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit []
19:56 < uriel> gdebug: note that from what I have seen, they are all
somewhat experimental...
19:57 -!- jandem [n=jandem@unaffiliated/jandem] has joined #go-nuts
19:57 -!- jandem [n=jandem@unaffiliated/jandem] has left #go-nuts ["Leaving"]
19:58 < WalterMundt> asyncster: I think so, but why not try it?
19:59 < gdebug> uriel: I figured they would be.  I am mostly just evaluating
Go for a few of our systems, so there would be no rush or need for stability
immediately.
20:00 -!- hackbench [n=hackbenc@78.179.182.49] has joined #go-nuts
20:00 -!- teedex [n=teedex@204.14.155.161] has quit ["Leaving..."]
20:01 < asyncster> WalterMundt it works, but you need to specify all the
fields in the struct when you do the conversion
20:01 < asyncster> which is annoying
20:01 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
20:02 < jgoebel> No valid patches found in output from hg diff
20:02 < jgoebel> why is my hg upload failing?
20:02 < jgoebel> there are plenty of diffs in my tree
20:02 < WalterMundt> asyncster: why do you need to?  You can also cast it
directly to any type aliased to a struct with the same members AFAIK
20:02 < WalterMundt> so if you just want to strip the methods, define a
"plain" struct type
20:03 < uriel> jgoebel: did you commit them?  if you commited them, they
wont show up with hg diff
20:03 < jgoebel> nope, was a tab vs space issue
20:03 < uriel> ah
20:05 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit [Remote closed the
connection]
20:09 < scandal> iant: how do you create a new array using the
reflect.ArrayOrSliceType ?
20:10 < dho> boy this tls stuff is interesting
20:10 < dho> no wonder amd64 was so much easier to finish
20:10 < reppie> hehe
20:10 < dho> reppie: i do have the calling convention figured out for
calling sysarch...
20:10 < dho> reppie: i'm almost done actually
20:10 < dho> heh
20:11 -!- brontide [n=brontide@cpe-74-70-32-224.nycap.res.rr.com] has quit [Read
error: 113 (No route to host)]
20:11 -!- illya77 [n=illya77@247-138-113-92.pool.ukrtel.net] has quit [Read error:
54 (Connection reset by peer)]
20:11 < reppie> to change %gs ?
20:11 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
20:11 < dho> reppie: yeah
20:11 < dho> reppie: unfortunately, i'm having a little trouble figuring out
how to send an address up into sysarch
20:11 < reppie> what do you mean?
20:12 -!- tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has joined #go-nuts
20:12 < dho> reppie: well, there's no i386_set_ldt syscall.
20:12 < dho> there's a sysarch syscall
20:12 < reppie> I386_SET_GSBASE
20:12 < dho> we have to pass an op and an address of a struct with args
20:12 < reppie> err
20:12 < dho> well, I want I386_SET_LDT
20:12 < dho> but
20:13 < reppie> AMD64_SET_GSBASE
20:13 < dho> no, amd64 is done.
20:13 < reppie> well are you doing amd64 or 386?
20:13 < reppie> oh
20:13 < dho> it was committed earlier today
20:13 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
20:13 < Lee`> ?
20:13 < Lee`> help
20:13 -!- Lee` [n=user@94.170.148.183] has quit ["ERC Version 5.2 (IRC client for
Emacs)"]
20:13 < reppie> dho so what's the problem with I386_SET_LDT ?
20:13 < KragenSitaker> haha
20:14 -!- micshr [n=mickey@d540.ip15.netikka.fi] has joined #go-nuts
20:14 < dho> so I need to call sysarch(I386_SET_LDT,
&ptr_to_i386_set_ldt_args)
20:14 < dho> OS X lets you INT $0x82 to get into i386_set_ldt, so you can
just shove shit on the stack and it will copy it in
20:15 < dho> but I need to effectively have MOVL $I386_SET_LDT, BX; MOVL
args_ptr, CX; MOVL $165 AX; INT $0x80
20:15 < dho> I don't know how to get the args_ptr.
20:16 -!- baldmountain [n=baldmoun@65.219.200.66] has quit []
20:16 < reppie> leal ptr_to_i386_set_ldt_args,%eax; pushl %eax; pushl
$I386_SET_LDT; movl $sys_sysarch,%eax; int $0x80?
20:16 -!- hstimer [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
20:16 < dho> can I just do LEAL 0(SP), AX?
20:17 < reppie> is the struct on the stack?
20:17 < dho> yes
20:17 < reppie> then yes
20:17 < dho> ok.
20:17 < jgoebel> hmmm
20:17 < WalterMundt> asyncster: http://gist.github.com/237234 shows a little
bit of casting a struct back and forth among types
20:17 < jgoebel> there has to be some way of storing a struct type
20:17 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[Read error: 104 (Connection reset by peer)]
20:17 < KragenSitaker> dho: what are you writing?
20:17 < dho> freebsd/i386 port
20:18 -!- vegy [i=neki@89-212-27-225.dynamic.dsl.t-2.net] has joined #go-nuts
20:18 -!- kingfishr [n=kingfish@nat-128-42-155-239.rice.edu] has joined #go-nuts
20:18 * jgoebel pasted http://pastie.textmate.org/private/iopluavumriu6xqkdknqyg
20:18 < jgoebel> grrr
20:18 * jgoebel pasted http://pastie.textmate.org/private/mvzh79acanvrfme94mranw
20:18 < dho> huh?
20:18 < dho> I don't get this.
20:19 < jgoebel> anyone have any idea what line 12 should be
20:19 < jgoebel> i'm trying to figure out how to pass the type to Find so it
can build that type of object
20:19 < KragenSitaker> ohh
20:19 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Connection
timed out]
20:19 < jgoebel> it will return interface{}
20:19 < dho> reppie: MOVL $165, AX
20:19 < dho> MOVL $1, BX //I386_SET_LDT
20:19 < dho> LEAL 0(SP), CX
20:19 < dho> INT $0x80
20:19 < jgoebel> but how does it know what to build in the first place?
20:19 < reppie> dho yes
20:19 < dho> still getting EINVAL, and the args don't look right at all:
20:19 < dho> CALL sysarch(0xffffffff,0xbfbfeb38)
20:20 < dho> maybe i didn't make install
20:20 < reppie> dho are you sure you can pass the arguments in registers, in
freebsd/386?
20:20 < reppie> i thought you had to pass them on the stack
20:20 < dho> really?
20:20 < dho> fuck me sideways.
20:20 < jgoebel> i'm i going to have to pass a new state in?
20:20 < reppie> i may or may not be wrong
20:21 * dho asks in #seekrut
20:21 < jgoebel> Find(new(State), 12) ?
20:21 < reppie> well, i know that passing on the stack works
20:21 < WalterMundt> jgoebel: how about reflect.Typeof()?
20:21 < WalterMundt> jgoebel: http://golang.org/pkg/reflect/#tmp_974
20:21 < reppie> but maybe passing in registers works too
20:21 < dho> reppie: well how do I pass them on the stack when I need to
point to the stack?
20:21 < WalterMundt> jgoebel: that will give you a reflect.StructType
instance, I think
20:21 -!- kingfishr [n=kingfish@nat-128-42-155-239.rice.edu] has quit [Client
Quit]
20:21 < dho> without overwriting it
20:21 < reppie> dho like on mac os
20:21 < jgoebel> Walter: and how do i turn that back into a State instance?
20:21 < reppie> create a new stack frame
20:22 -!- hackbench [n=hackbenc@78.179.182.49] has quit [Success]
20:22 < jimi_hendrix> what does iota mean?
20:22 < dho> reppie: i don't know how to do that
20:22 < jgoebel> walter: that was what i culdn't figure out
20:22 < reppie> push
20:22 < reppie> i have to catch the bus, bye
20:22 < dho> oic.
20:23 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
20:24 < nickjohnson> Why are there both 'big' and 'bignum' packages?
20:24 < WalterMundt> jgoebel: a new State instance or what?
20:24 < WalterMundt> jgoebel: I'm unclear on precisely what you're
attempting to do
20:24 < jgoebel> Walter: how do i go from a reflect.StructType to a
new(State) so i can store data
20:24 < jgoebel> i'm trying to write dm.Find so it can return various types
20:25 < WalterMundt> reflect.NewValue(reflect.MakeZero(typeObject)) I think
20:25 < jgoebel> you tell it what type of object you want somehow, and it
fetched it and instantiates it from the db
20:25 < WalterMundt> then you can fill it in however you want
20:25 < gl> i'm trying to bind a specific ethernet device to a file
descriptor, but i can't see how, considering the documentation (maybe i'm looking
for a way too C-ish, aka.  ioctl() / etc), any idea?
20:25 < jgoebel> oh
20:25 < jgoebel> so you can make a new value
20:25 < jgoebel> hmmm
20:25 < jimi_hendrix> so what does iota mean?
20:26 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Read error:
104 (Connection reset by peer)]
20:26 < WalterMundt> jgoebel: if you don't have an existing one to work
with, wouldn't you want to?
20:26 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
20:26 < WalterMundt> jgoebel: or do you have an existing State you want to
do something to?
20:26 < jgoebel> well
20:26 < jgoebel> i'm wondering if i should pass it in now
20:26 -!- p4p4 [n=P4p4@24.121.113.82.net.de.o2.com] has quit ["ChatZilla 0.9.84
[SeaMonkey 2.0a3/20090223135443]"]
20:27 < jgoebel> looks like you have to instantiant a new one just to get
Typeof to work
20:28 < rbohn> jimi: iota is the number of semicolons since the last const(.
20:28 < WalterMundt> I dunno, test it out, I haven't played with reflection
much
20:28 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has quit [Read error: 110 (Connection timed out)]
20:28 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has joined #go-nuts
20:29 -!- evilhackerdude [n=stephan@e181124118.adsl.alicedsl.de] has joined
#go-nuts
20:29 < exch> O_o I br0ke it.  commenting out a simple fmt.Printf() call
makes my app segfault
20:34 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
20:34 < jgoebel> interface is *reflect.PtrValue, not main.State
20:34 < jgoebel> hmmm
20:35 -!- stefanc [n=stefanc@188.25.245.40] has joined #go-nuts
20:35 < nmichaels> I have an array and want to slice out elements 3, 6, and
9.  Can I do that?
20:35 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has quit []
20:36 < nmichaels> (I want to be able to look at something that looks like
an array but contains pointers to array1[3], array1[6], and array1[9])
20:36 -!- pierron_ [n=pierron@91-164-174-118.rev.libertysurf.net] has joined
#go-nuts
20:36 -!- nsa310 [n=Adium@145.116.229.86] has joined #go-nuts
20:36 < exch> Not in 1 call.  arr[2:1] <- gets element 3
20:37 * jgoebel pasted http://pastie.textmate.org/private/ppigaafutldb8wwccli0g
20:37 * jgoebel pasted http://pastie.textmate.org/private/7yh2nt5eskfqiqlgf22ega
20:37 < jgoebel> walter: thoughts?
20:37 < jgoebel> i get an interface conversion error
20:38 < nmichaels> exch: so can I build something out of arr[3:4], arr[6:7],
and arr[9:10]?
20:38 -!- blabla [n=asd@serv4u.pl] has joined #go-nuts
20:38 < jgoebel> i don't think this is really building a State instance
20:39 -!- nsa310 [n=Adium@145.116.229.86] has left #go-nuts []
20:39 < dho> this isn't working.
20:39 * dho is missing something
20:39 < exch> nmichaels: yes..  but keep in mind that [3:4] gets a slice of
4 elements long..  the 3 is the start index..  and 4 is the length of the slice
20:39 -!- serdar_ [n=serdar@dslb-084-062-242-003.pools.arcor-ip.net] has quit
[Read error: 145 (Connection timed out)]
20:40 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
20:40 < nmichaels> exch: I thought slices had the same syntax as in
Python...arr[3:4] == arr[3]...no?
20:40 < nickjohnson> exch: Wow, that's going to trip me up some day soon
20:40 < nmichaels> The language ref seems to suggest that.
20:41 < dgnorton> exch, are you sure?
20:41 < exch> not in my experience so far.  Might as well try it though.  I
have been know to be wrong :p
20:41 -!- skyyy [i=caw@129.21.116.238] has joined #go-nuts
20:41 <+iant> nmichaels: the type of arr[3:4] is []T and the type of arr[3]
is simply T
20:41 < tromp_> [3:4] is 1 long
20:42 < nmichaels> right, my bad, but still the same as Python, yes?
20:42 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
20:42 < exch> mm so both are indices.  Does [3:1] return a reversed slice
then?
20:42 < tromp_> same as [3:3], empty slice
20:43 <+iant> exch: no; taking a slice of a slice is an efficient operation,
which would not be the case if you could reverse a slice
20:43 < exch> bummer
20:43 -!- elmar [n=elmar@dslb-188-097-077-128.pools.arcor-ip.net] has joined
#go-nuts
20:43 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has quit
["Leaving"]
20:44 -!- johanschepmans [n=johan@83.101.83.195] has joined #go-nuts
20:46 -!- ajray [n=alex@nom27935d.nomadic.ncsu.edu] has quit ["Leaving."]
20:46 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit ["Leaving"]
20:46 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote closed
the connection]
20:46 < nmichaels> So is there an easy way to build a slice whose contents
refer to non-contiguous pieces of an array?
20:46 <+iant> nmichaels: no, sorry
20:47 -!- dga [n=dga@63.226.120.16] has joined #go-nuts
20:47 < nmichaels> Array of pointers, here I come.
20:47 < WalterMundt> jgoebel: reading now
20:48 < sladegen> nmichaels: perhaps array of slices would be better.
20:48 < nickjohnson> For functions that accept arguments of type
interface{}, is there a way to use a more specific function to avoid all the
casting?
20:48 < exch> I am now officially puzzeled.  Using capturing groups in a
PCRE pattern causes the program to crash with a SIGSEGV.  Except when I put
fmt.Printfl() with a specific string somewhere in the code.  If it's a different
string, it still faults.
20:48 -!- serdar_ [n=serdar@dslb-084-060-253-005.pools.arcor-ip.net] has joined
#go-nuts
20:48 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
20:48 < nickjohnson> Eg, I want to use iterable.Find on a function that
checks ints
20:48 < WalterMundt> jgoebel: it is, you have to return o.Interface() though
20:49 < nmichaels> sladegen: [0] is longer than *...
20:49 < WalterMundt> jgoebel: o is a reflect.Value, which wraps the value in
methods allowing you to modify it without knowing its type
20:49 <+iant> nickjohnson: no, that is more or less the problem that would
be solved if Go had generics
20:49 < jgoebel> ok that's closer
20:50 < nickjohnson> iant: It does make implementing such functions a bit
verbose :/
20:50 -!- diltsman [n=diltsman@76.8.194.226] has quit []
20:50 <+iant> yes
20:50 < jgoebel> interface is *main.State, not main.State
20:50 -!- pierron [n=pierron@91-164-161-220.rev.libertysurf.net] has quit [Read
error: 110 (Connection timed out)]
20:50 < jgoebel> my interface conversion is failing
20:51 < jgoebel> state := dm.Find("State", 12).(State);
20:51 < WalterMundt> huh
20:51 < WalterMundt> are you sure the type object you're passing in is the
right one?
20:51 < jgoebel> interface is *main.State, not main.State
20:51 <+iant> jgoebel: if it is *main.State, try dm.Find("State",
12).(*State)
20:51 < jgoebel> it's something to do with pointer not pointer
20:52 < jgoebel> no error but now i get a SIGSEGV: segmentation violation
20:52 < WalterMundt> yes, it is.  I'm guessing the reflect.Type you passed
in is for *State rather than State
20:53 < jgoebel> when i try and access state.name it blows up
20:54 < jgoebel> so it's probably bad this is still zeroed
20:54 < jgoebel> is there a way to actually work with the type without
knowing what type it is?
20:54 < nickjohnson> Hm. Pity arrays and slices don't implement Iterable :/
20:54 < WalterMundt> without seeing more code I cna't tell you anything
20:54 -!- serdar_ [n=serdar@dslb-084-060-253-005.pools.arcor-ip.net] has quit
[Read error: 60 (Operation timed out)]
20:54 < jgoebel> nick : easy enough to add
20:54 <+iant> jgoebel: yes, but you are restricted to the operations
available in the reflect package
20:55 < WalterMundt> jgoebel: you're pasting really small pieces, which
isn't helpful in answering your questions
20:55 <+iant> which is not much of a restriction, since pretty much
everything is implemented, but it's harder to use
20:55 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
20:55 < nickjohnson> jgoebel: Yes, but something that would be obviously
useful to everyone
20:55 < jgoebel> Walter: i'm just dealing with Find and State right now
20:56 -!- sku [n=sk@217.175.10.144] has quit [Remote closed the connection]
20:56 -!- hugov [n=hugov@sjc237n225.joh.cam.ac.uk] has quit []
20:56 < WalterMundt> jgoebel: doesn't matter, you changed the context and
didn't paste the calling code, which sets up the model map and is thus clearly
relevant
20:56 -!- serdar_ [n=serdar@dslb-084-060-203-188.pools.arcor-ip.net] has joined
#go-nuts
20:56 -!- mitchellh [n=mitchell@D-69-91-142-31.dhcp4.washington.edu] has joined
#go-nuts
20:57 * jgoebel pasted http://pastie.textmate.org/private/lmb5pmpp6wtxnxmafbjfhq
20:57 -!- likebike [i=900fffe3@gateway/web/freenode/x-bghyqcpasjlqvygu] has joined
#go-nuts
20:57 < jgoebel> which is just model_map = make(map[string] reflect.Type);
20:57 < likebike> wow.  lots of people here.
20:57 < WalterMundt> jgoebel: no it isn't
20:57 < WalterMundt> something is putting something IN the map
20:58 < WalterMundt> and that is not in the listed code
20:58 * jgoebel pasted http://pastie.textmate.org/private/xgwlip9plvgp3mylgrcxzq
20:58 < jgoebel> hasn't changed from earlier
20:58 < jgoebel> well save the * you asked me to add
20:58 < likebike> I have heard rumors that "Go" is a "Google" language.  But
I think that's just a rumor.  Can't find any proof that Google is really backing
the language.  Are they?
20:58 < dga> are you trolling, likebike?
20:58 < dgnorton> there an example of using TCPListener?
20:58 < WalterMundt> jgoebel: yes it is, I haven't seen the version with
reflect.Typeof
20:58 < likebike> dga: ???
20:59 < jgoebel> ah ok
20:59 < jgoebel> if i can't set attributes of State inside Find then this
isn't going to work
20:59 < jgoebel> the idea is to pass back a fully setup State
20:59 < WalterMundt> jgoebel: you probably want reflect.Typeof(State{})
rather than using new, and then remove the * from the type assertion
20:59 < likebike> Not trolling.  just curious.
20:59 < dga> http://golang.org/doc/go_faq.html
20:59 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
21:00 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
21:00 < jgoebel> oh wow, that doesn't crash at least :)
21:00 -!- KinOfCain [n=KinOfCai@cpe-76-170-26-1.socal.res.rr.com] has joined
#go-nuts
21:00 < WalterMundt> jgoebel: now you can do
o.FieldByName("name").Set("foo") and such
21:00 < WalterMundt> before returning o.Interface()
21:00 < WalterMundt> I *think* that will work
21:00 < jgoebel> oh :)
21:01 < WalterMundt> may have to assert it to reflect.StructValue first
21:03 < jgoebel> hmmmm
21:03 < jgoebel> which syntax is that
21:03 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has quit [Remote
closed the connection]
21:04 < gl> mmh...  cgo's error messages are quite cryptic
21:04 < nickjohnson> Does Go support Python-style open slices?  Eg foo[1:]?
21:05 < jgoebel> feel like i'm so close
21:05 <+iant> nickjohnson: no, but it probably should; I think there is an
issue open for that
21:06 < jabb> am I forced to do this: http://gopaste.org/0P25S if I don't
want to allocate an Int on the heap?
21:07 < gl> iant do you know if there is a "simple" way to do an ioctl()?  I
didn't find anything in the online docs, and I'm looking for a cgo way now:/
21:07 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
21:07 <+iant> jabb: even that won't work, taking the address will tend to
push the variable onto the heap
21:08 < jabb> hmm, really?
21:08 < uriel> gl: I doubt it, ioctl is *evil*
21:08 < uriel> (to put it mildly
21:08 <+iant> gl: I think that ioctl is not currently implemented
21:08 -!- MrTopf [n=mrtopf@p579F06BB.dip.t-dialin.net] has quit [Remote closed the
connection]
21:08 < jgoebel> finally :)
21:08 < jgoebel> Walter i got it
21:08 * jgoebel pasted http://pastie.textmate.org/private/6532dw02vxywqgolx3cx9a
21:08 < jgoebel> crazy
21:08 <+iant> gl: but you could call syscall.Syscall directly....
21:09 <+iant> jabb: yes, sorry to say, though that is really a compiler
implementation issue so it may change
21:09 < gl> uriel: maybe, but if I want to do the same thing as ioctl(fd,
SIOCGIFINDEX, &ifr)...
21:09 < uriel> jgoebel: use gopaste.org!  ;P
21:09 < gl> iant: well maybe, I'll take a look
21:10 < jgoebel> uriel: i'm very partial to pastie :)
21:12 -!- micshr [n=mickey@d540.ip15.netikka.fi] has quit [Read error: 145
(Connection timed out)]
21:12 -!- stefanc [n=stefanc@188.25.245.40] has quit [Read error: 54 (Connection
reset by peer)]
21:14 < alexsuraci> jgoebel: haha, i was going to recommend it myself but
then I recognized the name
21:14 < uriel> hey alexsuraci!
21:14 < alexsuraci> hey
21:15 < uriel> alexsuraci: really good job with gopaste!  but you should add
a link in gopaste.org to the source
21:15 < alexsuraci> probably true, but I'd rather get it in a more coherent
state
21:15 < uriel> it is one of the most substantive go apps around, and one of
the very few already in production :)
21:15 < alexsuraci> right now it's basically something I threw together in
my go-play repo
21:15 -!- hipe [n=hipe@69.193.196.185] has quit ["Leaving..."]
21:15 < alexsuraci> thanks :P
21:15 -!- serdar_ [n=serdar@dslb-084-060-203-188.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
21:16 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
21:16 < alexsuraci> there's a nice little feature I threw in last night
21:16 -!- tcpip4000 [n=tcpip400@190.84.233.18] has joined #go-nuts
21:17 < alexsuraci> hidden because it can be used to kill the server due to
a glitch in the http package (issue already reported and accepted)
21:17 < uriel> hehehe
21:17 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
21:17 < uriel> I really like the minimalist design
21:17 < alexsuraci> but basically, curl --data-urlencode code@/path-to-file
http://gopaste.org/
21:17 < alexsuraci> it'll paste /path-to-file and return back the URL for it
21:18 < jgoebel> yeah, congrats on being the first paste service more
minimal than pastie :)
21:18 < alexsuraci> just don't use curl -F or I'll have to hunt you down ;)
21:18 < alexsuraci> haha, thanks
21:18 -!- serdar_ [n=serdar@dslb-084-060-234-184.pools.arcor-ip.net] has joined
#go-nuts
21:19 < alexsuraci> i'm planning on adding private/public pastes
21:19 < alexsuraci> I like the serendipity of just going to
pastie.org/pastes
21:19 -!- mitchellh [n=mitchell@D-69-91-142-31.dhcp4.washington.edu] has quit
["Leaving."]
21:22 -!- loureiro [n=loureiro@189.2.128.130] has quit ["Quit"]
21:23 -!- dga [n=dga@63.226.120.16] has quit [Read error: 104 (Connection reset by
peer)]
21:24 -!- sjbrown [n=sjbrown@dsl081-072-059.sfo1.dsl.speakeasy.net] has joined
#go-nuts
21:24 -!- dgnorton [n=dgnorton@97.65.135.119] has quit []
21:28 -!- Venom_X_ [n=pjacobs@66.54.185.131] has joined #go-nuts
21:29 -!- axisys [n=axisys@ip68-98-177-71.dc.dc.cox.net] has left #go-nuts []
21:29 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has quit ["Bye
Bye"]
21:29 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
#go-nuts
21:29 -!- diltsman [n=diltsman@76.8.194.226] has joined #go-nuts
21:30 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
#go-nuts
21:30 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
closed the connection]
21:31 < XniX23> i have an integer, how can i redirect that pointer to show
on some other integer?
21:31 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
21:32 < sladegen> wtf
21:32 < KirkMcDonald> XniX23: What pointer?
21:32 < aninhumer> You can't use an arbitrary integer as a pointer if that's
what you're asking?
21:33 -!- nil [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts
21:33 -!- __gilles [n=gilles@gw.poolp.org] has left #go-nuts []
21:33 < sladegen> i := &integer1 ; i = &integer2
21:35 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
21:36 < XniX23> KirkMcDonald: doesnt integer have a pointer that points to
its value?  lets say i have 2 ints, a=2, b=5; and i'd like to switch so that a
points to b (which makes a=5) and b points to a(which makes b=2)
21:36 < nickjohnson> Is it possible to alias a function name from another
module?
21:36 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has quit [Read error:
104 (Connection reset by peer)]
21:36 < XniX23> sladegen: ill try that
21:36 <+iant> XniX23: if a has type int, then it always has type int, and
you can't make it point to some other int
21:37 < sladegen> a, b = b ,a
21:37 < KirkMcDonald> But you can change which int is contained within the
variable.
21:37 -!- stalled_ [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
21:37 < sladegen> XniX23: a, b = b, a ;
21:37 <+iant> nickjohnson: I suppose you could just write Myfunc :=
package.TheirFunc;
21:37 < nickjohnson> Wasn't sure if that worked
21:37 <+iant> or at top level var Myfunc = package.TheirFunc
21:37 <+iant> I can't think of any reason that it wouldn't work
21:38 < XniX23> ohhh i seee
21:38 < sladegen> nickjohnson: it works.
21:38 -!- Lorthirk [n=cm0901@109.114.32.87] has joined #go-nuts
21:38 < uriel> ok, I got trolled, sorry folks, I just can't stand the
anti-UTF-8 zealots :(
21:38 < XniX23> thanks iant, ill try that solution sladegen :D
21:39 < reppie> ni hao
21:39 < nickjohnson> I'm learning that Go is not the best language for code
golf ;)
21:39 -!- slowriot [n=kclancy@66.211.10.10] has joined #go-nuts
21:39 -!- Alkavan [n=igal@77.127.229.182] has quit [Read error: 110 (Connection
timed out)]
21:39 -!- rowdog [n=jth@h19.147.30.71.dynamic.ip.windstream.net] has quit ["gotta
go!"]
21:40 -!- migomipo [n=kvirc@84-217-11-119.tn.glocalnet.net] has quit ["When two
people dream the same dream, it ceases to be an illusion.  KVIrc 3.4.2 Shiny
http://www.kvirc.net"]
21:40 < sladegen> nickjohnson: what's code golf?
21:40 < nickjohnson> sladegen: Writing the shortest program that
accomplishes something
21:41 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
connection]
21:41 < uriel> nickjohnson: hehehe
21:41 < sladegen> nickjohnson: write go REPL
21:42 < nickjohnson> sladegen: Hm?
21:42 -!- serdar_ [n=serdar@dslb-084-060-234-184.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
21:42 -!- insane_coder [n=nach@89-138-158-241.bb.netvision.net.il] has quit
[Remote closed the connection]
21:43 -!- insane_coder [n=nach@89-138-158-241.bb.netvision.net.il] has joined
#go-nuts
21:43 -!- danly [n=danlesli@S01060024012cac04.vs.shawcable.net] has joined
#go-nuts
21:45 -!- serdar_ [n=serdar@dslb-084-060-223-091.pools.arcor-ip.net] has joined
#go-nuts
21:45 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has quit [Remote closed
the connection]
21:46 < jgoebel> cannot define new methods on non-local type string
21:46 < jgoebel> seriously?
21:46 < jgoebel> i can't add new methods to string?
21:46 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has joined #go-nuts
21:46 < hagna> so including my pkg in $GOROOT/src/pkg is the way to make a
package for go?  What if I want a 3rd party package?
21:46 < nickjohnson> 342 characters is the shortest arbitrary-precision
fractran interpreter I can write: http://stackoverflow.com/questions/1749905
21:46 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has joined #go-nuts
21:46 <+iant> jgoebel: you can not add methods to the builtin type; you can
define your own type (type Mystring string) and add methods to that
21:48 < nickjohnson> How does one parse numeric strings in Go?
21:48 <+iant> nickjohnson: strconv.atoi?
21:49 < nickjohnson> cheers
21:49 -!- clip9_ [i=tj@12.81-166-62.customer.lyse.net] has quit [Remote closed the
connection]
21:50 < sladegen> nickjohnson: oh, i took it in a sense of doing quick
exploratory coding not creating the omega numbers, then surely encoding format is
the problem.
21:51 < nickjohnson> sladegen: ...creating the omega numbers?
21:52 -!- bjb [n=bobby@cpe-065-184-253-213.ec.res.rr.com] has quit [Read error:
110 (Connection timed out)]
21:52 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has joined #go-nuts
21:53 < sladegen> nickjohnson: aka chaitin number
21:54 < nickjohnson> sladegen: Code golf has nothing to do with calculating
chaitin numbers
21:54 -!- sm [n=sm@pool-71-189-233-10.lsanca.dsl-w.verizon.net] has joined
#go-nuts
21:55 < nickjohnson> Maybe komologrov complexity, though...
21:55 -!- nil [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts
21:55 < facemelter> Gracenotes, thanks ;) awesome work...  (im slow i know)
21:55 < sladegen> nickjohnson: in a way it does, you are trying to find the
most compact solution to a given problem.  chaitin number is about ultimate
problem of computability.
21:55 < scandal> iant: i'm working with reflect to a ArrayConcat() function.
It seems odd that I have to create a slice that is backed by the entire underlying
array before i can create a subslice.  am i missing something?
http://gopaste.org/N0FsF
21:55 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has quit [Read error: 54
(Connection reset by peer)]
21:56 < nickjohnson> sladegen: Are you sure you're not thinking of
Komologrov-Chaitin complexity?  They're different things.
21:56 < scandal> scandal: it seems like .SetValue() should allow me to
specify the start offset
21:56 < scandal> err, that was for iant
21:57 < sladegen> nickjohnson: bah, let's not get nickpicky, i merely wanted
to know what you meant by golf coding.
21:57 <+iant> say, suppose gopaste.org didn't use a black background....do
people really find that easy to read?
21:57 < scandal> iant: no :(
21:57 -!- scyth [n=scyth@rots.in.rs] has quit [Remote closed the connection]
21:57 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has joined #go-nuts
21:58 -!- Heavensrevenge
[n=quassel@CPE001d0fe73b7d-CM00111ae5c642.cpe.net.cable.rogers.com] has joined
#go-nuts
21:58 < nsz> i use w3m
21:58 < scandal> http://codepad.org/MwFysdJV
21:58 < nsz> every site has black background
21:58 < scandal> nsz: heh
21:59 <+iant> scandal: as far as I know you do have to do it that way; there
could certainly be a version of SetValue which took a starting offset, but there
isn't
21:59 < exch> it goes well with my current openbox theme.  light backgrounds
on sites make my eyes explode from the contrast
21:59 -!- cpr420 [n=cpr420@67.165.199.143] has joined #go-nuts
22:00 < scandal> exch: maybe it should support a light background and allow
the user to switch the theme?
22:00 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
22:00 < nsz> exch: why not enforce your own style?
22:00 -!- stalled_ [n=411@89-178-47-76.broadband.corbina.ru] has quit [Read error:
104 (Connection reset by peer)]
22:00 < nsz> i do that when i browse with a graphical browser..
22:00 < sladegen> books should be printed on black paper!
22:00 < yiyus> fwiw, the first thing i do is to remove the style-sheet,
getting rid of the dark bg and syntax hl
22:00 < exch> I can configure firefox to use a darker theme, but that
usually causes problems with text fields
22:00 -!- Fraeon_ [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
22:00 < exch> specifically forms
22:01 < exch> making text ijnvisible cos it uses black text on a dark gray
backdrop :p
22:01 < nsz> exch: text fields can be styled too
22:01 < nsz> in case of ff use gtk-something-rc
22:01 < nsz> </offtopic>
22:01 < exch> yes, but it never works quite the way I need it to by
overriding FF's style settings
22:02 < Ian_Daniher> /w 7
22:02 -!- NoPyGod [n=NoPyGod@125-236-202-220.adsl.xtra.co.nz] has joined #go-nuts
22:02 -!- svet [n=svet@adsl-99-162-123-95.dsl.austtx.sbcglobal.net] has joined
#go-nuts
22:03 < NoPyGod> hello joe, what do you know
22:03 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has quit [Read error:
110 (Connection timed out)]
22:04 -!- mxcl_ [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
22:04 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
22:06 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Read error:
60 (Operation timed out)]
22:06 < WalterMundt> for debugging, is there any way to tell how many items
are in a channel buffer?
22:07 -!- sliceofpi1 [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit
["Leaving."]
22:07 < WalterMundt> (I know that using that info for program logic is
likely to lead to interesting race conditions)
22:07 < exch> WalterMundt: len(somechan)
22:08 < WalterMundt> exch: ahh, thanks
22:09 -!- sjbrown [n=sjbrown@dsl081-072-059.sfo1.dsl.speakeasy.net] has quit
["Leaving"]
22:09 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
#go-nuts
22:10 -!- Hello [i=545b7b8f@gateway/web/freenode/x-ikrdtzhorrmjruvz] has joined
#go-nuts
22:10 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
22:10 < alexsuraci> iant: I'll probably add some sort of theme selector to
gopaste down the line
22:10 < kuroneko> ken broke 6l >_>
22:11 < alexsuraci> it's designed based on the popular twilight theme at the
moment, later themes will also style the site itself
22:11 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 113 (No
route to host)]
22:12 < kuroneko> actually, maybe not - mercurial seems to have botched the
merge >_<
22:12 -!- drusepth [i=drusepth@72-24-207-121.cpe.cableone.net] has joined #go-nuts
22:14 -!- seedee [i=root@shell1.phx.gblx.net] has joined #go-nuts
22:14 < kuroneko> ah, google-code just caught up
22:15 -!- KinOfCain [n=KinOfCai@cpe-76-170-26-1.socal.res.rr.com] has quit [Read
error: 113 (No route to host)]
22:17 -!- drusepth` [n=drusepth@adsl-76-194-203-21.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
22:17 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 110 (Connection timed out)]
22:18 -!- decriptor [n=decripto@137.65.132.26] has quit [Remote closed the
connection]
22:19 < jgoebel> states.Iter undefined (type vector.Vector has no field
Iter)
22:19 < jgoebel> hmmm
22:19 -!- drusepth`` [n=drusepth@adsl-76-194-203-21.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
22:19 < jgoebel> doesn't it?
22:19 < sladegen> .Iter() ?
22:20 < jgoebel> for state = range states.Iter() {
22:20 < jgoebel> where states is a ResultSet
22:20 < jgoebel> type ResultSet *vector.Vector;
22:20 < jgoebel> will that not work?
22:20 < sladegen> perhaps add *
22:21 -!- Lorthirk [n=cm0901@109.114.32.87] has quit [Read error: 54 (Connection
reset by peer)]
22:21 < jgoebel> where?
22:21 < jgoebel> in front of states has effect
22:21 < sladegen> *states.Iter()
22:21 < jgoebel> no dice
22:22 < sladegen> hmmm...  don't know then.  havent played with vectors yet.
22:22 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 110
(Connection timed out)]
22:23 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:23 -!- elmar [n=elmar@dslb-188-097-077-128.pools.arcor-ip.net] has quit
["Leaving"]
22:23 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 60 (Operation
timed out)]
22:24 -!- seedee [i=root@shell1.phx.gblx.net] has quit ["^C"]
22:31 < kuroneko> gotta saw, given that the broken merge made it into
mainline after being posted to codereview, I do wonder if the review process is
actually working at the moment.
22:31 < kuroneko> s/saw/say/
22:31 -!- bugles [n=s@12.177.127.226] has joined #go-nuts
22:31 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has joined
#go-nuts
22:33 -!- diabolix [n=jsoyke@206.210.81.55] has quit ["Leaving"]
22:33 < WalterMundt> any material on debugging go?  I'm getting a "Bus
Error" crash (on Darwin 386)
22:33 < WalterMundt> and need to track down what it's doing
22:34 < uriel> *ogle*
22:34 < uriel> ;P
22:34 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
22:34 < NoPyGod> what's the difference between google, and goggles
22:34 < NoPyGod> the goggles, they do nothing!
22:35 -!- bj_990 [n=bj@12.200.27.66] has left #go-nuts ["Leaving"]
22:35 < uriel> btw, ogle is in go/src/pkg/exp/ogle/
22:35 < uriel> (haven't tried it, so not sure in what state it is)
22:35 < nsz> use println
22:36 < svet> heh
22:36 < uriel> (and I think rob has said they have plans for a more advanced
debugging system probably building on their experience with Plan 9's acid)
22:36 -!- drusepth` [n=drusepth@adsl-76-194-203-21.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
22:36 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
22:37 -!- serdar_ [n=serdar@dslb-084-060-223-091.pools.arcor-ip.net] has quit
[Read error: 110 (Connection timed out)]
22:38 -!- drusepth [i=drusepth@72-24-207-121.cpe.cableone.net] has quit [Read
error: 110 (Connection timed out)]
22:38 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
22:39 < XniX23> is there a way to split the line a,b=c,d ?
22:39 < XniX23> lets say a,b \
22:39 < XniX23> =
22:39 < XniX23> c,d
22:39 < XniX23> or something
22:40 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
22:40 -!- mode/#go-nuts [+v kaib] by ChanServ
22:40 < nsz> hm i thought go was not whitespace sensitive
22:40 -!- mesenga [n=cbacelar@20150131219.user.veloxzone.com.br] has joined
#go-nuts
22:41 -!- kaib_ [n=kaib@nat/google/x-drzxfobesxaxofmi] has joined #go-nuts
22:41 -!- mode/#go-nuts [+v kaib_] by ChanServ
22:41 < mizai> funcmain(){fmt.Printf("ithinkitis");}
22:41 < XniX23> nsz: its not?
22:42 <+iant> XniX23: you can break lines anywhere you like
22:44 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[]
22:46 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
22:51 < XniX23> iant: thanks, i find that awesome :D
22:52 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has quit
[Read error: 110 (Connection timed out)]
22:53 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
22:54 -!- sockmonk [n=user@pixout.appriss.com] has quit [Connection timed out]
22:54 -!- Wiz126 [n=Wiz@72.20.223.16] has joined #go-nuts
22:55 < sladegen> heh, http://gopaste.org/D2S7D
22:56 < sladegen> but black input box on black background is overkill mr
gopaste.org
22:56 -!- kaib_ [n=kaib@nat/google/x-drzxfobesxaxofmi] has quit []
22:56 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
22:56 < jgoebel> is there a die or exit function that stops exection?
22:56 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:56 < sladegen> os.Exit(1);
22:57 < jgoebel> thanks !
22:57 < KirkMcDonald> Also there is panic()
22:57 < WalterMundt> argh
22:57 < dho> .....aaaaand there we go.
22:57 < WalterMundt> ; load . "loadtest";
22:57 < WalterMundt> debug/proc not implemented on OS X
22:57 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has quit [Read error: 60
(Operation timed out)]
22:58 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has joined #go-nuts
22:58 -!- nil [n=ni|@isp2-resnet-nat1.union.edu] has quit ["Leaving..."]
22:58 < directrixx> Is there a way to delete a value from a map without
using a dummy value in the assignment?
22:58 -!- pjina3 [n=pjina3@193.169.66-86.rev.gaoland.net] has joined #go-nuts
22:58 < dho> gofmt works on freebsd/i386
22:58 * dho expects most other things will too.
22:58 < directrixx> as in: mymap[x] = y, false;
22:59 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
110 (Connection timed out)]
22:59 < scandal> directrixx: use _ for the dummy val
22:59 -!- Wiz126 [n=Wiz@72.20.223.16] has quit [Read error: 60 (Operation timed
out)]
22:59 < directrixx> scandal: that was giving me a compile error
22:59 < uriel> dho: cool
22:59 < dho> > 8l -e -o gofmt _go_.8
22:59 < dho> > ./gofmt < ../../pkg/syscall/zsyscall_freebsd_386.go|wc
-l 660
22:59 < dho> > uname -a
22:59 < dho> FreeBSD 8.0-RC3 FreeBSD 8.0-RC3 #0: Tue Nov 10 07:50:36 UTC
2009 root@almeida.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
22:59 < scandal> oh.
22:59 < directrixx> scandal: "cannot use _ as a value"
23:00 < directrixx> scandal: seemed to me like the logical way to do it too
23:02 < scandal> try 0 instead
23:02 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has
joined #go-nuts
23:03 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Remote closed the
connection]
23:03 < directrixx> scandal: that's what I meant by dummy value, I'm using a
map[string]bool, so I'm just using false.  But it feels odd to me to put anything
there.
23:04 -!- evilhackerdude [n=stephan@e181124118.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
23:05 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has joined #go-nuts
23:05 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit
["WinPants!"]
23:05 < scandal> directrixx: yes, it is a little odd, but i guess it is
symmetric with pulling a value out
23:06 < jlouis> dho: impressive work!
23:06 < Heavensrevenge> if i wanted to create a little runtime to run code
on behalf of an executable input binary, would a virtual machine be a good base my
runtime i have planned to built ontop of??
23:07 < Heavensrevenge> or would it be possible to pull the gc'd go runtime
out of the refrence implementation as a base?
23:07 < directrixx> scandal: true, I suppose there's value in that.
23:07 < dho> there are some issues with goroutines still
23:07 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has left #go-nuts ["Killed buffer"]
23:07 < dho> but i think i'm not calling the syscalls properly
23:08 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has joined #go-nuts
23:09 -!- pjina3 [n=pjina3@193.169.66-86.rev.gaoland.net] has quit ["Leaving"]
23:09 < hsuh> is there a list of go software already written?  (supposing
there was sw insnide google that was also opensourced)
23:10 < uriel> hsuh: I have links to some at http:/go-lang.cat-v.org
23:10 < scandal> hsuh: the golang reddit has some stuff.  i have not seen
any list other than what individuals are posting to the golang-nuts email list
23:10 < jabb> I was about to link that
23:10 < jabb> :P
23:10 < hsuh> tks
23:10 < uriel> but for now mostly added libraries, will try to add links to
non-lib projects later on
23:10 < Gracenotes> there's no packaging system yet, but you might find code
around various public repositories and pastebins..  -.-
23:10 < uriel> and yea, there are a few things in
http://reddit.com/r/golang/
23:11 < hsuh> uhum, looking at it
23:11 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit ["Leaving"]
23:11 -!- ggorgen [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
23:12 -!- bugles [n=s@12.177.127.226] has quit [Read error: 110 (Connection timed
out)]
23:13 < Heavensrevenge> ok ill continue planning then ask after i can more
clearly ask my question :) those channels are what i like as long as they can be
run in separate threads
23:14 < jgoebel> who wrote the gopaste?
23:14 < jgoebel> does it just use files for backend storage?
23:14 < scandal> alexsuraci wrote it i believe
23:15 < dho> that's why.
23:16 < jgoebel> hmmm
23:16 < jgoebel> how am i supposed to test my private functions?
23:17 -!- malkia [n=malkia@external.treyarch.com] has joined #go-nuts
23:17 -!- danly [n=danlesli@S01060024012cac04.vs.shawcable.net] has quit []
23:18 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit ["Leaving"]
23:19 < Ycros> jgoebel: I'm writing my tests following the style that's used
in the go sources - my tests are in the same package
23:19 < jgoebel> ah
23:19 < jgoebel> gotcha :)
23:20 < halfdan> Ycros: example?
23:20 < Ycros> so when you build the package, they don't get linked in, but
"make test" picks them up
23:20 -!- cpr420 [n=cpr420@67.165.199.143] has quit ["Vision[0.9.7-H-090423]: i've
been blurred!"]
23:21 < exch> the test framework is pretty nice
23:21 < exch> easy to work with
23:21 < Ycros> halfdan: just look at how the various packages are testing in
the go sources
23:21 < Ycros> exch: though I can't get the coverage tool to work, I need to
file a bug
23:22 -!- edsono [n=edson@200-160-96-163-ma.static.vivax.com.br] has joined
#go-nuts
23:22 -!- edsono [n=edson@200-160-96-163-ma.static.vivax.com.br] has quit [Client
Quit]
23:23 < jgoebel> hmmm
23:23 < jgoebel> so you can pass params with func blah ( a...) and then
reflect on them as a structure?
23:24 < WalterMundt> yeah
23:24 < jgoebel> any way to have a multi type map?
23:24 -!- evilhackerdude [n=stephan@82.113.106.205] has joined #go-nuts
23:24 < jgoebel> {id: 12, name: "Josh"}
23:24 -!- strohman [n=strohman@216.239.45.130] has joined #go-nuts
23:24 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has joined
#go-nuts
23:25 < jgoebel> trying to figure out how to pass multiple named options to
a method
23:25 < WalterMundt> jgoebel: map[string]interface{}
23:25 < jgoebel> hmmm
23:25 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
23:25 < jgoebel> and then the reciever can worry about getting the values
back, right?
23:25 < KirkMcDonald> jgoebel: I came up with one fairly hack-ish solution
to that.
23:26 < KirkMcDonald> It involves defining a type for each possible
option...
23:26 < jgoebel> KirkMcDonald: do tell
23:26 < WalterMundt> so given that ogle seems not to work on OSX yet, any
ideas for tracking down a segfault?
23:26 < jgoebel> hmmm
23:26 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
["Verlassend"]
23:26 < KirkMcDonald> Then writing a function which returns a (pointer to)
something of that type.
23:26 < nmichaels> I'm getting this error: "cannot use x (type chan T) as
type T in function argument" when I try to y <- x where x and y are both of
type chan T. What am I doing wrong?
23:27 < jgoebel> i'm looking for something i can write inline in a function
call
23:27 < jgoebel> map[string]interface{} might have to do
23:27 < KirkMcDonald> nmichaels: Perhaps you want: y <- <-x;
23:27 < jgoebel> state := dm.Find("State", 12).(State);
23:27 < jgoebel> is already way to verbose :)
23:28 < nmichaels> KirkMcDonald: Yes, I did...why?
23:28 < WalterMundt> segfaulting code at http://gopaste.org/Alp9a if anyone
wants to play with it
23:28 < KirkMcDonald> nmichaels: Why what?
23:28 < WalterMundt> it's a start of a hacked up http loadtester
23:28 < alexsuraci> jgoebel: yea, it does
23:29 < nmichaels> KirkMcDonald: Why does that work?  I'm confused...thought
<- popped things out of channels and/or put them into other channels.
23:29 -!- KinOfCain [n=KinOfCai@cpe-76-170-26-1.socal.res.rr.com] has joined
#go-nuts
23:29 -!- slowriot [n=kclancy@66.211.10.10] has quit []
23:29 < KirkMcDonald> nmichaels: y <- x attempts to put 'x' into the
channel y.
23:29 < jgoebel> alexsuraci: don't need a db?
23:29 < KirkMcDonald> nmichaels: y wants a T, not a chan T.
23:29 < WalterMundt> nmichaels: y <- <-x; is equivalent to temp :=
<-x; y <- temp;
23:29 < alexsuraci> jgoebel: nah, I think that'd be overkill, at least at
this point
23:29 < nmichaels> KirkMcDonald: ah, so y<- <- x attempts to put
"<-x" into y?
23:29 < KirkMcDonald> nmichaels: Yes.
23:30 < nmichaels> cool, thanks
23:30 -!- nmichaels [n=nathan@dhcp-0-50-ba-58-39-ed.cpe.townisp.com] has left
#go-nuts []
23:30 < alexsuraci> jgoebel: here's the source: http://gopaste.org/OHz06
23:30 < svet> http://gopaste.org/OHz06
23:30 < alexsuraci> (pretty.go and html.go can be found at
http://github.com/vito/go-play )
23:30 < jgoebel> sweet
23:30 -!- danly [n=danlesli@S010600226b5eab8e.vs.shawcable.net] has joined
#go-nuts
23:31 < jgoebel> though i miss my ERB
23:31 < alexsuraci> I just wrote up a little html dsl (html.go)
23:31 < alexsuraci> that combined with the template package is pretty
awesome
23:31 -!- hsuh [n=hsuh@c925a62a.virtua.com.br] has left #go-nuts ["Killed buffer"]
23:31 < alexsuraci> for example, the linesPre and codesPre stuff here:
http://gopaste.org/OHz06#LC160
23:32 < alexsuraci> it builds up both html blocks at the same time even
though they appear separately in the source
23:33 -!- Hello [i=545b7b8f@gateway/web/freenode/x-ikrdtzhorrmjruvz] has quit
["Page closed"]
23:36 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
connection]
23:37 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has quit [Read error:
104 (Connection reset by peer)]
23:39 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
23:40 < alexsuraci> hooray!
http://code.google.com/p/go/source/detail?r=751eaa8f96
23:40 -!- nacmartin [n=chatzill@77.224.92.149] has joined #go-nuts
23:41 < nacmartin> how to convert an int into []byte ?
23:42 -!- lux` [n=lux@151.54.240.177] has quit [Remote closed the connection]
23:42 < jabb> strconv?
23:42 < WalterMundt> nacmartin: http://golang.org/pkg/encoding/binary/
23:43 < exch> what exactly does 'println' do differently to
os.Stdout.WriteXXX() or fmt.PrintF(..)?  Cos it seems that anything pinted using
the last 2 methods from a go routine never appears in the shell..  Only the
println output does
23:43 -!- aa [n=aa@r190-135-220-138.dialup.adsl.anteldata.net.uy] has joined
#go-nuts
23:43 < nacmartin> aha, WalterMundt, thx
23:43 < WalterMundt> nacmartin: oops
23:43 < sladegen> exch: it adds "\n"?
23:43 < WalterMundt> may not be what you want
23:43 <+iant> exch: println is a low level builtin function (which may go
away some day); it doesn't know how to print interfaces, just simple values
23:43 < gl> println() adds the *
23:43 < gl> \n
23:44 <+iant> But I don't know what is happening with your fmt.Printf
output, it should work fine from a goroutine
23:44 < exch> hmm.  why then is println the only one that gets output to the
shell?
23:44 -!- sgtarr [n=sgt@rasterburn.org] has joined #go-nuts
23:44 -!- gnuvince [n=vince@64.235.207.47] has quit ["What the fruit is goin' on
here!?"]
23:45 < penguin42> does the fmt.Printf get output if you put a new line on
the end?
23:45 < WalterMundt> yeah, binary.LittleEndian.PutUint32(myBytes, myUint32);
23:45 < exch> penguin42: nope
23:45 < nacmartin> well, I want to send an integer via tcp...
23:46 < nacmartin> ints are 32bytes?
23:47 < exch> int32 is 4 bytes (32 bits)
23:47 < penguin42> nacmartin: They are *typically* 32bits, but might be 64
or 16
23:47 < nacmartin> is there a sizeof?
23:47 -!- likebike [i=900fffe3@gateway/web/freenode/x-bghyqcpasjlqvygu] has left
#go-nuts []
23:47 < penguin42> but as exch says int32s well, they're 32
23:47 < exch> this is odd.  println works well on it's own, but when I add a
fmt.Println() call next to it or before it to test both..  the println output
disappears as well
23:47 < halfdan> if you need a fixed size take the int32 / int64
23:48 < halfdan> exch: src?
23:48 < exch> sec.  i'll post it
23:48 <+iant> nacmartin: there is unsafe.Sizeof
23:48 < nacmartin> ok, thanks
23:48 < halfdan> which is..  *oh my* unsafe
23:49 < exch> http://go.pastebin.com/m1cca2e8c
23:49 < exch> the print stuff is in count()
23:49 < sladegen> iant: len return 1 for "all" ints?
23:49 < exch> as it is now, println works.  but when I uncomment the printf
stuff (and the imports), it stops working
23:50 < nacmartin> is there any way to disable that "I won't compile because
X declared and not used" behaviour?
23:50 -!- evilhackerdude [n=stephan@82.113.106.205] has quit [Nick collision from
services.]
23:50 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
23:50 -!- evilhackerdude [n=stephan@82.113.121.195] has joined #go-nuts
23:50 <+iant> sladegen: can you call len on an int?  that sounds like a type
error
23:51 < exch> nope.  only thing you can do is asign the value to _
temporarily
23:51 < sladegen> iant: haven't tried, but in context of sizof it might be
good extension.
23:51 <+iant> well, but we consider sizeof to be an unsafe operation; it's
not needed for the kinds of thing C uses it for
23:52 -!- flyfish [n=flyfish@pixout.appriss.com] has quit []
23:52 < jlouis> nacmartin: hopefully not :)
23:52 < nacmartin> iant, well, if I have an int, and you want to send it
through tcp, I need to convert it to []uint8, but I don't know the size of the
int...
23:53 < WalterMundt> nacmartin: how would the other side know either then?
23:53 <+iant> nacmartin: you shouldn't really send things according to the
size of int, you should send them according to some predetermined size (in my
opinion)
23:53 < WalterMundt> nacmartin: advise using gob in that case
23:53 < nacmartin> ok, then, fine
23:53 < quag> nacmartin: check to see how large the number is, and then
decide how many int8s to pack it into?
23:54 < WalterMundt> since you'd obviously have to control the protocol, and
gob knows how to send ints because it uses a size-independent encoding
23:54 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has joined #go-nuts
23:54 < quag> nacmartin: but I do see what you're getting at: if you want a
simple go-to-go serialization more effort is required than if this was defined
natively.
23:54 <+iant> exch: you aren't giving your program enough to print anything
before it exits
23:54 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
23:54 < mxpxpod> is there a way to get just the keys of a hash?
23:54 < WalterMundt> quag: that's what gob is for
23:54 <+iant> exch: you send quit <- true, which starts the goroutines
printing something, but then you exit right away
23:55 <+iant> exch: the program doesn't hang around waiting for the
goroutines to finish
23:55 < quag> WalterMundt: gob?  (missed that)
23:55 < exch> iant: ok..  so I suppose a short sleep after the quit should
sort it out?
23:55 < WalterMundt> quag: http://golang.org/pkg/gob/
23:55 * quag loves guessable urls :)
23:55 < nacmartin> ok, I have things more clear now
23:55 < WalterMundt> quag: basis of http://golang.org/pkg/rpc/
23:55 <+iant> exch: yes, or wait for an explicit acknowledgment that the
goroutines are finished
23:55 < nacmartin> let's check that gob thing
23:56 < quag> WalterMundt: perfect!  :)
23:56 < WalterMundt> which gives you fairly decent close-to-free
RPC-over-TCP or HTTP
23:56 < quag> hmm...  it uses unsafe.Pointer
23:56 < exch> righty.  a 10ms wait seems to be enough in this situation
23:56 < quag> didn't expect that :)
23:57 < quag> oh of course, it has to use reflection which is unsafe :)
23:57 < WalterMundt> yeah, precisely
23:57 < WalterMundt> that's magic that ought to be debugged once and then
never mucked with, that's why it's in the standard lib
23:58 -!- lenst [n=user@90-229-131-67-no52.tbcn.telia.com] has quit [Connection
timed out]
23:58 < jgoebel> grrr
23:58 < jgoebel> make is kicking my ass
23:59 * jgoebel pasted http://pastie.textmate.org/private/16lapebh476xjkuyaumgw
23:59 < jgoebel> Makefile:18: *** missing separator.  Stop.
23:59 -!- hagna [n=hagna@70.102.57.178] has quit ["leaving"]
--- Log closed Wed Nov 18 00:00:02 2009