--- Log opened Tue Mar 15 00:00:55 2011 00:05 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Ping timeout: 252 seconds] 00:06 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 00:08 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 00:10 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has joined #go-nuts 00:15 < steven> reflect has got to be my favorite package so far 00:16 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Remote host closed the connection] 00:16 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has joined #go-nuts 00:19 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has quit [Quit: EOF reached] 00:21 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has joined #go-nuts 00:22 -!- shvntr [~shvntr@123.89.205.185] has joined #go-nuts 00:22 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 00:23 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts 00:30 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has joined #go-nuts 00:30 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Remote host closed the connection] 00:31 -!- nettok [~quassel@200.119.152.137] has joined #go-nuts 00:33 -!- boscop [~boscop@f055157219.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 00:51 -!- shvntr [~shvntr@123.89.205.185] has quit [Ping timeout: 260 seconds] 00:53 -!- shvntr [~shvntr@116.26.131.6] has joined #go-nuts 01:01 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 01:11 -!- tvw [~tv@e176006137.adsl.alicedsl.de] has quit [Remote host closed the connection] 01:16 < steven> awwww 01:16 < steven> we cant pass *[]int where *[]inteface{} is expected? 01:16 < steven> daaaaang 01:18 < KirkMcDonald> steven: Could that function then assign a string to an element of that slice? 01:19 < steven> oh touche. 01:19 < steven> hey KirkMcDonald i saw you in the python channel a while back.. how do you like Go compared to python? 01:19 < KirkMcDonald> Go has some compelling features. 01:20 < steven> did you ever try ruby btw? 01:20 < KirkMcDonald> Not really. 01:20 < steven> ah 01:21 < steven> KirkMcDonald: btw what do you think of this? https://github.com/sdegutis/gorm 01:22 < KirkMcDonald> I am not over-fond of ORMs, as a rule. 01:23 < steven> this one is lightweight :) 01:23 < steven> more of a sqlite-struct automapper 01:23 < steven> sqlite-to-struct 01:27 < KirkMcDonald> Go does have the advantage of not having inheritance. 01:27 < steven> but you can fake it :) 01:28 < KirkMcDonald> steven: Are you familiar with this? http://blogs.tedneward.com/2006/06/26/The+Vietnam+Of+Computer+Science.aspx 01:28 < steven> no 01:29 < KirkMcDonald> It enumerates the most important criticisms of ORMs 01:29 < KirkMcDonald> . 01:30 < KirkMcDonald> Also: http://www.codinghorror.com/blog/2006/06/object-relational-mapping-is-the-vietnam-of-computer-science.html 01:30 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 252 seconds] 01:30 < KirkMcDonald> (For summary/commentary.) 01:47 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds] 01:47 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 01:47 -!- mode/#go-nuts [+v iant] by ChanServ 01:50 -!- border [~border@114.246.93.45] has joined #go-nuts 02:06 < niemeyer> Is Evan Shaw around? 02:08 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined #go-nuts 02:18 -!- schmrkc [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 240 seconds] 02:19 -!- schmrkc [~marcus@c83-254-196-92.bredband.comhem.se] has joined #go-nuts 02:19 -!- schmrkc [~marcus@c83-254-196-92.bredband.comhem.se] has quit [Changing host] 02:19 -!- schmrkc [~marcus@sxemacs/devel/schme] has joined #go-nuts 02:20 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 02:20 -!- tav [~tav@92.7.141.101] has quit [Read error: Connection reset by peer] 02:21 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined #go-nuts 02:24 -!- schmrkc [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 250 seconds] 02:37 -!- tav [~tav@92.7.141.101] has joined #go-nuts 02:44 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 02:53 < steven> whats the difference between &MyStruct{} and new(MyStruct) ? 02:54 < steven> is there absolutely no difference? or is there a slight difference under the hood? or what? 02:54 -!- aho [~nya@fuld-4d00d681.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 02:56 <@adg> steven: no difference 03:07 -!- DrHennessy [~alex@c-24-10-221-165.hsd1.ut.comcast.net] has joined #go-nuts 03:07 -!- DrHennessy [~alex@c-24-10-221-165.hsd1.ut.comcast.net] has quit [Client Quit] 03:09 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 03:27 < steven> k 03:27 < steven> how would you guys run a webserver written in go as a daemon? 03:28 < exch> Not particularly Go related, but some might find this interesting none the less http://stackoverflow.com/questions/4568645/printing-1-to-1000-without-loop-or-conditionals/4583502#4583502 03:28 < exch> steven: Go doesn't do the daemon thing unfortunately. Just run the binary and fork it to the background: ./myapp & 03:28 < steven> exch: lemme guess, recursion? 03:29 < steven> exch: what daemon thing? 03:29 < exch> The way daemons generally operate under <insert OS of choice> 03:29 < steven> how do they normally work in unix? 03:29 < steven> i thought ./myapp & was the normal way 03:29 < exch> I have no idea 03:30 < exch> never had a need to know, as 'app &' works just fine for me 03:31 < steven> would you ever need a "cluster" of go webapps? 03:31 < steven> kind of like how sometimes other webapps run in clusters, so that if one dies, the other ones can still serve, and also to carry the burden of heavy traffic loads? 03:31 <@adg> of course 03:32 <@adg> if you want reliability, you can't have a single point of failure 03:32 <@adg> http://nf.id.au/deploying-go-web-services-behind-nginx-under 03:32 <@adg> http://nf.id.au/my-golang-talk-fosdem-2011-practical-go-progr 03:33 <@adg> the former describes running a go web server behind nginx 03:33 < steven> nice. 03:33 <@adg> the latter is a presentation which discusses a design for a slave/master configuration with multiple front-ends 03:35 < exch> first link, second paragraph: "the repsonsible netizen" 03:35 < steven> ive been wanting to write a rails-like framework in Go, because Go seems faster and lighter weight than ruby in a lot of ways while still maintaining a lot of the dynamic feel, 03:36 < steven> but the problem is that rails works so well because of its highly dynamic nature.. ie creating classes at runtime, allowing the execution of missing methods, etc 03:36 <@adg> exch: good catch. funny, you're the first of some 37,000 people who loaded that page to tell me about it :) 03:36 < steven> granted, thats the kind of stuff that i HATE about rails, and the reason i want to rewrite it in a staticly typed language like Go, 03:36 < exch> hehe 03:36 < exch> adg: those kind of things somehow jump out at me. Not sure why really 03:37 <@adg> exch: some people have that talent 03:37 < exch> Yet I still manage to make abysmal amounts of spelling errors myself 03:37 <@adg> (fixed) 03:37 < steven> so i want to write a rails-like framework in Go, but things like migrations and dynamic configuration and whatnot, im just not sure how to execute. 03:37 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 03:38 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 03:38 <@adg> steven: for how long have you been using Go? 03:38 < steven> few days now. 03:38 <@adg> okay, well a couple of things: 03:39 <@adg> it's going to be hard for you to write an idiomatic web framework for Go if you're not well-versed in writing Go code 03:39 < steven> for example, i like the approach of looking for view files based on class names and method names because it saves on typing, and its a convention thats easy to pick up.. but on the other hand, it seems too "magic" and raises the learning curve 03:39 < steven> i think im pretty well-versed so far. 03:39 <@adg> and, rails originated as a result of Basecamp. They built Basecamp and then pulled the framework parts out,a nd that became Rails 03:40 < steven> did you check this out? https://github.com/sdegutis/gorm 03:40 <@adg> i think the best approach to tackling this problem is to try writing a real Go web application of a significant size, and see what patterns emerge 03:40 < steven> Go isnt hard to pick up.. having known C and C++ and ObjC and Python and Ruby beforehand, and having read most of the docs, i think i get how to use it. 03:40 < steven> ahh, i dig your idea. 03:40 <@adg> rather than trying to do things like Rails. Ruby is a very different language to Go, as you point out 03:40 < steven> a lot. 03:41 < steven> which reminds me, thats actually why i started asking questions about how you might run a daemon in Go, 03:41 <@adg> i think if you take this approach you'll not waste time on things that turn out to be unimportant 03:41 < steven> because im considering just writing a webapp and running it, and figuring out al the pieces from there. 03:41 < steven> right. 03:41 < steven> <3 03:42 <@adg> well check the first blog post i wrote, that describes setting up go as a system service on debiant 03:42 <@adg> debian 03:42 < steven> like, i started to need a layer to fetch/save data from a DB, so i wrote GoRM. 03:42 < steven> right 03:43 <@adg> GoRM looks cool 03:43 < steven> thanks 03:43 < steven> then i started to think, ill need templating, so i looked into `template` and it seems sufficient. 03:43 <@adg> i'd actually use that 03:44 < steven> problem with GoRM is, when you write a migration, you have to duplicate that effort by (1) writing the migration itself in some configration file to be run locally and on the production machine, and (2) you have to edit your Go structs to reflect the changes. 03:44 < steven> whereas in Rails #2 is done behind the scenes for you. 03:44 < steven> and at work we end up writing migrations at least once a week, with how requirements change. 03:45 -!- ildorn1 [~ildorn@dslb-188-105-122-086.pools.arcor-ip.net] has joined #go-nuts 03:45 < steven> and relationships are gonna be *hell* in GoRM 03:46 -!- ildorn [~ildorn@dslb-188-105-112-158.pools.arcor-ip.net] has quit [Ping timeout: 240 seconds] 03:46 <@adg> i tend to get annoyed by ORMs for anything complex 03:46 < steven> still not sure how the API should look. something like type Person struct { Brothers []Person }.. but the problem there is, when do you cache the actual brothers into that array? 03:46 <@adg> i get annoyed by databases 03:47 <@adg> yeah, it's all a bit gross 03:47 < exch> You quickly resort to inventing a query language for objects which basically turns out to relpicate the underlying SQL -- consequently eliminating the whole point of the ORM layer :p 03:47 < steven> i mean, you cant just automatically always cache all of Brothers into memory, via the slice.. that could be a huge array. 03:47 < steven> exch: we went through that already.. it aint gonna happen in GoRM 03:47 < exch> good :) 03:48 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping timeout: 276 seconds] 03:48 < steven> although doing so has a purpose: to unify all databases so you can easily switch between sqlite to postgres to couchdb to whatever, on the fly. 03:48 < steven> err, to make a unified db layer abstraction 03:48 < steven> or someting 03:49 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 03:49 < exch> That did appeal to me to at some point. But then I realized that in a company you rarely, if ever switch to a different backend. Might be different for you though 03:49 < steven> nah we used PG the whole time i think 03:50 < steven> anyway if you guys have ideas on how the relationship API of GoRM should work, im all ears 03:51 < steven> i want to do something like, db.Fetch(&person, "brothers", "name = ?', "john") 03:51 < steven> but i dont like having to pass around strings.. that seems more fragile 03:52 < steven> not to mention, would that fill person.Brothers entirely? it shouldnt, i dont think.. 03:52 -!- nettok [~quassel@200.119.152.137] has quit [Ping timeout: 264 seconds] 03:52 < steven> no wait thats stupid. im being stupid. 03:53 < steven> i should take adg's advice and stop trying to fix problems until i run into them. 03:53 < steven> because this isnt an actual problem i would encounter, that i cna think of. 03:56 < steven> right now, we can already do "select * from comments where post_id = 1;" with this: var comments []Comment; db.FetchAll(&comments, "post_id = ?", 1) 03:57 < steven> i just think it could be more automatic than that. 03:58 -!- gogogrrl_ [~max@p5DE8E1EB.dip.t-dialin.net] has joined #go-nuts 03:59 -!- gogogrrl [~max@p5DE8E2E6.dip.t-dialin.net] has quit [Read error: Operation timed out] 04:01 -!- steven [~steven@pidsley.praxxium.com] has quit [Changing host] 04:01 -!- steven [~steven@unaffiliated/steven] has joined #go-nuts 04:02 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 04:15 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts 04:15 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host] 04:15 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 04:15 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:17 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 255 seconds] 04:17 -!- iant [~iant@216.239.45.130] has joined #go-nuts 04:17 -!- mode/#go-nuts [+v iant] by ChanServ 04:42 -!- niemeyer [~niemeyer@201-11-241-43.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 255 seconds] 04:49 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts 04:54 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has quit [Quit: slashus2] 05:04 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 05:09 -!- kizzo [~kizzo@c-24-130-55-180.hsd1.ca.comcast.net] has joined #go-nuts 05:09 < kizzo> "operator < not defined on struct" 05:12 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts 05:29 -!- mikespook1 [~mikespook@116.21.153.120] has quit [Read error: No route to host] 05:31 -!- mikespook [~mikespook@116.21.153.120] has joined #go-nuts 05:37 -!- lmoura [~lauromour@187.113.66.148] has quit [Ping timeout: 255 seconds] 05:38 -!- lmoura [~lauromour@187.113.66.148] has joined #go-nuts 05:45 -!- fabled [~fabled@mail.fi.jw.org] has joined #go-nuts 05:53 -!- schmrkc [~marcus@c83-254-205-76.bredband.comhem.se] has joined #go-nuts 05:53 -!- schmrkc [~marcus@c83-254-205-76.bredband.comhem.se] has quit [Changing host] 05:53 -!- schmrkc [~marcus@sxemacs/devel/schme] has joined #go-nuts 05:59 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-177-194.clienti.tiscali.it] has joined #go-nuts 06:10 -!- tsykoduk [~tsykoduk@2001:470:1f04:671:20d:93ff:fe77:1dc4] has left #go-nuts [] 06:12 -!- arvindht [c2ed8e11@gateway/web/freenode/ip.194.237.142.17] has joined #go-nuts 06:15 -!- boscop [~boscop@f055157219.adsl.alicedsl.de] has joined #go-nuts 06:18 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed the connection] 06:26 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has joined #go-nuts 06:30 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: Leaving] 06:37 -!- dfc [~dfc@sydfibre2.atlassian.com] has quit [Ping timeout: 252 seconds] 06:38 -!- Natch [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 06:40 -!- snearch [~snearch@f053012185.adsl.alicedsl.de] has joined #go-nuts 06:41 -!- Natch| [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 246 seconds] 07:04 -!- wrtp [~rog@92.17.3.222] has joined #go-nuts 07:12 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Read error: Operation timed out] 07:12 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Read error: Operation timed out] 07:13 -!- pjm0616 [~user@sigfpe-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Read error: Operation timed out] 07:13 -!- comex [comex@c-67-188-10-190.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 07:13 -!- brett [~brett@rdnzl.net] has quit [Read error: Operation timed out] 07:14 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Ping timeout: 260 seconds] 07:14 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts 07:15 -!- l00t [~i-i3id3r_@189.105.53.156] has quit [Ping timeout: 246 seconds] 07:15 -!- emjayess [~emjayess@pix1.i29.net] has quit [Ping timeout: 246 seconds] 07:15 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined #go-nuts 07:15 -!- comex [comex@c-67-188-10-190.hsd1.ca.comcast.net] has joined #go-nuts 07:16 -!- Fish [~Fish@coss6.exosec.net] has quit [Ping timeout: 246 seconds] 07:16 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has quit [Ping timeout: 246 seconds] 07:16 -!- suiside [tajnyman@unaffiliated/suiside] has quit [Ping timeout: 246 seconds] 07:16 -!- brett [~brett@rdnzl.net] has joined #go-nuts 07:16 -!- clip9 [~clip9@er.en.svarteper.com] has quit [Ping timeout: 246 seconds] 07:16 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined #go-nuts 07:16 -!- suiside [tajnyman@unaffiliated/suiside] has joined #go-nuts 07:17 -!- pjm0616 [~user@sigfpe-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined #go-nuts 07:17 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Ping timeout: 246 seconds] 07:17 -!- tokuhiro__ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has quit [Ping timeout: 246 seconds] 07:17 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has joined #go-nuts 07:24 -!- tsykoduk [~tsykoduk@2001:470:1f04:671:20d:93ff:fe77:1dc4] has joined #go-nuts 07:25 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts 07:26 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts 07:28 -!- l00t [~i-i3id3r_@189.105.53.156] has joined #go-nuts 07:28 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts 07:29 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts 07:29 -!- tokuhiro__ [~tokuhirom@s230.GtokyoFL21.vectant.ne.jp] has joined #go-nuts 07:38 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 07:50 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 248 seconds] 07:51 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 07:58 -!- ildorn1 [~ildorn@dslb-188-105-122-086.pools.arcor-ip.net] has quit [Quit: Leaving.] 08:04 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 08:15 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 08:16 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-151-2.clienti.tiscali.it] has joined #go-nuts 08:19 -!- Project_NAP [~Marvin@dynamic-adsl-94-36-177-194.clienti.tiscali.it] has quit [Ping timeout: 248 seconds] 08:21 -!- bXi [bluepunk@irssi.co.uk] has quit [Read error: Operation timed out] 08:21 -!- bXi [bluepunk@irssi.co.uk] has joined #go-nuts 08:33 -!- ronnyy [~quassel@p4FF1C53D.dip0.t-ipconnect.de] has joined #go-nuts 08:37 -!- mikespook [~mikespook@116.21.153.120] has quit [Quit: Leaving.] 08:37 -!- mikespook [~mikespook@116.21.153.120] has joined #go-nuts 08:43 -!- tsykoduk [~tsykoduk@2001:470:1f04:671:20d:93ff:fe77:1dc4] has left #go-nuts [] 08:51 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote host closed the connection] 08:54 -!- napsy [~luka@193.2.66.6] has joined #go-nuts 08:54 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 08:55 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts 09:03 -!- visof [~visof@41.233.121.162] has joined #go-nuts 09:03 -!- visof [~visof@41.233.121.162] has quit [Changing host] 09:03 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 09:03 -!- shvntr [~shvntr@116.26.131.6] has quit [Ping timeout: 264 seconds] 09:04 -!- shvntr [~shvntr@116.26.131.6] has joined #go-nuts 09:16 -!- virtualsue [~chatzilla@nat/cisco/x-gialhrwrxjwbooad] has joined #go-nuts 09:20 -!- foocraft [~dsc@dyn-86-36-42-59.wv.qatar.cmu.edu] has joined #go-nuts 09:31 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 09:41 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined #go-nuts 09:42 -!- foocraft [~dsc@dyn-86-36-42-59.wv.qatar.cmu.edu] has quit [Remote host closed the connection] 09:50 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 09:57 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 09:57 -!- TheColonial [~oj@115-64-213-55.static.tpgi.com.au] has joined #go-nuts 09:59 < TheColonial> Evening all. Could someone please confirm that it's a rule that you have to use tabs in go source files? 09:59 < nsf> TheColonial: Go spec doesn't require that 10:00 < nsf> but gofmt uses tabs for formatting 10:00 < nsf> so, it's a convention for Go compiler/lib code base 10:00 < TheColonial> nsf ok thanks. as a noob to go, is gofmt just a tool used to consistently format code for sharing with others? 10:00 < TheColonial> pardon the rudimentary questions. 10:00 < nsf> it's just a code formatter, yes 10:01 < nsf> again, Go compiler/lib policy is that all committed code is formatted using gofmt 10:01 < nsf> you're free to write your code whatever way you like 10:01 < TheColonial> ok, so if i prefer to use my typical 4 spaces instead of a tab, go won't have any issues (I'm currently installing it, which is why I am yet to try it) 10:01 < TheColonial> fantastic. many thanks for your time. 10:01 < jnwhiteh> you can also supply switches to gofmt 10:01 < jnwhiteh> to use spaces instead of tabs, and specify the tab-width 10:02 < nsf> 4 spaces are ok 10:02 < TheColonial> jnwhiteh: Right, I see (Just browsing the docs). So as long as I "release" stuff after formatting with gofmt, I'm ok to go with my own preference. 10:02 < jnwhiteh> its just convention 10:02 < nsf> not necessary 10:02 < jnwhiteh> you can release your source regardless 10:02 < jnwhiteh> gofmt just helps if you're contributing to Go 10:02 < nsf> yeah 10:04 < TheColonial> excellent. I get it. thanks again. 10:05 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection reset by peer] 10:11 -!- foocraft [~dsc@dyn-86-36-42-59.wv.qatar.cmu.edu] has joined #go-nuts 10:16 -!- ronnyy [~quassel@p4FF1C53D.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 10:22 < kamaji> Aw, I use 2 spaces 10:23 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 10:24 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts 10:27 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 260 seconds] 10:30 * nsf hates Xorg 10:30 < nsf> after update for some reason my: 10:30 < nsf> xmodmap -e "remove lock = Caps_Lock" && xmodmap -e "add control = Caps_Lock" 10:31 < nsf> stopped working :( 10:38 -!- border [~border@114.246.93.45] has quit [Ping timeout: 250 seconds] 10:47 -!- tensorpudding [~user@99.148.205.193] has quit [Read error: Connection reset by peer] 10:52 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 10:53 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 10:54 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 10:58 -!- sacho [~sacho@46.10.16.35] has quit [Ping timeout: 255 seconds] 10:59 -!- TheColonial [~oj@115-64-213-55.static.tpgi.com.au] has quit [Ping timeout: 260 seconds] 11:18 < zimsim> nsf: In /etc/X11/xorg.conf.d/10-evdev.conf under keyboard you can add 'Option "XkbOptions" "ctrl:nocaps"' 11:18 < nsf> zimsim: yeah, I did it in my xorg.conf 11:18 < nsf> but thanks for the tip :) 11:19 < zimsim> I used to use xmodmap myself before, but switched to just setting it in Xorg.conf 11:20 < nsf> xorg guys do that a lot.. deprecate one stuff in favor of another, not sure if it's the case, but whatever.. ctrl:nocaps works :) 11:20 < zimsim> Another option is to simply replace the keyboard layout, which would make it work without X running. 11:22 < nsf> I don't use my linux machine much without xorg :) 11:23 < zimsim> Nah, not many do, except for Stallman I guess 11:23 < nsf> :D 11:24 < zimsim> http://richard.stallman.usesthis.com/ 11:25 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 11:29 < wrtp> i can't believe any ever uses caps lock anyway 11:29 < wrtp> s/any/anyone 11:30 -!- snearch [~snearch@f053012185.adsl.alicedsl.de] has quit [Quit: Verlassend] 11:35 -!- niemeyer [~niemeyer@201-11-241-43.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 11:39 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has joined #go-nuts 11:52 -!- erus_ [50b135f2@gateway/web/freenode/ip.80.177.53.242] has joined #go-nuts 11:54 < mpl> wrtp: BLASPHEMY111 CAPS LOCK IS CRUISE CONTROL FOR COOLNESS 11:54 -!- leczb [~leczb@nat/google/x-wzrvljivkpmxlbof] has quit [Read error: No route to host] 11:55 < wrtp> way to go 11:57 < mpl> ;) 11:57 -!- leczb [~leczb@nat/google/x-mnirqgoeamktmhxx] has joined #go-nuts 11:59 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 260 seconds] 11:59 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts 12:01 < erus_> can i import at runtime? 12:02 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net] has joined #go-nuts 12:03 < jessta> erus_: nope 12:07 -!- buzl [~buzl@p57A34E2E.dip.t-dialin.net] has joined #go-nuts 12:08 < gogogrrl_> I know some guys, the have caps in their heart 12:14 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 12:17 -!- PortatoreSanoDiI [~Marvin@82.84.79.223] has joined #go-nuts 12:18 < erus_> somone in this channel made a scripting language in go that looked like asm 12:18 -!- aho [~nya@fuld-590c762f.pool.mediaWays.net] has joined #go-nuts 12:18 < erus_> and i remember him using stuff liek fmt.Println in his script 12:18 < erus_> but i wonder how he imported functions at run time 12:20 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-151-2.clienti.tiscali.it] has quit [Ping timeout: 250 seconds] 12:25 < wrtp> erus_: maybe he didn't 12:25 < erus_> yeah i found it 12:25 < erus_> he didnt import at runtime :( 12:25 < erus_> there go my hopes and dreams 12:26 < gogogrrl_> erus_: I think you want something like commin lisp 12:26 < gogogrrl_> common* 12:26 < erus_> i could load them like modules 12:26 < erus_> like compile a module for each package 12:27 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 255 seconds] 12:27 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts 12:31 -!- mikespook [~mikespook@116.21.153.120] has quit [Quit: Leaving.] 12:32 < erus_> can i get a function from its name (string) ? 12:32 < erus_> im looking in reflection 12:41 -!- buzl [~buzl@p57A34E2E.dip.t-dialin.net] has quit [Quit: buzl] 12:42 -!- buzl [~buzl@p57A34E2E.dip.t-dialin.net] has joined #go-nuts 12:49 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts 12:49 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has joined #go-nuts 12:58 -!- buzl_ [~buzl@p57A36C66.dip.t-dialin.net] has joined #go-nuts 12:58 < wrtp> erus_: no, you can't 12:58 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 252 seconds] 12:58 < wrtp> because functions that are never referred to are left out of the executable 12:58 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts 12:59 < wrtp> you can get methods from their names though 12:59 < wrtp> erus_: what do you want to do? 12:59 -!- arvindht [c2ed8e11@gateway/web/freenode/ip.194.237.142.17] has quit [Quit: Page closed] 13:00 -!- buzl [~buzl@p57A34E2E.dip.t-dialin.net] has quit [Ping timeout: 246 seconds] 13:01 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds] 13:01 < erus_> callFunction("fmt", "Println"); 13:02 < erus_> im not sure go is the best language to implement my scripting language in 13:05 < nsf> it's the worst language 13:06 < nsf> :) 13:06 < nsf> kidding 13:10 -!- karpar [~user@112.96.254.17] has joined #go-nuts 13:10 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 13:21 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 264 seconds] 13:21 -!- foocraft [~dsc@dyn-86-36-42-59.wv.qatar.cmu.edu] has quit [Remote host closed the connection] 13:22 -!- karpar [~user@112.96.254.17] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 13:23 -!- karpar [~user@112.96.254.17] has joined #go-nuts 13:24 -!- karpar [~user@112.96.254.17] has quit [Client Quit] 13:27 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 13:30 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 250 seconds] 13:30 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts 13:30 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts [] 13:37 -!- kizzo [~kizzo@c-24-130-55-180.hsd1.ca.comcast.net] has left #go-nuts [] 13:42 -!- b0rder [b0rder@119.80.58.50] has joined #go-nuts 13:44 -!- erus_ [50b135f2@gateway/web/freenode/ip.80.177.53.242] has quit [Ping timeout: 252 seconds] 13:53 -!- n____ [~alouca@91.184.192.148] has joined #go-nuts 13:53 < n____> Hi, is there an easy way to determine if x is a member of array/slice y? 13:55 < niemeyer> n____: for _, xi := range y { if x == xi { found = true; break } } 13:59 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts 14:01 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 14:03 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 14:07 -!- iant [~iant@67.218.107.6] has joined #go-nuts 14:07 -!- mode/#go-nuts [+v iant] by ChanServ 14:09 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 14:14 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 14:17 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts 14:17 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts [] 14:19 -!- Natch| [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 276 seconds] 14:24 < steven> great for testing daemonizer: "package main; func main() {for{}}" 14:27 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has quit [Quit: mnoel] 14:28 -!- ako [~nya@fuld-590c7bbc.pool.mediaWays.net] has joined #go-nuts 14:29 -!- aho [~nya@fuld-590c762f.pool.mediaWays.net] has quit [Disconnected by services] 14:29 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed the connection] 14:29 < skelterjohn> steven: maybe toss in a time.Sleep(), too :) 14:29 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 14:31 -!- Project-2501 [~Marvin@82.84.77.132] has joined #go-nuts 14:32 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds] 14:34 -!- shvntr [~shvntr@116.26.131.6] has quit [Read error: Connection reset by peer] 14:35 -!- PortatoreSanoDiI [~Marvin@82.84.79.223] has quit [Ping timeout: 260 seconds] 14:46 -!- visof [~visof@unaffiliated/visof] has quit [Read error: Connection reset by peer] 14:49 -!- n____ [~alouca@91.184.192.148] has quit [Quit: n____] 14:51 -!- napsy [~luka@193.2.66.6] has quit [Quit: leaving] 14:59 -!- iant [~iant@67.218.107.6] has quit [Quit: Leaving.] 15:06 < steven> unfortunately sending SIGINT to just a for{} loop doesnt kill it if its running in the background 15:07 < steven> have to catch sigint via os/signal and explicitly quit 15:07 < steven> which is fine, since thats what i would do anyway 15:07 < steven> in order to clean up the connections safely and not drop any connections harshly 15:07 < steven> win 15:07 -!- saschpe_ [~quassel@opensuse/member/saschpe] has joined #go-nuts 15:12 -!- shvntr [~shvntr@113.84.144.183] has joined #go-nuts 15:12 -!- saschpe_ [~quassel@opensuse/member/saschpe] has quit [Remote host closed the connection] 15:14 -!- boscop_ [~boscop@f055163136.adsl.alicedsl.de] has joined #go-nuts 15:17 -!- boscop [~boscop@f055157219.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 15:22 -!- serbaut [~joakims@88.80.182.68] has joined #go-nuts 15:23 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 15:26 -!- b0rder [b0rder@119.80.58.50] has quit [] 15:29 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 15:31 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts 15:40 -!- sauerbraten [~sauerbrat@p508CB507.dip.t-dialin.net] has joined #go-nuts 15:45 -!- shvntr [~shvntr@113.84.144.183] has quit [Ping timeout: 255 seconds] 15:46 -!- camnaes [~cm@c-76-100-200-8.hsd1.md.comcast.net] has joined #go-nuts 15:56 < steven> guys, whats a clean way to stop http.ListenAndServe()? 15:58 < camnaes> hi nsf, hope you get pinged by these. gocode panics when I use autocomplete within vim. here is the panic log: http://pastie.org/1674851 15:59 < exch> steven: Just exit the app afaik 15:59 < steven> exch: that will kill connections dead, without letting them finish, though 15:59 < steven> wont it? 15:59 < steven> *existing connections 15:59 < exch> probably 15:59 < steven> no way to avoid that? 15:59 < nsf> camnaes: update go compiler to the latest release version, update gocode to the latest git version and it will work 15:59 < nsf> I hope 15:59 < exch> Not that I am aware of. You'd have to look at the code for the http bits 15:59 < steven> to let them come down cleanly, refusing new connections, and notify me when all are down clean? 16:00 < nsf> camnaes: or if you have the latest versions already, I'll see what I can do 16:00 < camnaes> i've got your latest version of gocode, there were 5 file diffs from my last go update 16:01 < nsf> hm.. 16:01 < nsf> can you give me a short source example where it fails? 16:02 < camnaes> fails on as basic as i can get it ... import "fmt" func main() { fmt.PANIC } 16:03 < nsf> well, yeah.. it is not gocode's fault clearly 16:03 -!- virtualsue [~chatzilla@nat/cisco/x-gialhrwrxjwbooad] has quit [Ping timeout: 255 seconds] 16:03 < nsf> uhm.. when libraries are messed up in the compiler tree 16:04 < nsf> it happens 16:05 < nsf> or something else, I don't know 16:05 < nsf> but I've seen such a behaviour 16:05 < camnaes> ok 16:05 < nsf> but can't remember what was wrong 16:06 < camnaes> i'll keep digging, thanks. 16:06 < nsf> I'll take a look at logs, maybe I'll find something too 16:09 < steven> i figured out a way to run a Go process in the background, with its pid stored somewhere, so kill -s INT cna be sent to it later on :) 16:09 < steven> essentially, it gives me a way to do this: `./manageproc start $PORT` and later `./manageproc stop $PORT` 16:10 < steven> which means i can have several instances of a single webapp running on several ports all behind a balancer like nginx.. all serving html! 16:11 < steven> go provides good templating, and i have a slightly-okay sqlite wrapper.. which means, at the very least, i can now serve up read-only data from a sqlite db 16:11 < steven> although i think writing a wrapper around postgresql instead might be more worth the effort. 16:11 < steven> all thats left is configuration management.. ie, development vs staging vs production 16:14 < steven> which i think usually only specifies databases and log-information.. and tahts probably all i would care about 16:16 < nsf> camnaes: can't find it :( but something like making sure that everything in its correct place and rebuilding everything with 'make clean && make install' should help 16:16 < nsf> I think the reason why it happens 16:17 < nsf> that at some point (december 2010) 16:17 < nsf> the go/parser lib was broken 16:17 < nsf> and you're updating your Go tree in a wrong way 16:17 < nsf> e.g. not updating at all or something 16:17 < camnaes> hg pull / update, src/all.bash 16:18 < nsf> hm.. 16:18 < nsf> well, and do hg update -r release 16:18 < nsf> I simply don't know what's on the tip version of go compiler 16:18 < nsf> maybe something is broken here 16:19 -!- iant [~iant@nat/google/x-ifpbwxheunrxptjp] has joined #go-nuts 16:19 -!- mode/#go-nuts [+v iant] by ChanServ 16:20 < camnaes> it's permissions! 16:20 < nsf> uhm? 16:20 < wrtp> nsf: the go parsing packages have changed significantly in the current tip 16:20 < camnaes> i ran gocode as root and it works fine 16:20 < nsf> camnaes: strange 16:20 < camnaes> my permissions are messed up somewhere 16:20 < nsf> or PATH 16:21 < nsf> wrtp: well, it will cause compilation failure of the gocode 16:21 < nsf> most likely 16:21 < camnaes> good call i'll check both 16:22 < nsf> camnaes: gocode fails to parse a library not read it or something.. so, most likely something like old gocode binary on your user's PATH overrides a new one 16:22 < nsf> or you have GOROOT with an old library 16:22 < nsf> something like that 16:24 < nsf> 'which gocode' 16:24 < nsf> try that for root and for user 16:24 -!- binarypie [~binarypie@adsl-99-35-135-146.dsl.pltn13.sbcglobal.net] has joined #go-nuts 16:25 < camnaes> same 16:25 < nsf> ah, I know one more potential reason 16:25 < nsf> gocode GOBIN default location was changed from ~/bin to GOROOT/bin 16:25 < nsf> at some point 16:25 < nsf> therefore it installs gocode to GOROOT/bin by default now 16:26 < nsf> or maybe you're building gocode and not installing it 16:26 < nsf> but that's unlikely 16:26 < nsf> ls -l `which gocode` $GOROOT/bin/gocode 16:26 < nsf> one more option to try 16:27 < nsf> ls -l `which gocode` $GOROOT/bin/gocode $GOBIN/gocode 16:27 < nsf> or even like that 16:28 < kimelto> is a libgo.so beeing worked on? or is it planned at least? 16:28 < nsf> anyways, that's the potential reasons 16:28 < nsf> kimelto: you mean shared library support in 6g/8g? 16:28 < kimelto> yes 16:28 < nsf> there is a libgo.so in gccgo 16:28 < nsf> I think there will be no support for that in 6g/8g 16:29 < nsf> at least that was true some time ago 16:29 < nsf> plus some of go devs don't like shared libraries :) 16:30 -!- Natch| [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 16:31 < kimelto> so they will be able to say "you know I *can* use shared lib, but I dont like 'em so I link statically". now there is no honnor doing so because you dont have the choice! 16:31 < kimelto> anyway, choice is good! 16:31 < nsf> kimelto: you have a choice to implement support for shared libraries by yourself 16:31 < nsf> :) 16:32 < kimelto> or I prefer to complain and watch 16:32 < kimelto> lazyness :) 16:32 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Quit: leaving] 16:32 < nsf> :D 16:38 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts 16:39 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts 16:39 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 16:46 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has quit [Quit: bye] 16:48 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 16:55 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Read error: Connection reset by peer] 16:56 -!- buzl [~buzl@p57A36C66.dip.t-dialin.net] has quit [Quit: buzl] 16:58 -!- m4dh4tt3r [~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has joined #go-nuts 17:04 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 17:08 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 17:15 -!- jyxent [~jyxent@129.128.191.96] has quit [Read error: Connection reset by peer] 17:17 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts 17:24 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 17:35 -!- niemeyer [~niemeyer@201-11-241-43.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 248 seconds] 17:36 -!- cdsgf [~cds@69.55.231.142] has quit [Remote host closed the connection] 17:36 -!- niemeyer [~niemeyer@201-11-241-43.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 17:36 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts 17:49 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 17:52 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts 17:55 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection] 18:19 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 18:22 -!- nutate [~rseymour@204.140.131.18] has joined #go-nuts 18:22 -!- nutate [~rseymour@204.140.131.18] has quit [Read error: Connection reset by peer] 18:23 -!- nutate [~rseymour@204.140.131.18] has joined #go-nuts 18:26 < nsf> http://ompldr.org/vN3RzNA/2011-03-15-232752_820x382_scrot.png 18:26 < nsf> clang-style error messages :) 18:26 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has joined #go-nuts 18:31 < nsf> what's really cool about clang is that when you've misspelled member of a struct it will try to find similar name and say: did you mean that? 18:31 < nsf> very cool :) 18:32 -!- wrtp [~rog@92.17.3.222] has quit [Quit: wrtp] 18:32 < nsf> btw, it's a good contribution idea for Go 18:32 < nsf> making interface more user friendly is always a nice idea imho 18:34 -!- Venom_X_ [~pjacobs@66.54.185.131] has joined #go-nuts 18:35 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 276 seconds] 18:37 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 18:44 -!- TheMue [~TheMue@p5DDF5639.dip.t-dialin.net] has joined #go-nuts 18:47 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has quit [Quit: Leaving] 18:54 -!- PortatoreSanoDiI [~Marvin@82.84.72.169] has joined #go-nuts 18:56 -!- Project-2501 [~Marvin@82.84.77.132] has quit [Read error: Operation timed out] 18:58 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Quit: Leaving] 19:06 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 250 seconds] 19:08 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts 19:15 < nsf> trying to find a nice C++ string formatting library 19:15 < nsf> candidates are scary :( 19:15 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 19:17 < nsf> seriously this world lacks nice libraries 19:21 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: sudo rm -R /] 19:21 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 19:23 < zozoR> nsf, tried python? :D 19:23 < nsf> nope 19:24 < nsf> it's a bit too late for a language change 19:24 < Namegduf> s/this world/C++/ 19:24 < Namegduf> :P 19:25 < nsf> but C++ crowd suggests me to use boost.format 19:25 < nsf> kthxbye 19:25 < nsf> :( 19:26 < exch> boost kills kittens :< 19:26 < steven> zozoR: bahh python 19:26 < steven> nsf: dont trust ##c++ 19:27 < nsf> I'm not even there 19:27 < steven> ok 19:27 < nsf> but I know what they will suggest 19:27 < nsf> :) 19:27 < steven> C++ have said "lets take this slightly dumb idea and go 10 miles with it to make it much worse" 19:27 < steven> thus, boost. 19:27 < Namegduf> Boost: Because C++ didn't have enough features. 19:27 < steven> whereas they might have invented something like Go instead. 19:28 < Namegduf> Boost: Because every problem with a feature can be solved with another. 19:28 < nsf> I don't care about boost, I just need a string_printf(std::string &out, const char *fmt, ...); 19:28 < steven> sprintf 19:28 < steven> drop down to C :) 19:28 < Namegduf> Yeah, that already exists. 19:28 < nsf> I know that vsnprintf will work 19:28 < nsf> but.. 19:29 < nsf> in order to do what I want it needs to be c99 compliant 19:29 < nsf> well, I guess glibc's is 19:29 < nsf> then I'll write it by myself 19:29 < nsf> ugh.. 19:29 < nsf> 20 years.. and no good string formatting library 19:29 < nsf> std::ostringstream? seriously? 19:29 < steven> use Go ;) 19:29 < steven> ha, i remember ostringstream 19:30 < steven> from when i learned c== in college 19:30 < nsf> steven: it's too late 19:30 < nsf> and I use lemon parser generator 19:30 < Namegduf> Too late. 19:30 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts 19:30 < nsf> it works best for C 19:30 < Namegduf> His soul has been devoured by the OO beast 19:30 < Namegduf> Can't turn back now. 19:30 < rm445> c== sounds like a good language 19:31 < nsf> I'm making a good language 19:31 < nsf> but the compiler is in C++ ( 19:31 < nsf> haha 19:32 < exch> there is hope still. I was once a fervant OO fanboi myself, but I changed my ways. It was not easy, but not impossible. 19:32 < nsf> although I'm starting to understand that 70% of a good language is a good library collection 19:32 < nsf> oh.. don't worry about me becoming OO addict 19:33 < nsf> it is impossible 19:34 < nsf> http://pastie.org/1675677 19:34 < nsf> my C++ is quite brutal 19:36 -!- lmoura [~lauromour@187.113.66.148] has quit [Read error: Connection reset by peer] 19:37 -!- lmoura [~lauromour@187.113.104.86] has joined #go-nuts 19:38 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has quit [Ping timeout: 250 seconds] 19:39 -!- PJ_Robins [~finn@174-20-67-7.mpls.qwest.net] has joined #go-nuts 19:50 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has joined #go-nuts 19:52 < zozoR> what are the features of your good language? :P 19:52 < zozoR> nsf :D 19:53 < nsf> zozoR: it's like Go 19:53 < nsf> but like C 19:53 < nsf> :) 19:53 < nsf> (*khm*with templates*khm*) 19:54 < nsf> regarding C++ string formatting: http://pastie.org/1675754 19:54 < nsf> and that's fucking it 19:54 < nsf> 8 lines of code 19:54 < zozoR> what is wrong with go? 19:54 < nsf> zozoR: garbage collection and goroutines abstraction 19:55 < zozoR> you want go with manually freed memory and another kind of goroutine? 19:55 < nsf> no, I want a C with Go syntax 19:55 < nsf> + few other minor features 19:55 < skelterjohn> i'd like the ability to do manual memory management, off by default 19:55 < skelterjohn> then you could fine tune your code once you got it working 19:56 < nsf> like methods/interfaces, maybe lambdas, templates in a form of AST macros (always inlined) 19:56 < zozoR> isnt it easier to just, make a parser in python, that converts go syntax to C synta 19:56 < zozoR> x 19:56 < nsf> that's what I'm doing 19:56 < zozoR> oh 19:56 < zozoR> :D 19:56 < nsf> in C++ 19:56 < zozoR> but in C++, of all languages :P 19:56 < skelterjohn> he wanted to write funky macros 19:56 < nsf> well, eventually converting Go syntax to C won't work 19:57 < nsf> because it will be slow 19:57 < nsf> (you still need to compile C afterwards) 19:57 < nsf> but that's a first step and then I hope I will rewrite compiler in this programming language 19:57 < nsf> with two backends 19:57 < nsf> llvm and C 19:57 < nsf> C for bootstrapping 19:58 < zozoR> ^^ 19:58 < nsf> also I have plans to support direct C header import 19:58 < nsf> will use libclang for that 19:58 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-181-129.clienti.tiscali.it] has joined #go-nuts 19:58 < zozoR> a big project indeed 19:58 < nsf> yes 19:58 -!- artefon [~thiago@189.59.162.202] has joined #go-nuts 19:59 < nsf> I've finished a parser prototype (enough for starting code generation) 19:59 < nsf> and I'm working on a codegen right now :) 19:59 * skelterjohn wonders what nsf's day job is 19:59 < nsf> I'm jobless student at the moment ) 19:59 < nsf> lots of free time 19:59 < skelterjohn> undergrad or grad? 19:59 < nsf> uhm.. 20:00 < nsf> I don't know ) 20:00 < skelterjohn> do you have a degree? 20:00 < nsf> nope 20:00 < skelterjohn> are you working towards a bachelors? 20:00 < nsf> in russia there is a bit different system 20:01 < nsf> anyways, it doesn't matter 20:01 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has joined #go-nuts 20:01 < skelterjohn> i'm just curious 20:01 < nsf> I'm not studying CS or even math 20:01 -!- PortatoreSanoDiI [~Marvin@82.84.72.169] has quit [Ping timeout: 255 seconds] 20:01 < zozoR> just hanging around? :o 20:01 < nsf> it's economics and finances :\ 20:01 < skelterjohn> what else is there? 20:02 < skelterjohn> why 20:02 < skelterjohn> *shudder* 20:02 < nsf> to have a lot of free time, lol 20:02 < skelterjohn> lol 20:03 < zozoR> you gain one internet for that :D 20:04 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has quit [Quit: Caught signal 15, Terminated] 20:06 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has joined #go-nuts 20:09 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has joined #go-nuts 20:11 -!- nutate [~rseymour@204.140.131.18] has quit [Quit: nutate] 20:18 < str1ngs> how do I wait for a channel signal without blocking ie in a for loop? 20:20 < skelterjohn> select 20:20 < skelterjohn> select { x := <- ch: //some stuff \n default: //now you won't block } 20:21 < str1ngs> ok let me try that 20:21 < skelterjohn> i might be off on the syntax, but select is definitely what you want ot use 20:21 < str1ngs> no worries atleast I know where to look 20:22 < skelterjohn> :) 20:26 < str1ngs> grr this is not a easy as I was hoping lol 20:26 < skelterjohn> do you have to do more than what i wrote? 20:27 < skelterjohn> i mean, it's not a one liner, so you can't put it in a for condition without wrapping it in a function 20:27 < skelterjohn> but... you can still wrap it in a function :) 20:28 < str1ngs> https://gist.github.com/871405 20:28 < str1ngs> this is what I have now. which is fine. but I want to have print("#") while exec is running 20:29 < skelterjohn> i don't understand 20:29 < skelterjohn> like, print a hash every second? 20:30 < skelterjohn> or print a hash once? 20:30 < skelterjohn> print a hash only if exec hasn't finished yet? :) 20:30 < str1ngs> right. I"ll have to sleep every second or something of course 20:31 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!] 20:31 < skelterjohn> are you making a build tool? 20:31 < str1ngs> yes something like that 20:33 < str1ngs> right now the way it works if you define a plan and a attach a preset download,build function. ideally I should use interfaces but thats aways off yet. 20:37 < steven> how do we know what version of Go we're using? 20:37 < skelterjohn> 6g -V 20:37 < steven> so far as i can see, there is no version displayed on the website anywhere, nor do any of the commands seem to be the definitive *command* to check 20:37 < skelterjohn> 6l -V and 6g -V should agree 20:37 < steven> wow thats a weird version number 20:37 < skelterjohn> if not, you've got an issue 20:38 < steven> so its more like C than ruby/python in terms of versioning? 20:38 < skelterjohn> i have no idea 20:38 < steven> wierdo 20:38 < skelterjohn> it's not something i think about very much 20:39 < str1ngs> git branch or tag thats how I find out :P. not sure you how you do that with hg. 20:41 < skelterjohn> hg identify 20:48 -!- iant [~iant@nat/google/x-ifpbwxheunrxptjp] has quit [Quit: Leaving.] 20:50 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 20:55 -!- iant [~iant@nat/google/x-ozepxblketpxztrx] has joined #go-nuts 20:56 -!- mode/#go-nuts [+v iant] by ChanServ 20:57 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 20:58 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 21:04 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 21:04 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 21:04 < steven> guys, 21:04 < steven> how can you modify a Makefile to install your binary in a different place? 21:05 -!- sauerbraten [~sauerbrat@p508CB507.dip.t-dialin.net] has quit [Remote host closed the connection] 21:05 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has quit [Quit: Leaving] 21:06 < skelterjohn> make a new rule - the binary will be installed to $(TARG) 21:06 < skelterjohn> so you can have a rule like so 21:06 < skelterjohn> newplace/$(TARG): $(TARG) 21:06 < skelterjohn> <tab> mkdir -p newplace; cp $(TARG) newplace 21:07 -!- artefon [~thiago@189.59.162.202] has quit [Read error: Connection reset by peer] 21:07 < nsf> I think binary is installed to GOBIN dir 21:07 < nsf> you can simply do: 21:07 < nsf> GOBIN=... make install 21:08 < skelterjohn> has potential side effects, but also works 21:08 -!- tav [~tav@92.7.141.101] has quit [Read error: Connection reset by peer] 21:08 < steven> skelterjohn: i like your idea 21:09 < skelterjohn> gb will put built binaries in your workspace's bin directory 21:09 < skelterjohn> also, generates makefiles that do the same 21:10 -!- tav [~tav@92.7.141.101] has joined #go-nuts 21:10 < steven> can i just "override" something like install, and make it do something different? 21:11 < skelterjohn> redefining targets makes warnings happen, i think 21:11 < skelterjohn> but if you put your own target at the top of the file, it will be default 21:11 < nsf> yeah, but you can safely add dependencies 21:12 < steven> which means i should just suck it up and use "sd/install: install"? 21:12 < nsf> no 21:12 < nsf> install: <something> 21:12 < skelterjohn> that doesn't make sense to me 21:12 < nsf> it will add a dependency to the install target 21:12 < skelterjohn> oh, sd/install is a target 21:12 < skelterjohn> but adding a dep to install will not stop install from putting it in $GOBIN 21:13 < nsf> yes 21:13 < nsf> also 21:13 < str1ngs> GOBIN= easiest thing I think 21:13 < nsf> if you know make well 21:13 < nsf> or want to learn 21:13 < nsf> there is a collection of templates 21:13 < nsf> which are more flexible than Go ones 21:13 < nsf> https://github.com/nsf/goal 21:13 < skelterjohn> everyone should use gb =p 21:13 < nsf> but, they are not maintained 21:14 < nsf> https://github.com/nsf/goal/blob/master/examples/ordinary_cmd/Makefile 21:14 < nsf> take a look for example 21:14 < nsf> TEMPLATE_GO_COMMAND defines $(targ)/install 21:14 < nsf> instead of a global install 21:14 < nsf> and you are free to use it 21:14 < str1ngs> skelterjohn: what the heck is gb? 21:14 < nsf> or not 21:14 < skelterjohn> go-gb.googlecode.com 21:15 < nsf> you can actually have two or more TARGs in one makefile 21:15 < skelterjohn> (disclaimer, i created it, so me thinking everyone should use it like a mother saying her son is the handsomest kid ever) 21:15 < nsf> and specify dependencies between them 21:15 < nsf> etc. 21:15 -!- mulander [mulander@078088239019.lubin.vectranet.pl] has joined #go-nuts 21:15 < nsf> but.. the whole system is hardcore make stuff 21:16 < nsf> without understanding it 21:16 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 21:16 < nsf> there will be "side effects" 21:16 < nsf> :) 21:16 < skelterjohn> building shouldn't be complicated. 21:16 < nsf> it's not 21:16 < nsf> but it requires understanding 21:16 < nsf> like linux 21:16 < nsf> it's simple if you understand everything 21:17 < skelterjohn> gb allows you to be configuration-free. like goinstall will, once it actually clones all of gb's behaviors 21:17 < nsf> it's GNOME style 21:17 < nsf> and well 21:17 < aiju> click a nice button and watch it crash? 21:17 < nsf> I think your gb builds only Go 21:17 < str1ngs> skelterjohn: so it handles goinstall packages to I see? 21:17 < nsf> when this template system simply integrates to a usual makefile 21:17 < skelterjohn> nsf: yes - it only builds go projects 21:18 < skelterjohn> nsf: certainly a plus for your templates 21:18 < skelterjohn> str1ngs: yes - it will run goinstall where appropriate 21:18 < nsf> skelterjohn: anyways, I don't want to fight with you ) 21:18 < skelterjohn> but only if you give it -g or -G 21:18 < steven> how can you specify where the object files go? 21:18 < steven> like _go_.6 etc 21:18 < nsf> probably for Go gb is a better choice actually 21:18 < nsf> at least it's maintained 21:18 < skelterjohn> steven: the makefiles will put them next to Makefile 21:18 < nsf> so far 21:18 < steven> no matter what? 21:18 < skelterjohn> unless you mess with the makefiles 21:19 < steven> awww 21:19 < steven> wish that wasnt true. 21:19 < skelterjohn> where do you want them to be? 21:19 < steven> my makefile is in my root project directroy 21:19 < str1ngs> skelterjohn: ya but make files can be more flexiable 21:19 < str1ngs> ie https://gist.github.com/871511 21:19 < skelterjohn> str1ngs: flexibility is not always good 21:19 < skelterjohn> just lets people be confusing 21:20 < skelterjohn> gb will run gofmt :) 21:20 < skelterjohn> and i'm thinking of allowing it to run a pre-build script 21:20 < str1ngs> but it wont build a C lib :P 21:20 < skelterjohn> for code generation, etc 21:20 < nsf> ah, the only thing that my templates don't do 21:20 < skelterjohn> that's right, at the moment it won't 21:20 < nsf> is dependencies detection 21:20 < nsf> you have to do it manually 21:20 < skelterjohn> gb's raison d'etre is dep detections 21:20 < uriel> Residents of the western province of British Columbia have been ignoring the advice of local health authorities and emptied pharmacies in Vancouver and Victoria of anti-radiation medicines such as potassium iodide, the AFP news agency reports. 21:21 < uriel> how fucking RETARDED can people be? 21:21 < nsf> uriel: lol, radioactive wind from Japan is scary 21:21 < skelterjohn> sometimes the authorities are wrong *shrug* 21:21 < uriel> fuck, I should start selling homepathic anti-radiation medicine 21:21 < shakesoda> extremely 21:22 < str1ngs> uriel: lol I live in western BC. 21:22 < uriel> skelterjohn: the authorities bit in what I quoted is the least relevant 21:22 < uriel> skelterjohn: I'm amazed the health authorities managed to get this right, the amazing is how fucking isnane everyone else is 21:22 < skelterjohn> you think that anti-radiation medicines don't do anything? 21:22 < nsf> we're living in an illusion of a civilization 21:22 < uriel> skelterjohn: I have no clue, but I'm sure they make money for somebody 21:22 < uriel> wish it were me 21:23 < nsf> basically things are the same as they were in stone age 21:23 < uriel> str1ngs: hey, did yout ake your meds then? ;P 21:23 < nsf> just a different form 21:23 < str1ngs> uriel: nope. I think its common sense we dont need them 21:23 < uriel> nsf: you are more right than most people would think 21:23 < shakesoda> a) rock salt, b) tell people that if placed on the eyes it will save them from radiation 21:24 < |Craig|> iodide is a good choice. Radio active iodine ends up in your thyroid gland. It is the one thing that makes sense to get. 21:24 < uriel> shakesoda: sounds like a good plan to get rich fast 21:24 < shakesoda> ;) 21:24 < uriel> shakesoda: sell it for 50$ per gram 21:24 < str1ngs> I'm now buying whole sale iodide. 21:25 < shakesoda> uriel: $50/gram + patented rock salt on eyes machine (a slingshot) 21:25 < shakesoda> ;) 21:25 < |Craig|> sell table salt, it is iodized, and will auctually help 21:25 < shakesoda> warning, ;)'s in close proximity 21:26 < str1ngs> |Craig|: great the only people left alive with be the fast food freaks :( 21:26 < str1ngs> s/with/will 21:31 < skelterjohn> i can change 21:31 < skelterjohn> i can become a fast food freak 21:33 < |Craig|> 2.4 liters of iodized salt... better not go for that approach. An Potassium iodide tablet is a better approach... 21:33 < skelterjohn> yeah but uriel said we can't buy that 21:37 < |Craig|> I would expect the government to have some on hand. Its a counter to nuclear melt down, nuclear bombs, and dirty bombs. Even the soviets had some for Chernobyl. 21:37 < Namegduf> I think they do, yes. 21:38 -!- TheMue [~TheMue@p5DDF5639.dip.t-dialin.net] has quit [Quit: TheMue] 21:38 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping timeout: 252 seconds] 21:43 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed the connection] 21:45 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 21:45 -!- m4dh4tt3r [~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has quit [Quit: Leaving.] 21:45 -!- m4dh4tt3r [~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has joined #go-nuts 21:46 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #go-nuts 21:53 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping timeout: 252 seconds] 21:57 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 260 seconds] 21:59 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 22:00 < steven> does it seem like a bad idea to kill-9 a go webserver in production? 22:03 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 22:04 < skelterjohn> a soft shutdown is always nice 22:04 < skelterjohn> especially if it is in the middle of writing a response 22:04 < str1ngs> skelterjohn: I dont think select will work. or I need two channels .. I think 22:05 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping timeout: 240 seconds] 22:06 < str1ngs> also I think print blocks. but println doesnt 22:07 < skelterjohn> str1ngs: http://pastebin.com/yW3H1Une 22:07 < skelterjohn> what do you mean, println doesn't block 22:07 < skelterjohn> it will write something to stderr, and then return 22:07 < skelterjohn> same as print 22:08 < skelterjohn> println(s) = print(s+"\n") 22:08 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 22:09 < str1ngs> https://gist.github.com/871616 22:10 < str1ngs> this is what I have 22:10 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 22:11 < skelterjohn> and what happens 22:11 < str1ngs> endless loop 22:11 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 22:11 < skelterjohn> infinite hashes or it hangs 22:11 < skelterjohn> because it looks like it hangs 22:12 < skelterjohn> one issue - invoking println does not yield to the scheduler 22:12 < str1ngs> infinite hashes 22:12 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 22:12 < str1ngs> if I use print I get no hashes but thats another issue 22:12 < skelterjohn> so it might just be running the hash goroutine forever, if GOMAXPROCS is one 22:12 < skelterjohn> if you use fmt.Println 22:12 < skelterjohn> or call runtime.Gosched() 22:12 < skelterjohn> it will yield to the other goroutine 22:12 < skelterjohn> i also suggest a time delay between hashes 22:13 < skelterjohn> time.Sleep(1e9) <- delay of 1 sce 22:13 < str1ngs> I will time delay 22:14 < skelterjohn> and once that is working, your function will hang :) 22:14 < skelterjohn> the break in your select statement will break out of select, not the for (i think) 22:14 < skelterjohn> you can put a label on the for loop and break to that label 22:15 < skelterjohn> also, only one value is every put onto that chan, when the execs finish 22:15 < str1ngs> ah ok that makes sense now 22:15 < skelterjohn> but you read from it twice 22:15 < skelterjohn> the 2nd read will never come back 22:15 < str1ngs> ya that last read is not needed 22:15 < skelterjohn> that too 22:16 < str1ngs> ok so how do I label the for to break out of it? 22:17 < skelterjohn> MyLabel: for {... etc 22:17 < skelterjohn> just put the label, followed by a colon, at the beginning of the line 22:17 < skelterjohn> or on the line preceeding 22:17 < str1ngs> ok then say break MyLabel ? 22:17 < skelterjohn> yes 22:17 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 22:17 < skelterjohn> if your label doesn't immediately preceed the for, or some other construct that can be broken out of by your break statement, i'm not sure what happens 22:18 < skelterjohn> might just be like a goto 22:18 < str1ngs> yes! it worked 22:18 < skelterjohn> :) 22:19 < skelterjohn> now if i can only get my stuff to work 22:19 < str1ngs> jesh I had it right the whole time. but I should have checked it break works in the select scope 22:20 < str1ngs> hmm now I just have to figure out why print doesnt flush 22:20 < str1ngs> I assume print and println are just keywords to fmt ? 22:20 -!- sacho [~sacho@46.10.16.35] has joined #go-nuts 22:21 < skelterjohn> they don't call fmt.Println, etc 22:21 < skelterjohn> you should use fmt.Println instead 22:21 < skelterjohn> i think print() is just like C's puts() 22:22 < str1ngs> I'll read the spec on them been bugging me what the actually do . I use them sometimes for debugging . mainly I use fmt 22:22 < skelterjohn> as in, i think it just calls C's puts() immediately for each param 22:22 < skelterjohn> one thing that might not be obvious is that print/println write to stderr 22:22 < skelterjohn> which is helpful for debugging 22:23 < vpit3833> hi, I did cd ~/go/src/ && hg pull && hg update && ./all.bash and it ends with cmd.go:163: undefined: proc.ForkExec Error 1 22:23 < vpit3833> what am I doing wrong? 22:24 < str1ngs> vpit3833: should clean first . 22:24 < str1ngs> may not fix your problem though 22:24 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.] 22:24 < skelterjohn> that always helps, though i don't think it should be necessary 22:24 < skelterjohn> but, when in doubt, clean 22:25 < skelterjohn> vpit3833: what does it say when you run > which 6g 22:25 < skelterjohn> sometimes people have old copies of 6g in their PATH 22:25 < skelterjohn> they need to be nuked 22:25 < vpit3833> skelterjohn: shows /home/venk/go/bin/6g 22:25 < skelterjohn> ok, that's not the problem 22:25 < skelterjohn> let us know what happens when you run src/clean.bash first 22:26 < skelterjohn> and if it still doesn't work, put the entire output in pastebin.com 22:27 < str1ngs> skelterjohn: lol I just read the spec on print and println.. pretty much so sum them up. dont use them. 22:27 < skelterjohn> yes :) 22:27 < str1ngs> derp 22:28 -!- sjbrown [~sjbrown@dsl081-072-059.sfo1.dsl.speakeasy.net] has joined #go-nuts 22:29 < str1ngs> fmt.Printf("foo\n") flushes but fmt.Printf("foo") wont 22:29 < vpit3833> skelterjohn: which part of the output should I paste? I did ./clean.bash && ./all.bash from ~/go/src and the error I reported still reappears 22:30 < skelterjohn> the last 50 lines or so 22:30 < skelterjohn> that's all i'd look at anyway :) 22:32 < vpit3833> I pasted at http://pastie.org/1676339 22:32 -!- sjbrown [~sjbrown@dsl081-072-059.sfo1.dsl.speakeasy.net] has quit [Ping timeout: 240 seconds] 22:33 < vpit3833> I run a Debian testing system which I did upgrade before updating the Go sources.. could it have done something? 22:35 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has quit [Quit: slashus2] 22:37 < str1ngs> ah exp/ogle 22:37 < str1ngs> exp is experimental 22:37 < str1ngs> iirc 22:38 < str1ngs> vpit3833: have you tried with release? 22:38 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 22:38 < vpit3833> I just did, it is still building 22:38 < str1ngs> kk 22:39 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 22:43 < vpit3833> str1ngs: release passed, the other branch never gave error, so I almost forgot about the release :) 22:44 < skelterjohn> aha, there you go 22:44 < skelterjohn> however, it might be worth reporting this as an issue 22:45 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has joined #go-nuts 22:46 < vpit3833> reporting? on the mailing list you mean? 22:47 < skelterjohn> no - on the issue tracker 22:47 < skelterjohn> go.googlecode.com 22:47 < skelterjohn> url is in the topic 22:49 < skelterjohn> fwiw ogle builds fine on my machine, darwin_amd64 22:53 < vpit3833> hm, so there is a chance something in the Debian upgrade could have caused the error? 22:54 -!- iant [~iant@nat/google/x-ozepxblketpxztrx] has quit [Quit: Leaving.] 22:54 < skelterjohn> no idea what would have caused it 22:55 < skelterjohn> well, that's not entirely true 22:55 < skelterjohn> ForkExec was removed recently 22:55 < skelterjohn> :) 22:55 < skelterjohn> report and issue 22:55 < skelterjohn> s/and/an/ 22:56 < vpit3833> sure 22:56 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Ping timeout: 248 seconds] 22:59 < steven> skelterjohn: but how would you do a soft shutdown? 23:00 < skelterjohn> there are a number of ways. i don't write many web servers, so i don't know what the standard is 23:00 < skelterjohn> maybe catching the signal from ^c 23:00 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 23:00 < skelterjohn> maybe type a special message on stdin 23:00 < skelterjohn> *shrug* 23:02 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has joined #go-nuts 23:04 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has quit [Ping timeout: 255 seconds] 23:05 < str1ngs> hmm this is really strange. even if I write to /dev/stderr it wont flush even if I sync it 23:05 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has joined #go-nuts 23:05 < str1ngs> only if I use \n will it flush 23:05 < skelterjohn> how do you "sync" it? 23:05 < str1ngs> f.Sync() 23:05 < skelterjohn> no idea :) 23:07 < steven> thats not what i mean 23:07 < steven> i know i can catch sigint 23:07 < steven> i mean, ow would one go about telling a net.Conn object to stop listening but not cancel current connections, vai the http package? 23:08 < skelterjohn> oh - i was suggesting not canceling current connections 23:08 < skelterjohn> just stop listening for new ones, and wait for the current ones to finish 23:08 < skelterjohn> if they're hung for some reason, then do a hard kill 23:08 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 23:08 < skelterjohn> duh - reading comprehension 23:08 < skelterjohn> sorry 23:08 < skelterjohn> one sec 23:09 < skelterjohn> you can call Close() on the listener 23:09 < skelterjohn> which is what you're passing to http.Serve 23:10 < steven> ah. 23:10 < steven> i was using http.ListenAndServe hehe 23:11 < skelterjohn> :) 23:13 < steven> hmm i wonder how godoc dos it 23:13 < steven> after all, it runs golang.org 23:13 -!- mulander [mulander@078088239019.lubin.vectranet.pl] has left #go-nuts [] 23:15 -!- iant [~iant@nat/google/x-fehhwdfzpfntbacu] has joined #go-nuts 23:15 -!- mode/#go-nuts [+v iant] by ChanServ 23:16 < steven> huh.. godoc just uses ListenAndServe also 23:16 < steven> they dont seem to catch any signals or anything 23:17 < skelterjohn> not surprised 23:17 < steven> hey iant how would you gracefully stop a server being run with http package so that existing connections get to finish their jobs before the app quits? 23:18 < exch> probably too much of a hassle for an edge case like that 23:18 < exch> How often do you quit a webserver in a live environment? 23:18 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Remote host closed the connection] 23:19 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 23:19 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Client Quit] 23:19 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 23:20 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X] 23:22 < steven> every time you deploy. 23:23 < steven> every month at my job. 23:24 -!- shakesoda [~colby@c-24-19-215-56.hsd1.wa.comcast.net] has quit [Quit: shakesoda] 23:24 -!- rlab_ [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 23:25 -!- m4dh4tt3r [~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has quit [Quit: Leaving.] 23:27 < skelterjohn> rails doesn't do fancy dynamic loading? 23:30 -!- iant [~iant@nat/google/x-fehhwdfzpfntbacu] has quit [Quit: Leaving.] 23:30 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 23:33 < str1ngs> steven: what you are deploying though? new go packages? 23:33 -!- iant [~iant@67.218.107.6] has joined #go-nuts 23:33 -!- mode/#go-nuts [+v iant] by ChanServ 23:34 < str1ngs> anyways best way to do this imo is to reverse proxy your go apps. deploy the new apps and then move the proxy over. and let the front webserver handle it 23:35 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] 23:36 -!- m4dh4tt3r [~Adium@154.sub-75-208-216.myvzw.com] has joined #go-nuts 23:36 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn] 23:38 < steven> str1ngs: websites. 23:42 -!- iant [~iant@67.218.107.6] has quit [Quit: Leaving.] 23:42 -!- iant [~iant@67.218.107.6] has joined #go-nuts 23:42 -!- mode/#go-nuts [+v iant] by ChanServ 23:44 < str1ngs> steven: so just static contect through ListenAndServe? 23:44 < str1ngs> content* 23:45 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net] has quit [Ping timeout: 240 seconds] 23:48 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 23:50 -!- camnaes [~cm@c-76-100-200-8.hsd1.md.comcast.net] has quit [Quit: ] 23:53 < steven> str1ngs: no. 23:54 < steven> dyanamic apps like rails. 23:58 -!- nixness [~dsc@78.100.168.186] has quit [Quit: Leaving] --- Log closed Wed Mar 16 00:00:55 2011