--- Log opened Sun Jun 12 00:00:46 2011 --- Day changed Sun Jun 12 2011 00:00 < uriel> true, still, given how fast the language is changing, having to keep the compilers up with changes in the language would be an extra hassle 00:01 < nsf> is it still changing? :) 00:02 < kevlar> I thought with bootstrapped compilers you ship a compiler which can build the compiler which then builds itself and then the libraries 00:02 < nsf> true 00:03 < nsf> but maintaining two compilers is hard 00:03 < kevlar> why two compilers? 00:03 < kevlar> you just need the one 00:03 < kevlar> (p.s. we have two compilers now...) 00:03 < nsf> well then if the compiler is written in the language it compiles 00:03 < nsf> you need to compile it somehow 00:03 < nsf> chicken and egg, bla bla bla 00:04 < nsf> but that's the point 00:04 < nsf> you don't need to compile it 00:04 < nsf> just use binaries :) 00:04 < kevlar> you have the bootstrap binary which compiles the compiler, then you use the compiled compiler to compile itself (for any new optimizations) and then the libraries 00:04 < kevlar> then the compiler you just compiled is kept locally as the next bootstrap compiler 00:04 < nsf> yes 00:05 < kevlar> I don't see how that requires two compilers 00:05 < nsf> now someone should write the compiler 00:05 < nsf> it doesn't 00:05 < KBme> but then the old compiler's bugs aren't fixed 00:05 < KBme> so you do need two compilers 00:06 < kevlar> KBme: yeah, they are 00:07 < KBme> oops 00:07 < KBme> heh, i didn't think of compiling the compiler with the compiler ☺ 00:07 < kevlar> it is concievable that somehow a compiler bug could cause any compiler it compiled to have the same bug, but that would be pretty tough and probably not too difficult to work around 00:08 < kevlar> KBme: I used to use Gentoo linux on my servers, and the first thing you did there was download an OTS gcc and then used that to compile an optimized gcc and then used that optimized gcc to compile an optimized libc 00:09 < kevlar> it took for-freaking-ever, lol 00:10 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Quit: (◣_◢) BigBrowser is watching ⓎⓄⓊ] 00:10 < KBme> kevlar, yeah i use gentoo 00:11 < KBme> but i still wonder sometimes 00:11 < KBme> where the gcc used to compile the stage3's come from 00:11 < kevlar> KBme: I stopped in early 2010 00:11 < kevlar> KBme: it's just a gcc compiler optimized for size and statically linked and stripped 00:12 < uriel> the thing is, C (at least the C gcc is written is) is not changing every week 00:12 < kevlar> (for a compatible target architecture; the 64-bit one was usually the 32-bit one) 00:13 < kevlar> uriel: the compiler isn't changing a whole lot 00:13 < uriel> and you don't need to distribute a 'bootstrap' compiler that implements the langauge changes, *but* is implemented without the changes 00:13 < uriel> kevlar: no, but still would be a hassle 00:13 < kevlar> uriel: I don't see the argument. 00:14 < uriel> well, nevermind, this is a pointless discussion in any case 00:14 < kevlar> as long as you don't use bleeding edge features in the compiler itself, you're fine 00:14 < uriel> kevlar: the thing is, you don't just add features to the language 00:14 < uriel> unlike other languages, Go actually changes and simplifies shit, not just add new layers of shit 00:15 < kevlar> I don't disagree that you would have some special cases left in for compiling the compiler in some rare circumstances, but I think that go has stabilized beyond that being a problem. 00:15 < kevlar> that is just my opinion. 00:16 < KBme> i think this topic has something to do with the 'trusting trust' paper 00:17 < uriel> I think its got fucking nothing to do with it 00:17 < uriel> its got to with being practical, resources available and priorities 00:17 < KBme> thank you for abusing me with oyur language 00:17 < KBme> it feels so good 00:17 < kevlar> especially when it's me you're mad at... 00:18 < uriel> I'm not mad at anyone in particular 00:18 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts 00:19 < uriel> it is just a silly discussion, if somebody wants a Go compiler in Go, they can go and write it, like the erGo folks did, I just happen to think there are better things to do at the moment 00:19 < uriel> and to assume the language wont change in non-backwards compatible ways ever again is naive, and ignores one of the things that make Go great (and better all the time), that if a way to improve and polish something is found, it is done, and we are not stuck with stuff for historical reasons 00:20 < KBme> i'd love to be more knowledgeable in these fields, but i do think it has to do with that paper since we're discussing self-hosting compilers and compiler bugs 00:20 < uriel> here gofix helps, having the compilers written in Go wouldn't help 00:20 < uriel> KBme: I never mentioned compiler bugs 00:21 < uriel> and just because a paper is about self-hosting compilers doesn't mean it is relevant to this discussion 00:21 < uriel> that paper was about security, and self-hosting Go compilers or not, if somebody put a backdoor in the compilers of any language it would make little difference 00:23 < KBme> yeah, i'm not into compilers enough so i shouldn't blab into this discussion, sorry 00:24 < kevlar> I infered from the name of the paper KBme referenced that he meant that the recursive nature of a trust model is similar to the recursive nature of bootstrapping a compiler, which I think is a fair comparison. 00:24 < uriel> kevlar: if you don't know that paper, you really should read it 00:24 < uriel> but it is not really relevant to this discussion 00:24 < uriel> the point is: if you compile shit, you are trusting the compiler, and the compiler that compiled that compiler, and so on and on 00:25 < KBme> how i understood it, it's not only about malicious intent, but also compiler bugs. whatever. 00:25 < uriel> the languages involved are not really too relevant to the argument of the paper, which is mostly theoretical and amusing 00:25 < KBme> kevlar, and yes, you should read that paper it's awesome (even for me, an amateurà 00:25 < KBme> àツ 00:25 < uriel> KBme: compiler bugs can display similar properties of self-perpetuation, but well, that is just a bug, and you fix it 00:27 < KBme> i wonder how twisted the ergo code actually is 00:29 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has joined #go-nuts 00:30 < uriel> I wonder too 00:30 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has quit [Quit: whitespacechar] 00:30 < kevlar> it hasn't been touched since, what, early 2010? 00:31 < kevlar> my guess is that (like gccgo originally) it had no garbage collector and probably also a crippled runtime so that it could compile itself 00:31 -!- crashR [~crasher@codextreme.pck.nerim.net] has quit [Ping timeout: 250 seconds] 00:31 < KBme> and used unsafe all over the place 00:32 < KBme> i remember aiju trying to build a kernel using go 00:32 < kevlar> `tiny`? 00:32 < kevlar> or was that someone else 00:32 < KBme> yeah, that does ring some bells 00:34 < uriel> KBme: no, that was http://gofy.cat-v.org 00:34 < uriel> er s/ KBme/ kevlar/ 00:35 < uriel> tiny was part of the Go distribution 00:35 < uriel> somebody forked it 00:36 < KBme> oh, right, gofy! 00:36 < KBme> how could i forget that? god damn 00:36 < kevlar> lol, I remember reading that now too 00:37 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has joined #go-nuts 00:38 < kevlar> oh, that's disappointing 00:38 < kevlar> I went to the erGo forums to see if there was a user community 00:38 < kevlar> and saw "oh look! recent posts!" 00:38 < kevlar> not a single legitimate post in sight, all spam for handbags and online games and whatnot. 00:44 < |Craig|> write a go interpreter in go, call it go-go. (And run it in itself and call it go-go-go) 00:44 < kevlar> |Craig|: there's already a gogo project 00:45 < kevlar> though it was someone's school assignment and was abandoned when they turned it in. 00:45 < kevlar> (it was a go compiler that could compile itself) 00:45 < kevlar> though it wasn't really full featured. 00:45 < kevlar> in my mind, the hardest part of a go compiler for go would be the runtime... 00:46 < kevlar> I would want to write the runtime in go, but that would require a runtime, which is a chicken and egg problem my brain can't find the end of :D 00:50 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Quit: Tv] 00:51 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 00:51 -!- dannyft [~dannyft@3e6b0f67.rev.stofanet.dk] has quit [Quit: Leaving] 00:51 < |Craig|> kevlar: good point 00:52 < |Craig|> kevlar: you can implement the runtime in a subset of the language that can be compiled without needing the runtime. What scraps are left would have to be done in assembly or something else lower level than go. 00:54 < |Craig|> clearly if you use a chan to implement a chan, you arn't getting anywhere 00:55 -!- arctanx [~tk@173.203.126.100] has joined #go-nuts 00:56 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection] 00:57 * exch ports 'harmony' to Go/opengl for shits 'n giggles 01:02 -!- wchicken [~chicken@c-24-7-112-207.hsd1.ca.comcast.net] has joined #go-nuts 01:06 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts 01:23 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 01:27 < exch> Anyone good with licenses? If I write a port of a GPL3 licensed app, can I distribute it only with the same license? 01:28 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 01:38 < KBme> yes, i'm pretty sure gpl is virulent in every possible way 01:38 < KBme> though i'm not that good with law either 01:38 < Namegduf> I think the relevant question is whether it counts as a derivative work 01:39 < nsf> you looked into a GPL app - you're a derivative work now 01:39 < nsf> ;) 01:39 < Namegduf> You'd have the same question with a non-open licence or closed source software 01:40 < KBme> heheh nsf ☺ 01:40 < KBme> nsf, a port is pretty much the software unchanged 01:41 < KBme> imagine that something that links to gnu needs to use gpl 01:41 < KBme> so..yes, you'll need to use gpl 01:41 < exch> meh 01:42 < uriel> http://stackoverflow.com/questions/6313239/how-to-support-allman-style-coding-in-go 01:42 < uriel> *facepalm* 01:42 < nsf> "I'm a firm believer that the bracing-style used should really be decided by the coding-standard adopted by the people or company working on the code-base rather than being forced upon by the language itself." 01:42 < nsf> >_< 01:43 < KBme> hahahahah 01:43 < KBme> lol 01:44 < KBme> show me one language where that is possible 01:44 < KBme> other than microsoft crap which i'm guessing supports every fucking thing 01:44 < icey> KBme: nemerle... which is .net but not msft 01:44 < KBme> heh 01:44 < uriel> yea, maybe the whole syntax of the language should be optional 01:45 < KBme> uriel, exactly 01:45 < Namegduf> Does he insist on such a style when working in, say, Lisp? 01:45 < nsf> uriel: technically it is possible :) 01:45 < icey> KBme: nemerle can use braces or white-space indentation just by issuing a pragma at the top of a file 01:45 < uriel> nsf: yes, and totally stupid 01:45 < nsf> compiler that takes an AST instead of a source code 01:45 < nsf> :D 01:45 < nsf> lol, you can even make it in XML 01:45 < nsf> :D 01:46 < KBme> icey, that's so awesome i'm going to fall asleep faping to that 01:46 < icey> KBme: careful, you could lose an eye 01:46 < uriel> in any case, people are really in love with their bike sheds 01:46 < KBme> hahah lisp optional braces 01:46 < Namegduf> No no 01:46 < Namegduf> Lisp with braces 01:46 < Namegduf> And the rest of the Allman style 01:46 < Namegduf> Because that's what he wants 01:47 < Namegduf> And obviously all languages should permit him to use it. 01:47 < KBme> yes, all languages should just have optional syntax 01:47 < nsf> maybe this guy is Eric Allman 01:47 < nsf> :D 01:48 * KBme wikipedia's Eric Allman 01:48 < uriel> he wrote sendmail iirc 01:48 < uriel> that should be enough 01:48 < nsf> and he is gay 01:49 < uriel> I'm not religious, but I think writting sendmail is a capital sin 01:49 < KBme> is sendmail the MTA that uses m4 for it's configuration? 01:51 < KBme> yep 01:51 < KBme> BURN THE BASTARD 01:59 -!- dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has joined #go-nuts 01:59 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 01:59 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 01:59 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 02:03 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 02:04 < kevlar> uriel: those people who love their bike sheds can sleep soundly now that in go you can import "bike/shed" 02:05 < kevlar> incidentally, now I can send an email that says `import "bike/shed"; func main() { _ = shed.Blue }` 02:11 < KBme> huh 02:12 < KBme> you're lying 02:12 < KBme> i see it in your eyes 02:12 < KBme> there is no bike pkg 02:12 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 02:14 -!- wchicken [~chicken@c-24-7-112-207.hsd1.ca.comcast.net] has quit [Ping timeout: 244 seconds] 02:15 < nsf> KBme: http://groups.google.com/group/golang-dev/browse_thread/thread/d6016a4753931d2d 02:15 < nsf> http://codereview.appspot.com/4557047/patch/33001/27006 02:16 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 02:17 < KBme> gagagagagag 02:17 < KBme> s,g,h,g 02:18 < KBme> where are the unicorns? a bikeshed without a unicorn? wtf‽ 02:20 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has quit [Quit: rputikar] 02:21 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5] 02:32 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit [Ping timeout: 252 seconds] 02:39 < kevlar> http://tip.goneat.org/pkg/bike/shed/ 02:40 -!- kcant [d4dcc8b8@gateway/web/freenode/ip.212.220.200.184] has joined #go-nuts 02:40 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has quit [Quit: whitespacechar] 02:45 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 02:46 < KBme> ha 02:46 -!- dshep [~user@c-76-103-91-143.hsd1.ca.comcast.net] has joined #go-nuts 02:48 < kevlar> I totally thought it was a joke when I saw the CL. 02:48 < kevlar> I suppose it provides an example of what a package looks like. 02:51 < KBme> exactly 02:51 < KBme> it has only educational purposes 02:51 < KBme> no humour whatsoever 02:52 -!- kcant [d4dcc8b8@gateway/web/freenode/ip.212.220.200.184] has quit [Quit: Page closed] 02:55 < kevlar> I still think he should've linked to salmon.bikeshed.org and not red.bikeshed.org. 02:55 < KBme> green is the way to go! 02:56 < |shad0w|> everyone knows bike sheds should be yellow 02:56 < KBme> you guys with your sissy colors 02:56 < Namegduf> Ew, yellow 02:57 < kevlar> you guys are so easy ;-) 02:59 < KBme> no, you're too easy 02:59 < KBme> and you're yellow 03:00 < Tv> your mom's too easy 03:00 < kevlar> actually, I'm just south of 720nm, but it's a common mistake. 03:00 < KBme> did you just insult my mom? 03:00 * KBme slaps Tv around with a fat herring 03:00 < Tv> i think the canonical continuation to that is "i did last night" 03:01 < KBme> no, ur mom is a fat herring 03:52 -!- justinlilly [justinlill@70.32.34.100] has joined #go-nuts 03:57 -!- danilo04 [~danilo04@66.44.225.80] has quit [Ping timeout: 240 seconds] 04:06 -!- franciscosouza [~francisco@187.105.18.105] has quit [Quit: franciscosouza] 04:08 -!- _dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has joined #go-nuts 04:09 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services] 04:10 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 04:11 -!- dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has quit [Ping timeout: 255 seconds] 04:20 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping timeout: 240 seconds] 04:20 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 04:23 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts 04:29 -!- _dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has quit [Quit: Silly man, I am a Baron!] 04:30 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts 04:35 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error: Connection reset by peer] 04:35 -!- franciscosouza_ [~francisco@187.105.18.105] has joined #go-nuts 04:37 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 04:41 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host closed the connection] 04:52 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has joined #go-nuts 04:55 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined #go-nuts 05:00 -!- skelterjohn [~jasmuth@81.92.20.210] has joined #go-nuts 05:02 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts 05:23 -!- ghais [~ghais@c-68-32-79-77.hsd1.ga.comcast.net] has quit [Quit: Computer has gone to sleep.] 05:26 -!- skelterjohn [~jasmuth@81.92.20.210] has quit [Quit: skelterjohn] 05:32 -!- dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has joined #go-nuts 05:34 -!- alanlian1 [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has joined #go-nuts 05:37 -!- alanliang [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has quit [Ping timeout: 258 seconds] 05:39 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit [Ping timeout: 276 seconds] 05:42 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts 05:47 < elazarl> Is there a way to write program that uses plugins with go? 05:48 < vsmatck> What is a pluggin? 05:48 < elazarl> So that you can use a plugin, without recompiling the whole program. 05:48 < Namegduf> Yes- you push them out to another process. 05:48 < vsmatck> Your question is too generic. 05:49 < elazarl> vsmatck: Classic example, I have /usr/bin/cat which reads .so files from /etc/cat/plugins, they all provide the function func proc_line(string) string, loads them and uses this function 05:50 < elazarl> vsmatck: if I want to write a plugin to cat, I just implement this function and run cat as "cat --plugin /path/to/my/plugin.so" 05:50 < elazarl> vsmatck: Specific enough? 05:50 < vsmatck> Yes. So the question is if go supports dymanic linking? I do not know the answer but perhaps someone here will. 05:50 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 255 seconds] 05:51 < elazarl> vsmatck: Dynamic linking is a way to implement it. Maybe there's another way 05:52 < elazarl> vsmatck: (contrived example you can use "gocombine binary_prog plugin" which will combine both to a single static file and run it) 05:52 < vsmatck> Ah, I see why you use the word "pluggin" then. Is a requirement that the pluggin be written in go? 05:52 < vsmatck> It sounds like it is. 05:53 < elazarl> Namegduf: I thought about it, but it's way less convenient, as I can't force an API. I must re-invent the communication protocol between them 05:53 < Namegduf> elazarl: Er 05:53 < Namegduf> You can expose an arbitrary API via RPC 05:53 < elazarl> vsmatck: Yes, it will hardly make sense to write them in other languages 05:53 < Namegduf> It's exactly as much an API specified exactly as much as normal. 05:53 < Namegduf> I suppose you need to pick your RPC mechanism 05:53 < Namegduf> But aside that... 05:54 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has joined #go-nuts 05:54 < elazarl> Namegduf: That's what I call "reinvent the API". I have an excellent RPC mechanism which is called "function calls", and it's way more convenient 05:54 < vsmatck> I don't think RPC is a good idea. For that you'd have to have full programs running for each pluggin, and communicate over network. Sounds really heavey for pluggins. 05:54 < Namegduf> elazarl: That's not a Remote Procedure Call mechanism. 05:54 < Namegduf> Due to not being remote. 05:55 < Namegduf> You don't need to reinvent an RPC mechanism and shouldn't. 05:55 < Namegduf> There's a whole bunch of perfectly usable ones. 05:55 < Namegduf> Pick one. 05:55 < Namegduf> Bam. 05:55 < vsmatck> It'd be nice if there was a go compiler as part of the go standard library. That'd make this easy. heh 05:55 < Namegduf> They just proxy function calls. 05:55 < Namegduf> That's it. 05:55 < elazarl> vsmatck: Yeah I thought about it too, it would be awesome 05:56 < elazarl> vsmatck: And I can run plugins written in plaintext 05:56 < Namegduf> Anyways, no, there's no dynamic linking. 05:56 < elazarl> Namegduf: As I said, dynamic linking is a way to implement plugin architecture, there are other solutions 05:58 < elazarl> Namegduf: Let me give you an example why is that a bad idea. Say my plugin invovles go's AST. With RPC I have to copy and rebuild the AST with each call, with plugin architecture, I just use it. With RPC I can't give you a reader interface that the plugin host implements (at least it's not simple), with plugin I can. 05:58 -!- skelterjohn [~jasmuth@81.92.20.210] has joined #go-nuts 05:58 < Namegduf> elazarl: RPC *is* a plugin architecture. See: Basically all major browsers. 05:58 < Namegduf> elazarl: Dynamic linking is not available in Go. Just isn't. 05:58 < Namegduf> You asked for suggestions, I gave one. 05:59 < Namegduf> If you don't like it, that's okay, but it won't bring dynamic linking to you. 05:59 < vsmatck> It will be eventually, I'd think. Go may be a little too young for what elazarl wants to do. 06:00 < elazarl> Namegduf: Implementing plugins in RPC is a new trick which was hard to do. It was done only for security, and I think it was a pain for implement (see the hoops they had to go through to implement OpenGL). The old architecture was based on dynamic linking. 06:00 < elazarl> vsmatck: Yeah, probably 06:01 < Namegduf> elazarl: It was a pain because the old thing wasn't RPC. But implementing plugins through RPC in general isn't that hard, no. 06:01 < Namegduf> RPC just proxies function calls, and that's not too clever or complex. 06:01 < uriel> what is the actual *problem* you folks are trying to solve? 06:01 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 06:01 < uriel> or is this the usual purely speculative "I need blah, because, well, just because it sounds good" 06:01 < skelterjohn> opengl via RPC? :O 06:02 < Namegduf> OpenGL was really hard because OpenGL is Special, not because RPC is hard 06:02 < skelterjohn> let's interface to hardware through the internet! 06:02 < skelterjohn> well... i guess that's all of internet technology 06:02 < skelterjohn> so, bad example 06:02 < elazarl> Namegduf: I'll say that last time, dynamic linking is only one option to have plugin architecture, and RPC is not the only other alternative. 06:02 < uriel> 05:48 < vsmatck> Your question is too generic. 06:03 < Namegduf> elazarl: Dynamic linking isn't an option right now unless you want to do some major compiler work. 06:03 < uriel> I see little progress beyond this in the backlog 06:03 < Namegduf> elazarl: I dunno what other options there are. You asked for one, I suggested the major one. 06:03 < elazarl> uriel: yes... 06:03 < uriel> why would anyone want dynamic linking anyway? 06:03 < Namegduf> elazarl actually wants dynamic loading, not linking 06:03 < skelterjohn> uriel: besides the obvious? 06:03 < Namegduf> But eh 06:03 < uriel> whatever, why would anyone want it? 06:04 < uriel> skelterjohn: feature parity with the various DLL hells out there? 06:04 < Namegduf> You can recompile every time you want to load/unload a module 06:04 < skelterjohn> imagine all of the programs in /usr/bin static linking the go runtime 06:04 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has quit [Read error: Connection reset by peer] 06:04 < uriel> Namegduf: a module that does what? 06:04 < uriel> skelterjohn: I don't have to imagine that, in Plan 9 all /bin is statically linked, what is the problem? 06:04 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has joined #go-nuts 06:04 < Namegduf> uriel: Obviously depends on the scenario and even the program. This is discussion of plugin architectures. 06:05 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has left #go-nuts [] 06:05 < skelterjohn> the size of /usr/bin goes from several megabytes to several hundred megabytes? 06:05 < vsmatck> Namegduf: Good point. Sounds like something like dlopen would be nice for. 06:05 < uriel> actually, there are plenty of problems with dynamic linking, static linking is just infinitely saner 06:05 < skelterjohn> Namegduf: i'm the one who derailed it - don't blame uriel :) 06:05 < uriel> Namegduf: as somebody else said: "wtf is a 'plugin'" 06:05 < Namegduf> vsmatck: Go has no dlopen, that was what I kept saying 06:05 < uriel> dlopen? yuck 06:06 < uriel> please, keep that shit away from Go, thank you 06:06 < elazarl> uriel: Let me explain the problem. I want to distribute a binary that implements a special proxy in Go. I want to enable people to write plugins that does things to the traffic the proxy sees, and I want them to be able to distribute them without changing the actual proxy. 06:06 < vsmatck> uriel: dynamic linking is needed eventually. I have a good example for this. Imagine, if you will, a linux distribution. A security update gets released for libstdgo. fin 06:06 < uriel> now, what again is the actual problem you are tring to solve? 06:06 < Namegduf> vsmatck: No, that's not "needed". 06:06 < uriel> elazarl: a proxy for what? 06:06 < Namegduf> If you have a distro with package management, you can push recompiled versions of everything out all you like. 06:07 < vsmatck> For some definition of "needed" I'm sure you're right. 06:07 < elazarl> uriel: some special network traffic of our 06:07 * vsmatck leaves. 06:07 -!- skelterjohn [~jasmuth@81.92.20.210] has quit [Quit: skelterjohn] 06:07 < uriel> elazarl: write your 'proxy' as a library, have the various filters link against it for whatever it does 06:07 < uriel> if you do the design right, you can stack the proxies, just like you can do cat | grep -v foo | tr a-z A-Z | sed ... 06:08 < elazarl> uriel: And then how would I combine plugins? Filter first with foo_plugin, then with bar_plugin? 06:08 < elazarl> My proxy frontend can allow that 06:10 < KBme> hahhah someone has not read the static linking versus dynamic linking FAQ page 06:10 < KBme> AGAIN… 06:11 < elazarl> uriel: I'm not sure I can see how to do that, the proxy listens to network traffic, and strips https, you also have to define its destination (it's not exactly a proxy...) combining proxies is painful it would be something like ./proxy_plugin --with-tls-listen -l 8081 localhost:80802|./proxy_plugin2 --without tls-listen -l 8082 destination:8083 06:11 < KBme> and even skelterjohn is guilty 06:12 < KBme> dynamic loading is a pain, and it won't be alleviated by some linker or compiler magic 06:12 < uriel> elazarl: how you combine sed with tr? 06:12 < Namegduf> Dynamic linking is 06:12 < Namegduf> Dynamic loading in C is simples 06:12 < Namegduf> In Go there's a whole pile of problems 06:13 < KBme> yay plural of simple 06:13 < uriel> Namegduf: dynamic loading in C is a fucking nightmare 06:13 < uriel> in Go it is a non-issue 06:14 < KBme> Namegduf, not only in go, in somany lanugages it maeks u hueart 06:14 < elazarl> uriel: so you're actually suggesting RPC. It's fine, but using actual go functions is way nicer, and I'm not sure you can afford performance costs in all cases. 06:15 < elazarl> uriel: Think about implementing emacs plugins with unix pipes... 06:15 < uriel> elazarl: you can call pipes RPC, but calling read() and write() is cetainly nicer than anything else 06:15 < uriel> unix has done it for >40 years, and it still rocks 06:15 < KBme> so in openGL's case: do you really want a user-specified code to be run on bare hardware? 06:15 < uriel> elazarl: wtf does emacs have to do with anything? and since when is emacs an example of good software design? 06:16 < uriel> http://harmful.cat-v.org/software/dynamic-linking/ 06:16 < elazarl> uriel: I gave an example where unix pipes doesn't make sense 06:16 < KBme> emacs doesn't make sense 06:16 < uriel> elazarl: so, are you actually trying to solve a problem, or trying to make up problems to prove a point? 06:17 < elazarl> KBme: does vim make sense? It has the same plugin-like architecture 06:17 < uriel> elazarl: it certainly doesn't 06:17 < KBme> nope, it doesn't 06:17 < uriel> at least fucking emacs uses a lisp dialect for scripting 06:17 < KBme> it's not a lisp-machine 06:17 < uriel> in any case, even with dlopen you would never write emacs extenssions in C, not even emacs is that broken 06:18 < uriel> does emacs use dlopen? not to do 'plugins' that for sure 06:18 < KBme> uriel, much better, it just hacks into the lisp code as if nothing mattered 06:19 < elazarl> uriel: I don't care whether or not to use dlopen, let me re-explain 06:19 < uriel> whatever it does, and whatever it is a good idea or not, it is obviously irrelevant to any arguments regarding dynamic loading of compiled code 06:20 < uriel> elazarl: you don't have to re-explain, it is clear enough you have made up your mind (or been brainwashed into thinking) that there is only one way to solve whatever problem you have 06:20 < uriel> no amount of arguing will change this 06:21 < elazarl> I want plugin writer to receive a parsed struct, change it, and give it back to the host proxy, the host will unparse it, and send it away. 06:21 < elazarl> uriel: I just want to understand how you would do it, don't want to argue 06:22 < KBme> rpc 06:22 < KBme> or netchans 06:22 < KBme> and yes, you will get the overhead of unix sockets 06:23 < elazarl> uriel: Then if I understand you correctly, I'll spawn a plugin process for each request, the plugin will use functions "MyParse" and "MyUnParse" that I'll provide, and it'll use them to parse and send the raw data it receives from the pipe. 06:23 < elazarl> KBme: uriel had a slightly different idea than unix pipes. 06:23 < KBme> so what, X11 uses sockets and it has decent performance eventhough it has all sorts of stupid hacks 06:24 < elazarl> KBme: than RPC 06:24 < uriel> elazarl: there are many ways you can do it, there is absolutely nothing that requres you to spawn a new process per request (although if it makes things simpler, it should not be an issue either, fork is ridiculously cheap) 06:24 < uriel> fuck rpc and sockets, just use pipes damn it 06:24 < uriel> what is this? MS windows? or what? 06:24 < KBme> uriel, fork is not fcucking ridicoulously cheap on unix 06:24 < uriel> (and I guess even windows has pipes) 06:24 < KBme> but it is on go 06:25 < elazarl> uriel: Actually yes.. but I think I can afford forking nevertheless 06:25 < uriel> KBme: guess how werc manages to do hundreds of forks per request and still have lower latency that similar apps written in a single process using say php (or java, or whatever) 06:25 < uriel> claims that fork is slow are bullshit FUD by Windows and AIX people 06:26 < uriel> you have fork tens of thousands of processes per second without even noticing 06:26 < uriel> plus, using multiple processes lets you automagically take advantage of multic-core systems 06:27 < elazarl> uriel: Just curious, how would you do it without spawning new process per request? New pipes per new requests, and new thread per pipe? 06:27 < uriel> if you are going to have an arbitrary set of routines manipulating a stream or data, pipes are very hard to beat 06:27 < uriel> specially if you want to be able to distribute the components of the pipeline independently 06:27 < uriel> another advantage: then people can write the filters in whatever langauge they like, as long as they can read()/write() 06:28 < uriel> elazarl: you can keep a pool of processes, and reuse them, set up the pipeline, reuse it as new requests come in 06:28 < KBme> uriel, yes, but that doesn't change a thing. fork on unix is expensive and on go it isn't, and you start feeling it at million requests, not thousands or hundreds 06:29 < uriel> just like (in rc shell syntax, I'm sure even sh supports something similar) I can do { cat foo; cat bar; for (i in /d/*) { cat $i } } | tr A-Z a-z | sed s/bbb/ccc/ ... 06:29 < KBme> elazarl, just go yourfunc() and that's it, let the compiler take care of the rest 06:29 < uriel> KBme: it is not expensive, stop fucking spreading bullshit FUD 06:29 < uriel> fork is insanely CHEAP 06:30 < uriel> specially if your programs are *not* dynamically linked 06:30 < uriel> (statically linked programs fork() about a magnitude order faster than dynamically linked ones last I checked) 06:30 < uriel> (but in any case, it is insanely fast) 06:30 < KBme> last you checked is in some quack plan9 paper 06:31 < uriel> KBme: no, it was on fucking lunix, so shut up 06:31 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 06:31 < KBme> ☺ 06:32 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 06:33 < KBme> i only comment for the sake of ignorance, nothing else 06:33 < uriel> I noticed 06:35 -!- justcode4me [~zero@99-6-94-238.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 06:38 < manveru> is there an equivalent of /etc/resolv.conf on windows? 06:38 < KBme> god damn all these morons won't understaend that one process is teh wai to go! one proecess for teh kenrel, precesses aend any dynamic loaeded librabrary i cna think of! 06:38 < KBme> ANY‼ 06:41 * KBme is teh Homer Simpson of programmmming 06:41 < KBme> (i should probably add another m to make it sound more professional) 06:42 -!- justcode4me [~zero@99-6-94-238.lightspeed.irvnca.sbcglobal.net] has left #go-nuts [] 06:44 < uriel> manveru: no idea, I know there is a hosts file 06:45 < |shad0w|> manveru, you should be able to change dns services on the interface settings 06:47 < manveru> |shad0w|: yeah, but i want to look up the current settings 06:47 < manveru> in go, that is :) 06:48 < |shad0w|> ohh 06:48 < manveru> oh well, maybe i'll just leave that to people who actually have win boxes 06:56 < elazarl> uriel: and just curious, how would you implement plugins to an editor? A plugin that can, say, add a menu entry? 06:57 < uriel> I wouldn't 06:57 < uriel> I hate configuring and adding extenssions to something as basic and simple as a text editor, if there is something I need which the editor doesn't do, the editor is broken 06:57 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 06:58 < uriel> but assumming I wanted to have extenssions for a text editor, and ignoring the acme-like file system interface, I would use something like: http://code.google.com/p/gelo/ 06:58 < uriel> (or more likely, scheme) 07:00 < uriel> for other 'scripting' languages implemented in Go see: http://go-lang.cat-v.org/go-code 07:00 < uriel> the Languages section 07:01 < uriel> (and yes, if somebody else complains about how annoying you are, I'll ban you, there is more than enough noise in backlog already) 07:11 -!- elazarl [d4b35bc2@gateway/web/freenode/ip.212.179.91.194] has left #go-nuts [] 07:12 -!- GilJ [~GilJ@zeus.ugent.be] has joined #go-nuts 07:17 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 07:28 -!- uriel_ [~uriel@li43-28.members.linode.com] has joined #go-nuts 07:33 -!- Netsplit *.net <-> *.split quits: rejb, Cork[home], Knirch, vsmatck, jessta_, werdan7, Cobi, jeremy_c, jlaffaye, scoeri, (+184 more, use /NETSPLIT to show all of them) 07:36 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts 07:38 -!- Netsplit over, joins: yebyen, Katibe, xyproto, rejb, werdan7, kevinwatt, mibocote, [muttox], pingveno, prip (+12 more) 07:38 -!- Pathin_ [~root@gladsheim.nullbytestudios.net] has joined #go-nuts 07:38 -!- Netsplit over, joins: Kissaki 07:38 -!- Kami_ [~kami@86.58.76.208] has joined #go-nuts 07:38 -!- Natch [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 07:38 -!- Netsplit over, joins: Knirch, edsrzf, anticw, cco3, fhs, Stiletto, kanru, apexo 07:38 -!- ServerMode/#go-nuts [+o adg] by pratchett.freenode.net 07:39 -!- |shad0w| [~|shad0w|@unaffiliated/shad0w/x-9754281] has joined #go-nuts 07:39 -!- xb95_ [~xb95@qq.is] has joined #go-nuts 07:39 -!- brandini_ [~orbit@adsl-69-221-166-239.dsl.akrnoh.ameritech.net] has joined #go-nuts 07:39 -!- mpl_ [~mpl@sd-18712.dedibox.fr] has joined #go-nuts 07:39 -!- d_m_ [~d_m@64.186.128.169] has joined #go-nuts 07:39 -!- Netsplit over, joins: impl 07:39 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 07:39 -!- venk [~user@203.111.33.203] has joined #go-nuts 07:39 -!- Netsplit over, joins: arctanx, Niedar, aa_, taruti, stalled, ivan`, |Craig|, zozoR, danilo04, Queue29 (+63 more) 07:39 -!- jtoy_ [~jtoy@li167-197.members.linode.com] has joined #go-nuts 07:39 -!- Netsplit over, joins: kamaji, Rennex, schilly, bartbes, zeroXten, mjard, Crnobog|Work, russell_h 07:39 -!- comex [~root@ec2-67-202-46-7.compute-1.amazonaws.com] has quit [Excess Flood] 07:39 -!- comex_ [~root@ec2-67-202-46-7.compute-1.amazonaws.com] has joined #go-nuts 07:39 -!- Pathin_ [~root@gladsheim.nullbytestudios.net] has quit [Max SendQ exceeded] 07:39 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined #go-nuts 07:39 -!- dshep` [~user@c-76-103-91-143.hsd1.ca.comcast.net] has joined #go-nuts 07:39 -!- Netsplit over, joins: yiyus, Fish, aiju, jlouis, piranha, preflex, tgall_foo, segy, drhodes, jlaffaye (+3 more) 07:39 -!- str1ngs [~strings@li88-131.members.linode.com] has joined #go-nuts 07:39 -!- fluf^arr [~camelid@s.pl0rt.org] has joined #go-nuts 07:39 -!- Netsplit over, joins: tav, alanlian1, gtaylor, justinlilly, hallas, sacho, flaguy48, +iant, Adys, i__ (+10 more) 07:39 -!- Netsplit *.net <-> *.split quits: bartbes, russell_h, Crnobog|Work, jtoy_, kamaji, Rennex, zeroXten, schilly, mjard 07:39 -!- Netsplit over, joins: Pathin 07:39 -!- Netsplit over, joins: shachaf, ttblrs_, araujo, jstemmer, XenoPhoenix, KirkMcDonald, Archwyrm, aslakr, Soultaker, rl 07:39 -!- dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has joined #go-nuts 07:39 -!- Kami_ [~kami@86.58.76.208] has quit [Changing host] 07:39 -!- Kami_ [~kami@unaffiliated/kami-/x-9078513] has joined #go-nuts 07:39 -!- Netsplit *.net <-> *.split quits: Innominate, xyproto, werdan7, rejb, kevinwatt, prip, pingveno, [muttox], mibocote 07:39 -!- Netsplit over, joins: ExtraSpice 07:39 -!- Netsplit *.net <-> *.split quits: yebyen, vinisterx, Katibe, ptrb, tsung, mfoemmel, prasmussen, Crnobog, pothos 07:39 -!- Netsplit over, joins: fvbommel 07:39 -!- shachaf [~shachaf@204.109.63.130] has quit [Max SendQ exceeded] 07:40 -!- shachaf [~shachaf@204.109.63.130] has joined #go-nuts 07:41 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 07:43 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has joined #go-nuts 07:43 -!- GilJ [~GilJ@zeus.ugent.be] has joined #go-nuts 07:43 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has joined #go-nuts 07:43 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 07:43 -!- mnemoc [~amery@shell.opensde.net] has joined #go-nuts 07:43 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 07:43 -!- TheSeeker [riiight@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 07:43 -!- kkress [~kkress@2001:470:1:41::403e:ad36] has joined #go-nuts 07:43 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts 07:43 -!- mtrichardson [~mtrichard@li22-133.members.linode.com] has joined #go-nuts 07:43 -!- grncdr [~stephen@sdo.csc.UVic.CA] has joined #go-nuts 07:43 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 07:43 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-xfpmsgzjbgivfejd] has joined #go-nuts 07:43 -!- dfr|work [~dfr|work@nat/google/x-inssfgjezjmyxvbg] has joined #go-nuts 07:43 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts 07:43 -!- kevlar_work [~kevlar@unaffiliated/eko] has joined #go-nuts 07:43 -!- fzzbt [~jahman@melkinpaasi.cs.helsinki.fi] has joined #go-nuts 07:43 -!- kevlar_work [~kevlar@unaffiliated/eko] has quit [Changing host] 07:43 -!- kevlar_work [~kevlar@nat/google/x-zmkwlfemmragsgiw] has joined #go-nuts 07:44 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Max SendQ exceeded] 07:44 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Max SendQ exceeded] 07:44 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 07:44 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has joined #go-nuts 07:44 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 07:44 -!- prip [~foo@host80-120-dynamic.42-79-r.retail.telecomitalia.it] has joined #go-nuts 07:44 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 07:44 -!- xyproto [~alexander@77.40.159.131] has joined #go-nuts 07:44 -!- [muttox] [~dheppell@93.135.70.115.static.exetel.com.au] has joined #go-nuts 07:44 -!- mibocote [~matt@li161-224.members.linode.com] has joined #go-nuts 07:44 -!- kevinwatt [~kevin@59-125-147-75.HINET-IP.hinet.net] has joined #go-nuts 07:44 -!- jtoy_ [~jtoy@li167-197.members.linode.com] has joined #go-nuts 07:44 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has joined #go-nuts 07:44 -!- Rennex [rennex@giraf.fi] has joined #go-nuts 07:44 -!- schilly [~schilly@boxen.math.washington.edu] has joined #go-nuts 07:44 -!- bartbes [~bartbes@love/developer/bartbes] has joined #go-nuts 07:44 -!- zeroXten [~zeroXten@0x10.co.uk] has joined #go-nuts 07:44 -!- mjard [~k@misadventuregames.com] has joined #go-nuts 07:44 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-wyymhkoudltrsmcb] has joined #go-nuts 07:44 -!- russell_h [~russell_h@osuosl/staff/russellh] has joined #go-nuts 07:44 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has quit [Client Quit] 07:45 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Max SendQ exceeded] 07:45 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts 07:45 -!- pothos [~pothos@111-240-174-224.dynamic.hinet.net] has joined #go-nuts 07:45 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has joined #go-nuts 07:45 -!- ptrb [~peter@archimedes.bourgon.org] has joined #go-nuts 07:45 -!- Katibe [~Katibe@212.174.109.55] has joined #go-nuts 07:45 -!- tsung [~jon@112.104.53.151] has joined #go-nuts 07:45 -!- yebyen [~yebyen@martyfunkhouser.csh.rit.edu] has joined #go-nuts 07:45 -!- mfoemmel [~mfoemmel@chml01.drwholdings.com] has joined #go-nuts 07:45 -!- prasmussen [pii@rasm.se] has joined #go-nuts 07:45 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts 07:45 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 07:47 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: ZNC - http://znc.sourceforge.net] 07:47 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has joined #go-nuts 07:47 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 07:47 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit [Changing host] 07:47 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 07:48 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 07:51 -!- justinlilly [justinlill@70.32.34.100] has quit [Ping timeout: 255 seconds] 07:53 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Quit: leaving] 07:53 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has quit [Quit: gtaylor] 07:53 -!- justinlilly [justinlill@s2.rdlbnc.com] has joined #go-nuts 07:56 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving] 07:56 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 08:00 -!- shvntr [~shvntr@113.84.93.233] has joined #go-nuts 08:10 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Quit: leaving] 08:10 -!- str1ngs [~strings@li88-131.members.linode.com] has quit [Quit: WeeChat 0.3.0] 08:12 -!- str1ngs [~strings@unaffiliated/str1ngs] has joined #go-nuts 08:19 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 08:19 -!- dfc [~dfc@124-149-60-140.dyn.iinet.net.au] has quit [Quit: Silly man, I am a Baron!] 08:26 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 08:28 -!- justinlilly [justinlill@s2.rdlbnc.com] has quit [Ping timeout: 240 seconds] 08:32 -!- justinlilly [justinlill@70.32.34.100] has joined #go-nuts 08:32 -!- shvntr [~shvntr@113.84.93.233] has quit [Quit: leaving] 08:41 -!- shvntr [~shvntr@113.84.93.233] has joined #go-nuts 08:46 -!- dshep` [~user@c-76-103-91-143.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 08:57 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote host closed the connection] 09:13 -!- shvntr [~shvntr@113.84.93.233] has quit [Quit: leaving] 09:21 -!- pjjw [klang@68.64.241.250] has joined #go-nuts 09:22 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 09:26 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 09:26 -!- franciscosouza_ [~francisco@187.105.18.105] has quit [Read error: Connection reset by peer] 09:26 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Ping timeout: 276 seconds] 09:27 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts 10:01 -!- napsy [~luka@tm.213.143.73.175.lc.telemach.net] has joined #go-nuts 10:06 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has joined #go-nuts 10:11 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has quit [Ping timeout: 240 seconds] 10:13 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined #go-nuts 10:13 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has joined #go-nuts 10:15 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Ping timeout: 276 seconds] 10:16 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit [Read error: Connection reset by peer] 10:18 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined #go-nuts 10:18 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit [Changing host] 10:18 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 10:22 -!- napsy [~luka@tm.213.143.73.175.lc.telemach.net] has quit [Quit: Lost terminal] 10:23 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined #go-nuts 10:25 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Ping timeout: 276 seconds] 10:30 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit [Changing host] 10:30 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 10:38 -!- dju [~dju@fsf/member/dju] has joined #go-nuts 10:41 -!- dju [~dju@fsf/member/dju] has quit [Max SendQ exceeded] 10:42 -!- dju [~dju@fsf/member/dju] has joined #go-nuts 11:04 -!- shvntr [~shvntr@113.84.93.233] has joined #go-nuts 11:06 -!- virtualsue [~chatzilla@nat/cisco/x-fuekhzpapaehtvbx] has joined #go-nuts 11:07 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined #go-nuts 11:11 -!- ronnyy [~quassel@p4FF1C4EB.dip0.t-ipconnect.de] has joined #go-nuts 11:11 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Ping timeout: 268 seconds] 11:17 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 11:23 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 11:25 -!- shvntr [~shvntr@113.84.93.233] has quit [Quit: leaving] 11:27 -!- bobody [~alexc@unaffiliated/alexc] has joined #go-nuts 11:27 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit [Changing host] 11:27 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 11:36 -!- dju [~dju@fsf/member/dju] has quit [Read error: Connection reset by peer] 11:36 -!- dju [~dju@at.dmz.me] has joined #go-nuts 11:36 -!- dju [~dju@at.dmz.me] has quit [Changing host] 11:36 -!- dju [~dju@fsf/member/dju] has joined #go-nuts 11:38 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has joined #go-nuts 11:39 -!- Project-2501 [~Marvin@82.84.72.109] has joined #go-nuts 11:44 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has quit [Quit: "Wait... what?!"] 11:48 -!- noam [noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276 seconds] 11:51 -!- rutkowski [~adrian@078088207086.walbrzych.vectranet.pl] has joined #go-nuts 11:53 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has quit [Quit: rputikar] 11:53 -!- noam [noam@87.69.42.61.cable.012.net.il] has joined #go-nuts 11:57 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 11:58 < str1ngs> signal.Incoming should that not handle SIGINT? 12:03 -!- virtualsue [~chatzilla@nat/cisco/x-fuekhzpapaehtvbx] has quit [Remote host closed the connection] 12:04 -!- PortatoreSanoDiI [~Marvin@82.84.83.57] has joined #go-nuts 12:07 -!- aa_ [~ali@pida.vm.bytemark.co.uk] has quit [Changing host] 12:07 -!- aa_ [~ali@pida/aa] has joined #go-nuts 12:08 -!- Project-2501 [~Marvin@82.84.72.109] has quit [Ping timeout: 240 seconds] 12:13 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a401:cbc8:2e72:6fce] has joined #go-nuts 12:19 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 12:20 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 12:22 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 12:26 -!- bobody [~alexc@unaffiliated/alexc] has quit [Quit: WeeChat 0.3.4] 12:57 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 12:59 -!- kanru_ [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined #go-nuts 13:00 -!- anticw_ [~anticw@c-98-210-108-13.hsd1.ca.comcast.net] has joined #go-nuts 13:00 -!- Knirch_ [fatal@debian.as] has joined #go-nuts 13:00 -!- comex [~root@ec2-67-202-46-7.compute-1.amazonaws.com] has joined #go-nuts 13:00 -!- foocraft [~ewanas@78.100.200.92] has joined #go-nuts 13:01 -!- ap3xo [~apexo@2a01:238:436b:8301:5054:ff:fe87:82fb] has joined #go-nuts 13:05 -!- Netsplit *.net <-> *.split quits: apexo, cco3, Stiletto, comex_, Natch|, anticw, fhs, Knirch, kanru 13:05 -!- Netsplit over, joins: Stiletto 13:05 -!- Netsplit over, joins: Natch| 13:05 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Ping timeout: 250 seconds] 13:11 -!- cco3 [~conleyo@nat/google/x-gzfkhqnujdbcnubt] has joined #go-nuts 13:11 -!- fhs [~fhs@2001:0:4137:9e76:3458:6fb3:93f1:4624] has joined #go-nuts 13:12 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 13:14 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has quit [Ping timeout: 255 seconds] 13:21 -!- strzalek [~strzalek@cqr236.neoplus.adsl.tpnet.pl] has joined #go-nuts 13:22 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 13:27 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has joined #go-nuts 13:43 -!- zimsim [~simon@ip1.c294.amb153.cust.comxnet.dk] has joined #go-nuts 14:00 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 14:00 -!- ryan3 [~ryan@up.skipfin.com] has quit [Read error: Connection reset by peer] 14:03 -!- boscop_ [~boscop@f055108091.adsl.alicedsl.de] has joined #go-nuts 14:05 -!- boscop [~boscop@f050129014.adsl.alicedsl.de] has quit [Ping timeout: 250 seconds] 14:27 -!- zimsim [~simon@ip1.c294.amb153.cust.comxnet.dk] has quit [Ping timeout: 246 seconds] 14:47 -!- franciscosouza_ [~francisco@187.105.18.105] has joined #go-nuts 14:47 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error: Connection reset by peer] 14:50 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts 15:00 -!- zimsim [~simon@ip1.c294.amb153.cust.comxnet.dk] has joined #go-nuts 15:02 -!- brandini [~orbit@adsl-69-221-166-239.dsl.akrnoh.ameritech.net] has quit [Changing host] 15:02 -!- brandini [~orbit@metabug/brandon] has joined #go-nuts 15:04 -!- dju_ [dju@fsf/member/dju] has joined #go-nuts 15:06 -!- goon12 [~goon12@71-87-215-29.dhcp.oxfr.ma.charter.com] has quit [Quit: Leaving] 15:06 -!- dju [~dju@fsf/member/dju] has quit [Ping timeout: 246 seconds] 15:21 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Ping timeout: 250 seconds] 15:27 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 15:34 -!- TheMue [~TheMue@p5DDF7E21.dip.t-dialin.net] has joined #go-nuts 15:37 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts 15:51 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has quit [Quit: rputikar] 15:57 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts 16:04 -!- F [~f@unaffiliated/f] has joined #go-nuts 16:04 -!- felipe [~felipe@unaffiliated/felipe] has joined #go-nuts 16:04 < F> hi all. what is the standard literature to read in order to learn Go? 16:04 < str1ngs> tutorial then effective go 16:06 < str1ngs> after that the spec and using godoc should be enough 16:06 < Queue29> and lots and lots of googling 16:07 < str1ngs> I rarely need to google. could just be me though. 16:09 -!- ronnyy [~quassel@p4FF1C4EB.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 16:15 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 16:21 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 16:24 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping timeout: 276 seconds] 16:24 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has joined #go-nuts 16:34 < exch> go's source along with godoc has always been enough for me 16:35 -!- dju__ [~dju@fsf/member/dju] has joined #go-nuts 16:35 < F> sweet 16:35 < F> thanks guys 16:36 < str1ngs> F: godoc works from terminal ie godoc os or godoc os File 16:37 < F> is godoc something similar to vimtutor? 16:37 < str1ngs> not really 16:38 < F> alright. i'll just have to dive in and see whats up. 16:38 < F> thanks. 16:38 < str1ngs> godoc is http server that powers golang.org and can be used as a terminal client 16:39 -!- dju_ [dju@fsf/member/dju] has quit [Ping timeout: 240 seconds] 16:42 -!- rutkowski [~adrian@078088207086.walbrzych.vectranet.pl] has quit [Quit: WeeChat 0.3.3-dev] 16:44 -!- boscop__ [~foo@g225234195.adsl.alicedsl.de] has joined #go-nuts 16:44 -!- bill_h [~bill_h@c-66-177-105-100.hsd1.fl.comcast.net] has joined #go-nuts 16:44 < bill_h> Anyone familiar with jsonrpc 16:44 < str1ngs> bill_h: best to just ask your question 16:45 -!- boscop_ [~boscop@f055108091.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 16:45 < bill_h> I'm trying to create an rpc call with no arguments, i.e. {"method":"help","params":[],"id":1}. However, looking at the jsonrpc WriteRequest method, it doesn't look like that's possible. http://pastebin.com/zVYApENz 16:50 < bill_h> Is there something I could pass to WriteRequest in "param" that would create {"method":"help","params":[],"id":1}? For example passing nil creates {"method":"help","params":[null],"id:1} and passing []interface{}{} creates {"method":"help","params":[[]],"id":1} 16:50 < str1ngs> bill_h: nil is probably the best bet 16:51 < str1ngs> bill_h: but I have not used jsonrpc just rpc 16:51 < str1ngs> but I assume you are doing some encode decoding of structs? 16:51 < bill_h> str1ngs: The problem is the that server I'm calling expects "params":[] 16:51 -!- micrypt [~micrypt@109.231.193.170] has joined #go-nuts 16:51 < micrypt> Has anyone had a play with handling dependencies on app engine? 16:52 < str1ngs> micrypt: it should just do it if they are in the root of the apps 16:52 < str1ngs> micrypt: see the mustachio example 16:53 < str1ngs> bill_h: "params":[null] would cover that no? 16:54 < micrypt> str1ngs: mustachio example? 16:54 < micrypt> I didn't come across it in the docs... must have missed it. 16:54 < str1ngs> micrypt: its part of the sdk in examples 16:54 < str1ngs> it uses 3rd party depends 16:55 < micrypt> Ah, gotcha, thanks. 16:55 < str1ngs> there should be a README of sorts take a look at it 16:57 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts 17:07 -!- Netsplit *.net <-> *.split quits: arun, kkress, grncdr, GilJ, rphillips, dfr|work, mnemoc, TheSeeker, KBme, Cobi, (+9 more, use /NETSPLIT to show all of them) 17:17 -!- apexo [~apexo@2a01:238:436b:8301:5054:ff:fe87:82fb] has joined #go-nuts 17:17 -!- virtualsue [~chatzilla@nat/cisco/x-sdmcjzehvpwsxjje] has joined #go-nuts 17:21 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout: 240 seconds] 17:21 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts 17:21 -!- jemeshsu [~jemeshsu@bb220-255-88-127.singnet.com.sg] has quit [Read error: Connection reset by peer] 17:21 -!- jemeshsu [~jemeshsu@bb220-255-88-127.singnet.com.sg] has joined #go-nuts 17:29 < bill_h> str1ngs: It looks like the rpc / jsonrpc packages aren't going to work for me anyway since the RPC server I'm connecting to doesn't implement HTTP CONNECT. It uses HTTP POST. 17:29 < str1ngs> bill_h: does it return json though? 17:30 < bill_h> str1ngs: Yep. 17:31 < Tv> bill_h: i think go's rpc/json isn't "JSON-RPC", and there's at least a few incompatible things called "JSON-RPC" out there 17:31 < str1ngs> bill_h: ok what you can do is use http package then create a struck and decode into that struck match the json object 17:31 < str1ngs> struct* 17:31 < str1ngs> bill_h: its abit more work but still doable 17:32 < Tv> or, more like, the JSON-RPC specs just assume some transport 17:33 < Tv> many transport it over POST, some over raw TCP, some via HTTP CONNECT 17:33 < bill_h> str1ngs: Yeah, that's what I think I'm going to look at next .... using the http package for transport and the json package for encode/decode 17:33 < str1ngs> bill_h: thats what I did with a none standard json rpc. 17:34 < str1ngs> bill_h: also this way can be faster for larger json query because you can use json.RawMessage 17:35 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has joined #go-nuts 17:35 < str1ngs> bill_h: https://github.com/str1ngs/gur/blob/master/aur.go might help you some 17:37 < bill_h> str1ngs: Thanks 17:38 < str1ngs> bill_h: you'll have to weed through what you dont need. but mainly the structs and Results method will be helpful 17:38 -!- cco3 [~conleyo@nat/google/x-gzfkhqnujdbcnubt] has joined #go-nuts 17:38 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has joined #go-nuts 17:38 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts 17:38 -!- GilJ [~GilJ@zeus.ugent.be] has joined #go-nuts 17:38 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 17:38 -!- mnemoc [~amery@shell.opensde.net] has joined #go-nuts 17:38 -!- TheSeeker [riiight@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 17:38 -!- kkress [~kkress@2001:470:1:41::403e:ad36] has joined #go-nuts 17:38 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts 17:38 -!- mtrichardson [~mtrichard@li22-133.members.linode.com] has joined #go-nuts 17:38 -!- grncdr [~stephen@sdo.csc.UVic.CA] has joined #go-nuts 17:38 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 17:38 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-xfpmsgzjbgivfejd] has joined #go-nuts 17:38 -!- dfr|work [~dfr|work@nat/google/x-inssfgjezjmyxvbg] has joined #go-nuts 17:38 -!- kevlar_work [~kevlar@nat/google/x-zmkwlfemmragsgiw] has joined #go-nuts 17:38 -!- fzzbt [~jahman@melkinpaasi.cs.helsinki.fi] has joined #go-nuts 17:38 < str1ngs> it also uses gzip to encoding to speed things up 17:39 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 17:40 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping timeout: 250 seconds] 17:44 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 17:49 -!- dshep` [~user@c-76-103-91-143.hsd1.ca.comcast.net] has joined #go-nuts 17:51 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 17:56 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined #go-nuts 18:04 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error: Connection reset by peer] 18:05 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts 18:10 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts 18:17 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 18:26 -!- icy [~icy@lighttpd/icy] has joined #go-nuts 18:28 < icy> if I have a function which returns 2 values but I want to ignore one of them, how can I use it without assigning it to temporary variables? e.g. "x := f(1) / f(2)" 18:29 < icy> where f would be for example "func f(i int) (int, int) { return i*2, i*3 }" 18:30 -!- sacho [~sacho@90.154.206.145] has quit [Ping timeout: 255 seconds] 18:32 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 18:32 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Ping timeout: 276 seconds] 18:34 -!- Fish- [~Fish@88.162.170.133] has joined #go-nuts 18:34 -!- virtualsue [~chatzilla@nat/cisco/x-sdmcjzehvpwsxjje] has quit [Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]] 18:36 < icey> icy: the underscore operator is used to ignore a return value, but i'm not sure it would map well to your example 18:36 < icey> (i'm a go noob though, so it's possible that i'm wrong) 18:37 < icy> icey: first: nice nick :), second: yea I tried to come up with something using the underscore but couldn't find anything 18:38 < icey> icy: i think we're supposed to have a name fight now or something ;). Given your example I'd probably avoid a 1-liner 18:38 -!- Sisten [~Sisten@s213-103-208-147.cust.tele2.se] has joined #go-nuts 18:40 < str1ngs> twins! 18:40 < icey> i.e. dividend, _ := f(1) & divisor,_ := f(2) 18:41 < icy> yea I wanted to avoid those temporary variables 18:45 -!- zaero [~eclark@2001:470:1f11:b82:21e:c9ff:fe53:1f03] has quit [Ping timeout: 255 seconds] 18:45 -!- sacho [~sacho@90.154.206.145] has joined #go-nuts 18:49 < rm445> you could return something like a slice of two ints instead (for your example), but then you'd have to define division on them. 18:50 < icy> rm445: and it wont work with functions I didn't write :) 18:50 < rm445> Easier in something like matlab where you could do something like x = (f(1) ./ f(2))(1) (syntax?) 18:51 -!- zaero [~eclark@servo.m.signedint.com] has joined #go-nuts 18:51 < rm445> anyway, yes, not very helpful for actual go programming, but having two lines isn't the end of the world :-) 18:52 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving] 18:57 -!- jpiche [~jpiche@c-75-73-4-247.hsd1.mn.comcast.net] has joined #go-nuts 19:01 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping timeout: 240 seconds] 19:10 -!- PortatoreSanoDiI [~Marvin@82.84.83.57] has quit [Quit: E se abbasso questa leva che succ...] 19:15 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 19:17 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined #go-nuts 19:28 < kevlar> oh look, we're still painting the nested func bikeshed on the mailing lists. 19:35 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 19:35 -!- alkavan [~alkavan@IGLD-84-229-168-152.inter.net.il] has joined #go-nuts 19:35 < str1ngs> blue I hope? 19:37 -!- dannyft [~dannyft@3e6b0f67.rev.stofanet.dk] has joined #go-nuts 19:48 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 19:49 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts 19:50 -!- cenuij [~cenuij@103.184.122.78.rev.sfr.net] has joined #go-nuts 19:50 -!- cenuij [~cenuij@103.184.122.78.rev.sfr.net] has quit [Changing host] 19:50 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 19:57 -!- micrypt [~micrypt@109.231.193.170] has quit [Quit: leaving] 20:12 -!- dju_ [dju@fsf/member/dju] has joined #go-nuts 20:15 -!- dju__ [~dju@fsf/member/dju] has quit [Ping timeout: 276 seconds] 20:19 -!- tncardoso [~thiago@189.59.201.216] has joined #go-nuts 20:19 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 20:26 -!- zimsim [~simon@ip1.c294.amb153.cust.comxnet.dk] has quit [Quit: /dev/null] 20:27 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts 20:27 -!- virtualsue [~chatzilla@nat/cisco/x-fmhupbznsfirfqme] has joined #go-nuts 20:27 < thakis_> hi guys. i just pulled & ran ./all.bash and got "--- FAIL: net.TestMulticastJoinAndLeave (0.0 seconds)" 20:27 < thakis_> is this a known issue? 20:27 < thakis_> (2nd line: joingroup udp 224.0.0.254: setsockopt: can't assign requested address) 20:29 < thakis_> hm, http://go-lang.cat-v.org/irc-logs/go-nuts/2011-03-05 from 3 months ago claims it's a common problem that can be worked around by DISABLE_NET_TESTS=1 O_o 20:43 < Tv> thakis_: it's hard to test multicast if you don't have multicast set up 20:43 -!- danilo04 [~danilo04@66.44.225.80] has quit [Ping timeout: 252 seconds] 20:43 < thakis_> Tv: maybe the test runner should try to detect that and not run that test then? 20:44 < GilJ> I was trying to compile a file using a generic makefile using make, but I got an error saying it couldn't find the compiler. I think i set all the required environment variables though =/ Did I forget one? http://pastie.org/private/qqachu9qomrokhng9jnlsg 20:44 < Tv> thakis_: i think that'd make it hard to detect when the code doesn't legitimately work.. 20:44 < zozoR> why isnt there a openfile() readstring function : | 20:44 < Tv> thakis_: but yes, it's inconvenient that what you thought were unit tests are system tests 20:44 < thakis_> Tv: i didn't think anything, i'm just mindlessly following the "how to install" steps :-) 20:46 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a401:cbc8:2e72:6fce] has quit [Quit: Leaving.] 20:46 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts 20:47 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 20:48 < thakis_> different question: It looks like |reflect.ValueOf(1)| used to be valid go code but isn't now (ValueOf() is gone). what's the new way to do this? 20:50 < cenuij> thakis_: use gofix tool to fix up your code, gofix --help 20:50 < cenuij> thakis_: there's a reflect fix in gofix :) 20:50 < thakis_> ls: /Users/thakis/go/bin/gofix: No such file or directory 20:51 * thakis_ reads the web on gofix 20:51 < thakis_> thanks! 20:51 < cenuij> hmmm gofix should be part of the standard distribution 20:51 < exch> it is 20:53 < thakis_> i just did `hg pull && cd src && ./all.bash` and don't have it. must've done something wrong 20:54 < exch> try hg pull && hg update weekly 20:54 < thakis_> aha 20:54 < exch> or 'update release' if you want a release build 21:01 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts 21:08 -!- message144 [~message14@cpe-75-83-155-145.socal.res.rr.com] has joined #go-nuts 21:09 -!- tncardoso [~thiago@189.59.201.216] has quit [Read error: Connection reset by peer] 21:17 < thakis_> thanks guys, that did it 21:19 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Quit: WeeChat 0.3.5] 21:22 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 21:26 -!- franciscosouza_ [~francisco@187.105.18.105] has joined #go-nuts 21:26 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts 21:27 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error: Connection reset by peer] 21:28 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving] 21:29 -!- TheMue [~TheMue@p5DDF7E21.dip.t-dialin.net] has quit [Quit: TheMue] 21:30 -!- strzalek [~strzalek@cqr236.neoplus.adsl.tpnet.pl] has quit [Ping timeout: 255 seconds] 21:39 -!- welterde [welterde@thinkbase.srv.welterde.de] has quit [Ping timeout: 246 seconds] 21:46 -!- jpiche [~jpiche@c-75-73-4-247.hsd1.mn.comcast.net] has quit [Quit: Leaving] 21:49 -!- _inforwarrior_ [~OHM@180.183.111.142] has joined #go-nuts 21:51 -!- bytbox [~s@96.26.105.154] has joined #go-nuts 21:53 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Ping timeout: 276 seconds] 21:54 < message144> Would it be uncouth to use spaces instead of tabs? 21:54 < vsmatck> message144: No. If you check the flags of gofmt there is options for both. So people can choose to view with either. 21:55 -!- virtualsue [~chatzilla@nat/cisco/x-fmhupbznsfirfqme] has quit [Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]] 21:55 < vsmatck> Generally people auto-format in to one format or another with a hook in their version control. 21:55 < message144> vsmatck, oh ok thanks.. im trying to figure out how to make go-mode.el use spaces instead of tabs 21:57 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts 21:58 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Quit: Leaving] 21:58 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts 21:59 < message144> oh cool.. figured it out :) 22:00 < vsmatck> I like how go has a canonical format. I just got used to it so now it's very easy for me to quickly read everyone else's code in the format I'm used to. 22:01 < message144> vsmatck, yes I can appreciate that. tabs are a hard pill for me to swallow though 22:01 < vsmatck> gofmt -spaces=true :) 22:02 < vsmatck> I think it'd be nice if gofmt was more integrated in with my text editor (gedit) to where every go file I opened got formatted automatically. 22:03 < vsmatck> I wouldn't be suprised if someone had that working. I know there's a intellisense out there for gedit already. :) 22:03 < message144> vsmatck, not sure if you use emacs, but go-mode.el with a few minor tweaks works wonderfully 22:03 < message144> at least it seems that way so far 22:03 < vsmatck> I'm pretty used to gedit. Been using it for years. Not sure I could change that much. 22:04 < message144> hey.. im sure this is a stupid question... does Go have runtime introspection? 22:04 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has joined #go-nuts 22:04 < vsmatck> yeah it does. Check out the reflect package. 22:05 < message144> oh rad 22:05 < message144> thanks 22:05 < vsmatck> np. Reflection in go is quite nice. Much more powerful than what C++ has (where I came from). 22:06 < message144> i had an idea for my first go project, but it will require that 22:08 < exch> are there any plans to improve the exp/gui package? Specifically the creation of a window. It could do with atleast the ability to specify the initial size of a window and a title. Also, the resize event does not work (should yield a gui.ConfigEvent according to the docs, but doesnt) 22:14 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 252 seconds] 22:15 -!- dannyft [~dannyft@3e6b0f67.rev.stofanet.dk] has quit [Remote host closed the connection] 22:16 -!- icey [~user@ip68-104-183-151.ph.ph.cox.net] has quit [Read error: Operation timed out] 22:21 -!- _inforwarrior_ [~OHM@180.183.111.142] has quit [Quit: _inforwarrior_] 22:23 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Operation timed out] 22:25 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection] 22:25 -!- bytbox [~s@96.26.105.154] has joined #go-nuts 22:27 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 22:27 < message144> Is it lame if I put all my variable declarations at the top of each function like what might be done in C or JS ? 22:31 < vsmatck> This might be a matter of taste. But one thing to consider is that you don't have to spell out the whole type if you use the declare and initialize syntax with :=. That can make things a bit cleaner. 22:31 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 22:33 -!- Fish- [~Fish@88.162.170.133] has quit [Quit: So Long, and Thanks for All the Fish] 22:35 < exch> I predeclare most of my vars as well. Specially if they are assigned in a loop. But also to prevent possible shadowing bugsies 22:35 < vsmatck> Is the compiler smart enough to know when it can reuse a variable declared within a loop? Am I hurting performance by creating new variable in loop? 22:36 < aiju> it doesn't hurt performance and you really shouldn't worry about things like that 22:37 < vsmatck> but.. I wanna go fast. :) 22:38 < aiju> if you want assembly, you know where to find it 22:38 < vsmatck> *facepalm* 22:38 < aiju> PROTIP: good performance is achieved by an overall good design 22:38 < vsmatck> I want the intersection of maximal productivity and performance. 22:38 -!- dju_ [~dju@fsf/member/dju] has joined #go-nuts 22:39 < aiju> and not by worrying about single clock cycles 22:39 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 250 seconds] 22:39 -!- dju [dju@fsf/member/dju] has quit [Ping timeout: 252 seconds] 22:40 < vsmatck> The truth of that statement is relative to what you're working on. 22:40 < vsmatck> But true sometimes. 22:42 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Remote host closed the connection] 22:42 < aiju> also, i doubt that using two variables hurts performance in any way 22:57 < Tv> using a multitasking operating system hurts performance ;) 22:58 < fvbommel> Actually, IIRC in Go declaring a variable in a loop *can* make it go slower: if the address is taken then a new variable is heap-allocated every time. If it's declared outside the loop that only happens once. 22:59 < vsmatck> Ah, I figured as much for using "new". I wonder about when you use ":=" in a loop. 23:00 < fvbommel> Yes, then too. 23:01 < message144> Is ":=" more idiomatic than "var s string" ? 23:01 < fvbommel> It's handy when you want to capture it with a closure (for example so a goroutine will have the value at time of creation), but should otherwise probably be avoided. 23:01 < message144> err "var s string = " 23:13 < vsmatck> It'd be nice if someone wrote a performance document that specified best practices for avoiding extra allocations. 23:15 < vsmatck> I don't like the kind of stuff that second guesses the compiler and makes gross code tho. 23:15 < vsmatck> Like I know the current go compilers have trouble leaving stuff on the stack for peephole type stuff. 23:16 < vsmatck> But that sort-of stuff will get better over time. Compiler optimization seems like a long and difficult thing. *shrug* 23:17 -!- Sisten [~Sisten@s213-103-208-147.cust.tele2.se] has quit [Quit: Lämnar] 23:18 -!- thakis_ [~thakis@216.239.45.130] has quit [Quit: thakis_] 23:28 -!- tildeleb [~leb@c-24-7-85-179.hsd1.ca.comcast.net] has joined #go-nuts 23:31 -!- nictuku [~nict@unaffiliated/nictuku] has joined #go-nuts 23:32 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping timeout: 252 seconds] 23:40 < message144> In Go, are arrays stored on the stack, and slices on the heap? 23:40 < aiju> no 23:40 < aiju> in Go data is stored where appropriate 23:40 < aiju> could very well mean heap for both 23:41 < vsmatck> Arrays are on the stack. No reason for them not to be if size is known at compile time. 23:41 < message144> ok 23:42 < aiju> if you slice an array, it will be on the heap 23:43 < vsmatck> true 23:43 < aiju> there is probably not much of a reason to think about this anyway 23:43 -!- bobody [~alexc@unaffiliated/alexc] has joined #go-nuts 23:43 < message144> aiju, i dont have a practical reason, other than curiosity 23:44 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 23:44 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 23:44 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 23:44 < vsmatck> I sort-of wonder when it gets put on the heap. Say I take a slice of a subset of an array. Not sure if that'd be on the heap or not. 23:44 < aiju> vsmatck: if you take the address of anything, it gets moved to the heap 23:45 < aiju> i don't know of any exceptions 23:45 < vsmatck> ah 23:45 < aiju> of course, discarding the address maybe 23:46 < aiju> and there is always the data/bss section you should not forget 23:50 < vsmatck> That stuff shouldn't be GC'd so don't have to worry about it. Only reason I care about heap allocation is because GC is slow. 23:53 < message144> Is is possible to make a generic pointer to an array such as "var p *array", or does it need to be like "var p *[4]int" ? 23:53 < aiju> message144: []int 23:53 < aiju> use a slice 23:54 < message144> aiju, ok thanks.. and sorry for the rookie questions 23:54 < aiju> i hardly ever use arrays in my go code 23:54 < aiju> most of the time you want a slice 23:54 < message144> aiju, yeah ive been seeing people on stackoverflow saying the same thing 23:55 < aiju> arrays are just there for the COBOL programmers 23:55 < aiju> who can't live without array sizes fixed to some arbitrary number 23:56 < message144> ha 23:56 < message144> i would say it seems like they are there for the C guys too, except they dont really behave the same as C (it seems) 23:57 < aiju> thing is, Go arrays behave in many ways like COBOL tables 23:57 < message144> i figure ill start using slices for everything, but i want to make sure i at least have the fundamentals down first 23:58 < vsmatck> Arrays are still useful. If you know exactly how many elements you have at compile time it's right to use an array. 23:58 < aiju> vsmatck: and you have that situation how often? 23:59 * vsmatck ignores question. 23:59 < aiju> haha 23:59 < aiju> sure, there are vectors (the math thing) --- Log closed Mon Jun 13 00:00:07 2011