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

--- Log opened Thu Nov 19 00:00:28 2009
00:00 -!- madhatter09 [n=wvicente@] has quit [Read error: 60
(Operation timed out)]
00:00 < kmc> chrome, i have an opinion about structural subtyping /
duck-interfaces.  that's why i'd like to discuss it
00:01 < kmc> we've been talking for a few minutes and already you throw up
your hands and declare that i'm not interested in hearing your points
00:01 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
00:01 < kmc> i don't really see what would give you that impression
00:01 < kmc> sladegen, what do you mean?
00:01 -!- decriptor [n=decripto@] has quit [Remote closed the
00:02 -!- eno_ [n=eno@adsl-70-137-172-110.dsl.snfc21.sbcglobal.net] has joined
00:02 < sladegen> kmc: the class hierarchy.
00:02 < kmc> i'm not saying there should be a hierarchy
00:02 < kmc> that's a very different idea
00:02 < jessta> kmc: in reality you wouldn't have an interface with one
00:02 < sladegen> kmc: right, so go is as type unsafe as C++ but without the
straight jacket.
00:03 < kmc> the idea of a class hierarchy is very different from the
question of whether interfaces are declared for types, or are merely discovered
automatically as in Go
00:03 < Amaranth> all type systems have tradeoffs
00:03 < Gracenotes> unsafe?  :|
00:03 < Amaranth> I don't understand the argument here
00:03 < kmc> sladegen, no, in C++ i'd have to declare that my bit register
is an engine in order to make this mistake
00:03 -!- RayNbow [i=kirika@scientia.demon.nl] has quit ["When science finally
locates the center of the universe, some people will be surprised to learn they're
not it"]
00:03 < kmc> in Go it's declared for me, by mere virtue that the method
signatures match
00:03 < Gracenotes> especially in the standard library, though, you see
interfaces used where union types would have been more appropriate
00:03 <+iant> that is an intentional feature in Go
00:04 < Gracenotes> except..  it doesn't have union types
00:04 < kmc> yes i know it's intentional ;P
00:04 < jessta> kmc: the likelihood of having two unrelated interfaces with
the same set of methods used in the same context is slim
00:04 <+iant> we understand that it can cause problems in some cases
00:04 < Gracenotes> that it my major gripe with the language, as it stands
00:04 < Amaranth> kmc: How would you suggest making your case not be a
problem without completely breaking the entire point of that feature?
00:04 -!- decriptor [n=decripto@] has joined #go-nuts
00:04 < Amaranth> all type systems have tradeoffs
00:04 < kmc> Amaranth, no kidding
00:04 < kmc> what's your point
00:04 < kmc> because there are tradeoffs we shouldn't discuss what they are?
00:05 -!- tetha [n=hk@pD9EE6663.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
00:05 < Amaranth> kmc: My point is you're just making noise
00:05 <+iant> however, the argument is that in some languages you spend more
time fiddling with the type heirarchy than you do actually programming
00:05 < sladegen> kmc: but i'm sure one would find a way to shoot himself in
a foot with some virtuals and operator overlading.
00:05 <+iant> Go is intended to be explicitly lightweight on types, with the
recognition that this can cause problems in some situations
00:05 < kmc> sladegen, what??
00:05 < Gracenotes> in go/ast, you see hidden interface methods used for
type assertions.  in other parts of the library, you see interfaces that are
basically tagged union, with { String() string; Int() int; } that sort of thing
00:05 < Amaranth> kmc: The tradeoffs are known and intentional
00:05 < kmc> those are unrelated features
00:05 < kmc> jessta, i'm worried not so much about unrelated interfaces, but
rather very similar ones that are nonetheless not interchangeable
00:05 < Gracenotes> sane union types would alleviate that, if you see it as
a problem
00:05 <+iant> Gracenotes: sum types are being seriously considered
00:05 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
00:06 < kmc> like, i make a type B that's much like type A, but whenever you
call f() (present in A) you should also call g() (absent in A) or bad things will
00:06 < kmc> now just because A and B both have f(), they could both be
passed to a function expecting an object with that interface
00:06 < Gracenotes> iant: okay, that is great to know :) with pattern
matching, to an extent (like you can currently do with type switches)?
00:06 <+iant> Gracenotes: I don't know, I haven't seen the proposal
00:06 < kmc> the function knows nothing abotu the fact that B doesn't really
implement the same *contract* for f() that A does
00:06 < kmc> Amaranth, my fix would be quite simply to declare interface
00:06 < kmc> that's one line of code per type
00:06 < kmc> not a big deal
00:07 <+iant> kmc: but that is explicitly what we decided not to do, because
it requires a type heirarchy
00:07 < kmc> doesn't lock you into inheritance, virtual methosd, operator
overloading, or any of that nonsense people are throwing out
00:07 < kmc> iant, it's not a hierarchy.  there's only one level!
00:07 < directrixx> iant: You have my vote for sum types!
00:07 <+iant> but it does mean that if you refactor an interface, you have
to change everything which uses that interface
00:07 < Amaranth> kmc: Now everything I use has to know about the interface
I made even if I didn't make the things I'm using
00:07 <+iant> we understand the argument and made an explicit choice in the
00:07 < kmc> i'd also say you should be able to declare membership for a
type and/or interface you didn't write
00:08 < Amaranth> Now the first 50 lines of my program are fiddling with the
type system
00:08 < kmc> the point is, there's some specific place in the code where you
say "yes, this type A really satisfies the *contract* for interface B, rather than
just being superficially similar"
00:08 < nacmartin> how to have a blocking socket?  (*TCPConn) Read() doesn't
00:08 -!- decriptor [n=decripto@] has quit [Client Quit]
00:08 < kmc> Amaranth, where i'm from that's considered a good thing
00:09 <+iant> kmc: In Go it is considered a bad thing
00:09 <+iant> it is not the language you want
00:09 < Amaranth> In Go it is considered such a bad thing they explicitly
designed the type system to avoid it
00:09 < sladegen> nacmartin: try ret, err = foo.Read() perhaps...
00:10 -!- keeto [n=keeto@] has quit ["http://keetology.com/"]
00:10 * Amaranth wonders why he is using the http module if he is hijacking all
the connections anyway
00:10 < sladegen> nacmartin: oh, sorry, misread.
00:10 < kmc> iant, why was this a design goal of Go?
00:11 <+iant> kmc: one of the design goals was a lightweight type system
00:11 < uriel> kmc: because one language can't make everyone happy, and it
is foolish to try
00:11 < kmc> uriel, that doesn't answer my question at all
00:11 -!- purefusion_ [n=purefusi@cblmdm24-53-171-140.buckeyecom.net] has joined
00:11 < SRabbelier> iant: I'm curious, what are the plans of the go time
after the release rush has settled down (aside from a better GC)?
00:11 < kmc> uriel, i am asking why they chose to make this particular set
of people happy versus this other set
00:12 <+iant> in other words, let the programmer think as little about types
as possible while retaining type safety
00:12 < uriel> kmc: because it is *simpler* (I'm guessing, but I think on
this it is quite easy to guess)
00:12 <+iant> SRabbelier: we don't have a good set of plans yet, probably
00:12 < sladegen> kmc: i'm suspect you cound write your version of object
system on top of what Go provides.
00:12 < uriel> it is simpler for the implemetnation, and it is simpler for
the user as iant noted
00:12 -!- tcpip4000 [n=fulano@dsl-emcali-] has joined
00:12 < kmc> iant, what does "type safety" mean then?  the amount of static
guarantees you get from your type system depends on how much effort the programmer
puts into thinking about types
00:13 < kmc> you can't draw a single line and declare that all effort above
that line is wasted
00:13 < SRabbelier> iant: sensible, the input that arrives during that
release rush might be useful when deciding what to do next
00:13 -!- eno [n=eno@nslu2-linux/eno] has quit [Success]
00:13 < dho> cgo works on freebsd now
00:13 < dho> :)
00:13 < uriel> dho: congrats!
00:13 < dho> ...and i'm done.
00:13 < XniX23> dho: well done
00:13 < kfx> dho: awesome
00:13 <+iant> dho: very nice work
00:13 < dho> thanks, russ gets 90% of the credit.
00:14 -!- keeto [n=keeto@] has joined #go-nuts
00:14 -!- madhatter09 [n=wvicente@189-69-106-85.dsl.telesp.net.br] has joined
00:14 -!- purefusion [n=purefusi@cblmdm24-53-171-140.buckeyecom.net] has quit
[Read error: 60 (Operation timed out)]
00:14 <+iant> kmc: type safety means that you can not access a value in the
wrong type (without using the unsafe package) and the compiler can prevent you
from accidentally using one type as a different type--except for interfaces, which
are checked at runtime
00:14 <+iant> kmc: you are talking about a higher order of type safety
00:14 < chrome> dho: great job
00:14 <+iant> kmc: which Go does not provide
00:15 < reppie> dho for president
00:15 < kmc> yes
00:15 < dho> heh
00:15 <+iant> because Go is not a language for reasoning about types
00:15 <+iant> there are other languages which do that really well
00:16 -!- _Yelena_ [n=jelenalo@nat194011.telenor.rs] has joined #go-nuts
00:17 < kmc> so there was a design decision that any static checking above
the level you describe is not worth it?
00:17 <+iant> every language decision has a cost and a benefit
00:18 <+iant> For the language Go is intended to be, the cost is too high
for the benefit
00:18 <+iant> in our opinioin
00:18 <+iant> opinion
00:18 < chrome> If Go tried to implement every single last feature from
every language that everyone thought was really useful or even somewhat
beneficial, it wouldn't be go.  It'd be java, or C# or whatever, not go.
00:18 < kmc> chrome, wow, strawman much?
00:19 < JBeshir> It'd be Perl.
00:19 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 110 (Connection
timed out)]
00:19 -!- shambler [i=kingrat@mm-39-166-84-93.dynamic.pppoe.mgts.by] has quit
["What you have been is not on boats."]
00:19 < uriel> JBeshir: or C++
00:19 < chrome> How is that a strawman?
00:19 < kmc> chrome, you're saying we shouldn't discuss any missing feature,
because once we talk about one missing feature this is the same as asking for
every feature ever?
00:19 < jabb> you can always find elegance in simplicity
00:19 < uriel> kmc: you are just repeating the same question over and over
and over again
00:19 -!- _Yelena_ [n=jelenalo@nat194011.telenor.rs] has left #go-nuts []
00:19 < kfx> kmc: he's justing java and c# as stand-ins to mean 'a crappy
overbuilt garbage language'
00:20 < kmc> iant, for example: "type" in Go introduces a new, convertible
but non-identical type, correct?
00:20 < kmc> (this is my understanding from reading the spec)
00:20 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has joined
00:20 -!- crashR [n=crasher@codextreme.pck.nerim.net] has quit ["Leaving."]
00:20 <+iant> kmc: correct
00:20 < JBeshir> I do find this decision kinda interesting.
00:20 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
00:20 < JBeshir> I suppose you'd accomplish it by documentation?
00:20 < chrome> I've been in here since release, and a recurring theme is
that Go doesn't do X or Y feature that language Z has, therefore it's a bad
language.  Or something.  I'm not sure what your point is.
00:20 < uriel> JBeshir: I do find the decision extremely refreshing and
00:20 < kmc> it seems that you'd still have "type safety" if you made it,
instead, a mere synonym, like C's typedef
00:20 < kmc> and you would have less static checking, and less work for the
00:21 < JBeshir> kmc: Makes it harder to embed semantic information in type
definitions, though.
00:21 < kmc> so there's one decision that went the other way
00:21 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined
00:21 < kmc> and i think the lack of explicit interface-membership makes it
harder to embed semantic information in types as well
00:22 < JBeshir> i.e.  if you're given a string under type of an error, you
can assume it's an error message.
00:22 -!- gpurrenhage [n=gpurrenh@] has joined #go-nuts
00:22 < kmc> right.  and if you had an object implementing an "Error"
interface, you'd know that its "getMessage() string" function gives you an error
message.  as opposed to, say, an IRC message which happens to have the same
00:23 <+iant> kmc: we want back and forth on whether type should be an alias
or a distinct type; the question is which methods are attached to the new type
00:23 <+iant> it is still possible that we will introduce a different syntax
to get a type alias
00:23 < exch> kmc, if it has a GetString() method it shouldn't matyter what
kind of string is returned or for what purpose
00:23 < uriel> iant: I think the current approach is quite good
00:24 < kmc> iant, i think both aliases and newtypes should be supported
00:24 <+iant> noted
00:24 <+iant> biab
00:24 < kmc> in Haskell we have both, and use both, quite frequently
00:24 -!- iant [n=iant@nat/google/x-fdzugcrdqwovwtea] has quit ["Leaving."]
00:24 < kmc> iant, thanks for all the information
00:24 < kfx> what does haskell have to do with anyting
00:25 < kmc> it has a similar feature
00:25 < directrixx> kfx: Haskell is lord of the type systems
00:25 < jessta> ..go needs monads!
00:25 < kmc> to the one that's already in go
00:25 < kmc> jessta, coroutine : goroutine :: monad : ?
00:25 -!- nacmartin [n=chatzill@] has quit [Read error: 110
(Connection timed out)]
00:25 < keeto> gonads.
00:25 -!- KillerX [n=anant@145-116-225-191.uilenstede.casema.nl] has joined
00:25 < directrixx> you went there.
00:26 < exch> & strife
00:26 -!- KillerX [n=anant@gentoo/developer/KillerX] has left #go-nuts []
00:26 < kmc> haha
00:26 -!- MimeNarrator [i=benna@] has joined #go-nuts
00:27 < jessta> kmc: huh?
00:29 < dho> uriel: ping
00:29 < dho> uriel: Sape is working on Go/Plan 9
00:29 < uriel> dho: awesome
00:29 < dho> uriel: do I have access to edit those pages?
00:29 < uriel> dho: do you have a link/reference I can point to in the page
00:30 < dho> moment
00:30 < uriel> haven't enabled the wiki, but I can do that, one sec
00:30 < dho> well i have shell don't i
00:30 < uriel> heh, sure, you can use that too :)
00:30 -!- ahasver [n=st0rm@] has quit []
00:31 < dho>
00:31 < uriel> let me see if the group perms are right
00:31 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has quit [Remote closed the
00:33 -!- nibble [i=5139e206@gateway/web/freenode/x-iexqaosccjbevrgp] has joined
00:33 -!- nibble [i=5139e206@gateway/web/freenode/x-iexqaosccjbevrgp] has quit
[SendQ exceeded]
00:33 < uriel> dho: you are in www-data, you should be able to edit stuff
00:33 < dho> k
00:34 -!- n3 [i=5139e206@gateway/web/freenode/x-bbjbrbfvmgbkyhzd] has joined
00:35 < dho> uriel: you own most of the .md files in there
00:35 -!- iant [n=iant@] has joined #go-nuts
00:35 -!- mode/#go-nuts [+v iant] by ChanServ
00:35 -!- soul9 [n=none@unaffiliated/johnnybuoy] has quit [Excess Flood]
00:36 -!- n3 [i=5139e206@gateway/web/freenode/x-bbjbrbfvmgbkyhzd] has quit [Client
00:36 < Dreamer3> http://blog.pastie.org/2009/11/pastie-learns-go.html
00:36 < Dreamer3> not to take away from the fine work that is already the Go
paste site, but just FYI for any Pastie fans
00:37 -!- path__ [n=path@] has quit [Read error: 145 (Connection
timed out)]
00:37 -!- Venom_X_ [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
00:39 < uriel> dho: sorry, fixed it now
00:39 < uriel> (I think)
00:39 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
00:39 < dho> looks ok
00:40 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
00:41 < uriel> feel free to fix any of my usual stupid typos or whatever
00:43 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
00:43 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has quit ["Leaving"]
00:44 -!- Venom_X_ [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit [Read
error: 60 (Operation timed out)]
00:45 -!- gpurrenhage_ [n=gpurrenh@] has joined #go-nuts
00:45 -!- gpurrenhage_ [n=gpurrenh@] has quit [Client Quit]
00:47 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has joined #go-nuts
00:47 -!- Venom_X [n=pjacobs@] has quit [Read error: 60 (Operation
timed out)]
00:48 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has quit [Remote closed the
00:48 -!- rbohn [n=rbohn@] has quit ["ChatZilla 0.9.85 [Firefox
00:51 -!- gasreaa [n=atwong@nat/slide/x-ycdvuwwktmaunaqd] has left #go-nuts []
00:51 < dho> and full freebsd support is now in the tree.
00:51 < dho> :D
00:52 < Gracenotes> woot
00:52 < reppie> how many lines of code would you say you've written in your
00:53 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has quit []
00:53 < dho> a million
00:53 < dho> a million twenty seven
00:53 < exch> too many
00:54 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has joined
00:54 -!- madhatter09 [n=wvicente@189-69-106-85.dsl.telesp.net.br] has quit
["using sirc version 2.211+KSIRC/1.3.12"]
00:54 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
00:54 < reppie> i doubt i've written more than 20000 lines of code in my
whole life
00:55 < Jerub> the longer i've been coding, the less code i write...
00:55 -!- dejones [n=donnie@cpe-24-28-73-216.austin.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
00:55 < bsod2> yes, same here
00:56 < jessta> I've written a lot of code, most of it is pretty useless
00:56 < dho> reppie: i know i've written at least that many at this job
00:56 < dho> :\
00:56 < reppie> :/
00:56 < Gracenotes> :o
00:56 < reppie> how long have you been there
00:56 < Jerub> i'm looking at 180kloc in my current checkout.
00:56 < bsod2> a million years?
00:56 < Jerub> but that's between all of us.
00:57 < Gracenotes> there is somewhat of a difference between all the code
you've written and the code in the final product
00:57 < dho> reppie: a year
00:57 -!- Lustra [n=James@host81-155-229-84.range81-155.btcentralplus.com] has
quit [Read error: 148 (No route to host)]
00:57 < exch> i've considered writing a book with my code.  basically dump
all typed alphanumerical chars into a file and have some program randomly generate
words from it until everything is used :p That should prove interesting
00:57 < exch> I bet I can actually get it sold
00:58 < Jerub> i used to make money in puzzle pirates simply through
currency exchange arbitrage.
00:58 < Jerub> ...  that was a mischan, i'm sorry.
01:00 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
01:01 -!- gpurrenhage [n=gpurrenh@] has quit [Read error: 110
(Connection timed out)]
01:01 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has quit [Remote closed
the connection]
01:01 -!- kjk [n=Adium@] has left #go-nuts []
01:01 -!- lux` [n=lux@] has quit [Remote closed the connection]
01:02 -!- banthar [n=banthar@chello084010208203.chello.pl] has quit [Remote closed
the connection]
01:02 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
01:03 -!- loureiro [n=loureiro@] has quit [Read error: 113 (No route
to host)]
01:04 -!- Daminvar [n=Daminvar@] has joined #go-nuts
01:05 -!- buluca [n=buluca@unaffiliated/buluca] has joined #go-nuts
01:05 -!- buluca [n=buluca@unaffiliated/buluca] has left #go-nuts []
01:09 < Popog> Can someone explain this (http://pastebin.com/m6117558) to
01:14 < wollw> what is confusing about it?
01:15 < Popog> Why the first one is slower?
01:15 < Popog> Why it's doing dynamic allocation, if that's what it's doing,
which is what I think it's doing.
01:16 < wollw> ah, all i could think to say was just that one is getting the
address the other is getting the value
01:16 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:19 < jessta> Popog: yeah, if you take the address of something on the
stack it gets put on the heap
01:20 -!- shdw [n=alvaro@143.Red-83-61-110.dynamicIP.rima-tde.net] has joined
01:22 < uriel> Popog: use gopaste.org ;)
01:22 -!- freenose [i=c9d81618@gateway/web/freenode/x-ujqgwwmjcswdmepo] has joined
01:24 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has joined #go-nuts
01:24 -!- freenose [i=c9d81618@gateway/web/freenode/x-ujqgwwmjcswdmepo] has left
#go-nuts []
01:24 -!- mashbridge [n=mashbrid@nat/google/x-nxsxjpfdwwmbxasq] has left #go-nuts
01:26 < jabb> func Open(name string, flag int, perm int) (file *File, err
01:26 < jabb> perm is...?
01:27 < Gracenotes> unix flags for read, write, execute for various groups
01:27 < Gracenotes>
01:27 < jabb> doh!
01:28 -!- teedex [n=teedex@] has quit [Remote closed the connection]
01:28 < directrixx> I'm getting a compile error that I don't understand
"cannot take address of out parameter".
01:29 < directrixx> It's in a function with named return values.  I use a
anonymous function to start a go routine, and these named parameters are in the
01:29 -!- segy [n=segfault@mail.hasno.info] has quit [Client Quit]
01:29 < exch> if the parameter is named in the return-list, you can do &name
01:29 < exch> *can't
01:30 <+iant> directrixx: it's a limitation of the current compiler that a
closure can not refer to the return parameters of an enclosing function
01:30 < directrixx> i don't use any references, here's the paste
01:30 -!- assiss [n=assiss@] has joined #go-nuts
01:30 < jimi_hendrix> is there overloads in go?
01:30 <+iant> jimi_hendrix: no
01:31 < jimi_hendrix> :(
01:31 -!- Chaze [n=Chase@dslb-188-097-015-251.pools.arcor-ip.net] has quit []
01:31 < directrixx> iant: thank you
01:32 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has quit [Remote closed the
01:32 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has quit [Read error:
104 (Connection reset by peer)]
01:32 < Gracenotes> overloading is a rather messy hack
01:33 < jimi_hendrix> true
01:33 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
01:33 < kmc> it's poor man's pattern matching
01:33 < jimi_hendrix> also would take more work for the compiler
01:33 < Gracenotes> unless you have a type system that formally supports
inference, dispatching on types with anything other than vtables of some form is..
01:33 < kmc> as became evident to me while working with boost::variant
01:33 * exch begins wrapping LUA
01:34 < uriel> jimi_hendrix: I'm more worried about the extra work on the
part of the programmer's brain if it has to worry about silly overloading hacks
01:34 < Gracenotes> actually, dispatching on types pretty much leads to
tables of some kind, in most cases
01:34 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit
["Chatzilla [SeaMonkey 1.1.18/2009082513]"]
01:35 < Gracenotes> I'm not sure that interface{} and type switch statements
in Go are much better, but..  hum :x
01:35 < jimi_hendrix> uriel, true, it is annoying when a C# function has 30
some overloads
01:35 < uriel> ugh
01:35 < uriel> thanks for reminding me again why I don't program in C#
01:35 < jabb> that can't be the only reason!!
01:36 < uriel> jabb: that is one of about ten thousand...
01:37 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has left #go-nuts []
01:37 * exch <3 C#
01:38 < wollw> can i spread a single line of code out somehow?  using \
doesn't seem to work
01:38 < exch> you can spread it out without any special characters.
01:38 < exch> Go doesnt require you to stick to 1 line
01:38 < wollw> ah
01:39 < wollw> nice
01:39 -!- triplez [n=triplez@bb116-14-33-112.singnet.com.sg] has joined #go-nuts
01:39 < wollw> thank you
01:39 < kmc> Gracenotes, i agree.  switching on type always seems like a
workaround for a lack of real discriminated unions
01:40 -!- Cyprien [n=Cyprien@49-197.77-83.cust.bluewin.ch] has quit [Read error:
110 (Connection timed out)]
01:40 -!- dgnorton2 [n=none@] has joined #go-nuts
01:41 -!- pwanli [n=pwanli@c-67-185-151-227.hsd1.wa.comcast.net] has joined
01:41 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has quit ["Leaving."]
01:42 < Gracenotes> especially see http://golang.org/src/pkg/json/generic.go
01:42 < Gracenotes> o.o
01:43 < jessta> wollw: the wonders of semiclons!
01:44 < wollw> jessta: well, yeah, but I'm used to C where semicolons are
required /and/ i have to use a \ :)
01:45 < Gracenotes> there is also nice string literal support
01:46 -!- shdw [n=alvaro@143.Red-83-61-110.dynamicIP.rima-tde.net] has quit
[Remote closed the connection]
01:46 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has joined #go-nuts
01:46 < Gracenotes> @eval "I say " `"Hello world!"` " to you " +
string([]uint8{'a', 'l', 'l'})
01:46 < rndbot> I say "Hello world!" to you all
01:47 -!- Guest45664 [n=luka@] has quit [Client Quit]
01:47 < Gracenotes> (okay, the last one isn't so elegant)
01:48 <+iant> Gracenotes: nice
01:48 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
01:48 < KirkMcDonald> Oh we have one of these bots, now?
01:49 < assiss> @eval "Hello all!  What a great language!"
01:49 < rndbot> Hello all!  What a great language!
01:49 < Gracenotes> I'm still working on it, but it runs things at least.
(there's also #go-run if noise-signal gets too high)
01:51 < exch> @eval const(a=iota*iota;b;c;d;); fmt.Print(a,b,c,d);
01:51 < rndbot> <Error: syntax error near const, syntax error near d,
syntax error near d>
01:51 < exch> meh
01:51 < KirkMcDonald> Does it only eval expressions?
01:51 < clip9> How do I escape characters in a regexp?  like if i want to
match a single ].
01:52 < Gracenotes> '> ' is for statements; '@eval' is for expressions
01:52 < Gracenotes> I should rename the latter to @print
01:52 < KirkMcDonald> I think @eval is a perfectly cromulent name.
01:52 < sladegen> clip9: \?
01:52 < exch> clip9: "\\]" or `\]`
01:53 < clip9> thanks
01:53 < exch> not sure if that particular escape sequence works wih the
standard regexp lib though.  It's a bit limited
01:53 < Gracenotes> regexp lib seems to be a bit strict in parsing, uh,
01:53 < KirkMcDonald> I was surprised to discover it doesn't have \s or the
01:53 < Gracenotes> for example you can't do [^\+]*
01:54 < exch> indeed
01:54 -!- hipe [n=hipe@cpe-66-65-60-39.nyc.res.rr.com] has quit ["Leaving..."]
01:54 < exch> and `.+?` doesnt work either
01:54 < KirkMcDonald> I am less surprised that it doesn't have non-greedy
01:54 < exch> but thats why I got my pcre lib :)
01:54 < KirkMcDonald> PCRE bindings for Go?
01:54 < exch> yarr
01:54 < exch> http://go-lang.cat-v.org/library-bindings <- bottom
01:55 < dgnorton2> @eval 4+4
01:55 < KirkMcDonald> I should investigate the C interface in more detail.
01:55 < rndbot> 8
01:55 < exch> > const(a=iota*iota;b;c;d;) fmt.Print(a,b,c,d);
01:55 < rndbot> 0 1 4 9
01:56 < exch> yay
01:56 < KirkMcDonald> Hmm.
01:56 < KirkMcDonald> >
01:57 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
quit ["Leaving."]
01:57 < Gracenotes> >
01:57 < dgnorton2> for i:=0;i<3;i++ {fmt.Print("Hello, World!");}
01:57 < alexsuraci> > fmt.Println("Hello, world!");
01:57 < rndbot> Hello, world!
01:57 < alexsuraci> nice.
01:57 < dgnorton2> for i:=0;i<3;i++ {fmt.Println("Hello, World!\n");}
01:57 < alexsuraci> like lambdabot.  :D
01:57 < KirkMcDonald> So there was a channel once which had a
code-executing-bot, and another bot which could (among other things) be asked to
repeat something directed to it.
01:57 < Gracenotes> dgnorton2: it does require a '>'
01:58 < wollw> I'm missing something somewhere about multidimensional arrays
but i could swear i read about it before...  anyone know where/if they are covered
in the docs?
01:58 < Gracenotes> a '> ', actually
01:58 < KirkMcDonald> And just because I could, I threw a quine at it.
01:58 < Gracenotes> alexsuraci: lambdabot rules!
01:58 < dgnorton2> Gracenotes?
01:58 < alexsuraci> yeah, @pl is awesome
01:59 < wollw> err, slices
01:59 < Gracenotes> wollw: you can create them, because in []type, type can
itself be an array
01:59 < alexsuraci> exch: does it automatically import stuff?
02:00 < KirkMcDonald> [][]int
02:00 < wollw> ah
02:00 < alexsuraci> (assuming you made it)
02:00 < exch> > s:="pie!"; fmt.Print(s[2:0]);
02:00 < rndbot> PC=0x8048843 slice 2<4>0
02:00 < exch> the bot is not mine
02:00 < dgnorton2> Gracenotes, what will it do wih os.Exit(0); ?
02:00 < alexsuraci> ah
02:00 < sladegen> > type F func(F); f := func(g F){ f(g); } ; f(f);
02:00 < rndbot> <Error: undefined: f>
02:00 * sladegen hmmms.
02:00 < dgnorton2> > for i:=0;i<3;i++ {fmt.Println("Hello,
02:00 < rndbot> Hello, World!  Hello, World!  Hello, World!
02:00 < Gracenotes> dgnorton: it exits the subprocess.  It's reasonably
safe, but I have it in a VM just to be sure
02:01 < KirkMcDonald> > for {}
02:01 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
02:01 < sladegen> > type F func(F); var f F ; f = func(g F){ f(g); } ;
02:01 < rndbot> <killed> <no output>
02:01 < dgnorton2> KirkMcDonald lol
02:01 < rndbot> <killed> <no output>
02:01 < exch> :p
02:01 < sladegen> >;-)
02:01 < bockmabe_> lol
02:01 < alexsuraci> if you really wanted to be evil you'd toss a fmt.Println
in there >:)
02:01 < bockmabe_> Do we dare try too much output...  :-)
02:01 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has quit []
02:01 < sladegen> recbomb!
02:02 < Gracenotes> bockmabe_: go ahead
02:02 < dgnorton2> > for i:=0;i<300000;i++ {fmt.Println("Hello,
02:02 < rndbot> Hello, World!  Hello, World!  Hello, World!  Hello, World!
Hello, World!  Hello, World!  Hello, World!  Hello, World!  Hello, W...
02:02 < alexsuraci> hah, nice
02:02 < bockmabe_> nice
02:02 < exch> > b, e := io.ReadFile("/etc/passwd"); if e == nil {
fmt.Print(string(b)) }
02:02 < rndbot> <no output>
02:02 < Gracenotes> alexsuraci: it imports things by searching through the
input for "module.", with a predefined set of modules.  the main reason for not
just importing everything is linking times
02:02 < dgnorton2> exch, nice!
02:02 < alexsuraci> Gracenotes: cool
02:03 < exch> I think he disabled the os.Open/Read/Exec commands
02:03 < KirkMcDonald> Gracenotes: I assume it is running in a chrooted
02:03 < clip9> > for i:=0;i<15;i++ {fmt.Println("\x03%d,%d!\n",i,i);}
02:03 < alexsuraci> k, back to writing my paper.
02:03 < rndbot> %d,%d!  0 0 %d,%d!  1 1 %d,%d!  2 2 %d,%d!  3 3 %d,%d!  4 4
%d,%d!  5 5 %d,%d!  6 6 %d,%d!  7 7 %d,%d!  8 8 %d,%d!  9 ...
02:04 < clip9> > for i:=0;i<15;i++ {fmt.Printf("\x03%d,%d!\n",i,i);}
02:04 < rndbot> 0,0!  1,1!  2,2!  3,3!  4,4!  5,5!  6,6!  7,7!  8,8!  9,9!
10,10!  11,11!  12,12!  13,13!  14,14!
02:04 < clip9> hm..
02:04 < directrixx> > for { go func() { for { print("A") } }(); }
02:04 < Gracenotes> KirkMcDonald: in VirtualBox made specifically for it,
with limited imports and crippled os/io modules.  I'd like to do chroot/ptrace at
some point in the future
02:04 < rndbot> <killed> <no output>
02:05 < dgnorton2> > fmt.Println("fmt.Println(\"Hello, World!\");");
02:05 < rndbot> fmt.Println("Hello, World!");
02:05 < dgnorton2> > fmt.Println("> fmt.Println(\"Hello, World!\");");
02:05 < rndbot> > fmt.Println("Hello, World!");
02:05 < directrixx> > go func() { print("Hey-o") }();
02:05 < rndbot> <no output>
02:06 < directrixx> > go func() { fmt.Print("Hey-o") }();
02:06 < rndbot> <no output>
02:06 < clip9> > fmt.Printf("\x0304!");}
02:06 < rndbot> <Error: syntax error near "<string>">
02:06 < Gracenotes> I think goroutines are daemons
02:06 < Gracenotes> or daemon-like
02:06 < clip9> > fmt.Printf("\x0304!")
02:06 < rndbot> 04!
02:06 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has quit
02:06 < clip9> why dosen't colors work ? :P
02:07 < Gracenotes> > go func() { fmt.Print("Hey-o") }(); <-make(chan
02:07 < rndbot> Hey-o
02:07 < dgnorton2> Gracenotes, so it doesn't read it's own entries?
02:07 < Gracenotes> it doesn't like control characters..
02:07 < reppie> how do you do function pointers?
02:07 < dgnorton2> > fmt.Println("> fmt.Println(\"Hello, World!\");");
02:07 < Gracenotes> dgnorton2: nope, IRC is designed so you send messages
without really knowing if they get to the server or not
02:07 < rndbot> > fmt.Println("Hello, World!");
02:08 < directrixx> Gracenotes: why did <-make(chan int) make it work?
02:08 < Gracenotes> this helps avoid feedback loops, among other things, and
the server assumes you know what you sent, so
02:09 < sladegen> reppie: i think: type pfun *func(int) int // should do it.
02:09 -!- General1337 [n=support@] has quit [Read error: 145
(Connection timed out)]
02:09 < reppie> pfun?
02:09 < sladegen> it's a type name a pointer for function taking and
returning int.
02:10 < Gracenotes> > type FP *func(); f := func() { fmt.Print(10) }; q
:= FP(&f); (*q)()
02:10 < rndbot> 10
02:10 < reppie> > type pfun *func(); pfun := &func () { fmt.Print("a") };
02:10 < rndbot> <Error: no new variables on left side of :=, type pfun is
not an expression, cannot assign to <T>...>
02:10 < Gracenotes> directrixx: I think main exits without checking that all
the goroutines are finished
02:10 < reppie> ;_;
02:11 < clip9> > fmt.Println("الله‎");
02:11 < rndbot> الله‎
02:11 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Nick collision from
02:11 < clip9> ooh..  utf-8 :P
02:11 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
02:11 < jimi_hendrix> can i concat a number to a string with "foo: " + 8
02:11 < dgnorton2> Gracenotes, which packages does it import?
02:11 < reppie> > type pfun *func(); f := pfun(&func () { fmt.Print("a")
}); (*pfun)();
02:11 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
02:11 < rndbot> <Error: cannot take the address of (node CLOSURE),
missing argument to CALL - <nil>()>
02:11 < wollw> > a := [][]int{{1,2},{3,4}}; fmt.print(a)
02:11 < rndbot> <Error: syntax error near int>
02:12 < directrixx> Gracenotes: gah, i always forget about that.
02:12 -!- Dunkelstern [n=Dunkelst@p549C1C52.dip0.t-ipconnect.de] has quit ["N8"]
02:12 < reppie> > type pfun *func(); f := &func () { fmt.Print("a") };
02:12 < rndbot> <Error: cannot take the address of (node CLOSURE)>
02:12 < wollw> it's one thing after another with me and slices and arrays
tonight :|
02:12 < directrixx> > for { go func() { for { print("A") } }(); }
<-make(chan int)
02:12 < rndbot> <killed> <no output>
02:12 < Gracenotes> dgnorton2: it's presently capable of importing
http://gopaste.org/raw?paste=1KVgU ..  and I can add another one if you like
02:12 < reppie> > type pfun *func(); f := func () { fmt.Print("a") }; fp
:= pfun(&f); (*fp)();
02:12 < rndbot> a
02:13 < wollw> figures I mess up the function call too
02:13 < Gracenotes> just not something like net.  and I'm sure there might
be evil ways to get around it somehow, but I'll see what those are if someone
finds them..
02:13 < sladegen> no need for conversion in when you used :=
02:14 < dgnorton2> Gracenotes, os seems dangerous
02:15 < wollw> what is the syntax for a multidimensional array's value?
[][]int{{1,2},{3,4}} seemed most logical
02:15 < Gracenotes> I manually crippled os and io rather badly.  though
again, no guarantees there are not vulnerabilities
02:15 < wollw> and other things didn't work either
02:15 < sladegen> reppie: and functions are first class values, so i'm not
sure of utility of using pointers.
02:15 < reppie> > type pfun *func() int; f := 0x90c3c031 fp := pfun(&f);
02:15 < wollw> like []int{[]int{1,2},[]int{3,4}}
02:15 < rndbot> <Error: syntax error near fp>
02:15 < Gracenotes> wollw: [][]int{[]int{1,2},[]int{3,4}} seems to work
02:15 -!- dgnorton2 [n=none@] has quit []
02:15 < wollw> ah
02:16 < reppie> > type pfun *func() int; f := 0x90c3c031; fp := pfun(&f);
02:16 < rndbot> <Error: constant 2428747825 overflows int, cannot convert
&f (type *int) to type pfun, cannot call non-function *fp (type int)>
02:16 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
02:16 < wollw> must not have tried that
02:16 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
02:16 < wollw> thought i did
02:16 -!- dinx [n=dinx@CPE-58-175-97-189.vic.bigpond.net.au] has joined #go-nuts
02:16 < reppie> > type pfun *func() int; f := uint32(0x90c3c031); fp :=
pfun(&f); fmt.Print((*fp)());
02:16 < rndbot> <Error: cannot convert &f (type *uint32) to type pfun,
cannot call non-function *fp (type uint32)>
02:17 < reppie> > type pfun *func() int; f := uint32(0x90c3c031); fp :=
pfun(Pointer(&f)); fmt.Print((*fp)());
02:17 < rndbot> <Error: undefined: Pointer>
02:17 < reppie> > type pfun *func() int; f := uint32(0x90c3c031); fp :=
pfun(unsafe.Pointer(&f)); fmt.Print((*fp)());
02:17 < rndbot> <Error: undefined: unsafe>
02:17 < reppie> rage
02:17 < sladegen> subversive
02:17 < Gracenotes> if you're hellbent on abusing it, #go-run is available
02:18 < Gracenotes> ;)
02:19 -!- dinx [n=dinx@CPE-58-175-97-189.vic.bigpond.net.au] has left #go-nuts
02:19 -!- penguin42 [n=dg@tu006.demon.co.uk] has quit [No route to host]
02:20 < jimi_hendrix> == is used for string comp right
02:20 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
02:21 < Gracenotes> mm, it does byte-by-byte comparison
02:21 -!- taybin [n=taybin@] has quit ["Leaving"]
02:21 < jimi_hendrix> well is there a prefered method?
02:22 < Gracenotes> == is probably best..  mainly because it is built-in
02:22 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit []
02:23 -!- drusepth [n=drusepth@adsl-75-28-168-102.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
02:24 < exch> dammit.  Here i'm trying to find something I can use to bring
your bot down and I end up crashing X :p
02:25 -!- pwanli [n=pwanli@c-67-185-151-227.hsd1.wa.comcast.net] has quit []
02:26 -!- drusepth`` [n=drusepth@adsl-75-28-168-102.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
02:28 -!- _CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has quit
[Remote closed the connection]
02:28 -!- bakkdoor [n=bakkdoor@s15229144.onlinehome-server.info] has quit [Remote
closed the connection]
02:29 -!- drusepth` [n=drusepth@adsl-76-194-201-39.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 145 (Connection timed out)]
02:30 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has quit
02:30 < Gracenotes> if you want to see the IRC part (which largely hasn't
changed since the paste): http://go.pastebin.com/m3464c811
02:30 -!- CallToPower [n=CallToPo@s15229144.onlinehome-server.info] has joined
02:30 < Gracenotes> although it might not seem humanly possible, I do plan
on adding even more chans to it :)
02:31 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
02:32 < sergio> is that effective go material available in pdf format or
something else easily printable other than html?
02:33 -!- iant [n=iant@] has quit [Read error: 110 (Connection timed
02:33 < kfx> sergio: stand by
02:34 < reppie> the good news is that i figured out how to call
hand-assembled code with function pointers
02:34 < reppie> i guess i'll need to figure out the calling convension
02:34 -!- Freakzoid [n=Freakzoi@1503026015.dhcp.dbnet.dk] has quit [Remote closed
the connection]
02:37 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has joined
02:40 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined
02:42 -!- drusepth [n=drusepth@adsl-75-28-168-102.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
02:42 -!- Fl1pFl0p [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has joined #go-nuts
02:44 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has joined #go-nuts
02:45 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has quit
02:48 -!- chucknelson [n=chucknel@ip70-185-112-79.ga.at.cox.net] has joined
02:48 < chucknelson> hey all
02:49 < jessta> hello
02:49 < chucknelson> can anyone help me w/ what seems like a super basic
failure of the shell script tests when installing go on snow leopard?
02:50 < wollw> just ask
02:50 < chucknelson> The ./all.bash is failing at the first test, saying
that $GOROOT isn't exported
02:51 < chucknelson> but when I do the test in terminal by itself, it works
02:51 < chucknelson> it's just the test -> if ! test -f
02:51 < chucknelson> I don't understand why it works when I do the test
manually...but never in this script they have...
02:52 < wollw> echo $SHELL
02:52 < chucknelson> "/bin/bash"
02:53 < wollw> other tests work in the script?
02:53 < chucknelson> never gets that far, but I got rid of the $GOROOT test
just to see, and the following $GOBIN test fails too, even though it also passes
when I run it in terminal
02:54 < wollw> ah
02:54 < jessta> chucknelson: you havent exported $GOROOT
02:54 < wollw> are they in your bashrc file?
02:54 < chucknelson> yep
02:54 < chucknelson> did "env" to check
02:54 < chucknelson> everything is there
02:54 < chucknelson> cd $GOROOT, etc.  works fine
02:54 < chucknelson> and the tests work fine when I type them out in
02:55 < chucknelson> for example
02:55 < chucknelson> test -f $GOROOT/include/u.h && echo 'it exists'
02:55 < chucknelson> and it echos 'it exists" just fine...
02:55 < chucknelson> ! test -f $GOROOT/include/blahblah.h && echo 'it
doesn't exist'
02:55 < chucknelson> and I get 'it doesn't exist" as expected...
02:56 < chucknelson> not using .bashrc
02:56 < chucknelson> defined in .bash_profile
02:56 < chucknelson> but my env has them set fine, so I dont think that's an
02:56 < jessta> chucknelson: type: export GOROOT
02:57 < chucknelson> ok
02:57 < chucknelson> done...
02:58 < wollw> chucknelson: try putting it in .bashrc
02:58 < wollw> .bash_profile is for login shells
02:58 < jessta> chucknelson: same thing with GOBIN and GOARCH
02:58 < jessta> infact what did you put in .bashrc?
02:58 < chucknelson> jessta: I did it for GOROOT just now, but the test
still fails
02:58 < chucknelson> .bashrc doesn't exist
02:58 < chucknelson> I just have .bash_profile
02:58 < wollw> so create a bashrc
02:59 < wollw> or just link to the bash_profile
02:59 < chucknelson> link?
03:00 < uriel> ln
03:00 < wollw> ln ~/.bash_profile ~/.bashrc
03:00 < chucknelson> when I type "env", all my variables are good...GOROOT,
GOBIN, etc.
03:00 < wollw> it's much like an alias
03:00 < wollw> in function
03:00 < uriel> chucknelson: you need to *export* them
03:00 < wollw> (a mac os alias, not a shell alias)
03:01 -!- tcpip4000 [n=fulano@dsl-emcali-] has left
#go-nuts []
03:01 < chucknelson> this is what i have in .bash_profile, I export them all
03:01 < chucknelson> #environment variables for go language
03:01 < chucknelson> export GOROOT=$HOME/programming/go
03:01 < chucknelson> export GOBIN=$HOME/programming/go/bin
03:01 < chucknelson> export GOARCH=386
03:01 < chucknelson> export GOOS=darwin
03:01 < sergio> does your $HOME contain a whitespace by any chance?
03:02 -!- KinOfCain [n=KinOfCai@rrcs-64-183-61-2.west.biz.rr.com] has quit [Remote
closed the connection]
03:03 < chucknelson> anyway I can check that besides echoing it?
03:03 < chucknelson> $HOME is /Users/me
03:03 < Gracenotes> 'env' is a list of your variables
03:03 < Gracenotes> you can pipe it into grep GO, if you have that
03:04 < Gracenotes> oh, lol, you know that
03:04 < Gracenotes> sorry -_- please continue.  *self-flagellates*
03:04 < chucknelson> haha
03:05 < wollw> chucknelson: tried making a link and then opening a new
03:05 < wollw> doubt it will make a difference though
03:05 < chucknelson> I'm not sure how to do the link thing...
03:06 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
03:06 < wollw> ln ~/.bash_profile ~/.bashrc
03:06 < chucknelson> oh, didn't realize that was a command ;)
03:06 < chucknelson> hold
03:06 < chucknelson> er...hold on
03:06 < wollw> makes a link of .bash_profile named .bashrc
03:06 < wollw> :)
03:07 < Gracenotes> same order as cp
03:07 < Gracenotes> ..sorta
03:07 < chucknelson> test still fails in the script
03:08 -!- vector9x [n=vector9x@Wimax-c3-ppy-pt-190-70-184-201.orbitel.net.co] has
joined #go-nuts
03:08 < chucknelson> man, this makes no sense
03:09 < chucknelson> if the test didn't work in terminal I'd have something
to go on...
03:09 < chucknelson> but it WORKS there
03:09 < chucknelson> so what makes doing it from a file so much different?
03:10 -!- eno_ [n=eno@adsl-70-137-172-110.dsl.snfc21.sbcglobal.net] has quit [Nick
collision from services.]
03:10 -!- eno [n=eno@nslu2-linux/eno] has joined #go-nuts
03:12 < jessta> chucknelson: the script is being executed in a new process
that has a different env to your shell, it only gets the exported env variables
03:13 -!- andresambrois [n=aa@r190-135-147-238.dialup.adsl.anteldata.net.uy] has
joined #go-nuts
03:13 -!- aa [n=aa@r190-135-186-24.dialup.adsl.anteldata.net.uy] has quit [Nick
collision from services.]
03:14 < chucknelson> jessta: ah, got it.  so I have them exported...I don't
know where to go from here...
03:14 < uriel> chucknelson: follow the install instructions
03:15 < chucknelson> I've done that...
03:15 < uriel> up to what point?
03:15 < chucknelson> this is where it all comes grinding to a halt
03:15 < chucknelson> up until running ./all.bash
03:15 < uriel> well, then run it again!
03:15 < chucknelson> haha...nice
03:16 < chucknelson> is it a problem if I do "sudo ./all.bash" ?
03:16 -!- teedex [n=teedex@] has joined #go-nuts
03:21 < chucknelson> without sudo I'm getting a different error now...
03:21 < chucknelson> "...go/bin/quietgcc: Permission denied"
03:22 < chucknelson> so it got past the variable part then...which means
"sudo" affects it?  *sigh*
03:25 -!- kaib [n=kaib@] has quit []
03:25 < chucknelson> well...on that sudo bit I used the -E option to
preserve my environment...so "sudo -E ./all.bash" is now compiling
03:25 < chucknelson> my terminal settings must be all jacked up in snow
03:25 -!- yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has quit
03:32 < chucknelson> thanks all!
03:32 < chucknelson> night
03:32 -!- chucknelson [n=chucknel@ip70-185-112-79.ga.at.cox.net] has quit
03:33 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined
03:35 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
03:35 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
03:38 -!- hipe [n=hipe@pool-96-232-221-238.nycmny.east.verizon.net] has joined
03:38 -!- hipe [n=hipe@pool-96-232-221-238.nycmny.east.verizon.net] has left
#go-nuts ["Leaving..."]
03:39 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has joined #go-nuts
03:39 -!- Intelliware [n=danielb@124-197-59-227.callplus.net.nz] has joined
03:43 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined
03:45 -!- StDan [n=danielb@124-197-59-227.callplus.net.nz] has quit [Read error:
145 (Connection timed out)]
03:46 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has quit [Read error:
113 (No route to host)]
03:46 -!- madhatter09 [n=wvicente@189-69-102-136.dsl.telesp.net.br] has joined
03:50 < madhatter09> Hi guys, I'm in the middle of a brainstorm here, and
until now, I didn't found an answer to my doubt...  I'm tryin to get ALL return
from a *TCPConn
03:51 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has quit
["to the batcave?"]
03:51 < madhatter09> But I have a great problem, that answer isn't static,
because of that I can't use a for...  (Or I don't know how use a for in this case)
03:53 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
03:53 -!- Bruce [n=bruce@ip70-160-222-145.hr.hr.cox.net] has joined #go-nuts
03:54 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
03:54 < Gracenotes> does ReadAll work?
03:54 < madhatter09> it is really funny because, even when I force to use a
static size...  when I set the buffer to return a string, in the end come a lot of
0 (zero)
03:54 < Gracenotes> http://golang.org/pkg/io/#ReadAll
03:55 < madhatter09> tks, I'll try here
03:55 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
03:55 < Gracenotes> the ad-hoc interface implementation is nice, but if the
docs don't organize it...  welll...
03:56 < sladegen> it's shoot and hiss
03:57 < Gracenotes> although the parser could handle it
03:57 < vector9x> hi all
03:57 < Gracenotes> hey
03:57 < vector9x> anyone knows some editor with syntax higlight for go?
03:58 < Gracenotes> this page has been put together:
03:58 < vector9x> thanks!
03:58 < Gracenotes> I use gedit, and I really like Tonic Artos' one
03:59 < Gracenotes> 's
03:59 < vector9x> kate!  fantastic :D
04:00 < Bruce> I use vim for go and many more
04:05 < vector9x> i prefer to use my mouse :)
04:05 < kfx> sergio: http://location-b.madleet.net/Effective Go.pdf
04:05 -!- offby1 [n=user@q-static-138-125.avvanta.com] has joined #go-nuts
04:07 < Bruce> I've never been good at typing with my mouse.  :)
04:07 < Gracenotes> http://location-b.madleet.net/Effective%20Go.pdf ..
just for my client
04:07 < Gracenotes> that looks awesome :)
04:08 < kfx> I used Firebug to delete the link list and edit the margin of
the main div on golang.org :V
04:08 -!- Bruce [n=bruce@ip70-160-222-145.hr.hr.cox.net] has quit ["Colloquy for
iPhone - http://colloquy.mobi"]
04:08 < uriel> kfx: nice
04:08 < vector9x> lol
04:08 < Gracenotes> Firebug, not just for web development
04:08 -!- Bruce [n=bruce@ip70-160-222-145.hr.hr.cox.net] has joined #go-nuts
04:08 < uriel> kfx: do you mind if I host that in go-lang.cat-v.org/doc/ ?
04:08 < kfx> that's 90% of what I do with firebug
04:08 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit [Read
error: 60 (Operation timed out)]
04:09 < Gracenotes> nice for mangling websites
04:09 < kfx> uriel: not at all, all I did was wreck up some CSS :)
04:09 < Gracenotes> particularly those with host links, just map each link's
innerHTML to its href, copy and paste in a wget loop
04:10 < kfx> I used to have a script that converted <a> tags into pdf
04:10 < kfx> couldn't find it though
04:12 < reppie> i wish go had inline assembly
04:15 -!- travisbrady [n=tbrady@] has joined #go-nuts
04:15 < uriel> reppie: *yuck*
04:16 < uriel> compilers that have inline asm are crimes against sanity
04:16 < uriel> (ken's don't, obviously, and Plan 9 is written without a
single line of inline asm, but then, it uses very little asm anyway)
04:19 -!- halfdan_ [n=halfdan@p57A9434B.dip.t-dialin.net] has joined #go-nuts
04:20 -!- wvicente [n=wvicente@189-69-97-190.dsl.telesp.net.br] has joined
04:20 -!- wvicente [n=wvicente@189-69-97-190.dsl.telesp.net.br] has quit [Client
04:20 < chrome> what a load of tosh, most of my programs are main() {
bunch_of_asm; }!
04:21 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
04:21 < kfx> most of my programs start out #!/usr/bi/perl \n use
04:21 < wobsite> chrome: what's the point of the main then?  lol.
04:21 < chrome> parsing arguments.  I like getopt
04:21 < chrome> :P
04:22 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has quit []
04:23 -!- madhatter09 [n=wvicente@189-69-102-136.dsl.telesp.net.br] has quit [Read
error: 110 (Connection timed out)]
04:25 -!- gnibbler_ [n=duckman@124-148-186-246.dyn.iinet.net.au] has joined
04:26 < goplexian> I'm going to start working through the project euler
exercises, here is exercise #1 http://gopaste.org/978FB ..is there any go idioms
that should be applied to this?
04:27 < vector9x> btw, some online judge with go support?  :P
04:28 < alexsuraci> goplexian: only thing I see that seems fishy is putting
y in the top level
04:29 < Gracenotes> on a trivial level there's also y += x
04:30 < alexsuraci> haskell is the most fun I've had on project euler :P
04:30 < alexsuraci> I love the ones that end up being a single expression
04:31 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
04:33 -!- Null-A [n=jason@c-76-21-4-0.hsd1.ca.comcast.net] has left #go-nuts []
04:33 -!- halfdan [n=halfdan@p57A94177.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
04:35 < goplexian> alexsuraci, yeah I didn't like that either, I thought
there was a way to initialize two variables inside a for loop with something like
for x:=1, y:=0; ; x++ {} but i couldn't figure out how
04:35 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has quit [Read error: 104
(Connection reset by peer)]
04:36 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has joined #go-nuts
04:36 < alexsuraci> goplexian: if you initialize a variable in a if/for
construct, I believe it won't be available outside of it
04:36 < alexsuraci> so I'd just set y := 0 above the for
04:36 -!- gnibbler_ [n=duckman@124-148-186-246.dyn.iinet.net.au] has quit [Read
error: 145 (Connection timed out)]
04:36 < goplexian> Gracenotes, gofmt didn't change it, so trivial
04:37 < alexsuraci> (and by "in an if/for" I mean in the bit before the {)
04:37 < alexsuraci> goplexian: gofmt is for code formatting, not refactoring
04:37 -!- Bruce [n=bruce@ip70-160-222-145.hr.hr.cox.net] has quit ["Colloquy for
iPhone - http://colloquy.mobi"]
04:37 -!- gnibbler_ [n=duckman@124-148-186-246.dyn.iinet.net.au] has joined
04:37 < goplexian> ah ok
04:37 < goplexian> I thought small stuff like that would be considered
04:38 < sladegen> goplexian: x, y := 1, 0
04:38 < alexsuraci> nah, format is like, indentation, alignment, stuff that
doesn't change the source itself, just makes it "look pretty"
04:38 < goplexian> sladegen, ahha!  forgot ,0
04:38 < goplexian> ty
04:38 -!- gnibbler [n=duckman@124-168-57-102.dyn.iinet.net.au] has quit [Read
error: 101 (Network is unreachable)]
04:42 -!- Wiz126 [n=Wiz@] has joined #go-nuts
04:43 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
04:43 < goplexian> How often are gopaste.org pages flushed?  They aren't
permanent I am assuming.
04:43 -!- path__ [n=path@] has joined #go-nuts
04:44 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
04:44 -!- mode/#go-nuts [+v iant] by ChanServ
04:44 < uriel> alexsuraci: btw, where was the code for gopaste?  somewhere
in git-hub IIRC?
04:44 -!- MugginsM [n=chatzill@60-234-151-179.bitstream.orcon.net.nz] has joined
04:44 < uriel> good morning iant
04:44 <+iant> evening for me
04:44 < uriel> hehe, 6am here :)
04:45 < alexsuraci> uriel: yep; http://github.com/vito/go-play
04:45 < alexsuraci> paste.go
04:45 < alexsuraci> not exactly a looker at the moment ;)
04:45 < uriel> iant: you guys have been doing a really awesome job, commits
to the repo seem to be fast and furious
04:45 < alexsuraci> due for renovation but I haven't had the time
04:45 <+iant> thanks
04:45 < uriel> iant: btw, is there some place to monitor the development of
04:45 <+iant> I send patches to gcc-patches@gcc.gnu.org
04:46 <+iant> There is still some question about the licensing; when that is
resolved I will create a new mailing list somewhere as well
04:46 <+iant> You don't want to read gcc-patches, it is pretty high volume
04:46 < uriel> alexsuraci: ok, should I link to it from
http://go-lang.cat-v.org/go-code ok?
04:46 < uriel> iant: heh, I'm just interested in the gccgo patches :)
04:47 < uriel> iant: btw, any chance gccgo will be part of the next major
gcc release?
04:47 < alexsuraci> uriel: Sure, I'd file it under
04:47 < alexsuraci> "toys and experiments" at the moment
04:47 <+iant> uriel: hard to say at this point; I would like it to be, but
we have to square away the licensing first
04:47 < uriel> alexsuraci: hehehe..  hey, gopaste is one of the most
advanced apps so far!  ;)
04:47 < uriel> (and most useful)
04:47 * alexsuraci needs to practice his ' and enter key targeting
04:47 < uriel> iant: what is the licensing issue?  if I may ask..
04:48 < alexsuraci> uriel: up to you, I don't mind either way :P
04:48 < uriel> (I thought google folks contributed to gcc regularly)
04:48 < sladegen> prolly GPL vs.  BSD schism.
04:48 <+iant> I want to keep the gccgo frontend under a BSD-style license so
that it can be used with other programs; the gcc steering committee would prefer
to see GPL
04:48 <+iant> yes, contributing to gcc is not an issue
04:49 < uriel> iant: ah, they don't require all copyright to be assigned to
the fsf?
04:49 <+iant> right, that is another aspect of the discussion
04:49 <+iant> they require a copyright disclaimer
04:49 < uriel> ah...  I see..  does gcc include any other bsd bits?
04:49 <+iant> which is fine
04:49 <+iant> nothing significant, just a few library functions
04:49 -!- oklofok [n=oklopol@a91-153-117-63.elisa-laajakaista.fi] has joined
04:49 < uriel> ah, I see
04:50 <+iant> it will get sorted out one way or another but the gcc steering
committee moves slowly
04:50 * uriel already can hear the gpl-zealots going on about how any bsd code
from goole must be some kind of evil trojan horse or some other such conspriacy
theory ;)
04:50 < sladegen> you could try LGPL-ing it.
04:50 -!- cpr420 [n=cpr420@] has quit ["Vision[0.9.7-H-090423]: i've
been blurred!"]
04:50 < uriel> sladegen: I don't think that makes any difference from the
POV of gcc
04:51 -!- Guest14331 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit
[Read error: 110 (Connection timed out)]
04:51 -!- scrllock_ [n=nathan@nox.liquidweb.com] has joined #go-nuts
04:51 <+iant> sladegen: I don't think that would be much better in practice
for use of the gccgo frontend in other tools
04:51 < uriel> (of being part of the official gcc release, I mean)
04:51 <+iant> I mean, I don't think LGPL would be much better than GPL
04:51 <+iant> nobody is really sure how to handle the LGPL except for the
special case of a shared library covered by the LGPL
04:52 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
04:52 * sladegen meant putting most of the meat in LGPL lib and leaving only small
part "main" part as GPL.
04:52 <+iant> my concern is about people other than gcc being able to use
the frontend
04:52 < MugginsM> lgpl might still make it awkward if it's hard to keep the
link with something else at "arms length"
04:52 -!- Daminvar [n=Daminvar@] has quit [Read error: 145 (Connection
timed out)]
04:52 < alus> hooray bsd license
04:53 < sladegen> iant: yeah, i'm sure you know way better the code layout,
just musing.
04:53 < uriel> iant: they could use ken's code ;)
04:53 < MugginsM> It'd be a shame to stop someone like Intel from turning it
into their own super optimising compiler, for example
04:53 -!- aaront [n=aaront@unaffiliated/aaront] has quit ["And that's all he
04:53 < uriel> iant: I guess that if you have to do the copyright
assigntment, you can't dual license, right?
04:53 < uriel> (without their agreement I mean)
04:54 <+iant> uriel: we can dual license with a copyright disclaimer, I
04:54 <+iant> yes, they would have to agree
04:54 < uriel> aha
04:54 <+iant> that is one of my fallback positions
04:54 < dho> if me___ gets in please tell him to check his email
04:55 < dho> i noticed yesterday that he's in md
04:55 < dho> and i'm giving a minitalk tomorrow at the local bsd user group
about porting go
04:56 < uriel> dho: awesome
04:56 < dho> probably not
04:56 < dho> i have no material
04:56 < uriel> heh
04:56 < uriel> improvised talks are always best
04:56 < dho> last time i tried to do that it ended up with people sleeping
04:57 < uriel> heh, oh well, I guess it doesn't work for everyone ;P
04:57 < dho> i need at least a set of bullet points
04:57 < vector9x> what about STL-like data structures and algorithms in go?
04:57 < uriel> dho: make sure to pitch kens' c compilers ;P
04:57 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has joined #go-nuts
04:58 < dho> it's mostly sysadmins
04:59 < dho> so programming talks are always a hard sell
04:59 -!- odemia_ [n=Odemia-D@] has joined #go-nuts
04:59 * reppie is glad unsafe.Pointer is there
04:59 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit ["Computer
has gone to sleep"]
05:00 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
05:00 -!- evilhackerdude [n=stephan@e181088183.adsl.alicedsl.de] has quit [Nick
collision from services.]
05:00 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined
05:01 -!- dga [n=dga@] has joined #go-nuts
05:01 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Remote closed the
05:01 < odemia_> nick Odemia
05:02 < dga> quick q - using the current (and several previous) checkouts of
the repo, I'm seeing 8.out taking massive CPU for ..  more time than I'm willing
to allow it to run, during "--- cd ../test".  Is there something known wrong, or
do I likely have a borked copy?
05:02 < dga> (sorry, should have said: running all.bash to update)
05:03 < dho> platform/arch?
05:03 -!- drusepth [n=drusepth@ppp-70-248-223-45.dsl.spfdmo.swbell.net] has joined
05:03 < dga> macos snow leopard, 386
05:04 -!- MugginsM [n=chatzill@60-234-151-179.bitstream.orcon.net.nz] has quit
[Read error: 104 (Connection reset by peer)]
05:04 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has quit [Read
error: 110 (Connection timed out)]
05:04 -!- drusepth` [n=drusepth@ppp-70-248-223-45.dsl.spfdmo.swbell.net] has
joined #go-nuts
05:04 -!- MugginsM [n=chatzill@60-234-151-179.bitstream.orcon.net.nz] has joined
05:05 -!- offby1 [n=user@pdpc/supporter/monthlybyte/offby1] has left #go-nuts
["ERC Version 5.3 (IRC client for Emacs)"]
05:05 < sladegen> dga: he was hoping you say freebsd ;( perhaps try mailing
list or issue tracker.  tests are flaky...
05:05 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
05:06 < dga> :-) I haven't tried it on any of my FreeBSD machines.  If
you're looking for more wheel kicking, though, dho, I'm happy to do so.
05:06 -!- evanyares [n=evanyare@ip68-110-107-112.ph.ph.cox.net] has joined
05:06 < dho> i've only run the tests on it
05:07 < dho> seems stable
05:07 < dho> how long is more time than you're willing to allow
05:07 < dho> and does os x have siginfo?
05:07 < dga> It's used 6.2 minutes of CPU time this time around.  I've let
it run as long as 30 minutes, but it tends to make my laptop heat up to an
unacceptable degree.  :)
05:07 <+iant> It takes 48 seconds to run the tests on my 32-bit Ubuntu
05:08 <+iant> dga: something is wrong, that is too long
05:08 < dga> It does have siginfo.  Will I get useful data by kicking it
with that?
05:08 < dho> you'll at least get processor state
05:09 < dho> russ fixed a bug today in darwin/386/sys.s that we found while
i was dicking with freebsd/386
05:09 < dho> s/processor/process/
05:09 -!- msw [n=msw@] has quit [Read error: 60 (Operation timed
05:09 -!- wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
05:09 < dho> ktrace may also yield some more information
05:10 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
05:11 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has quit
05:11 -!- drusepth [n=drusepth@ppp-70-248-223-45.dsl.spfdmo.swbell.net] has quit
[Read error: 60 (Operation timed out)]
05:13 < ajhager> Is there a way to get at the underlying array of a slice
created with make()?
05:13 < dga> arrayindex1 is getting a sigbus and then sitting around chewing
CPU like it's going out of style.  Interesting.
05:13 < dho> you're running tip?
05:14 < dga> tip?
05:14 < ajhager> Hmmm, I guess my real question is, I need an array but I
don't know the length until runtime.  Has to be an array, not a slice.
05:14 < dho> is this a clone of release
05:14 < dga> Ah, is that mercurial terminology for head?  :)
05:14 < dga> yes.
05:14 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
05:15 < dga> I ran hg sync immediately before running the test.
05:15 < goplexian> so when do I get to say "go go gadget ..."?
05:15 < dho> when you write gadget.go
05:15 < goplexian> dho
05:15 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
05:16 < dho> dga: catch sigbus in gdb, paste info reg and p $eip somewhere
05:16 < reppie> what's the difference between an array and a slice
05:16 < goplexian> what about "go-bot?"
05:16 < reppie> eip will be in the info reg
05:16 < dho> sorry i meant x/i $eip
05:17 < dga> Program received signal EXC_BAD_ACCESS, Could not access
05:17 < dga> Reason: KERN_PROTECTION_FAILURE at address: 0x00000000
05:17 < dga> 0x00001c4b in ??  ()
05:18 < reppie> dga x/i 0x00001c4b
05:18 <+iant> dga: that is normal for arrayindex1 but I don't know why the
CPU would be spinning
05:18 < dga> A, sorry.  But remember, this test is _supposed_ to get a
05:18 < dga> right.
05:18 -!- edw [n=user@c-76-99-21-9.hsd1.pa.comcast.net] has quit [Remote closed
the connection]
05:18 < dga> It's as expected, reppie: 0x1c4b: testb $0x0,0x0(%ebp)
05:18 * dho wonders if something's wrong with sigtramp
05:19 -!- tanamo [n=tanamo@] has quit [Read error: 104 (Connection
reset by peer)]
05:19 < dho> which test is this?
05:19 < dga> Stupid newbie mercurial user question: How do I ensure that I
really am using tip, vs.  some release that I keep syncing?
05:19 < dga> test/nilptr/arrayindex1.go
05:19 < dho> hg sync will pull you to tip
05:19 < dho> regardless
05:19 -!- drusepth`` [n=drusepth@adsl-75-28-168-102.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
05:19 < dga> okay.  I'll grab a totally fresh repo and try, before worrying
too much more.
05:20 -!- KiNgMaR [n=ingmar@endgegner.net] has quit [Read error: 110 (Connection
timed out)]
05:20 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
05:21 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has quit [Read error:
110 (Connection timed out)]
05:22 < dho> hm
05:22 < dho> so mine segfaults, i don't get sigbus
05:22 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has joined #go-nuts
05:23 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
05:23 < dho> i could also have broken tools
05:23 < dho> sec
05:24 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
05:24 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
05:26 < dho> 1 known bugs; 0 unexpected bugs; test output differs
05:26 < dho> that's not good
05:26 -!- skyyy [i=caw@] has quit [Client Quit]
05:27 < dho> maybe that's from me sending siginfo.
05:27 < dga> ai1 is taking all of 1 CPU.  kernel_task is taking all of
another CPU.  Only when this program is doing whatever it's doing.  Attaching to
it post-crash with gdb while it's spinning shows that it's at 0x000053af in ??  ()
05:27 < dga> (gdb) x/i 0x53af
05:27 < dga> 0x53af: mov %gs:0x46c,%ebp
05:28 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
05:28 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has quit [Client
05:28 < dho> 6nm 6.out | grep 53af
05:29 < dho> or 6nm 8.out, whatever
05:29 < dga> that would depend on a function starting at that address.  let
me quickly script something to find where it's likely to be inside that (grep
gives nothing)
05:30 < dho> it would, yes.
05:30 < dga> 53a3 T sigtramp
05:30 < dho> thought so
05:31 -!- ejb [n=ejb@unaffiliated/ejb] has quit ["Leaving"]
05:32 < dho> hmmm
05:32 * dho is no russ
05:33 < dho> info reg, what's bx
05:33 < dho> or just p $ebx
05:33 < uriel> seems that Go is big in Japan already!
05:34 < dga> ebx 0x1f 31
05:34 < dga> (and confirmed, it spins on a fresh checkout)
05:34 -!- aho [n=nya@f051163126.adsl.alicedsl.de] has joined #go-nuts
05:35 -!- ybits [n=ryan@c-68-46-83-85.hsd1.nj.comcast.net] has joined #go-nuts
05:37 < ybits> i just came across this and need some clarification...  all
strings are immutable?
05:37 < dho> yes
05:37 < dho> dga: i'm curious to see what ktrace produces
05:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 104
(Connection reset by peer)]
05:37 < ybits> is there an alternate implementation of a character sequence
that can be modified after creation?
05:37 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
05:38 <+iant> ybits: []byte
05:38 < ybits> ahh
05:38 < dho> dga: ktrace -tc ./6.out should be fine
05:38 < dga> dho: darwin; no ktrace.
05:38 < dho> really?
05:38 < dho> i thought it had it
05:38 < dho> truss then?
05:38 < dga> I'll have to find whatever apple's cutely-named equivalent is.
05:38 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
05:38 < timmcd> Hey!
05:38 < timmcd> Quick question: Who doesn't have a gWave invite yet?
05:38 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has quit [Read
error: 60 (Operation timed out)]
05:39 < jabb> I don't
05:39 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
05:39 < dga> ah, right.  dtrace/dtruss instead.  Hang on, I'm going to have
to do a quick bit of apple development learning.
05:39 < Gracenotes> what does big in Japan mean -.-
05:39 < dho> popular
05:39 < dga> It's a most excellent 80's song by Alphaville.  :)
05:39 < Gracenotes> it seems not as busy as it could be
05:39 < ybits> thx iant.  is there documentation that I missed that
discusses the decision to make the string object immutable?  (that you know of)
05:39 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has quit ["This
computer has gone to sleep"]
05:39 < Gracenotes> but still, international interest is good :) you know
2ch has a programming board
05:40 < vector9x> a question...  some as java's "import static" in go?
05:40 -!- jessicara [n=nya@unaffiliated/jessicara] has joined #go-nuts
05:40 -!- mat_ [n=mat@mx3.absolight.net] has quit [Read error: 104 (Connection
reset by peer)]
05:40 < dga> dho: freebsd ktrace gives just a system call trace by default;
is that what you're looking for?
05:40 -!- mat_ [n=mat@mx3.absolight.net] has joined #go-nuts
05:40 < dho> dga: guano apes' cover is better
05:40 <+iant> ybits: I don't know if there is any docs for why strings are
immutable, but it makes them more efficient to implement
05:40 < dho> dga: it does other things by default too (hence -tc)
05:40 -!- robot12 [n=robot12@inferno.kgts.ru] has quit [Read error: 104
(Connection reset by peer)]
05:40 < dho> tc is just syscalls and yes that's enough
05:41 < ybits> also, will []byte not be troublesome for different char sets?
05:41 < dho> []byte is unsigned char i believe
05:42 < dho> no?
05:42 < dga> uint8, yes
05:42 <+iant> ybits: note that strings really are sequences of bytes
05:42 <+iant> so there isn't too much difference between string and []byte
in that regard
05:42 <+iant> the only real difference in the language is that range string
goes by UTF-8 characters
05:42 < timmcd> I have 14 google wave invites.  If you would like a google
wave invite, send an email to tmcdowell@gmail.com
05:42 < timmcd> ^_^
05:42 < drhodes> cool thanks timmcd
05:42 < timmcd> No problem ^_^
05:43 < sm> nice wave of commits to go today
05:43 -!- KiNgMaR [n=ingmar@endgegner.net] has joined #go-nuts
05:43 < sm> someone adding freebsd support, I guess
05:43 < dho> sm: \o_
05:43 < dho> hi
05:43 < uriel> yea, maybe everyone that wants to use wave will drown, and
those that want to actually communicate can stick to use irc and email ;P
05:43 < sm> nice dho
05:44 < eno> i wish there're more immutable data structures, good for
05:44 < ybits> iant: does that mean that string abstracts multi-byte
characters somehow (if it's just a []byte)?
05:44 < dho> uriel: wave is much nicer than email, to be honest
05:44 < timmcd> Jabb: Invite sent, it could take as long as 6 days to get
05:44 <+iant> ybits: no
05:44 < goplexian> most that i've invited got it almost immediately
05:44 <+iant> ybits: it just means that range over a string pulls out UTF-8
05:45 < uriel> dho: wave is about completely useless compared to email
(well, and even compared to using drunk messaging piggeons for communication)
05:45 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has quit [Read
error: 148 (No route to host)]
05:45 < timmcd> uriel: No it's not.
05:45 < dho> uriel: i work for a company that does email
05:45 < timmcd> uriel: Why do you say that?
05:45 < uriel> wave is technically, conceptually and practically bankrupt,
but this is offtopic, sorry, i get so easily carried away by dumb stuff
05:45 < dho> uriel: wave's not web-based im
05:45 < uriel> dho: worse, it is xmpp based
05:46 < timmcd> Derek Rhodes: Invite sent!
05:46 < dho> uriel: if you worked in SMTP, you'd understand why anything
else is better
05:46 < uriel> smtp is absolutely horrible, xmpp is much worse
05:46 < ybits> iant: but indeces won't pull out full multi-byte utf-8 chars?
sorry if this is remedial, i'm just curious about the design.
05:46 < eno> timmcd: mind sending me one?
05:46 < dho> uriel: except that you have verified senders by default.
05:46 < timmcd> eno: Email me at tmcdowell@gmail.com or send me a pm here
with your email ^_^
05:46 < dho> which automatically makes it better :)
05:47 <+iant> ybits: right, direct indexing into a string returns bytes, not
05:47 * uriel rolls eyes
05:47 < ybits> hmm ok
05:47 < dho> uriel: some people don't like c14l15 :)
05:47 <+iant> ybits: a string is just an immutable sequence of bytes
05:48 < goplexian> I still haven't used wave really since hardly anyone I
know wants to use it, but if timmcd runs out of invites I still have some left
05:48 < ybits> except when ranged over.  i get it, thx
05:48 < timmcd> ybits: strings(bytes);
05:48 -!- |jessica| [n=nya@unaffiliated/jessicara] has quit [Read error: 110
(Connection timed out)]
05:48 < uriel> dho: this is *really* offtopic, but why does wave need a spam
box?  (rhetorical question)
05:48 < timmcd> uriel: Why does your email have a spam box?  >_<
05:49 -!- droid0011 [n=g1@p4FDCD276.dip.t-dialin.net] has joined #go-nuts
05:49 < timmcd> Anyway
05:49 < timmcd> I love go ^_^
05:49 < uriel> timmcd: because email and smtp suck horribly, wave does too
05:49 < timmcd> It solved my problem of looking for something faster than
Ruby, but not C* xD
05:49 * dho backs out of discussion
05:49 * alus ^5s uriel
05:49 < uriel> and yes, go is a god sent (people should make more go puns!)
05:49 < goplexian> have you actually used it for any projects uriel?
05:49 < timmcd> I was working on a MUD combat system called GoFight!
05:50 < uriel> hey alus!
05:50 < alus> uriel: oh, please don't go there
05:50 < uriel> hahaha
05:50 -!- robot12 [n=robot12@inferno.kgts.ru] has joined #go-nuts
05:50 < uriel> timmcd: sounds fun
05:50 < vegai> go fuck yourselves!
05:50 < timmcd> ...
05:50 * alus needs to go to the bathroom
05:50 < timmcd> ./kick vegai
05:50 < dga> dho: were you hoping to see an endless stream of syscalls
spewing from the spinning process?  (no such luck, alas.  Last calls it akes are..
some sysctls and mmaps.  I can decode those if interested.
05:50 < uriel> vegai: sshhh...  that is a secret project (
http://gofy.cat-v.org ;))
05:51 < timmcd> Well, I'm out for tonight.  I figure I should probably start
on Nanowrimo.  Go better still be here in december!  >:P
05:51 < vegai> hah, I knew it
05:51 < dho> dga: ...  that's a pain in the ass
05:51 < dho> am interested what syscalls are made though
05:51 < dga> aye.  I'm confused why the kernel process is spinning as well,
05:51 < dho> golang.pastebin.com
05:51 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
05:51 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
05:52 -!- alexf [n=alexf@c-71-205-224-173.hsd1.mi.comcast.net] has joined #go-nuts
05:52 < uriel> dho: gopaste.org for the win!
05:52 < dho> uriel: a list of syscalls isn't go :)
05:52 < alus> oh man, http://gofy.cat-v.org/_imgs/mascosts.jpg
05:52 < alus> I'm just...
05:52 < alus> so happy
05:53 < dga> dho: http://golang.pastebin.com/m6ca5fdcd
05:53 < uriel> dho: ah, good point, gopaste needs an option for non-go code
05:53 -!- stalled [n=411@89-178-47-76.broadband.corbina.ru] has quit [Read error:
104 (Connection reset by peer)]
05:53 -!- stalled_ [n=411@89-178-47-76.broadband.corbina.ru] has joined #go-nuts
05:53 < Odemia> Has anyone here built go on linux/amd64 from the most recent
source.  Trying to do a first build and am getting "--- FAIL: net.TestDialGoogle"
05:54 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
05:54 < dga> Does go mmap the /dv/urndom device?  Is it possible that it's
spinning on a memory location that's causing an access via a mapped page to
05:54 < dga> sigh.  typing hard.  /dev/urandom
05:54 < delsvr> invalid operation: (type *int + int) =(
05:54 < goplexian> has anyone put the go repository into git yet?
05:55 -!- Pilate [n=wotgoes@] has quit [Read error: 104 (Connection
reset by peer)]
05:55 <+iant> Odemia: that test will fail behind a firewall or when using a
proxy; you can most likely ignore the failure
05:56 < dho> dga: i have no idea what's opening /dev/urandom
05:56 < dho> this is arrayindex1.go?
05:57 < dga> Yup
05:57 < Odemia> is there a way to call the rest of tests.  all.bash is bails
as soon as the test fails
05:57 <+iant> Odemia: move net into NOTESTS in pkg/Makefile
05:57 < dga> I'm speculating that the fact that the kernel is *also*
spinning is because the program, while spinning, is accessing a mapped urandom
page.  But that's vaguely immaterial to the bug at hand if that's why - it just
says the faiure mode happened to kick something interesting.
05:57 < dho> dga: any way to see what the hell is opening that?
05:57 < Odemia> thanks iant
05:58 < dho> dga: nothing in that test should open urandom
05:58 < dho> dga: the only stuff in go that opens urandom are crypto tests
05:58 < dga> It could be a consequence of calling, e.g., srandomdev
05:59 < dga> (hm, which nothing does)
05:59 < dho> there are no libc calls in go
05:59 < dho> dtrace to the rescue?
05:59 < dga> something's odd.  open("/usr/lib/libstdc++.6.dylib\0", 0x0,
0x0) = 3 0
06:00 < dho> that's really weird
06:00 < dho> ldd 8.out
06:00 < dga> I bet that we're actually seeing dtruss's own system calls in
some bizarre way.
06:00 < dga> open("/dev/dtracehelper\0", 0x2, 0xB) = 3 0
06:00 < dga> bloody overly-clever debug tools.
06:01 < dho> sweet.
06:01 < reppie> lol
06:01 < dho> i say file an issue and see if russ knows
06:01 < dga> Will do.
06:01 < dho> you're probably getting sigbus because m or g is bad somehow
06:01 < dho> and tls handling on OS X is really, really, really nasty
06:02 < dho> see libcgo/darwin_386.c
06:02 -!- gnibbler [n=duckman@124-148-149-72.dyn.iinet.net.au] has joined #go-nuts
06:03 -!- Pilate [n=wotgoes@] has joined #go-nuts
06:03 < dho> it's fine that you're working on m0 there because there's never
a new goroutine spawned
06:03 < dho> but i wonder if tls is wrong somehow
06:03 < dho> %gs:0x46c is m0
06:04 -!- droid001 [n=g1@p4FDCD362.dip.t-dialin.net] has quit [Read error: 110
(Connection timed out)]
06:05 -!- ybits [n=ryan@c-68-46-83-85.hsd1.nj.comcast.net] has quit []
06:05 < Odemia> sweet, had t o move net and http to NOTEST but looks like
everything else is good.  Thanks again iant
06:05 -!- sm_ [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
06:06 -!- madhatter09 [n=wvicente@189-69-96-246.dsl.telesp.net.br] has joined
06:06 < madhatter09> Finally I'm back!
06:07 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Remote closed the
06:07 < madhatter09> Gracenote, tks for the help a few minutes ago
06:07 < dga> issue 265 entered, dho
06:07 < Gracenotes> np
06:08 < Gracenotes> nooo, reddit
06:09 -!- bear [n=bear@c-71-230-97-250.hsd1.pa.comcast.net] has left #go-nuts
06:10 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Read error: 110
(Connection timed out)]
06:12 -!- Snert [n=achowe@puff.snert.com] has joined #go-nuts
06:12 < dga> and on that note, thanks for the help, folks.  naptime for me.
06:12 -!- gnibbler_ [n=duckman@124-148-186-246.dyn.iinet.net.au] has quit [Read
error: 113 (No route to host)]
06:12 -!- dga [n=dga@] has quit ["leaving"]
06:13 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has joined #go-nuts
06:13 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
06:14 < timmcd> aliases := make([]Alias); // Alias is a struct type
06:14 < timmcd> aliases[len(aliases)] = someAlias;
06:14 < timmcd> what am I doing wrong therE?
06:14 <+iant> timmcd: you aren't saying what size slice to make
06:15 < wcr> is there a way to do a google search on a file extention, like
".stat" ? it omits the . when I type that
06:15 < timmcd> I thought slices could grow/shrink depending on what you put
in them, ie: not a set size?
06:15 <+iant> timmcd: the length of a slice can change, but not the capacity
06:15 < dho> wcr: filetype:pdf
06:15 <+iant> if you want a growable container, see pkg/container/vector
06:16 < timmcd> Can you explain the difference of the length and the
06:16 < dho> sorry
06:16 < dho> maybe extension:pdf?
06:16 < wcr> hmmm
06:16 <+iant> the length is what is currently accessible; the capacity is
the total size of the underlying array--the size to which the slice can grow
06:16 < dho> no, filetype's right
06:16 < timmcd> I see, thanks
06:16 <+iant> timmcd: http://golang.org/doc/effective_go.html#slices
06:17 < wcr> dho: what if I want to actually search for .stat on webpages?
06:17 < wcr> rather that finding .stat files
06:17 < madhatter09> Hum...  with io.ReadAll(*TCPConn), it wait the EOF =
*TCPConn.Close()...  but if I want to get the all information that already can be
read without Close()...?
06:17 < dho> dunno
06:17 < dho> probably something on fravia's searchlores
06:18 -!- ned- [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
06:19 -!- blackmagik [n=blackmag@unaffiliated/blackmagik] has quit ["Leaving"]
06:19 < timmcd> Once I add aliases := make([]Alias, 0, 100); I still get
error : syntax error near aliases on aliases[len(aliases)] = myalias;
06:20 < directrixx> madhatter09: you mean ReadAll blocks until TCPConn
06:20 < timmcd> go ReadAll!  xD
06:20 <+iant> timmcd: you can't set aliases[len(aliases)] but I don't know
why you are getting a syntax error
06:20 < timmcd> Why can't I?
06:20 < timmcd> length would be zero
06:20 < timmcd> so it would be the same as
06:20 <+iant> len(aliases) is past the writable area of the slice, you need
to grow it first
06:20 < timmcd> aliases[0] right?
06:20 -!- existsec_ [n=existsec@76-228-31-64.lightspeed.frokca.sbcglobal.net] has
quit [Read error: 145 (Connection timed out)]
06:21 < timmcd> How do I do that?  >_<
06:21 <+iant> aliases = aliases[0 : len(aliases) + 1];
06:21 < timmcd> mmk
06:21 < timmcd> I see
06:21 < timmcd> tyvm
06:21 <+iant> aliases[len(aliases) - 1] = ...;
06:21 < madhatter09> directrixx: Yeahp...  still stop until I close...  and
if o put time out, some times don't get all...
06:21 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read error: 104
(Connection reset by peer)]
06:21 < Snert> morning
06:22 -!- Wiz126 [n=Wiz@] has quit [Read error: 113 (No route to
06:22 < timmcd> Snert: Where do you live?  11:23 PM here.  (gmt - 7
06:22 < directrixx> madhatter09: you can use conn.Read(buffer)
06:23 < Snert> timmcd: Cannes, France
06:23 < Snert> 7h24
06:23 < directrixx> not as nice though, because you have to allocate the
buffer first
06:23 < Snert> gmt+1
06:23 -!- Arhuaco [n=n@] has quit [Read error: 110 (Connection timed
06:24 -!- broo [n=my_nick@97-116-179-177.mpls.qwest.net] has joined #go-nuts
06:25 < madhatter09> directrixx: but, the buffer need to be in a fixed
size...  and the data that I'll read don't have a fixed size...
06:28 < Snert> dho: you said that my runtime was missing something, but you
never said what
06:28 -!- Arhuaco [n=n@] has joined #go-nuts
06:31 -!- jA_cOp_ [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
06:32 -!- existsec_ [n=existsec@yosemite.yosemite.edu] has joined #go-nuts
06:34 < timmcd> Who thinks Jabb should write a wrapper for Ncurses and call
it Go Curse!  ?
06:37 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has quit ["This
computer has gone to sleep"]
06:39 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit [Read error: 145
(Connection timed out)]
06:39 -!- aanderse
[n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
06:39 < sladegen> timmcd: my nick at gmail...  though i doubt i have any use
of wave besides nother time sink hole.
06:41 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has joined #go-nuts
06:42 -!- nigwil [n=chatzill@berkner.ccamlr.org] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102152451]"]
06:43 < timmcd> Can I get a ReplaceAllString example?  Ie: the steps leading
up to using it?  (making the regular expression, etc.)
06:43 < madhatter09> directrixx: I'm going crazy with this...
06:44 -!- vector9x [n=vector9x@Wimax-c3-ppy-pt-190-70-184-201.orbitel.net.co] has
quit ["Leaving"]
06:45 < reppie> reading code is key to writing good code
06:47 < timmcd> You said it incorrectly
06:48 < timmcd> *reading good code is key to writing good code.
06:48 < timmcd> That way you could have set me up for something great :(
06:50 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has quit ["This
computer has gone to sleep"]
06:52 -!- travisbrady [n=tbrady@] has quit []
06:54 < timmcd> Do I need to instantiate a Regexp struct before I can call
06:54 < directrixx> madhatter09: well, io.ReadAll uses io.Copy internally.
io.Copy reads from your connection into Buffer (which is a writer)
06:54 < directrixx> Copy does this one chunk at a time
06:54 < timmcd> It seems I should be able to regexp.ReplaceAllString(src,
repl); without calling it on a specific Regexp type… true?
06:55 < directrixx> one fixed size buffer at a time, until it reaches os.EOF
06:55 < directrixx> so you're probably going to have to write some function
that reads in the data from TCPConn one "buffer full" at a time
06:55 -!- mizai [n=mizai@rhou-164-107-213-187.resnet.ohio-state.edu] has quit
[Remote closed the connection]
06:56 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
06:56 < timmcd> Oh hey, trying to read from a TCPConn?
06:56 < timmcd> I could impart my limited wisdom on that:
06:56 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit []
06:57 < directrixx> timmcd: you're going to have to compile the regex first
06:57 < directrixx> ReplaceAllString is a method
06:59 < directrixx> re, err := regexp.Compile(...); newstr :=
07:00 < madhatter09> directrixx: I've tried that too...  but I've found the
same problem...  I read everything, but, never move on...  the application still
stoped until I close it
07:00 < timmcd> http://gist.github.com/238607
07:00 < timmcd> reading from a TCPConn
07:00 < timmcd> That's how I did it, with go readLoop(…); from my main func,
which then proceeds to listen on bytec channel to see when one of them is done or
errored out
07:00 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
07:01 < directrixx> timmcd: that'
07:01 < directrixx> s pretty much how i do it
07:01 < timmcd> Ok, cool.  Thanks!  ^_^
07:02 < directrixx> timmcd: heh, i was actually toying with the idea of
writing a MUD too!
07:02 < Dreamer3> a mud
07:02 < Dreamer3> now that sounds fun
07:02 < timmcd> I wrote a MUD client, a MUD is the next step ;)
07:03 < sladegen> distributed mud
07:03 < yuanxin> which types can be nil in Go?
07:03 < Dreamer3> how hard is a client :)
07:03 < timmcd> not hard at all
07:03 < timmcd> Just learning the TCPConn libraries basically
07:03 < timmcd> Take a look at the goclient.go in github.com/timmcd/GoClient
07:03 < timmcd> it's extremely simple (Excuse my messy code)
07:03 < directrixx> yuanxin: I know there's a list on golang.org, let me see
if i can find it
07:04 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has joined #go-nuts
07:04 < directrixx> yuanxin: "The predeclared identifier nil is assignment
compatible with any pointer, function, slice, map, channel, or interface type and
represents the zero value for that type."
07:04 < Dreamer3> hmmm
07:05 < Dreamer3> can go read keystrokes?
07:05 < Dreamer3> instead of line by line input
07:05 < timmcd> I think you need curses or Ncurses support for that.
07:05 < yuanxin> Dreamer3: someone is working on wrapping ncurses
07:05 < timmcd> Luckily Jabb is working on wrapping ncurses right now ;)
07:05 < yuanxin> jabb?  I thought kuroneko was doing it
07:05 < yuanxin> hopefully they are not duplicating work!
07:05 < yuanxin> directrixx: thank you.
07:06 < Dreamer3> timmcd: that is pretty simple :)
07:06 < jabb> yuanxin: he is?
07:06 < yuanxin> jabb: last I heard.
07:06 < Dreamer3> does go have any built in marshalling to write/read
structs from disk?
07:06 < timmcd> Dreamer3: Yup
07:06 < timmcd> Dreamer3: About it being simple, that is.
07:06 < timmcd> We could write up yaml support...  =D
07:06 < Dreamer3> timmcd: i was working on a go ORM for sqlite
07:06 < jabb> yuanxin: have a link?
07:07 < yuanxin> jabb: you'll have to search logs; it was discussed in the
07:07 < yuanxin> jabb: apparently he was running into difficulties getting
Go to work with C varargs
07:07 -!- existsec_ [n=existsec@yosemite.yosemite.edu] has quit [Read error: 110
(Connection timed out)]
07:08 < yuanxin> does anyone have any idea if/when Go will ever support
non-UTF8 strings?
07:08 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
07:08 < yuanxin> I suppose this would be a better question for the mailing
07:09 < sladegen> yuanxin: they'll probably include handling other encodings
in the future, it's too early still.
07:09 < directrixx> Dreamer3: I think you can use the gob package
http://golang.org/pkg/gob/ to read and write structs to disk
07:09 -!- aa [n=aa@r190-135-147-238.dialup.adsl.anteldata.net.uy] has quit [Read
error: 113 (No route to host)]
07:10 < yuanxin> sladegen: right
07:10 < yuanxin> Still, surprising they didn't at least include support for
UTF-16...  it's got to be simpler than UTF-8
07:10 < jabb> yuanxin: yeah, you have to impose a limit to the number of
parameters passed to a function with vargs
07:10 < jabb> at least for now
07:11 < sladegen> from implementation point of view utf-8 is simpler and
easier considering one Rob Pike is inventor of utf-8
07:11 < timmcd> re.ReplaceAllString(...);
07:11 < yuanxin> sladegen: heh, true
07:11 < timmcd> As far as I can tell, that function doesn't actaully even
use its host Regexp struct
07:11 < timmcd> Whats the point?  I defiantly protest that I should be able
07:11 < timmcd> newstr := regexp.ReplaceAllString("sh", "say hi");
07:12 < timmcd> ^_6
07:12 < yuanxin> submit a patch
07:12 < directrixx> timmcd: 5th line of the function "a := re.doExecute(src,
nil, searchPos);"
07:12 -!- path__ [n=path@] has quit [Read error: 60 (Operation timed
07:13 < sladegen> timmcd: first argument is a string you are doing replacing
on, second one is what you substitute the regex matches found with.
07:13 < directrixx> timmcd: the first argument is the original string, the
second is the string you want to replace matches of 're' with
07:13 * sladegen did not look at the source, just using common sense.
07:13 < directrixx> what he said
07:13 < timmcd> Mm
07:13 < timmcd> Well then, I feel reaaal silly.
07:13 < sladegen> jinx
07:13 < timmcd> ^_^
07:14 < timmcd> does Go have an xmpp chat room?
07:14 * directrixx is upset over the fact that he cannot speak until he buys
sladegen a coke
07:14 < yuanxin> what the hell is xmpp
07:14 < timmcd> *laugh*
07:14 < timmcd> I probably have the wrong acronym
07:14 < yuanxin> ignore that question I am an idiot
07:14 < timmcd> Support for different fonts and bolding/italicized,
basically rich text
07:14 < timmcd> mmk lol
07:14 * sladegen settles for boip (beer over ip)
07:15 < yuanxin> if only there were some sort of way of finding information
on the internet, where I could just type "xmpp" and it'd find information on the
subject for me...
07:15 < timmcd> I got you directrixx… *pushes a coke through the USB*
07:15 < timmcd> Man I love them new USB 4.0s ^_^
07:15 < timmcd> yuanxin: lmgtfy.com/?q=xmpp
07:15 * directrixx shakes his head, timmcd has made his usb ports extremely sticky
07:15 < sladegen> yuanxin: en.wikipedia.org/wiki/foo
07:15 < yuanxin> ok guys
07:15 < yuanxin> I know what Google is
07:16 < yuanxin> I was mocking myself
07:16 < timmcd> lol we know ^_^
07:16 < yuanxin> good
07:16 < yuanxin> the company that created Go needs to get on creating such a
device right away!
07:16 -!- nigwil [n=chatzill@ppp59-167-87-232.lns20.hba1.internode.on.net] has
joined #go-nuts
07:16 < timmcd> lol
07:17 < directrixx> good night everyone
07:17 < timmcd> lmgtfy.com/?q=googles+search+engine
07:17 < timmcd> lol
07:17 < sladegen> good morning
07:17 < timmcd> Cya directrixx!
07:17 < yuanxin> directrixx: bye!
07:17 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
07:17 < timmcd> Good hot cocoa
07:17 * directrixx bounces out.
07:17 < timmcd> So, who all would be interested in working on a MUD in Go
with me?
07:17 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has left #go-nuts
07:18 -!- drusepth` [n=drusepth@ppp-70-248-223-45.dsl.spfdmo.swbell.net] has quit
[Read error: 110 (Connection timed out)]
07:18 < timmcd> http://www.google.com/intl/xx-elmer/
07:18 < timmcd> the best
07:19 < timmcd> hmm
07:19 < timmcd> I thought google used to have pig latin...
07:19 < yuanxin> when will I get used to writing things like "username
string" instead of "string username"
07:19 < yuanxin> likely never
07:20 < timmcd> I feel like it's second nature.
07:21 < yuanxin> I clearly haven't written enough Go
07:21 < sladegen> yuanxin: find out your editor's word transpose shortcut,
goof opportunity to get it into your finger memory.
07:21 < timmcd> It's the only way I ever learned how to do it, being all
anti-C* ;)
07:21 < sladegen> doog* i mean good* hah
07:21 < yuanxin> timmcd: is Go the first programming language you've learned
or something?
07:21 < yuanxin> timmcd: or have you just never used one where declarations
look like C
07:22 < timmcd> Timmcd: I usually stick to scripting languages, which most
of them are dynamically types.  Different Schemes, Lisps, Ruby, Lua, a bit of
python… etc.
07:22 < timmcd> Yeah basically no C-like stuff.
07:22 < yuanxin> meant to highight me there?  :)
07:22 -!- smcq__ [n=smcq@] has joined #go-nuts
07:22 < timmcd> highight?
07:22 < sladegen> highlight...
07:22 < yuanxin> you meant to prefix your message with "yuanxin:"
07:23 < sladegen> sladegen: speaking to yourself often?
07:23 < yuanxin> nevermind...
07:23 < bthomson> bthomson: sup dude
07:23 < yuanxin> yuanxin: why yes, what's wrong with that ??
07:23 < timmcd> timmcd: Oh my gosh, I think I'm crazy.
07:23 < timmcd> Timmcd: No your not, don't be silly.
07:23 < timmcd> timmcd: oh ok, thanks!
07:23 < timmcd> hehe I love xkcd...
07:23 < timmcd> assert "it'll be all right"
07:24 < timmcd> I had a better idea, screw making a mud.  ;)
07:24 < timmcd> Anyone up for working on a roguelike?
07:25 < sladegen> timmcd: how about implementing scheme interpreter in go
first...  probably way out of my league.
07:25 < timmcd> hmm scheme interpreter in Go…
07:25 < timmcd> hmm
07:25 < yuanxin> is there an off-topic channel for Go? something like
#not-math for #math
07:25 < bthomson> try #go-fish
07:26 < yuanxin> bthomson: good idea
07:26 < timmcd> I'm in #not-GOing-nuts =D
07:26 < timmcd> but that sounds like I don't like Go.
07:26 < timmcd> go-fish it is!
07:26 < yuanxin> yeah #go-fish is better
07:27 < timmcd> anyway, a scheme interpreter in Go.
07:27 < timmcd> Interesting, but I don't have much experience with that sort
of thing.
07:27 < timmcd> My one attempt horridly failed
07:29 < timmcd> 'course, it was written in Ruby ;)
07:29 < timmcd> I think I'd have to make a wrapper for bison of Limon or w/e
first, instead of doing it all from scratch >_>
07:29 < sladegen> doing mud server would be interesting, too, though i have
weird ideas about it...  like making it a storage for meta information of
different login shells, kinda like running one emacs server.
07:30 < timmcd> lol
07:30 < sladegen> timmcd: go has some lexoyacobnf utils already.
07:30 < timmcd> I have more… game-oriented ideas ;)
07:31 < sladegen> well, it could be used for gaming, too, only recently i
was hacking on emacs muds client...  but driffted away.
07:32 * sladegen was thinking of doing mud in webrowser...  la la la land.
07:32 < sladegen> timmcd: you know hop e.g.?
07:32 < timmcd> nope
07:32 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
07:33 < sladegen> hop.inria.fr it has scheme to java implementation.
07:33 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has joined #go-nuts
07:33 < sladegen> javascript
07:33 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has quit ["This
computer has gone to sleep"]
07:34 * sladegen admits schemeweenism and repents.
07:41 -!- moriyoshi [n=moriyosh@i118-19-92-230.s04.a014.ap.plala.or.jp] has joined
07:41 < yuanxin> the string type isn't any sort of magic, right?  I could
create a MyString that behaves in exactly the same way ?
07:42 -!- trickie [n=trickie@] has joined #go-nuts
07:42 -!- path__ [n=path@] has joined #go-nuts
07:43 -!- raaaaawr [n=rickard@v-412-ostermalm-112.bitnet.nu] has quit [Remote
closed the connection]
07:44 -!- path__ [n=path@] has quit [Client Quit]
07:46 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."]
07:46 -!- path__ [n=path@] has joined #go-nuts
07:53 -!- Lustra [n=James@host81-155-229-84.range81-155.btcentralplus.com] has
joined #go-nuts
07:54 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 104 (Connection
reset by peer)]
07:55 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
08:01 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 104 (Connection
reset by peer)]
08:02 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 113 (No route to host)]
08:09 -!- dRiZzle [n=dRizzle@] has joined #go-nuts
08:10 < dRiZzle> BroswerUk, whats your value for GOARCH ?
08:10 -!- ironfroggy_ [n=calvin@] has quit [Read error: 110
(Connection timed out)]
08:11 -!- dRiZzle [n=dRizzle@] has left #go-nuts ["Leaving"]
08:11 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
08:12 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has joined #go-nuts
08:15 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit [Read
error: 104 (Connection reset by peer)]
08:15 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
08:15 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has quit
08:16 -!- Arhuaco [n=n@] has quit [Remote closed the connection]
08:20 -!- p4p4 [n=pedro@] has joined #go-nuts
08:21 -!- Xavier [i=kintoen@bitchx/dev/eth0] has joined #go-nuts
08:21 -!- p4p4 [n=pedro@] has quit [Remote closed the
08:25 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
08:26 -!- p4p4 [n=pedro@] has joined #go-nuts
08:29 -!- rog [n=rog@] has joined #go-nuts
08:30 -!- hest [n=hest@127.84-48-175.nextgentel.com] has joined #go-nuts
08:31 -!- trickie [n=trickie@] has quit [Read error: 113 (No route
to host)]
08:31 -!- jsgotangco [n=JSG@ubuntu/member/jsgotangco] has quit ["Ciao"]
08:33 -!- bquinn [n=bquinn@office.velleman.com] has joined #go-nuts
08:34 -!- triplez [n=triplez@bb116-14-33-112.singnet.com.sg] has quit [Remote
closed the connection]
08:34 -!- triplez [n=triplez@bb116-14-33-112.singnet.com.sg] has joined #go-nuts
08:35 -!- hyn [n=hyn@p0a38fe.tokyte00.ap.so-net.ne.jp] has quit ["Get MacIrssi -
08:39 -!- triplez_ [n=triplez@] has joined #go-nuts
08:39 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
08:39 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
08:40 < jdp> is there no ternary operator in go?
08:41 < dagle2> Wy is it not as simple as writing: go school irl?
08:41 < jdp> what?
08:41 -!- mat__ [n=mat@mx3.absolight.net] has joined #go-nuts
08:41 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
08:41 < dagle2> Need to go to school.  Lazy etc.
08:45 < vegai> jdp: no, there isn't.
08:45 < jdp> awesome.
08:45 < jdp> it's making for some pretty ugly code on my part
08:46 < MugginsM> I've never liked ternary operators
08:46 < MugginsM> in any language
08:46 < yuanxin> eh, they have their place
08:46 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
08:46 < yuanxin> people who think writing unreadable code is clever tend to
misuse them
08:46 < MugginsM> I just find them difficult to read
08:46 < jdp> that wouldn't be a problem if go let me use "untyped nil" in
08:47 < jdp> i'm creating a logger conditionally, if a process is daemonized
out1 is os.Stdout, otherwise it's nil
08:47 < jdp> so then i needed to use an if statement, but assignments inside
if's only get that scope
08:47 < jdp> so i brought the assignment outside of the if, but now it won't
let me use untyped nil
08:48 < MugginsM> how about in a function?  return the value
08:48 -!- jaxdahl2 [i=foobar@cpe-70-112-126-227.austin.res.rr.com] has joined
08:49 < jdp> less than ideal but i guess it's the only thing that'll work
08:51 < sladegen> you can do if foo, err := whatever() ; err != nil { ...
or i'm just imagining...
08:51 < nbaum> You can.
08:53 < sladegen> nah, i doubt i understood what jdp's use case was.  too
bad foo := if ...  doesn't work.
08:53 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:53 < jdp> yesterday i loved go, but today it's like pulling teeth
08:53 -!- kelly` [n=dinx@CPE-58-175-97-189.szmy1.win.bigpond.net.au] has joined
08:53 < jdp> "function ends without return statement"
08:53 < jdp> there's one if, and two returns
08:53 < jdp> no possible way it won't return in the end
08:54 < s_mosher> jdp, I think someone filed a bug on that
08:54 < nbaum> Yes: http://code.google.com/p/go/issues/detail?id=65
08:55 -!- mat_ [n=mat@mx3.absolight.net] has quit [Read error: 111 (Connection
08:55 < sladegen> firefox needs reboot button.
08:56 -!- wcr [n=wcr@unaffiliated/warcrime] has quit []
08:56 < jessta> firefox needs to not pretend it's a development platform
08:56 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has quit [Read error: 110 (Connection
timed out)]
08:56 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
08:57 -!- triplez [n=triplez@bb116-14-33-112.singnet.com.sg] has quit [Read error:
113 (No route to host)]
08:57 -!- jaxdahl [i=foobar@cpe-70-112-126-227.austin.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
09:03 < Boohbah> jessta: http://www.seamonkey-project.org/ ?
09:05 < bthomson> i have an addon to reboot firefox :/
09:08 -!- josh_ [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has joined #go-nuts
09:08 -!- MrTopf [n=mrtopf@p5B395859.dip.t-dialin.net] has joined #go-nuts
09:08 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 60 (Operation
timed out)]
09:09 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has quit [Connection timed out]
09:13 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
[Connection timed out]
09:13 -!- josh [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has quit [Read error:
113 (No route to host)]
09:17 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
09:20 -!- mfilenko [n=decoy@ns1.ukr.ua] has quit ["Ex-Chat"]
09:21 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
09:22 -!- smcq__ [n=smcq@] has quit [Read error: 104 (Connection
reset by peer)]
09:27 -!- bquinn [n=bquinn@office.velleman.com] has quit []
09:28 -!- asyncster2 [n=asyncste@c-76-21-43-45.hsd1.ca.comcast.net] has joined
09:28 -!- MugginsM [n=chatzill@60-234-151-179.bitstream.orcon.net.nz] has quit
["ChatZilla 0.9.85 [SeaMonkey 2.0/20091017081335]"]
09:28 -!- kiva [n=michaelw@r220-101-159-148.cpe.unwired.net.au] has joined
09:29 < vegai> I wonder what sort of a task it would be to port the
ken-style compiler to ppc
09:30 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has joined #go-nuts
09:30 < vegai> and would it be worth the work...
09:31 < KragenSitaker> take a look at the compiler
09:31 < KragenSitaker> the code is pretty straightforward
09:32 < KragenSitaker> it's probably some of the nicest C you'll ever see
09:33 < KragenSitaker> there's about 18000 lines of code in the gc/
directory and about 6000 lines of code in the 8g directory
09:34 < KragenSitaker> another 6000 in 8l, 2000 in 8a
09:34 < vegai> then again, isn't ppc pretty much a dead architecture
09:35 < KragenSitaker> so it would be on the order of a three-person-year
project according to basic COCOMO?
09:35 < vegai> :)
09:35 < sladegen> gl
09:35 < vegai> I'll hand it over to a thousand people, we'll do it in a day
09:36 < gl> mh?
09:36 < me__> there already exist q{acl}...
09:36 < sladegen> gl nothing...  meant to say good luck to vegai
09:36 < me__> not in go, but in Inferno.  you would have to adapt them to
produce ELFs.
09:36 < KragenSitaker> you'd have to write another 6000 lines of code for
7g, 6000 for 7l, and 2000 for 7a, or so
09:37 < KragenSitaker> oh, q?
09:37 < KragenSitaker> q is powerpc?
09:37 < me__> q == ppc.  9 iirc is ppc64
09:37 < vegai> arm port would make more sense
09:37 < KragenSitaker> thanks!  I didn't realize
09:37 < KragenSitaker> yes, and there already is an arm port
09:37 < vegai> oh, of course
09:38 < KragenSitaker> COCOMO suggests 4 people for 10 months
09:38 < me__> the set of plan 9 compilers that can be scavenged: { 68k, amd
29k, mips, arm, i386, amd64, ppc, ppc64, sparc, sparc64 }...
09:38 < KragenSitaker> I think the COCOMO estimates are really high
09:38 < me__> mips and arm have both endianness, arm has thumb support as
09:39 < me__> there's a lot of duplicated code in Ng and Nc, so yea...
09:39 < KragenSitaker> I know!  I was disappointed when I saw that
09:39 < KragenSitaker> wow, amd 29k?  I didn't know that was in use recently
enough to have a plan 9 compiler
09:39 < me__> kencc dates back from 1991.
09:39 < me__> 68k was the first version, iirc.
09:39 < KragenSitaker> vegai: I think a good hacker could probably do it in
a month or two
09:40 -!- assiss [n=assiss@] has left #go-nuts []
09:40 < KragenSitaker> without knowing much about the problem, just looking
at the sizes of the solutions
09:42 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has joined
09:45 -!- asyncster [n=asyncste@] has quit [Read error: 110
(Connection timed out)]
09:45 -!- teedex [n=teedex@] has quit ["Leaving..."]
09:50 -!- Cyprien [n=Cyprien@pub1.heig-vd.ch] has quit [Read error: 110
(Connection timed out)]
09:50 -!- cgibreak [n=cgibreak@pool-71-171-137-50.chi01.dsl-w.verizon.net] has
quit [Read error: 110 (Connection timed out)]
09:52 -!- cgibreak [n=cgibreak@] has joined #go-nuts
09:56 -!- asyncster [n=asyncste@] has joined #go-nuts
09:56 -!- huseyinkozan [n=huseyink@unaffiliated/huseyinkozan] has joined #go-nuts
09:57 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has quit []
09:58 -!- Cyprien [n=Cyprien@] has joined #go-nuts
09:58 -!- sahid [n=sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
09:58 < sahid> Hello
09:59 -!- ayo [n=nya@f050245048.adsl.alicedsl.de] has joined #go-nuts
10:00 -!- aho [n=nya@f051163126.adsl.alicedsl.de] has quit [Nick collision from
10:04 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
10:06 -!- asyncster2 [n=asyncste@c-76-21-43-45.hsd1.ca.comcast.net] has quit [Read
error: 60 (Operation timed out)]
10:10 -!- int-e [n=noone@] has quit ["leaving"]
10:10 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
10:11 -!- kelly` [n=dinx@CPE-58-175-97-189.szmy1.win.bigpond.net.au] has quit
[Remote closed the connection]
10:11 -!- nsz [i=nsz@morecp.net] has quit [Read error: 104 (Connection reset by
10:12 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined
10:12 -!- nsz [i=nsz@morecp.net] has joined #go-nuts
10:14 -!- int-e [n=noone@] has joined #go-nuts
10:16 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has quit ["Bye!"]
10:17 -!- triplez_ [n=triplez@bb116-14-33-112.singnet.com.sg] has joined #go-nuts
10:18 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has joined
10:18 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined
10:21 -!- skyfive [n=skyfive@adsl-69-106-255-203.dsl.pltn13.pacbell.net] has
joined #go-nuts
10:21 * sladegen could've sworn tarski was dead.
10:26 -!- triplez [n=triplez@] has quit [Read error: 104 (Connection
reset by peer)]
10:27 -!- frimend [i=c03kcn@salt.cs.umu.se] has joined #go-nuts
10:27 < frimend> "Go promotes writing systems and servers as sets of
lightweight communicating processes, called goroutines, with strong support from
the language."
10:27 < frimend> This must be good with all clouds and VM's popping up
everywhere, right?
10:31 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
10:31 < aho> only time will tell
10:32 < aho> <;
10:32 -!- hooopy [i=hoopy@173-30-98-140.client.mchsi.com] has quit [Read error:
113 (No route to host)]
10:35 -!- kanwarpreet [n=chatzill@] has joined #go-nuts
10:36 < alus> frimend: to my knowledge, goroutines do not communicate across
10:36 < alus> using the native "channel" primative
10:37 < vegai> there's the rpc package, though
10:38 < vegai> and something mysterious called the native client
10:39 -!- hooopy [i=hoopy@173-30-98-140.client.mchsi.com] has joined #go-nuts
10:40 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined
10:41 < Innominate> http://code.google.com/p/nativeclient/
10:41 -!- huseyinkozan [n=huseyink@unaffiliated/huseyinkozan] has quit [Remote
closed the connection]
10:41 < Nanoo> hi
10:41 < bthomson> greeting to you
10:42 < frimend> if we hope to achieve anything, computers must be able to
communicate with each other.
10:42 < Nanoo> is there a easy way to convert string to []byte?
10:46 < sladegen> just do it.
10:46 -!- nikki93 [n=nikki@] has joined #go-nuts
10:46 < nikki93> Hey guys!
10:47 < nikki93> I tried a simple program, func print1() { for {
fmt.Printf("print1!\n"); } }, and print2() is similar, but prints 'print2!'.  Then
in main, I did go print1(); go print2().  But I don't see interleaved prints.
10:47 < nikki93> It just exits, no output.
10:47 < vegai> Nanoo: strings.Bytes("foo")
10:47 -!- simonz05 [n=simon@] has joined #go-nuts
10:48 < Nanoo> vegai, ty
10:49 -!- mat__ [n=mat@mx3.absolight.net] has joined #go-nuts
10:49 < madmoose> nikki93: I would guess that the program exits before the
goroutines get a chance to, ehm, go.
10:49 < nikki93> madmoose: Ah.
10:49 < nikki93> madmoose: The program doesn't wait for the goroutines to
10:49 < simonz05> Go have something to convert string to int?  i = atoi(s);
10:49 < sladegen> nikki93: try puting some sleep in main or make goroutines
return something some output to main when they finish.
10:50 < nikki93> What's the sleep function?
10:50 < sladegen> for example on a channel you pass to them on the go.
10:50 < madmoose> nikki93: That's how threads work, I'd guess goroutines act
the same.
10:50 < nikki93> Os.Sleep?
10:50 < nikki93> madmoose: Ok.
10:51 < nikki93> I'm liking the language.  But I don't like the
uppercase/lowercase thing.  :(
10:51 < sladegen> simonz05: yes look in strconv pkg
10:51 < nikki93> So...  any google guys here?
10:51 < madmoose> nikki93: try time.Sleep
10:51 < madmoose> nikki93: http://golang.org/pkg/time/#Sleep
10:52 < sladegen> use the force use the search...  or do it locally godoc
--http=:6060 &
10:52 < madmoose> nikki93: I think all the gogos are on Americatime.
10:53 < nikki93> Heh
10:53 < sladegen> "godoc --http=:6060 &" and point your browser you know
10:53 < madmoose> nikki93: Yeah, the case thing is going to take some
getting used to :)
10:54 < nikki93> madmoose: Man, mostly I write functions like blaBla(), and
types as BlaBla.  I'm used to that convention in C/C++.  :)
10:54 < nikki93> And I love it, I think it looks good.
10:54 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
10:55 < nikki93> Ok, not meaning to spam, but if you're free check out my
current project: http://nikki93.github.com/grall2.html . It's a 3D game,
action/strategy/puzzle.  Written in C++ mostly, can be scripted from Python.
10:59 -!- tomestla [n=tom@] has joined #go-nuts
11:00 -!- jbauer [n=jbauer@adsl-99-176-8-19.dsl.lsan03.sbcglobal.net] has quit
[Remote closed the connection]
11:00 -!- bluemoon_ [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
11:02 -!- mat_ [n=mat@mx3.absolight.net] has quit [Read error: 111 (Connection
11:04 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
11:06 -!- Fl1pFl0p [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has quit [Client
11:09 < nikki93> Yay my first go program that I wrote myself:
11:10 -!- bluemoon_ [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has joined
11:10 < alus> Innominate: that doesn't seem to be related to Go
11:10 < Innominate> what
11:11 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined
11:11 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
11:12 -!- aesnxs [n=aesnxs@60-241-190-96.static.tpgi.com.au] has joined #go-nuts
11:13 < alus> Innominate: that native client thing
11:13 < Innominate> alus: Someone commented about the native client
11:13 < Innominate> (also there is actually work making go integrate with
11:15 < Innominate> "nacl (Native Client, an incomplete port)."
11:15 < Innominate> from golang.org
11:15 -!- aesnxs [n=aesnxs@60-241-190-96.static.tpgi.com.au] has quit [Client
11:15 < alus> ah.  and it has an RPC implementation
11:16 < alus> that's why they mentioned it
11:16 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
11:16 -!- madhatter09 [n=wvicente@189-69-96-246.dsl.telesp.net.br] has quit [Read
error: 110 (Connection timed out)]
11:16 -!- hiromtz [n=hiromtz@] has joined #go-nuts
11:17 < Innominate> The link i pasted was just in response to the native
client being mysterious
11:17 < alus> yeah, I see
11:18 < Innominate> I'm finding it amusing watching the initial responses to
11:18 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
11:19 < Innominate> The massive pile of "go isn't like <favorite language
x> so what's the point?" is amusing as hell to me
11:19 <+danderson> it's not really amusing
11:19 < Innominate> Expected/normal?
11:20 <+danderson> especially for the go team, who have to attempt to remain
polite, when these people obviously have no idea what they're talking about
11:20 < me__> danderson: you folks are doing a great job of staying polite,
answering everybody, and reviewing code.  thanks!
11:20 < frimend> I have no clue about how Go works and if it's good or not
11:20 <+danderson> (can be seen in some threads with the "it's so simple you
must be retarded!" attitude, followed by complete silence when challenged to
actually implement the damn thing
11:21 < aho> go isn't like shōgi!  :v
11:21 < frimend> I assume that since google develops it, it has to have some
advantage that I still haven't understod.
11:21 <+danderson> frimend: don't look at it as "google develops it so it
must be awesome"
11:21 < vsmatck> My friend was telling me about a guy in a machine shop
where he used to work.  He worked an old lathe.  My friend said the guy's body was
formed to the machine.  That his back and shoulders were hunched as the machine
demanded even when he wasn't on the machine.  Some programmers are like this.
11:21 < frimend> Trying to figure out a good project to start trying it out
with, but stuck at pen/paper stage at the moment.
11:21 <+danderson> look at the language for what it is, experiment with it,
play around, see if you like it
11:22 <+danderson> and if you don't, try to qualify the reasons
11:22 -!- bquinn [n=bquinn@nat/yahoo/x-xcrvqvknnzbztgla] has joined #go-nuts
11:23 < Innominate> danderson: one fairly major question, A lot of the
publicity surrounding go has been "Google creates new programming language.", but
when looking at go, it looks more like it's a few rockstars hired by google
working on their own.  Is one more true than the other or is it some mix of both?
11:25 < kve> Innominate: media likes to use the label "Google" when they can
(well known brand compared to our rockstars ;)
11:25 < alus> danderson: yes, a large number of programmers have no idea
what they're talking about.  many languages and frameworks are born from this
weeping and gnashing of teeth
11:26 < Innominate> yea im just wondering how much it's a google project vs
how much it's a personal one
11:26 < Innominate> ooo ooo i'm one of the ones who has no idea what hes
talking about
11:26 < alus> also many broken technologies and bandaids
11:26 < alus> like the web :)
11:26 < Innominate> php.
11:26 < JBeshir> That's actually kinda an interesting question; how much
Google considers their "their thing" as opposed to a 20% project turned into an
11:26 < huf> 'nuff said.
11:27 < JBeshir> s/their "/this "/
11:27 < huf> is it free software?  yes.  so it's not theirs.  it's ours ;)
11:27 < kve> yeah, as far as I've read it seems to have Googles "thumbs up"
but it's not like they can change to new language while it's still incomplete.
They have high expectations of it as do many programmers :)
11:27 < nikki93> Guys, for some reason, it seems that 'ints' aren't
'stringable': http://codepad.org/Wkgvam01
11:28 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has quit
[Remote closed the connection]
11:28 < kve> And since it's open Google can help with the language as can
all other programmers (well, anyone.)
11:28 <+danderson> sorry, was afk
11:28 <+danderson> processing backlog with FIFO ordering
11:29 < Innominate> nikki: I'm not sure what you mean by stringable, but
look at strvonc.itoa?
11:29 <+danderson> Innominate: the internet has branded it as "omg google's
new language", but the fact is that three people got together and started
tinkering.  Then a few more joined up, and the language developed from there.
11:29 < Innominate> strconv
11:29 < JBeshir> Ah.
11:30 < JBeshir> On the bright side, "Google's new language" might mean it
gets more attention than most new languages with genuinely interesting ideas.
11:30 <+danderson> Google let them work on it, so in a sense it's google's,
but the language, and the accomplishment of releasing it, really is the work of
the go team, not a gigantic effort by google as a whole.
11:30 < Innominate> danderson: ty
11:30 < frimend> JBeshir: yes, that is what I find interesting.
11:30 < JBeshir> Er, most other new languages
11:30 < kve> another good thing about the google brand is that it's much
easier to find things related to "Google Go" than Go
11:30 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
11:31 < JBeshir> danderson: Thanks, that's what I was wondering about.
11:31 < yiyus> JBeshir: just compare the impact of Go after some days and
Limbo after some years
11:31 < JBeshir> It's not a good/bad thing either way, but it's kinda
11:31 < me__> yiyus: :(
11:31 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
11:31 <+danderson> alus: my statement was a little unclear.  But basically,
it's clear that not all the people on the list should be allowed to have an
opinion on language design
11:31 < yiyus> me__: indeed
11:31 < Innominate> kve: didn't you hear Go! is it's own language!  never
mind that it's only ever been described in a self-published book and some
unavailable academic papers.
11:31 <+danderson> since they've clearly never tried and witnessed how
features interact with each other when you actually try to do it.
11:32 < JBeshir> Go actually deserves the attention, in my view, because
unlike most other new languages, it's designed with practical considerations
instead of cool concept in mind.
11:32 * alus coughs "HTML+CSS+JS"
11:32 < me__> yiyus: i like limbo a lot, even, actually more than go so far.
but i know it better, so...
11:32 < JBeshir> :P
11:32 <+danderson> it's fine to say "I like this" or "maybe we could try
something like that"
11:32 < kve> Innominate: yeah I'm aware of it, as the fact that it's a well
known boardgame and a pretty damn used word in english language ^^
11:32 < Innominate> Virtually everyone professing to have an opinion about
language design is simply stealing something form the language they know
11:32 <+danderson> but going "You're all idiots unless you implement
non-nullable pointers now, because it's completely trivial" without grasping the
implications for the rest of the language
11:32 <+danderson> it causes bozo bits to get flipped.
11:32 < nbaum> danderson: Hang on, you're being serious?
11:32 < Innominate> Actual language design is one of the hardest problems in
11:33 <+danderson> nbaum: about what?
11:33 < JBeshir> I need to subscribe to that list; firstly, it's
interesting, and secondly, I've been invited to toss the x86_64 memory
(accounting?) bug discussion there, and it seems the best bet for fixing it,
whether it's a Linux bug or a Go one.
11:33 <+danderson> I should maybe point out at this stage that the opinions
I express here are my own
11:33 <+danderson> I don't speak for the folks on the go team actually doing
the work, or for google
11:34 <+danderson> just myself.
11:34 < nbaum> danderson: The bit about certain people not being "allowed to
have an opinion on language design".
11:34 < alus> danderson: we had the same problem with BitTorrent.  the
answer that worked well for us was to shut off the public developer list
11:34 < kve> danderson: bear with it and just remember that there are lots
of people who have high expectations from the language :) Just hoping that
everyone who can help with the language will do so instead of lurking around in
11:34 < Innominate> nbaum: Thats definitely true.
11:34 <+danderson> nbaum: I guess I'm not phrasing things right.  Of course,
everyone is entitled to an opinion.  But not everyone should expect their opinion
to be taken seriously.
11:35 < nbaum> danderson: That's exactly fine.
11:35 < Innominate> nbaum: I can write decent code in several languages, i
like to think im a semi-competent programmer.  I don't know enough about language
design to have any opinion.
11:35 <+danderson> in programming language design especially, because it's a
hard problem where everything interacts with everything else
11:35 < JBeshir> Hmm.
11:35 < JBeshir> 339 emails a day.  Ow.
11:36 < Innominate> There's an awful lot of people who think that because
they took java classes in high school that they have a good opinion
11:36 < nbaum> Many of the responses to "why doesn't Go have nullable types"
I see on the mailing list are of the form "you are not allowed to express your
opinion until you've used Go for several years".
11:36 <+danderson> so just because you really like generics in, say, java,
doesn't mean your opinion that "It's really easy to implement generics in Go, just
do what Java does" is actually sane.
11:36 < nbaum> Often from people who haven't done that themselves.
11:36 < me__> did comp.lang.limbo ever get 339 emails in a whole month?
11:36 < JBeshir> me__: I don't even know what Limbo is.  :P
11:36 < JBeshir> Well, aside from in here.
11:37 <+danderson> nbaum: I think that's an exageration.  But I agree with
the general gist of the message: don't judge/try to change the language purely
after reading the specs.  You need to use it a bit to see how the features
interact in actual programs.
11:37 < JBeshir> Grah.
11:37 <+danderson> Unless you happen to be a brilliant programming language
designer, with a lot of experience with language design, and can immediately fully
understand a language just by staring at the spec.
11:38 < me__> JBeshir: limbo was/is the systems programming language for
Inferno, a successor of sorts to Plan 9.  the language runs in a VM (dis), but has
a lot of similarities with Go.
11:38 <+danderson> which, frankly, I don't think is a lot of the people
posting right now :(
11:38 < me__> same channel primitives, very similar syntax even.
11:38 <+danderson> on the good side, there has been some healthy debate, and
some very interesting proposals.
11:38 < nbaum> danderson: It's not, sadly.  Many of the people suggesting
changes have clearly used the language.  Some of the people responding are
essentially saying "but you haven't used it _enough_ or else you wouldn't be
suggesting this change".
11:38 < Innominate> So what you're saying is that go is years of work built
upon many more years of work?
11:39 < nbaum> danderson: The people who don't think like that are probably
not responding to people making reasoned arguments, since they don't feel the need
to shoot down anybody expressing a different opinion.
11:39 <+danderson> nbaum: which may or may not be true.  I'm currently
learning Haskell, and for a long time things didn't make sense, because I was
trying to write Python code in haskell
11:39 < Innominate> Go needs pointers like C, the lack of pointers like
java, and ponies.
11:39 <+danderson> it took time before I started writing idiomatic haskell,
and understanding why things are the way they are
11:40 <+danderson> some complaints about go may be rooted in the same
problem.  If you write C in Go, you're probably missing out on Go, and will find
it strange.
11:40 < nbaum> They _may_ be.
11:40 < Innominate> You can find that problem in any situation of someone
learning a new language
11:41 <+danderson> sure.  I'm saying that it's not black and white, in
either direction.
11:41 < JBeshir> I'm trying to get beyond that myself, learn the idioms of
11:41 < Innominate> People try and to tasks in the same idioms theyknow
11:41 < JBeshir> Coding C++ and Python side by side is really annoying,
actually, for that reason.
11:41 < nbaum> But I trust that the Go developers can tell if somebody is
just demanding that Go be more like Java because they like Java, and not because
they have a good idea about something which bares a resemblance to Java.
11:41 <+danderson> just as you can't have an opinion on certain things
without using the language for a while, you don't have to use it for years before
being allowed to have an opinion.
11:41 < me__> hmm, its been a week since the public release, no?
11:42 < Innominate> And one of the easiest criticisms of everything plan9 is
that a lot of otherwise simple tasks were replaced with relatively complex(yet
still simple) idioms
11:42 <+danderson> nbaum: so far, the interactions I've seen on the list
from the Go developers are like that, yes.
11:42 <+danderson> any idea is considered, but many are not feasible for
various reasons
11:42 < Innominate> Instead of having a direct way to do something, you come
up with an system that turns a common function into a relatively simple idiom
11:43 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
11:43 < JBeshir> I have an instinctive "eurgh" reaction to the runtime check
proposal for generics.
11:44 < JBeshir> I hate them for debugging/safety/testing purposes.
11:44 < Innominate> Is there a thread on the mailing list for why we can't
add methods to other packages?
11:44 < nbaum> danderson: Right.  It seems to me that it isn't the Go
developers that are most certain that Go is already a perfect jewel.  They
explicitly acknowledge that it isn't.
11:44 < me__> nbaum: "// NOT FOR PRODUCTION " :)
11:45 < Innominate> For all of go's supposed string processing i find it
annoying as hell that adding new string methods actually requires a new type
11:45 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has joined #go-nuts
11:45 <+danderson> nbaum: sure, and that's completely fine.  The language is
very likely to change in various ways, given the right people to make it happen.
11:46 <+danderson> but the way to make it happen is not to go "omg you're
idiots why are you not doing this?"
11:46 <+danderson> which is what most threads sadly end up being right now
(for major language features at least)
11:46 < Innominate> nbaum: haha good point, "hey guys here's a brand new
language" response: "What?  it's a new language why are you wasting your time?!"
11:46 -!- nigwil [n=chatzill@ppp59-167-87-232.lns20.hba1.internode.on.net] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
11:47 <+danderson> the right way would be "here is a proposal for feature X,
here are the semantics, and here is what some representative piece of the stdlib
would look like if it were to use this language feature."
11:47 <+danderson> with that, you can start having a sensible discussion
about the feature, poke at edge cases, prototype the change into the compiler and
see how it behaves...
11:47 < Innominate> danderson: but it's far easier to shit on something than
it is to actually contribute, and programming languages an order of magnitude more
11:48 <+danderson> but, sadly, that's actual hard work, so the barrier is
higher than just going "omg you're idiots you should do this right now it's easy"
11:49 < p4p4> hello, how do i clear a bytes.Buffer ? i read something into
it, and now i want to clear it, but keep the allocated buffer, (like str[0]=0; in
11:49 < kve> and there will always be 98% nonsense on open discussion
(tagging the language with Google brand guarantees that) but you can
11:49 < kve> *cant focus on those
11:50 -!- PaulWay [n=paulway@ppp121-45-193-58.lns20.cbr1.internode.on.net] has
joined #go-nuts
11:50 < kve> without the Google you'd get much less attention, both good and
11:50 < PaulWay> Hi all!
11:51 < Innominate> Hullo
11:51 < me__> hi
11:51 < PaulWay> Ah, stupid me, I've just realised I was trying to compile
for 64-bit mode when I'm not running in 64-bit mode.
11:52 < s_mosher> you know I've only found two criticisms of the language
(that haven't been already brought up by the go team) which still seem like issues
to me
11:52 <+danderson> what are those?
11:52 < nbaum> s_mosher: Hmm.  Do you consider the "already brought up" ones
to include exceptions and generics?
11:52 <+danderson> (I don't have the required experience to have an
interesting opinion on much in Go, I'm just curious)
11:52 < vegai> p4p4: Reset and Truncate deallocate it, do they?
11:53 < s_mosher> one is changing something private to public or vice-versa
requires find/replace (I'm not too worried about this one)
11:53 < PaulWay> I'm all with Go on exceptions.
11:53 < Innominate> Can someone explain to me the practical difference
between exceptions and checking for error results from called functions?
11:53 < vegai> s_mosher: sed oneliner?
11:53 <+danderson> Innominate: boilerplate, mostly.
11:54 < JBeshir> In Go, yeah.
11:54 <+danderson> with return codes, at each level of the stack you have to
have a check that propagates the error upwards
11:54 < s_mosher> the other is providing a buffered channel to a routine
that expects to sync up on it
11:54 < Innominate> danderson: With all of the "BUT..  EXCEPTIONS" crap, it
can't be that simple can it?
11:54 < JBeshir> Languages with only one return value have a harder time.
11:54 < nbaum> vegai: Not if the same name occurs in different contexts.
11:54 < JBeshir> But Go isn't one of those.
11:54 <+danderson> with exceptions, control jumps straight to the first
point able to handle the problem.
11:54 < s_mosher> which is probably only going to affect people who are
doing the wrong thing
11:54 < Innominate> ahh
11:54 < JBeshir> Hmm.
11:54 < p4p4> vegai: i don't want to deallocate /allocate for every new line
i read makes that sense ?
11:54 < JBeshir> Would Go's method also be faster?
11:54 < JBeshir> I seem to recall something about exceptions being slow.
11:55 < exDM69> Innominate: some languages have exceptions with
continuations, a function where to continue after the error has been
11:55 <+danderson> but exceptions are hairy in the sense that they change a
lot of things in a language
11:55 < nbaum> vegai: But you will be able to do it with automated tools.
11:55 < me__> 'being slow' / 'being fast' are hard to say.  they do require
11:55 <+danderson> and you have to consider interaction with other features
11:55 <+danderson> for example, what happens if you get an uncaught
exception in a goroutine?
11:55 < nbaum> JBeshir: I'm more interested in programmer time than CPU
11:55 < Innominate> so uh the point of exceptioins is to be able to write
code that doesn't care about errors because you can trust some higher functiojn to
handle them?  Or am i missing something?
11:55 < JBeshir> nbaum: I know; twas mere idle thought.
11:56 <+danderson> does the program terminate?  Does the goroutine
terminate?  Do channels used by that goroutine get poisoned, so that the failure
propagates to cooperating goroutines?  etc.
11:56 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined
11:56 < PaulWay> Yeah, because everyone writes code that checks every
possible error of all of its subroutines...
11:56 < JBeshir> Exceptions are problematic as a user because they require
me be aware of all of them that a function can throw at all levels.
11:56 < me__> danderson: the failure propagates to nearby computers :)
11:56 < PaulWay> That's why exceptions suck.
11:56 < JBeshir> Sure, my function might not have to handle them, but I need
to remember that this means it, too, can throw that exception upwards.
11:56 < nbaum> PaulWay: Curiously, I think that's why error codes suck.
11:56 < s_mosher> poisoning channels would alter the notion of what a
channel can be used for
11:56 < JBeshir> So someone up the chain has to worry about it.
11:57 < JBeshir> Additional return values make this explicit.
11:57 < PaulWay> The way I see it, exceptions just make that laziness an
allowed thing in the language.
11:57 < nbaum> Exceptions should be throwable up channels, but only
11:57 < s_mosher> that might not be a bad thing but it's scary
11:57 < nbaum> PaulWay: Good.  I want to be lazy.
11:57 < Innominate> ok a slightly different question, in what way are
exceptions different from explicit multiple returns?
11:57 < PaulWay> By specifically saying 'no, we don't do exceptions, do your
own error handling' Go at least points out that that's false laziness.
11:57 < JBeshir> Innominate: They're less visible.
11:57 <+danderson> so, see, the number of suggestions and different
ideas/problems evoked in the past minute along are all things that have to be
resolved before exceptions can be added to Go :)
11:58 < JBeshir> Which has both good and bad parts.
11:58 < JBeshir> The good part is, less messy checks at each level to pass
it up.
11:58 < JBeshir> The bad part is, no visible checks at each level to pass it
11:58 <+danderson> that's why the go team punted on exceptions for the first
release, because it's a hairy problem and they had lots of other hairy problems to
sort out first
11:58 < Innominate> So uh would it be fair to say that that is little
practical difference between exceptions and multiple returns?
11:58 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
11:58 <+danderson> it'll be inteesting to see what ends up happening with
11:58 < nbaum> Innominate: I don't so.
11:58 < JBeshir> Well, exceptions have lots more to them.
11:59 <+danderson> Innominate: not quite, because all functions up the call
stack then need boilerplate to propagate unhandled errors upwards
11:59 <+danderson> it's basically the infrastructure you get "for free" with
exceptions (it's not free, but it's in the language runtime)
11:59 < nbaum> The principle difference is whether every piece of code
between "where the error occurs" and "where the error is handled" needs to know
that the error might occur.
11:59 < JBeshir> On the other hand, with exceptions, all the users of the
functions all the way up the call stack needs to be aware that they are throwing
up/need to catch said exception.
11:59 < nbaum> Exceptions are, in my experience, a Big Win when you have
higher-order functions.
11:59 < PaulWay> Innominate: multiple returns can be used for exception
handling but they're far from being the same as.
12:00 < JBeshir> I find that harder than Go's explicit passing, as a
language user.
12:00 < Innominate> Ahh ok
12:00 < sergio> kfx, thanks for the pdf :)
12:00 < JBeshir> Exceptions are one of those easy to use, hard to use safely
12:00 < JBeshir> IMHO.
12:00 < Innominate> So exceptions are basicallyh an automatic way pass the
error down the call stack?
12:00 <+danderson> it annoys me that I don't have the language design
experience to have a Real Opinion(tm) (ie.  one that is actually feasible to
12:00 < Innominate> So exceptions are basicallyh an automatic way to pass
the error down the call stack?
12:00 <+danderson> that said, from an amateur perspective, I really liked
Common Lisp's take on exceptions
12:00 -!- RayNbow [i=kirika@scientia.demon.nl] has joined #go-nuts
12:00 < nbaum> danderson: Agreed.  CL does them very well.
12:01 < PaulWay> Innominate: Yes.
12:01 < me__> danderson: familiar with plan9's waserror() bits?
12:01 <+danderson> splitting the flow into conditions, handlers *and*
restarts, rather than forcing the restart to happen at the handler level, is
terribly cool imho.
12:01 < Innominate> woop, today i know a little bit more heh
12:01 < PaulWay> I like the observation that exceptions implement Intercal's
"COME FROM" semantics.
12:01 <+danderson> me__: nope, what are those?
12:01 < JBeshir> PaulWay: That was amusing, haha.
12:01 < Innominate> paul: got a link to it?
12:02 < me__> in the plan9 kernel, there is a form of 'exceptions',
implemented purely with setjmp/longjmp.
12:02 <+danderson> Plan9 is another one of those things that looks awesome,
and if only I had a machine to slow down time, I would check it out
12:02 < nikki93> danderson: If you slowed down time, it'd take longer to
download/bootup etc.  (relative to you).
12:02 < Innominate> plan9 is an entirely approriate name though
12:03 <+danderson> nikki93: I mean slow down time in the classic sci-fi
sense.  Slow down the world around be but not myself.
12:03 < me__> there is an error stack (a stack of strings) off to the side
in the Mach (think go's M) structure.  when you perform an operation that fails,
it calls error()
12:03 < vegai> life's too short for shitty operating systems
12:03 < frimend> danderson: clone yourself.
12:03 <+danderson> sadly, my unicorn has run out of magic rainbows for now,
so I have to deal with reality instead.
12:03 < nikki93> danderson: Yeah, so it'll still take longer to
bootup/download.  :P
12:03 < vegai> (it's too short for good ones too, but that's another thing)
12:04 < me__> the person up the callstack who wished to catch it did
if(waserror()), which had setup a jmp_buf, they can read the error and pop it off
the stack if they handled it.
12:04 <+danderson> hmm
12:04 < nbaum> plan9 has lots of very interesting ideas, but it find it to
be unusable in practical terms.
12:04 -!- penguin42 [n=dg@tu006.demon.co.uk] has joined #go-nuts
12:04 < Innominate> i wish more programming languages used magic rainbows
12:04 < frimend> Now, what we need is subroutines that can resolve errors
12:05 < nbaum> Which is a shame.
12:05 < nikki93> nbaum: Interesting ideas are like that.  ;)
12:05 <+danderson> so when error() is called, you get a longjmp to the
closest if(waserror()), which can choose to handle it or leave it unhandled?
12:05 < frimend> So that they don't have to throw exceptions.
12:05 < nikki93> nbaum: Heard of 'lisp'?  :D
12:05 <+danderson> I think I'm not quite understanding it.
12:05 < me__> danderson: that's correct.
12:05 <+danderson> me__: and if the handler leaves it unhandled, the error
propagates to the next if(waserror()) ? That's the bit I'm confused about.
12:05 < nbaum> nikki93: It's not really the interesting ideas that are the
problem.  Or, at least, the ideas I consider interesting.  I think the plan9 GUI
is broken.  And I am proficient in, and enjoy using, Common Lisp.  ;-)
12:05 -!- gmurphy [n=gmurphy@203-206-248-145.dyn.iinet.net.au] has left #go-nuts
12:06 < nikki93> nbaum: :P
12:06 < nikki93> nbaum: Yeah the GUI is messed up.
12:06 < PaulWay> Anyway, I'm a newbie with go and I'm no expert, so I'm
going go to bed.
12:06 -!- PaulWay [n=paulway@ppp121-45-193-58.lns20.cbr1.internode.on.net] has
left #go-nuts ["Argh!  The Ninjas have struck again!"]
12:06 <+danderson> I was under the impression that setjmp/longjmp was a
one-bullet thing, where a second setjmp() overrides a previous one.  Am I wrong?
12:06 < asmo> nikki93: In what sense i Plan9's GUI messed up?
12:06 <+danderson> (see how much I haven't used setjmp/longjmp before :)
12:06 < nikki93> danderson: Yes you are.  :)
12:06 < asmo> i / is
12:06 < me__> no, you setjmp/longjmp on jmp_buf structures, you can have
12:06 < nikki93> asmo: I can't figure it out.  xD
12:07 <+danderson> ah, in that case, shiny.
12:07 < me__> yep, its the simplest implementation of exceptions i know of.
12:07 <+danderson> is the jmp_buf thing specific to the plan9
implementation, or is it somehow an amazing feature of set/longjmp that I managed
to miss all these years?
12:07 < nsz> me__: are you sure?
12:07 < nbaum> danderson: You managed to miss it.
12:07 < me__> no, its a standard thing.
12:07 < nikki93> danderson: Second option.
12:07 < jessta> asmo: I once went in search of a three button mouse to use
with plan9, I couldn't buy one anywher
12:07 * nsz checks the standard
12:07 <+danderson> well, damn
12:07 < nikki93> lol
12:07 < me__> nsz: hm?
12:07 <+danderson> me__: thank you, I've learned something today.
12:08 < me__> danderson: welcome.  its funny, i think rob pike is
responsible for it...
12:08 < nsz> i have different memories about setjmp..
12:08 < nbaum> It _is_ horrible.
12:09 < asmo> I have never used Plan9, but at least it has a GUI, most
research OS's don't.
12:09 < nbaum> Except ones which are researching GUIs.  ;-)
12:09 < vegai> it was pretty much on par with X11 window managers when it
was developed
12:09 < Innominate> A lot of them dont manage that much nbaum
12:10 < vegai> and then stayed there while everyone else moved on
12:10 < Innominate> Screenshots of plan9(which ive never used) reminds of
window managers like ratpoison
12:10 <+danderson> ah, I think I know where my misconceptions about longjmp
come from
12:10 < nbaum> 'Tis a shame.  I enjoy that the window manager follows the
"everything is a file" policy.
12:10 -!- p4p4_ [n=pedro@] has joined #go-nuts
12:10 < me__> danderson: hm?
12:10 <+danderson> they come from Lua, where unhandled errors in the lua
code longjmp out of the VM back into C code
12:11 < Innominate> I like the everything is a file policy, it's easy as
hell to program for and deal with
12:11 < asmo> I'm more interested in Singularity than Plan9, though.
12:11 <+danderson> and the VM only allows for one setjmp/longjmp pair, which
makes some cases hard to handle right
12:11 < me__> asmo: singularity is mostly dead.
12:11 < F1sh> Blit was designed before X11 happened
12:11 < vegai> Innominate: ratpoison is much better than plan9 wm
12:11 < me__> asmo: nearly the whole team has moved onto Midori.
12:11 <+danderson> from that I seem to have derived the cargo cult that
setjmp/longjmp was not reentrant.
12:11 < nbaum> The web browser?
12:11 < asmo> oh, when did that happen?
12:11 < jessta> me__: isn't that the same thing?
12:12 < nbaum> danderson: It isn't exactly reentrant.
12:12 <+danderson> yeah, no, wrong term.
12:12 < F1sh> 1982
12:12 < jessta> me__: midori is just a production version of sugularity
12:12 * danderson fetches more caffeine.
12:12 < asmo> jessta: Singularity is a research OS, Midori is not I believe
12:12 < Innominate> vegai: given the amount of time iun between i'd sure
hope so
12:12 < nikki93> Any easy way to do reentrant preemptive functions in Go?
12:12 < nikki93> Like
12:12 < me__> jessta: iirc they started over.  they are in straight C#, not
sing# or spec#.
12:13 < nikki93> Within a function: while(doorIsOpen())
12:13 < nikki93> (in a function that gets called per frame in a game)
12:13 < JBeshir> nikki93: Goroutines?
12:13 < nbaum> danderson: If the call stack is foo -> bar -> baz, you
don't usualy want to longjmp into foo and then into bar.
12:13 < nikki93> So basically, it must keep returning from that point, and
then continue from there.
12:13 < Innominate> i love the everything as a file concept
12:13 < nikki93> JBeshir: Really?  Because here it's a different case.  The
function gets called multiple times.
12:13 < nikki93> JBeshir: Kinda like a generator perhaps.
12:13 < JBeshir> Hmm.
12:14 < madmoose> nikki93: Make it wait on channel?
12:14 < JBeshir> Maybe someone cleverer can come up with a better way to map
it into Go constructs.
12:14 < JBeshir> "Everything is a *" is awesome in general.
12:14 < asmo> nikki93: I'm not even sure what you are trying to do?
12:14 <+danderson> nbaum: right.  What I meant to say above was that I
thought that setjmp/longjmp were no-argument functions that twiddled some global
saved stack frame state
12:14 < JBeshir> Solid abstractions are useful.
12:14 < nikki93> Ok well, in my games back in C++, you have this.
12:14 <+danderson> which is clearly completely wrong, but I somehow never
ended up on the man page that plainly shows this.
12:15 -!- p4p4 [n=pedro@] has quit [Connection timed
12:15 < nikki93> perFrame(float deltaTime) { for obj in worldObjs {
obj->update(deltaTime); } } //A heavily oversimplified version but yeah
12:15 < nikki93> Then within objects I usually have a statemachine, and then
defer the update call to the current state (if it's a complex object, simple ones
like barrels usually just handle themselves in a simpler manner).
12:15 <+danderson> and on that note, how about I go do some actual work :)
12:15 < me__> good luck!
12:16 < sladegen> danderson: i think you would have to implement few
exception handlings in some language before you could say you understood
set/longjpm...  ,-}
12:16 < nikki93> Now, what I've been thinking of doing is, something like
the generator 'yield'.  which will return from update, but continue from the point
next time.
12:16 < madmoose> nikki93: If all your scripts are go-routines, the
wait-function can register the routine as paused and then wait on a channel.  The
next frame you can wake it up be sending something on the channel.
12:16 -!- JPascal [n=jpascal@] has joined #go-nuts
12:16 < nsz> put in a channel what you want to return
12:16 < nikki93> So, some object's update method: Door::update() {
while(playerIsInway()) wait; close(); }
12:17 < nikki93> Or something.
12:17 < asmo> nikki93: you need to update function of the object to be a go
routine, in that case
12:17 < JPascal> Hello all!  )
12:18 < nikki93> I see.
12:18 < asmo> to / the, that is
12:18 < nikki93> But, I want the object to handle it's own conditions,
'upper' things don't even know whether it waits, they just call a normal function.
12:18 < nsz> upper things?
12:18 < JBeshir> What is it doing for them when it calls them?
12:19 < nikki93> So, timed events like: while (time < 5) { time +=
deltaTime; yield; } close(); //closes after 5 seconds
12:19 < madmoose> nikki93: Then your update function would be some fancy
wrapper for the go-routine.
12:19 -!- aanishn [n=quassel@] has joined #go-nuts
12:19 < nikki93> nsz: Yeah, the 'GameObjectManager', tells GameObjects about
12:19 < nikki93> madmoose: Yeah I guess.
12:19 < JBeshir> madmoose seems to have it.
12:19 < nsz> through channels..
12:19 < asmo> nikki93: Do you realize what a mess you are getting your self
12:19 < nikki93> asmo: :P
12:19 < nsz> events come from channels
12:19 < nsz> not func calls
12:19 < nsz> so you can select on the events
12:20 < madmoose> asmo: Why is this a mess?
12:20 < asmo> nikki93: Multithreading a game engine using one thread per
module (physics, net, rendering etc.) is hard enough; you are basically trying to
thread every single object?
12:20 < nsz> look up cooperative multitasking in game programming
12:20 < nsz> most likely used a lot in lua etc
12:20 < madmoose> asmo: That's how most game scripts work.
12:20 < nikki93> asmo: Not really.
12:20 < nikki93> asmo: I don't want to OS-thread all objects.
12:20 < asmo> madmoose: No
12:20 < Innominate> madmoose: no it isn't
12:21 < nikki93> asmo: This is an 'internal to the application' thread.
12:21 < nikki93> asmo: It's not threading anyway.
12:21 < nsz> this is a common technique
12:21 < nsz> using coroutines
12:21 < Innominate> Trying to multi thread every object gets you either
"slow as fuck" or "eve online"
12:21 < JPascal> Who used template package?
12:21 < me__> there's a single slide of a presentation you should look at:
12:21 -!- shambler [n=sil@] has joined #go-nuts
12:21 < asmo> madmoose: I'v never seen an implementation like that
12:21 < nikki93> Yeah, most games work in this way: oneLoop() { for obj in
objs { obj->update(); } } ....  Player::update() { if (someKeyDown()) move(); }
...  etc.
12:21 < Innominate> by "eve online" i mean "slow as fuck" with major long
term maintainance issues
12:21 < nsz> asmo: you haven't looked hard enough
12:22 < madmoose> It's what Maniac Mansion did in '87 with its built-in
script language SCUMM.
12:22 < asmo> nsz: Well, I'v looked quite hard
12:22 < nikki93> They do it frequently with stackless python.
12:22 < nikki93> I use Python as a scripting language in games.
12:22 < madmoose> and every LucasArts adventure game since then...
12:22 < nsz> asmo:
12:22 < me__> http://swtch.com/~rsc/talks/threads07/ is more fun.
12:23 < me__> specifically 'Threads or Events?'
12:23 < Innominate> madmoose: I dont think they massively multithreaded like
12:23 < me__> its like 20-slides in.
12:23 < nikki93> This is not multithreading in the OS-style.
12:23 < nikki93> It's threading within your app.
12:23 < me__> no, i lie.  its 5 slides in.  :)
12:23 < nikki93> Who talked about threads anyway?  We're talking about
'pause-continue' functions.  :P
12:23 < Innominate> nikki: Yea but i dont think that the summvm games did
12:23 < madmoose> Innominate: It's not necessarily "massive".  It's just a
script per object.
12:23 -!- aanishn [n=quassel@] has quit [Remote closed the
12:23 < Innominate> A script per object is a HUGE difference from a thread
per objectr
12:24 < JBeshir> The obvious solution is to simply use a stored state of the
function in the object somewhere
12:24 < JBeshir> And use "if" to determine where it should "resume".
12:24 < Innominate> It's like comparing cars parked in a garage vs cards
going through an intersection
12:24 < asmo> nsz: That's not what I ment
12:24 < Innominate> cars...
12:24 < s_mosher> nikki93, why not request an event check (from something
that knows) with a receive channel and just block on receive from that channel?
12:24 < madmoose> Innominate: Not if your "threads" are light weight, like,
oh I don't know, goroutines.
12:24 < Innominate> True
12:24 < Innominate> Thats where go and stackless come into being
12:24 -!- rares [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has joined #go-nuts
12:25 < nbaum> I believe the Unreal engine uses a lightweight "thread" per
12:25 < sladegen> continuations were invented in the 1970's...
12:25 < nikki93> Almost all games do really
12:25 < Innominate> But that's a LONNNNNNNG way from anything scummvm did
12:25 < nikki93> They just iterate through all objects, call their 'tick'
method.  This is a usual way of doing things.
12:25 < madmoose> Not really that long.
12:25 < Innominate> Yes it is
12:25 < asmo> Most games do not use one thread per game object
12:25 < madmoose> Isn't.
12:26 -!- hiromtz_ [n=hiromtz@p1076-ipad202kyoto.kyoto.ocn.ne.jp] has joined
12:26 < nsz> continuations are not coroutines
12:26 < Innominate> Per item scripts that respond to events
12:26 -!- hiromtz [n=hiromtz@] has quit [Read error: 145 (Connection
timed out)]
12:26 < nikki93> Ok clear: What are we talking about when we say 'thread'?
12:26 < nsz> though they can be used to implement coroutines..
12:26 < Innominate> is a LOT different from per item scripts running
12:26 < asmo> nikki93: Indeed, which is not the same thing as one thread per
object running concurrently
12:26 < nikki93> asmo: Which is also not waht I said.
12:26 < asmo> nikki93: Concurrency
12:26 < nikki93> asmo: I was talking about function preemption.
12:26 < nikki93> Pfft.  :P
12:26 < sladegen> nsz: same difference.
12:27 < Innominate> Old muds had items with scripts attached to them that
could run "independently" of the rest of the game when someone activated them
12:27 < asmo> nikki93: Ok, thats something else (:
12:27 < nikki93> Damn you guys.
12:27 < Innominate> That is far far different from what goroutines do
12:27 < nikki93> You wasted 20 minutes of my life!  D: :P
12:27 < asmo> I did?
12:27 < nikki93> So...  Any google people here?
12:27 < nikki93> asmo: Kinda.
12:28 < nsz> nikki93: you are talking gibberish
12:28 < s_mosher> nikki93, I don't think you can really preempt the way you
want to.  but I don't think you need to.  what's wrong with just blocking instead?
it's almost the same effect isn't it?
12:28 < nikki93> nsz: sorry.  :(
12:28 < Innominate> i use googel does that make me a google person?
12:28 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
12:28 < asmo> nikki93: If you believe I wasted your time, I'm sorry, but at
least your learned something quite basic
12:28 < madmoose> Instead of running each script sequentially you just stuff
each script in a goroutine, make them wait in a channel and tick them once each
12:28 < nikki93> s_mosher: Yeah but this is cool.
12:28 < nikki93> asmo: Hey I was just joking.  Sure I learnt stuff.
12:29 < s_mosher> I like not having to yield
12:29 -!- BleSS [n=quassel@] has joined #go-nuts
12:29 < s_mosher> "if you need to stop, sit on an unbuffered channel" pretty
much takes care of yield
12:29 < madmoose> In the go presentation, didn't he run 100000 goroutines in
about a second or two?
12:30 < Innominate> yes
12:30 < Innominate> Goroutines don't add much to overall cpu usage
12:30 <+danderson> yes, however there is overhead to running and switching
12:30 <+danderson> so if you're really doing zero work in a goroutine, the
creation/channel chatter/teardown overhead is going to dominate actual computation
12:30 < Innominate> (But 100,000 goroutines is not a good idea)
12:31 < JBeshir> A few KB a thread is significant for some uses,
particularly a thread an object where objects are actually significantly smaller
than that.
12:31 < JBeshir> And that's the initial size of the stack for a goroutine,
if I recall half-right.
12:31 < madmoose> 4K, I believe.
12:32 < tokuhiro_______> hmm...  I get len(os.Args) is always 9.  Is this
the spec?
12:33 < sladegen> tokuhiro_______: perhaps slice is always that length...
capacity may be bigger...
12:33 * sladegen shrugs.
12:34 < Innominate> thatd be cap() not len(0
12:35 < sladegen> just making uneducated guess.
12:35 < sladegen> cute bugger
12:35 < s_mosher> tokuhiro_______, are you maybe calling from a shell script
that explicitly quotes each argument?
12:35 -!- triplez [n=triplez@bb116-14-33-112.singnet.com.sg] has quit [Read error:
110 (Connection timed out)]
12:36 < tokuhiro_______> ah,
12:36 -!- rares [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has quit
12:36 < tokuhiro_______> s_mosher: sorry!  It's my fucking go-runner's bug
...  orz.
12:38 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
12:38 < madmoose> As an aside, my favorite VM-based game has to be Another
World, which consists entirely of 32 operations and some vector graphics
12:38 -!- lux` [n=lux@] has joined #go-nuts
12:38 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Read error: 113 (No route to host)]
12:40 -!- BleSS [n=quassel@] has left #go-nuts
["http://quassel-irc.org - Chat comfortably.  Anywhere."]
12:40 < sladegen> madmoose: that one?
12:41 < madmoose> sladegen: Yes.
12:41 < sladegen> it had nice vecto graphics
12:41 < sladegen> vector*
12:41 < madmoose> sladegen: http://www.megidish.net/awjs/ :)
12:42 < Innominate> I honestly dont know how you can speak of god vm based
games without either coming up with sierra or lucas
12:43 < sladegen> like killing bwowsers much ;( heh
12:43 < madmoose> Innominate: I did mention lucasfilm/arts a while back :P
12:43 < mpl> another world was brilliant.
12:43 < mpl> the whole system of having several operations with one gun was
12:45 < Innominate> How does that work out?
12:45 < sladegen> old fartz!
12:45 < madmoose> Innominate: Never really cared for Sierra adventure games
which is why I didn't mention it.
12:45 < Innominate> madmoose: Two worse.  Space.  Quest.
12:46 < Innominate> Words...
12:46 < mpl> Innominate: one press and it shoots a laser, hold it for 1 sec
and release and it creates a shield in front of you
12:46 < mpl> Innominate: hold it for 2 secs and it creates a massive
discharge to destroy an oponenent shield
12:47 < mpl> so you had to balance between creating the right amount of
shields while destroying the others shields when you had several oponents
12:47 < mpl> you had to time it right.
12:47 < Innominate> but you can't win buckazoids with a laser!
12:48 < mpl> bah call it however you want "shiny projectile"
12:48 < madmoose> Innominate: The worst parts of Monkey Island were better
than the best parts of any Space Quest :P
12:50 < Innominate> So what you're saying is that monkey island was better
than a game that came out 4 years before?
12:50 < Innominate> The vga remake of sq was way better meh
12:51 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has joined #go-nuts
12:53 < XniX23> guys in what package i get alleggl.h?
12:55 < madmoose> What's this?  On-topic chat?  :P
12:55 < mpl> sladegen: 13:46 < sladegen> old fartz!  <-- Me?
12:57 < sladegen> anybody who remembers games from early 1990's
12:58 < mpl> ffs, I'm only 27.
12:58 < XniX23> im 21 and i already feel old
12:58 < madmoose> I learned English playing Maniac Mansion on the C64.
12:58 < sladegen> mpl: oh, come, i can sell you a pinch of humour for $.02
12:59 < mpl> sladegen: you don't joke with that.  video games is serious
business!  ;)
13:00 < sladegen> i personally haven't played much (perhaps that's why i'm
not developer) only civilization captivated me and some rogues.
13:00 < madmoose> Yesterday I played Bruce Lee in VICE.
13:01 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
13:04 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
13:05 -!- gpurrenhage [n=gpurrenh@] has joined #go-nuts
13:09 < JPascal> Hello again.  I try using template package.  When i do
Execute, I recive error "line 20: name not found: debug".  :(
13:10 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-ujeybvrzoompcjyh] has joined
13:11 < JPascal> templ := template.MustParse(templateStr, fmap); fmap
contain "debug" value...
13:11 < dho> me__: pingpingpingpnigping
13:12 < me__> dho: pongpongpong
13:12 < dho> me__: did you get my email
13:12 < me__> got your message, thanks for the invite!
13:12 < me__> DC BSD group looks interesting.
13:12 -!- raichoo [n=raichoo@] has joined #go-nuts
13:12 < dho> well
13:12 < me__> i won't be able to make it today, though, sadly.
13:12 < dho> large majority of us work around columbia
13:12 < dho> too bad
13:12 < me__> oh, that's even nicer
13:13 < dho> we're last thursday of every month
13:13 < dho> except this one obviously
13:13 < me__> got it.  and next one as well?
13:13 < dho> uhhh
13:13 < dho> probably play it by ear
13:13 -!- loureiro [n=loureiro@] has joined #go-nuts
13:13 < dho> so do you live in balto?
13:14 < me__> yep.
13:14 < me__> you're in columbia?
13:14 -!- asmo [n=asmo@c83-248-96-173.bredband.comhem.se] has quit [Remote closed
the connection]
13:14 -!- raichoo [n=raichoo@] has quit [Read error: 131 (Connection
reset by peer)]
13:15 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
13:15 < dho> yeah for now
13:15 < dho> moving to balto this weekend
13:15 < dho> e.  baltimore & n.  rose
13:15 < me__> oh, nice!
13:17 < me__> thats right by some park, iirc, right?
13:17 < dho> patterson, ya
13:17 < dho> it's in the area before it turns to shit
13:17 < dho> it's pretty close to jhu i guess
13:17 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has quit [Read
error: 110 (Connection timed out)]
13:17 -!- Cyprien [n=Cyprien@] has quit [Read error: 145 (Connection
timed out)]
13:18 < me__> have you heard of Baltimore Node?
13:18 < me__> if not, it's something you might enjoy
13:20 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
13:22 < dho> yeah i have
13:22 < dho> haven't been though
13:22 -!- inittab- [n=dlbeer@ip-118-90-100-133.xdsl.xnet.co.nz] has joined
13:23 < dho> me__: anyway pretty much everything you need for dfbsd should
be in the tree now
13:24 < dho> i have to prepare my talk or it's going to end up horrible
13:24 < me__> yep, i saw.  thanks for cutting down the stuff i have to do.
:) i've tested the threads creation and locking, they seem fine.  i finished the
syscall package last night...
13:25 < me__> good luck!  if you have slides or video, i'd be interested...
13:25 < dho> cool
13:25 < dho> Snert: for openbsd you're going to wait to use thrwait and
13:26 -!- gpurrenhage [n=gpurrenh@] has quit [Remote closed the
13:26 -!- gpurrenhage [n=gpurrenh@] has joined #go-nuts
13:26 < dho> Snert: tbh i think it's probably worth it to take a look at the
freebsd changesets and start from those files
13:26 < dho> a lot of the stubbing you have isn't going to work at all
13:28 -!- g0 [n=shashi@] has joined #go-nuts
13:28 < Snert> dho: I've looked at your two sets
13:28 < dho> you want the i386 one if you're doing that.  the TLS stuff is
13:28 < Snert> don't see what i'm missing
13:29 < Snert> fine, but the use of semephaores vs thrsleep/wait shouldn't
be a big deal at least on the first pass
13:30 < dho> if the semaphores work anything like freebsd, it will fail on
most tests
13:30 < Snert> i would have used thrsleep/wait if I know their arguments
more clearly
13:30 < Snert> how so?
13:30 < g0> Can anyone tell me what all those cryptic things in "Notation"
http://golang.org/doc/go_spec.html#Notation mean?
13:30 < dho> it stopped letting me allocate anonymous semaphores after 32
13:30 -!- inittab [n=dlbeer@ip-118-90-113-64.xdsl.xnet.co.nz] has quit [Read
error: 145 (Connection timed out)]
13:31 < Snert> that would be a bummer
13:31 < Snert> sounds like a ulimit
13:31 < dho> thrwait/thrwakeup aren't difficult
13:32 < dho> Snert: from what i can think of right now, you're missing TLS
handling, you're missing several functions in sys.s (for instance setldt), when
the new stack is created, I think you're going to have to
13:32 < Snert> sure, if I had API docs or examples
13:32 < dho> librthread / sys/kern/kern_thr.c or whatever it is
13:32 < Snert> ok
13:32 < Snert> but what is setldt?
13:32 < dgnorton> g0 - each line in the notation is composed of elements
from the lines below it
13:33 < dho> kern_synch.c
13:33 < dgnorton> g0 - not sure how to explain it clearly
13:33 < dho> Snert: you need that to deal with TLS
13:33 < dho> it calls i386_set_ldt syscall
13:33 < dho> or sysarch if openbsd does it that way
13:33 < dgnorton> g0 - it's a typical or standard way of defining a
programming language
13:33 < dho> Snert: tbh you can probably get away with copying files i
changed for freebsd and openbsd-ifying most of them.
13:33 < Snert> i wouldn't know just yet, since I'm not a OS internals
13:34 < dho> ok, i'll tell you
13:34 < dho> 1 sec
13:34 < Norgg> g0: It's a definition of EBNF written in EBNF?
13:34 < g0> dgnorton: I see, I'll try reading about EBNF, whatever that is
13:34 < dho> Snert: yes, you call i386_set_ldt through sysarch like i o
13:34 < dho> do
13:34 < Snert> maybe I should just let some one else with the related
knowledge do this port; clearly its something I haven't touched on in years
13:34 < Norgg> EBNF is a language for describing grammars.
13:35 < g0> dgnorton: It'd be great if someone wrote what that means in
plain english
13:35 < g0> Norgg: I figured that much :)
13:35 < dho> well, i can do it, but it's fun to help too :)
13:36 -!- g0 [n=shashi@] has left #go-nuts []
13:36 < Snert> dho: you're talking about elements I don't know what they do
or why ; I enjoy teh help, but I see this isn't as trivial as I had thought to do;
nothing like my software products
13:36 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:37 < dho> ok
13:37 < Snert> i'll go away and look again
13:37 < dgnorton> g0 - it also might be more clear if you look at some of
the go programming language specification ...
13:37 < me__> Snert: are you familiar with a TLS?
13:37 < Snert> thread local storage
13:37 < Snert> I've used it once with pthreads
13:37 < Snert> but i tend to avoid it
13:37 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
13:37 < me__> yes.  so it'd be wonderful if TLS were implemented as 'your
thread has an extra register that points to its own data'
13:38 < Snert> since it doesn't port very well to windows
13:38 < Snert> which has a limited brain damaged concept of TLS
13:38 < Snert> so when I write my code, I avoid non-portable elements
13:38 < me__> fair.
13:39 < me__> x86 doesn't love you though, so you don't have a register
pointing directly at your thread-region
13:39 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Client
13:39 -!- p4p4_ [n=pedro@] has quit [Remote closed the
13:39 < Snert> Frankly I think Intel lost the plot after the 8080
13:39 < me__> instead, you have GS, which selects an entry in a table,
either the LDT or GDT.
13:39 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has joined #go-nuts
13:39 < dgnorton> Intel ever had the plot?
13:39 -!- path__ [n=path@] has quit []
13:39 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
13:39 < me__> you need the OS to setup this table for you, so setldt().
13:40 -!- x2cast [n=Administ@] has joined
13:40 < Snert> ok, but is this a syscall?
13:40 < dho> it involves syscalls
13:40 < me__> yes.  in dfly its called set_thread_area, i don't know what
openbsd calls its, probably something similar
13:40 < dho> i386_set_ldt.
13:41 < dho> except it's a machine specific syscall,s o you get at it by
calling sysarch(I386_SET_LDT, &argptr)
13:41 < XniX23> where can i get the C pkg?
13:42 < Snert> dho: which is probably not documented except by looking at
the kernel source.
13:43 < dho> no, i386_set_ldt and sysarch have manpages
13:43 -!- x2cast [n=Administ@] has left #go-nuts
13:43 < dho> and the args are the same as freebsd, so I'm guessing you can
just copy my setldt an i386_set_ldt function and just change the syscall numbers
13:44 < Snert> ok
13:44 < sladegen> XniX23: go and C.
13:45 < dho> me__: you should /j #metabug :)
13:45 < Snert> dho: so to recap: I need to redo the locks; implement setldt
(basically clone yours), and what else?
13:47 < dho> That's probably good for now.  Again, I think the easiest thing
is to go over the commits for FreeBSD an implement the diffs 1:1
13:48 < XniX23> sladegen: i have go, and i can compile C code...  what am i
13:49 < Snert> dho: I've done much of them already; the runtime section was
where I'm lost since the original authors didn't think descriptive comments might
be helpful for people coming along to port the stuff
13:49 < dho> Snert: it's just implementing syscalls
13:50 < Snert> yes, I know, but knowing what the shopping list is to
implement would have been helpful
13:50 < dho> syscalls the runtime needs to consume
13:50 < dgnorton> dho: you ported go to fbsd?
13:50 < dho> yes
13:50 < sladegen> XniX23: i don't even know what you mean, as they say
stupid question, stupid answer.
13:50 < dgnorton> dho: for fun?
13:51 < dho> dgnorton: well i certainly didn't profit
13:51 < dho> and it took <1 week
13:51 < dho> so i'm not sure what i'd have charged for that anyway
13:51 < Snert> dho: I'll keep trying, but come next week, I might have to
move on back to my regular pay for work
13:51 < Snert> ya, I didn't think it should take so long
13:51 < dho> Snert: if it's keeping you from earning bread, I'll port it,
not a big deal
13:52 < dgnorton> dho: i value my time that highly, too.  just can't get
anyone else to see it that way...yet.  :)
13:52 < Snert> at the moment I'm between things
13:52 < dho> Snert: tbh I can probably wrap it up in a day or two, just
thought it might be a fun learning experience for you :)
13:52 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
13:52 < Snert> but soon I have to resume the development on BarricadeMX for
13:52 < int-e> dho: how do you spend a billion dollars?
13:52 < XniX23> sladegen: im trying to use allegro wrapper, and in code it
says "import C", and im missing that
13:52 -!- tsuru [n=user@c-174-50-217-160.hsd1.tn.comcast.net] has quit [Remote
closed the connection]
13:52 < Snert> dho: it has been a fun learning experience
13:53 < dho> int-e: very carefully
13:53 < dgnorton> dho: do you use fbsd at your "day job"?
13:53 < Snert> but its taking more time than I had planed
13:54 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has joined #go-nuts
13:54 < Snert> dho: you sound like you have a better handle on it than I do
and you've seen what I've done so far.
13:55 -!- moriyoshi [n=moriyosh@i118-19-92-230.s04.a014.ap.plala.or.jp] has quit
13:55 < sladegen> XniX23: hmm...  haven't yet tried any C wrappers uppers.
looked into misc/cgo already?  i would guess C gets generated by cgo or is some
internal thingy...
13:55 < dho> dgnorton: I used to when I worked at coyote point
13:56 < dho> not so much anymore
13:56 -!- hiromtz_ [n=hiromtz@p1076-ipad202kyoto.kyoto.ocn.ne.jp] has quit [Read
error: 110 (Connection timed out)]
13:56 < dho> i can't find the time to finish porting our stuff to freebsd
13:56 < dho> it's all build infrastructure stuff
13:56 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
13:57 < Snert> dho: not sure how much time I'll have between now and Monday.
Tonight is a wine tasting and dinner; tomorrow I'm in Monaco for the day; weekend
13:58 < dho> well
13:58 < dho> i'm moving all this weekend and probably next week
13:58 < dho> so i probably wont' be around much
13:58 -!- kanwar90 [n=chatzill@] has quit [Client Quit]
13:58 < dho> but we'll see
13:58 < Snert> where to?
13:58 < dho> from columbia md to baltimore md
13:58 < Snert> md?
13:58 < dho> maryland
13:59 -!- sku [n=sku@] has joined #go-nuts
13:59 < dho> us
13:59 < Snert> ok
13:59 -!- chrelad [n=chrelad@] has left #go-nuts ["[P]"]
13:59 * Snert wishes he was a teen again who worked till 3h00 in the morning on
13:59 < dho> heh
13:59 < dho> agreed
14:00 < Snert> well I'll have one more crack at it
14:00 -!- Cyprien [n=Cyprien@246-153.107-92.cust.bluewin.ch] has joined #go-nuts
14:00 < Snert> come Monday though I have to claim success or pass
14:00 -!- longbean [n=longbean@] has joined #go-nuts
14:00 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
14:01 * Snert doing all this so he can play with a new language
14:02 < Snert> I must be warped
14:03 -!- alexsuraci` [n=alex@li71-127.members.linode.com] has joined #go-nuts
14:03 -!- hiromtz [n=hiromtz@p1076-ipad202kyoto.kyoto.ocn.ne.jp] has joined
14:03 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit
14:03 < Snert> Probably a left over from my IOCCC contest entries
14:04 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has joined #go-nuts
14:06 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
14:07 -!- broo [n=my_nick@97-116-179-177.mpls.qwest.net] has quit []
14:07 < dho> hehe
14:10 < Snert> dho: what can i say; my several 15m of obsecure fame
14:12 < Snert> BTW the Beaujolais Nouveau that came out today is very nice.
14:13 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined
14:14 -!- ikke [n=ikkibr@unaffiliated/ikkebr] has quit [Read error: 110
(Connection timed out)]
14:15 -!- aho [n=nya@f050245048.adsl.alicedsl.de] has quit
14:15 -!- fhs [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has quit
14:16 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit
14:18 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Connection timed out]
14:18 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Leaving"]
14:21 -!- hiromtz [n=hiromtz@p1076-ipad202kyoto.kyoto.ocn.ne.jp] has quit [Read
error: 110 (Connection timed out)]
14:22 -!- path__ [n=path@] has joined #go-nuts
14:22 -!- ring-zero [n=hotshot@] has joined #go-nuts
14:25 -!- Guest14331 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
14:30 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has joined
14:32 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
14:33 -!- dobre_zlo [i=unixwiza@k-lined.info] has quit [Read error: 104
(Connection reset by peer)]
14:35 -!- engla [n=ulrik@wikipedia/Sverdrup] has quit [Read error: 60 (Operation
timed out)]
14:37 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has joined #go-nuts
14:38 -!- shambler [n=sil@] has quit ["Super perfundo on the early
eve of your day."]
14:38 < ryniek> hi
14:38 -!- Lustra [n=James@host81-155-229-84.range81-155.btcentralplus.com] has
left #go-nuts []
14:42 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
14:44 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined
14:44 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has quit
[Client Quit]
14:45 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 60 (Operation
timed out)]
14:47 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has joined #go-nuts
14:47 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has quit ["This
computer has gone to sleep"]
14:51 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
14:53 -!- AlvaroGP [i=Alvaro@] has joined #go-nuts
14:54 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
14:56 -!- dobre_zlo [i=unixwiza@k-lined.info] has joined #go-nuts
14:57 < sladegen> 6
14:59 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
15:00 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-hakwhmctgizrpoqu] has joined
15:00 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
15:02 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts
15:03 -!- Perberos [n=Perberos@] has quit [Read error: 110 (Connection
timed out)]
15:03 < ni|> anyone want a wave invite?
15:03 -!- hector_ [n=chatzill@client-86-0-126-58.nrth.adsl.virginmedia.com] has
joined #go-nuts
15:04 -!- homovitruvius [n=maurizio@pool-72-95-253-175.pitbpa.east.verizon.net]
has quit [Read error: 104 (Connection reset by peer)]
15:04 -!- g0 [n=shashi@] has joined #go-nuts
15:05 * g0 's reading the wikipedia article on EBNF
15:05 < simonz05> sure
15:05 < ni|> g0: BNF is usefull
15:06 < ni|> are you reviewing grammers?
15:07 < g0> ni|no I just wanted to understand what they wrote in the
"Notation" section in the language specs
15:07 < Sylvain_> ni|: yes :)
15:08 < ni|> hehe
15:08 < ni|> Sylvain_: yes to what?
15:08 < Sylvain_> ni|: "<ni|> anyone want a wave invite?"
15:09 < ni|> g0: well if you don't know what EBNF is you will have a problem
getting grammars
15:09 < ni|> or RFCs for that matter
15:09 -!- path__ [n=path@] has quit [Connection timed out]
15:09 < ni|> Sylvain_: pm email
15:09 < g0> ni|I'm learning it :)
15:10 < ni|> hehe
15:10 < ni|> Sylvain_: i has a meeting with my thesis advisor soon
15:10 < longbean> Ni, i want a wave invite.
15:11 < Sylvain_> ni|: email sent
15:11 < ni|> Sylvain_: ?
15:11 < ni|> i already sent you one
15:11 < longbean> longbinqiu@gmail.com
15:11 < ni|> longbean i said in PM this is painfully offtopic now
15:12 < ni|> gg thesis meeting
15:12 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has quit [Remote closed the
15:14 -!- ggorgen [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
15:14 -!- aa [n=aa@r190-135-212-29.dialup.adsl.anteldata.net.uy] has joined
15:15 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Read error: 110
(Connection timed out)]
15:16 -!- longbean [n=longbean@] has quit ["Leaving"]
15:16 -!- ziyu_huang [n=ziyu_hua@] has joined #go-nuts
15:18 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has quit [Success]
15:20 -!- purefusion [n=purefusi@cblmdm24-53-171-140.buckeyecom.net] has quit
[Read error: 60 (Operation timed out)]
15:22 -!- raichoo [n=raichoo@lain.dhcp.uni-bielefeld.de] has quit []
15:23 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has joined
15:23 -!- p4p4 [n=pedro@] has joined #go-nuts
15:33 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit []
15:36 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Read error: 110
(Connection timed out)]
15:37 -!- al-maisan
[n=al-maisa@conference/ubuntu-developer-summit/x-hakwhmctgizrpoqu] has left
#go-nuts ["Parting is tough.."]
15:37 -!- decriptor [n=decripto@] has joined #go-nuts
15:38 < Rob_Russell> Should the json package consider \r to be whitespace?
right now the function white() treats \n as whitespace but not \r
15:39 < dho> it should, yes
15:39 < Rob_Russell> that's what i thought...
15:39 -!- Venom_X [n=pjacobs@] has joined #go-nuts
15:40 -!- aa [n=aa@r190-135-212-29.dialup.adsl.anteldata.net.uy] has quit [Remote
closed the connection]
15:42 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has joined
15:44 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 110 (Connection timed
15:45 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has quit [Read error: 60
(Operation timed out)]
15:47 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
15:49 -!- trickie [n=trickie@] has joined #go-nuts
15:49 -!- sockmonk [n=user@pixout.appriss.com] has joined #go-nuts
15:50 -!- andern_ [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
15:51 -!- rbohn [n=rbohn@] has joined #go-nuts
15:52 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has joined #Go-Nuts
15:53 -!- Peter- [n=peter@] has joined #go-nuts
15:53 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit
15:56 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has quit []
15:57 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has quit [Read error: 104
(Connection reset by peer)]
16:01 -!- raichoo [n=raichoo@i577BA4A3.versanet.de] has joined #go-nuts
16:02 -!- JPascal [n=jpascal@] has quit ["Leaving."]
16:02 -!- Peter` [n=peter@] has quit [Read error: 110 (Connection
timed out)]
16:05 -!- sku [n=sku@] has left #go-nuts []
16:06 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
16:08 -!- golangguru [n=chatzill@] has joined #go-nuts
16:09 < golangguru> .motd
16:12 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has joined #go-nuts
16:16 -!- Esmil_ [n=esmil@4704ds1-gjp.0.fullrate.dk] has joined #go-nuts
16:17 -!- codehai [n=codehai@xdsl-78-34-36-14.netcologne.de] has joined #go-nuts
16:17 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
16:18 -!- GynDream [n=gynvael@static-87-105-185-61.ssp.dialog.net.pl] has joined
16:18 -!- aidecoe [n=aidecoe@2001:470:1f0b:77d:0:0:a1d:3c0e] has joined #go-nuts
16:19 -!- Andrius [n=null@unaffiliated/andrius] has joined #go-nuts
16:20 -!- kanwarpreet [n=chatzill@] has joined #go-nuts
16:20 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has quit [Nick collision from
16:22 -!- imbrandon [n=brandon@ubuntu/member/imbrandon] has quit [Read error: 104
(Connection reset by peer)]
16:26 -!- paulca [n=paul@dsl081-056-242.sfo1.dsl.speakeasy.net] has quit []
16:29 -!- alexsuraci` [n=alex@li71-127.members.linode.com] has quit ["Lost
16:30 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has joined #go-nuts
16:31 -!- Eytre [n=afitz@adsl-190-192-124.asm.bellsouth.net] has joined #go-nuts
16:31 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has left #go-nuts []
16:34 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has joined
16:35 -!- Ian_Daniher [n=it@nat-pool-128-88.olin.edu] has quit ["leaving"]
16:35 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has quit [Remote
closed the connection]
16:35 -!- Garibaldi [n=adalton@173-16-117-14.client.mchsi.com] has joined #go-nuts
16:35 < scandal> hrm, does anyone know where copy() is documented?  just
noticed that bytes.Copy() was removed but I don't see where copy() is defined.  it
seems to work, however
16:35 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
16:35 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit [Read
error: 54 (Connection reset by peer)]
16:35 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
16:37 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has quit ["Leaving"]
16:38 -!- Gynvael [n=gynvael@static-87-105-185-61.ssp.dialog.net.pl] has quit
[Read error: 110 (Connection timed out)]
16:38 < dgnorton> g0 - don't over think the EBNF stuff...take this for
example...  http://golang.org/doc/go_spec.html#Function_types
16:38 -!- trickie [n=trickie@] has quit [Read error: 60 (Operation
timed out)]
16:39 -!- me___ [i=[U2FsdGV@batman.acm.jhu.edu] has joined #go-nuts
16:39 < dgnorton> FunctionType = "func" Signature . ...  compare that first
line to what you write when you write a Go function (e.g., "func foo(a int)...")
16:39 < dgnorton> so it specifies that you have to have the keyword "func"
to start it
16:39 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has joined #go-nuts
16:40 < dgnorton> followed by the "Signature" which is defined on the
following line..."Signature = Parameters [ Result ] ."
16:40 < dgnorton> Then "Result" and "Parameteres" are defined on the two
lines following that, and so on.
16:40 < g0> dgnorton: I learnt a bit of EBNF from wikipedia, they used , for
concatenation, go_spec seems to use spaces...  right?  I'm understanding what
the've written now :)
16:41 < dgnorton> put all those together and you have a Go function.
16:41 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts
16:42 < dgnorton> g0 - yes, it appears so.  I'm not an EBNF or compiler
expert either but it just looks fairly simple.
16:43 < dgnorton> well...not compilers but the little clips of EBNF in the
Go language spec...they look simple
16:43 < g0> dgnorton yes it does once you know what all the symbols mean :)
16:43 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has joined #go-nuts
16:46 -!- barismet_ [n=barismet@zanzibar.inria.fr] has joined #go-nuts
16:46 < dgnorton> g0 - things in quotes, like "func", "(", or ",", are
literally typed in your Go code.  Things in [] are optional.  Things in {} can be
repeated 0 or more times.  Things separated by | ...  chose one.
16:46 -!- kaib_ [n=kaib@] has joined #go-nuts
16:46 -!- mode/#go-nuts [+v kaib_] by ChanServ
16:46 < AlvaroGP> guys what is your favorite linux distro for development?
16:47 < dgnorton> AlvaroGP, Ubuntu
16:47 < AlvaroGP> thanks dgnorton
16:47 < AlvaroGP> i tried Ubuntu but it is too fat to run on a VM
16:48 < exch> I prefer either Crunchbang (version of ubuntu) or Arch Linux
16:48 < Rob_Russell> i've got ubuntu on virtualbox
16:48 < dgnorton> AlvaroGP, there are different distros ...  JeOS is small
16:48 < exch> i'm currently on Arch.  nice and fast
16:48 < dgnorton> AlvaroGP, different distros of Ubuntu that is
16:48 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
16:49 -!- voluspa [n=voluspa@x-134-84-102-227.reshalls.umn.edu] has quit [Read
error: 148 (No route to host)]
16:49 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 104 (Connection reset by peer)]
16:49 < g0> AlvaroGP Archlinux
16:49 < AlvaroGP> i was going to try Arch right now
16:50 < simonz05> The Arch way here as well.
16:50 < AlvaroGP> still trying to find out how to install all the packages
16:50 < uriel> anyone what distros have packaged go already?
16:51 < kfx> uriel: I'm planning to build a .deb of it this week, because
I'm deploying it to our clusters
16:51 -!- moriyoshi [n=moriyosh@i118-19-92-230.s04.a014.ap.plala.or.jp] has joined
16:52 < exch> 'pacman -Sys go' is not a very productive way to find a
package :p returns a gazillion matches
16:52 -!- jack-z [n=jackz@] has joined #go-nuts
16:52 < simonz05> there is a go-google-mercurial on AUR, but not really
16:53 < jack-z> hi, did anyone encounter a 6l problem on darwin/amd64?
16:53 < int-e> go is an awful name for a computer language, or anything
really.  (searching for information about the go game is also hard.)
16:54 < Innominate> Python is much better?
16:54 < kfx> thanks for your fresh and original insight Innominate
16:54 < Innominate> or c?
16:54 * kfx has been betrayed by tab-completion again
16:54 < Innominate> lol
16:54 < dho> Innominate: no it isn't.
16:54 < dho> er
16:55 < dho> int-e:
16:55 < dho> you just have to know how to search.
16:55 < me___> google?
16:55 < Innominate> golang
16:55 * dho recommends the late fravia's searchlores
16:55 < drhodes> including the string `golang` somewhere in relevant page
would probably help
16:55 -!- kaib_ [n=kaib@] has quit []
16:55 < int-e> golang would be fine.
16:56 < dho> golang, go programming, google go, etc.
16:56 < andguent> int-e: try searching for more than one word
16:56 < dho> query site:golang.org
16:56 < kfx> in that case we'd also need to rename some other stuff
16:56 < dho> single word queries are stupid
16:56 < int-e> andguent: fine.  go programming tutorial.
16:56 < kfx> javalang, rubylang, etc
16:56 -!- ProperNoun [i=ProperNo@wikipedia/ProperNoun] has joined #go-nuts
16:56 < int-e> andguent: it won't help that 'go' is a common verb
16:56 -!- giordi [n=giordi@] has joined #go-nuts
16:56 -!- rowdog [n=jth@h220.145.30.71.dynamic.ip.windstream.net] has joined
16:56 < dho> it's like people complaining that it's hard to find information
about apples because all search results for apple yield computer information
16:56 < andguent> int-e: welcome in this century.  search doesnt work like
that anymore
16:56 < dho> so you search for apple fruit.
16:56 < dho> bang.
16:57 < dho> there you go
16:57 -!- mad [n=wvicente@] has joined #go-nuts
16:57 -!- mad [n=wvicente@] has quit [Client Quit]
16:57 < int-e> (the game has a few useful aliases as well.  weiqi, baduk
16:57 < kfx> the first hit for go programming tutorial:
16:57 < kfx> I have no idea how anyone is expected to find these things!
16:58 < int-e> try a search engine that isn't google.
16:58 < int-e> oh well.
16:58 < int-e> sorry for that
16:58 -!- int-e [n=noone@] has left #go-nuts []
16:58 -!- aekeus [n=aubreyk@] has quit [Remote closed the connection]
16:58 -!- barismet_ [n=barismet@zanzibar.inria.fr] has left #go-nuts
16:58 < dho> yeah, it's the third result on yahoo
16:59 < dho> that sucks
16:59 < kfx> second hit on bing
16:59 -!- sliceofpi1 [n=Adium@c-98-201-183-147.hsd1.tx.comcast.net] has joined
16:59 < dho> second result on answers.com
16:59 < kfx> oh well guys let's pack it in
16:59 < kfx> we can try again next year
17:00 -!- cmarcelo [n=cmarcelo@] has joined #go-nuts
17:00 -!- TheL [n=brandon@muse.exhort.ca] has left #go-nuts []
17:00 < exch> > type F struct{ a,b,c string; } f:=F{"hello","go world",
"!"}; fmt.Printf("%v", f)
17:00 < rndbot> {hello go world !}
17:00 < exch> could that be modified to use comma separation of fields?
17:00 -!- giordi [n=giordi@] has quit [Remote closed
the connection]
17:01 < exch> cos now it's not clear what field a particular string part
belongs to
17:01 -!- drusepth [n=drusepth@adsl-75-25-103-130.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
17:01 -!- sliceofpi2 [n=Adium@c-98-201-183-147.hsd1.tx.comcast.net] has joined
17:01 < uriel> shameless plug: for those that want an easy way to search go
info: http://go-lang.cat-v.org/go-search
17:02 -!- sliceofpi1 [n=Adium@c-98-201-183-147.hsd1.tx.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
17:02 < olegfink> exch: I'd expect %v to output values in go syntax?  so not
only commas, but also quotes for string literals
17:02 < exch> apparently not
17:02 -!- amirpc [n=aelaguiz@] has joined #go-nuts
17:02 -!- drusepth` [n=drusepth@adsl-75-25-103-130.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
17:03 < drhodes> > type F struct{ a,b,c string; } f:=F{"hello","go
world", "!"}; fmt.Printf("%+v", f)
17:03 < rndbot> {a:hello b:go world c:!}
17:03 < exch> nice
17:03 < exch> > type F struct{ a,b,c string; } f:=F{"hello","go :world",
"!"}; fmt.Printf("%+v", f)
17:03 < rndbot> {a:hello b:go :world c:!}
17:04 < exch> b0rked!
17:04 < dho> how?
17:04 < dho> it's clear that there's nothing representing :world
17:04 < dho> therefore it must belong to b
17:04 < kfx> yeah that'd still be pretty easy to parse
17:04 < exch> > type F struct{ a,b,c string; } f:=F{"hello","go c:world",
"!"}; fmt.Printf("%+v", f)
17:04 < rndbot> {a:hello b:go c:world c:!}
17:04 < dho> "hello", "g o:world"
17:04 < dho> etc
17:04 -!- cmarcelo [n=cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
17:04 -!- gordi [n=gordi@] has joined #go-nuts
17:05 < dho> ok, so if they're comma delimited, what do you do with strings
with commas in them?
17:05 -!- jack-z [n=jackz@] has quit []
17:05 < exch> im taking the piss though.  nomatter what output, you can find
a string that messes it up
17:05 < dho> yes
17:05 < kfx> and
17:06 < olegfink> dho: I personally want %v to output values in go syntax.
that will solve all problems and also be useful for interactive development
17:06 < JBeshir> It could use quotation marks and escape those inside the
17:06 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
17:07 < Rob_Russell> is there a reason all.bash has to do a clean build
every time?  is there a build target i can use that's quicker?
17:07 < JBeshir> The idea on the mailing list about a combined
division/remainder operator is quite awesome.
17:07 -!- loureiro [n=loureiro@] has quit [Read error: 113 (No route
to host)]
17:08 < scandal> olegfink: does %#v not do what you want?
17:08 < JBeshir> It seems pretty goish, shortens things, and technically
makes them a little faster.
17:09 < saati_> > type F struct{ a,b,c string; } f:=F{"hello","go
c:world", "!"}; fmt.Printf("%#v",f)
17:09 -!- willdye [n=willdye@fern.dsndata.com] has joined #go-nuts
17:09 < rndbot> main.F·1{a:"hello", b:"go c:world", c:"!"}
17:09 < amirpc> JBeshir: What would the syntax look like?
17:09 < olegfink> scandal: indeed, thanks
17:09 < JBeshir> "quotient, remainer := numerator /% denominator" is what
they proposed
17:09 -!- Sylvain_ [i=d4528311@gateway/web/freenode/x-ujeybvrzoompcjyh] has quit
["Page closed"]
17:09 < amirpc> thats mildly badass
17:09 < JBeshir> But given optional return values, I don't see why it
couldn't just be "quotient, remainder := numerator / denominator"
17:10 < JBeshir> Similar to the ", ok" thing.
17:10 < s_mosher> JBeshir, that colon has to go I think
17:10 < golangguru> i dont know python.  can i learn GO
17:10 < KirkMcDonald> Or just a divmod() function.
17:10 < amirpc> not sexy without operator status
17:10 < s_mosher> if the types are unknown beforehand it is (mildly)
17:10 < KirkMcDonald> golangguru: Go doesn't have anything to do with
17:11 < JBeshir> How can the types be unknown beforehand?
17:11 < JBeshir> Go is statically strongly typed.
17:11 < s_mosher> := implies as much
17:11 < KirkMcDonald> JSharpe: Oh. True.
17:11 < dho> I don't know how to weld.  Can I learn Go?
17:11 < JBeshir> No, := implies the ones on the left hand side are unknown
ahead of time
17:11 < JSharpe> wrong guy
17:11 < golangguru> KirkMcDonald: i heared its syntax contains c,c++ and
17:11 < KirkMcDonald> golangguru: ...  and?
17:11 < kfx> golangguru: its syntax contains go
17:12 < s_mosher> JBeshir, yeah, I thought the idea was to type the result
appropriate to the LHS
17:12 < s_mosher> maybe I missed the point
17:12 < mxpxpod> has anyone tried doing a multi-file cgo package?  I keep
getting declaration errors
17:13 < golangguru> kfx: so i need to learn python syntax right?
17:13 < KirkMcDonald> golangguru: No, you need to learn Go's syntax in order
to use Go.
17:13 < kfx> golangguru: no you need to learn go sytnax
17:14 < golangguru> KirkMcDonald: oh thank you.  I heard that it uses
python.  i wasted 2 days with out learning GO.
17:15 -!- Tronic [i=tronic@dsl-hkibrasgw-ff51c300-29.dhcp.inet.fi] has joined
17:15 < dho> golangguru: www.golang.org
17:15 < exch> as stated before.  Go has absolutely /nothing/ to do with
17:15 < KirkMcDonald> golangguru: It is possibly the case that some of the
syntax is inspired by Python.  But this does not make Python a prerequisite.
17:15 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit [Read
error: 110 (Connection timed out)]
17:15 < uriel> maybe people should not believe everything they read online?
just saying...
17:15 < kfx> golangguru: you should probably stop listening to whoever told
you that
17:16 < golangguru> kfx: i am downloading xcode to my mac os.  it was such a
huge file to download.  is there any way to get started with in a few min
17:16 -!- zerofluid [n=zeroflui@ip72-208-216-68.ph.ph.cox.net] has quit ["This
computer has gone to sleep"]
17:17 < uriel> golangguru: http://gofmt.com/compile.html
17:17 < uriel> you can get started right away
17:18 < golangguru> uriel: thank u
17:18 < kfx> golangguru: http://golang.org/doc/install.html is how to put it
on your workstation
17:19 < Rob_Russell> the python dev tools mentioned on the install page
don't actually require you to write any python
17:19 < golangguru> kfx: ok
17:19 < quag> uriel: how did you setup a safe sandbox?
17:20 < quag> locked down user or virtual machines?
17:20 < uriel> quag: I didn't
17:20 < uriel> somebody else (apparently!) did
17:20 -!- g0 [n=shashi@] has left #go-nuts []
17:20 < uriel> exch had some fun trying to crash gofmt.com
17:20 < golangguru> Rob_Russell: so i need to learn only GO syntax.  thanks
17:21 -!- drusepth [n=drusepth@adsl-75-25-103-130.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
17:21 < quag> I've run some sandboxed code before with ulimits, separate
locked down users and so on.
17:21 < quag> Kind of fun :)
17:21 < simonz05> golangguru: Well, if you dont know C you probably are in
for a treat.
17:21 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit ["Leaving"]
17:21 < uriel> golangguru: you need to 1) watch rob's presentation 2) read
the tutorial
17:21 < quag> uriel: did exch figure out what platform it is running on?
17:22 < uriel> I don't remember
17:22 < golangguru> uriel: link plz?
17:22 < uriel> golangguru: ffs!  http://golang.org
17:22 < kfx> golangguru: it's all on that site I linked you to
17:22 < kfx> read the ENTIRE SITE
17:22 < golangguru> ok
17:23 < uriel> quag: I don't know, check the channel logs from yesterday:
17:24 -!- qbit_ [n=qbit_@c-75-71-160-106.hsd1.co.comcast.net] has joined #go-nuts
17:25 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Connection reset
by peer]
17:25 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
17:26 -!- gordi [n=gordi@] has quit [Remote closed the
17:26 -!- gordi [n=gordi@] has joined #go-nuts
17:28 -!- jA_cOp [n=yakobu@ti0043a380-3093.bb.online.no] has quit ["Leaving"]
17:29 -!- sqweek [n=none@203-206-124-219.dyn.iinet.net.au] has joined #go-nuts
17:29 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
17:29 < timmcd> Hello!
17:29 < rog> what was the first language with the ':' array slice notation?
anyone know?
17:29 < timmcd> Erlang!
17:29 < timmcd> … idk.  :(
17:30 < me___> rog: hi!
17:31 < rog> me___: her
17:31 < rog> i mean hey
17:31 < me___> enjoying this channel?
17:32 < me___> (enjoying go?)
17:32 < rog> python seems to have been started around the same time as
erlang - was erlang really an influence on python?  or was there a common
17:32 < uriel> probably a common predecessor or a product of parallel
17:32 < rog> me___: haven't been following the channel much, too much else
to do.
17:32 < me___> fair enough
17:32 < uriel> rog: what have you been hacking on?
17:33 < KirkMcDonald> http://python-history.blogspot.com/
17:33 -!- shambler [i=kingrat@mm-169-197-84-93.dynamic.pppoe.mgts.by] has joined
17:33 < rog> me___: but was just struck by comment above re: total
non-relation to python.  and wondered where that syntax originated.
17:33 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has quit [Read
error: 60 (Operation timed out)]
17:34 < rog> uriel: this and that.  not much i can talk about i'm afraid.
17:34 < me___> i don't actually know python, all these comparisons are
pretty much lost on me..
17:34 < uriel> heh
17:34 < rog> uriel: although i did enjoy doing the little chameneos test
17:34 < me___> rog: i finally finished my rendezvous-based one.
17:35 < me___> it was slower than yours, though
17:35 < olegfink> rog: http://en.wikipedia.org/wiki/Array_slicing suggests
the first to introduce the : notation was algol68
17:35 < rog> me___: python's...  just another language.  worth knowing, not
hard to get to know (except when people really start to abuse it)
17:35 < olegfink> people here tell me : is for sure in fortran77
17:35 < timmcd> oyeah for sure.
17:35 < timmcd> ^_^
17:35 < rog> olegfink: nice one
17:35 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has joined #go-nuts
17:36 < uriel> fortrans great contribution to the world of programming!
17:36 -!- miloe [i=miloe@ip55-14.thenet.ph] has joined #go-nuts
17:36 < me___> i was actually hoping you (or mjl-) would show up in here, i
was going to ask for thoughts about go and limbo...
17:36 < miloe> hi folks..  good to be here
17:36 < me___> from people who know limbo well...
17:36 < rog> me___: not entirely surprised - you were building a primitive
and then building on top of that rather than using the underlying primitives
17:36 < KirkMcDonald> The blog I just linked to suggests Python got it from
17:36 < kfx> http://www.python.org/dev/peps/pep-0204/
17:37 < me___> sure.  the ada folks should know that particular pain.
17:37 < rog> me___: what kind of thing do you want to hear about?
17:37 < rog> me___: i could compare & contrast
17:37 < timmcd> rrg
17:37 < me___> sure, that'd be pretty useful i think
17:38 < timmcd> horrible glare on my screen, right where my IRC is.  Maybe
someone should make a cool Go IRC client so I can re-arrange my screen.
17:38 < rog> go lacks first-class tuples and lists.  those are my big sore
17:38 < rog> and no dynamic modules - no inferno-shell-style shells.
17:38 * uriel misses tuples/lists too after much rc hacking...  but wont complain,
I love everything about go
17:38 < rog> but inferno's modules should be done like go interfaces.
17:38 < KirkMcDonald> rog: You can fake tuples, somewhat.
17:38 < me___> (sure, sh is pretty surprisingly powerful.)
17:39 < KirkMcDonald> rog: []interface{}
17:39 < rog> me___: it's not that surprising really - it's just another
half-baked LISP :-)
17:39 < me___> haha fair.
17:39 < WalterMundt> any plans to add some way to set request headers to
Go's http package?
17:39 * uriel thinks inferno's sh is a bit *too* powerful
17:40 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has quit [Read
error: 113 (No route to host)]
17:40 < me___> its nice that go can map procs onto more than one host
thread, compared to inferno.  but i guess thats more an inferno ism than limbo.
17:40 < kfx> do you need tuples if you have maps
17:40 < uriel> rc could use some of that poewr, but the more I use rc, the
more I feel it has one of the most sublime balances of power and simplicity
17:40 < rog> KirkMcDonald: yeah, but i like type safety - the declarative
nature of tuples is great for throwaway structured types.
17:40 < saati_> structs are closer to tuples than maps
17:40 < uriel> me___: AFAIK limbo can do that too
17:40 < KirkMcDonald> rog: interface{} can be entirely type safe.
17:40 < KirkMcDonald> rog: With a type switch.
17:41 < me___> uriel: only sort of.  when making a call onto a builtin
module, release() / acquire() happens, but only one thread can be in Dis at once.
17:41 < uriel> me___: infenro only creates new host threads when needed, not
for every limbo thread
17:41 < rog> KirkMcDonald: yeah, sorry.  should've said "i like static
17:41 < me___> uriel: two for(;;); can't run concurrently in dis.
17:41 < uriel> ok, I don't know the details, so I guess I better shut up :)
17:41 < KirkMcDonald> rog: switch i.(type) { case string: /* i is a string
*/ case int: /* i is an int */ }
17:41 < uriel> me___: isn't the same in go?
17:41 < KirkMcDonald> rog: See?  Statically typed!  :-)
17:42 < me___> uriel: nope.  they can.
17:42 < KirkMcDonald> rog: Just ignore the dynamic stuff in the middle.
17:42 < me___> (i suppose this is something for #inferno though?)
17:42 < rog> KirkMcDonald: yeah i know.  but x: (int, string, chan[string])
is way more informative than x: []interface{}
17:42 < KirkMcDonald> rog: Certainly.
17:43 < WalterMundt> rog: how about x struct {a int, b string, c chan
17:43 < KirkMcDonald> Another feature I enjoyed in D: Type-safe variadics.
17:43 < rog> uriel: the funny thing was i made the inferno shell more
powerful by taking stuff away, not adding it!
17:43 < olegfink> rog: every time I think about what I miss in go, I release
I know where to get ocaml.  :-)
17:43 < WalterMundt> constructing something to pass in would be annoying,
but possible even without naming the struct
17:43 < olegfink> *realize
17:44 < KirkMcDonald> Translating the syntax to Go would look like: func f(x
[]int...) {}
17:44 < uriel> rog: yes, I know, but it is too general IMHO, and that is
what I mean by too powerful
17:44 < uriel> rog: rc is more pragmatic and practical, rc is more 'worse is
17:44 < KirkMcDonald> Then you can call the function with an arbitrary
number of int arguments (or a single []int argument), and you'd get an []int.
17:44 < me___> hmm, are you in #inferno now?  and would that be a reasonable
place for this (why dis can't have more than one host thread in it?  also the
slighly wonky 'release/acquire' on each "syscall"?)
17:44 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has joined
17:44 < rog> uriel: rc didn't have any interface to external programs other
than exec(char**)
17:45 < uriel> rog: yes, and IMHO that is a good thing, it is the Unix way
17:45 < timmcd> Atleast take it to ##go-fish (off topic go stuff)
17:45 < rog> uriel: but it's not the inferno way...
17:45 < uriel> heh
17:45 -!- dw [n=dw@host86-168-2-225.range86-168.btcentralplus.com] has joined
17:45 -!- dirtmcgirt [n=dirtmcgi@c-67-164-99-103.hsd1.ca.comcast.net] has joined
17:45 < dw> hi.  has anyone attempted bindings or a native driver for
talking to pgsql, or odbc yet?
17:46 < dw> i guess odbc would be the lower hanging fruit
17:46 < olegfink> I think there's some rule stating that any sufficiently
advanced shell is indistinguishable from TCL.
17:46 < me___> i was writing some TCL earlier today...
17:46 < rog> uriel: i think i know what you think is too powerful about it
(and you may be right) - you can deal with state that's not expressible as a
string or a file.
17:46 < uriel> dw: there are pgsql bindings:
17:47 < dw> uriel: damn that was quick
17:48 < uriel> rog: anyway, to end this offtopic discussion, I think
inferno's sh is great, I just happen to like rc better, even when I miss some of
the power some times, my brain is too limited to handle so much power anyway ;)
17:48 < rog> anyway, to get back to the subject, i think go could do the
"inferno-style-shell" thing (if it allowed dynamic modules and if each dynamically
loaded go module had all its own globals even if it shared modules with the
17:48 < uriel> I have been thinking about a shell in go too :)
17:49 < uriel> but without dynamically loaded modules ;P
17:50 < rog> uriel: the thing is, a standard shell in go wouldn't be
anything different from a shell in any other language - all a shell can do is read
text, execute programs and manipulate file descriptors
17:50 < rog> uriel: the key is to try to incorporate the capabilities of go
in some fashion
17:50 < uriel> go's control structures have some benefits of rc's which has
some rather awkward cases
17:50 -!- Fl1pFl0p [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has joined #go-nuts
17:50 < me___> how would the shell see those, though?
17:50 < rog> oh, you mean a shell with go syntax?
17:50 < rog> no point.
17:51 < rog> rc (and bourne shell) have about the best possible syntax for
interactive use IMHO
17:51 < uriel> rog: not go syntax, but more go-like syntax than rc's, and
written in go, because it seems like a nice language to write shell in
17:51 < timmcd> Only if you can make it beat out zshell ^_^
17:52 < uriel> ok, bringing this more on-topic, isn't the use of `` a bit
weird in go?
17:52 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:52 -!- kanwarpreet [n=chatzill@] has quit [Read error: 110
(Connection timed out)]
17:52 < uriel> or it is just me
17:52 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:52 < rog> being fundamentally a string of non-blank words, with
occasional syntax chars (not much used)
17:53 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has joined #go-nuts
17:53 -!- dgnorton [n=dgnorton@] has quit []
17:53 < rog> i like quoting by adding chars at the start of each line,
here-file or # or // comment style
17:53 < uriel> rog: you mean like python's r'...'?
17:54 < rog> don't know about that
17:54 < KirkMcDonald> Python's r'' is like Go's ``.
17:54 < uriel> KirkMcDonald: yea, that is what I was saying
17:55 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 60 (Operation timed
17:55 -!- soul9 [n=none@unaffiliated/johnnybuoy] has quit [Excess Flood]
17:55 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:55 -!- Suv123 [n=suvash@] has joined #go-nuts
17:55 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit [Read error: 60
(Operation timed out)]
17:55 < uriel> I was kind of hoping go would have rc like string quoting,
but I guess that was too radical :)
17:55 -!- Suv123 [n=suvash@] has quit [Client Quit]
17:55 * uriel can't stand \scaping after using rc
17:56 < rog> that wasn't what i was talking about.
17:56 -!- secsaba [n=secsaba@79-134-124-226.cust.suomicom.fi] has left #go-nuts []
17:56 -!- Suv123 [n=suvash@] has joined #go-nuts
17:56 -!- Suv123 [n=suvash@] has quit [Client Quit]
17:56 < rog> i was talking more about the kind of quoting you get when you
see a here script do: sed 's/^x//' << 'EOF'
17:56 -!- gordi [n=gordi@] has quit [Remote closed the
17:57 -!- Suv123 [n=suvash@] has joined #go-nuts
17:57 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
17:57 -!- gordi [n=gordi@] has joined #go-nuts
17:57 < rog> uriel: i marginally prefer the backquote syntax.  i think.
17:57 < rog> i mean backslash
17:57 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:57 < ryniek> http://tinyurl.com/chrome-os-webcast
17:58 < rog> just because i think \\\' is easier to interpret than ''''
17:59 < uriel> rog: well, it is not often that you need to quote a quoted
string, specially in a compiled language like go
17:59 -!- loureiro [n=loureiro@] has joined #go-nuts
17:59 < uriel> but that is just me
17:59 < uriel> I guess it is matter of taste
17:59 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
17:59 -!- flyguy [n=root@66-169-174-29.dhcp.ftwo.tx.charter.com] has joined
17:59 < uriel> and I guess they wanted a way to have \n and co
17:59 -!- gordi [n=gordi@] has quit [Remote closed the
17:59 <+iant> the backquote syntax is mainly to make it easier to write
regexps without losing yourself in backslashes
18:00 < exch> im glad its there
18:00 < rog> iant: of course.  i like it.
18:00 < exch> C# uses the @ operator to do that.  It made my life a lot
18:01 <+iant> yeah, there are still a couple of unused characters....
18:01 < kfx> heh
18:01 < rog> uriel: when it comes to quoting, i like common lisp's , and `
18:02 < uriel> rog: heh
18:02 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has joined
18:03 -!- robcat [i=d9947a35@gateway/web/freenode/x-qglyaunpepnqexgq] has joined
18:03 -!- flyguy [n=root@66-169-174-29.dhcp.ftwo.tx.charter.com] has quit [Client
18:03 < uriel> iant: I'm not a big fan of python strings (six different ways
to type a string?  WTF!) but I kind of like the prefixing with r""
18:03 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:03 < uriel> iant: a prefix-like system would keep the `` free (and some
people complain that they are hard to distinguish from ', but that is not an issue
for me)
18:03 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:03 < rog> uriel: but absent those, quoting by insertion of a char at
start of each line is unambiguous, nests well, is visually undistracting and fits
easily with any text editor
18:03 -!- hipe [n=hipe@pool-74-108-181-155.nycmny.east.verizon.net] has quit
[Remote closed the connection]
18:04 < uriel> but then, it might make things ambiguous if you have a
constant besides a string
18:04 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
18:04 -!- drusepth` [n=drusepth@adsl-75-25-103-130.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
18:04 < rog> the only downside is it's hard to think of a way to do it that
avoids an automatic \n at the end of the last line
18:04 < Tronic> ` are also quite difficult to write.
18:05 < Tronic> (depending on keyboard layout of course)
18:05 -!- Anders__ [n=Anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
18:05 < uriel> Tronic: depending on the keyboard layout anything is
difficult to write
18:05 -!- vegy [i=neki@89-212-27-225.dynamic.dsl.t-2.net] has joined #go-nuts
18:06 < uriel> the only way to remain sane if you program is to use standard
US layout
18:06 < rog> are you allowed \n inside ` ?
18:06 < KirkMcDonald> uriel: Six different ways?  More like 12.  :-)
18:06 < rog> by which i mean a literal newline?
18:06 -!- paulca [n=paul@] has joined #go-nuts
18:06 < KirkMcDonald> uriel: Since there are both byte-string literals and
unicode literals.
18:06 < timmcd> I thought that strings in backticks weren't parsed for that
kind of thing?
18:06 < uriel> KirkMcDonald: I din't know, I lost count, it is insane
18:06 < uriel> KirkMcDonald: and raw strings..
18:06 < KirkMcDonald> uriel: It's actually not so bad.
18:07 < uriel> timmcd: that is the point of backtick strings
18:07 -!- gordi [n=gordi@] has joined #go-nuts
18:07 < KirkMcDonald> uriel: '' "" """ """ ''' ''' and then the prefixes r''
and u'', and ur''.
18:07 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts
18:07 < KirkMcDonald> And of course the various methods of quoting all work
with the various prefixes.
18:08 < KirkMcDonald> Then Python 3 removes the u prefix, adding a b prefix.
(Reversing their meanings.)
18:08 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
18:08 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:09 < uriel> go seems to have all the strings I need, so I'm happy
18:09 < KirkMcDonald> I'm just happy that all string literals in Go are
multi-line strings.
18:09 -!- 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/"]
18:09 < KirkMcDonald> Which was always a weird thing in Python.
18:10 < KirkMcDonald> And also none of that \n\ nonsense from C.
18:11 * rog just forgot that his tin of soup has been on the stove for 40 minutes
18:11 -!- nixfreak [n=nixfreak@mn-10k-dhcp1-3174.dsl.hickorytech.net] has joined
18:11 < rog> http://pastebin.com/mfce36d2
18:11 < uriel> rog: use gopaste.org ;)
18:12 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
18:13 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
18:13 < KirkMcDonald> My Go lexer was committed to Pygments, but
paste.pocoo.org doesn't seem to keep up with the latest trunk.
18:13 -!- Snert [n=achowe@puff.snert.com] has quit ["ChatZilla 0.9.85 [Firefox
18:13 -!- uwedeportivo [n=uwe@] has joined #go-nuts
18:13 < rog> anyway, that'd work, in principle as "[^"]*\n is illegal
18:14 -!- miloe [i=miloe@ip55-14.thenet.ph] has quit []
18:14 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:14 < KirkMcDonald> Oh. I thought that did work.
18:14 < rog> and it wouldn't even be that dangerous, because you'd make it
illegal to have anything but the quote character or " on each line
18:14 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:14 < KirkMcDonald> rog: D permits this.
18:15 < KirkMcDonald> rog: And that language doesn't seem to fall apart
18:15 < rog> really?  i thought i invented it :-)
18:15 < KirkMcDonald> (Except for the weirdness with the ".." token, but
that's another thing.)
18:15 < ajhager> At the end of ./all.bash it reports 2 known bugs.  Is there
any way of knowing what those 2 bugs are specifically?
18:15 < rog> (the exact notation that is - i've never looked at D)
18:15 -!- amacleod [n=amacleod@c-24-34-33-96.hsd1.ma.comcast.net] has joined
18:16 < KirkMcDonald> rog: Maybe I'm not clear on what you're talking about.
18:16 <+iant> ajhager: look for "BUG" in test/run.out
18:16 < KirkMcDonald> rog: I'm talking about multi-line string literals.
18:16 < ajhager> iant: Thanks
18:16 < rog> KirkMcDonald: me too
18:16 < KirkMcDonald> rog: Yeah, okay.
18:16 <+iant> ajhager: in any case, they will be the files in test/bugs
18:16 <+iant> when bugs are fixed, the files are moved from test/bugs to
18:16 -!- kozak [n=kozak@] has joined #go-nuts
18:17 < rog> KirkMcDonald: and my string literal in the paste would be the
same as "\n some quoted code\n\n"
18:17 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has quit [Remote closed the
18:17 < exch> what exactly does fallthrough do in a switch block?  It seems
it drops control to the next case, but ignores any expression that might make it
skip the block
18:17 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
18:17 < KirkMcDonald> rog: Oh. In D, the # stuff would be part of the
18:17 -!- gordi [n=gordi@] has quit [Remote closed the
18:17 < rog> KirkMcDonald: ah, that's the point
18:17 < rog> KirkMcDonald: the rule is:
18:18 -!- ni| [n=james@isp2-resnet-nat1.union.edu] has joined #go-nuts
18:18 < golangguru> error installing mercurial http://pastebin.com/d5e977017
18:18 < rog> KirkMcDonald: if a " string literal ends in a newline, any
intial blank chars are discarded
18:18 < ajhager> iant: Oh ok.  I see it now.  Very handy to be aware of.
18:19 <+iant> exch: that's right, it falls into the statements of the next
case, ignoring the actual case expression
18:19 < rog> KirkMcDonald: then the chars following it are the quote prefix
18:19 < exch> hmm
18:19 < rog> KirkMcDonald: which is then elided from the start of each
following line
18:19 < JBeshir> It makes it behave like C's switch, exch.
18:20 < rog> KirkMcDonald: (initial blank chars are elided first)
18:20 < exch> I see.  was kinda hoping it would re-evaluate the next case
expression, but alright :)
18:20 < uriel> golangguru: if you have trouble installing mercurial, ask in
18:20 <+iant> exch: that wouldn't make sense if it was case 0: ...
fallthrough; case 1:
18:20 < uriel> golangguru: see also http://mercurial.berkwood.com/
18:20 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has quit []
18:20 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:20 < rog> KirkMcDonald: it sounds a bit complex but in use it's very
intuitive...  i think!
18:20 < exch> true
18:21 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
18:21 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:21 < golangguru> uriel: thnaks
18:21 < exch> this just seems a bit odd ^^ http://gopaste.org/zf5nA
18:21 < exch> but alright
18:21 < uriel> exch: fallthrough gives you C's switch behavior
18:21 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has joined
18:21 < rog> exch: fallthrough falls through without testing the condition
18:21 -!- Killerkid [n=l1am9111@host86-132-25-26.range86-132.btcentralplus.com]
has quit [Read error: 110 (Connection timed out)]
18:22 < uriel> it is quite useful in some cases
18:22 < JBeshir> exch: The idea is to have multiple cases have the same
18:22 -!- pshahmumbai [n=prashant@] has joined #go-nuts
18:22 < exch> yea I get the idea :)
18:23 < exch> lack of a break statement would do the same in c and flavours
18:23 < JBeshir> Right.
18:23 -!- Killerkid [n=l1am9111@host81-129-160-210.range81-129.btcentralplus.com]
has joined #go-nuts
18:24 < delsvr> you'd want to implement that particular example with a for
loop, anyway
18:24 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined
18:24 -!- skyfive [n=skyfive@adsl-69-106-255-203.dsl.pltn13.pacbell.net] has quit
[Remote closed the connection]
18:24 < nixfreak> is there a webserver and libs for the web
18:24 < uriel> nixfreak: yes
18:24 < uriel> golang.org runs go
18:25 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has quit [Client
18:25 < uriel> (gopaste.org also runs go)
18:25 < nixfreak> cool
18:26 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined
18:26 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined
18:27 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
18:27 -!- sku [n=sku@] has joined #go-nuts
18:27 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:27 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:28 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
18:28 -!- mode/#go-nuts [+v kaib] by ChanServ
18:29 < amirpc> if I fire off a go routine then drop out of main, the go
routine will run until completion correct?
18:29 -!- kaib_ [n=kaib@] has joined #go-nuts
18:29 -!- mode/#go-nuts [+v kaib_] by ChanServ
18:29 < directrixx> amirpc: nope
18:30 -!- aidecoe [n=aidecoe@2001:470:1f0b:77d:0:0:a1d:3c0e] has quit [Read error:
60 (Operation timed out)]
18:30 < amirpc> so is there a way to yield until all threads have completed?
18:30 -!- engla [n=ulrik@90-229-231-23-no153.tbcn.telia.com] has joined #go-nuts
18:30 < exch> use channels
18:30 -!- aidecoe [n=aidecoe@etiriah.aidecoe.name] has joined #go-nuts
18:30 < amirpc> yeah I was thinking there would be another way since I
actually am not trying to pass input back and forth, but I should just use them as
a synchronization mechanism?
18:31 <+iant> amirpc: it's normal to set up goroutines which just sit around
waiting for something to do, so in many programs waiting for all goroutines to
terminate would wait forever
18:31 < amirpc> makes sense
18:31 -!- MrTopf [n=mrtopf@p5B395859.dip.t-dialin.net] has left #go-nuts
18:31 -!- gasreaa [n=atwong@nat/slide/x-sqapfsvjjgdeljcq] has joined #go-nuts
18:33 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:33 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:34 < rog> iant: the slight difficulty i have with that is that the units
you're making your program of don't necessarily all have a "i've finished"
notification channel.
18:34 -!- dw [n=dw@host86-168-2-225.range86-168.btcentralplus.com] has left
#go-nuts []
18:34 < exch> I suppose you could pass them a channel that notifies you of
whether they are done or not, but also keep a timeout, after which you just force
everything to quit.
18:34 < rog> ...  but maybe in that circumstance an infinite wait is what
you want to do anyway
18:34 < rog> exch: how do you choose an appropriate timeout?!
18:35 < exch> depending on what your goroutines do I suppose
18:35 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has quit
[Connection timed out]
18:35 < rog> exch: but your program might be running an interpreted language
18:35 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
60 (Operation timed out)]
18:35 < rog> exch: so you don't necessarily know what your goroutines are
gonna do
18:36 < yuanxin> rog: not sure I see the problem.
18:36 < exch> ah righty.  Well at some point you just have to take control
and make a decision
18:36 < yuanxin> rog: if you need the parts your program is made of to have
an "I've finished" notification channel, then write them that way
18:36 < rog> yuanxin: i haven't necessarily written all the parts my program
is made of...
18:37 < rog> i think the real question is: who decides how long the program
executes for?
18:37 < exch> if you include external, non verifiable code in the
goroutines, you enter a world of potential hurt.  A strict protocl would not be a
luxury.  That includes saying that at some point you will demand the routines to
quit if they don't supply any meaningul signals.
18:37 < yuanxin> rog: wrap the other part in a goroutine that polls to see
if it's finished, and notify on a channelw hen it is
18:37 < rog> currently the main process is total arbiter
18:37 -!- cmarcelo [n=quassel@enlightenment/developer/cmarcelo] has joined
18:37 < rog> exch: i mean library code
18:38 < yuanxin> s/channelw hen/channel when/
18:38 < directrixx> rob: that's why they call it main
18:38 < rog> directrixx: yes, i think i've come around to their point of
view - background processes not allowed
18:39 < rog> yuanxin: it might not be possible to poll for when it's
18:39 < yuanxin> rog: I can't imagine a situation where you'd start
something asynchronously and have no way to tell when it's finished
18:39 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:39 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:39 < yuanxin> or even if you did, how making main wait for all goroutines
to terminate would help you
18:40 < yuanxin> maybe you could give a more concrete example...
18:40 < rog> yuanxin: for instance, i could imagine setting up a pipeline of
processes to spool a job to a printer.  the main process is expecting nothing out
of the pipeline, but it still wants to wait until the printer has all the job.
18:41 -!- sku [n=sku@] has left #go-nuts []
18:42 < rog> if the person writing the asynchronous printer-access library
routine provides no way to say when it's finished, then i have to wait forever
18:42 < exch> in that case the printer -access code has a bug
18:42 < rog> the pipeline is connect via channels, of course
18:42 < yuanxin> seems like poor library design
18:42 < exch> you really need the signaling mechanism
18:43 < rog> exch: in that case *any* routine that doesn't provide an
exit-notification channel has a bug
18:43 < exch> only if the exit routine is strictly needed
18:43 < yuanxin> rog: not necessarily.  It could also provide a polling
18:43 -!- robcat [i=d9947a35@gateway/web/freenode/x-qglyaunpepnqexgq] has quit
[Ping timeout: 180 seconds]
18:44 -!- paulca [n=paul@] has quit []
18:44 < rog> exch: same difference (except less efficient)
18:44 < rog> oops
18:44 < rog> i meant to address that to yuanxin
18:45 < yuanxin> rog: I would say that yes, an asynchronous routine that
provides no way of telling whether it's finished is a bug
18:45 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has quit
18:45 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has joined
18:45 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:46 < rog> yuanxin: ...  which (for me) kinda points in the direction of
the utility of a general purpose mechanism.
18:46 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:46 < rog> s/general/more general/
18:46 < flyguy> is there any way to kill a goroutine from outside the
18:46 < rog> flyguy: nope
18:46 < yuanxin> flyguy: this was discussed on the list, let me try to find
18:47 < directrixx> flyguy: use a channel to send it a message
18:47 < flyguy> so if I want to have a goroutine that does stuff, but only
for certian amout of time (timeout of sorts), I have to build a stop channel into
the goroutine?
18:48 < yuanxin> flyguy: basically yeah
18:48 < flyguy> and then have the goroutine poll the channel?
18:48 <+iant> flyguy: you could use an explicit timeout, I suppose, although
that would in effect just mean receiving a signal on a channel
18:48 < directrixx> flyguy: exactly
18:48 <+iant> flyguy: if the goroutine is not based on reading values from a
channel, then, yes, it would have to poll the channel periodically
18:48 < yuanxin> imo "go doSomething()" should return some sort of goroutine
struct on which you can call a method to kill it
18:49 <+iant> killing a goroutine asynchronously is hard
18:49 < flyguy> please elaborate on explicit timeout - is there a built-in
way to kill a goroutine after a certain amount of time?
18:49 <+iant> it's very hard to write a way to make that safe
18:49 < rog> it's not only hard, it's fundamentally unsafe
18:49 < yuanxin> interesting...  why is this?
18:50 <+iant> flyguy: no, you would in effect set up a channel which would
have a value sent on it after some time
18:50 <+iant> flyguy: so the problem reduces to the previous problem
18:50 <+iant> yuanxin: because a goroutine might be in the middle of the
runtime doing some locked operation
18:50 < rog> yuanxin: because the code might be in the middle of some op on
a crucial data structure
18:50 <+iant> yuanxin: or it might even have some user level mutex locked
18:50 < flyguy> so, the function that creates the goroutine might create
another goroutine that waits a specified amount of time and sends the kill
18:50 <+iant> flyguy: essentially, yes
18:51 < rog> iant: what ian says, only it's more worse than that, because it
could be in the middle of some cooperative protocol with another goroutine
18:51 -!- pshahmumbai [n=prashant@] has quit ["Ex-Chat"]
18:52 < rog> flyguy: i think the idea is to fire off two threads, one that
does a sleep, the other does the operation.  select for either of them, then you
know if the op times out or succeeds.
18:52 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:52 < yuanxin> iant: I understand, thanks :)
18:52 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:52 < rog> flyguy: the only difficulty is: even if the timeout fires, the
operations is still waiting around and might succeed later.
18:53 < rog> flyguy: i don't think there's any way to work around that
18:53 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
18:53 < flyguy> and if the goroutine that's doing work is blocked on some
other event, it may never get around to polling
18:53 < flyguy> ...for the kill signal
18:53 < rog> flyguy: in a language like this, you almost never need to poll.
18:54 < rog> flyguy: the only case is if you're havily compute-bound
18:54 <+iant> flyguy: if you ever block, you can arrange to block on a
channel, and then you can use select
18:54 < flyguy> rog: I thought that's what the kill channel was for - for
the working goroutine to know when to give up?
18:54 < rog> s/havily/heavily/
18:54 -!- ring-zero [n=hotshot@] has quit [Remote closed the
18:55 < rog> flyguy: depends whether you're in a loop or maybe blocked on a
TCP read, for example.
18:55 < rog> flyguy: if you're in a loop, then you can usually arrange that
the loop only blocks on a channel read, in which case it can select for the kill
channel too.
18:56 < rog> flyguy: blocking syscalls are harder
18:56 < yuanxin> it'd be interesting if i/o-related libraries could
communicate on channels
18:56 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has quit
18:56 < rog> yuanxin: at some stage it's gotta make a real syscall
18:56 < yuanxin> e.g.  have it send on a channel when there is something to
be read on a TCP connection, say
18:56 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has joined
18:56 < yuanxin> rog: well, of course, but I mean what the library user sees
18:56 < rog> yuanxin: but yeah, a chan-based kernel interface would be cool
18:57 < yuanxin> I mean obviously this is something you can set up yourself
trivially so I guess it's not a big deal
18:57 < dho> rog: couldn't you just set up a goroutine wrapper around
syscall calls?
18:57 < rog> yeah you could
18:57 < rog> and it might be a nice thing to do actually
18:58 <+iant> I think there would be some advantage to providing that in the
standard library, though we would also want the direct syscalls
18:58 < uriel> yuanxin: you mean something like this:
http://man.cat-v.org/plan_9/2/ioproc ?
18:58 < rog> so that you easily have a syscall interface that's composable
with timeouts etc
18:58 < flyguy> yuanxin: I guess I'm not seeing the triviality of it.  If
the syscall blocks, how do you get around to polling the quit channel to know when
to give up?
18:58 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:58 < dho> flyguy: because you're in a goroutine.
18:58 <+iant> flyguy: you wrap the blocking syscall in a mini-goroutine that
writes to a channel
18:58 < dho> flyguy: you aren't blocking, another thread is
18:58 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:58 < dho> and then when you want to quit / timeout the syscall, you just
signal that thread
18:59 < dho> syscall returns EINTR and you continue with life
18:59 -!- p4p4 [n=pedro@] has quit [Remote closed the
18:59 < yuanxin> uriel: not sure; I don't know anything about Plan9
18:59 < rog> uriel: not really
18:59 < rog> dho: but in go, you can't signal the thread...
18:59 < dho> right
18:59 < uriel> rog: just guessing what yuanxin was asking for
18:59 < dho> so you'd need to have some way to interrupt the syscall
19:00 < dho> maybe i'll look at doing that.
19:00 < rog> dho: yup.  that's all i've come up with as a "safe" way to stop
19:00 -!- Chaze [n=Chase@dslb-188-097-004-147.pools.arcor-ip.net] has joined
19:00 < rog> dho: kinda like a soft kill that only works on syscalls.
19:01 < rog> s/on syscalls/if the process is executing a syscall/
19:01 < Tronic> I bet the discussion has happened on this channel a numerous
times already, but are there responses to Golang criticism recorded on the web?
19:01 < dho> rog: you'd have to have a way to tell the syscall not to
19:01 < Tronic> I have read the FAQ and the language FAQ, but apparently
those haven't been updated (much at least) since the release.
19:01 <+iant> Tronic: there is the mailing list archive, I suppose;
otherwise, what criticisms did you have in mind?
19:02 < rog> uriel: ioproc is just a hack to allow threads to do I/O without
blocking other threads.
19:02 <+iant> I don't think the Go team is going to spend time responding to
criticism off the mailing list
19:02 <+iant> that does not seem particularly productive
19:03 < uriel> rog: well, I thought that was what goroutines do...  I'm
probly confused, so nevermind me
19:03 < rog> Tronic: i've seen about five million critical posts, of which
only a very few had a good point.
19:03 -!- kaib [n=kaib@] has quit []
19:03 < rog> uriel: goroutines do that as a matter of course
19:03 < dho> uriel: the process is similar to what ioproc is used for,
19:03 <+iant> Tronic: we would be happy to receive well-written and relevant
additions to the FAQ
19:03 < dho> but you can't just use its implementation
19:04 <+iant> assuming the Q's really are FA
19:04 < uriel> yea, I was not talking about the implementation obviously,
just wondering if the concept was the same
19:04 < uriel> (that was my understanding)
19:04 < rog> uriel: the idea for the syscall interface (as i imagine it) is
to have routines like: func open(file string, mode int) <-chan fd
19:04 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:04 < rog> actually, that reminds me
19:04 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:04 < rog> why i really want first class tuples
19:05 < rog> you can't take the result of any function and send it down a
19:05 < yuanxin> haven't seen that suggested on the list yet; maybe you
should post
19:05 < rog> you have to make up a new struct for every time you want to do
19:05 -!- leopa [n=leopoldo@] has joined
19:05 < rog> yuanxin: the go team know all about first class tuples
19:06 < rog> yuanxin: they just don't think they're worth it.  (and they'd
muck the language as it currently stands)
19:06 < yuanxin> of course they know about them.  It'd just be interesting
to see discussion around why they weren't added to the language
19:06 <+iant> there was some pretty good reason why we didn't support
sending a tuple on a channel, but I've forgotten what it was
19:06 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit ["Leaving"]
19:06 < yuanxin> I'm not suggesting they'd see your post and go "oh wait --
Tuples!  WHy didn't I think of that!"
19:06 < uriel> rob said something about it when he last was in the channel
19:06 -!- rndbot [n=bot@wikipedia/Gracenotes] has quit [Remote closed the
19:06 < nixfreak> anyone use archlinux here
19:07 < rog> i thought maybe it was something to do with the fact that
protobufs don't support them
19:07 <+iant> no, that wasn't it
19:07 < Nanoo> nixfreak, yes I use archlinux
19:07 < rog> the syntax then?
19:07 < Nanoo> but currently I'm on windwows
19:08 <+iant> rog: sorry, I don't remember
19:08 < rog> hmm.
19:08 < rog> anyway, i miss that strict duality between
function-return-value and channel-of-value
19:09 < rog> if you have proper tuples, you can't play the sort of tricks
that (x, ok) := <-foo pulls.
19:09 < rog> s/tricks/trick/
19:10 -!- codehai [n=codehai@xdsl-78-34-36-14.netcologne.de] has quit [Client
19:10 < facemelter> is there a gtksourceview style for Go available?
19:10 < nixfreak> Nanoo could you please look at this paste for me
19:10 < nixfreak> http://pastebin.ca/16781392~
19:10 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:11 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:11 < Nanoo> nixfreak, doesn't work
19:11 < Nanoo> That is an invalid ID, or the post has expired.
19:11 < dho> take the ~ off the end.
19:11 < nixfreak> http://pastebin.ca/16781392
19:11 < nixfreak> oops
19:11 < Nanoo> dho, I'm not dump
19:12 < rog> so anyway, for the channel-like syscall interface, you'd need a
new struct for each pair (r T, err Error) for all T in the os interface
19:12 < rog> which seems a bit like hard work, but it's easily doable.
19:12 < dho> rog: depends
19:12 -!- yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has joined
19:12 < dho> rog: if you just wanted to support nbio for now, that wouldn't
be too bad
19:12 < Nanoo> actually I am
19:13 < Nanoo> dump -> dumb
19:13 < Nanoo> lol
19:13 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
19:13 < rog> dho: nbio?
19:14 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
19:14 < dho> non-blocking i/o
19:14 < rog> dho: is it new?  doesn't seem to be in my copy
19:15 < dho> i'm saying you could do it
19:15 < rog> dho: oh, you mean read, write, open?
19:15 < rog> sure
19:15 < dho> yes, and socket operations
19:15 < dho> most of those are going to just return ints
19:15 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
[Client Quit]
19:15 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
19:16 < dho> and that's by far the largest use case
19:16 < rog> lack of first class tuples is going to bite harder when
generics come along
19:16 < Tronic> iant: Mailing list archives seem useful.  Thanks.
19:16 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:16 < enigmus> What's with the Brian Kernighan Hello, World!  commits at
the beginning of Go's hg history?  Inside joke?
19:16 < JBeshir> enigmus: Do you know what "Hello World" is?
19:16 < enigmus> JSharpe: I thought I did...
19:16 < rog> because you won't be able to have a function that calls another
function, saves its result, does something else and then returns it.
19:17 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
19:17 < nixfreak> Nanoo what do you think itis
19:18 < Nanoo> nixfreak, what?
19:18 < Nanoo> your the paste didn't exist
19:18 < nixfreak> what
19:18 < nixfreak> one sec
19:18 -!- no_mind [n=orion@] has quit [Read error: 104 (Connection
reset by peer)]
19:18 < nixfreak> http://pastebin.ca/1678139
19:19 -!- codehai [n=codehai@xdsl-78-34-36-14.netcologne.de] has joined #go-nuts
19:19 < nixfreak> Ijust tried it , works
19:19 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:20 -!- leopa [n=leopoldo@] has left
#go-nuts []
19:20 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 104 (Connection reset by peer)]
19:20 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:20 < dagle2> nixfreak: build manualy and set your locale to C.
19:20 < exch> any idea why cgo keeps failing with this?
19:21 -!- mainman__ [n=Adium@host24-156-dynamic.21-79-r.retail.telecomitalia.it]
has joined #go-nuts
19:21 <+iant> exch: cgo is just running gcc, so you have to figure out why
gcc is failing to compile
19:21 < exch> hmm
19:21 * exch gets some coffee
19:21 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has quit [Read
error: 54 (Connection reset by peer)]
19:22 -!- abracadadra [n=dmsh@] has joined #go-nuts
19:22 < KirkMcDonald> I've thrown my command-line option parser, such as it
is, online: http://code.google.com/p/optparse-go/
19:22 -!- kampasky [i=pasky@nikam-dmz.ms.mff.cuni.cz] has quit [Remote closed the
19:22 -!- kampasky [i=pasky@nikam-dmz.ms.mff.cuni.cz] has joined #go-nuts
19:22 < nixfreak> Thanks dagle2
19:22 <+iant> exch: almost looks like some stray character in the file or an
unfinished declaration or something
19:22 -!- abracadadra [n=dmsh@] has left #go-nuts []
19:22 <+danderson> KirkMcDonald: shiny.
19:22 <+danderson> I'm actually wondering if you might be the first
published open source go project
19:22 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has joined #go-nuts
19:23 <+danderson> but I haven't followed the list enough to know
19:23 < KirkMcDonald> Hah.
19:23 <+danderson> KirkMcDonald: so, contributing it back to the core Go
19:23 < KirkMcDonald> It is MIT licensed.
19:23 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined
19:24 < exch> iant.  it seems that's the case.  I had another comment above
the // #include ...  bit..  apparently cgo considers that part of the code to
compile :p
19:24 < KirkMcDonald> So: Sure, if you want it.
19:24 -!- ryniek [n=RYNIEK@host-89-231-127-96.warszawa.mm.pl] has quit ["X-Chat
det :"<"]
19:24 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has quit
19:24 <+danderson> well, I'm not on the Go team, but it strikes me as a
useful library that would make a good addition to the stdlib
19:24 <+danderson> (or even a replacement for the flags package?)
19:25 < KirkMcDonald> The API is similar, but not identical, to the flag
19:25 -!- hipe [n=hipe@] has joined #go-nuts
19:25 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit [Read error: 110
(Connection timed out)]
19:25 -!- mainman__ [n=Adium@host24-156-dynamic.21-79-r.retail.telecomitalia.it]
has left #go-nuts []
19:25 <+danderson> that may be cool.  This is, after all, a language still
in flux :)
19:25 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 131 (Connection reset by peer)]
19:25 <+danderson> but I'm talking with no authority here.
19:26 <+danderson> iant: how about it, would
http://code.google.com/p/optparse-go/ have a place in the stdlib, either as a
supplement or replacement to flags?
19:26 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:26 < KirkMcDonald> Also bear in mind that I don't know how idiomatic the
code is.
19:26 < KirkMcDonald> I abuse variadics in a particular way...
19:26 <+danderson> KirkMcDonald: that can be fixed in code review
19:26 <+iant> danderson: it's a good question but I never touched the flag
package, and I don't know
19:27 <+iant> KirkMcDonald: you should submit it if you are interested; I
can't predict offhand what Rob will think of it
19:27 <+danderson> hmm, and Google Code Project Hosting doesn't syntax
highlight .go files.  And I know where to poke to fix that.
19:27 * danderson goes off to submit a change to Google Code
19:28 <+iant> KirkMcDonald: it needs comments that godoc will pick up
19:28 < KirkMcDonald> Yes, documentation needs to be written.
19:28 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 104 (Connection reset by peer)]
19:28 < KirkMcDonald> Possibly unit tests, as well.
19:29 < rog> iant: is there some succinct documentation for how godoc
comments work?
19:29 < rog> iant: i'm probably blind
19:29 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:29 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:29 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:29 -!- p4p4_ [n=P4p4@] has joined #go-nuts
19:30 <+iant> rog: Hmmm, I don't know; they are pretty simple in general
19:30 <+iant> rog: it would be kind of ironic if there were no docs for it,
19:30 < ni|> hey what are most people using to edit go progs?  Seem vim and
19:30 -!- cmarcelo [n=quassel@enlightenment/developer/cmarcelo] has quit [Read
error: 104 (Connection reset by peer)]
19:30 < ni|> i use sam txt editor
19:30 < amro> using kate here
19:31 -!- jgoebel [n=jgoebel@96-28-100-3.dhcp.insightbb.com] has quit [Client
19:31 -!- sm_ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
19:31 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Nick collision
from services.]
19:31 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 60 (Operation timed
19:31 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:31 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 54 (Connection reset by peer)]
19:32 < rog> iant: i think i had a look...
19:32 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:32 < rog> ni|: i use p9p acme
19:32 < WalterMundt> stupid question: given some text in a byte[], what's
the most straightforward way to convert to string?  (byte[].String() produces [nn
nn ...] rather than just providing the text)
19:32 <+iant> string([]byte)?
19:33 < WalterMundt> same thing
19:34 < WalterMundt> gives the byte values in decimal
19:34 < WalterMundt> as "[65 100 67 ...]"
19:34 -!- hsuh [n=hugoschm@c925a62a.virtua.com.br] has joined #go-nuts
19:34 <+iant> if you have a []byte in v, then string(v) will return a string
such that the bytes in the string are the bytes in the []byte
19:34 < exch> iant: can I force cgo to store the xxx.cgo1.go file it
creates, even if it encuonters an error?
19:35 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
19:35 <+iant> exch: no idea, sorry
19:35 < exch> bummer
19:35 < WalterMundt> weird, let me see just what I have then, because it's
not doing that
19:36 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 54 (Connection reset by peer)]
19:36 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:36 -!- soul9 [n=none@unaffiliated/johnnybuoy] has joined #go-nuts
19:37 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
19:37 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
[Read error: 104 (Connection reset by peer)]
19:37 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has
joined #go-nuts
19:37 -!- Guest14331 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has quit []
19:38 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:38 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:39 -!- dj_tjerk [n=pietjebe@5ED1C662.cable.ziggo.nl] has joined #go-nuts
19:40 < WalterMundt> ok, that's really strange
19:40 < WalterMundt> if I do foo := io.ReadAll(bar); string(foo), I get the
[...] stringification.
19:41 < WalterMundt> if I do var foo []byte; foo = io.ReadAll(bar);
string(bar), I get the bytes as a string
19:41 -!- hsuh [n=hugoschm@c925a62a.virtua.com.br] has left #go-nuts []
19:41 < WalterMundt> er, string(foo) in the latter case, and with err in
19:41 <+iant> that is indeed very strange, and sounds like it must be a bug
19:41 < WalterMundt> either way, reflect.Typeof(foo) prints as []uint8
19:42 < ni|> rog: i'm using p9p sam so there!
19:42 < ni|> :)
19:43 -!- Suv123 [n=suvash@] has quit ["Leaving"]
19:43 -!- AlvaroGP [i=Alvaro@] has quit []
19:44 < WalterMundt> iant: I'll boil it down to a couple lines of working
test, and submit an issue
19:44 <+iant> WalterMundt: thanks
19:44 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:44 -!- bquinn [n=bquinn@nat/yahoo/x-xcrvqvknnzbztgla] has quit []
19:44 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Client Quit]
19:44 -!- kmc [n=keegan@206-71-236-70.c3-0.nyw-ubr5.nyr-nyw.ny.cable.rcn.com] has
quit ["Leaving"]
19:44 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:47 -!- JSharpe2 [n=jamie@5ad1d7f1.bb.sky.com] has joined #go-nuts
19:48 -!- Chaze [n=Chase@dslb-188-097-004-147.pools.arcor-ip.net] has quit []
19:49 < nixfreak> ok so I have go inside Mercurial
19:50 < WalterMundt> iant: initial test code reading from a strings.Reader
does not demonstrate.  Maybe it's specific to the reader type.  Testing with
whatever http.Get returns in r.Body which is where I'm hitting this
19:50 < nixfreak> I try to run the hello.go using 8g hello.g and 8g doesn't
19:50 < XniX23> $GOBIN is not set?
19:50 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:50 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has quit []
19:51 < nixfreak> ok
19:51 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:51 < XniX23> set the bin directory to PATH
19:51 -!- JSharpe [n=jamie@5ad1d7f1.bb.sky.com] has quit [Read error: 60
(Operation timed out)]
19:51 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
19:52 < Nanoo> nixfreak, you need to run /etc/profiles.d/go-lang.sh once
19:52 < Nanoo> after you installed the go package
19:52 -!- nigwil [n=chatzill@ppp59-167-87-232.lns20.hba1.internode.on.net] has
joined #go-nuts
19:53 < nixfreak> ok
19:53 -!- ikkebr [n=ikkibr@unaffiliated/ikkebr] has quit []
19:54 < WalterMundt> iant: can't reproduce.  maybe it was something else.
*shrugs* oh well
19:54 <+iant> ah well, thanks for trying
19:54 < nixfreak> /etc/profiles.d doesn't exit
19:56 < nixfreak> cd /etc/
19:56 < nixfreak> ls
19:56 < nixfreak> damn
19:56 -!- jorendorff [n=jorendor@c-76-22-141-17.hsd1.tn.comcast.net] has quit
[Read error: 104 (Connection reset by peer)]
19:57 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:57 < rog> ni|: acme > sam :-)
19:57 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:57 -!- jorendorff [n=jorendor@c-76-22-141-17.hsd1.tn.comcast.net] has joined
19:57 -!- golangguru [n=chatzill@] has quit ["ChatZilla 0.9.85
[Firefox 3.5.5/20091102134505]"]
19:59 -!- Anders__ [n=Anders@c83-253-2-206.bredband.comhem.se] has quit ["Lämnar"]
19:59 -!- paulca [n=paul@] has joined #go-nuts
20:01 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has joined #go-nuts
20:04 < ni|> rog: i like my regexp
20:04 < ni|> acme is a better env in gneral though
20:05 < ni|> i'm just waiting for other people to do the legwork to get go
on p9
20:05 < ni|> then i'll use it on the school plan9 server
20:06 -!- tor7_ [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
20:06 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[Read error: 104 (Connection reset by peer)]
20:07 -!- paulca [n=paul@] has quit []
20:07 < timmcd> for … range is nice.
20:08 < uriel> ni|: sape is almost finished with a go port to plan9
20:08 < nbaum> Where's my MS-DOS port dammit!?
20:09 < rog> ni|: i like my regexp too...  i use 'em all the time
20:09 -!- enigmus [n=e@S0106001d7e52d1d9.vc.shawcable.net] has quit ["leaving"]
20:09 -!- tomestla [n=tom@] has quit [Read error: 110 (Connection
timed out)]
20:10 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:10 -!- skyfive [n=skyfive@173-11-110-86-SFBA.hfc.comcastbusiness.net] has quit
20:10 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:11 -!- Anders__ [n=Anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
20:12 < rbohn> Can I get one for VMS?
20:12 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has quit
20:12 -!- ring-zero [n=hotshot@] has joined #go-nuts
20:13 < KirkMcDonald> Clearly we need a BeOS port.
20:15 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit ["Leaving"]
20:15 -!- djanderson [n=dja@pool-72-73-114-18.ptldme.east.myfairpoint.net] has
joined #go-nuts
20:18 -!- Nanoo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Read error:
110 (Connection timed out)]
20:19 -!- codehai [n=codehai@xdsl-78-34-36-14.netcologne.de] has quit [Client
20:19 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has joined
20:19 -!- 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/"]
20:20 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
20:20 < flyguy> I've never written a compiler, so forgive me if this is more
complicated than it seems at first, but why does go complain about unused imports?
Why can't it just ignore them?
20:20 < KirkMcDonald> flyguy: It could just ignore them.
20:20 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has quit [Remote closed
the connection]
20:20 < jimi_hendrix> where is deps.bash located?
20:20 < dho> it purposefully does not
20:21 * jimi_hendrix cant find it in $GOROOT/src
20:21 -!- jrgp [n=jrgp@rrcs-65-34-27-38.se.biz.rr.com] has quit [Read error: 110
(Connection timed out)]
20:21 < KirkMcDonald> flyguy: That it does not is intentional.
20:21 < dho> jimi_hendrix: src/pkg?
20:21 -!- asyncster [n=asyncste@] has quit [Read error: 110
(Connection timed out)]
20:21 < jimi_hendrix> :)
20:22 < flyguy> what is the impetus behind that?
20:22 -!- gpurrenhage [n=gpurrenh@] has quit []
20:22 < KirkMcDonald> flyguy: Unnecessary dependencies are bad.
20:23 < dho> flyguy: The same reason that gcc warns about unused symbols.
it's unnecessary
20:23 < jimi_hendrix> and i assume the packages are built in alphabetic
20:23 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:23 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:23 < dho> jimi_hendrix: they're built in the order specified in the
makefile there, which is sorted alphabetically yes
20:24 < flyguy> KirkMcDonald: but if the compiler knows that the
dependencies are unused, why not warn about it (like gcc) - why the error?
20:24 < jimi_hendrix> rawr
20:24 < flyguy> KirkMcDonald: or at least an option to the compiler to
ignore unused imports
20:24 < KirkMcDonald> flyguy: You would have to ask the designers of the
20:25 < dho> flyguy: it's been that way for years with Plan 9 C
20:25 < jimi_hendrix> oh well
20:25 < dho> keeps code clean anyway
20:25 < JBeshir> I'd like an option to the compiler to autogenerate imports.
20:25 < JBeshir> Just because as it stands, Go is really really annoying to
"play with".
20:25 < dho> JBeshir: that would slow it down heavily
20:25 < JBeshir> dho: Yeah, I'm thinking of this for the early
"experimenting with features" stuff.
20:25 < dho> unless you had it build a symbol cache
20:26 < JBeshir> Or at least the "ignore invalid" bit, I guess.
20:26 < KirkMcDonald> My next project will be a build tool.
20:26 < dho> if not, it would have to scan every library in your pkg install
20:26 < dho> KirkMcDonald: port Plan 9's mk
20:26 < JBeshir> No, it'd need to do what rndbot does.
20:26 < dho> KirkMcDonald: that will be very welcome, I think.
20:26 < KirkMcDonald> dho: I am not familiar with this.
20:26 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
20:26 < dho> KirkMcDonald: it's a *very* nice build framework
20:26 < KirkMcDonald> dho: My current plan: Input list of source files,
output Makefile.
20:27 < dho> I guess.
20:27 < rog> http://pastebin.com/m100fea3c
20:27 < dho> It would be nice for Go to have a standard build framework.
20:27 < dho> hence the mk suggestion
20:27 < rog> a modified version of gc/lex.c that parses my "prefix-string"
syntax, just for interest's sake
20:27 < KirkMcDonald> ls *.go | my_tool | make -f-
20:28 < KirkMcDonald> Or what-have-you.
20:28 < dho> KirkMcDonald: there are at least 3 popular versions of a build
tool called make
20:28 < dho> and they're not all compatible
20:28 < KirkMcDonald> dho: True.
20:28 < KirkMcDonald> dho: I had GNU make in mind.
20:28 < dho> having mk is very specific, and guarantees us to not have to
deal with autotools hell
20:28 < KirkMcDonald> dho: But that is a valid point.
20:28 < KirkMcDonald> GNU make does not imply autotools.
20:29 -!- mat_ [n=mat@mx3.absolight.net] has quit [Read error: 104 (Connection
reset by peer)]
20:29 -!- mat_ [n=mat@mx3.absolight.net] has joined #go-nuts
20:29 < dho> No, but it makes it easier to fall back on
20:29 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:29 < dho> KirkMcDonald: also, for FreeBSD I had to do quite a lot of
build framework changes because of the assumption that bash is /bin/bash and make
is gnumake
20:29 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:30 < dho> it's just kind of shitty
20:30 < KirkMcDonald> dho: My main impetus is that, given a complete
manifest of source files, you can statically determine the dependency graph.
20:30 < jimi_hendrix> what do backticks do?
20:30 < KirkMcDonald> jimi_hendrix: String literals without
20:30 < dho> jimi_hendrix: strings
20:30 < dho> what KirkMcDonald said
20:30 < jimi_hendrix> ah ok
20:30 < dho> e.g.  foo := `foo bar
20:30 < dho> bat baz`
20:30 < dho> is valid
20:31 < dho> sort of like heredocs, I guess.
20:31 < KirkMcDonald> path := `C:\Windows\system32`
20:31 < dho> that's another good one
20:32 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
20:32 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:34 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has quit [Read error: 110 (Connection timed out)]
20:34 -!- Hofanoff [i=hofanoff@server1.bshellz.net] has quit [Read error: 104
(Connection reset by peer)]
20:35 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has joined #go-nuts
20:36 -!- Guest14331 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined
20:36 -!- dgnorton [n=dgnorton@] has joined #go-nuts
20:36 < Rob_Russell> i don't see a way to do path:=`C:\goofy`pathname\file`
20:38 < flyguy> I thought \' could be escaped
20:38 < flyguy> sorry, \`
20:38 < rog> sorry for going on, but i quite like this.  here's an example
program using my quote syntax.  i've run it and it works.
20:38 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:38 < Rob_Russell> looking at "Character literals" in the language doc but
i don't see \` described as valid (yet)
20:39 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:39 < rog> Rob_Russell: that's right - there's no way to quote a ` inside
a `
20:39 -!- cmarcelo [n=quassel@] has joined #go-nuts
20:39 -!- cmarcelo [n=quassel@] has quit [Remote closed the
20:40 -!- delsvr_ [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined
20:40 < rog> Rob_Russell: if you want one, use "
20:41 -!- aa [n=aa@r200-40-114-26.ae-static.anteldata.net.uy] has quit [Read
error: 104 (Connection reset by peer)]
20:41 < delsvr_> I've noticed some calls like os.Open(filename, 0, 0), where
the last two parameters identify an open flag and permission.  Do the zeroes imply
some sort of default value?
20:41 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 60 (Operation timed
20:42 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:42 < olegfink> ~~.
20:42 < jhendrix> do all patch submissions to the std packages require
20:42 < olegfink> er, how did it get there.
20:43 < uriel> jhendrix: probably yes
20:43 < jhendrix> the test is taking more work than the update :(
20:43 * jhendrix just added an interface to the log package and one small function
20:43 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
20:44 * dho is tired of seeing __ed's hostname
20:44 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:44 < dho> hooray for /ignore.
20:45 < jhendrix> lol
20:45 < nixfreak> ok so I got hello.go to compile but when I run ./8.out I
20:45 < jhendrix> how so?
20:46 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has quit
20:46 * dho has zero clue how go works on lollinux
20:46 -!- delsvr [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has quit []
20:46 < dho> well, slightly more than zero
20:46 < rog> > fmt.Printf("test\n");
20:47 < rog> hmm.  thought there was a go 'bot here earlier :-)
20:47 < jhendrix> this is frustrating...
20:47 < dho> isn't it <?
20:47 < dho> < fmt.Printf("test\n");
20:47 * dho dunnolols.
20:47 < dho> 14:07 -!- rndbot [n=bot@wikipedia/Gracenotes] has quit [Remote
closed the connection]
20:48 < nixfreak> has anyone got that error before
20:48 < nixfreak> KILLED
20:48 * jhendrix is trying to copy the testLog in log_test.go, but i cant figure
out what i am doing wrong
20:48 -!- nigwil [n=chatzill@ppp59-167-87-232.lns20.hba1.internode.on.net] has
quit ["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
20:48 < jhendrix> it isnt reading from the pipe or something
20:48 < dho> nixfreak: without os/arch, i doubt anybody will have any clue,
and i'm guessing you might also have more information in e.g.  /var/log/messages
20:48 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out]
20:49 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:49 < nixfreak> archlinux i686
20:50 * dho wonders if it's a bad syscall.
20:51 < dho> is there any information in /avr/log/messages about why it was
killed?  alternatively, if you run 8.out in gdb, does that tell you why it was
20:51 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
20:54 < jhendrix> why is this hanging when i try to run all.bash to compile
my update: http://www.gopaste.org/1SFmA (hangs at line 13)
20:55 < jhendrix> (LogObj prints to stdout)
20:55 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:55 < nixfreak> nope
20:56 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:56 -!- Netsplit farmer.freenode.net <-> irc.freenode.net quits: sstangl,
vegard, djm, DJCapelis, Anusko, josh_, hhg, chachan, exch, pquerna, (+23 more, use
/NETSPLIT to show all of them)
20:56 -!- Netsplit over, joins: F1sh
20:56 < dho> fucking freenode
20:56 < jhendrix> lol
20:57 < jhendrix> so any clue with that paste?
20:57 < dho> no, i don't actually know anything about go
20:57 < dho> i just ported it
20:57 < dho> :\
20:57 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
20:57 -!- mitchellh [n=mitchell@D-69-91-142-69.dhcp4.washington.edu] has joined
20:57 -!- nsz [i=nsz@morecp.net] has joined #go-nuts
20:58 < jhendrix> dho, uhh?
20:58 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
20:58 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
20:58 -!- raichoo [n=raichoo@i577BA4A3.versanet.de] has joined #go-nuts
20:58 -!- andern_ [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
20:58 -!- lux` [n=lux@] has joined #go-nuts
20:58 -!- josh_ [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has joined #go-nuts
20:58 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
20:58 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
20:58 -!- freespace [i=foobar@] has
joined #go-nuts
20:58 -!- sdier [n=sdier@faraway.dier.name] has joined #go-nuts
20:58 -!- philips [n=brandon@opensuse/member/philips] has joined #go-nuts
20:58 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
20:58 -!- djm [n=djm@paludis/slacker/djm] has joined #go-nuts
20:58 -!- hhg [n=hhg@hhg.to] has joined #go-nuts
20:58 -!- hallsa [n=shane@miles.jfet.net] has joined #go-nuts
20:58 -!- eiro [n=marc@phear.org] has joined #go-nuts
20:58 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined
20:58 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has joined #go-nuts
20:58 -!- exch [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
20:58 -!- mpurcell [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
20:58 -!- svanlund [n=david@cordelia.pingpangdns.com] has joined #go-nuts
20:58 -!- vegard [n=vegard@ben.ifi.uio.no] has joined #go-nuts
20:58 -!- madmoose [n=madmoose@chef.nerp.net] has joined #go-nuts
20:58 -!- cyt [n=cyt@li57-21.members.linode.com] has joined #go-nuts
20:58 -!- pilt [n=pilt@h-60-10.A163.priv.bahnhof.se] has joined #go-nuts
20:58 -!- sanooj [i=jpihlaja@unaffiliated/joonas] has joined #go-nuts
20:58 -!- pquerna [n=chip@apache/committer/pquerna] has joined #go-nuts
20:58 -!- gl [n=gl@coders.fr] has joined #go-nuts
20:58 -!- sstangl [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts
20:58 -!- sanooj_ [i=jpihlaja@melkki.cs.helsinki.fi] has joined #go-nuts
20:58 -!- exch [n=nuada@h144170.upc-h.chello.nl] has quit [Remote closed the
20:58 -!- pilt [n=pilt@h-60-10.A163.priv.bahnhof.se] has quit [Remote closed the
20:58 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has quit
[Remote closed the connection]
20:58 -!- sanooj [i=jpihlaja@unaffiliated/joonas] has quit [Remote closed the
20:58 -!- exch_ [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
20:58 -!- gnomon
[n=gnomon@CPE0022158a8221-CM000f9f776f96.cpe.net.cable.rogers.com] has joined
20:58 -!- sstangl_ [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts
20:58 -!- pilt_ [n=pilt@] has joined #go-nuts
20:58 -!- svanlund_ [n=david@cordelia.pingpangdns.com] has joined #go-nuts
20:58 < dho> jhendrix: ?
20:58 -!- madmoose [n=madmoose@chef.nerp.net] has quit [Remote closed the
20:58 -!- madmoose [n=madmoose@chef.nerp.net] has joined #go-nuts
20:58 -!- DJCapeli1 [n=djc@capelis.dj] has joined #go-nuts
20:58 < dho> 100% serious, I've only skimmed the docs
20:59 -!- hallsa [n=shane@miles.jfet.net] has quit [Remote closed the connection]
20:59 -!- hallsa [n=shane@miles.jfet.net] has joined #go-nuts
20:59 -!- rullie_ [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has joined
20:59 -!- andern_ [n=NA@55.84-234-230.customer.lyse.net] has quit [Remote closed
the connection]
20:59 -!- philips [n=brandon@opensuse/member/philips] has quit [Remote closed the
20:59 -!- andern [n=NA@55.84-234-230.customer.lyse.net] has joined #go-nuts
20:59 -!- josh_ [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has quit [Remote closed
the connection]
20:59 -!- ahf [i=ahf@irssi/staff/ahf] has joined #go-nuts
20:59 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has joined #go-nuts
20:59 -!- djm_ [n=djm@paludis/slacker/djm] has joined #go-nuts
20:59 -!- josh [n=josh@c-67-177-6-66.hsd1.ut.comcast.net] has joined #go-nuts
20:59 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
20:59 -!- philips [n=brandon@ash.osuosl.org] has joined #go-nuts
20:59 < jhendrix> dho, but you ported the whole thing
20:59 < dho> yeah, funny isn't it?
21:00 < jhendrix> yes
21:00 < Rob_Russell> delsvr_: doesn't look like it.  From the source, args
seem to get passed right through down to an OS system call.  One thing to
remember: Open can be used for file-like things that aren't files (like devices
under /dev)
21:00 < timmcd> http://gopaste.org/RtJIb
21:00 < timmcd> alias it says there is no alias.Trigger for type
vector.Element… the items in the vector (aliases) are items of type Alias, a
struct I made with Trigger and Replacement strings.
21:00 < timmcd> What's wrong here?  How do I convert the vector.Element into
my actual pointer?
21:00 -!- DJCapelis [n=djc@blender/coder/DJCapelis] has quit [Nick collision from
21:00 < jhendrix> why is this hanging when i try to run all.bash to compile
my update: http://www.gopaste.org/1SFmA (hangs at line 13) (LogObj prints to
stdout) (for those who just joined from the split)
21:01 < dho> jhendrix: does anything ever write to the pipe?
21:01 -!- djm [n=djm@paludis/slacker/djm] has quit [Nick collision from services.]
21:01 < uriel> jhendrix: because the read blocks?
21:01 < uriel> and what dho said
21:02 < uriel> if there is nothing to be read from the pipe, it will block
until something writes from the other end
21:02 < jhendrix> well i copied up to line 12 from the test function already
in log_test.go
21:02 < uriel> copying code you don't understand is not a very good idea...
21:03 < uriel> the way I read it, it sets up a pipe, a buffered reader, and
you read from that reader
21:03 < uriel> but obvioulsy it will block if nothing is writting to the
21:03 -!- freespace [i=foobar@] has quit
[Remote closed the connection]
21:03 < jhendrix> heres the other function: http://www.gopaste.org/Y71CQ
21:03 -!- rullie [n=rullie@bas4-toronto47-1279405664.dsl.bell.ca] has quit
[Connection reset by peer]
21:04 -!- freespace [i=foobar@] has
joined #go-nuts
21:04 < timmcd> http://gopaste.org/RtJIb
21:04 < timmcd> alias it says there is no alias.Trigger for type
vector.Element… the items in the vector (aliases) are items of type Alias, a
struct I made with Trigger and Replacement strings.
21:04 < timmcd> What's wrong here?  How do I convert the vector.Element into
my actual pointer?
21:04 < jhendrix> uriel, right, but this function isnt writting either afaik
21:04 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has quit [Read error: 110 (Connection timed out)]
21:04 < jhendrix> oh i see
21:04 < jhendrix> i am an idiot
21:04 < jhendrix> please, hit me now
21:04 < timmcd> *slaps jhendrix*
21:04 < timmcd> ;)
21:05 -!- creack [n=creack@ip-67.net-80-236-112.lhaylesroses.rev.numericable.fr]
has joined #go-nuts
21:05 -!- gasreaa [n=atwong@nat/slide/x-sqapfsvjjgdeljcq] has left #go-nuts []
21:06 < uriel> dho: how did your presentation go?
21:06 < uriel> (pun not intended!)
21:06 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has left #go-nuts []
21:07 < dho> not at all yet
21:07 < dho> it's not for another 2 or 3 hours depending on when i start
21:07 < dho> i used show.zoho.com to make it
21:08 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has joined #go-nuts
21:08 < dho> pretty interesting; web-based presentation shit
21:08 -!- bquinn [n=bquinn@office.velleman.com] has joined #go-nuts
21:08 < dho> i know you probably think it sucks, but it saves me from having
to deal with powerpoint and shit, and i didn't have time to put the troff together
21:08 < KirkMcDonald> dho: There already appears to be an 'mk' port to
21:09 < KirkMcDonald> dho: http://swtch.com/plan9port/unix/
21:09 < uriel> do it brucee style!  on a whiteboard (or in the sand if you
are at the beach)
21:09 -!- svanlund [n=david@cordelia.pingpangdns.com] has quit [Connection timed
21:09 < uriel> KirkMcDonald: we know
21:09 -!- cmatei [n=cmatei@] has quit [Read error: 110 (Connection
timed out)]
21:09 * uriel was disapointed go doesn't use mk, but oh well
21:10 -!- sstangl [n=sean@BERLIN.RES.CMU.EDU] has quit [Connection timed out]
21:10 -!- paulca [n=paul@] has joined #go-nuts
21:11 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined
21:11 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
21:11 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit
[Connection timed out]
21:13 -!- dgnorton [n=dgnorton@] has left #go-nuts []
21:14 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has quit
21:14 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 131 (Connection reset by peer)]
21:14 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
21:14 < dho> KirkMcDonald: yes, i know :)
21:14 < dho> that's why I suggested it.
21:14 < KirkMcDonald> Ah, okay.
21:14 < dho> It can already be bootstrapped
21:15 -!- djanderson [n=dja@pool-72-73-114-18.ptldme.east.myfairpoint.net] has
quit [Read error: 60 (Operation timed out)]
21:15 < KirkMcDonald> dho: It would be reasonably trivial for the tool I
propsed earlier to output whatever format of makefile is desired.  That is, the
interesting part of the tool is not the makefile format.
21:15 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Client
21:15 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
21:16 < KirkMcDonald> dho: Though I'd add that gc already seems to
implicitly assume GNU make.
21:16 -!- Zaba [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
21:16 -!- Netsplit farmer.freenode.net <-> irc.freenode.net quits: mpurcell,
hhg, gl, pquerna, sdier, lux`, tor7, raichoo, eiro, vegard, (+5 more, use
/NETSPLIT to show all of them)
21:17 < dho> KirkMcDonald: the whole system assumes gmake
21:17 < dho> KirkMcDonald: I had to modify it so that it calls gmake when
gmake != make
21:18 -!- Netsplit over, joins: eiro
21:18 < dho> (see also make.bash:44)
21:19 -!- Netsplit over, joins: hhg, sdier, gl
21:20 -!- bquinn [n=bquinn@office.velleman.com] has joined #go-nuts
21:20 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
21:20 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
21:20 -!- raichoo [n=raichoo@i577BA4A3.versanet.de] has joined #go-nuts
21:20 -!- lux` [n=lux@] has joined #go-nuts
21:20 -!- mxcl [n=mxcl@94-193-125-246.zone7.bethere.co.uk] has joined #go-nuts
21:20 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has joined #go-nuts
21:20 -!- mpurcell [n=mpurcell@vpn.michaelpurcell.info] has joined #go-nuts
21:20 -!- vegard [n=vegard@ben.ifi.uio.no] has joined #go-nuts
21:20 -!- cyt [n=cyt@li57-21.members.linode.com] has joined #go-nuts
21:20 -!- pquerna [n=chip@apache/committer/pquerna] has joined #go-nuts
21:20 -!- cyt_ [n=cyt@li57-21.members.linode.com] has joined #go-nuts
21:21 < uriel> dho: I have not looked at the build system (for obvious
reasons ;P), but was wondering if really there is so much bash in there that
sticking to portable bourne would be a problem?
21:21 -!- mitchellh [n=mitchell@D-69-91-142-69.dhcp4.washington.edu] has quit
21:21 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [SendQ
21:21 -!- aa [n=aa@r190-135-212-29.dialup.adsl.anteldata.net.uy] has joined
21:21 < uriel> (not that I expect it to be possible to convince russ,
21:21 -!- raichoo [n=raichoo@i577BA4A3.versanet.de] has quit [SendQ exceeded]
21:21 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
21:21 -!- cyt [n=cyt@li57-21.members.linode.com] has quit [No route to host]
21:21 < dho> uriel: some of russ' comments were `bash please'
21:21 < dho> uriel: bootstrapping mk would be cool, but I think it might be
hard to get it in
21:22 -!- raichoo [n=raichoo@i577BA4A3.versanet.de] has joined #go-nuts
21:22 < uriel> dho: yes, I noticed, but my question is there really so much
shell script in the build system that it could not be trivial to stick to bourne?
21:22 -!- pquerna [n=chip@apache/committer/pquerna] has quit [Connection reset by
21:22 < dho> uriel: while ken/gri/rsc might enjoy the novelty of it, i think
the choice of bash/bison/gmake is something that's `there by default' on most
initally targetted systems
21:22 < dho> uriel: probably not
21:22 < uriel> (I know he claims it is too painful to write portable sh
scripts, but unles the scripts are super-complex this seems silly)
21:22 -!- mitchellh [n=mitchell@D-69-91-142-69.dhcp4.washington.edu] has joined
21:23 < dho> but I didn't look too much at *why* bash, just that it was bash
21:23 < dho> there are some /bin/sh in there, though
21:24 < uriel> well, I kind of understand that they just don't want to care
about portability of that kind of stuff at this stage (and I sort of suspect/hope
that they plan to replace most of that stuff with go-based solutions anyway in the
long term)
21:24 < uriel> but still, it is a bit puzzling
21:24 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Remote closed
the connection]
21:25 < uriel> dho: btw, did you make a fbsd port?
21:25 -!- lindsayd [n=lindsayd@nat/cisco/x-iefqcgeadjgvigvi] has joined #go-nuts
21:25 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
21:25 < dho> waiting for release to be slipped and then a friend of mine is
21:25 < dho> i don't want to maintain any ports
21:25 < uriel> hehe
21:25 < dho> i'll maintain the toolchain but i'd rather be uninvolved in the
port port
21:27 < uriel> sounds reasonable
21:27 < dho> there are a lot of JHU people on the list it seems
21:27 * dho sends email about talk
21:28 < uriel> JHU?
21:28 < dho> johns hopkins
21:28 < dho> it's in balto
21:28 < dho> about 20-30ish mins away
21:28 -!- Zaba_ [n=zaba@about/goats/billygoat/zaba] has quit [Connection timed
21:29 < gl> the only thing i know about baltimore is "the wire" :/
21:31 * dho is moving to balto this weekend
21:31 -!- Anusko_ [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
21:33 -!- Nanooo [n=Nano@95-89-198-15-dynip.superkabel.de] has quit [Client Quit]
21:33 < uriel> dho: does cgo work well on fbsd now?
21:34 < dho> yep
21:34 < dho> libmach is the only thing that remains unimplemented.
21:34 < dho> i'd have to look at how GDB does stuff if I want to implement
21:34 < dho> i'm pretty sure it uses ptrace, but I'm not sure how
21:36 < uriel> doesn't p9p have a libmach?  (or is it something else, I have
no clue)
21:36 < dho> it does, but it doesn't work the same
21:36 < uriel> aha
21:36 < dho> intended for use by acid i guess
21:37 -!- dschn^ [n=dschn@pool-70-19-202-109.bos.east.verizon.net] has joined
21:37 < dho> also, afaik ogle doesn't really work yet anyway
21:37 < dho> someone needs to write a go shell called gosh
21:37 < uriel> I think rob had something more than just ogle in mind...
21:37 < dho> i'd use it.
21:37 < uriel> dho: sshhhh..  dont give away my plans
21:38 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 60 (Operation
timed out)]
21:38 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has joined #go-nuts
21:38 < uriel> (gosh will be the shell for gofy)
21:38 < dho> i'm sure there are other uses than ogle
21:38 < uriel> is ogle just a debugger, or is it more like acid?  have not
really looked..
21:38 < dho> nor have i
21:39 < dho> it wasn't a requirement for porting
21:39 < uriel> hehe
21:39 < hagna> so who is working on gogo?
21:40 < uriel> hagna: ah, that is a good one :)
21:40 < dho> not i
21:40 < hagna> uriel: yeah it has a ring to it; way better than pypy for
21:40 < uriel> my friend Capso wrote recently a gofs for plan9, but I
couldnt' convince him to write a gogo :(
21:40 -!- paulca [n=paul@] has quit [Connection timed out]
21:41 < Popog> Does the Go language spec support inline functions when
called with static types?
21:41 < hagna> uriel: go file system?
21:41 <+danderson> uriel: gofs?  How does that work?
21:41 -!- mitchellh [n=mitchell@D-69-91-142-69.dhcp4.washington.edu] has quit
[Read error: 110 (Connection timed out)]
21:41 < uriel> hagna: it is to play go over the network
21:41 <+danderson> aah.
21:42 <+danderson> I can't decide if that's more or less awesome :)
21:42 < uriel> it uses 9p: http://9p.cat-v.org
21:42 < dho> gogo is ambiguous
21:42 < dho> is that go the game in go
21:42 < dho> a go compiler in go?
21:42 < uriel> ambiguity is good
21:42 < hagna> dho yeah that's what I meant
21:42 < hagna> the second
21:42 < dho> the compiler?  yeah, i thought so
21:42 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Read error:
110 (Connection timed out)]
21:43 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
21:43 -!- loureiro [n=loureiro@] has quit [Read error: 113 (No route
to host)]
21:44 * uriel really hopes a roadmap for go comes out
21:44 < dho> it's looking like i'll be doing openbsd too
21:44 < uriel> progress fixing bugs and improving things has been really
fast, but it would be nice to have an idea of what big changes are coming
21:44 < uriel> dho: cool!
21:44 < dho> snert feels a bit in over his head and he doesn't have time
21:45 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has joined #go-nuts
21:45 < uriel> wish I could get mjl interested in go, but he seems happy
enough with Limbo :(
21:46 < dho> i never liked limbo
21:46 < dho> i always said, if limbo compiled, i'd learn it
21:46 < uriel> limbo is great, but go feels more polished from a design of
21:46 < dho> i don't like inferno much either
21:47 -!- ForLoop` [i=forloop@87-150-128.netrun.cytanet.com.cy] has joined
21:47 -!- dschn [n=dschn@pool-70-19-224-19.bos.east.verizon.net] has quit [Read
error: 110 (Connection timed out)]
21:48 -!- Anusko_ [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Read error:
110 (Connection timed out)]
21:48 < mpl> uriel: why mjl in particular?  because he's an awesome coder?
21:48 <+danderson> huh, plan9 still lives on bell-labs.com
21:48 -!- middayc [n=chatzill@BSN-61-9-105.dial-up.dsl.siol.net] has joined
21:48 <+danderson> I didn't expect that :)
21:48 < dho> mjl is a cool guy
21:48 < uriel> he is great, and he has ported p9p and inferno to obsd
21:48 < dho> danderson: they still own it
21:48 < mpl> dho: he sure is.
21:48 < uriel> for whatever deffinition of 'own'
21:48 -!- poul [n=pool@ip98-182-40-121.ri.ri.cox.net] has quit [Client Quit]
21:48 < uriel> more along the lines 'they still make sure everyone thinks it
is dead'
21:49 <+danderson> heh
21:49 < mpl> danderson: please if you want to troll uriel with that, just do
it on #plan9 where the raging already is ;P
21:49 <+danderson> my first guess was actually plan9.org
21:49 < uriel> somebody should fork it some day, but I doubt it will happen
(somebody should have forked it ten years ago when it was opensourced
21:50 <+danderson> which appears to be dying the slow parked death until
21:50 < dho> uriel: the lingering question remains: why don't you?  :)
21:51 < uriel> dho: I have answered that before 1) I'm not qualified 2) I
don't have the time and at the moment 3) I have other priorities
21:51 -!- cpr420 [n=cpr420@] has joined #go-nuts
21:51 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has quit
21:51 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
21:51 < uriel> the ROI for the huge effort would be low, specially given
that all the main players hate me and to try to cooperate with them would be hard
(it is hard to fork a project that is developed in such a closed way)
21:51 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
21:51 < mpl> uriel: you don't need to be over qualified to coordinate the
fork.  but it does require some time to maintain the project alive yes.
21:52 < uriel> anyway, sorry, this is all offtopic
21:52 < dho> sort of
21:52 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
21:52 * dho notes that uriel is much more well behaved in this channel :)
21:52 <+danderson> (that's cool, nothing else going on, and it's better than
the usual "what reddit thinks the go debugger should be called this week")
21:52 < reppie> :)
21:53 -!- simonz05 [n=simon@] has quit ["Ex-Chat"]
21:53 < uriel> (just will say, that it is hard to feel motivated to for
example work on an amd64 port, or any other kernel work for that matter, when you
know there is a new kernel bitrotting in the labs that might get released any day
and make all your work obsolete)
21:53 < reppie> kernel work is the best kind of work
21:53 < uriel> anyway, I really love how Go development is being managed
21:54 < mpl> dho: on some other ones too.  ppl think he's a delightfull
person on #bittorrent ;)
21:54 < dho> uriel: 9k has been released...
21:54 < reppie> #bitrottent
21:54 < uriel> other than the lack of roadmap (which is somewhat
understandable and I hope will be addressed), Go is doing right everything Plan 9
did wrong (from the project management pov)
21:54 < uriel> dho: I thought the bg was different from 9k
21:54 < dho> it uses the 9k kernel
21:54 < uriel> (the bg port I mean)
21:55 < uriel> isn't bg ppc?
21:55 < dho> yes, but the kernel bits are not arch-specific...
21:55 < uriel> aha, so the kernel changes have been released now, just not
the amd64 bits?
21:55 < dho> it looked like it when i looked at the bg/p and bg/l stuff
21:56 <+danderson> um, that sounds like the walled garden open source model
21:56 <+danderson> company/lab develops software, periodically throws it
over the wall with an open source license?
21:56 < dho> no
21:56 < uriel> anyway, just to figure out what is going on, and what code
exist and what code doesn't, and where, is such a huge headache to make the whole
effort hopeless
21:56 < dho> sources is updated and always available
21:56 < dho> but there's no revision control per se
21:56 <+danderson> ouch, that's bad
21:56 < uriel> dho: that is very misleading, the amd64 has been written and
unreleased for years
21:57 <+danderson> I'm surprised that hasn't killed all development on said
21:57 < dho> *shrugs*
21:57 < uriel> danderson: lack of version control is not such a big deal,
plan9 has snapshot fs built in
21:57 -!- ForLoop [i=forloop@87-150-128.netrun.cytanet.com.cy] has quit [Read
error: 110 (Connection timed out)]
21:57 <+danderson> uriel: but presumably only a select few have access to
the upstream
21:57 < reppie> what does snapshot fs have to do with version control
21:58 < uriel> danderson: depends on what 'upstream'
21:58 < dho> reppie: you know the state at every snapshot point
21:58 < dho> danderson: anybody can access sources
21:58 < uriel> danderson: what dho said is right, there a daily updated
treee, it just happens to lack all kinds of stuff
21:58 -!- paulca [n=paul@] has joined #go-nuts
21:58 -!- sm_ [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
21:58 < reppie> dho the best thing about version control is commit messages
21:58 < dho> yeah well
21:59 <+danderson> dho: access to source is only one facet of a good open
source project
21:59 < uriel> reppie: oh, don't get me started on that *sigh*
21:59 < reppie> (and commits)
21:59 < dho> i tried to keep up with them a while ago
21:59 < dho> it was hard.
21:59 < dho> i quit trying
21:59 <+danderson> the other facet is being able to change it and propagate
those changes upstream
21:59 * uriel spent more than five years trying to convince the plan9 devs that
keeping a changelog made sense...  gave up in despair
21:59 -!- sm__ [n=sm@cpe-76-173-194-242.socal.res.rr.com] has joined #go-nuts
21:59 < mpl> all of this is just nonsense.  it's like saying because person
X is not releasing his particular work will kill the whole project.  there's a
whole basecode, that anyone can access and work on.
21:59 < uriel> dho: excep that it is insane to have somebody else, after the
fact, writte the commit mesages,
21:59 < olegfink> danderson: there is even a suite of tools exactly for
submitting changes.
21:59 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit [Nick collision
from services.]
22:00 < uriel> dho: the whole arrangement was absurd
22:00 < mxpxpod> does anyone know how to do a multi-file cgo package?
22:00 <+danderson> olegfink: oh, okay.  I'm not familiar with plan9 other
than by name and reputation ("The one with all the files"), so I'm just going by
what people say here
22:02 < dho> olegfink: patch sucks
22:02 < olegfink> well, I personally don't have a problem with plan9
development model.  granted it's different from what's fashionable nowadays, but I
can always get in touch with people directly.
22:02 < uriel> patch is not too bad, but the way patches are managed is
extremely non-transparent
22:02 -!- lenst [n=user@81-237-244-185-no52.tbcn.telia.com] has joined #go-nuts
22:02 < olegfink> dho: why?
22:02 < uriel> patches can bitrott in the queue for months for no apparent
22:02 < olegfink> some of my trivial patches have even been applied in less
than a year.  :-)
22:03 < dho> look at all the duplicates in sorry/ where people couldn't
remember how to use it
22:03 < uriel> (I guess the reason is the devs are busy, but still...)
22:03 < dho> uriel: the reason is there are no full-time devs
22:03 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Read error:
110 (Connection timed out)]
22:03 < uriel> dho: and that they are making their own lives harder in all
kinds of ways because they can't accept help or delegate anything to the community
22:04 < uriel> (hell, even cooperation among people in good standing with
whoever happens to be in charge is laughable)
22:04 < reppie> welcome to open sores!
22:04 < uriel> anyway, sorry, I really should shut up, this makes me
depressed and upset, and is just noise in this channel
22:05 < dho> at this point it's mostly quanstro
22:05 -!- nullpo [n=nullpo@221x252x46x83.ap221.ftth.ucom.ne.jp] has joined
22:05 < uriel> quanstro is great
22:05 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
22:06 < dho> he's frustrating sometimes
22:06 -!- paulca_ [n=paul@] has joined #go-nuts
22:06 -!- MarkBao [n=MarkBao@nmd.sbx10962.wellema.wayport.net] has joined #go-nuts
22:06 -!- sm_ [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [No route to host]
22:07 -!- paulca_ [n=paul@] has quit [Read error: 104 (Connection
reset by peer)]
22:07 < uriel> how was the old saying?  all plan9 people are crazy fucks ;P
22:07 -!- paulca [n=paul@] has quit [Read error: 104 (Connection reset
by peer)]
22:08 * danderson looks at 9P, is mildly intrigued
22:08 -!- mat_ [n=mat@mx3.absolight.net] has quit [Read error: 104 (Connection
reset by peer)]
22:08 -!- mat_ [n=mat@mx3.absolight.net] has joined #go-nuts
22:08 <+danderson> sounds like a piece of plan9 that should be carved out
and made independent
22:08 < kfx> uriel: can I /msg you about some off-topic stuff
22:08 < uriel> 9p is really great
22:08 <+danderson> ...  which appears to be what p9p is all about, the world
is way ahead of me
22:08 < uriel> kfx: sure
22:09 < dho> danderson: 9p is fucking great
22:09 <+danderson> language!  ;)
22:09 * kfx thought 9p was in the mainline linux kernel these days
22:09 <+danderson> family friendly channel :)
22:09 < uriel> or feel free to join #cat-v, if you have a thick skin and can
tolerate all kind of abuse of political correctness ;)
22:09 < kfx> uriel: I'm a delicate flower
22:09 < dho> first time anyone's said anything to me about it
22:09 < uriel> kfx: there has been 9p support in the linux kernel for some
time now
22:10 <+danderson> dho: kidding, kidding.
22:10 -!- yuanxin [n=uman@uawifi-nat-210-16.arizona.edu] has quit [Read error: 110
(Connection timed out)]
22:10 <+danderson> so, that's 2-nil in favor of 9p being awesome
22:10 <+danderson> and here I was wanting a non-insane network FS protocol
22:11 < dho> :)
22:11 < uriel> don't get me wrong, 9p has some issues, but for many things
it is really great
22:11 < uriel> there are many 9p implementations too:
22:11 < kfx> danderson: I also like 9p
22:11 < kfx> and stuffing ballots
22:11 * uriel is supposed to be helping get a Go implementation of 9p going...
22:11 <+danderson> uriel: hey, if it sucks less than nfs/smb, and can work
reasonably over LAN and WAN, I'm in
22:12 < olegfink> uriel: isn't the list lacking tim's windows thing?
22:12 < kfx> it's really hard not to suck less than nfs and smb
22:12 <+danderson> plus it looks like p9p has ported Venti to unix
22:12 <+danderson> which would be a nice snapshot-fs for remote backups
22:12 <+danderson> (I think, from the wikipedia description)
22:12 < uriel> danderson: it sucks infinitely less than nfs/smb, but that is
not hard
22:13 < uriel> olegfink: it is lacking a few things...  :/
22:13 <+danderson> uriel: yeah, but if it's not hard (and I agree from an
amateur-who-never-implemented-a-network-fs standpoint), why has nobody done it :)
22:13 <+danderson> and now I find out that somebody has done it
22:13 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
22:13 <+danderson> which is fantastic
22:13 < uriel> kfx: well, aefs almost manages to suck more than nfs, it is
insanely huge and complex, even has its own built-in kerberos like thing
22:13 < uriel> well, it is hard to get the right primitives right
22:14 -!- shambler [i=kingrat@mm-169-197-84-93.dynamic.pppoe.mgts.by] has quit
["What you have been is not on boats."]
22:14 < uriel> rob and the bell labs gang did work on it for a long time,
and they are good at it
22:14 -!- paulca [n=paul@] has joined #go-nuts
22:14 -!- 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:15 <+danderson> huh, and 9P had its own transport protocol for a while,
22:15 <+danderson> I guess it died when everyone realized that firewalls
everywhere were dropping it for not being TCP
22:15 -!- skyyy [i=caw@] has joined #go-nuts
22:16 < dho> apparently IL is still nice on wireless networks
22:16 -!- p4p4_ [n=P4p4@] has quit [Client Quit]
22:16 -!- Anders__ [n=Anders@c83-253-2-206.bredband.comhem.se] has quit ["Lämnar"]
22:16 < uriel> dho: actually a nice thing about 9p is that it can run over
almost any transport imaginable
22:16 < uriel> er s/ dho/ danderson/
22:17 -!- scrllock_ [n=nathan@nox.liquidweb.com] has left #go-nuts []
22:19 -!- Cyprien [n=Cyprien@246-153.107-92.cust.bluewin.ch] has quit [Read error:
110 (Connection timed out)]
22:20 -!- paulca [n=paul@] has quit [Read error: 104 (Connection reset
by peer)]
22:21 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
22:21 -!- mode/#go-nuts [+v kaib] by ChanServ
22:22 -!- kaib_ [n=kaib@] has joined #go-nuts
22:22 -!- mode/#go-nuts [+v kaib_] by ChanServ
22:23 -!- nigwil [n=chatzill@berkner.ccamlr.org] has joined #go-nuts
22:24 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
22:25 -!- rog [n=rog@] has quit []
22:29 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined
22:30 -!- XniX23 [n=XniX23@89-212-198-49.dynamic.dsl.t-2.net] has joined #go-nuts
22:31 -!- exch [n=nuada@h144170.upc-h.chello.nl] has quit [Remote closed the
22:32 -!- kaib_ [n=kaib@] has quit []
22:32 -!- exch [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
22:32 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Read error:
104 (Connection reset by peer)]
22:34 -!- drusepth [n=drusepth@24-119-67-120.cpe.cableone.net] has joined #go-nuts
22:34 -!- itrekkie [n=itrekkie@ip72-200-108-156.tc.ph.cox.net] has joined #go-nuts
22:35 -!- sockmonk [n=user@pixout.appriss.com] has quit [Connection timed out]
22:40 -!- decriptor [n=decripto@] has quit [Read error: 110
(Connection timed out)]
22:44 -!- asmo [n=asmo@c-f6c5e055.1155-1-64736c11.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
22:44 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
22:48 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
22:49 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined
22:49 -!- alex1 [n=alex@unaffiliated/a1g] has quit [Remote closed the connection]
22:49 -!- middayc_ [n=chatzill@BSN-61-9-105.dial-up.dsl.siol.net] has joined
22:50 -!- nonet1 [n=nonet@c-69-181-203-73.hsd1.ca.comcast.net] has joined #go-nuts
22:51 -!- rndbot [n=bot@wikipedia/Gracenotes] has joined #go-nuts
22:51 -!- drusepth` [n=drusepth@adsl-75-33-218-125.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
22:52 -!- sm [n=sm@cpe-76-173-194-242.socal.res.rr.com] has quit []
22:53 -!- drusepth`` [n=drusepth@adsl-75-33-218-125.dsl.spfdmo.sbcglobal.net] has
joined #go-nuts
22:54 -!- poe [n=poe@unaffiliated/poe] has joined #go-nuts
22:55 -!- SRabbelier [n=SRabbeli@ip138-114-211-87.adsl2.static.versatel.nl] has
joined #go-nuts
22:56 < dho> chirp chirp
22:56 -!- dirtmcgirt [n=dirtmcgi@c-67-164-99-103.hsd1.ca.comcast.net] has quit []
22:56 -!- middayc [n=chatzill@BSN-61-9-105.dial-up.dsl.siol.net] has quit [Read
error: 145 (Connection timed out)]
22:57 < mitchellh> chirp
22:57 < rbohn> Who let the squirrels in?
22:58 < JBeshir> All the nuts must be attracting them.
22:58 -!- drusepth [n=drusepth@24-119-67-120.cpe.cableone.net] has quit [Read
error: 113 (No route to host)]
22:58 < dho> bazing.
22:58 -!- Netsplit farmer.freenode.net <-> irc.freenode.net quits: Clooth
22:58 -!- Netsplit over, joins: Clooth
23:01 < XniX23> since its so quiet, where are you guys from?
23:01 < mpl> from outer-space.
23:01 < dho> columbia, md, us
23:01 < dho> A/S/LOL
23:01 < XniX23> mpl: amazing you work for nasa?
23:02 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has joined #go-nuts
23:02 < XniX23> a s lol hahah
23:02 -!- nacmartin [n=chatzill@] has joined #go-nuts
23:02 < JBeshir> If he was +, I'd suggest the Google Moon Base.
23:02 -!- sm [n=sm@cpe-75-85-88-227.socal.res.rr.com] has quit [Client Quit]
23:02 -!- bquinn [n=bquinn@office.velleman.com] has quit []
23:03 < XniX23> im from slovenia, because i know u care
23:03 < synx`> ljubjana?
23:03 < nacmartin> how can I make func (*TCPConn) Read block ?
23:03 < mpl> XniX23: j/k related to plan 9 (since a bunch of ppl here are
familiar with plan 9 from outer space).
23:03 < nacmartin> i don't want active waits :(
23:03 < XniX23> synx`: im now in ljubljana yes, studying
23:03 < synx`> XniX23: Oh, I just wanted to see if I still remembered the
capital :/
23:04 < mpl> XniX23: but I do work in an astronomy institute though ;)
23:04 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined
23:04 < rbohn> I'm from skid row.
23:04 < dho> nacmartin: you can set up the socket manually.
23:05 < dho> why do you want to do that?
23:05 < XniX23> mpl: sorry, i dont really know anything about plan 9, maybe
im too young or smth...  nice workplace :P
23:05 < mpl> XniX23: it's never too late to learn.
23:06 < dho> that movie is torture unless you're watching the one where the
mst3k guys commented
23:06 < mpl> dho: I've honestly seen worse.  well maybe not worse, but
definitely more boring.
23:08 -!- nikki93 [n=nikki@] has quit ["Lost terminal"]
23:11 < nacmartin> dho: just to have a go func waiting until something is
23:11 -!- drusepth` [n=drusepth@adsl-75-33-218-125.dsl.spfdmo.sbcglobal.net] has
quit [Read error: 110 (Connection timed out)]
23:11 < nacmartin> waiting for a client to send something when he wants to
23:12 < uriel> XniX23: hey, slovenia rocks!
23:12 * uriel visited once and really loved it
23:13 -!- FeyyazEsat [n=feyyazes@] has joined #go-nuts
23:13 < uriel> hope to go back some time...
23:14 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
23:15 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has joined #go-nuts
23:15 < timmcd> Hello!
23:17 < XniX23> uriel: whoah
23:17 -!- middayc [n=chatzill@BSN-61-46-236.dial-up.dsl.siol.net] has joined
23:17 < XniX23> i was actually expecting questins like "huh slovakia?; does
that even exist?" :))
23:17 < uriel> heh
23:18 < dho> nacmartin: it currently will do that.
23:18 < dho> go presents to you a blocking interface to non-blocking
23:18 < nacmartin> (*TCPConn) Read ?
23:18 < uriel> never been to slovakia, was planning to, but ended up going
directly from austria to hungary, I only spent three days in Slovenia, but found
it really beautiful, and everyone was very friendly
23:18 < dho> you're expected to spawn a goroutine and communicate over
23:19 < nacmartin> then is the channel the blocking component?
23:19 < XniX23> uriel: european?
23:19 < uriel> XniX23: I'm from Spain, living in Sweden now
23:19 < dho> nacmartin: no, the stuff under the hood in fd_$(GOOS) is the
blocking component
23:19 < dho> nacmartin: take a look at pkg/net/fd_$(GOOS).go
23:19 < timmcd> uriel: So you know swedish?
23:19 < nacmartin> ok, thanks, dho
23:20 < dho> np
23:20 < uriel> timmcd: I understand a bit
23:20 < middayc> ha, I'm from Slovenia too btw
23:20 < uriel> middayc: really?  cool, we should all have a go-party next
time I visit!
23:20 < XniX23> middayc: fri?  :p
23:20 < XniX23> hahah uriel, deal
23:20 < nacmartin> dho: aha!  I see http://golang.org/src/pkg/net/fd.go now
23:21 < middayc> XniX23: no, was FE ..  but I am past that for a while
23:21 < dho> oh right, maybe it's in there
23:21 -!- FeyyazEsat [n=feyyazes@] has left #go-nuts []
23:21 < dho> there's that looping construct that calls the waitingread
23:21 < dho> and waitingwrite
23:21 < dho> or whatever they're called
23:21 * dho heads out for a smoke and to get ready for his talk.
23:22 < timmcd> Anyone need help with TCPConn?  ^_^
23:23 -!- Tronic [i=tronic@dsl-hkibrasgw-ff51c300-29.dhcp.inet.fi] has left
#go-nuts []
23:23 -!- lenst [n=user@81-237-244-185-no52.tbcn.telia.com] has quit [Read error:
110 (Connection timed out)]
23:23 < Gracenotes> nacmartin: don't forget about bufio, too
23:25 < nacmartin> Gracenotes: thanks
23:25 -!- prip [n=_prip@host135-123-dynamic.36-79-r.retail.telecomitalia.it] has
quit [Read error: 110 (Connection timed out)]
23:26 < timmcd> anyone here have experience with vectors?
23:26 < poe> as in mathematical objects?
23:28 < uriel> dho: good luck with that
23:28 -!- rowdog [n=jth@h220.145.30.71.dynamic.ip.windstream.net] has quit
23:28 -!- Anusko_ [n=anusko@a83-132-19-244.cpe.netcabo.pt] has joined #go-nuts
23:31 < Gracenotes> timmcd: containers/vectors is..  sketchy :/
23:31 -!- moriyoshi [n=moriyosh@i118-19-92-230.s04.a014.ap.plala.or.jp] has left
#go-nuts []
23:31 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has joined
23:31 < jhendrix> question on submitting a change: do i need to include a
specific reviewer in the hg change file thing, or no...if so, where cna i find a
list of reviewers
23:32 -!- _rogue780 [n=rogue780@c-68-34-234-213.hsd1.md.comcast.net] has quit
[Read error: 104 (Connection reset by peer)]
23:32 <+iant> jhendrix: you can always send to golang-dev@googlegroups.com
23:32 < Gracenotes> it only stores size, not capacity, although it has some
implicit concept of the latter
23:33 < Gracenotes> or, the other way around.  anyway, 'meh' to conclude
23:33 < jhendrix> iant, so i just throw that up top in the Reviewer: ...
23:33 <+iant> jhendrix: yes
23:33 < jimi_hendrix> ok
23:33 < jimi_hendrix> ty
23:33 -!- middayc_ [n=chatzill@BSN-61-9-105.dial-up.dsl.siol.net] has quit [Read
error: 110 (Connection timed out)]
23:34 * jimi_hendrix mails his change
23:34 < jimi_hendrix> iant, is that a mailing list or am i confusing
23:36 < uriel> iant: I think the contribution instructions might need to be
made a bit more clear about about the review thing
23:37 < uriel> it is a bit confusing currently..
23:37 -!- hest [n=hest@127.84-48-175.nextgentel.com] has quit [Read error: 131
(Connection reset by peer)]
23:37 < jimi_hendrix> uriel, it was alright until i got to the part about
the reviewers, since it doesnt mention where to get a reviewer
23:38 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
23:38 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Read error:
110 (Connection timed out)]
23:38 <+iant> jimi_hendrix: that is a mailing list
23:38 <+iant> uriel: I think rsc is overhauling the contribute docs
23:38 < uriel> jimi_hendrix: yea, that is the confusing point
23:38 -!- clip9 [i=tj@12.81-166-62.customer.lyse.net] has quit ["leaving"]
23:38 < uriel> iant: ah, cool
23:39 < rbohn> gah, just double clicked a word in firefox.  Why can't I
search for it in the current document?
23:40 -!- madhatter09 [n=wvicente@189-69-107-80.dsl.telesp.net.br] has joined
23:41 -!- madhatter09 [n=wvicente@189-69-107-80.dsl.telesp.net.br] has quit
[Client Quit]
23:42 -!- lux` [n=lux@] has quit [Remote closed the connection]
23:44 -!- Andrius [n=null@unaffiliated/andrius] has quit ["pkill Andrius"]
23:44 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
23:47 -!- Anusko_ [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [Read error:
110 (Connection timed out)]
23:48 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has quit
[Read error: 110 (Connection timed out)]
23:50 -!- nacmartin [n=chatzill@] has quit [Remote closed the
23:51 < uriel> rbohn: double click?  you are confused, it is *right* click!
23:51 < uriel> oh, you didn't mean in acme?  :))
23:51 * uriel loves the acme search/plumbing feature
23:51 -!- MarkBao [n=MarkBao@nmd.sbx10962.wellema.wayport.net] has quit
23:52 < rbohn> yeh, forgot what program I was in.
23:52 -!- damien [n=damien@damien.grassart.com] has joined #go-nuts
23:52 < rbohn> :)
23:52 -!- cpr420 [n=cpr420@] has quit ["Vision[0.9.7-H-090423]: i've
been blurred!"]
23:57 -!- Netsplit farmer.freenode.net <-> irc.freenode.net quits: vegard,
mxcl, tor7, cyt_, mpurcell
23:57 -!- lenst [n=user@81-237-244-185-no52.tbcn.telia.com] has joined #go-nuts
23:59 -!- Netsplit over, joins: cyt_, tor7, mxcl, mpurcell, vegard
23:59 -!- cyt [n=cyt@li57-21.members.linode.com] has joined #go-nuts
23:59 -!- cyt_ [n=cyt@li57-21.members.linode.com] has quit [Connection reset by
--- Log closed Fri Nov 20 00:00:23 2009