--- Log opened Thu Nov 19 00:00:28 2009 00:00 -!- madhatter09 [n=wvicente@187.34.148.55] 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@137.65.132.26] has quit [Remote closed the connection] 00:02 -!- eno_ [n=eno@adsl-70-137-172-110.dsl.snfc21.sbcglobal.net] has joined #go-nuts 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 method 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@137.65.132.26] 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 happen 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 membership 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 language 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 block 00:08 -!- decriptor [n=decripto@137.65.132.26] 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@121.54.92.149] 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 #go-nuts 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 soon 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-190.99.193.179.emcali.net.co] has joined #go-nuts 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@121.54.92.149] has joined #go-nuts 00:14 -!- madhatter09 [n=wvicente@189-69-106-85.dsl.telesp.net.br] has joined #go-nuts 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 #go-nuts 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 liberating 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 programmer 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 #go-nuts 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@141.209.59.130] 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 method. 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@77.224.92.149] 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 #go-nuts 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@216.131.103.47] 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@85.94.99.40] has quit [] 00:31 < dho> http://groups.google.com/group/golang-nuts/browse_thread/thread/146e3078c4e91c75/4eb3ed8b07182644?lnk=gst&q=sape#4eb3ed8b07182644 00:31 < uriel> let me see if the group perms are right 00:31 -!- mxpxpod [n=bryan@unaffiliated/mxpxpod] has quit [Remote closed the connection] 00:33 -!- nibble [i=5139e206@gateway/web/freenode/x-iexqaosccjbevrgp] has joined #go-nuts 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 directly 00:33 < dho> k 00:34 -!- n3 [i=5139e206@gateway/web/freenode/x-bbjbrbfvmgbkyhzd] has joined #go-nuts 00:35 < dho> uriel: you own most of the .md files in there 00:35 -!- iant [n=iant@67.218.110.88] 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 Quit] 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@115.240.92.110] 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 #go-nuts 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@141.209.54.82] has joined #go-nuts 00:45 -!- gpurrenhage_ [n=gpurrenh@141.209.54.82] 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@66.54.185.131] 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 connection] 00:48 -!- rbohn [n=rbohn@192.206.100.4] has quit ["ChatZilla 0.9.85 [Firefox 3.0.15/2009101601]"] 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 life 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 #go-nuts 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 #go-nuts 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@141.209.59.130] 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@67.215.69.74] has left #go-nuts [] 01:01 -!- lux` [n=lux@151.54.240.177] 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@189.2.128.130] has quit [Read error: 113 (No route to host)] 01:04 -!- Daminvar [n=Daminvar@129.21.81.77] 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 me? 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 #go-nuts 01:22 < uriel> Popog: use gopaste.org ;) 01:22 -!- freenose [i=c9d81618@gateway/web/freenode/x-ujqgwwmjcswdmepo] has joined #go-nuts 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 Error) 01:26 < jabb> perm is...? 01:27 < Gracenotes> unix flags for read, write, execute for various groups 01:27 < Gracenotes> http://en.wikipedia.org/wiki/File_permissions#Octal_notation 01:27 < jabb> doh! 01:28 -!- teedex [n=teedex@204.14.155.161] 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 function. 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 http://gopaste.org/K5Xu7 01:30 -!- assiss [n=assiss@219.143.153.59] 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 connection] 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.. meh. 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 0.9.75.1 [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@24.224.99.49] has joined #go-nuts 01:41 -!- pwanli [n=pwanli@c-67-185-151-227.hsd1.wa.comcast.net] has joined #go-nuts 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@88.200.96.14] 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, regex 01:53 < KirkMcDonald> I was surprised to discover it doesn't have \s or the like. 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 matches. 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, World!\n");} 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); } ; f(f); 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, World!\n");} 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 environment? 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 ["Leaving."] 02:06 < clip9> why dosen't colors work ? :P 02:07 < Gracenotes> > go func() { fmt.Print("Hey-o") }(); <-make(chan int) 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@71.84.247.187] 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") }; (*pfun)(); 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 services.] 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") }; (*f)() 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); fmt.Print((*fp)()); 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@24.224.99.49] has quit [] 02:15 < wollw> ah 02:16 < reppie> > type pfun *func() int; f := 0x90c3c031; fp := pfun(&f); fmt.Print((*fp)()); 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 #go-nuts 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 ["Leaving"] 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@24.42.93.107] 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 ["Leaving."] 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 #go-nuts 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@67.218.110.88] has quit [Read error: 110 (Connection timed out)] 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 #go-nuts 02:40 -!- Tuller [n=Tuller@pool-72-84-246-12.rcmdva.fios.verizon.net] has joined #go-nuts 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 ["Leaving."] 02:48 -!- chucknelson [n=chucknel@ip70-185-112-79.ga.at.cox.net] has joined #go-nuts 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 fine 02:51 < chucknelson> it's just the test -> if ! test -f $GOROOT/include/u.h 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 terminal 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 issue...right? 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-190.99.193.179.emcali.net.co] 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 terminal? 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 ["Leaving."] 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@204.14.155.161] 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@216.239.45.130] 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 leopard 03:25 -!- yibter [n=yibter@c-76-105-116-44.hsd1.ga.comcast.net] has quit ["Leaving"] 03:32 < chucknelson> thanks all! 03:32 < chucknelson> night 03:32 -!- chucknelson [n=chucknel@ip70-185-112-79.ga.at.cox.net] has quit ["bedtime..."] 03:33 -!- wobsite [n=wobsite_@68-189-250-56.static.oxfr.ma.charter.com] has joined #go-nuts 03:35 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined #go-nuts 03:35 -!- KillerX [n=anant@145-116-234-40.uilenstede.casema.nl] has joined #go-nuts 03:38 -!- hipe [n=hipe@pool-96-232-221-238.nycmny.east.verizon.net] has joined #go-nuts 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 #go-nuts 03:43 -!- aanderse [n=aanderse@CPE001b11cc67d3-CM0019475d7f5e.cpe.net.cable.rogers.com] has joined #go-nuts 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 #go-nuts 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 #go-nuts 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: http://go-lang.cat-v.org/text-editors/ 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 shortcuts 04:10 < kfx> couldn't find it though 04:12 < reppie> i wish go had inline assembly 04:15 -!- travisbrady [n=tbrady@98.210.155.175] 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 #go-nuts 04:20 -!- wvicente [n=wvicente@189-69-97-190.dsl.telesp.net.br] has quit [Client Quit] 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 Inline::ASM; 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 #go-nuts 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 #go-nuts 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 #go-nuts 04:37 < goplexian> ah ok 04:37 < goplexian> I thought small stuff like that would be considered format 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@72.20.226.92] 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@115.240.84.211] has joined #go-nuts 04:44 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 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 #go-nuts 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 gccgo? 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 #go-nuts 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@67.165.199.143] 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@129.21.81.77] 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 wrote..."] 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 believe 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@207.47.143.154] 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 #go-nuts 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 #go-nuts 05:01 -!- dga [n=dga@207.47.27.210.static.nextweb.net] has joined #go-nuts 05:01 -!- brrant [n=John@65-102-193-77.hlrn.qwest.net] has quit [Remote closed the connection] 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 #go-nuts 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 #go-nuts 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 #go-nuts 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 #go-nuts 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 laptop 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@66.192.95.199] has quit [Read error: 60 (Operation timed out)] 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 ["Leaving"] 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 memory. 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 sigbus. 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@125.252.70.230] 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 #go-nuts 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 #go-nuts 05:26 < dho> 1 known bugs; 0 unexpected bugs; test output differs 05:26 < dho> that's not good 05:26 -!- skyyy [i=caw@129.21.116.238] 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 Quit] 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! http://groups.google.com/group/golang-nuts-jp 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 concurrency 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 it. 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 characters 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 characters 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, though. 05:51 < dho> golang.pastebin.com 05:51 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined #go-nuts 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 /dev/urandom? 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@75.141.254.198] 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@75.141.254.198] 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 #go-nuts 06:06 < madhatter09> Finally I'm back! 06:07 -!- Clooth [n=Clooth@cs27062173.pp.htv.fi] has quit [Remote closed the connection] 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 ["Leaving"] 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@207.47.27.210.static.nextweb.net] 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 cappacity? 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 closes? 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@72.20.226.92] has quit [Read error: 113 (No route to host)] 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@186.80.240.243] has quit [Read error: 110 (Connection timed out)] 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@186.80.240.243] 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@98.210.155.175] has quit [] 06:54 < timmcd> Do I need to instantiate a Regexp struct before I can call ReplaceAllString? 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 := re.ReplaceAllString(...); 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 channel 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 list 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 to: 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@115.240.84.211] has quit [Read error: 60 (Operation timed out)] 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 ["Leaving"] 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@98.210.159.164] 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 #go-nuts 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@94.100.112.225] has joined #go-nuts 07:42 -!- path__ [n=path@122.182.0.38] 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@122.182.0.38] has quit [Client Quit] 07:46 -!- timmcd [n=Adium@97-117-100-106.slkc.qwest.net] has quit ["Leaving."] 07:46 -!- path__ [n=path@59.162.86.164] 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@77.221.236.236] has joined #go-nuts 08:10 < dRiZzle> BroswerUk, whats your value for GOARCH ? 08:10 -!- ironfroggy_ [n=calvin@64.129.84.194] has quit [Read error: 110 (Connection timed out)] 08:11 -!- dRiZzle [n=dRizzle@77.221.236.236] 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 #go-nuts 08:15 -!- spook327 [n=RevSpook@173-20-203-218.client.mchsi.com] has quit ["leaving"] 08:16 -!- Arhuaco [n=n@186.80.240.243] has quit [Remote closed the connection] 08:20 -!- p4p4 [n=pedro@24.106.113.82.net.de.o2.com] has joined #go-nuts 08:21 -!- Xavier [i=kintoen@bitchx/dev/eth0] has joined #go-nuts 08:21 -!- p4p4 [n=pedro@24.106.113.82.net.de.o2.com] has quit [Remote closed the connection] 08:25 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts 08:26 -!- p4p4 [n=pedro@24.106.113.82.net.de.o2.com] has joined #go-nuts 08:29 -!- rog [n=rog@89.241.23.202] has joined #go-nuts 08:30 -!- hest [n=hest@127.84-48-175.nextgentel.com] has joined #go-nuts 08:31 -!- trickie [n=trickie@94.100.112.225] 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 - http://www.sysctl.co.uk/projects/macirssi/"] 08:39 -!- triplez_ [n=triplez@124.155.195.7] 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 #go-nuts 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 #go-nuts 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 #go-nuts 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 assignments 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 #go-nuts 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 #go-nuts 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 refused)] 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 #go-nuts 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@98.210.159.164] 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 #go-nuts 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 #go-nuts 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 well. 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@219.143.153.59] 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 #go-nuts 09:45 -!- asyncster [n=asyncste@206.169.213.106] has quit [Read error: 110 (Connection timed out)] 09:45 -!- teedex [n=teedex@204.14.155.161] 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@96.230.233.141] has joined #go-nuts 09:56 -!- asyncster [n=asyncste@206.169.213.106] 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@193.134.216.2] has joined #go-nuts 09:58 -!- sahid [n=sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined #go-nuts 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 services.] 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@141.57.11.224] 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 peer)] 10:12 -!- trvbldn [n=trvbldn@c-98-218-95-154.hsd1.dc.comcast.net] has joined #go-nuts 10:12 -!- nsz [i=nsz@morecp.net] has joined #go-nuts 10:14 -!- int-e [n=noone@141.57.11.224] 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 #go-nuts 10:18 -!- depood [n=depood@chello080108055214.19.11.vie.surfer.at] has joined #go-nuts 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@124.155.195.7] 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 #go-nuts 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@202.164.54.45] has joined #go-nuts 10:36 < alus> frimend: to my knowledge, goroutines do not communicate across machines 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 #go-nuts 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@89.211.174.98] 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@84.49.89.143] 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 finish? 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 where. 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@78.251.205.87] 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 refused)] 11:04 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit ["Leaving."] 11:06 -!- Fl1pFl0p [n=FlipFlop@ip68-8-225-187.sd.sd.cox.net] has quit [Client Quit] 11:09 < nikki93> Yay my first go program that I wrote myself: http://codepad.org/Z3qFmjCk 11:10 -!- bluemoon_ [n=bluemoon@c-98-225-14-178.hsd1.wa.comcast.net] has joined #go-nuts 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 #go-nuts 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 it) 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 Quit] 11:15 < alus> ah. and it has an RPC implementation http://golang.org/pkg/exp/nacl/srpc/ 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@124.99.218.76] 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 go 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 yet. 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 experiment. 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 interesting. 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 computing 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 silence 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 Go. 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 so 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 C) 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 bad 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 reported/handled 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 complexity. 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 time. 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 #go-nuts 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 explicitly. 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 up. 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 #go-nuts 11:58 <+danderson> it'll be inteesting to see what ends up happening with exceptions. 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 things. 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 implement) 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 themselves. 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 many. 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@24.121.113.82.net.de.o2.com] 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()) waitButLetOtherThingsRun(); 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@24.106.113.82.net.de.o2.com] has quit [Connection timed out] 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@195.239.8.22] 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@59.160.172.220] has joined #go-nuts 12:19 < nikki93> nsz: Yeah, the 'GameObjectManager', tells GameObjects about events. 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 into? 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@213.184.241.199] 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: http://en.wikipedia.org/wiki/Coroutine#Common_uses_of_coroutines 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 that 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 that 12:23 < madmoose> Innominate: It's not necessarily "massive". It's just a script per object. 12:23 -!- aanishn [n=quassel@59.160.172.220] has quit [Remote closed the connection] 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 object. 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 #go-nuts 12:26 < nsz> continuations are not coroutines 12:26 < Innominate> Per item scripts that respond to events 12:26 -!- hiromtz [n=hiromtz@124.99.218.76] 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 independently 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 frame. 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@87.223.179.242] 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 goroutines 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 http://code.google.com/p/go/issues/detail?id=266 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 ["Leaving..."] 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 functions. 12:38 -!- lux` [n=lux@151.54.240.177] 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@87.223.179.242] has left #go-nuts ["http://quassel-irc.org - Chat comfortably. Anywhere."] 12:40 < sladegen> madmoose: that one? http://en.wikipedia.org/wiki/Another_World_(video_game) 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 nice. 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@141.209.48.127] 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 #go-nuts 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@129.70.166.55] 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@189.2.128.130] 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@129.70.166.55] 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@193.134.216.2] 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 #go-nuts 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 thrwakeup 13:26 -!- gpurrenhage [n=gpurrenh@141.209.48.127] has quit [Remote closed the connection] 13:26 -!- gpurrenhage [n=gpurrenh@141.209.59.129] 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@59.92.154.133] 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 important 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 mprotect(PROT_READ|PROT_WRITE|PROT_EXECUTE) those pages 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 person; 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@59.92.154.133] 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 ... http://golang.org/doc/go_spec.html#Function_types 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 Quit] 13:39 -!- p4p4_ [n=pedro@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 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@59.162.86.164] has quit [] 13:39 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined #go-nuts 13:39 < me__> you need the OS to setup this table for you, so setldt(). 13:40 -!- x2cast [n=Administ@183.127.222.87.dynamic.jazztel.es] has joined #go-nuts 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@183.127.222.87.dynamic.jazztel.es] 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 missing? 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 < dho> ONE BILLION DOLLARS 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 #go-nuts 13:52 < Snert> but soon I have to resume the development on BarricadeMX for Windows 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 ["Leaving."] 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 maybe. 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@202.164.54.45] 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@93.190.180.221] has joined #go-nuts 13:59 < dho> us 13:59 < Snert> ok 13:59 -!- chrelad [n=chrelad@76.164.12.11] has left #go-nuts ["[P] 0.2.6.3"] 13:59 * Snert wishes he was a teen again who worked till 3h00 in the morning on code 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@122.88.61.80] 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 #go-nuts 14:03 -!- me__ [n=venkates@c-68-55-179-48.hsd1.md.comcast.net] has quit ["leaving"] 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 #go-nuts 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 ["EXEC_over.METHOD_SUBLIMATION"] 14:15 -!- fhs [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has quit ["leaving"] 14:16 -!- sliceofpi [n=Adium@c-98-201-178-27.hsd1.tx.comcast.net] has quit ["Leaving."] 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@115.240.94.86] has joined #go-nuts 14:22 -!- ring-zero [n=hotshot@117.199.135.112] has joined #go-nuts 14:25 -!- Guest14331 [n=kill-9@cpe-65-24-145-70.columbus.res.rr.com] has joined #go-nuts 14:30 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has joined #go-nuts 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@213.184.241.199] 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 ["Leaving."] 14:44 -!- jharrys [n=de043124@c-71-195-253-55.hsd1.ut.comcast.net] has joined #go-nuts 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@89.128.155.68] 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 #go-nuts 15:00 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined #go-nuts 15:02 -!- ni| [n=ni|@isp2-resnet-nat1.union.edu] has joined #go-nuts 15:03 -!- Perberos [n=Perberos@190.49.56.65] 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@59.92.205.23] 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@115.240.94.86] 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 connection] 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 #go-nuts 15:15 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Read error: 110 (Connection timed out)] 15:16 -!- longbean [n=longbean@122.88.61.80] has quit ["Leaving"] 15:16 -!- ziyu_huang [n=ziyu_hua@220.133.3.82] 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 #go-nuts 15:23 -!- p4p4 [n=pedro@24.121.113.82.net.de.o2.com] 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@137.65.132.26] 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@66.54.185.131] 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 #go-nuts 15:44 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 110 (Connection timed out)] 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@94.100.112.225] 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@192.206.100.4] has joined #go-nuts 15:52 -!- RadSurfer [n=RadSurfe@unaffiliated/radsurfer] has joined #Go-Nuts 15:53 -!- Peter- [n=peter@92.254.21.251] has joined #go-nuts 15:53 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit ["Leaving"] 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@195.239.8.22] has quit ["Leaving."] 16:02 -!- Peter` [n=peter@92.254.21.251] has quit [Read error: 110 (Connection timed out)] 16:05 -!- sku [n=sku@93.190.180.221] has left #go-nuts [] 16:06 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined #go-nuts 16:08 -!- golangguru [n=chatzill@124.125.104.56] 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 #go-nuts 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@202.164.54.45] has joined #go-nuts 16:20 -!- Esmil [n=esmil@4704ds1-gjp.0.fullrate.dk] has quit [Nick collision from services.] 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 terminal"] 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 #go-nuts 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 #go-nuts 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 #go-nuts 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@94.100.112.225] 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@216.239.45.130] 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 #go-nuts 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@94.169.117.135] has joined #go-nuts 16:52 < simonz05> there is a go-google-mercurial on AUR, but not really optimal. 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@216.239.45.130] 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@24.121.113.82.net.de.o2.com] has joined #go-nuts 16:56 -!- rowdog [n=jth@h220.145.30.71.dynamic.ip.windstream.net] has joined #go-nuts 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@187.34.171.203] has joined #go-nuts 16:57 -!- mad [n=wvicente@187.34.171.203] 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: http://golang.org/doc/go_tutorial.html 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@141.57.11.224] has left #go-nuts [] 16:58 -!- aekeus [n=aubreyk@24.75.15.14] has quit [Remote closed the connection] 16:58 -!- barismet_ [n=barismet@zanzibar.inria.fr] has left #go-nuts ["Leaving..."] 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 #go-nuts 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@200.184.118.130] 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@24.121.113.82.net.de.o2.com] 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 #go-nuts 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@204.57.79.2] 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@24.121.113.82.net.de.o2.com] 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@94.169.117.135] 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 string. 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@189.2.128.130] 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) dangerous 17:10 < KirkMcDonald> golangguru: Go doesn't have anything to do with Python. 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 python 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 #go-nuts 17:15 < dho> golangguru: www.golang.org 17:15 < exch> as stated before. Go has absolutely /nothing/ to do with python 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@59.92.205.23] 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: http://go-lang.cat-v.org/irc-logs/go-nuts/2009-11-18 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@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 17:26 -!- gordi [n=gordi@24.121.113.82.net.de.o2.com] 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 predecessor? 17:32 < uriel> probably a common predecessor or a product of parallel evolution... 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 #go-nuts 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 directly. 17:36 < KirkMcDonald> The blog I just linked to suggests Python got it from ABC. 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 spots. 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 typing"... 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 string}? 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 better' 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 #go-nuts 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 #go-nuts 17:45 -!- dirtmcgirt [n=dirtmcgi@c-67-164-99-103.hsd1.ca.comcast.net] has joined #go-nuts 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: http://go-lang.cat-v.org/library-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 loaded) 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@202.164.54.45] 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@97.65.135.119] 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 out)] 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@113.199.188.52] 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@113.199.188.52] 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@113.199.188.52] has joined #go-nuts 17:56 -!- Suv123 [n=suvash@113.199.188.52] 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@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 17:57 -!- Suv123 [n=suvash@113.199.188.52] has joined #go-nuts 17:57 -!- __ed [i=bitch@anal-co.it] has quit [Operation timed out] 17:57 -!- gordi [n=gordi@24.121.113.82.net.de.o2.com] 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@189.2.128.130] 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 #go-nuts 17:59 < uriel> and I guess they wanted a way to have \n and co 17:59 -!- gordi [n=gordi@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 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 easier 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 #go-nuts 18:03 -!- robcat [i=d9947a35@gateway/web/freenode/x-qglyaunpepnqexgq] has joined #go-nuts 18:03 -!- flyguy [n=root@66-169-174-29.dhcp.ftwo.tx.charter.com] has quit [Client Quit] 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@12.236.109.2] 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@24.121.113.82.net.de.o2.com] 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 #go-nuts 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 3.5.5/20091102152451]"] 18:13 -!- uwedeportivo [n=uwe@216.239.45.19] has joined #go-nuts 18:13 < rog> anyway, that'd work, in principle as "[^"]*\n is illegal currently 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 lexically. 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 #go-nuts 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 test/fixedbugs 18:16 -!- kozak [n=kozak@122.166.48.72] 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 connection] 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 string. 18:17 -!- gordi [n=gordi@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 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 #mercurial 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 #go-nuts 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 result. 18:22 -!- pshahmumbai [n=prashant@59.164.24.169] 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 #go-nuts 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 Quit] 18:25 < uriel> (gopaste.org also runs go) 18:25 < nixfreak> cool 18:26 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined #go-nuts 18:26 -!- interskh [n=interskh@c-67-163-156-103.hsd1.pa.comcast.net] has joined #go-nuts 18:27 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit [] 18:27 -!- sku [n=sku@93.190.180.221] 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@216.239.45.130] 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 ["Leaving..."] 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 #go-nuts 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 finished... 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@93.190.180.221] 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 mechanism 18:43 -!- robcat [i=d9947a35@gateway/web/freenode/x-qglyaunpepnqexgq] has quit [Ping timeout: 180 seconds] 18:44 -!- paulca [n=paul@12.236.109.2] 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 ["Leaving"] 18:45 -!- directrixx [n=directri@ip68-231-189-247.tc.ph.cox.net] has joined #go-nuts 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 goroutine? 18:46 < rog> flyguy: nope 18:46 < yuanxin> flyguy: this was discussed on the list, let me try to find it 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 signal... 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@59.164.24.169] 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 currently. 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@117.199.135.112] has quit [Remote closed the connection] 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 ["leaving"] 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 #go-nuts 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 too. 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@24.121.113.82.net.de.o2.com] has quit [Remote closed the connection] 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 processes. 19:00 -!- Chaze [n=Chase@dslb-188-097-004-147.pools.arcor-ip.net] has joined #go-nuts 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 restart 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@216.239.45.130] 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, indeed 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 channel 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 it. 19:05 -!- leopa [n=leopoldo@189.114.201.244.dynamic.adsl.gvt.net.br] has joined #go-nuts 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 connection] 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 Quit] 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 #go-nuts 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 #go-nuts 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 #go-nuts 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@122.162.27.69] 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@189.114.201.244.dynamic.adsl.gvt.net.br] 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? http://booboo.pastebin.com/m36524437 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@91.78.123.81] 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 connection] 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@91.78.123.81] 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 stdlib? 19:23 < KirkMcDonald> It is MIT licensed. 19:23 -!- Jan_Flanders [n=chatzill@d54C1E33B.access.telenet.be] has joined #go-nuts 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 ["leaving"] 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 package. 19:25 -!- hipe [n=hipe@69.193.196.185] 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@24.106.113.82.net.de.o2.com] 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, though 19:30 < ni|> hey what are most people using to edit go progs? Seem vim and emacs? 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 Quit] 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 out)] 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 #go-nuts 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 both 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@113.199.188.52] has quit ["Leaving"] 19:43 -!- AlvaroGP [i=Alvaro@89.128.155.68] 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 exist 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 #go-nuts 19:57 -!- golangguru [n=chatzill@124.125.104.56] 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@12.236.109.2] 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@12.236.109.2] 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@78.251.205.87] 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 ["Leaving..."] 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@117.199.129.116] 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 Quit] 20:19 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has joined #go-nuts 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@206.169.213.106] 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@141.209.59.129] 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 order? 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 language. 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 backslash-escapes. 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 #go-nuts 20:36 -!- dgnorton [n=dgnorton@97.65.135.119] has joined #go-nuts 20:36 < Rob_Russell> i don't see a way to do path:=`C:\goofy`pathname\file` though 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. http://pastebin.com/m56f31e61 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@200.184.118.130] has joined #go-nuts 20:39 -!- cmarcelo [n=quassel@200.184.118.130] has quit [Remote closed the connection] 20:40 -!- delsvr_ [n=delsvr@cpe-67-242-41-219.twcny.res.rr.com] has joined #go-nuts 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 out)] 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 tests? 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 get KILLED 20:45 < jhendrix> how so? 20:46 -!- directrixx [n=aleksand@ip68-231-189-247.tc.ph.cox.net] has quit ["Adios"] 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 killed? 20:51 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN GAME"] 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 #go-nuts 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@151.54.240.177] 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@85.203.232.72.static.reverse.ltdomains.com] 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 #go-nuts 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 #go-nuts 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 connection] 20:58 -!- pilt [n=pilt@h-60-10.A163.priv.bahnhof.se] has quit [Remote closed the connection] 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 connection] 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 #go-nuts 20:58 -!- sstangl_ [n=sean@BERLIN.RES.CMU.EDU] has joined #go-nuts 20:58 -!- pilt_ [n=pilt@79.136.60.10] 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 connection] 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 #go-nuts 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 connection] 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 services.] 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 pipe 21:03 -!- freespace [i=foobar@85.203.232.72.static.reverse.ltdomains.com] 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@85.203.232.72.static.reverse.ltdomains.com] 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 Linux. 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 out] 21:09 < uriel> KirkMcDonald: we know 21:09 -!- cmatei [n=cmatei@95.76.26.166] 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@12.236.109.2] has joined #go-nuts 21:11 -!- travisbrady [n=tbrady@67-207-96-194.static.wiline.com] has joined #go-nuts 21:11 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts 21:11 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Connection timed out] 21:13 -!- dgnorton [n=dgnorton@97.65.135.119] has left #go-nuts [] 21:14 -!- flyguy [n=flyguy@66-169-174-29.dhcp.ftwo.tx.charter.com] has quit ["leaving"] 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 #go-nuts 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 Quit] 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@151.54.240.177] 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 ["Leaving."] 21:21 -!- Anusko [n=anusko@a83-132-19-244.cpe.netcabo.pt] has quit [SendQ exceeded] 21:21 -!- aa [n=aa@r190-135-212-29.dialup.adsl.anteldata.net.uy] has joined #go-nuts 21:21 < uriel> (not that I expect it to be possible to convince russ, but...) 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 peer] 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 #go-nuts 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 out] 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 that 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 #go-nuts 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 example 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@12.236.109.2] 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@189.2.128.130] 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 things 21:46 < dho> i don't like inferno much either 21:47 -!- ForLoop` [i=forloop@87-150-128.netrun.cytanet.com.cy] has joined #go-nuts 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 #go-nuts 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 already 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 mid-2010 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@67.165.199.143] has joined #go-nuts 21:51 -!- Popog [n=Adium@66-192-186-101.static.twtelecom.net] has quit ["Leaving."] 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@84.49.89.143] 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 code 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@12.236.109.2] 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 reason 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 #go-nuts 22:05 < uriel> quanstro is great 22:05 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined #go-nuts 22:06 < dho> he's frustrating sometimes 22:06 -!- paulca_ [n=paul@12.236.109.2] 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@12.236.109.2] 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@12.236.109.2] 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: http://9p.cat-v.org/implementations 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@12.236.109.2] 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, fun 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@129.21.116.238] has joined #go-nuts 22:16 < dho> apparently IL is still nice on wireless networks 22:16 -!- p4p4_ [n=P4p4@24.106.113.82.net.de.o2.com] 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@12.236.109.2] 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@216.239.45.130] 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@89.241.23.202] has quit [] 22:29 -!- rhelmer [n=rhelmer@adsl-69-107-65-242.dsl.pltn13.pacbell.net] has joined #go-nuts 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 connection] 22:32 -!- kaib_ [n=kaib@216.239.45.130] 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@137.65.132.26] 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 #go-nuts 22:48 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts 22:49 -!- evilhackerdude [n=stephan@e181126179.adsl.alicedsl.de] has joined #go-nuts 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 #go-nuts 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@77.224.92.149] 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 #go-nuts 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@89.211.174.98] has quit ["Lost terminal"] 23:11 < nacmartin> dho: just to have a go func waiting until something is received 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@85.107.220.162] 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 #go-nuts 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 sockets. 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 channels 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 :D 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@85.107.220.162] 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 ["w00f!"] 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 #go-nuts 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: ... line? 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 something 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 #go-nuts 23:41 -!- madhatter09 [n=wvicente@189-69-107-80.dsl.telesp.net.br] has quit [Client Quit] 23:42 -!- lux` [n=lux@151.54.240.177] 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 ["Verlassend"] 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@77.224.92.149] has quit [Remote closed the connection] 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 ["Leaving..."] 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@67.165.199.143] 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 peer] --- Log closed Fri Nov 20 00:00:23 2009