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

--- 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