--- Log opened Sat Aug 20 00:00:20 2011 00:03 -!- avelino [~avelino@unaffiliated/avelino] has quit [Remote host closed the connection] 00:04 -!- brett [~brett@rdnzl.net] has quit [Ping timeout: 250 seconds] 00:05 -!- brett [~brett@rdnzl.net] has joined #go-nuts 00:09 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 240 seconds] 00:16 -!- shoenig [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has quit [Remote host closed the connection] 00:23 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 00:28 < moraes> you have a variadic function. is there an easy way to call it like you'd do with python's *args, passing an array? 00:29 < nicka> slice it and use slice... 00:29 < str1ngs> moraes: you mean like fmt.Printf("%s is %s",...s) 00:29 < leterip> yeah. f(...args) 00:30 < moraes> uh. i can call it like that. 00:30 < moraes> wasn't aware. 00:31 < str1ngs> actually it should bee s... 00:32 < str1ngs> I always forget mybad 00:33 < nicka> it needs to be a slice though, I think 00:38 < leterip> it might but even then you can just do f(...args[:]) to slice it in place 00:38 -!- kevlar_work [~kevlar@unaffiliated/eko] has quit [Quit: Leaving] 00:47 < nicka> when are arrays used over slices? 00:48 -!- xeon [~chatzilla@101.44.223.252] has quit [Ping timeout: 268 seconds] 00:51 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Remote host closed the connection] 00:52 < uriel> nicka: slices are basically a convenient way to access arrays 00:52 < leterip> 4.99? ill click it 00:52 -!- pearle [~pearle@142.162.35.185] has quit [Quit: Leaving] 00:52 < uriel> you use arrays when you know exactly the size and that it wont change 00:53 < leterip> whoops thats the wrong channel :) 00:53 < nicka> Yeah I know their relation, I just can't come up with a case where a slice wouldn't do 00:54 < leterip> slices cant be statically checked for out of bounds indexing 00:55 < leterip> and some other optimization things. i man everything you can do with arrays you can do with slices, you just give up some compiler hints/optimizations 00:55 < leterip> s/man/mean 01:00 -!- qeed [~qeed@adsl-98-85-38-143.mco.bellsouth.net] has joined #go-nuts 01:03 <@adg> nicka: the most common use of arrays is to allocate a static buffer associated with some data structure 01:04 <@adg> nicka: say, in a parser you could have 01:04 <@adg> type Parser struct { 01:04 <@adg> [1024]byte 01:04 <@adg> // some other internals 01:04 <@adg> } 01:04 <@adg> then the parser could use that as scratch space for back-tracking, and so-on 01:05 < moraes> exp/regexp will replace regexp and current regexps will continue to work? 01:05 < nicka> I had not considered that, pretty cool 01:05 <@adg> moraes: should do, yeah 01:06 < moraes> that is cool. 01:06 <@adg> nicka: or, say "type Pixel [4]byte" for an RGBA 01:06 <@adg> nicka: examples http://golang.org/search?q=%5C%5B%5B0-9%5D%2B%5C%5Dbyte 01:06 <@adg> http://golang.org/src/pkg/crypto/openpgp/packet/literal.go?h=%5C%5B%5B0-9%5D%2B%5C%5Dbyte#L28 01:07 <@adg> http://golang.org/src/pkg/encoding/base64/base64.go?h=%5C%5B%5B0-9%5D%2B%5C%5Dbyte#L25 01:19 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 01:20 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error: Connection reset by peer] 01:20 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts 01:25 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 252 seconds] 01:26 -!- nicka1 [~nicka@blk-222-42-163.eastlink.ca] has joined #go-nuts 01:29 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 01:33 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 258 seconds] 01:37 < qeed> is there any nice way to remove duplicates from a slice? 01:37 <@adg> for []T you could 01:37 <@adg> set := make(map[T]bool) 01:37 -!- aho [~nya@fuld-590c6fc6.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 01:38 <@adg> for _, v := range slice { set[v] = true } 01:38 <@adg> slice = make([]T, len(set)) 01:38 <@adg> for v := range set { slice = append(slice, v) } 01:39 < qeed> ok thanks 01:39 <@adg> (the make function should be "make([]T, 0, len(set))") 01:42 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 01:43 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 01:43 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 01:51 -!- nekoh [~nekoh@dslb-188-107-193-049.pools.arcor-ip.net] has quit [Quit: nekoh] 01:52 -!- clr_ [~colin@c-67-160-86-87.hsd1.wa.comcast.net] has joined #go-nuts 01:53 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts 01:54 < chilts> phew, am getting somewhere implementing a SimpleDB library for GoAMZ :) 01:54 < chilts> got a few tests passing, now implementing various operations 01:55 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has quit [Quit: leaving] 01:56 -!- robteix [~robteix@host254.190-225-208.telecom.net.ar] has quit [Quit: Leaving...] 01:59 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Ping timeout: 240 seconds] 01:59 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 02:03 -!- moraes [~moraes@189.103.177.124] has quit [Quit: Leaving] 02:04 -!- dario [~dario@domina.zerties.org] has quit [Read error: Operation timed out] 02:04 -!- dario [~dario@domina.zerties.org] has joined #go-nuts 02:04 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has quit [Read error: Operation timed out] 02:04 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has joined #go-nuts 02:05 < chilts> interesting question ... in some code I've see an 'r' (http.Response) being passed to another function which calls r.Body.Close() ... I'm just thinking that I should do a 'defer r.Body.Close' right after we call http.DefaultClient.Do(&req), which still allows 'r' to be passed to that other function but this time we don't close it - sound ok? 02:05 < chilts> https://gist.github.com/1158499 02:06 < chilts> I think the 2nd way is cleaner, but I'm not sure if it's correct/valid to do such a thing 02:06 < chilts> and I must admit, I don't really like the first way of doing it which is why I'd like to change it 02:13 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 02:16 < chilts> ok, sent an email to the list and see if anyone else is around :) also, that'll be good documentation for the future :) 02:20 < niemeyer> chilts: You're not doing anything weird.. that's perfectly valid 02:21 < chilts> oh sweet, thanks :) 02:22 < niemeyer> chilts: and I actually see there's a bug in goamz's S3 logic due to that 02:22 < chilts> it's the buildError() function in ec2.go which closes it, so I'm probably just gonna move it to query() 02:22 < chilts> yeah, there'a chance it doesn't get closed 02:22 < chilts> that what you saw? 02:23 -!- xash [~xash@d065108.adsl.hansenet.de] has quit [Quit: Lost terminal] 02:23 < niemeyer> chilts: Yeah, that sounds like a good use of defer 02:24 < niemeyer> chilts: Right, ec2 is fine.. it would be better with defer, but it's fine 02:24 < niemeyer> chilts: s3 has to be fixed 02:26 < chilts> ah yeah, s3.go - looking at the wrong file :) 02:28 < chilts> I'm happy to fix up s3.go and send you a pull request later if you like 02:28 -!- edsrzf [~edsrzf@ip-58-28-201-165.ftth.xnet.co.nz] has joined #go-nuts 02:29 < chilts> hi evan :) 02:30 * chilts <- andy in Wellington here 02:30 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 276 seconds] 02:30 < edsrzf> Hey 02:31 < chilts> are you 'go'ing this afternoon? 02:32 < chilts> I really should be outside, it's beautiful down here 02:32 -!- ccc1 [~Adium@140.109.127.21] has quit [Quit: Leaving.] 02:32 < edsrzf> Yeah, I am 02:32 < edsrzf> It's pretty nice here too 02:33 -!- d_m [~d_m@64.186.128.169] has quit [Ping timeout: 260 seconds] 02:33 -!- d_m [~d_m@64.186.128.169] has joined #go-nuts 02:39 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer has gone to sleep.] 02:42 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 02:42 -!- shoenig [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has joined #go-nuts 02:45 -!- pphalen [~pphalen@66.92.11.149] has quit [Quit: pphalen] 02:51 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 02:52 -!- homovitruvius [~user@pool-96-236-165-90.pitbpa.east.verizon.net] has joined #go-nuts 03:03 -!- ccc1 [~Adium@140.109.127.21] has quit [Remote host closed the connection] 03:04 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 03:08 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 03:26 < s|k_> hi 03:27 -!- s|k_ [~bjorn@c-76-126-163-6.hsd1.ca.comcast.net] has quit [Changing host] 03:27 -!- s|k_ [~bjorn@unaffiliated/sk/x-5968384] has joined #go-nuts 03:27 < s|k> hi 03:29 -!- homovitruvius [~user@pool-96-236-165-90.pitbpa.east.verizon.net] has quit [Read error: Connection reset by peer] 03:31 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 03:41 < Jzalae> if you have a question, s|k, just ask. we're here sometimes, but we're not likely to start a conversation 03:42 -!- qeed [~qeed@adsl-98-85-38-143.mco.bellsouth.net] has quit [Quit: Leaving] 03:46 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error: Connection reset by peer] 03:46 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 03:47 -!- ccc1 [~Adium@140.109.127.21] has quit [Ping timeout: 240 seconds] 03:49 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 04:13 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts 04:25 -!- Argue [~Argue@112.198.78.101] has joined #go-nuts 04:32 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 04:32 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 04:35 -!- magn3ts [~magn3ts@colemickens.unl.edu] has joined #go-nuts 04:36 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer has gone to sleep.] 04:40 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Quit: Computer has gone to sleep.] 04:47 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 264 seconds] 04:49 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 240 seconds] 04:50 -!- zaero [~eclark@servo.m.signedint.com] has quit [Read error: Connection reset by peer] 04:51 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 04:51 -!- zaero [~eclark@servo.m.signedint.com] has joined #go-nuts 04:54 -!- ccc1 [~Adium@140.109.127.21] has quit [Quit: Leaving.] 04:54 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit: Leaving.] 04:57 -!- Argue [~Argue@112.198.78.101] has quit [Read error: Connection reset by peer] 04:59 -!- Argue [~Argue@112.198.78.94] has joined #go-nuts 05:02 < s|k> Jzalae: was just saying hi :P 05:02 < s|k> although I have a question now 05:02 < s|k> looking through the os package 05:03 < s|k> wondering if there's some way to get cpu usage for the system the go program is running on programmatically 05:03 < s|k> I'm on darwin/mac os x so there's no /proc 05:04 < s|k> there are c apis for this 05:06 < s|k> maybe in syscall 05:09 < s|k> Getrusage hrmmm 05:20 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has joined #go-nuts 05:24 -!- shoenig_ [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has joined #go-nuts 05:24 -!- shoenig [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has quit [Read error: Connection reset by peer] 05:26 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 05:27 < s|k> that only gives me info for my program 05:32 -!- arun [~arun@unaffiliated/sindian] has quit [Ping timeout: 240 seconds] 05:39 < s|k> lol at the perl files in syscall 05:39 < s|k> http://golang.org/src/pkg/syscall/mksysnum_darwin.pl 05:45 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 05:45 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts 05:47 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has quit [Ping timeout: 276 seconds] 05:49 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 06:05 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 240 seconds] 06:05 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has quit [Quit: jmil] 06:09 -!- JakeyChan [~JakeyChan@118.132.214.248] has joined #go-nuts 06:10 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 06:16 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Remote host closed the connection] 06:25 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts 06:36 -!- Argue [~Argue@112.198.78.94] has quit [Quit: Leaving] 06:37 -!- B4R0n [~baron@189.36.132.197] has quit [Ping timeout: 258 seconds] 06:38 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping timeout: 264 seconds] 06:44 -!- replore [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 06:45 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts 06:50 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 06:55 -!- moraes [~moraes@189.103.177.124] has joined #go-nuts 07:08 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 07:10 -!- alehorst [~alehorst@189.58.28.55.dynamic.adsl.gvt.net.br] has quit [Read error: Connection reset by peer] 07:11 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 07:13 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 250 seconds] 07:15 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has joined #go-nuts 07:16 -!- alehorst [~alehorst@189.58.31.250.dynamic.adsl.gvt.net.br] has joined #go-nuts 07:17 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 07:19 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 268 seconds] 07:23 -!- black_rez [~black_rez@house.calculating-god.com] has quit [Excess Flood] 07:24 -!- black_rez [~black_rez@house.calculating-god.com] has joined #go-nuts 07:28 -!- yogib [~yogib@dslb-178-009-079-205.pools.arcor-ip.net] has joined #go-nuts 07:31 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts 07:31 -!- black_rez [~black_rez@house.calculating-god.com] has quit [Excess Flood] 07:32 -!- black_rez [~black_rez@house.calculating-god.com] has joined #go-nuts 07:45 -!- tvw [~tv@e176008066.adsl.alicedsl.de] has joined #go-nuts 07:45 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts 07:47 -!- yogib [~yogib@dslb-178-009-079-205.pools.arcor-ip.net] has quit [Quit: yogib] 07:56 -!- taruti [taruti@ultra.violetti.org] has quit [Remote host closed the connection] 07:56 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit: WeeChat 0.3.4] 08:03 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 08:11 -!- yogib [~yogib@dslb-178-009-079-205.pools.arcor-ip.net] has joined #go-nuts 08:14 -!- xeon [~chatzilla@101.44.223.252] has joined #go-nuts 08:34 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 08:35 -!- ccc1 [~Adium@140.109.127.21] has quit [Quit: Leaving.] 08:36 -!- ccc1 [~Adium@140.109.127.21] has joined #go-nuts 08:36 -!- Solak [~stijnw@cthia.xs4all.nl] has joined #go-nuts 08:39 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts 08:44 -!- JakeyChan [~JakeyChan@118.132.214.248] has quit [Ping timeout: 268 seconds] 08:46 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts 08:58 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has joined #go-nuts 08:59 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has quit [Client Quit] 09:04 -!- clr_ [~colin@c-67-160-86-87.hsd1.wa.comcast.net] has quit [Ping timeout: 264 seconds] 09:04 < moraes> my mux api: http://paste.pocoo.org/show/461209/ 09:05 < moraes> let me know if it looks awful :P 09:07 < str1ngs> "/{key}" is intresting do you expand that somehow or use the template package? 09:08 < moraes> expand 09:11 < moraes> in a very simple way 09:11 < moraes> / Matches "{name:pattern}" or "{name}". 09:11 < moraes> var routeRe = regexp.MustCompile(`\{([a-zA-Z_][a-zA-Z0-9_]*)(\:[^\}]*)?\}`) 09:12 < str1ngs> either way this looks pretty good. how do you define handlers? 09:13 < str1ngs> obviously its code but I'm guessing you made it easy? 09:14 < moraes> they are simple functions 09:14 < str1ngs> ah ok 09:16 -!- xeon [~chatzilla@101.44.223.252] has quit [Ping timeout: 240 seconds] 09:16 < moraes> uriel, ^^ 09:16 -!- clr_ [~colin@c-67-160-86-87.hsd1.wa.comcast.net] has joined #go-nuts 09:17 -!- xcombelle [~xcombelle@AToulouse-551-1-102-228.w92-149.abo.wanadoo.fr] has joined #go-nuts 09:18 -!- osiman [clip9@er.en.svarteper.com] has joined #go-nuts 09:20 < moraes> str1ngs, thanks. want to publish it this weekend. have been playing with it too much already. 09:21 < moraes> idea is to have a very simple basic api that goes expanding. 09:21 < str1ngs> moraes: it looks, something I would look at using next time I goto write something web based. 09:22 -!- clr_ [~colin@c-67-160-86-87.hsd1.wa.comcast.net] has quit [Ping timeout: 250 seconds] 09:22 < str1ngs> actually I have a project that could use this 09:22 < uriel> moraes: I like it 09:22 < moraes> yay 09:22 < uriel> but I would s/NewPath/Path/ 09:22 -!- Project_2501 [~Marvin@82.84.93.105] has joined #go-nuts 09:23 < moraes> "uriel seal of approval" 09:23 < uriel> hahah 09:23 < uriel> well, haven't tried to use it yet, but looks simple and clean enough 09:23 < uriel> but I was wondering one thing 09:23 < moraes> i'm very undecided about the name for that factory. 09:23 < str1ngs> moraes: basically I want to create an android app that just displays a browser and it interfaces with a locally running go http server. for installing console based packages. 09:24 < uriel> why not make the whole thing (method, scheme, host, path) all a single string you match on? 09:24 < uriel> mux.NewPath("/products", ProductsHandler).SetHost("www.domain.com").SetMethods("GET").SetSchemes("http").SetName("products") 09:24 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 09:24 < moraes> uriel, i thought about that briefly. regexps complicate this. 09:25 < uriel> would be GET::htp::www.domain.com:://products, or something like that 09:25 < uriel> but you might be right 09:26 < moraes> .SetHost("{subdomain}.{domain:foo\.com|bar\.com}") 09:26 < uriel> another thing, methods like SetHost, could they be mux.Host? and return a route too? so you could do mux.Methods('GET').Host('foo.com').Path('/bar')? 09:27 < moraes> could use a separator or some sort. but that adds more syntax overhead no? when setters would do. 09:27 < str1ngs> or a struct? and just use composite literals ? 09:27 < uriel> yea, you are probably right, I was just wondering 09:27 < uriel> str1ngs: that also might make sense 09:27 < uriel> moraes: anyway, this are random ideas, what you have looks fairly reaosnable 09:28 < moraes> i'll probably still massage it 09:28 < str1ngs> I think that line is a rare case, seems so by your comment anyways. 09:29 < uriel> moraes: what do you think of my idea of having mux.Host() etc? 09:29 < moraes> str1ngs, you can actually pass a struct (ieve hidden that). it is not cleaner to look. 09:29 < moraes> (i've 09:29 < moraes> uriel, i like it. will change that 09:30 < uriel> only annoying thing might be that you will have both a method and a function versions of each, but you already have that with NewPath I think 09:31 < moraes> why a function? 09:31 < moraes> annoying is that mux and route must have them all. 09:32 < moraes> have to think about it. it changes how nested routes are set. 09:32 < uriel> ah, thought mux was a package 09:32 < uriel> but yea, that is what I mean, that they will be needed int two parts 09:33 < uriel> the ones in mux just implicitly create a new route 09:33 -!- ccc1 [~Adium@140.109.127.21] has quit [Quit: Leaving.] 09:33 < moraes> yep. 09:33 < uriel> one thing I never quite get is why routes need names at all? 09:33 < moraes> will need to keep Set* 09:34 < moraes> uriel, scroll down 09:34 < moraes> "Building URLs." 09:34 < moraes> you only set a name if you wanna build them. 09:34 < uriel> but why can't URL be a method of route? 09:35 < moraes> cool thing is mux.URL() returns a http.URL. 09:35 < uriel> anyway, really got to go, but keep up the good work (I'm probably missing the whole point of the url thing or how it is used in practice) 09:35 < moraes> uriel, it actually is... 09:35 < moraes> but you need a name to call from mux. 09:35 < moraes> mux gets the route and calls URL(). 09:36 < uriel> aha, so I guess my question is, do you really need URL both in mux and route? 09:36 < moraes> i guess so... how do you keep references to routes? 09:36 < moraes> if not by name you'd need to keep references around. 09:36 < uriel> you could have mux.Routes() that retuns a dict of routes, and you could do mux.Routes()['foo'].URL 09:37 < uriel> (or maybe mux.Routes['foo'] depending of your implementation) 09:37 < moraes> yeah this is interesting. 09:38 < moraes> or mux.Route('foo').URL() indeed. 09:38 < uriel> yes, that was another option I though of 09:38 < moraes> it returns a http.URL :) 09:38 < uriel> but I don't like it too much if mux.Path('/foo') and mux.Host(...) all return new routes, but mux.Route('foo') actually looks up a route :) 09:39 < moraes> ok. these were nice ideas. 09:39 < moraes> mux.RouteByName('foo') 09:39 < uriel> nah 09:39 < uriel> at most mux.GetRoute('foo') 09:39 < moraes> byname is useless, it is the only way to get a route. 09:40 < uriel> but mux.Routes() returnding a dict might be the best to give you a way to get all routes in a mux, but maybe not all are named, hmmmm... 09:41 < moraes> i keep a map and an array. 09:41 < moraes> i have to. :-/ 09:41 < uriel> I guessed as much :/ 09:41 < moraes> array to match. map to build. 09:41 -!- xcombelle [~xcombelle@AToulouse-551-1-102-228.w92-149.abo.wanadoo.fr] has quit [Read error: Operation timed out] 09:41 < uriel> though you could return a map and an array 09:41 < uriel> but would be akward 09:42 < uriel> maybe mux.Routes() and mux.NamedRoutes(), but I don't like any of this as i can't imagine how it would be used in practice 09:42 < moraes> they are public 09:42 < moraes> mux.RouteMap['foo'].URL() 09:42 < uriel> mux.Route('foo') or mux.GetRoute('foo') are probably the best options 09:42 < uriel> oh, then forget all this shit :) 09:42 < uriel> s/RouteMap/Namedroutes/ 09:43 < moraes> hm. 09:43 < moraes> this i don't like. 09:43 < uriel> RouteMap seems to imply all routes are in the map 09:43 < moraes> at least CameCase 09:43 < uriel> yes, sorry, typo 09:43 < moraes> no, all are in RouteArr 09:43 < moraes> ^that is ugly 09:44 < uriel> RouteArr yuck 09:44 < uriel> Routes and NamedRoutes 09:44 < uriel> IMHO are the least bad 09:44 < moraes> indeed 09:44 < uriel> really got to go now 09:44 < moraes> ok, and i'll sleep 09:44 < moraes> thanks for the feedback. 09:45 * moraes saves chat log and goes away. 09:47 < uriel> sleep well 09:47 -!- photron [~photron@port-92-201-63-176.dynamic.qsc.de] has joined #go-nuts 09:52 -!- moraes [~moraes@189.103.177.124] has quit [Ping timeout: 246 seconds] 09:56 -!- xcombelle [~xcombelle@AToulouse-551-1-62-195.w92-146.abo.wanadoo.fr] has joined #go-nuts 09:58 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 09:58 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 09:59 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 09:59 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 09:59 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 10:02 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Client Quit] 10:07 -!- avelino [~avelino@unaffiliated/avelino] has joined #go-nuts 10:08 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 10:08 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 10:08 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 10:09 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error: Connection reset by peer] 10:11 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts 10:13 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 10:13 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 10:13 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 10:14 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Remote host closed the connection] 10:22 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts 10:22 -!- araujo [~araujo@190.73.44.29] has quit [Changing host] 10:22 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 10:23 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has joined #go-nuts 10:31 -!- nekoh [~nekoh@dslb-188-107-170-103.pools.arcor-ip.net] has joined #go-nuts 10:32 -!- xcombelle [~xcombelle@AToulouse-551-1-62-195.w92-146.abo.wanadoo.fr] has quit [Remote host closed the connection] 10:32 -!- xcombelle [~xcombelle@AToulouse-551-1-62-195.w92-146.abo.wanadoo.fr] has joined #go-nuts 10:40 -!- sunfmin [~sunfmin@115.197.34.59] has joined #go-nuts 10:40 < sunfmin> Hi, All 10:40 < sunfmin> How can I get a file's FileInfo with go? 10:40 < sunfmin> os.Stat("somefile.txt") ? 10:42 < chilts> you need to have a 'File', then call Stat on it ... file.Stat() 10:42 < chilts> http://golang.org/pkg/os/#File.Stat 10:43 < foocraft> http://golang.org/pkg/os/#FileInfo 10:43 < chilts> yeah, file.Stat() returns a FileInfo 10:44 < foocraft> func Stat(name string) (fi *FileInfo, err Error) 10:44 < foocraft> Doesn't this mean Stat which takes a string and return a FileInfo pointer and an Error? 10:45 < chilts> ah yeah, I didn't see that one 10:45 < sunfmin> cool, thanks a lot. 10:45 < chilts> sorry :D 10:45 < foocraft> It's alright. :) 10:45 < chilts> ah well, we're all learnign :D 10:45 * foocraft nod 10:45 < chilts> (and learning to type it seems) 10:52 -!- shoenig_ [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has quit [Read error: Connection reset by peer] 10:53 -!- shoenig [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has joined #go-nuts 10:56 -!- xeon [~chatzilla@101.44.223.252] has joined #go-nuts 10:58 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Remote host closed the connection] 11:01 < chilts> WAHOO! I got my xml.Unmarshal working :) 11:03 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 11:16 -!- Project-2501 [~Marvin@82.84.83.113] has joined #go-nuts 11:19 -!- Project_2501 [~Marvin@82.84.93.105] has quit [Ping timeout: 240 seconds] 11:31 -!- aho [~nya@fuld-590c64fb.pool.mediaWays.net] has joined #go-nuts 11:47 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has joined #go-nuts 11:50 -!- moraes [~moraes@189.103.177.124] has joined #go-nuts 11:51 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 264 seconds] 11:52 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Read error: Connection timed out] 11:54 -!- edsrzf [~edsrzf@ip-58-28-201-165.ftth.xnet.co.nz] has quit [Remote host closed the connection] 11:55 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts 11:59 < Gertm> does anyone have experience with termbox? 12:16 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 264 seconds] 12:22 < Kahvi> How big is the whole go repository after compiling? 12:27 < moraes> gigantic. 12:27 < moraes> kidding. no idea. 12:29 -!- remy_tel [~remy_tel@80.214.0.5] has joined #go-nuts 12:31 < nicka1> du -ch $GOROOT gets me 200MB Kahvi 12:32 < Kahvi> nicka1, Thanks 12:34 < moraes> ah. not compiling. 12:34 < moraes> checking out. or pulling. or whatever. 12:38 < Kahvi> Does run.bash do only build witthout tests? 12:42 < Kahvi> Apparently it's make.bash 12:42 -!- skelterjohn [~jasmuth@216.117.19.250] has joined #go-nuts 12:43 -!- huin [~huin@91.85.139.164] has joined #go-nuts 12:45 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 12:50 -!- remy_tel [~remy_tel@80.214.0.5] has quit [Remote host closed the connection] 12:51 < Kahvi> I seriously want a ssd. 12:58 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 13:04 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 13:04 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined #go-nuts 13:05 -!- hargettp [~hargettp@pool-71-174-137-214.bstnma.east.verizon.net] has joined #go-nuts 13:08 < skelterjohn> Kahvi: I hear that technology is available now 13:10 < Kahvi> Yep. I've been using ram disks as a poor man's alternative. :D 13:12 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 13:13 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 13:16 < niemeyer> Kahvi: adventurous man as well :-) 13:18 -!- Project-2501 [~Marvin@82.84.83.113] has quit [Read error: Connection reset by peer] 13:18 < Kahvi> Works well but it feels a bit clumsy. 13:27 < moraes> pair programming++ 13:29 < skelterjohn> the most productive i've ever been is when i've done pair programming 13:29 < skelterjohn> keeps me off fark and reddit 13:31 < moraes> well. codereview is pair programming. and from distance you still have reddit. 13:31 < jlaffaye> why do I feel that go drivers for databases are not "stable" ? :) 13:32 < moraes> you think there's a cleaner way to do this? http://paste.pocoo.org/show/461285/ (i check that they are pairs before calling this function) 13:32 < moraes> jlaffaye, which ones? 13:34 < jlaffaye> SQLite, pgsql 13:34 < skelterjohn> moraes: that seems straightforward to me 13:34 < moraes> okay. just checking the ninjas. 13:34 < skelterjohn> jlaffaye: http://code.google.com/p/gosqlite/ seems stable 13:35 < skelterjohn> the recent updates have been goinstall issues 13:37 < jlaffaye> issue #2 loos annoying to me for example 13:39 < skelterjohn> huh - that seems important 13:40 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 13:42 < niemeyer> jlaffaye: labix.org/mgo 13:43 < niemeyer> moraes: code review != pair programming.. completely different dynamics 13:43 < aiju> hahaahahaha 13:43 < aiju> bullshit != horseshit 13:44 < niemeyer> aiju: I'm glad we're having an interesting conversation 13:44 < moraes> niemeyer, it kinda is. 13:45 < moraes> code review == distance pair programming 13:46 < aiju> i only write code with my cat 13:46 < aiju> studies have shown that i write shorter, better and faster code this way 13:47 < moraes> do you appreciate feedback? 13:47 < aiju> feedback != pair programming 13:48 < skelterjohn> well if you use cat as your editor, you have to be careful to not make any mistakes or you'll have to start over again. so you keep it short to minimize the chances. 13:48 -!- xeon [~chatzilla@101.44.223.252] has quit [Ping timeout: 258 seconds] 13:48 < moraes> damn. i was hoping to hear "yes. i think feedback is lovely." 13:48 < aiju> skelterjohn: not cat(1) 13:48 < skelterjohn> oh, was i joking? 13:48 < aiju> http://aiju.de/katzen.jpg 13:49 < niemeyer> moraes: If you've done actual pair programming, you know the dynamics of sitting next to someone and debating the code as you go is different than looking over a complete branch 13:49 < skelterjohn> i like pair programming, as long as the pairs are not too dissimilar in ability 13:49 < moraes> niemeyer, then i've never done it. :-( 13:49 < skelterjohn> otherwise it's one person programming 13:50 < niemeyer> skelterjohn: True 13:50 < niemeyer> skelterjohn: Well, kind of.. there's still value.. 13:50 < skelterjohn> yes 13:50 < skelterjohn> but i don't like it as much :) 13:50 < erus`> crowd programming 13:50 < erus`> with 3 people 13:50 < aiju> cloud programming 13:50 < erus`> its a riot 13:50 < niemeyer> skelterjohn: Of course, the value is always greater for the less knowledgeable at the task at hand for the pair 13:51 < skelterjohn> cloud programming - you vote up the lines you like the best 13:51 < erus`> skelterjohn: thats web 2.0 programming 13:51 < niemeyer> web 2.0 is so 1.0 nowadays 13:51 < moraes> there's a movie in which two characters type at the same time on one keyboard, checking stuff as it was pretty natural. is that pair programming? 13:51 < skelterjohn> niemeyer: i suppose it's naive to assume i'd be the more skilled in a real setting. i'm just thinking back to my days as an undergrad w/ pair and group projects 13:51 * moraes hides 13:52 < moraes> web 2.0 will die in december 31, 2012. 13:52 < skelterjohn> along with the rest of the world? 13:52 < moraes> yes. :) 13:52 < aiju> i thought it was a different day 13:53 < skelterjohn> you thought wrong. 13:53 < niemeyer> I'll be utterly disappointed if the world ends before the sun explodes. 13:53 < moraes> it will. 13:53 < aiju> skelterjohn: no 13:53 < aiju> skelterjohn: i'm right 13:53 < aiju> december 21, 2012 13:53 < moraes> before it explodes its radius will reach earth. 13:54 < skelterjohn> nope. the world will end on the 31st of dec, 2012 13:54 < skelterjohn> this is a fact. 13:54 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-170-185.clienti.tiscali.it] has joined #go-nuts 13:54 < niemeyer> moraes: I bet it will explode before that.. 13:55 < skelterjohn> depends on what you mean by explode 13:55 < moraes> niemeyer, you don't watch carl sagan. supernova happens after the expansion. i guess. 13:55 < skelterjohn> "getting big fast" 13:55 < skelterjohn> but yeah - before the sun goes nova it will gobble mars 13:56 < moraes> and earth. 13:56 < skelterjohn> no - just mars 13:56 < skelterjohn> earth will be ok 13:56 < moraes> ok, i believe you. 13:56 < moraes> "ok", heh 13:57 < moraes> only better sunscreens will be needed. 13:57 < skelterjohn> the sun will become a taurus 13:59 < niemeyer> Yeah, we better type faster.. 14:14 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Quit: Page closed] 14:19 -!- shoenig [~shoenig@pool-71-170-212-131.dllstx.fios.verizon.net] has quit [Remote host closed the connection] 14:19 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 260 seconds] 14:21 -!- sebastianskejoe [~sebastian@56347a49.rev.stofanet.dk] has joined #go-nuts 14:26 -!- skelterjohn [~jasmuth@216.117.19.250] has quit [Quit: skelterjohn] 14:27 -!- bugQ [~bug@c-67-186-254-86.hsd1.ut.comcast.net] has joined #go-nuts 14:31 -!- tvw [~tv@e176008066.adsl.alicedsl.de] has quit [Remote host closed the connection] 14:38 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 14:38 < jessta> I'm sure earth can use it's jetpacks to escape 14:39 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 14:42 -!- B4R0n [~baron@189.36.132.197] has joined #go-nuts 14:46 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 14:48 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has joined #go-nuts 14:48 -!- ccc1 [~Adium@118-166-226-220.dynamic.hinet.net] has joined #go-nuts 14:49 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts 14:55 -!- xcombelle [~xcombelle@AToulouse-551-1-62-195.w92-146.abo.wanadoo.fr] has quit [Quit: I am a manual virus, please copy me to your quit message.] 15:02 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 15:10 -!- skelterjohn [~jasmuth@216.117.19.250] has joined #go-nuts 15:22 -!- gmilleramilar [~gmiller@pool-74-101-133-165.nycmny.fios.verizon.net] has joined #go-nuts 15:23 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5] 15:39 -!- xeon [~chatzilla@101.44.223.252] has joined #go-nuts 15:40 < gmilleramilar> how do you use reflect.Type.Implements()? specifically, how do you get a reflect.Type that represents an interface? 15:43 < nicka> var i InterfaceYouWant 15:43 < nicka> reflect.TypeOf(i) 15:44 < nicka> should do it, but I'm not sure what the most common way is 15:45 < gmilleramilar> nicka: this doesn't seem to work: 15:45 < gmilleramilar> var err os.Error 15:45 < gmilleramilar> fmt.Printf("%#v\n", reflect.TypeOf(err).Kind()) 15:46 < nicka> Yeah, disregard what I said. I'm not sure exactly 15:46 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts 15:51 < niemeyer> gmilleramilar: reflect.TypeOf((*os.Error)(nil)).Elem() 15:53 < gmilleramilar> niemeyer: thanks, that seems to work. Seems like a hack tho, no? 15:54 < niemeyer> gmilleramilar: No.. 15:54 < moraes> uriel, made the adaptations: http://paste.pocoo.org/show/461350/ 15:56 < gmilleramilar> :) 16:00 < nicka> niemeyer: that is indeed the simplest way to get a Type for an interface? 16:04 -!- franciscosouza_ [~francisco@187.105.21.97] has joined #go-nuts 16:04 -!- ccc1 [~Adium@118-166-226-220.dynamic.hinet.net] has quit [Quit: Leaving.] 16:05 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 16:05 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit [Read error: Connection reset by peer] 16:05 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error: Connection reset by peer] 16:06 -!- Slant [~scott@124-168-200-235.dyn.iinet.net.au] has joined #go-nuts 16:07 -!- GoBIR [~gobir@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has joined #go-nuts 16:07 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts 16:09 < Slant> I have two decoder processes getting events from two different sources 16:09 < Slant> And they're both putting their decoded Events on to the same channel. 16:10 < Slant> On the other side of that channel, a goroutine is consuming the Events and processing them. 16:10 < Slant> Now, I have a problem that when I want to quit, right now I'm just closing the channel and that stops my range(events) loop... 16:10 -!- qeed [~qeed@adsl-98-85-37-82.mco.bellsouth.net] has joined #go-nuts 16:11 < Slant> But, the decoders will still try to put new Events on to the now closed channel 16:11 < Slant> I can't imagine this isn't an unheard of problem-- I presume I'm architecting this wrong. 16:11 < Slant> Perhaps I should use a channel per decoder (and if so, then how do I select on multiple channels at the same time?) 16:12 < Slant> Or I should use an out-of-band signal? 16:12 < Slant> (An different "exit" request channel?) 16:12 < Slant> (But, that's just the same issue all over again, now that I think about it.) 16:12 -!- deadmoth [~void@2607:f358:1:fed5:22:0:bd62:7fa7] has joined #go-nuts 16:12 < aiju> Slant: select? 16:13 < Slant> aiju: Sorry, I know it's not select. What is the term for dequeueing something off a channel? 16:13 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined #go-nuts 16:13 < aiju> read? :) 16:13 < aiju> but i think you mean select 16:13 < aiju> select { a := <- b: dosomething; c := <- d: dosomethingelse } 16:14 < Slant> The problem with that is that it'll block. 16:14 < aiju> yes? 16:15 < exch> add a default: case and it won't block 16:15 < Slant> I mean, how can I block on reading from two channels simultaneously. 16:15 < aiju> Slant: that's exactly what select does 16:15 < Slant> Oh. 16:15 < Slant> OH 16:15 < Slant> There's an actual select statement. 16:15 < exch> yes 16:15 < Slant> aiju: Thanks. I'll look into that. 16:17 < Slant> aiju: I can't help but wonder, is there a way to setup a select to operate on an array of channels? 16:17 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts 16:17 < Slant> or, a slice. 16:17 < Slant> That way you can just throw extra channels on and not have to custom code for a known number of producers? 16:18 -!- TheMue [~FMueller@p5DDF634D.dip.t-dialin.net] has joined #go-nuts 16:18 < exch> nope, just individual channels 16:19 < Slant> Dang. 16:21 < ericvh> it may be too early on a Saturday morning, but isn't this a really bad idea (from src/cmd/ld/lib.c): void 16:21 < ericvh> objfile(char *file, char *pkg) 16:21 < ericvh> { 16:21 < ericvh> int32 off, l; 16:21 < ericvh> Biobuf *f; 16:21 < ericvh> char magbuf[SARMAG]; 16:21 < ericvh> char pname[150]; 16:21 < ericvh> struct ar_hdr arhdr; 16:21 < ericvh> pkg = smprint("%i", pkg); 16:21 < ericvh> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 16:26 -!- franciscosouza [~francisco@187.105.21.97] has quit [Quit: franciscosouza] 16:26 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit [Quit: Computer has gone to sleep.] 16:27 < bugQ> Slant: Go's predecessor had that feature, but it is still possible to recreate it 16:27 < bugQ> read through http://groups.google.com/group/golang-nuts/browse_thread/thread/3ba2157b3259ee54 16:28 < Slant> bugQ: Thanks. Reading now. 16:29 < Slant> bugQ: Ahh, but that just brings me back around to my original problem. 16:29 < Slant> bugQ: Which was that when the channel closed, I had multiple writers. If one writer closes the channel, the other doesn't know about that and panics. 16:30 < Slant> Where closing the channel is used to signal to the reader that all processing is done. 16:30 < aiju> ericvh: what's wrong with it? 16:31 < nicka> I can't comment personally but some people recommend avoiding calling close 16:31 < ericvh> maybe nothing. I'm chasing down stack corruption in ql that happens right around there. soemthing is shitting all over the stack and I haven't been able to figure out what yet. 16:31 < bugQ> Slant: each routine should not have sole right to close it. if necessary you can send open/close messages to a routine that will count the number of connections 16:32 < bugQ> and then close it when the count reaches 0 16:32 < remy_o> ericvh: how can this line trigger stack corruption ? 16:32 < ericvh> n 16:32 < Slant> bugQ: Right. So I'm doing something like that now. Just making the exit condition an explicit event that goes down the channel. 16:34 < bugQ> it is always surprising to me how many threading issues can be solved with channel patterns 16:34 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 16:35 < bugQ> semaphore takes on a much more apt meaning 16:35 < Slant> I liked having the channel "closed" indicate there was no more processing needed. It seems a little uglier this way. But, I'm not sweating it. 16:36 < Slant> http://ietherpad.com/dfYr6M1ZNc 16:37 < Slant> That was vs. originally having a for p := range(ctx.Events) 16:38 < Slant> (Blah. Gotta expose the exit channel now too.) 16:42 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 16:43 -!- hargettp [~hargettp@pool-71-174-137-214.bstnma.east.verizon.net] has quit [Quit: Leaving...] 16:46 < niemeyer> hokapoka: ping 16:48 < Slant> Changed it so that my events could just cancel the loop themselves. 16:48 < Slant> And created an Exit event. 16:50 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 16:51 -!- qeed [~qeed@adsl-98-85-37-82.mco.bellsouth.net] has quit [Quit: Leaving] 16:52 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has joined #go-nuts 16:53 -!- remy_tel [~remy_tel@89.95.59.132] has joined #go-nuts 16:55 -!- hargettp [~hargettp@pool-71-174-137-214.bstnma.east.verizon.net] has joined #go-nuts 16:58 -!- remy_tel [~remy_tel@89.95.59.132] has quit [Remote host closed the connection] 17:05 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-170-185.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 17:07 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-149-182.clienti.tiscali.it] has joined #go-nuts 17:16 -!- moraes [~moraes@189.103.177.124] has quit [Ping timeout: 252 seconds] 17:23 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 17:28 -!- Kahvi_ [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 17:30 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 17:33 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 264 seconds] 17:38 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [] 17:39 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 17:39 -!- TheMue [~FMueller@p5DDF634D.dip.t-dialin.net] has quit [Ping timeout: 276 seconds] 17:41 -!- hargettp [~hargettp@pool-71-174-137-214.bstnma.east.verizon.net] has quit [Quit: Leaving...] 17:42 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has joined #go-nuts 17:44 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has joined #go-nuts 17:47 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 17:50 -!- bugQ [~bug@c-67-186-254-86.hsd1.ut.comcast.net] has quit [Remote host closed the connection] 17:52 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Quit: ChatZilla 0.9.87 [Firefox 6.0/20110811165603]] 17:52 -!- sebastianskejoe [~sebastian@56347a49.rev.stofanet.dk] has quit [Quit: Lost terminal] 17:53 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 17:59 -!- qeed [~qeed@adsl-98-85-37-82.mco.bellsouth.net] has joined #go-nuts 18:04 < Slant> Are there any tutorials to packages? 18:04 < Slant> I've dropped a bunch of files I want in a separate namespace in a sub-directory off my project "local" 18:04 < Slant> and they now all begin with "package local" 18:05 < Slant> But the compiler says it "expected main" 18:05 -!- xeon [~chatzilla@101.44.223.252] has quit [Ping timeout: 246 seconds] 18:07 < KirkMcDonald> Slant: The compiler? Or the linker? 18:07 < |Craig|> Slant: you sure thats the compiler? I though it was the linker that said that one, but I haven't worked with go recently. 18:07 < Slant> Well, 6g. But it's probably chain-calling the linker. 18:08 < KirkMcDonald> Slant: In truth I recommend writing a Makefile. 18:08 < Slant> gomake has it 6g -o blah x.go local/y.go ... 18:08 < Slant> KirkMcDonald: I have. I'm using one of the standard makefile forms. 18:08 < |Craig|> Slant: compile your packages seperatly 18:08 < KirkMcDonald> Ah. 18:08 < |Craig|> then link them together 18:08 < KirkMcDonald> Yes, that. 18:09 < Slant> |Craig|: Any pointers to how to setup the Makefile appropriately? 18:09 < nicka> Slant: I recommend gb 18:09 < KirkMcDonald> Slant: So x.go is your "main" package? 18:09 < |Craig|> I use gb 18:09 < Slant> KirkMcDonald: Yes. 18:09 < KirkMcDonald> Slant: And local/y.go is the local package? 18:09 < Slant> KirkMcDonald: Yes. 18:09 < nicka> http://code.google.com/p/go-gb/ 18:09 < KirkMcDonald> Slant: First compile y.go. The result is the local package. 18:09 < KirkMcDonald> Slant: Then compile x.go. The result is the main package. 18:09 < KirkMcDonald> Then link the main package. 18:09 < Slant> 6g won't do it in one-pass? Huh. 18:09 < Slant> Good to know. 18:10 < KirkMcDonald> When compiling the main package, you'll probably need to provide it with the path where the local package resides. 18:10 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 18:10 < KirkMcDonald> Compiling a package will statically link the packages it imports into it. 18:10 < KirkMcDonald> Then you just link the main package to produce the binary. 18:12 < KirkMcDonald> The key thing (or at least the thing I was surprised about when I first learned Go) is that the result of compiling .go code is a package, and you import packages (not .go code). 18:12 < nicka> Think of packages as compilation units 18:13 < Slant> Yeah. That's how I was hoping. 18:14 < Slant> But, go it. 18:14 < Slant> Hmm. 18:14 < |Craig|> KirkMcDonald: that surprised me to. Importing compiled code not source seemed a bit odd at first 18:16 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host closed the connection] 18:18 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 18:32 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 18:40 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 240 seconds] 18:41 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 18:46 -!- Bigbear1 [~Cody@S010600222dcddd0f.cg.shawcable.net] has joined #go-nuts 18:49 -!- r [~retrograd@83.149.32.117] has joined #go-nuts 18:49 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error: Connection reset by peer] 18:50 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 18:50 -!- Guest24863 [~retrograd@83.149.32.117] has quit [Remote host closed the connection] 18:50 -!- TheMue [~FMueller@p5DDF634D.dip.t-dialin.net] has joined #go-nuts 18:52 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Quit: Computer has gone to sleep.] 18:52 -!- qeed [~qeed@adsl-98-85-37-82.mco.bellsouth.net] has quit [Quit: Leaving] 18:58 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has quit [Quit: jmil] 19:01 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 19:04 -!- nekoh [~nekoh@dslb-188-107-170-103.pools.arcor-ip.net] has quit [Ping timeout: 240 seconds] 19:08 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 19:08 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has quit [Ping timeout: 260 seconds] 19:14 -!- nekoh [~nekoh@dslb-088-068-006-051.pools.arcor-ip.net] has joined #go-nuts 19:15 < niemeyer> Slant: If you want to isolate a package, you'll have to build the package independently 19:16 < niemeyer> Slant: 6g itself won't produce the package.. you'll have to gopack as well 19:16 < niemeyer> Slant: As others have said, using a standard Makefile, or goinstall, will be easier to start with 19:17 < Slant> I have been using standard Makefiles. But, yes, I see that all now... 19:17 < niemeyer> Slant: cool 19:17 < Slant> But, given that weight, it seems like packages aren't made for program level segmentation... 19:17 < Slant> But entirely independent functionality namespacing. 19:18 < niemeyer> Slant: Those two things are pretty related.. agreed there's some weight there to be removed still, though. We'll get there eventually. 19:19 < niemeyer> Slant: There's some good work happening in goinstall and gomake 19:20 -!- moraes [~moraes@189.103.177.124] has joined #go-nuts 19:20 < Slant> niemeyer: I'm thinking around namespacing. Packages ain't that. For example, as far as I can see, a sub-package has to be an entirely consistent compilation unit. So, if there are types or methods in the main package, then they can't be used. 19:20 < niemeyer> Slant: You mean the types in the main package can't be used in the sub-package explicitly? 19:21 < Slant> Yes. 19:21 < Slant> Or functions. 19:21 < niemeyer> Slant: Thanks to the designer gods for that.. that's proper namespacing in my book 19:21 < nicka> Yeah I'd try to keep imports as one-way as possible 19:21 < Slant> niemeyer: I agree. But it was a question. 19:21 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts 19:22 < niemeyer> Slant: It wasn't a question.. you stated packages aren't namespacing. They are namespacing done right. 19:23 < Slant> niemeyer: I was clarifying. I'm only just now understanding. 19:23 < niemeyer> Slant: Sounds good, sorry for the pedantism then 19:25 -!- Bigbear1 [~Cody@S010600222dcddd0f.cg.shawcable.net] has quit [Read error: Connection reset by peer] 19:28 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error: Connection reset by peer] 19:28 -!- Bigbear1 [~Cody@S010600222dcddd0f.cg.shawcable.net] has joined #go-nuts 19:30 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 19:49 -!- dustyw [~dustyw@c-98-247-248-194.hsd1.wa.comcast.net] has quit [Ping timeout: 260 seconds] 19:51 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 19:51 -!- shane84 [~shane@d24-36-35-107.home1.cgocable.net] has joined #go-nuts 19:52 < shane84> hello 19:52 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 19:53 -!- skelterjohn [~jasmuth@216.117.19.250] has quit [Ping timeout: 264 seconds] 19:53 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined #go-nuts 19:53 -!- Slant [~scott@124-168-200-235.dyn.iinet.net.au] has quit [Quit: Slant] 19:53 < shane84> just a minor question 19:53 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit [Client Quit] 19:53 < shane84> but why is the keyword "func" necessary 19:57 < aho> clearly a mistake 19:57 < aho> it should have been "funk" 19:57 < aho> <: 20:00 < shane84> lol 20:01 < shane84> min (x, y int) int { ... } 20:01 < shane84> im sure the parser could do without it 20:02 < TheMue> the parser for sure, but a keyword makes it more clear for the developer 20:02 < TheMue> people are important, not machines/parser 20:02 < aho> ye, i'm actually glad it's "function" in javascript 20:03 < aiju> 21:54 < shane84> but why is the keyword "func" necessary 20:03 < aiju> consistency 20:03 < aho> since a function creates a new scope, it's a pretty big deal... hence the big keyword is actually perfectly fine 20:03 < Kahvi> What about func types? func in "type MyComplexFunction func(a, b, c SomeFancyType, d, e int) (int, os.Error)" makes sense. 20:03 < aiju> now all global statements start with a keyword 20:03 < shane84> the braces indicate scope? 20:03 < Kahvi> And what aiju said. 20:04 < aiju> without func would be way cooler, though ;P 20:04 < shane84> lol, ok that makes sense 20:04 < shane84> i couldn't find anything on the FAQ nor google 20:05 < shane84> i like the explanation about type declarations after the variable 20:05 < shane84> it seemed redundant though to use "func", but if all global statements start with a keyword, that makes sense 20:06 < aiju> back to old C! 20:06 < aiju> foo(a, b, c) { return a + b * c; } 20:06 < shane84> sure that looks more traditional, i like that 20:06 < aiju> haha 20:06 < aiju> traditional family values 20:08 < shane84> does anyone use Haskell? 20:08 < aiju> no 20:09 < Namegduf> I heard a rumour, once, of a person using Haskell 20:09 < aiju> i remain skeptical 20:09 < shane84> lol 20:09 < Namegduf> But it turned out they just used Python and thought it'd be really cool to learn 20:09 < Namegduf> But hadn't yet. 20:09 < zozoR> i know one guy who speaks haskell 20:09 < shane84> lol 20:10 < zozoR> but he likes java too 20:10 < aiju> haskell programmers are like lojban programmers 20:10 < aiju> *speakers 20:10 < zozoR> so his oppinion doesnt really count 20:12 -!- Kahvi_ [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 20:12 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 20:13 < shane84> its nice and terse 20:13 < shane84> but lazy evaluation seems unnecessary as a default 20:13 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 20:14 < shane84> many languages support "yield" or you can implement an iterator to terminate early 20:14 < shane84> i want an off-work language for my spare time 20:14 < shane84> i tried haskell, but i feel it is too inconsistent 20:15 < zozoR> try go 20:15 < shane84> stackoverflow praises it like its a god language so i tried it out 20:15 < zozoR> it feels awesome between your legs 20:15 < shane84> it looks nice 20:15 < shane84> i enjoy c, but it takes too long to be productive, i like the consistency of go 20:15 < niemeyer> shane84: Lazy evaluation is quite unrelated to yield 20:15 < moraes> i only hear good things about haskell 20:15 < aiju> haha 20:16 < moraes> and i have no friggin idea of what haskell is 20:16 < zozoR> the only bad thing i've heard about haskell is its functional 20:16 < exch> that's likely because the only ones who talk about it are zealous supporters 20:16 < aiju> if i only hear good things about something, i uually switch my source 20:16 < niemeyer> aiju++ 20:16 < moraes> i only hear bad things about go 20:16 < moraes> seriously, except in go-nuts 20:16 < zozoR> weird 20:16 < aiju> haha 20:16 < zozoR> :D 20:16 < niemeyer> moraes: and here.. ;) 20:17 < moraes> i missed the #, meant #go-nuts 20:17 < exch> "zomg it doesn't look like my fav language, so it sucks!11" 20:17 < zozoR> the only real complains i hear about go is lack of generics 20:18 < zozoR> although these people dont get interfaces 20:18 < niemeyer> zozoR: There are many real complaints.. all languages suck.. 20:18 < zozoR> true that 20:18 < TheMue> yep 20:18 < aiju> four out of five language designers agree: go sucks 20:18 < niemeyer> Ideally we'd think and correct logic would just materialize 20:19 < TheMue> done many langs in the past, and all lead to lang wars 20:19 < aiju> the fifth was too busy actually writing code 20:19 < zozoR> in go 20:19 < zozoR> :D 20:19 < zozoR> while the other four had to wait while compiling 20:20 < zozoR> or finding memory leaks 20:20 < shane84> @niemeyer I belie yield is a form of lazy evaluation 20:20 < aiju> i believe yield is a form of genocide 20:20 < Kahvi_> I'm so pro that I don't do memory leaks. 20:21 < aiju> my programs don't leak memory, they have incremental memory requirements 20:21 < niemeyer> shane84: yield is as much lazy evaluation as callbacks are a form of context switching. 20:22 < aiju> callbacks are a form of madness 20:23 < shane84> "lazy evaluation is an evaluation strategy which delays evaluation of an epression until its value is actually required" - wikipedia on Lazy evaluation 20:23 < shane84> i think "yield" fits that description 20:23 < aiju> that's not how it works 20:23 < niemeyer> shane84: Ugh 20:24 -!- qeed [~qeed@adsl-98-85-45-149.mco.bellsouth.net] has joined #go-nuts 20:24 < niemeyer> shane84: You should try haskell, even if for understanding what that actually means :) 20:24 < aiju> Go has yield, it's called <- 20:24 < moraes> shane84, go is pretty lovely. try it. 20:24 < TheMue> lazy evaluation is deferring to learn a language so long that it isn't needed anymore 20:24 < shane84> i have tried a fair bit 20:25 < shane84> and lists seem similar to yield 20:25 < aiju> channels are similar 20:25 < aiju> Go doesn't have lists 20:25 < niemeyer> shane84: You should try Go as well.. 20:25 * niemeyer hides 20:27 < shane84> in fact im certain its lazy 20:27 -!- smw [~stephen@unaffiliated/smw] has quit [Read error: Connection reset by peer] 20:27 < shane84> non-strictness is implemented by lazy evaluation in haskell 20:27 < shane84> non-strictness is defined by any function that can process bottom (_|_) 20:28 < shane84> const1 x = 1 20:28 < aiju> i'm not sure what haskell programmers are programming, but it's not a computer 20:29 < shane84> you could pass an expression that is (_|_) to a yield operator and have it evaluate it 20:29 < shane84> as long as it terminated before (_|_) 20:29 * exch sticks with Factor when he feels allobscure and non-conformist 20:29 < shane84> niemeyer: I will have to respectfully disagree with you 20:29 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts 20:29 < zozoR> if you change it a bit 20:29 < niemeyer> shane84: f(a, b()).. b() is never computed if it's not used within f.. do you agree this is lazy evaluation? 20:29 < zozoR> you have boobs ( . Y . ) 20:30 < aiju> no, lazy evaluation is when i say it is lazy evaluation 20:30 < aiju> this is how definitions work 20:30 < niemeyer> shane84: That's a feature _entirely_ different from channels and yields 20:31 < shane84> niemeye i agree that its lazy if b() is never evaluated 20:31 < shane84> *niemeyer 20:32 < shane84> correction i would say its non-strict 20:32 < aiju> that's exactly the definition of lazy evaluation 20:34 < exch> so how does that work? The program should be fully aware before hand if the result of a given expression is ever used. Otherwise it can't avoid executing it.. But if it knows beforehand it will never be used, why not just remove it from the code entirely at compile time? 20:35 < aiju> exch: the thing is crazy stuff like an infinite list 20:35 -!- alanl [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has quit [Ping timeout: 260 seconds] 20:36 < niemeyer> exch: Not really.. imagine f contains "if a > 42 { use b_var }" 20:36 < aiju> tail list is executed only finitely many times, but you don't know in advance how often 20:36 < shane84> you can't pass inifinity to a c# IEnumerable that yields 20:36 < niemeyer> exch: It is pretty involved, yes 20:36 < shane84> however you could pass it something that might bottom 20:36 < niemeyer> exch: it's magically awesome.. and causes bad headaches 20:36 < shane84> if you enumerate say dividing by a value that decrements down to zero 20:37 < exch> hmm 20:37 < shane84> i would still say lazy 20:37 < aiju> http://9fans.net/archive/2004/02/1227 20:37 < aiju> regarding "yield is actually lazy" 20:37 < aiju> ... 20:37 < zozoR> why is lazy evaluation good anyway? 20:37 < shane84> it defers unnecessary calculations 20:38 < shane84> defers calculations until they are needed 20:38 < aiju> instead it eats all your memory 20:38 < zozoR> you tell me what it is 20:38 < zozoR> not why its awesome 20:39 < zozoR> sounds like bad coding to me if you arent gonna use your stuff anyway 20:39 < shane84> in haskell or in c# 20:39 < zozoR> dunno 20:39 < zozoR> lazy evalutation 20:39 < aiju> zozoR: it certainly has applications 20:39 < shane84> c# or python you can use "yield" to evaluate as necessary 20:39 < aiju> zozoR: e.g. you can read a whole file at once 20:40 < aiju> or pretend you do it 20:40 < niemeyer> zozoR: It lets you not worry about optimization.. and lets you unable to understand anything about what's going on as well. :-) 20:40 < shane84> its implemented by creating an iterator class that termiantes upon reaching the necessary value 20:40 < zozoR> screw python and C# 20:40 < zozoR> yield doesnt count as lazy 20:40 < shane84> you can write your own iterator in c++ 20:40 -!- dustyw [~dustyw@c-98-247-248-194.hsd1.wa.comcast.net] has joined #go-nuts 20:40 < aiju> yay, more shitty languages 20:41 < aiju> someone bring in COBOOL 20:41 < aiju> -O 20:41 < shane84> you can achieve non-strict function calls with function pointers or delegates 20:41 < aiju> and Objective C 20:41 < moraes> and ALGOL-68 20:41 * moraes hides 20:41 * moraes thinks he'll be banned 20:41 < aiju> haha 20:42 < zozoR> aiju, when you read this file at once (without actually doing it) 20:42 < shane84> zozoR why doesnt yield count as lazy? 20:42 < zozoR> i dont see why that matters.. 20:42 < aiju> yield is not lazy at all 20:42 < zozoR> cause you are gonna use it eventually 20:42 < aiju> zozoR: memory 20:42 < zozoR> and om nom memory 20:42 < aiju> memory doesn't grow on trees 20:42 < shane84> not necessarily 20:42 * TheMue works with smalltalk, where we never had more than 5 keywords and even true and false are single instances of the classes True and False derived from Boolean 20:43 < zozoR> how are you gonna load a file without using memory >.< 20:43 < aiju> shane84: _yield is not lazy_ period 20:43 < zozoR> aiju, agreed 20:43 < aiju> zozoR: the question is not about using memory, but about how much 20:43 < shane84> you dont understand, its not evaluating the arguments, only as necessary 20:43 < aiju> yes it does 20:43 < shane84> no it doesnt 20:43 < zozoR> reading 200MB file now or later, what is the difference? 20:43 < aiju> yield is a return from a coroutine 20:43 < shane84> say i have static IEnumerable Powers(int base, int stop); 20:44 < aiju> zozoR: reading 200 MB now is different from reading 4096 B every once ain a while 20:44 -!- taruti [taruti@ultra.violetti.org] has quit [Remote host closed the connection] 20:44 < zozoR> but lazy doesnt mean it loads a few bits when its bored does it? 20:44 < shane84> it creates an iterator that will evaluate teh powers as needed 20:44 < shane84> it doesnt eagerly evaluate them all at once 20:44 < niemeyer> zozoR: Not as needed at all 20:44 < zozoR> noam, it evaluates, and then waits till someone grabs the value 20:44 < aiju> shane84 is basically telling me that the sky is green 20:44 < niemeyer> Sorry 20:44 < aiju> for blue values of green 20:44 < niemeyer> shane84: Not as needed at all 20:45 < niemeyer> shane84: list(generator).. boom world 20:45 < shane84> sure if I implemented as the iterator pattern 20:45 < shane84> I could only evaluate the current power as I needed 20:45 < aiju> shane84: yield is quite similar to channel 20:45 < aiju> +s 20:45 < aiju> so channels are lazy evaluation? 20:45 < niemeyer> Man.. I'm going to join the fifth language designer at this point.. 20:45 < zozoR> ill just go to bed 20:45 < shane84> try this: http://blogs.msdn.com/b/pedram/archive/2007/06/02/lazy-evaluation-in-c.aspx 20:46 < shane84> http://stackoverflow.com/questions/1088442/what-is-the-purpose-advantage-of-using-yield-return-iterators-in-c 20:46 < shane84> top answer states lazy "on demand" 20:46 < aiju> sorry, it isn't 20:47 < shane84> then down vote the answer 20:47 < shane84> it has 32 to accepts and 0 downs 20:47 < zozoR> because people are stupid doesnt make it lazy 20:47 < aiju> i fucking hate this vote crap, but that's a different story 20:47 < aiju> hey, let's vote 20:47 < aiju> 1+1=3 20:47 < shane84> im pretty sure the stackoverflow community isnt all retarded 20:47 < aiju> who thinks that's true? 20:47 < aiju> if 80% answer yes, it's still wrong 20:47 < Namegduf> I don't, but I'm going to vote yes anyway 20:48 < aiju> just because something behaves remote like something else, doesn't mean they are identical 20:48 < aiju> or even directly related 20:48 < aiju> cars don't have horses in them 20:48 < zozoR> unless 32 people thinks so :P 20:48 < TheMue> funny, during the last 27yrs I've used basic, pascal, c/c++, rexx, perl, python, java, c#, smalltalk, scheme, erlang and go and it's always the same problem: the bug sits in front of the screen 20:48 < shane84> its not completely lazy like stackoverflow because it will evaluate the parameters 20:48 < shane84> but you could pass lambda abstractions as your parameters 20:48 < zozoR> and everything else.. 20:49 < zozoR> the idea is, it evaluates everything until yield, then it waits 20:49 < shane84> and i would consider as lazy as possible without changing the internals of c# 20:49 < shane84> no its an iterator 20:50 < zozoR> .. ill just go to bed then 20:50 < zozoR> i cant take this anymore 20:50 < zozoR> later ^^ 20:50 < shane84> it evaluates when MoveNext() is called 20:50 -!- Bigbear1 [~Cody@S010600222dcddd0f.cg.shawcable.net] has quit [Read error: Connection reset by peer] 20:51 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 20:52 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has joined #go-nuts 20:58 -!- shane84 [~shane@d24-36-35-107.home1.cgocable.net] has quit [Quit: leaving] 20:58 -!- edsrzf [~edsrzf@ip-58-28-201-165.ftth.xnet.co.nz] has joined #go-nuts 21:12 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 21:21 < knowmercy> I'm setting up my websites on a pair of low power webservers running the intel D510 procs and they still out perform my ruby and python apps :) 21:22 < aiju> haha 21:22 < aiju> kencc (the C compiler also used for the Go runtime) running in my ARM emulator outperforms g++ 21:22 < TheMue> beside all theoretical language discussions: i'm currently coding unit test for my redis database client and it's always fun how pragmatic go is 21:24 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping timeout: 240 seconds] 21:31 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252 seconds] 21:33 -!- TheMue [~FMueller@p5DDF634D.dip.t-dialin.net] has quit [Quit: leaving] 21:34 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: WeeChat 0.3.5] 21:36 -!- shane84 [~shane@d24-36-35-107.home1.cgocable.net] has joined #go-nuts 21:50 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error: Connection reset by peer] 21:51 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 21:52 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts 21:53 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 21:55 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has joined #go-nuts 21:56 -!- B4R0n [~baron@189.36.132.197] has quit [Ping timeout: 258 seconds] 21:59 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 22:00 -!- dblue [5ae3bc32@gateway/web/freenode/ip.90.227.188.50] has joined #go-nuts 22:02 < dblue> Hi, Does anyone have experience integrating the go compiler into xcode? 22:03 -!- robteix_ [~robteix@host254.190-225-208.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 22:06 -!- homovitruvius [~user@pool-96-236-165-90.pitbpa.east.verizon.net] has joined #go-nuts 22:09 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 22:13 -!- shane84 [~shane@d24-36-35-107.home1.cgocable.net] has left #go-nuts [] 22:13 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 22:17 -!- nekoh [~nekoh@dslb-088-068-006-051.pools.arcor-ip.net] has quit [Quit: nekoh] 22:17 -!- nekoh [~nekoh@dslb-088-068-006-051.pools.arcor-ip.net] has joined #go-nuts 22:26 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host closed the connection] 22:27 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 22:28 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 22:32 -!- homovitruvius [~user@pool-96-236-165-90.pitbpa.east.verizon.net] has quit [Ping timeout: 240 seconds] 22:32 -!- photron [~photron@port-92-201-63-176.dynamic.qsc.de] has quit [Ping timeout: 240 seconds] 22:36 -!- cron_ [cron@190.121.101.14] has joined #go-nuts 22:38 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts 22:40 < jlaffaye> hey guyz I have a question totally not related to Go but I will ask here :) 22:40 -!- yourstruly [~nisstyre@infocalypse-net.info] has quit [Quit: Leaving] 22:41 < crest> jlaffaye: 42 22:41 < jlaffaye> It would be totally awesome to authenticate on a webapp with a private rsa key (challenge). is that possible? 22:41 < jlaffaye> and not a certificate 22:41 < crest> jlaffaye: a selfsigned client cert? 22:42 < crest> the go http package allows you to access the clients cert if you requested it 22:44 -!- Kahvi_ [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 22:44 < jlaffaye> the thing is that I already have the public keys of the clients, so I could use the same proof it would be nice. Instead of managing multiple type of keys. 22:45 < jlaffaye> (understand ssh keys) 22:50 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-149-182.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 22:52 -!- shoenig [~shoenig@rrcs-71-42-216-106.sw.biz.rr.com] has joined #go-nuts 22:54 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 22:55 -!- Solak [~stijnw@cthia.xs4all.nl] has quit [Remote host closed the connection] 22:59 -!- B4R0n [~baron@189.36.132.197] has joined #go-nuts 23:02 -!- zanget` [~zanget@hurf.durf.me] has quit [Ping timeout: 240 seconds] 23:03 -!- mindphaze [~void@2607:f358:1:fed5:22:0:bd62:7fa7] has quit [Read error: Operation timed out] 23:05 -!- dblue [5ae3bc32@gateway/web/freenode/ip.90.227.188.50] has quit [Quit: Page closed] 23:11 -!- zanget [~zanget@205.185.124.164] has joined #go-nuts 23:15 -!- cron_ [cron@190.121.101.14] has quit [Quit: Leaving] 23:18 -!- zanget [~zanget@205.185.124.164] has quit [Quit: ZNC - http://znc.sourceforge.net] 23:20 -!- zanget [~zanget@205.185.124.164] has joined #go-nuts 23:20 -!- mindphaze [~void@2607:f358:1:fed5:22:0:bd62:7fa7] has joined #go-nuts 23:26 -!- huin [~huin@91.85.139.164] has quit [Quit: leaving] 23:26 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 23:28 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 258 seconds] 23:30 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 23:32 -!- yogib [~yogib@dslb-178-009-079-205.pools.arcor-ip.net] has quit [Quit: yogib] 23:33 -!- stalled [~stalled@unaffiliated/stalled] has quit [Read error: Connection reset by peer] 23:33 -!- ako [~nya@fuld-590c6281.pool.mediaWays.net] has joined #go-nuts 23:34 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 23:35 -!- nekoh [~nekoh@dslb-088-068-006-051.pools.arcor-ip.net] has quit [Quit: nekoh] 23:36 -!- aho [~nya@fuld-590c64fb.pool.mediaWays.net] has quit [Ping timeout: 240 seconds] 23:39 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 23:39 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 23:50 -!- moraes [~moraes@189.103.177.124] has quit [Ping timeout: 264 seconds] 23:56 -!- yourstruly [~yours@infocalypse-net.info] has joined #go-nuts 23:56 -!- yourstruly [~yours@infocalypse-net.info] has quit [Max SendQ exceeded] 23:58 -!- yourstruly [~yours@infocalypse-net.info] has joined #go-nuts 23:58 -!- yourstruly [~yours@infocalypse-net.info] has quit [Max SendQ exceeded] 23:58 -!- yourstruly [~yours@infocalypse-net.info] has joined #go-nuts 23:58 -!- yourstruly [~yours@infocalypse-net.info] has quit [Max SendQ exceeded] 23:59 -!- yourstruly [~yours@infocalypse-net.info] has joined #go-nuts 23:59 -!- yourstruly [~yours@infocalypse-net.info] has quit [Max SendQ exceeded] --- Log closed Sun Aug 21 00:00:20 2011