--- Log opened Wed Jul 27 00:00:02 2011 00:03 -!- virtualsue [~chatzilla@nat/cisco/x-jxljassvrpmcadyw] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0.1/20110707182747]] 00:09 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit: Leaving.] 00:13 -!- pjm0616 [~user@114.200.203.101] has quit [Ping timeout: 252 seconds] 00:16 -!- hoozleboozle [~Adium@nat/google/x-jnfjjzfmegypykxj] has quit [Quit: Leaving.] 00:25 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error: Connection reset by peer] 00:25 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 00:30 -!- eikenberry [~jae@173-164-68-213-Oregon.hfc.comcastbusiness.net] has joined #go-nuts 00:39 -!- hoozleboozle [~Adium@66.109.106.20] has joined #go-nuts 00:41 -!- tvw [~tv@e176003086.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 00:42 -!- tvw [~tv@e176006246.adsl.alicedsl.de] has joined #go-nuts 00:47 -!- segv [~segv@sig.segv.net] has joined #go-nuts 00:47 < segv> Whats the proper way to handle a flag with no default value or anything. 00:47 < segv> flag.Bool()? 00:47 < segv> it prints out -flag=false: in PrintDefaults() (where -flag is the flag) 00:48 < segv> Was expecting to be able to define false and have no value shown during Usage() 00:49 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 00:52 < exch> the flag package's Usage() is a bit gimped imho 00:52 < exch> That default value for boolean flags is one thing. The alignment of the information is another 00:52 < exch> Standard output tends to look a bit messy 00:52 < segv> exch: yeah 00:52 < segv> What I noticed myself. 00:53 < segv> Wanted to use "less code" to make some simple clean output. 00:53 < exch> I use my ow commandline parsing package which fixes all that, but it's prolly a bit overkill. I may submit a patch for the flag package some day which takes care of the Usage() issues 00:53 < segv> roger that 00:54 < segv> cause I figured if false is defined, you don't want to see -flagname=false: on the Usage() output. 00:54 < exch> Not sure if it will be accepted though, because it's technically not an issue. Just a matter of taste I guess 00:54 < exch> yea 00:54 < segv> yeah, just asthetics at that point 00:56 < exch> A simple solution could be to allow us to override the behaviour of flag.Usage() by setting our own function that handles it 00:56 < segv> That would be handy. 00:56 < exch> That way the current output can stay for those who want it 00:56 < segv> like if Bool.falseValue(queiet) or something 00:57 < segv> quiet even 00:57 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 00:58 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error: Connection reset by peer] 01:01 -!- eikenberry [~jae@173-164-68-213-Oregon.hfc.comcastbusiness.net] has quit [Ping timeout: 260 seconds] 01:02 < exch> I've mentioned the output layout before, but nobody really seemed interested or bothered with it. --help is often the first real interaction I have with a program. A messy output doesn't exactly inspire with me with confidence that the rest of the program is solid :p 01:02 < f2f> it's like code formatting, just accept the default and move on. 01:02 < exch> If one can't be bothered to write decent help, how can I trust that the program is any good? 01:03 < f2f> the issue is not that there's not help, but that you don't like the way it's formatted. flag=false is better in my opinion than "flag, which defaults to nothing" 01:03 < f2f> and since flag=false is more or less standard, why bother with it? 01:04 < exch> I respectfully disagree. But I have no intention of starting an argument about it. My own pkg works for me 01:04 -!- iant [~iant@67.218.103.234] has quit [Quit: Leaving.] 01:06 -!- franciscosouza [~francisco@187.105.25.184] has joined #go-nuts 01:06 -!- Vovchik [~ThreeSix@87.68.242.120.adsl.012.net.il] has quit [Ping timeout: 252 seconds] 01:06 -!- Vovchik [~ThreeSix@87.68.242.120.adsl.012.net.il] has joined #go-nuts 01:12 -!- ccc12 [~Adium@140.109.98.187] has joined #go-nuts 01:12 < kevlar_work> exch, you *can* override flag.Usage 01:13 < exch> really 01:13 < kevlar_work> lol, yes 01:13 < exch> You know I never actually looked 01:13 < exch> good to know 01:13 < kevlar_work> I have a very pretty usage function that I use 01:13 < kevlar_work> I've considered contributing it. 01:13 < exch> If it can be overridden, then there is no need for contributions I guess 01:14 < exch> Everyone apparently has their own flavor of what constitutes 'nice output' 01:14 < kevlar_work> well, contributing it so you can do something like flag.Usage = flag.PrettyUsage("some long usage text here") 01:15 < kevlar_work> mine columnates the arguments (and prints them in --form, which the go team wouldn't like) and their help text 01:16 < exch> This is what mine outputs stuff as: http://pastie.org/2276944 01:18 < kevlar_work> yeah, but that's incompatible with the "Flag" package in lots of ways, lol 01:18 < exch> Hence why I use my own 01:18 -!- flavius [~flav@unaffiliated/flavious] has quit [Ping timeout: 255 seconds] 01:18 < kevlar_work> I like sticking to the stdlib as much as possible 01:18 < exch> Me to, but this just pissed me off for some reason :p 01:19 < kevlar_work> sounds like you didn't even give flag a chance ;-). The Usage thing is like, at the top of the godoc page. 01:20 < exch> Either that, or it wasn't there yet when I wrote my package it's pretty old. oh well 01:20 < exch> The doc stuff that is, not the flag package 01:20 < uriel> somewhat offtopic but interesting: http://www.unlimitednovelty.com/2011/07/trouble-with-erlang-or-erlang-is-ghetto.html 01:20 < exch> But you are right, I didnt give it enough of a chance 01:23 -!- nutate [~nutate@cpe-76-169-16-230.socal.res.rr.com] has joined #go-nuts 01:25 < cbeck> adg: If you end up coming to puppet tonight, I'll be in a Portland State Engineering Discovery Showcase shirt, black w/ green lettering. 01:27 -!- hoozleboozle [~Adium@66.109.106.20] has quit [Quit: Leaving.] 01:28 -!- cenuij [~cenuij@184.15.8.109.rev.sfr.net] has joined #go-nuts 01:28 -!- cenuij [~cenuij@184.15.8.109.rev.sfr.net] has quit [Changing host] 01:28 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 01:29 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 01:35 -!- PragCypher [~PragCyphe@208.82.216.3] has joined #go-nuts 01:39 < cenuij> haii, looking for some dox on how to implement this new pattern, "AbstractSingletonProxyFactory", I feel it would benefit my code because I could abstract any meaning of my intentions in 16 layers of (albeit very cool) dross, I should be in a job for the next 3 months if I do this, help plz? 01:39 < kevlar_work> not in Go. 01:41 < exch> lol 01:43 < KirkMcDonald> cenuij: Look that's just not good enough, what if I need more than one kind of AbstractSingletonProxyFactory? It would need to be an AbstractSingletonProxyFactoryFactory. 01:43 < elimisteve> KirkMcDonald: Let me guess, you don't sell those anymore either? 01:44 < KirkMcDonald> No sir, you'd need to custom order one. 01:44 < KirkMcDonald> From the AbstractSingletonProxyFactoryFactoryFactory. 01:45 < cenuij> KirkMcDonald: I see your point, perhaps we might cover all edge cases with a AbstractSingletonProxyFactoryFactoryFactoryAbstract? 01:45 -!- franciscosouza [~francisco@187.105.25.184] has quit [Read error: Connection reset by peer] 01:46 -!- franciscosouza [~francisco@187.105.25.184] has joined #go-nuts 01:47 < brandini> you know what I can't stand 01:47 < brandini> there are these little circles in tech 01:47 < KirkMcDonald> plus.google.com? 01:47 < cenuij> brandini: and none of them sell Normandy Cider? 01:47 < brandini> the opensolaris guys hate go, the go guys wonder what opensolaris is, and here I am the guy in the middle who wants both??? 01:48 < brandini> :) 01:48 < brandini> the openbsd guys hate python, the linux guys hate hg 01:48 < brandini> all these great tools that work better or are better supported on certain platforms 01:49 < brandini> my tech life needs more unification 01:49 < cenuij> I think it's wonderfully diverse, keeps everyone on their toes. 01:49 < brandini> yeah 01:49 < KirkMcDonald> It is not as though Python particularly requires explicit OpenBSD support to work on that platform. 01:49 < brandini> I konw, but their port is crappy compared to how it runs on opensolaris 01:50 < KirkMcDonald> In what way? 01:50 < brandini> threading 01:50 < cenuij> isn't that Pythons bugbear in general? 01:50 < KirkMcDonald> cenuij: In a sense. 01:50 < brandini> it *can* go bawls fast 01:50 < brandini> so anyhow, now I want go on openbsd and opensolaris 01:50 < brandini> guess what, I'm locked into linux 01:50 < cenuij> and it can go *large* see Eve Online 01:51 < KirkMcDonald> I hear YouTube has some Python lurking in there, too. 01:51 < brandini> it does 01:51 < brandini> well anyhow, I've said my piece, back to my openindiana upgrade :) 01:52 < brandini> maybe I'll make go work on one of those other platforms 01:52 < cenuij> Isn't it our job to pick a language for the task though? 01:52 < brandini> isn't go the language for all my tasks? 01:52 < brandini> ;) 01:52 < brandini> *my* tasks 01:57 < cenuij> brandini: is it? 01:57 < cenuij> :) 01:58 < brandini> yes 01:58 -!- keithcascio [~keithcasc@nat/google/x-floibhppiixuexjo] has quit [Quit: Leaving] 01:59 < cenuij> I'm not from a *pure* PL background 02:00 < brandini> PL? 02:00 < cenuij> I had to cut my teeth on C, then swallow C++, then a side portion of java 02:00 < cenuij> "programming language" 02:00 < cenuij> I'm not a PL theorist or afficionado 02:01 < brandini> oh 02:01 < cenuij> but Go feels right to me, my degree was applied computing, "read: coding to order" 02:02 < brandini> I get tired of using commonly accepted things 02:02 < brandini> they usually suck 02:02 < cenuij> I might be missing all the nuances that the PL purists are keen to point out. 02:02 < brandini> and what's worse is the mass of drone-monkey thinking that forms along with it 02:02 < brandini> yeah, I'm not a purist or anything either 02:02 < cenuij> but I couldn't care less because I don't write for them. 02:03 < brandini> they all seem better than .NET... except for perl, that's a close line ;) 02:04 -!- nekoh [~nekoh@dslb-088-068-017-096.pools.arcor-ip.net] has quit [Ping timeout: 264 seconds] 02:09 < cenuij> niemeyer: ping 02:09 < niemeyer> cenuij: Heyo 02:09 < Vovchik> pong 02:10 < cenuij> Hi, I was wondering if I could convince you to sign up (register) on the opensuse build service 02:10 < cenuij> niemeyer: for two major reasons 02:11 < cenuij> 1. Your packages are being built against maybe 8 or so platform atm 02:12 < cenuij> sometimes they break for different reasons, often (and mostly) it's just due to weekly api changes 02:12 < cenuij> but in case there's something we miss, it would be nice if you could get an email to see when a build breaks. 02:12 < niemeyer> cenuij: Tell me more about it 02:13 < cenuij> the openSUSE build service is the community arm and build environment for openSUSE, but it's also an open platform like launchpad 02:14 < cenuij> we've been building your packages (mgo etc) 02:15 < niemeyer> cenuij: Ok, how are packages updated there, and how can I get told about what breaks? 02:16 -!- message144 [~message14@cpe-75-83-155-145.socal.res.rr.com] has joined #go-nuts 02:18 < cenuij> niemeyer: in the build service, there are some automation features to checkout from DVCS, but we don't use them for the go and go 3rd party packages because of the relatively fast rate of change atm. For the most part the repo maintainers update packages from the upstream CVS/DCVS repo and wait for a build result. 02:19 < cenuij> niemeyer: e.g. Sacha or myself would manually checkout from bzr on launchpad, build on our local station then push to the build service 02:19 < niemeyer> cenuij: Ok, I see 02:19 < niemeyer> cenuij: How can I help? 02:21 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 02:21 < cenuij> niemeyer: Well, the best thing I can think of is if you could register on the openSUSE build service and have Sascha add you as a maintainer for your packages, that way you can push updated code when you update it on the main upstream repo for new weeklys. 02:22 < cenuij> I know it's perhaps a bit of extra work but I don't think it should be more than a couple of lines that can be bashed 02:22 < niemeyer> cenuij: Ok, that'd be a bit unwieldy for me 02:23 < cenuij> i understand, you already have repos to take care of. 02:23 < niemeyer> cenuij: Yeah, it's quite a bit of overhead on every release 02:24 < cenuij> Perhaps then if you were just notified of build failures? It might be a moderate amount of build spam though... 02:24 < niemeyer> cenuij: I'd be happier with that, yeah 02:25 < cenuij> but we do build for quite a few platforms outside of openSUSE and ubuntu/debian 02:25 < niemeyer> cenuij: Note I'm also going to be moving to a more stable maintenance style.. 02:25 < cenuij> e.g. scientific linux, fedora, red hat, mandriva etc... 02:25 < niemeyer> cenuij: Ubuntu and App Engine both make available the stable series (release tag) 02:26 < niemeyer> cenuij: ... of Go, that is 02:27 < cenuij> niemeyer: yep, I understand that but it's a sanity check for us that our packages are ok :) 02:27 < niemeyer> cenuij: and the release tag also facilitates keeping packages compatible with the current stable 02:27 < niemeyer> cenuij: I think we should all start moving into that direction rather than attempting to keep up with weeklies 02:27 < niemeyer> cenuij: yeah, that's cool.. I'm happy to be notified of build errors 02:27 < niemeyer> cenuij: As long as they are related to the stable release 02:28 < niemeyer> cenuij: It'll most likely be broken on the weekly, as you pointed out 02:28 < cenuij> niemeyer: ok, I agree with you on this, and I'm sure saccha will be amenable too, it's getting harder and harder to keep a repo full of packages in order againt the weekly builds. 02:29 < niemeyer> cenuij: Right, that's the issue.. tricky of distros, tricky for users, etc 02:29 < niemeyer> s/of/for 02:29 < cenuij> niemeyer: I'll ping you and sascha sometime later this week on this, one other thing I can think of to bring up at this time... 02:31 < cenuij> niemeyer: I know you've been working with ADG to improve the goinstall and path scenario, the openSUSE packages have a few local hacks for various reasons.. can we try to get you + adg + us + fedora/red hat pacakgeers togeher at some point? 02:32 < niemeyer> cenuij: Yes, certainly 02:32 < niemeyer> cenuij: I believe the latest changes from adg pretty much close the loop as far as an initial cut for distro support is concerned 02:33 < niemeyer> cenuij: The next stable should be in a much better shape on that 02:33 < niemeyer> cenuij: Do you know what kind of issue you're facing there? 02:33 < niemeyer> cenuij: IOW, what are the patches about 02:34 < cenuij> niemeyer: mostly it will revolve around package install and source locations 02:34 < niemeyer> cenuij: Interesting, ok 02:36 < cenuij> niemeyer: it's late, I'll try to formulate my thoughts on this and find the packagers for fedora, then try to ping you and adg 02:36 < niemeyer> cenuij: Fantastic, thanks for organizing this 02:36 < cenuij> niemeyer: where can I mail you to send details for our build service failures? 02:37 < cenuij> pm or etc plase :) 02:37 -!- eikenberry [~jae@c-24-22-21-98.hsd1.or.comcast.net] has joined #go-nuts 02:39 < cenuij> niemeyer: thanks, I'm off for this evening, have a good one. 02:39 < niemeyer> cenuij: Have a good evening! 02:39 < f2f> hey, brandini, why do the opensolaris dudes hate go? who are the opensolaris dudes nowadays anyway? 02:43 < tylerl> how do you go from []byte to string? 02:44 < exch> str := string(byteslice) 02:44 < exch> and in reverse 02:45 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 02:45 < tylerl> exch: thanks. Must be a syntax error somewhere then. 02:45 < tylerl> cause that's what i thought ;) 02:50 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 240 seconds] 02:51 -!- tvw [~tv@e176006246.adsl.alicedsl.de] has quit [Remote host closed the connection] 02:57 -!- qeed [~qeed@adsl-98-85-47-130.mco.bellsouth.net] has quit [Quit: Leaving] 03:04 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts 03:10 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host closed the connection] 03:20 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Remote host closed the connection] 03:21 -!- niemeyer [~niemeyer@201-89-134-42.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 03:25 -!- pjm0616 [~user@114.200.203.101] has quit [Ping timeout: 276 seconds] 03:39 -!- benjack [~benjack@bb119-74-109-65.singnet.com.sg] has joined #go-nuts 03:43 < skelterjohn> i could get behind a win-by-voting go contest 03:43 < skelterjohn> as long as the theme was fairly directed and interesting 03:43 < skelterjohn> fairly directed as in fairly focused 03:44 -!- synx [~synx@unaffiliated/synx/x-4957395] has joined #go-nuts 03:45 < exch> I used to love the 'write a game in 150 lines of code' sort of challenges I did years ago 03:46 < exch> Having some serious restrictions makes it interesting 03:47 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined #go-nuts 03:48 < jessta> exch: "lines of code" is always a rather vague restriction, unless you restrict library usage 03:48 < exch> true 03:48 < jessta> eg. 150 lines of code, only using the standard lib 03:49 < exch> For the language at the time it kinda made sense 03:49 < skelterjohn> "don't write a new library for this contest 03:49 < skelterjohn> " 03:49 < chadkouse> contest you say ? 03:49 < chadkouse> I'm game 04:05 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 04:07 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 252 seconds] 04:08 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the connection] 04:20 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 04:26 -!- vmil86 [~vmil86@78.57.227.12] has joined #go-nuts 04:26 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 04:35 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 04:35 -!- mode/#go-nuts [+v iant] by ChanServ 04:38 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Quit: Computer has gone to sleep.] 04:41 -!- iXeno [~ixeno@77.241.96.35] has joined #go-nuts 04:42 -!- iXeno_ [~ixeno@77.241.96.35] has joined #go-nuts 04:42 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 04:45 -!- iXeno [~ixeno@77.241.96.35] has quit [Ping timeout: 260 seconds] 04:46 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 04:46 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Quit: Leaving] 04:47 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Client Quit] 04:52 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 04:56 -!- srid [~srid@S010678ca39ff0146.vn.shawcable.net] has joined #go-nuts 04:56 -!- srid [~srid@S010678ca39ff0146.vn.shawcable.net] has quit [Changing host] 04:56 -!- srid [~srid@unaffiliated/srid] has joined #go-nuts 04:58 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 05:08 -!- srid [~srid@unaffiliated/srid] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 05:15 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 05:22 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit: Leaving.] 05:36 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined #go-nuts 05:38 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping timeout: 252 seconds] 05:50 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 05:52 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 05:53 -!- nutate [~nutate@cpe-76-169-16-230.socal.res.rr.com] has quit [Quit: nutate] 05:57 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts 05:59 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection reset by peer] 06:01 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 06:03 -!- arun__ [~arun@e71020.upc-e.chello.nl] has joined #go-nuts 06:04 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote host closed the connection] 06:05 -!- ccc12 [~Adium@140.109.98.187] has quit [Quit: Leaving.] 06:07 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 06:09 -!- arun__ [~arun@e71020.upc-e.chello.nl] has quit [Quit: Leaving] 06:10 -!- ccc1 [~Adium@140.109.103.153] has joined #go-nuts 06:14 -!- ccc1 [~Adium@140.109.103.153] has quit [Ping timeout: 264 seconds] 06:32 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 06:36 -!- message144 [~message14@cpe-75-83-155-145.socal.res.rr.com] has quit [Quit: gone] 06:38 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts 06:47 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 06:48 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has quit [Ping timeout: 246 seconds] 06:48 -!- ccc1 [~Adium@140.109.98.230] has joined #go-nuts 06:49 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 06:54 -!- ccc1 [~Adium@140.109.98.230] has quit [Ping timeout: 250 seconds] 06:57 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 06:58 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 07:00 -!- yebyen [~yebyen@martyfunkhouser.csh.rit.edu] has quit [Ping timeout: 240 seconds] 07:01 -!- photron [~photron@port-92-201-77-211.dynamic.qsc.de] has joined #go-nuts 07:06 -!- tylerl [~tylerl@unaffiliated/tylerl] has quit [Quit: leaving] 07:13 -!- Kumul [~Kumul@67.224.130.170] has quit [Quit: gone] 07:15 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-181-38.clienti.tiscali.it] has joined #go-nuts 07:21 -!- eikenberry [~jae@c-24-22-21-98.hsd1.or.comcast.net] has quit [Read error: No route to host] 07:27 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts 07:44 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Quit: KVIrc 4.1.1 Equilibrium http://www.kvirc.net/] 07:45 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 07:48 < synx> hello 07:58 < jessta> hi 08:03 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds] 08:03 -!- rcrowley [~rcrowley@ax113-2-82-224-100-45.fbx.proxad.net] has joined #go-nuts 08:03 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 08:06 -!- adil [~adil@nat/ibm/x-gccmojptipuvjthj] has quit [Remote host closed the connection] 08:07 -!- erus` [~chatzilla@mailgate.ips-international.com] has joined #go-nuts 08:14 -!- rcrowley [~rcrowley@ax113-2-82-224-100-45.fbx.proxad.net] has quit [Quit: Computer has gone to sleep.] 08:15 < dforsyth> hi synx 08:18 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts 08:26 < synx> hi dforsyth 08:27 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds] 08:31 -!- GeertJohan [~geertjoha@s51478c91.adsl.wanadoo.nl] has joined #go-nuts 08:34 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:39 -!- napsy [~luka@193.2.66.6] has joined #go-nuts 08:48 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts 08:51 -!- dzderic [dce92aa2@gateway/web/freenode/ip.220.233.42.162] has joined #go-nuts 08:51 < dzderic> Does anyone know of any good web "micro-frameworks" for go similar to Flask or Bottle for Python? 08:54 -!- Vovchik [~ThreeSix@87.68.242.120.adsl.012.net.il] has quit [Ping timeout: 246 seconds] 08:55 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 08:56 -!- moraes [~moraes@189.103.188.201] has quit [Remote host closed the connection] 08:57 -!- rlab [~Miranda@91.200.158.34] has quit [Client Quit] 08:58 < str1ngs> dzderic: we are not python programmers, maybe if you explain what those frameworks do we can better help you. 08:58 < str1ngs> sorry missed the "web" part. its all in the stdlib 08:59 < dzderic> I looked at the http library 08:59 < str1ngs> if you are just starting out with go, its best to start with the stdlib 08:59 < dzderic> OK 08:59 < dzderic> Are there any examples of web applications written using the http module that you know of? 09:00 < str1ngs> there is a wiki codelab 09:00 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 09:00 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Ping timeout: 252 seconds] 09:00 < str1ngs> also examples in the docs for the http package. atleast for handlers 09:00 < dzderic> Thanks 09:01 < dzderic> 1 more Q: What is the 'correct' way to structure a go Makefile? 09:02 < hokapoka> Using the exp/template package where you have {{template "foo" .}} to execute the defined template "foo" is there away to tell it to use a value from a pipline? 09:03 < str1ngs> on the docs page there is How to write go code. that gives the layout of go Makefile template 09:03 < str1ngs> dzderic: ^ 09:03 < hokapoka> Instead of the string "foo" for example : {{template .UseTemplate .}} 09:03 < dzderic> OK I'll check it out 09:03 < str1ngs> dzderic: for a command package , all you have to do is change Make.pkg include to Make.cmd. check the syntax for those names though. 09:04 < hokapoka> I've started using goinstall, without any Makefiles and I find it's really easy to create / use packages and new binaries. 09:05 < str1ngs> goinstall installs though. which is not always the best for developing 09:05 < str1ngs> also no gotest 09:06 < hokapoka> str1ngs: yeah, the tests is one thing that I've been missing. As for installing I thought it might be an issue but I've not hit any troubles yet - having said that I've only been using it over Makefiles for about a 2 weeks. 09:07 < str1ngs> think it will be better when gomake is complete 09:30 -!- Sep102_ [~Sep102@c-71-227-179-131.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 09:30 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-180-14.clienti.tiscali.it] has joined #go-nuts 09:31 -!- Sep102_ [~Sep102@c-71-227-179-131.hsd1.wa.comcast.net] has joined #go-nuts 09:31 -!- dzderic [dce92aa2@gateway/web/freenode/ip.220.233.42.162] has quit [Ping timeout: 252 seconds] 09:33 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-181-38.clienti.tiscali.it] has quit [Ping timeout: 264 seconds] 09:49 -!- iXeno_ [~ixeno@77.241.96.35] has quit [Remote host closed the connection] 09:59 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has quit [Ping timeout: 255 seconds] 10:02 -!- gotest2 [43ec84df@gateway/web/freenode/ip.67.236.132.223] has joined #go-nuts 10:05 -!- brandini [~orbit@metabug/brandon] has quit [Remote host closed the connection] 10:11 < hokapoka> How do I use the reflect package to create a New instance of type Foo from the string value of "Foo"? 10:13 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 10:14 -!- benjack [~benjack@bb119-74-109-65.singnet.com.sg] has quit [Quit: Leaving.] 10:17 < hokapoka> I see how to use reflect.New(t) where t is the type I want to create, but I can't see how I would take the string value "Foo" and create reflect.Type. 10:17 -!- virtualsue [~chatzilla@nat/cisco/x-ttwwjmvpkfopcofz] has joined #go-nuts 10:21 < hokapoka> Humm, I'm not happy doing that. I'll use a propper switch against the string value 10:21 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts 10:22 -!- brandini [~orbit@metabug/brandon] has joined #go-nuts 10:24 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-155-152.clienti.tiscali.it] has joined #go-nuts 10:27 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-180-14.clienti.tiscali.it] has quit [Ping timeout: 258 seconds] 10:29 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 10:32 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has joined #go-nuts 10:38 -!- gotest2 [43ec84df@gateway/web/freenode/ip.67.236.132.223] has quit [Quit: Page closed] 10:40 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 10:43 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.] 10:51 -!- alehorst [~alehorst@189.58.25.132.dynamic.adsl.gvt.net.br] has joined #go-nuts 10:53 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 11:17 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has quit [Quit: I am a manual virus, please copy me to your quit message.] 11:17 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 11:45 -!- franciscosouza [~francisco@187.105.25.184] has quit [Quit: franciscosouza] 11:51 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has quit [Read error: Operation timed out] 11:55 -!- nekoh [~nekoh@dslb-088-069-143-083.pools.arcor-ip.net] has joined #go-nuts 11:55 < skelterjohn> hokapoka: right now there is no automatic way to go from a string to a type, though it's on the dev's wishlist 12:07 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 12:12 < wrtp> skelterjohn: i thought that was a no-no for the same reason that going from a string to a function is a no-no 12:12 < wrtp> if you can do that, then you have no way of knowing which types are used, so you can't remove them from the binary 12:17 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 12:17 -!- janimo [~janimo@li33-200.members.linode.com] has left #go-nuts ["Leaving"] 12:17 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 12:18 < hokapoka> skelterjohn: as it happens I wasn't happy initially doing it that why and relying on a load of reflect voodo 12:18 < hokapoka> s/why/way 12:19 < hokapoka> skelterjohn: have you been able to use {{template .Foo . }} where it executes the template that's name is held in .Foo rather than explicitly setting the string name? 12:22 < hokapoka> ATM I'm having to call a func for example : {{if .TempType "t1"}}{{template "t" .}}{{end}} where func(b bar)TempType(s string)(bool){ return b.Foo == s; } 12:22 < hokapoka> opps s/"t"/"t1" 12:26 < wrtp> hokapoka: did you write the recent post on golang-nuts? 12:26 < wrtp> 'cos if so i replied to it with an answer to that question 12:27 < hokapoka> oh yes, just saw that, 12:28 < hokapoka> I did suggest that I could use execute within the InvokeTemplate func of the object. 12:30 < hokapoka> But I'm reluctant todo that as I within the assigned template I'm subsequently executing other templates with the set. 12:32 < hokapoka> And either I'd have to piggy back the io.Writer off something or as you are complete the execution on a buffer and pass the result back. 12:33 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has quit [Quit: leaving] 12:33 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has joined #go-nuts 12:33 < hokapoka> While it might work, I'd rather use the {{if... that I'm using atm, or preferably workout how to pass a value to the {{template foo .}} command 12:35 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has quit [Client Quit] 12:35 -!- jlaffaye [~jlaffaye@abydos.jlaffaye.net] has joined #go-nuts 12:36 < wrtp> you can't do that - that functionality was explicitly removed 12:36 < wrtp> you have to use a temporary buffer 12:37 < wrtp> or just use {{if, of course 12:37 < hokapoka> yeah, the if is gonna become a real pain. 12:37 < wrtp> how big are your templates gonna be? 12:38 < wrtp> is a temporary buffer really too much? 12:38 < hokapoka> I'm more concerened about the scope of the interface that I'm executing. 12:39 < wrtp> the scope of the variables in it? 12:39 < hokapoka> I think you might have something there, I need to test it with a template set and see how easily I can switch sets arround. 12:40 < wrtp> the solution i gave is very general. you should be able to do anything (apart from streaming to the Writer of course, so you will get extra data copying) 12:41 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 12:41 < wrtp> it's trivial to extend the example to specify template names rather than templates themselves 12:41 < hokapoka> wrtp: the more I think about it the more I prefer it. 12:41 < hokapoka> Yeah I can that's nice n simple. 12:44 < hokapoka> If I were, and I'm not sure it's a good idea at all, to piggy back the currently Writer off something so I can reference it in say your RunTemplate. It will stream into the Writer at the point I executed the other template? 12:46 < hokapoka> And would it be a very bad idea? 12:48 -!- lightx [~Ahmed@74.115.1.93] has joined #go-nuts 12:48 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has joined #go-nuts 12:49 * uriel sighs at even more spam in gonuts 12:50 < wrtp> hokapoka: i think that would be sneaky and difficult to maintain 12:50 -!- miker2 [~textual@pool-108-25-22-179.atclnj.east.verizon.net] has joined #go-nuts 12:51 < wrtp> i don't think there's any guarantee that the current writer is the one that you passed to template.Execute 12:52 < hokapoka> Not if I implyment type foo struct { ... io.Writer } and fo.Writer = myWriter; then passing RunTemplate(f *foo){ t.Execute(f, ...) 12:55 < wrtp> hokapoka: yes, because you're assuming that the foo.Writer is the same writer that is being written by the current template 12:55 -!- ronnyy [~quassel@p4FF1C42B.dip0.t-ipconnect.de] has joined #go-nuts 12:55 < wrtp> but that might not be true (e.g. the template package might have pushed bufio) 12:56 < hokapoka> Oh right, that was my concern that something under the hood could cause complications. 12:57 < exch> http://uk.reuters.com/article/2011/07/27/science-us-korea-dog-idUKTRE76Q1MK20110727 South korean scientists create a glowing dog. (pic unfortunately not included) 12:57 < exch> eep wrong chan 12:58 < fzzbt> cool dog 12:58 < hokapoka> heh, glowing dog! 12:58 < hokapoka> poor dog 12:59 < exch> We could use glowing gophers fr nighttime coding sessions 13:00 < lightx> hi i have a pb with installing Go Compiler on Mac os x Lion, this is the output when i ran ./all.bash http://pastie.org/2279314 13:01 -!- ccc1 [~Adium@114-45-6-235.dynamic.hinet.net] has joined #go-nuts 13:05 -!- niemeyer [~niemeyer@201.11.231.55] has joined #go-nuts 13:05 < wrtp> anyone know of a JSON pretty printer for Go? 13:05 < hokapoka> wrtp: you could chuck it at mongodb and then use it's! :) 13:06 < wrtp> not a great option under appengine :-) 13:06 < hokapoka> IIRC, I did see something in the json's tests 13:06 < hokapoka> It was only a very simple itterative func. 13:06 < lightx> help help :) 13:07 < wrtp> ah, i think json.Indent might do what i'm after 13:07 < wrtp> fantastic, why didn't i see that before? 13:17 -!- miker2 [~textual@pool-108-25-22-179.atclnj.east.verizon.net] has quit [Quit: Computer has gone to sleep.] 13:17 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 13:19 -!- preflex_ [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 258 seconds] 13:21 -!- virtualsue [~chatzilla@nat/cisco/x-ttwwjmvpkfopcofz] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0.1/20110707182747]] 13:21 -!- TheMue [~TheMue@p5DDF76FD.dip.t-dialin.net] has joined #go-nuts 13:23 -!- dahankzter [~henke@92-244-3-192.customers.ownit.se] has joined #go-nuts 13:25 < hokapoka> wrtp: got that working a treat. 13:25 < hokapoka> many thanks 13:25 < dahankzter> I noticed by chance really that there is a lock in the Logger, is that something i should consider when creating an app? I mean there can be extensive logging and having a singel shared logger seems not optimal. What is the idiomatic way to handle this? A channel with considerable buffer or just create more loggers? 13:25 < wrtp> hokapoka: np 13:26 < wrtp> dahankzter: i'd just go ahead and see if it's a problem 13:27 < wrtp> dahankzter: if there's no contention, it'll be fast. if there is contention, you'll probably want the lock anyway. 13:27 < wrtp> dahankzter: if you find it's a problem, then sure, create more loggers 13:29 < dahankzter> Will do but i have been hit pretty hard by locks (on the jvm tho) in production which was lots of work to get rid of so i try really hard to go lock free by design as far as possible 13:29 -!- TheMue [~TheMue@p5DDF76FD.dip.t-dialin.net] has quit [Quit: TheMue] 13:31 < hokapoka> wrtp: how would I set the reference to in the FuncMap to a method of a type? 13:31 < wrtp> hokapoka: use a closure 13:32 < hokapoka> I tried to use a closure "runtemplate":func(s string, o interface{}){ f.runTemplate(s, i); } but it panics 13:32 < hokapoka> at the point I assign to the map 13:33 < exch> has the map been initialized with make()? 13:34 < hokapoka> exch: nope, it's litteral 13:35 -!- PragCypher [~PragCyphe@208.82.216.3] has quit [Read error: Connection reset by peer] 13:35 < hokapoka> I'll try again, I moved to a func to get it wokring it might have been something else 13:35 < f2f> are you calling that in a for loop? 13:36 -!- PragCypher [~PragCyphe@208.82.216.3] has joined #go-nuts 13:36 < hokapoka> no 13:36 < f2f> sorry, saw the 'i' there 13:37 < jessta> dahankzter: locks are fairly important for logging, if you're logging to a central location like a single file or stdout 13:38 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 13:38 < hokapoka> yeah it was something else, I hading defined the return types on the closure I think 13:41 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts 13:46 < dahankzter> @jessta: yes i know but still it has to be considered. I was considering sending over a buffering channel but then i remembered the AsyncAppender of log4j which stalls if the queue is full 13:46 < dahankzter> creating more loggers should be the thing i guess 13:46 -!- virtualsue [~chatzilla@nat/cisco/x-xqqdayzxvwqgqime] has joined #go-nuts 13:47 < dahankzter> logging to different files ofc 13:47 < jessta> dahankzter: channels have locks 13:48 < jessta> even a buffered channels locks 13:48 < dahankzter> yes i know which is why i will go for more loggers if needed 13:49 < Electro^> Is it possible to make a method to a slice of structs? say for example func (aStruct []AStruct)doSomething () { ? 13:50 < dahankzter> skelterjohn: go-gb is godly 13:50 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined #go-nuts 13:51 < jessta> Electro^: it needs to be a named type 13:51 < Electro^> i guessed it was so, thank you 13:52 < jessta> eg. type StructSlice []AStruct; func (aStruct StructSlice)dosomething(){} 13:52 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 246 seconds] 13:52 < Electro^> oh, yeah that might work 13:53 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined #go-nuts 13:53 < jessta> Electro^: you can put methods on any type as long as you name it 13:53 < jessta> you can even put methods on functions 13:54 < Electro^> that could quickly become confusing 13:55 -!- meling_ [~meling@99-10-121-218.lightspeed.sndgca.sbcglobal.net] has quit [Remote host closed the connection] 13:57 -!- ronnyy [~quassel@p4FF1C42B.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 13:58 < hokapoka> You can only put methods on types defined within the package still right? 14:04 < lightx> why nobody want to help me? 14:04 < wrtp> lightx: because you haven't asked any questions 14:04 < wrtp> hokapoka: yes 14:05 < hokapoka> lightx: have you tried starting agin? 14:05 < wrtp> lightx: oh yes, you did, sorry 14:05 < lightx> wrtp:ok is there any solution? 14:06 < wrtp> lightx: what version of Go are you using? 14:06 < wrtp> i think that some problems with OSX Lion were only fixed recently 14:06 < lightx> i'm newcomer i don't have any old version 14:07 < lightx> but i have use this command to clone the repository hg clone -r release.r57.1 https://go.googlecode.com/hg/ go 14:07 < f2f> lightx, use -r release 14:07 < lightx> f2f: ok i will try it now 14:07 < hokapoka> wrtp: I've got 2 other questions on the templates package. First off, if I create a variable using {{$areas := index .Areas `key`}} it prints out the pointer. How can I define a variable that I might range or do a number of thing with and stop it being echoed? 14:08 < f2f> r57.157.1 is from may 04 14:08 < f2f> s/57.1// 14:08 * hokapoka reads may 04 as may 2004 14:10 < mpl> hokapoka: as probably all of us on the east side of the big pond do. 14:10 < lightx> f2f:i've got this command from the doozerd repository and it's a new commit that's why i use it directly 14:12 < wrtp> hokapoka: try updating to tip. that behaviour has changed recently. 14:12 < f2f> i blame 'date' :) 14:12 < hokapoka> Oh okay. must have been recent I updated on friday 14:14 < hokapoka> wrtp: when you say tip, that's more recent than weekly? 14:15 < f2f> tip is the most recent possible. 14:16 < hokapoka> So the hg commands : hg pull | hg update 14:16 < hokapoka> without a release|weekly flag - or is there a tip flag? 14:17 < f2f> tip is a mercurial flag that always points at the last commit 14:17 < dahankzter> like HEAD in git 14:17 < dahankzter> ish 14:17 < wrtp> hokapoka: yes, more recent than weekly 14:18 < skelterjohn|work> hokapoka: to stop echoing while setting variables, i put them in if clauses 14:18 < f2f> i need to check whether hg pull on a release-flagged repo pull to the latest tip 14:18 < wrtp> hokapoka: i think maybe "hg update tip" might do it 14:18 < skelterjohn|work> {{if $x=.y}}stuff{{end}} 14:18 < skelterjohn|work> slightly hacky, but it works 14:18 < wrtp> skelterjohn: that doesn't work if you want $x to be able to be 0 14:18 < skelterjohn|work> eep 14:18 < wrtp> (e.g. if it's an int) 14:18 < hokapoka> wrtp: aye fired that off wating on the tests now. 14:19 < hokapoka> heh 14:19 < skelterjohn|work> how do you do it with the latest version in tip? 14:19 < wrtp> skelterjohn|work: also it's nice to be able to define variables without another level of nesting 14:19 < skelterjohn|work> wrtp: yes, the nesting was annoying 14:19 < skelterjohn|work> but i couldn't figure out how else to do it 14:20 < skelterjohn|work> in my case they were non-empty strings, so the 0 issue didn't happen 14:20 < wrtp> skelterjohn|work: {{$x=.y}} will do it 14:20 < wrtp> in tup 14:20 < skelterjohn|work> that echoed 14:20 < skelterjohn|work> ok 14:20 < wrtp> tip 14:20 < skelterjohn|work> cool 14:20 < skelterjohn|work> any idea when the next weekly is happening? 14:20 < wrtp> i'm using the current version of exp/template in my appengine site and it's working well 14:21 < f2f> hokapoka, hg pull -u updates to tip 14:21 < skelterjohn|work> what've you got going on app engine? 14:22 < hokapoka> Okay while that's doing. is there a way to reference "up" the interface that's being processed for example if I'm rangeing a slice and I want to reference a field that's a sibling of the slice field 14:22 < hokapoka> In a template, that is. 14:23 < skelterjohn|work> there is a way to range while getting an index, right? 14:23 < skelterjohn|work> in that case you could put the slice in a variable, and index into it somehow? 14:23 < hokapoka> yeah, reverse of range 14:23 < hokapoka> oh yeah I hadn't thought about that. 14:24 < skelterjohn|work> i don't know how to index into a slice w/ exp/template 14:24 < skelterjohn|work> might be as easy as $theSliceVar[i] 14:24 < hokapoka> Oh yeah I've not tried that either. 14:25 -!- franksalim [~frank@64-71-23-250.static.wiline.com] has quit [Ping timeout: 250 seconds] 14:25 < hokapoka> The problem is the element and the index are returned, or just the element 14:25 < hokapoka> which places the cursor at the point the of the element 14:25 < skelterjohn|work> that's why you have to put the slice into a variable before you range 14:26 < hokapoka> Again, when you then range it, the curor is moved to that variable. 14:26 < skelterjohn|work> {{$theSliceVar=.mySlice}}{{rangeWithIndexSomehow .mySlice}}{{$theSliceVar[i+1]}} {{.}}{{end}} 14:27 < skelterjohn|work> i don't see any issues with the cursor moving 14:27 < hokapoka> that's assuming there is some rangeWithIndex 14:28 < hokapoka> as {{$slice := .myslice}} {{range $slice}} {{/* . here is the element in the slice */}} {{end}} 14:28 < skelterjohn|work> i thought you said there was a way to do that - "element and index" 14:28 < hokapoka> yeah, that's just range tho. 14:28 < skelterjohn|work> how do you get the index while ranging? 14:29 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 14:29 < hokapoka> $index, $element := range .slice 14:30 < hokapoka> from the docs : in which case $index and $element are set to the successive values of the array/slice index or map key and element, respectively. Note that if there is only one variable, it is assigned the element; this is opposite to the convention in Go range clauses. 14:30 < skelterjohn|work> ok, cool 14:30 < hokapoka> I'll re-try it, but I thought the cursor moved to the $element in the range, I might be wrong. 14:31 < skelterjohn|work> {{$s=.slice}}{{$i, $e := range .slice}}here is the element: {{$e}}, and the next one: {{$s[$i]}}{{end}} 14:31 -!- lightx [~Ahmed@74.115.1.93] has quit [Remote host closed the connection] 14:31 < skelterjohn|work> $i+1, i mean 14:33 < hokapoka> humm, {{$index, $element := range $areas} "too many declarations in command" 14:33 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 14:34 < skelterjohn|work> i didn't find the quote you quoted in the docs 14:34 < skelterjohn|work> maybe just in tip 14:36 < hokapoka> try: godoc exp/template | less 14:36 < skelterjohn|work> it will look the same as the web page i'm looking at - running a local server 14:36 < skelterjohn|work> (i keep to weekly) 14:36 < hokapoka> however, tip has fixed my pointer & variable 14:37 < wrtp> hokapoka: i don't use the cursor at al 14:37 < hokapoka> Me too, well until 5 mins ago 14:37 < wrtp> i haven't found the need 14:37 < hokapoka> ^^ skelterjohn|work 14:37 -!- mattn_jp [~mattn@112-68-54-75f1.hyg1.eonet.ne.jp] has joined #go-nuts 14:37 < wrtp> (and it makes the template more obvious) 14:37 < hokapoka> skelterjohn|work: go to exp/template docs and find variable 14:38 < hokapoka> wrtp: So what are you suggesting, extract everything I need into variable and use them? 14:38 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 14:38 < skelterjohn|work> in my docs it says "$index, $element := pipeline" 14:39 < skelterjohn|work> does that mean you'd do {{$index, $element := .slice}} ? 14:39 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 14:39 < hokapoka> skelterjohn|work: yeah mine too, I miss read it. 14:40 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 240 seconds] 14:40 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 14:41 -!- grncdr [~stephen@sdo.csc.UVic.CA] has quit [Ping timeout: 260 seconds] 14:42 -!- grncdr [~stephen@sdo.csc.UVic.CA] has joined #go-nuts 14:42 -!- Bigbear1 [~Cody@d75-158-128-103.abhsia.telus.net] has joined #go-nuts 14:43 < hokapoka> I still can't see how to get the index and element out from the pipeline of a slice 14:44 < exch> the $key, $var := syntax does not seem to work (yet) in the current weekly 14:44 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 14:44 < jnwhiteh> exch: whats that syntax supposed to do? 14:45 < nicka1> You definitely can if you create a type from your struct-slice type 14:45 < exch> extract index and value from a slice or map 14:45 -!- zaero [~eclark@servo.m.signedint.com] has quit [Read error: Connection reset by peer] 14:45 < nicka1> sorry, scroll got stuck 14:45 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 14:46 -!- zaero- [~eclark@50-82-164-104.client.mchsi.com] has joined #go-nuts 14:47 -!- dlowe [~dlowe@nat/google/x-jlsgavqzcgnwomkh] has joined #go-nuts 14:50 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Ping timeout: 252 seconds] 14:51 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts 14:54 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 14:55 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib] 14:57 -!- GeertJohan [~geertjoha@s51478c91.adsl.wanadoo.nl] has quit [Quit: Leaving.] 15:00 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 15:02 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 252 seconds] 15:04 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 15:04 -!- iXeno [~ixeno@ti0088a380-1359.bb.online.no] has joined #go-nuts 15:05 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 250 seconds] 15:05 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 15:06 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 15:08 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Connection reset by peer] 15:11 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 15:16 -!- dlowe [~dlowe@nat/google/x-jlsgavqzcgnwomkh] has quit [Quit: Leaving.] 15:16 < jlaffaye> what is an efficient way to build strings? to avoid str = str + blah in a loop 15:16 < skelterjohn|work> bytes.Buffer 15:18 < ww> or even just use a []byte and append in the loop 15:19 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.] 15:21 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Quit: ~ Trillian Astra - www.trillian.im ~] 15:21 < jlaffaye> thanks :) 15:22 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has quit [Ping timeout: 246 seconds] 15:23 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 15:24 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has joined #go-nuts 15:28 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 15:29 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 15:29 -!- rcrowley [~rcrowley@93-158-26-28.subs.ibrowse.com] has joined #go-nuts 15:30 -!- fabian__ [~fabian@koln-4d0d1bde.pool.mediaWays.net] has joined #go-nuts 15:32 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 15:33 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 15:33 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 15:43 -!- rcrowley [~rcrowley@93-158-26-28.subs.ibrowse.com] has quit [Quit: Computer has gone to sleep.] 15:45 -!- ccc1 [~Adium@114-45-6-235.dynamic.hinet.net] has quit [Quit: Leaving.] 15:46 < hokapoka> exch: i can't get it to work in the tip either. 15:51 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 15:51 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Remote host closed the connection] 15:52 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 15:54 < wrtp> $key, $var := works fine for me 15:54 < wrtp> hokapoka: i've only used it on slices though so far 15:54 < hokapoka> What are you using as the pipline tho? 15:55 < hokapoka> {{$index, $element := .Tags}} where Tags is []string 15:55 < wrtp> a simple field reference 15:55 < hokapoka> I get "too many declarations in command" 15:55 < exch> yea, same here 15:55 < hokapoka> When I parse the template 15:55 < hokapoka> with : 2e4169457ca8 tip 15:55 < wrtp> you want {{range $index, $element := .Tags}} 15:56 < hokapoka> oh 15:56 < exch> doh 15:56 < wrtp> the manual is there to be read :-) 15:56 < exch> that is not in it :p 15:56 < wrtp> it is 15:56 < exch> noes.Ive read it 3 times to be sure I didnt miss anything 15:56 < wrtp> "If a "range" action initializes a variable, the variable is set to the successive elements of the iteration. " 15:57 < exch> yes.. that doesn't really mean anything to me 15:57 < wrtp> well, range takes a pipeline and a pipeline can initialise a variable 15:58 < wrtp> i thought it was quite clear, but maybe i'm just more on rob's wavelength... 15:58 < hokapoka> I see, range is an "action" 15:59 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 15:59 < hokapoka> To be honest like exch I didn't quite understart what it ment. 15:59 < hokapoka> might be better if the example on the was prefixe by <action> or something 16:00 < hokapoka> Althought it's only really range that can be used with that 16:01 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 16:03 -!- zaero [~eclark@50-82-164-104.client.mchsi.com] has quit [Ping timeout: 260 seconds] 16:07 -!- yogib [~yogib@dslb-188-100-008-153.pools.arcor-ip.net] has joined #go-nuts 16:09 < wrtp> you can do it with any action that takes a pipeline. e.g. {{if $x := .Foo}} .... {{end}} 16:09 -!- smcquay [~smcquay@30.236.sfcn.org] has quit [Quit: WeeChat 0.3.0] 16:17 -!- iXeno [~ixeno@ti0088a380-1359.bb.online.no] has quit [Remote host closed the connection] 16:18 -!- iXeno [~ixeno@ti0088a380-1359.bb.online.no] has joined #go-nuts 16:18 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts 16:20 -!- zaero [~eclark@servo.m.signedint.com] has joined #go-nuts 16:23 < f2f> hmm. i'm experiencing strange deltas in build times. things went down from 3 minutes to 2m20s for a while, then back to 2m40s, now back to 2m20s. on a different host it went from 4m to 3m10s... 16:23 < f2f> i wish the benchmarks were back. 16:23 < f2f> benchmark graphs even 16:24 < uriel> russ is so full of crap some times, fixing the spam issue is trivial, as brad figured out long ago 16:25 < uriel> (and as I pointed out ages ago) 16:25 < aiju> uriel: just install fossil on the mail server 16:25 < uriel> aiju: HAHAHAH 16:25 < uriel> no, f2f knows well that fossil is *rock solid* ;P 16:25 < f2f> *i* have not had issues with it. 16:25 < uriel> (one of the funniest comments in the history of #plan9) 16:26 < aiju> uriel: except this is #go-nuts 16:26 < uriel> I have not had issues with fossil for a long time 16:26 < uriel> specifically since I stopped using it 16:26 < uriel> yes, sorry, offtopic crap :) 16:26 < uriel> I'm still amazed at how somebody can be as smart as russ, and still refuse to fix the spam issue 16:28 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has joined #go-nuts 16:31 < mpl> uriel: what is your trivial fix then. 16:31 < mpl> ? 16:31 -!- meling [~meling@99-10-121-218.lightspeed.sndgca.sbcglobal.net] has joined #go-nuts 16:32 -!- robteix [~robteix@192.55.54.36] has joined #go-nuts 16:32 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 16:33 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 16:34 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host closed the connection] 16:34 -!- chadkouse [~Adium@99.70.204.54] has joined #go-nuts 16:35 -!- robteix [~robteix@192.55.54.36] has quit [Client Quit] 16:37 < erus`> rm -rf / 16:37 < erus`> then put the windows 3.11 disk in 16:39 < mpl> ah yes, so silly of them not to appy it then. 16:40 -!- dsal [~Adium@208.185.212.98] has joined #go-nuts 16:41 -!- Bigbear1 [~Cody@d75-158-128-103.abhsia.telus.net] has quit [Quit: Leaving.] 16:43 -!- lucia_lia2000 [anogdr@app9.chatmosphere.org] has joined #go-nuts 16:44 -!- lucia_lia2000 [anogdr@app9.chatmosphere.org] has quit [Client Quit] 16:48 -!- franciscosouza [~francisco@201.7.186.67] has quit [Remote host closed the connection] 16:52 -!- gnuvince [~vince@destiny.0wn.me] has quit [Quit: restarting tmux] 16:53 -!- gnuvince [~vince@destiny.0wn.me] has joined #go-nuts 16:53 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has quit [Quit: wrtp] 16:54 -!- mrmikenev [~mkn24@128.187.212.204] has joined #go-nuts 16:57 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit: pyrhho] 16:59 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts [] 16:59 < brandini> anyone in here used mango? 16:59 < hokapoka> Are circular references, via pointers, going to cause issues? 17:01 < hokapoka> brandini: I had a play with it, quite liked it. But have started to use web.go. 17:02 < hokapoka> TBH I found it quite easy to switch bewteen the core http package, mango and web.go 17:04 < hokapoka> For example, I knocked up a simple version of apache mod_rewrite that would function both as a peice of middleware for mango and easly slots into the core and web.go 17:04 < f2f> hokapoka, issues for the garbage collector? 17:04 < hokapoka> f2f: Aye. 17:04 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined #go-nuts 17:04 < hokapoka> I normally avoid them like the plague 17:05 < brandini> hokapoka: I'm going to need to build a fairly advanced auth framework 17:05 < hokapoka> brandini: "auth framework"? 17:05 < brandini> so far mango seems to lend itself to authenticating requests the most easily 17:05 < brandini> authentication, authorization 17:05 < brandini> on a per request basis 17:06 < hokapoka> Right, thought as much could have been auth(or) 17:07 < f2f> hokapoka, no, it shouldn't cause problems 17:08 -!- dsal1 [~Adium@208.185.212.98] has joined #go-nuts 17:08 < hokapoka> f2f: okay, I'll see if I can do it a better way, if not run with it. Thanks. 17:09 -!- robteix [~robteix@nat/intel/x-aymnugxqtmyzfamh] has joined #go-nuts 17:09 < f2f> to be clear, i was answering your question about circular data structures and the GC 17:09 < hokapoka> Yeah 17:09 < f2f> ok 17:10 -!- dsal [~Adium@208.185.212.98] has quit [Ping timeout: 264 seconds] 17:10 < hokapoka> It's going to be a very core aspect of what I'm doing, so I'm a touch reluctant todo it that way. 17:13 < f2f> why? and what way exactly? 17:14 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined #go-nuts 17:16 < hokapoka> I'm using a very simple struct, that's being stored persistantly, that I use in 2 ways. 1 to render template off, and 2 to create an instance of another struct that do some work and presents the data that I want to render in the template. 17:16 < hokapoka> In fact, I'm wrong. 17:17 < hokapoka> It's another reference that I need, so it won't be circular. 17:18 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC - http://znc.sourceforge.net] 17:18 < aiju> there are no problems with circular references 17:18 < aiju> it's a garbage collector 17:18 < aiju> not a kid's toy 17:18 < hokapoka> heh 17:18 -!- pjacobs [~pjacobs@66.54.185.130] has joined #go-nuts 17:18 < aiju> and wtfi mango? 17:19 < skelterjohn|work> the gc is mark-and-sweep, so cycles are not a problem 17:19 < f2f> mark-and-sweep 17:19 < f2f> :) 17:19 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 17:19 < hokapoka> aiju: it's some web framework 17:19 < aiju> sounds fruity 17:21 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 17:22 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 17:24 -!- Count_Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts 17:26 < brandini> for some goofy reason mango.git doesn't build :) 17:27 < brandini> maybe my go source isn't -release enough for it! 17:27 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Ping timeout: 276 seconds] 17:29 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has quit [Ping timeout: 260 seconds] 17:30 < uriel> adg: can we will container/vector? people keep being confused by it: http://www.reddit.com/r/programming/comments/iwjwa/go_for_app_engine_is_now_generally_available/c28awj5 17:31 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 17:33 < skelterjohn|work> the textproto, http and x509 packages depend on it 17:34 < skelterjohn|work> maybe someone should submit a CL that removes the dependence? 17:34 -!- TheMue [~FMueller@p5DDF76FD.dip.t-dialin.net] has joined #go-nuts 17:35 < TheMue> re 17:35 < TheMue> so, switch from graphical client to good old irssi 17:35 < hokapoka> heh 17:35 < skelterjohn|work> net/textproto and crypto/x509, that is 17:36 < skelterjohn|work> the use in textproto is just for appending to a vector 17:36 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 17:36 < skelterjohn|work> StringVector, even, so that can really be changed 17:36 < skelterjohn|work> oh maybe i can become a contributor finally! 17:37 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 17:38 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 17:44 < skelterjohn|work> err, actually a bunch more depend on it 17:44 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 17:44 < skelterjohn|work> those were just the ones in the dep tree of the thing i was looking at 17:45 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 17:47 -!- hoozleboozle [~Adium@nat/google/x-onzaspedhedwazui] has joined #go-nuts 17:48 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 17:51 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 17:52 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 17:55 -!- qeed [~qeed@adsl-98-85-37-24.mco.bellsouth.net] has joined #go-nuts 17:56 -!- hoozleboozle [~Adium@nat/google/x-onzaspedhedwazui] has quit [Quit: Leaving.] 17:56 -!- junsuijin [~junsuijin@c-76-17-174-68.hsd1.mn.comcast.net] has joined #go-nuts 17:58 -!- hoozleboozle [~Adium@nat/google/x-xmtotbxgrrerdxpk] has joined #go-nuts 17:59 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 18:00 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 18:01 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host closed the connection] 18:01 < uriel> TheMue: that reminds me somebody should write a decent irc client some day, hopefully in Go 18:01 < skelterjohn|work> widgets. 18:03 -!- huin [~huin@91.84.179.118] has joined #go-nuts 18:03 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts 18:03 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 18:04 < f2f> uriel, give me 15 minutes. 18:04 < TheMue> *lol* 18:04 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 18:05 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 18:08 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 18:09 < erus`> good luck making cross platform gui in go 18:10 < skelterjohn|work> i think an embedded chromium would do the job 18:10 < erus`> yuck 18:10 < erus`> 50 meg of ram down the drain 18:11 < kevlar_work> skelterjohn, I wrote an addon to web.go that launches chrome in application mode pointing to an ephemeral server 18:11 < skelterjohn|work> i've done that too 18:11 < kevlar_work> it works okay. 18:11 < skelterjohn|work> but i suck at html/js/css 18:11 < kevlar_work> lol 18:11 < skelterjohn|work> and i also couldn't make it work the same on multiple platforms 18:11 < skelterjohn|work> for instance on mac, it really wants to only run one copy, and you have to treat it mean to force it 18:12 < kevlar_work> I'm great with HTML and CSS, but my js is shaky. I use jquery, though, and I do okay 18:12 < uriel> erus`: I hate gtk, but gtk-go should allow for cross-platform GUIs, or you can just use sdl 18:12 < kevlar_work> oh, well chrome on mac doesn't support application mode (boo hiss) 18:12 < aiju> application mode? 18:12 < skelterjohn|work> yes it does 18:12 < kevlar_work> does it now? 18:12 < skelterjohn|work> i thought it did when i was doing this 18:12 < kevlar_work> aiju, it runs without a location bar an in a separate chrome instance that exits when you close the window 18:12 < skelterjohn|work> i don't have a linux machine (except here at my internship, but not back then) 18:13 < skelterjohn|work> kevlar_work: it's the "separate chrome intance" that is tough 18:13 < skelterjohn|work> i had to give it a special command line about the user profile it wanted to use 18:13 < kevlar_work> skelterjohn, that's part of the application mode thing 18:13 < skelterjohn|work> i still made it do that, though :) 18:13 < skelterjohn|work> it was just annoying and awkward 18:13 < kevlar_work> did the "--app" flag work? 18:14 -!- xcombelle [~xcombelle@AToulouse-551-1-62-177.w92-146.abo.wanadoo.fr] has joined #go-nuts 18:14 < kevlar_work> when I tried it, you couldn't do *any* command-line arguments to chrome, you just had to use "open" with the URL 18:14 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 18:14 < skelterjohn|work> maybe i'm fooling myself 18:14 < skelterjohn|work> i can't remember clearly 18:15 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 18:15 < kevlar_work> Would it be possible to make a native GUI library in Go without any cgo? 18:15 < skelterjohn|work> syscalls? 18:15 < kevlar_work> yeah, I have no idea how graphics stuff works 18:15 < skelterjohn|work> me neither 18:16 < kevlar_work> go can do both syscalls and assembly (non-portably) 18:16 < skelterjohn|work> i don't see the advantage over cgo 18:16 < aiju> what the fuck 18:16 < aiju> are you seriously thinking GUI uses special syscalls? 18:16 < skelterjohn|work> no 18:16 < aiju> there is pure Go GUI library 18:17 < aiju> go-xcb or something 18:19 < skelterjohn|work> we weren't saying GUI uses special syscalls. we were wondering if it was possible to do GUI via syscalls 18:19 < skelterjohn|work> pretty different. 18:19 < hoozleboozle> Wrapping Tk with cgo is probably not too hard, but then you'd need to use Tk. However, it's widely installed, and for simple apps possibly a reasonable choice. 18:23 -!- virtualsue [~chatzilla@nat/cisco/x-xqqdayzxvwqgqime] has quit [Ping timeout: 240 seconds] 18:23 < fabian__> can someone confirm that I have to make my own http-proxy for rpc if I don't use the standard gob codec? 18:25 < skelterjohn|work> i haven't used it myself, but that makes sense to me 18:25 < skelterjohn|work> for what it's worth 18:26 -!- pjacobs [~pjacobs@66.54.185.130] has quit [Ping timeout: 246 seconds] 18:26 < fabian__> okay, just wanted to make sure that i haven't missed something obvious 18:29 < skelterjohn|work> you may have :) 18:29 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 18:30 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 18:33 < hoozleboozle> Does go-gtk works on OS X? 18:35 < skelterjohn|work> i tried once 18:35 < skelterjohn|work> failed miserably 18:36 < skelterjohn|work> maybe with lion it will work 18:37 < skelterjohn|work> but i'm pretty sure it was the weird 32bit/64bit hybrid that os x has going on 18:37 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 18:37 < uriel> AFAIK it works on windows, so I naively assumed it would work on os x, but have not heard of anyone trying 18:46 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has joined #go-nuts 18:50 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts 18:54 -!- dahankzter [~henke@92-244-3-192.customers.ownit.se] has quit [Quit: Leaving.] 18:56 -!- hoozleboozle [~Adium@nat/google/x-xmtotbxgrrerdxpk] has quit [Quit: Leaving.] 19:07 -!- hoozleboozle [~Adium@nat/google/x-bfhxenmuartpgekq] has joined #go-nuts 19:22 -!- TheMue [~FMueller@p5DDF76FD.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 19:23 -!- TheMue [~FMueller@p5DDF76FD.dip.t-dialin.net] has joined #go-nuts 19:24 -!- dfr|mac [~dfr|work@nat/google/x-euudmueicjyngzyy] has joined #go-nuts 19:25 -!- dfr|mac [~dfr|work@nat/google/x-euudmueicjyngzyy] has quit [Remote host closed the connection] 19:26 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Quit: Computer has gone to sleep.] 19:26 -!- dfr|mac [~dfr|work@nat/google/x-ktqjfjguwqqivxrq] has joined #go-nuts 19:32 -!- visof [~visof@41.237.252.76] has joined #go-nuts 19:34 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 19:35 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 19:36 -!- fsntation [~fsntation@212.174.109.55] has quit [K-Lined] 19:36 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit [Quit: Leaving...] 19:38 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has joined #go-nuts 19:38 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 19:38 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 19:40 -!- fabian__ [~fabian@koln-4d0d1bde.pool.mediaWays.net] has quit [Ping timeout: 258 seconds] 19:41 -!- whizter [~whizter@gateway/tor-sasl/whizter] has joined #go-nuts 19:42 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping timeout: 276 seconds] 19:43 < schmichael> heard great things about rob pikes golang talk at oscon; anyone know if videos are being posted? 19:43 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection] 19:43 -!- d2biG [p@bofh.edu.pl] has joined #go-nuts 19:43 < f2f> what did you hear? 19:44 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts 19:44 < schmichael> f2f: it won over a jvm expert coworker ;) 19:44 < hoozleboozle> I'm new to sync.Cond; anyone willing to explain to me why this (http://goo.gl/gA3dA) deadlocks? 19:44 -!- dRbiG [p@bofh.edu.pl] has quit [Ping timeout: 264 seconds] 19:44 < f2f> link of the presentation: http://assets.en.oreilly.com/1/event/61/The%20Expressiveness%20of%20Go%20Presentation.pdf 19:44 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 19:45 < f2f> couldn't find video 19:45 < schmichael> thanks! 19:46 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 19:46 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 19:47 < kevlar_work> hoozleboozle, after you L.Lock() you need to defer L.Unlock() 19:48 -!- visof [~visof@41.237.252.76] has quit [Changing host] 19:48 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 19:48 < kevlar_work> Wait will unlock L, then try to reacquire the lock when it's been signaled; only one will succeed, because the other never releases the lock again. 19:48 < kevlar_work> oh, wait, I'm blind. you do unlock it. 19:49 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 19:50 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has quit [Quit: wrtp] 19:52 < hoozleboozle> I _think_ I'm following the documentation; how I'm doing it seems to match how the test (and some random code I found in mgo) use it. 19:52 < kevlar_work> hoozleboozle, try locking around the Broadcast 19:53 < kevlar_work> http://tip.goneat.org/src/pkg/sync/cond_test.go 19:53 < skelterjohn|work> doesn't fix it 19:54 < skelterjohn|work> and from the doc, "It is allowed but not required for the caller to hold c.L during the call." 19:54 < hoozleboozle> "It is allowed but not required for the caller to hold c.L 19:54 < hoozleboozle> during the call. 19:54 < hoozleboozle> " 19:54 < skelterjohn|work> (referring to broadcast) 19:54 < hoozleboozle> Right, also tried that. 19:54 < kevlar_work> I'm aware of what the doc says, I'm just commenting on how it is used in the tests 19:54 < skelterjohn|work> so, if you do this with just one extra goroutine, it still deadlocks 19:54 < hoozleboozle> Yep. 19:55 < skelterjohn|work> w/ wg.Add(1) 19:55 < skelterjohn|work> if i comment out the wait it works 19:55 < kevlar_work> oh 19:55 < kevlar_work> I know the problem 19:55 < skelterjohn|work> which makes sense for 1 goroutine 19:55 < kevlar_work> add a runtime.Gosched() after the goroutines 19:55 < skelterjohn|work> since the only other goroutine is waiting on something else 19:55 < skelterjohn|work> aha 19:55 < skelterjohn|work> that's it 19:55 < skelterjohn|work> the broadcast comes before the initial locking 19:56 < kevlar_work> yep 19:56 < skelterjohn|work> so the message is not received 19:56 < hoozleboozle> That does fix it. 19:56 < kevlar_work> moral of this story: use channels. 19:56 < skelterjohn|work> agreed 19:56 < kevlar_work> they are FAR easier to reason about. 19:57 -!- dfr|mac [~dfr|work@nat/google/x-ktqjfjguwqqivxrq] has quit [Remote host closed the connection] 19:57 < kevlar_work> the only way to make your program correct (the gosched isn't guaranteed to work) is to have a "running" channel that they send on when they start up, and polling that to wait until it's had a chance to start up before you broadcast. 19:58 < skelterjohn|work> or a different waitgroup 19:58 < hoozleboozle> That's awkward. I think WaitGroup is the right thing. 19:58 < kevlar_work> or another waitgroup, true 19:58 < skelterjohn|work> you need to wait for the other waitgroup before broadcasting 19:58 < kevlar_work> if you're going the completely channel-less solution 19:58 < skelterjohn|work> for things where waitgroups make sense, channels are a bit clunky 19:59 < kevlar_work> I don't really think func() { started <- true; ... } <-started; is particularly clunky 19:59 -!- mrmikenev [~mkn24@128.187.212.204] has left #go-nuts [] 19:59 < skelterjohn|work> you also have to have a loop reading X values from started 19:59 < kevlar_work> nah, I'd do it after each goroutine 19:59 < skelterjohn|work> it's a bit more concise to just make a waitgroup 19:59 < hoozleboozle> http://goo.gl/nUHEd 20:00 < hoozleboozle> The waitgroup version looks nicer too. T 20:00 < kevlar_work> er, that's interesting 20:01 < kevlar_work> but, uh, you don't get anything from that first waitgroup 20:02 < kevlar_work> sync.Cond is for signaling changes to something guarded by a lock 20:02 < hoozleboozle> Right. 20:02 < hoozleboozle> It wasn't the right abstraction (the snippet I posted is from a larger program which also had no mutex to worry about) 20:02 < kevlar_work> ah, I assumed it was a boiled down program that actually did need the locks 20:03 < kevlar_work> I've actually never used sync.Cond in Go. 20:03 < kevlar_work> Before I get to that point, I usually refactor to have a goroutine managing whatever data. 20:04 < kevlar_work> I use waitgroups though, because (as sj said) they are often concise, and have the advantage of not needing to know how many goroutines they're waiting on as long as you follow a few simple rules. 20:09 -!- GoTest [~gotest@cpc3-walt12-2-0-cust82.13-2.cable.virginmedia.com] has joined #go-nuts 20:09 -!- GoTest [~gotest@cpc3-walt12-2-0-cust82.13-2.cable.virginmedia.com] has quit [Client Quit] 20:13 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 20:15 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 20:16 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 20:17 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 20:18 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has joined #go-nuts 20:19 -!- nekoh [~nekoh@dslb-088-069-143-083.pools.arcor-ip.net] has quit [Ping timeout: 260 seconds] 20:23 -!- Natch| [~natch@178.73.218.121] has quit [Ping timeout: 276 seconds] 20:28 -!- alehorst [~alehorst@189.58.25.132.dynamic.adsl.gvt.net.br] has quit [Quit: Leaving.] 20:33 -!- rlab [~Miranda@148-20-95-178.pool.ukrtel.net] has joined #go-nuts 20:36 -!- nutate [~rseymour@cacsag4.usc.edu] has joined #go-nuts 20:39 -!- robteix [~robteix@nat/intel/x-aymnugxqtmyzfamh] has quit [Quit: Leaving] 20:39 -!- visof [~visof@unaffiliated/visof] has quit [Quit: Leaving] 20:40 -!- visof [~visof@41.237.252.76] has joined #go-nuts 20:44 -!- photron [~photron@port-92-201-77-211.dynamic.qsc.de] has quit [Ping timeout: 264 seconds] 20:45 -!- telexicon [~telexicon@unaffiliated/chowmeined] has joined #go-nuts 20:46 -!- fabian__ [~fabian@koln-4db44930.pool.mediaWays.net] has joined #go-nuts 20:47 -!- visof [~visof@41.237.252.76] has quit [Quit: Leaving] 20:48 -!- visof [~visof@41.237.252.76] has joined #go-nuts 20:48 -!- visof [~visof@41.237.252.76] has quit [Changing host] 20:48 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 20:49 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 20:51 -!- virtualsue [~chatzilla@nat/cisco/x-krszsxwpgqgjrrvh] has joined #go-nuts 21:02 < al-maisan> Good evening, can somebody please point to an example of func NewReader in package bufio? I don't understand where to get the io.Reader parameter from.. 21:03 < f2f> could be an open file 21:03 < f2f> or os.Stdin 21:03 < kevlar_work> al-maisan, any object which has a Read() function, basically 21:03 < exch> anything that implements the io.Reader interface will do 21:04 < al-maisan> ah, I see. Thanks! 21:08 -!- junsuijin [~junsuijin@c-76-17-174-68.hsd1.mn.comcast.net] has left #go-nuts [] 21:09 < al-maisan> hmm .. I don't see any kind of Open() function in the io package that would return a Reader instance .. am I looking in the wrong place? 21:09 < al-maisan> All I want is: open a file and read it line by line 21:09 < skelterjohn|work> os.Open 21:09 < exch> os.Open() returns a file 21:09 < aiju> al-maisan: use bufio 21:09 * al-maisan looks 21:10 < exch> which qualifies as an io.Reader because it has a Read() method with the right signature 21:10 < al-maisan> ah, ok, will try that .. thank you for all the answers :) 21:12 < ww> it's a nice elegant approach... because you can do things like layer file/gzip/tar readers for example and operate on stuff in compressed archives in place without having to do anything special to the high level code 21:12 -!- nutate [~rseymour@cacsag4.usc.edu] has quit [Ping timeout: 276 seconds] 21:13 < al-maisan> hmm .. I can see how these layers help build abstractions 21:13 < exch> very easily and with minimal code change 21:13 < exch> you just chain the readers together 21:14 -!- fabian__ [~fabian@koln-4db44930.pool.mediaWays.net] has quit [Quit: Verlassend] 21:16 -!- vmil86 [~vmil86@78.57.227.12] has quit [Remote host closed the connection] 21:16 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping timeout: 264 seconds] 21:17 -!- nekoh [~nekoh@dslb-178-004-018-038.pools.arcor-ip.net] has joined #go-nuts 21:21 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 21:21 -!- mattn_jp [~mattn@112-68-54-75f1.hyg1.eonet.ne.jp] has quit [Quit: Ex-Chat] 21:23 -!- meling [~meling@99-10-121-218.lightspeed.sndgca.sbcglobal.net] has quit [Remote host closed the connection] 21:24 -!- meling [~meling@99-10-121-218.lightspeed.sndgca.sbcglobal.net] has joined #go-nuts 21:24 -!- Gauge [~gauge@mcswl183.mcs.anl.gov] has joined #go-nuts 21:25 < Gauge> http://www.pastie.org/2281493 <-- in this code is there some way to specify to use the global someVar as opposed to creating a new local version? 21:25 < skelterjohn|work> no 21:25 < skelterjohn|work> not w/ := 21:25 < Gauge> boo 21:25 < skelterjohn|work> var error os.Error 21:26 < Gauge> yes I know but I didn't want to do that >< 21:26 < skelterjohn|work> i understand 21:26 < Gauge> oh well, painting a shed right 21:26 < skelterjohn|work> pretty much 21:26 < exch> blue is a good colour 21:27 < skelterjohn|work> http://code.google.com/p/go/issues/detail?id=377 21:27 < exch> Yay. My friend agreed to do the pluche gopher for me <3 21:27 -!- whizter [~whizter@gateway/tor-sasl/whizter] has left #go-nuts [] 21:28 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-166-199.clienti.tiscali.it] has joined #go-nuts 21:29 < Gauge> i see 21:29 < Gauge> least they are looking into it 21:29 < skelterjohn|work> scroll to the end 21:29 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds] 21:31 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-155-152.clienti.tiscali.it] has quit [Ping timeout: 240 seconds] 21:41 -!- rlab [~Miranda@148-20-95-178.pool.ukrtel.net] has quit [Ping timeout: 260 seconds] 21:44 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 21:45 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 21:46 -!- chadkouse [~Adium@99.70.204.54] has quit [Quit: Leaving.] 21:46 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 21:47 -!- huin [~huin@91.84.179.118] has quit [Quit: bedtime] 21:47 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 21:48 -!- tgall_foo_ [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 21:50 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 21:50 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has quit [Read error: Connection reset by peer] 21:50 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has joined #go-nuts 21:50 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Ping timeout: 260 seconds] 21:50 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 21:50 -!- tgall_foo [~tgall@206.9.88.154] has quit [Ping timeout: 255 seconds] 21:51 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping timeout: 252 seconds] 21:51 -!- Gauge [~gauge@mcswl183.mcs.anl.gov] has quit [Ping timeout: 240 seconds] 21:51 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 21:52 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 21:53 -!- gogo-bot [~botty@136.159.18.84] has joined #go-nuts 21:53 < f2f> !godoc sync 21:53 < gogo-bot> // Package sync provides basic synchronization primitives such as mutual 21:53 < gogo-bot> // exclusion locks. Other than the Once and WaitGroup types, most are intended 21:53 < gogo-bot> // for use by low-level library routines. Higher-level synchronization is 21:53 < gogo-bot> // better done via channels and communication. 21:53 < f2f> eggselent 21:53 < f2f> !godoc math 21:53 < gogo-bot> // Package math provides basic constants and mathematical functions. 21:53 < f2f> !godoc math Sin 21:53 < gogo-bot> // Sin returns the sine of x. 21:53 < gogo-bot> func Sin(x float64) float64 { return sinus(x, 0) } 21:53 < gogo-bot> func Sin(x float64) float64 21:53 < f2f> :) 21:53 -!- TheMue [~FMueller@p5DDF76FD.dip.t-dialin.net] has quit [Quit: Lost terminal] 21:53 -!- gogo-bot [~botty@136.159.18.84] has quit [Remote host closed the connection] 21:54 < exch> hurray for spam 21:55 < skelterjohn|work> maybe you should hard-code a line limit of 6 or something 21:55 < skelterjohn|work> but cool - very useful 21:55 < skelterjohn|work> could have said !godoc os Open 21:55 < skelterjohn|work> earlier 21:55 < skelterjohn|work> oh, it quit 21:56 < nicka> Is there a way to just print the package header comment with godoc? 21:58 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts 21:58 < exch> 'godoc os | head' could work 22:00 < f2f> the formatting isn't very good. it uses src only and only prints // comments and func definitions for packages. godoc godoc will foil it. 22:00 -!- gogo-bot [~botty@136.159.18.84] has joined #go-nuts 22:00 < f2f> !godoc os Open 22:00 < gogo-bot> // Open opens the named file for reading. If successful, methods on 22:00 < gogo-bot> // the returned file can be used for reading; the associated file 22:00 < gogo-bot> // descriptor has mode O_RDONLY. 22:00 < gogo-bot> // It returns the File and an Error, if any. 22:00 < gogo-bot> func Open(name string) (file *File, err Error) { 22:00 < f2f> and doesn't have a limit, so it's prone to flooding. thankfully go comments are terse 22:01 < synx`> It could just PM the requester the entire length of the output 22:01 < f2f> that would flood too 22:01 < exch> But keep the channel clean 22:01 < synx`> Oh, you're worried about flooding out, gotcha. 22:01 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 22:01 < synx`> Yea I was just worried about spamming the channel. 22:02 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 22:02 < f2f> exch, i guess you're not familiar with helper bots? they're quite common on other language channels. eventually there'll be too many people asking "how do I get an io.Reader?" that you'll need a quick pointer to the documentation. 22:03 < f2f> i'm not saying gogo is it, it's just a proof of concept :) 22:03 < exch> I am, I wrote a few myself 22:03 -!- gogo-bot [~botty@136.159.18.84] has quit [Remote host closed the connection] 22:03 < exch> And I agree that a simple accesspoint to docs can be helpful. Specially for question that are asked a hundred times a day 22:04 < elimisteve> f2f: https://github.com/sbhackerspace/sbhx-ircbot/blob/master/gobot-base.go 22:04 < synx`> I, personally, love answering the same question hundreds of times per day. 22:04 < elimisteve> not sure how far along you are, but that bot stays connected to IRC and joins a channel of your choice 22:04 < elimisteve> no features really 22:05 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 22:06 < kevlar_work> f2f, I have a helper bot :) 22:06 < kevlar_work> !golang channel 22:06 < GoBIR_> kevlar_work: Spec Section Channel types - http://golang.org/doc/go_spec.html#Channel_types 22:06 < GoBIR_> kevlar_work: Spec Section Making slices maps and channels - http://golang.org/doc/go_spec.html#Making_slices_maps_and_channels 22:06 < f2f> elimisteve: slightly further along. mine is plugged into godoc directly. 22:06 < f2f> haha :) nice :) 22:06 < kevlar_work> I don't even remember the last time I touched it... it's been running constantly for over 6 months 22:06 < kevlar_work> it probably doesn't even compile anymore, lol 22:07 < skelterjohn|work> haha 22:07 < kevlar_work> and somewhere along the way !gopkg stopped working. I'm waiting on godoc becoming a package, then I'll update it 22:07 < f2f> anybody else have a bot? :) 22:07 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 240 seconds] 22:07 < elimisteve> written in Go? 22:07 < kevlar_work> I've seen some other go irc bots floating around 22:08 < elimisteve> https://github.com/sbhackerspace/sbhx-ircbot/blob/master/sbhx-ircbot.py 22:08 < kevlar_work> there are also a bunch of irc bot frameworks 22:08 < elimisteve> we made that one for the hackerspace. Kinda ghetto, some useful features though 22:08 < f2f> kevlar_work: godoc outputs a lot of extra information. i found it hard to filter, so i switched to the src output 22:09 < elimisteve> under IRC and IM: http://go-lang.cat-v.org/pure-go-libs 22:09 < kevlar_work> f2f, mine actually parses golang.org lol 22:09 < elimisteve> look there for what kevlar_work is talking about (IRC frameworks) 22:09 < kevlar_work> but godoc is making its way into a stdlib package sometime soon. 22:10 < kevlar_work> so I think you could do godoc.Package(pkgname) 22:10 < kevlar_work> or something like htat 22:10 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has left #go-nuts ["something like htat"] 22:10 < f2f> that'll make it easier. 22:11 -!- virtualsue [~chatzilla@nat/cisco/x-krszsxwpgqgjrrvh] has quit [Ping timeout: 260 seconds] 22:12 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 250 seconds] 22:12 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 258 seconds] 22:13 -!- Kai` [u327@gateway/web/irccloud.com/x-plctknbbnefosjji] has quit [Remote host closed the connection] 22:13 -!- qrush [u1528@gateway/web/irccloud.com/x-covuekabljevhlym] has quit [Remote host closed the connection] 22:13 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-vlngfsbvfmkiwanf] has quit [Remote host closed the connection] 22:13 -!- heatxsink [u956@gateway/web/irccloud.com/x-pqhtodecfemgmmpt] has quit [Remote host closed the connection] 22:13 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-166-199.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 22:14 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 22:16 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 22:17 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 22:17 -!- virtualsue [~chatzilla@cpc3-haye15-0-0-cust488.haye.cable.virginmedia.com] has joined #go-nuts 22:17 -!- virtualsue [~chatzilla@cpc3-haye15-0-0-cust488.haye.cable.virginmedia.com] has quit [Client Quit] 22:20 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote host closed the connection] 22:21 < hoozleboozle> Like many folks, I have a Go IRC bot sitting around.. 22:22 -!- hoozleboozle [~Adium@nat/google/x-bfhxenmuartpgekq] has quit [Quit: Leaving.] 22:25 -!- Kai` [u327@gateway/web/irccloud.com/x-vccqvcjzldnuxwmu] has joined #go-nuts 22:25 -!- Kai` [u327@gateway/web/irccloud.com/x-vccqvcjzldnuxwmu] has quit [Remote host closed the connection] 22:25 -!- Kai` [u327@gateway/web/irccloud.com/x-ldtzbumjdswqhbmy] has joined #go-nuts 22:26 -!- ThreeSix [~ThreeSix@87.68.242.120.adsl.012.net.il] has joined #go-nuts 22:27 -!- Kai` [u327@gateway/web/irccloud.com/x-ldtzbumjdswqhbmy] has quit [Remote host closed the connection] 22:29 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 22:29 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 22:29 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts 22:30 < kevlar_work> I kinda want to write another one 22:30 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 22:30 < kevlar_work> I have learned a LOT about go since I wrote that one 22:34 -!- wrtp [~rog@host-92-30-166-101.as13285.net] has quit [Quit: wrtp] 22:34 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit [Quit: Leaving...] 22:37 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 22:37 -!- Kai` [u327@gateway/web/irccloud.com/x-zjaphkebocdxvekl] has joined #go-nuts 22:41 -!- heatxsink [u956@gateway/web/irccloud.com/x-zddxxyuudqiwwnyl] has joined #go-nuts 22:42 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-ehqjxuyhbtinmbxj] has joined #go-nuts 22:42 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit [Quit: Lost terminal] 22:43 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Read error: Connection reset by peer] 22:43 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-ehqjxuyhbtinmbxj] has quit [Remote host closed the connection] 22:43 -!- heatxsink [u956@gateway/web/irccloud.com/x-zddxxyuudqiwwnyl] has quit [Remote host closed the connection] 22:43 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-ieydhstacyghpwtx] has joined #go-nuts 22:44 -!- heatxsink [u956@gateway/web/irccloud.com/x-tpjrkhomoepgnwvr] has joined #go-nuts 22:44 -!- ancientlore [~ancientlo@63.76.22.10] has joined #go-nuts 22:44 -!- ancientlore [~ancientlo@63.76.22.10] has quit [Client Quit] 22:47 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping timeout: 260 seconds] 22:50 -!- Kai` [u327@gateway/web/irccloud.com/x-zjaphkebocdxvekl] has quit [Remote host closed the connection] 22:50 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-ieydhstacyghpwtx] has quit [Remote host closed the connection] 22:51 -!- heatxsink [u956@gateway/web/irccloud.com/x-tpjrkhomoepgnwvr] has quit [Remote host closed the connection] 22:57 -!- telexicon_ [~telexicon@c-67-160-124-195.hsd1.wa.comcast.net] has joined #go-nuts 22:59 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Ping timeout: 252 seconds] 23:06 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 252 seconds] 23:07 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Remote host closed the connection] 23:10 -!- telexicon [~telexicon@c-67-160-124-195.hsd1.wa.comcast.net] has quit [Changing host] 23:10 -!- telexicon [~telexicon@unaffiliated/chowmeined] has joined #go-nuts 23:11 < fluffle> hi -- why woild I get errors like this http://pastie.org/2281905 from trying to build? 23:11 < fluffle> the types all look correct 23:11 < fluffle> even in the error messages 23:12 < fluffle> i suspect i'm Doing Something Wrong but no idea what 23:13 < KirkMcDonald> This is an amusing error. 23:13 < KirkMcDonald> Can you show us the code? 23:14 < fluffle> sure, gimme a sec 23:15 < fluffle> (to push to a branch on github) 23:15 < telexicon> im trying to move my tcp server over to support TLS as well, but net.Conn and net.TCPConn are incompatible, is there some supertype i can use to accept either of these? or a way for the tcp server to return net.Conn, i would've thought TLS and TCP would be compatible since they are both stream-oriented 23:15 < fluffle> telexicon: tls.Dial() returns something that can be used as a net.Conn 23:16 < fluffle> server-wise, there's probably a tls.Listen() too, but i've not looked 23:16 < telexicon> isnt that for clients? i need to accept connections as a server, and im getting the net.Conn from tls which is fine 23:16 < telexicon> the problem is, my existing server is built around net.TCPConn for plain tcp 23:16 < telexicon> is there a way to use TCP with a net.Conn interface? 23:16 < KirkMcDonald> telexicon: How are they incompatible? 23:17 < telexicon> when i compile i get lots of type errors :) 23:17 < KirkMcDonald> It is *net.TCPConn that implements net.Conn 23:18 < telexicon> oh i see whats wrong, thanks 23:20 < telexicon> oh, so bufio.NewReader's interface changed to take a non-pointer? wasnt expecting that 23:23 < fluffle> KirkMcDonald: https://github.com/fluffle/sp0rkle/blob/event-rewrite/sp0rkle/bot.go is the file in question, you'll probably want to poke at various things in https://github.com/fluffle/goirc/tree/event-rewrite too 23:25 -!- dsal [~Adium@208.185.212.98] has quit [Quit: Leaving.] 23:26 -!- hargettp [~hargettp@pool-71-174-140-208.bstnma.east.verizon.net] has joined #go-nuts 23:26 < KirkMcDonald> telexicon: io.Reader is an interface. 23:27 < telexicon> yeah, net.TCPConn was a concrete implementation, so switching to net.Conn which is an interface i got confused because i was using pointers before 23:28 -!- Kai` [u327@gateway/web/irccloud.com/x-delanueuonhrmnki] has joined #go-nuts 23:28 < fluffle> KirkMcDonald: ah i think i have confused matters by copying things around locally 23:29 -!- Kai` [u327@gateway/web/irccloud.com/x-delanueuonhrmnki] has quit [Remote host closed the connection] 23:30 -!- Kai` [u327@gateway/web/irccloud.com/x-sovpranovxrnnonk] has joined #go-nuts 23:32 < KirkMcDonald> client/handlers.go does not appear to import the same "event" package as bot.go. 23:32 < fluffle> yes 23:33 < fluffle> gb was making things nice and easy for me 23:33 < fluffle> unfortunately i tripped up 23:33 < fluffle> forgot that goirc/event and goirc/client would be different elsewhere 23:36 -!- heatxsink [u956@gateway/web/irccloud.com/x-zkacrfcrevdoqffb] has joined #go-nuts 23:37 -!- Crnobog|Work [u1041@gateway/web/irccloud.com/x-hunxgmtkiilqlamo] has joined #go-nuts 23:38 < telexicon> ok i got it working, unfortunately it looks like go doesnt have built-in support for SSL 3 or TLS 1.0, is there an openssl wrapper available somewhere? 23:39 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 23:40 < fluffle> telexicon: you could cheat and use stunnel :) 23:40 < telexicon> fluffle, hey, that'll work good enough, i forgot about stunnel 23:40 < telexicon> thanks 23:41 -!- ThreeSix [~ThreeSix@87.68.242.120.adsl.012.net.il] has quit [Ping timeout: 240 seconds] 23:41 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 240 seconds] 23:42 -!- ThreeSix [~ThreeSix@87.68.242.120.adsl.012.net.il] has joined #go-nuts 23:42 -!- qrush [u1528@gateway/web/irccloud.com/x-nqsazotjlavwdjwc] has joined #go-nuts 23:43 < fluffle> np 23:46 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 23:50 -!- hargettp [~hargettp@pool-71-174-140-208.bstnma.east.verizon.net] has quit [Ping timeout: 255 seconds] 23:51 -!- hargettp [~hargettp@pool-71-174-140-208.bstnma.east.verizon.net] has joined #go-nuts 23:57 -!- Kai` [u327@gateway/web/irccloud.com/x-sovpranovxrnnonk] has quit [Remote host closed the connection] 23:57 -!- heatxsink [u956@gateway/web/irccloud.com/x-zkacrfcrevdoqffb] has quit [Remote host closed the connection] 23:57 -!- qrush [u1528@gateway/web/irccloud.com/x-nqsazotjlavwdjwc] has quit [Remote host closed the connection] 23:59 -!- dfr|mac [~dfr|work@nat/google/x-ghbxbevbourzxlpa] has joined #go-nuts 23:59 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error: Connection reset by peer] --- Log closed Thu Jul 28 00:00:01 2011