--- Log opened Sat Mar 19 00:00:55 2011 00:01 -!- foocraft [~dsc@89.211.240.101] has quit [Ping timeout: 276 seconds] 00:01 -!- nixness [~dsc@78.101.76.129] has joined #go-nuts 00:08 < steven> whatd i miss? 00:09 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 00:21 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has joined #go-nuts 00:22 < crazy2be> i'm suprised the path module doesn't contain functionality for http-style path matching 00:22 < steven> what? 00:22 < skelterjohn> what is http-style path matching? 00:22 < steven> right 00:22 < crazy2be> the style of path matching that the http package uses 00:23 < crazy2be> like /blar/ would match /blar and /blar/foo and /blar/ 00:23 < skelterjohn> ah 00:23 < crazy2be> and /blar would match only /blar 00:23 < skelterjohn> i wrote a HasPathPrefix function 00:23 < skelterjohn> for one of my projects 00:28 -!- waqas [~waqas@jaim.at] has left #go-nuts [] 00:32 < steven> why not just strings.HasPrefix ? 00:32 < steven> re crazy2be 00:32 < skelterjohn> because /a/b is a prefix of /a/bcd 00:32 < skelterjohn> even thouch a/bcd isn't in /a/b 00:33 < steven> o 00:35 < crazy2be> do any of you guys use the actual inotify "raw" api? 00:36 < crazy2be> i was wondering if there was a more Handler-based one, it would be more condusive to a web-based enviroment 00:36 < crazy2be> e.g. it calls a function when a file is modified 00:37 < skelterjohn> i'm not familiar with that stuff, sorry 00:38 < steven> man the guys in #bash are way full of themselves. 00:38 < steven> its sad. 00:39 < crazy2be> well it shouldn't be too hard 00:39 < crazy2be> steven: in what way? 00:41 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 00:41 < steven> all of what they are saying can be summed up as "you are an idiot, im much smarter, i wont bother listening to you or bein polite to you, you just need to shut up and only listen to me because i know everything" 00:43 < crazy2be> yeah that's what i got from some wiki page of theirs i was reading 00:44 < crazy2be> haha 00:44 < crazy2be> anyway bbl (be back later) 00:54 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has joined #go-nuts 00:55 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has joined #go-nuts 01:02 < plexdev> http://is.gd/8GLZed by [Russ Cox] in go/src/cmd/prof/ -- gopprof: update list of memory allocation functions 01:02 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 01:04 < mpl> crazy2be: I'm using the functions provided by the inotify package if that's what you're asking. https://bitbucket.org/mpl/gonotify/src/ed10b2926cb7/main.go 01:04 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 01:05 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 01:05 < mpl> anyways, off to bed. 01:06 -!- iant [~iant@67.218.107.6] has quit [Quit: Leaving.] 01:18 -!- boscop [~boscop@f055001210.adsl.alicedsl.de] has quit [Ping timeout: 246 seconds] 01:28 < crazy2be> mpl: I was wondering if anyone had made a version designed to be used with the http package 01:28 < crazy2be> because, for example, i want my webserver to pick up when templates are changed, and update it's internal state accordingly 01:29 < crazy2be> and the normal inotifty api is kind of akward to use for that 01:31 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 250 seconds] 01:31 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 01:32 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 01:32 < exch> there isnt really a portable solution aruond for filesystem watching 01:32 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 01:33 < exch> Just run a goroutine which regularly polls the target dir/files for changes and send out a message with the file's name to whomever is interested in it 01:33 < exch> it won't guarantee instant recognition of file changes, but it's simple to imlpement and will work on all platforms 01:37 < crazy2be> well i don't need portable, i'm willing to accept horribly broken on windows 01:37 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 01:37 < crazy2be> it's a webserver, after all :P 01:37 < crazy2be> but does inotify work on mac? 01:38 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 01:40 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 01:57 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has quit [Ping timeout: 246 seconds] 01:57 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 01:58 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 02:03 -!- karpar [~user@112.96.255.8] has joined #go-nuts 02:03 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 02:03 -!- chimes [~chimes@24.104.130.118] has quit [Quit: chimes] 02:04 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 02:07 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 250 seconds] 02:07 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 02:08 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 240 seconds] 02:08 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 02:08 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 02:13 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 02:13 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 02:14 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 02:15 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 02:26 -!- KyleXY [~kyle@reddit/user/kylexy] has joined #go-nuts 02:26 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 02:27 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 02:37 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has left #go-nuts [] 02:41 -!- keithgcascio [~keithcasc@nat/google/x-hkohwguxgkeyucjo] has quit [Quit: Leaving] 02:46 -!- karpar` [~user@112.96.255.8] has joined #go-nuts 02:46 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Quit: muffins] 02:47 -!- karpar [~user@112.96.255.8] has quit [Ping timeout: 260 seconds] 02:49 -!- niemeyer_away [~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 255 seconds] 02:55 -!- karpar`` [~user@112.96.255.8] has joined #go-nuts 02:56 -!- karpar` [~user@112.96.255.8] has quit [Remote host closed the connection] 03:08 -!- shvntr [~shvntr@116.26.136.141] has joined #go-nuts 03:17 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has quit [Ping timeout: 276 seconds] 03:23 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 03:23 -!- mode/#go-nuts [+v iant] by ChanServ 03:43 -!- karpar`` [~user@112.96.255.8] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 03:43 -!- karpar [~user@112.96.255.8] has joined #go-nuts 03:44 -!- sysiphus [~opera@unaffiliated/sysiphus] has quit [Read error: Connection reset by peer] 03:58 -!- gogogrrl_ [~max@p5790F2DF.dip.t-dialin.net] has joined #go-nuts 03:59 -!- gogogrrl [~max@p5DE8E0C7.dip.t-dialin.net] has quit [Read error: Operation timed out] 04:14 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:26 -!- karpar [~user@112.96.255.8] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 04:34 -!- aho [~nya@fuld-590c6da7.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 04:44 -!- yihuang [~yihuang@183.17.155.119] has joined #go-nuts 04:44 -!- yihuang [~yihuang@183.17.155.119] has left #go-nuts [] 04:52 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has joined #go-nuts 05:00 < crazy2be> is there some way to add a function to a prexisting package? 05:01 < crazy2be> like, add a PrefixMatch function that uses the same logic as the http library's pathMatch? 05:01 < crazy2be> er 05:01 < crazy2be> to the path package, that is 05:01 < skelterjohn> only if you define a new type 05:02 < crazy2be> hm? 05:03 < crazy2be> because right now, i'm putting all of my modules in util/foo, util/blar, etc 05:03 < crazy2be> s/modules/packages 05:04 < crazy2be> and many of them are just one or two function packages that would be easy additions to the existing packages 05:04 < crazy2be> how are you orginizing your packages? 05:07 < jessta> crazy2be: you can just add your code to that package and re-compile it, but other devs would have a hard time using your code 05:08 < crazy2be> jessta: Yeah, that seems a mite bit hackish 05:08 < crazy2be> and i would have to reapply my patch after every update 05:09 < crazy2be> how do you orginize your packages? 05:10 < jessta> I put them in jessta/somepackage 05:11 < crazy2be> hmm i guess that makes sence 05:14 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has joined #go-nuts 05:33 < skelterjohn> crazy2be: if you want to define a new method on *os.File, for example 05:33 < skelterjohn> you can say 05:33 < skelterjohn> type MyFile os.File 05:33 < skelterjohn> func (f *MyFile) Blarg() { .... } 05:33 < skelterjohn> and then you can convert os.Files to MyFiles, etc and Blarg them all you want. pass them off to things that need Blargers, etc 05:34 < skelterjohn> probably best to do type MyFile *os.File actually 05:34 < skelterjohn> so you can just MyFile(someOtherFile) and begin Blarging immediately 05:34 < skelterjohn> i am sleep deprived 05:34 < skelterjohn> good night 05:35 < crazy2be> lol night 05:36 < crazy2be> is there some way to define an interface that mandates the existance of a data member? 05:37 < crazy2be> i'm trying to create a generic algorithm to sort a []slice of structs that contain a path as one of their members 05:37 < crazy2be> sort by length, that is 05:39 < crazy2be> i suppose i could require the definition of a GetPath() SetPath() set, but that doesn't seem nice 05:43 < jessta> crazy2be: nope, interfaces only define behaviour 05:44 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has quit [Quit: dfc] 05:45 < jessta> crazy2be: since you only want to know the length of the path, you could just have a length() 05:45 < crazy2be> hmm 05:45 < crazy2be> oh 05:45 < crazy2be> durp 05:46 -!- nettok [~quassel@200.119.175.171] has joined #go-nuts 05:47 < jessta> crazy2be: have you looked at the sort package? 05:47 < crazy2be> yeah 05:48 < crazy2be> i just don't want to define those three functions for each time i want to use the functionality 05:48 < crazy2be> which is quite a bit 05:48 < crazy2be> type PathLengther []interface { func PathLength() int } 05:49 < crazy2be> is that sensible naming? Not sure if PathLengther makes sence 05:51 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Ping timeout: 246 seconds] 05:52 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 05:52 < zozoR> http://pastebin.com/e6e2uJgf <-- is this a terrible way to create a generator in go? :o 05:52 < zozoR> or is it possible to create a more simple one 05:54 < jessta> zozoR: you could split that in to two functions 05:54 < zozoR> yebyen, just did that, looks a lot nicer 05:54 < crazy2be> well night all 05:54 < |Craig|> I generally just use a closure that outputs to a chan thats already a local variable. go func(){for.......} 05:55 < crazy2be> jessta: Thanks for your help 05:56 < zozoR> |Craig|, nice! :D 05:56 < exch> zozoR: http://pastebin.com/jH43ws4A 05:56 < exch> err change the range statement to Iter() 05:56 < zozoR> i already did it :D 05:56 < |Craig|> missing the () after the closure to do the auctual call 05:56 < exch> no need for those arguments 05:56 < exch> yes 05:56 < exch> that to 05:57 -!- nixness [~dsc@78.101.76.129] has quit [Ping timeout: 248 seconds] 05:57 < exch> http://pastebin.com/JVxL2g2K fixed 05:57 < zozoR> had forgotten all about closures ^^ 05:58 -!- nixness [~dsc@89.211.172.178] has joined #go-nuts 05:59 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has quit [Ping timeout: 246 seconds] 06:00 -!- photron [~photron@port-92-201-5-248.dynamic.qsc.de] has joined #go-nuts 06:23 -!- karpar [~user@112.96.225.27] has joined #go-nuts 06:27 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 06:31 -!- karpar [~user@112.96.225.27] has quit [Ping timeout: 255 seconds] 06:42 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 06:49 -!- karpar [~user@112.96.254.24] has joined #go-nuts 06:50 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 06:58 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 07:03 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has joined #go-nuts 07:08 -!- gid [~gid@220-253-63-193.VIC.netspace.net.au] has joined #go-nuts 07:10 -!- karpar [~user@112.96.254.24] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:11 -!- karpar [~user@112.96.254.24] has joined #go-nuts 07:12 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 07:23 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-30.clienti.tiscali.it] has joined #go-nuts 07:44 -!- karpar [~user@112.96.254.24] has quit [Ping timeout: 240 seconds] 07:47 -!- karpar [~user@112.96.225.28] has joined #go-nuts 07:57 -!- karpar [~user@112.96.225.28] has quit [Ping timeout: 255 seconds] 07:58 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 07:58 -!- zhilihu [~user@112.96.225.32] has joined #go-nuts 07:59 -!- zhilihu [~user@112.96.225.32] has quit [Remote host closed the connection] 08:00 -!- karpar [~user@112.96.225.32] has joined #go-nuts 08:07 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 08:07 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 08:07 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 08:09 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:11 -!- skejoe [~skejoe@188.114.142.162] has quit [Read error: Operation timed out] 08:13 -!- nettok [~quassel@200.119.175.171] has quit [Ping timeout: 246 seconds] 08:15 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 08:26 -!- neshaug [~oyvind@213.239.108.5] has quit [Read error: Operation timed out] 08:28 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts 08:30 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 08:40 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has quit [Remote host closed the connection] 08:47 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 08:54 -!- rbraley [~rbraley@114.250.73.141] has quit [Ping timeout: 250 seconds] 09:00 -!- tensorpudding [~user@99.148.205.193] has quit [Remote host closed the connection] 09:03 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 09:07 -!- rbraley [~rbraley@114.250.81.146] has joined #go-nuts 09:13 -!- karpar [~user@112.96.225.32] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 09:17 < nsf> hehe, I've figured out a syntax for type casts and compound literals for my lang, which avoids some of Go's problems.. although, not sure if it looks nice, but I think it is 09:17 < nsf> var x int; var fx = <float>x; // type cast 09:17 < nsf> var mystruct = <MyStruct>{...}; // compound literal 09:23 < aiju> it reminds me of C++, hence it's bad ;P 09:24 < nsf> I'm targeting C/C++ programmers, I think it's good actually 09:24 < aiju> targetting C++ programmers is done best with a gun 09:24 < nsf> :D 09:26 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has quit [Ping timeout: 252 seconds] 09:28 < nsf> but I guess it's the best option that has only average 2 characters overhead per compound statement over Go's syntax and has no conflict situations 09:28 < nsf> in Go you can't use: *int(myptr) for example, you have to use (*int)(myptr).. using my syntax it's possible: <*int>myptr 09:29 < nsf> and the holy if statement ambiguity 09:29 < nsf> type X [1]int 09:29 < nsf> if X{0}[0] == 0 { } 09:29 < nsf> X is a valid expression and hence leads to ambiguity 09:29 < nsf> if <X>{0}[0] == 0 { } // just fine 09:30 < aiju> how is that ambiguous? 09:31 < nsf> if X { 0 } 09:31 < nsf> is a valid if statement 09:31 < aiju> [0] == 0 is not valid 09:31 < nsf> yes 09:31 < nsf> but it requires lookahead ot something 09:31 < nsf> with LALR(1) you'll have problems 09:31 < nsf> or* 09:31 < aiju> oh yeah 09:31 < aiju> just rewrite the Go compiler in Prolog ;P 09:33 < nsf> I think it should be possible to have nice and clean grammar 09:33 < nsf> and well.. simple in a sense that it can be implemented using LALR(1) 09:33 < aiju> yeah, sure 09:34 < nsf> Go for the most part got it right anyway 09:34 < nsf> few ugly cases is not a big deal 09:36 < nsf> and I have another crazy idea 09:36 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 09:37 < nsf> regarding implicit conversion :) 09:37 < nsf> for example: 09:37 < nsf> var x, y int 09:37 < nsf> var fx, fy = float(x), float(y) // ugly 09:37 < nsf> why can't it be: 09:37 < nsf> var fx, fy float = x, y 09:37 < nsf> we can see this "float" spec here and sure user meant that 09:37 < nsf> otherwise it would be: fx, fy := x, y 09:38 < nsf> 3rd eye implicit conversion: "we know you meant that" :) 09:38 < nsf> lol 09:38 < aiju> haha 09:39 < nsf> but I'm not sure about exact boundaries of this "provision" 09:40 < nsf> for example 09:41 < nsf> type Vec2 struct { x, y float } 09:41 < nsf> var x, y int 09:41 < nsf> var fv = Vec2{x, y}; // no-no 09:42 < nsf> and how should I explain this "why" to a user 09:42 < nsf> "when you see direct type specification, implicit conversion is possible, otherwise it's not" 09:43 < nsf> :\ 09:43 < nsf> var fv Vec2 = Vec2{x, y}; // is a no-no too.. you can't see 'float' on your screen 09:43 < nsf> weird, questionable 09:45 < nsf> but possible, hahaha 09:46 < nsf> btw, the worst excuse for a feature: "why not?" 09:46 < nsf> there is a lot of features in D with that kind of excuse :) 09:49 -!- djcapelis [~djc@blender/coder/DJCapelis] has quit [Remote host closed the connection] 09:49 -!- djcapelis [~djc@capelis.dj] has joined #go-nuts 09:49 -!- djcapelis [~djc@capelis.dj] has quit [Changing host] 09:49 -!- djcapelis [~djc@blender/coder/DJCapelis] has joined #go-nuts 09:50 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 09:55 -!- alkavan_ [~alkavan@IGLD-84-229-168-230.inter.net.il] has quit [Quit: Leaving] 10:01 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 10:04 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 10:07 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal] 10:09 < nsf> btw, I'm officially admitting that '->' for 'pointer to' was an ugly choice 10:09 < nsf> especially with new type cast syntax: var p ->void = <->void>ptr; 10:09 < nsf> :D 10:10 * nsf is back to '*' 10:11 < nsf> I think I should create a separate irc channel for my lang 10:11 < nsf> or people will get confused by my syntax speeches 10:12 < nsf> hm.. 10:12 < nsf> or I should simply shut up 10:12 < nsf> :D 10:15 -!- hcatlin [~hcatlin@host109-153-168-137.range109-153.btcentralplus.com] has joined #go-nuts 10:15 -!- hcatlin [~hcatlin@host109-153-168-137.range109-153.btcentralplus.com] has quit [Changing host] 10:15 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined #go-nuts 10:17 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 10:17 -!- gid [~gid@220-253-63-193.VIC.netspace.net.au] has quit [Ping timeout: 240 seconds] 10:19 -!- thegabble [~Adium@cpc1-bbrg4-2-0-cust696.14-2.cable.virginmedia.com] has joined #go-nuts 10:23 -!- ww [~ww@river.styx.org] has quit [Read error: Connection reset by peer] 10:24 -!- ww [~ww@river.styx.org] has joined #go-nuts 10:33 -!- gid [~gid@220-253-20-152.VIC.netspace.net.au] has joined #go-nuts 10:35 -!- yihuang [~yihuang@183.17.155.119] has joined #go-nuts 10:35 -!- yihuang [~yihuang@183.17.155.119] has left #go-nuts [] 10:44 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 10:48 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 10:57 -!- boscop [~boscop@g229215183.adsl.alicedsl.de] has joined #go-nuts 10:57 -!- visof [~visof@unaffiliated/visof] has quit [Remote host closed the connection] 10:58 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts 10:58 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has joined #go-nuts 10:59 -!- ronnyy [~quassel@p4FF1C2DA.dip0.t-ipconnect.de] has joined #go-nuts 11:11 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has quit [Quit: "Wait... what?!"] 11:14 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has joined #go-nuts 11:21 -!- DerHorst [~Horst@e176124144.adsl.alicedsl.de] has joined #go-nuts 11:23 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit: hcatlin] 11:26 -!- _DerHorst_ [~Horst@e176105066.adsl.alicedsl.de] has joined #go-nuts 11:27 < kamaji> nsf: I don't think anyone is awake :P 11:28 < nsf> in USA 11:28 < shakesoda> I'm awake and in the USA 11:28 < kamaji> nsf: my god 11:28 < shakesoda> disclaimer, I shouldn't be 11:28 < nsf> other part of the world should be pretty much awake 11:29 < kamaji> shakesoda: good work~ 11:29 < kamaji> I just realised someone I know irl is in here 11:29 < kamaji> XenoPhoenix: OH HI 11:30 -!- DerHorst [~Horst@e176124144.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 11:32 < XenoPhoenix> hello kamaji 11:33 < kamaji> what are YOU doing here 11:33 < kamaji> using Go for your project? 11:34 -!- _Horst_ [~Horst@e176106026.adsl.alicedsl.de] has joined #go-nuts 11:37 -!- _DerHorst_ [~Horst@e176105066.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 11:37 < XenoPhoenix> kamaji: I've been in here everyday for the past year 11:37 < XenoPhoenix> I just restarted by server hence why you just saw me join 11:38 -!- _DerHorst_ [~Horst@e176123208.adsl.alicedsl.de] has joined #go-nuts 11:38 < kamaji> XenoPhoenix: you've RUINED the uptime! 11:41 -!- _Horst_ [~Horst@e176106026.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 11:44 -!- DerHorst [~Horst@e176122081.adsl.alicedsl.de] has joined #go-nuts 11:47 -!- _DerHorst_ [~Horst@e176123208.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 11:48 -!- DerHorst [~Horst@e176122081.adsl.alicedsl.de] has quit [Client Quit] 11:52 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 12:01 -!- sauerbraten [~sauerbrat@p508CA006.dip.t-dialin.net] has joined #go-nuts 12:05 -!- PortatoreSanoDiI [~Marvin@82.84.75.227] has joined #go-nuts 12:08 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-30.clienti.tiscali.it] has quit [Ping timeout: 246 seconds] 12:08 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has quit [Quit: dfc] 12:24 -!- sauerbraten [~sauerbrat@p508CA006.dip.t-dialin.net] has quit [Remote host closed the connection] 12:30 -!- araujo [~araujo@190.38.51.34] has joined #go-nuts 12:30 -!- araujo [~araujo@190.38.51.34] has quit [Changing host] 12:30 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 12:51 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 12:54 < XenoPhoenix> kamaji: upgrades > uptime 13:06 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 13:17 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-176-221.clienti.tiscali.it] has joined #go-nuts 13:20 -!- PortatoreSanoDiI [~Marvin@82.84.75.227] has quit [Ping timeout: 255 seconds] 13:20 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 13:21 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 260 seconds] 13:24 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 13:38 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 13:47 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has joined #go-nuts 13:55 -!- mertimor [~Adium@p5DC1CA1F.dip.t-dialin.net] has joined #go-nuts 13:56 -!- foocraft [~dsc@89.211.172.178] has quit [Ping timeout: 276 seconds] 14:01 -!- foocraft [~dsc@78.101.146.32] has joined #go-nuts 14:07 -!- thegabble [~Adium@cpc1-bbrg4-2-0-cust696.14-2.cable.virginmedia.com] has quit [Read error: Connection reset by peer] 14:07 -!- thegabble1 [~Adium@cpc1-bbrg4-2-0-cust696.14-2.cable.virginmedia.com] has joined #go-nuts 14:08 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has joined #go-nuts 14:21 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 14:32 -!- visof [~visof@41.238.235.149] has joined #go-nuts 14:32 -!- visof [~visof@41.238.235.149] has quit [Changing host] 14:32 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 14:40 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has quit [Quit: Ex-Chat] 14:54 -!- zimsim [~simon@87.72.77.195] has quit [Read error: Operation timed out] 14:54 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 14:55 -!- thegabble1 [~Adium@cpc1-bbrg4-2-0-cust696.14-2.cable.virginmedia.com] has quit [Quit: Leaving.] 14:56 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has joined #go-nuts 15:01 -!- niemeyer [~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 15:11 -!- PortatoreSanoDiI [~Marvin@82.84.86.147] has joined #go-nuts 15:14 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-176-221.clienti.tiscali.it] has quit [Read error: Operation timed out] 15:17 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has quit [Ping timeout: 240 seconds] 15:19 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has joined #go-nuts 15:22 < kamaji> How do I check the type of a variable interface{} ? 15:23 < kamaji> Do I have to use a type switch or can it be an if statement? 15:24 < nsf> both 15:24 < kamaji> oh, ok := blah.(type); ok == float64 15:24 < kamaji> to check for float64? 15:24 < aiju> _, ok := 15:24 < nsf> if _, ok := iface.(*MyStruct); ok { // it is a *MyStrcut } 15:24 < kamaji> oh ok 15:24 < nsf> if _, ok := blah.(float64); ok { } 15:24 < nsf> in your case 15:25 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 248 seconds] 15:25 < kamaji> jolly good 15:25 < kamaji> thanks 15:25 < kamaji> Does this mean you can overload by return type? 15:28 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-152-227.clienti.tiscali.it] has joined #go-nuts 15:29 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 15:30 -!- shvntr [~shvntr@116.26.136.141] has quit [Quit: leaving] 15:31 -!- PortatoreSanoDiI [~Marvin@82.84.86.147] has quit [Ping timeout: 276 seconds] 15:31 < skelterjohn> what do you mean? 15:31 < skelterjohn> overload by return type? 15:32 < kamaji> so two implementations of a function with differing numbers of return values 15:33 < kamaji> first returns one value, second returns two 15:33 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 15:33 < skelterjohn> no, you cannot 15:33 < kamaji> ok 15:33 < skelterjohn> functions cannot share names 15:33 < kamaji> I just figured since you can do "ok := blah.(float64)" as well as "_,ok" 15:33 < skelterjohn> the parameters/return types don't affect it 15:33 < kamaji> but that's probably just build in 15:33 < kamaji> and isn't really a function anyway 15:33 < nsf> go has zero overloading 15:33 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 15:33 < nsf> kamaji: it's wrong 15:33 < kamaji> nsf: what's wrong? 15:33 < kamaji> overloading? 15:33 < nsf> ok := blah.(float64) returns float64 15:33 < skelterjohn> ok := blah.(float64) puts a float64 into ok 15:33 < skelterjohn> not a boolean 15:33 < nsf> var ok float64 15:34 < nsf> second form 15:34 < nsf> var ok bool 15:34 -!- zozoR [~Morten@563476e6.rev.stofanet.dk] has quit [Remote host closed the connection] 15:34 < kamaji> I just meant because it's similar syntax 15:34 < skelterjohn> regardless, the built-ins break a lot of the rules that programmers have to abide by 15:34 < kamaji> but it's built in anyway so yeah 15:34 < skelterjohn> that used to bother me 15:34 < skelterjohn> but i got over it 15:34 < nsf> it doesn't matter 15:34 < kamaji> heh 15:34 < nsf> ok := blah.(float) is no the same as 15:34 < nsf> _, ok := blah.(float) 15:35 -!- rutkowski [~adrian@178235049090.walbrzych.vectranet.pl] has joined #go-nuts 15:35 < kamaji> I get it 15:35 < nsf> and no overloading of course 15:35 -!- TheMue [~TheMue@p5DDF4FCE.dip.t-dialin.net] has joined #go-nuts 15:46 -!- visof [~visof@unaffiliated/visof] has quit [Quit: Leaving] 15:47 -!- visof [~visof@41.238.235.149] has joined #go-nuts 15:47 -!- visof [~visof@41.238.235.149] has quit [Changing host] 15:47 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 15:50 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Read error: Connection reset by peer] 15:51 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 15:51 -!- vsayer [~vivek@2001:470:1f04:1a6b:21a:6bff:fe35:d2a5] has joined #go-nuts 16:05 -!- nettok [~quassel@200.119.185.95] has joined #go-nuts 16:16 -!- mattn_jp [~mattn@112-68-81-9f1.hyg1.eonet.ne.jp] has quit [Ping timeout: 276 seconds] 16:21 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-152-227.clienti.tiscali.it] has quit [Read error: Connection reset by peer] 16:27 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 16:28 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 16:31 < steven> ok, 16:31 < steven> godo no longer has dependency on make 16:31 < steven> but it has dependency on bash still 16:48 -!- taruti [taruti@ultra.violetti.org] has quit [Ping timeout: 255 seconds] 16:49 < steven> im naming my makengo-alternative "goke" 16:49 < steven> i hope nobody maliciously calls it "joke" 16:49 < nsf> sounds like cocain to me 16:49 < nsf> e.g. coke 16:49 < steven> oh thats worse. 16:49 < steven> snap. 16:49 < steven> well i really like typing goke 16:50 < steven> its fast and easy to type. 16:50 < steven> unlike rake.. 16:50 < nsf> how about gake? 16:50 < steven> and its faster/easier/more natural than make 16:50 < steven> try typing goke 16:50 < steven> goke 16:50 < steven> see? its just fun to type 16:50 < nsf> gake is fine too 16:50 < steven> gake is not as fun 16:50 < nsf> lol, oj 16:50 < nsf> ok* 16:50 < steven> maybe im just crazy 16:50 < steven> which is probable 16:50 < nsf> it's just a name 16:51 < steven> anyway, 16:51 < nsf> you need to do a very good tool now 16:51 < nsf> :) 16:51 < steven> one thing i dont like about ruby is DSLs. it makes looking up your available methods harder than just normal library methods 16:51 < steven> thas one reason im trying to move to Go 16:51 < steven> and rake is filled with DSLs. and makengo tries to port DSLs to go, which is equally uncool 16:51 < steven> *uncouth? 16:52 < nsf> I think nothing in 10 years will be able to replace make 16:52 < steven> but at the same time, one thing rake has going for it is the minimalism. whereas with Go, you have to type out much more boilerplate. 16:52 < steven> im not tryng to replace make. its more of a replacement for rake. 16:52 < TheMue> What's wrong with make? 16:53 < nsf> and what's wrong with rake? who uses it anyway? except ruby guys 16:53 < steven> and at my job, we use rake for webapp-related tasks. 16:53 < nsf> ah, I see 16:53 -!- foocraft [~dsc@78.101.146.32] has quit [Ping timeout: 255 seconds] 16:53 < nsf> so it's more like a personal project 16:53 < steven> goke? 16:53 < nsf> yeah 16:53 < steven> nah i think itll be integral to my rails-clone in Go 16:53 < nsf> hm.. good luck with that :) 16:53 < steven> i wont need it 16:54 < nsf> it's a very hard goal to acomplish 16:54 < steven> God is on my side. 16:54 < steven> <3 16:54 -!- foocraft [~dsc@78.101.212.239] has joined #go-nuts 16:59 * TheMue continues making is Redis client more comfortable. 16:59 < TheMue> s/is/his/ 17:00 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 17:02 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 250 seconds] 17:11 -!- dju [dju@fsf/member/dju] has joined #go-nuts 17:13 -!- dju [dju@fsf/member/dju] has quit [Max SendQ exceeded] 17:13 -!- dju [dju@fsf/member/dju] has joined #go-nuts 17:18 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 17:23 -!- rbraley [~rbraley@114.250.81.146] has quit [Ping timeout: 255 seconds] 17:25 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts 17:36 -!- neshaug [~oyvind@213.239.108.5] has quit [Ping timeout: 255 seconds] 17:36 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 17:37 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts 17:38 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 17:38 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 17:41 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 17:41 -!- sauerbraten [~sauerbrat@p508CA006.dip.t-dialin.net] has joined #go-nuts 17:46 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 18:01 -!- Project-2501 [~Marvin@82.84.74.54] has joined #go-nuts 18:07 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-176-119.clienti.tiscali.it] has joined #go-nuts 18:07 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 18:08 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 18:09 -!- Project-2501 [~Marvin@82.84.74.54] has quit [Ping timeout: 240 seconds] 18:10 -!- tvw [~tv@e176007239.adsl.alicedsl.de] has joined #go-nuts 18:11 -!- ronnyy [~quassel@p4FF1C2DA.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 18:11 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 18:12 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 260 seconds] 18:12 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 18:19 -!- visof [~visof@unaffiliated/visof] has quit [Read error: Connection reset by peer] 18:21 -!- gr0gmint [~quassel@87.61.162.99] has joined #go-nuts 18:21 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 18:22 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 18:42 -!- nettok [~quassel@200.119.185.95] has quit [Ping timeout: 248 seconds] 18:43 -!- zimsim [~simon@87.72.77.195] has quit [Read error: Operation timed out] 18:52 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 19:00 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 19:00 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:00 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 19:08 -!- Project-2501 [~Marvin@82.84.74.156] has joined #go-nuts 19:10 -!- aho [~nya@fuld-590c69d7.pool.mediaWays.net] has joined #go-nuts 19:11 < kamaji> skelterjohn: Your stats package doesn't have a Mean/Standard deviation function working on a slice, right? 19:12 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-176-119.clienti.tiscali.it] has quit [Ping timeout: 260 seconds] 19:12 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:12 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has joined #go-nuts 19:12 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 19:29 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts 19:32 -!- sauerbraten [~sauerbrat@p508CA006.dip.t-dialin.net] has quit [Remote host closed the connection] 19:32 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:32 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 19:33 -!- tobik [~tobik@p549FF42F.dip.t-dialin.net] has joined #go-nuts 19:39 -!- DerHorst [~Horst@e176121043.adsl.alicedsl.de] has joined #go-nuts 19:39 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:41 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 19:41 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit: Leaving...] 19:46 -!- nettok [~quassel@200.119.157.96] has joined #go-nuts 19:46 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 19:47 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 20:03 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 20:03 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 20:05 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 20:09 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit: This computer has gone to sleep] 20:09 < steven> i wonder what Go would look like if slices, maps, and channels werent reference types, and if there was no such distinction as a "reference type" 20:09 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 250 seconds] 20:13 < kamaji> How do I convert an int to a float...? 20:17 < crazy2be> kamaji: float(blar) 20:18 < kamaji> crazy2be: thanks 20:19 < nsf> steven: but what's the point of having them as values? 20:19 -!- rurban [~chatzilla@178-191-212-135.adsl.highway.telekom.at] has joined #go-nuts 20:21 < comex> steven: it would be a lot slower. 20:22 < nsf> it's the matter of semantics 20:22 < nsf> what behaviour of these type do you expect? 20:22 < nsf> types* 20:23 < nsf> I know only few of available options 20:24 < nsf> 1. struct-like behaviour with manual resources management and no proper copy semantics etc. 20:24 -!- crazy1be [~crazy2be@S01060012171a573b.cg.shawcable.net] has joined #go-nuts 20:24 < nsf> 2. shared pointer like behaviour in case if there were no GC 20:24 < nsf> and well, that's it 20:24 -!- crazy2be [~crazy2be@S01060012171a573b.cg.shawcable.net] has quit [Ping timeout: 240 seconds] 20:24 < nsf> if there is GC, shared pointer like behaviour is default for all memory resources 20:25 < nsf> by 2 I meant reference counting mostly 20:30 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts 20:30 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 20:31 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 20:32 -!- PortatoreSanoDiI [~Marvin@82.84.71.4] has joined #go-nuts 20:35 < steven> ok 20:35 < steven> ill pretend i understood that :) 20:35 -!- Project-2501 [~Marvin@82.84.74.156] has quit [Ping timeout: 264 seconds] 20:35 < nsf> I pretty much don't understand you 20:36 -!- sunfmin [~sunfmin@87.213.45.42] has joined #go-nuts 20:36 < nsf> ok, built-in types are not reference types 20:36 < nsf> but then what? 20:36 < nsf> maybe you simply don't want any built-in types? 20:36 < nsf> I mean complex types with unique semantical behaviour 20:36 -!- tvw [~tv@e176007239.adsl.alicedsl.de] has quit [Remote host closed the connection] 20:37 < nsf> like slices, maps, channels and strings 20:37 < nsf> (strings are unique too, because they are read-only) 20:37 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 20:38 < sunfmin> Hi guys 20:38 < sunfmin> How can I read a file's content as a string? 20:39 < nsf> import "io/ioutil" 20:39 < nsf> ioutil.ReadFile 20:39 < nsf> and then convert it to string 20:40 < sunfmin> ioutil.ReadFile().(String)? 20:40 < nsf> var data []byte; var err os.Error; 20:40 < nsf> data, err = ioutil.ReadFile(...) 20:40 < nsf> var s string 20:40 < nsf> s = string(data) 20:40 < nsf> []byte is convertable to string and vice versa 20:41 < sunfmin> alright, I'll try now. 20:41 < nsf> and at the moment it's the only way to do that, although most likely it causes a copy of a large amount of data 20:41 < sunfmin> What if I have a File handle, Not a filename, Can I pass it to ioutil.ReadFile? 20:41 < nsf> but that's the details 20:42 < nsf> if you have an os.File 20:42 < nsf> use ioutil.ReadAll 20:42 < nsf> it takes io.Reader 20:42 < nsf> an interface which os.File implements 20:42 < sunfmin> cool! 20:43 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 20:43 < sunfmin> ohh, actually, I am having a zip.File 20:43 < sunfmin> *zip.File does not implement io.Reader (missing Read method) 20:43 -!- ccount [~ccount@aleph0.de] has quit [Ping timeout: 250 seconds] 20:44 -!- niemeyer [~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 255 seconds] 20:44 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Ping timeout: 255 seconds] 20:44 < sunfmin> I wanted to read a zip file's content 20:44 < nsf> but zip.File has only one method 20:45 < nsf> Open 20:45 < nsf> which returns an io.ReadCloser 20:45 < nsf> which implements io.Reader 20:45 -!- ccount [~ccount@aleph0.de] has joined #go-nuts 20:45 < steven> is []uint8 convertable to a string? 20:45 < nsf> yes 20:46 < nsf> byte is an alias to uint8 20:46 < nsf> and []byte is convertable to string 20:47 < steven> is byte the only alias? 20:47 < steven> i got that impression but i cant remember from where 20:47 < nsf> yes 20:47 < steven> ie, that all types are distinct types of their own, and there is no typedefing 20:48 < nsf> yes 20:48 < steven> so byte is always just uint8? 20:48 < nsf> yes 20:48 < nsf> :) 20:48 < steven> everywhere? 20:48 < nsf> yes 20:48 < steven> cool. 20:48 < steven> thanks nsf 20:48 < nsf> it you take a look at Go's archive files 20:48 < steven> may god's blessings be upon you bro 20:48 < nsf> all 'byte' types are converted to 'uint8' there 20:48 < steven> yeah i saw them in the error messages too 20:48 < steven> (cannot bla bla bla uint8) when i used byte 20:49 < nsf> exactly 20:49 < nsf> the only real alias in Go 20:49 < steven> why for btw? 20:49 < nsf> byte sounds better than uint8 20:49 < steven> oh which reminds me.. why is the loop called "for" instead of something like "loop"? 20:49 < steven> true 20:49 < nsf> I think it comes from C's char 20:49 < nsf> there is a reason why in C char is called char 20:49 < nsf> because it's the nice name 20:50 < steven> true 20:50 < nsf> s/the/a/ 20:50 < sunfmin> string([]byte) convert byte to string, So where I can know there is a "string" method? 20:50 < steven> can []int convert to a string? 20:50 < nsf> steven: yes, afaik 20:50 < steven> sweet. 20:51 < steven> i dig Go 20:51 < steven> its like C v2 20:51 < nsf> sunfmin: uhm? string method? 20:51 * steven hearts Go 20:51 < sunfmin> yes 20:51 < nsf> there is no string method 20:51 < sunfmin> ohh 20:51 < nsf> it's just a plain type conversion 20:51 < steven> sunfmin: its just a conversion 20:51 < nsf> like: 20:51 < steven> int(3.14) 20:51 < nsf> var x uint; var y int = int(x); 20:51 < steven> :) 20:51 < sunfmin> so string(bytedata) is not a method call 20:51 < nsf> no 20:51 < steven> aww 20:51 < steven> i lose. 20:52 < nsf> it's a type conversion, with a special behaviour 20:52 < steven> *sadface* 20:52 < nsf> []int can be converted to a string too 20:52 < nsf> and string to []int 20:52 < nsf> it will be a utf-8 encoding and decoding respectively 20:52 < nsf> but []byte to string is just 1 to 1 byte mapping 20:53 < nsf> strings are just immutable and that's the only difference 20:53 < nsf> steven: Go isn't C v2 20:53 < nsf> I write C v2 :) 20:54 < sunfmin> Can I find the type conversion doc somewhere? 20:54 < nsf> http://golang.org/doc/go_spec.html#Conversions 20:54 < sunfmin> thank you very much, you rocks!!! 20:55 < steven> nsf: oh? 20:55 < steven> what do you mean? 20:55 < nsf> steven: well, more like C, without garbage collector and concurrency :) 20:55 < steven> but, does such a language exist? 20:55 < nsf> in my mind 20:55 < sunfmin> so it doesn't do anything better than Go? ;-) 20:55 < nsf> and some code 20:55 < steven> i only know of one C.. 20:56 < steven> ooh you're writing a new language over time? 20:56 < nsf> steven: exactly 20:56 < steven> sweet. 20:56 < steven> what does your language do better than Go though? 20:56 < steven> whats its niche? 20:56 < nsf> oh, btw there is one thing that it does better than Go already, lol 20:56 < Namegduf> Whatever you'd use C for, but not Go 20:56 < nsf> http://ompldr.org/vN3ZxdQ/2011-03-20-013648_804x424_scrot.png 20:56 < Namegduf> Pretty much C's remaining niche 20:56 < nsf> error messages! 20:56 < nsf> I have 1 error message that is better than Go's :D 20:56 < steven> nice 20:57 < Namegduf> Cases which are so performance critical a GC cannot be afforded 20:57 < steven> looks similar to Go so far ;) 20:57 < steven> ahh. 20:57 < nsf> currently compiler dumps AST in yaml format 20:57 < nsf> and I have started to work on semantic analysis 20:57 < Namegduf> There might be other examples. 20:58 -!- rurban [~chatzilla@178-191-212-135.adsl.highway.telekom.at] has quit [Read error: Connection reset by peer] 20:58 < nsf> test.go:3: undefined: three 20:58 < nsf> that's what Go says on that error 20:58 < xulfer> It's a pretty big niche. Legacy code, computationally intensive code on limited hardware, low memory situations, etc. 20:58 < nsf> game development 20:59 -!- mertimor [~Adium@p5DC1CA1F.dip.t-dialin.net] has quit [Quit: Leaving.] 20:59 < Namegduf> I don't know about legacy code, but for the rest. 20:59 < steven> interesting terminal nsf. 20:59 < steven> mine = http://bit.ly/g0Jr6h 20:59 < nsf> basically I want C with Go's syntax 20:59 < Namegduf> Without concurrency it could avoid segmented stacks 20:59 < Namegduf> Which would make interaction with existing libraries much happier 20:59 < xulfer> Rewrites are rarely if ever an option. 20:59 < steven> nsf: how would memory management work? what would the rules of your stdlib be? 20:59 < Namegduf> In terms of speed, I mean. 21:00 < nsf> because apparently C has out-dated syntax and few bits here and there 21:00 < steven> or would it be built into the language? 21:00 < nsf> steven: the same as in C 21:00 < nsf> manual memory management 21:00 < steven> ok 21:00 < nsf> Namegduf: and yes 21:00 * steven digs ObjC's memory management, but it only works well when autorelease-pools exist 21:00 < nsf> I have a really big plan 21:00 < nsf> not sure if it's possible 21:00 < steven> which means it only works well when you have a runloop concept in your app 21:00 < nsf> to be able to import C header directly to my packages 21:00 < Namegduf> That's the main reason Go might have trouble for game dev right now 21:00 < nsf> using libclang 21:01 < Namegduf> Calling into OpenGL could be slow. 21:01 < Namegduf> *would be slow 21:01 < xulfer> steven: I like that too. 21:01 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 21:01 < nsf> my dream: 21:01 < nsf> cimport "stdio.h" as stdio; 21:01 < nsf> stdio.printf(...); 21:01 < nsf> :P 21:01 < nsf> direct C usage 21:02 < nsf> it's very important as C++ shows 21:02 < Namegduf> It sounds like a good idea for your use case 21:03 < Namegduf> what'd be neat would be a mostly-just-cut-down Go for that case which can fit nicely alongside the rest of Go 21:03 < nsf> also note that "cimport" (temporary name) has different semantics than #include 21:03 < Namegduf> Similar to the various C# versions 21:03 < nsf> and I can use precompiled headers in a forced fashion 21:03 -!- rurban [~chatzilla@178-191-212-135.adsl.highway.telekom.at] has joined #go-nuts 21:04 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 21:04 < nsf> Namegduf: well, my plans are slightly bigger than that 21:04 < nsf> but we'll see 21:04 < nsf> (I want templates :D) 21:04 < Namegduf> Yeah, I gathered. Sounds like a nice thing, though. 21:05 < photron> nsf: luajit's ffi module can do your c import stuff in lua 21:05 < nsf> photron: nice 21:05 < photron> works pretty well 21:05 < nsf> well, C import is not a problem 21:05 < nsf> because it's what unites all the environments (most of them) 21:05 < photron> http://luajit.org/ext_ffi.html 21:06 < nsf> but the pain is in writing down the extern definitions by hand 21:06 < nsf> I want to make it automatic 21:06 < nsf> you see this ffi.cdef part 21:06 < nsf> most ffi things require that and they can't work directly with C headers 21:07 < nsf> using libclang seems like a good idea here 21:07 < nsf> although this lua extension is nice 21:07 < nsf> since it actually parses C declarations 21:08 < nsf> but not a complete C99 language I'm sure 21:08 < photron> http://luajit.org/ext_ffi_semantics.html 21:08 < nsf> looks cool though :) 21:09 < nsf> yeah, pretty nice 21:09 < photron> it's just missing the c preprocessor part 21:09 < photron> if you add that it should be able to handle normal c header files 21:09 < nsf> it's ok for lua, because one of the main lua pros it's its lightness 21:10 < nsf> and lightweight C parser is a cool idea 21:11 < nsf> but for me using libclang, taking its AST and converting all the declarations seems like a nice idea 21:13 < sunfmin> sorry guys, another stupid question, what does '\xc3' mean? 21:14 < sunfmin> I know that '\u767d' is unicode? 21:14 < nsf> \xc3 is a 0xC3 21:14 < nsf> e.g. hex value 21:14 < nsf> but it's not a valid ASCII 21:15 < nsf> so.. who knows what it means :) 21:15 < sunfmin> can I convert 0xC3 to decimal? 21:15 < sunfmin> int(0xC3) ? 21:15 < nsf> 196 21:15 < nsf> oops 21:15 < nsf> 195 21:15 < nsf> :) 21:15 < sunfmin> or int('0xC3') 21:15 < sunfmin> ? 21:16 < nsf> no 21:16 < nsf> int(0xC3) is fine 21:16 < nsf> well, converting char literal to int should work too 21:16 < nsf> but who knows 21:16 < nsf> maybe there are some utf-8 stuff involved 21:16 < crazy1be> doesn't just 0xC3 work? 21:16 < nsf> int('\xC3') 21:16 < sunfmin> So I could do int('\xc3') too. 21:16 < sunfmin> nice! 21:17 < nsf> _maybe_ you can 21:17 < nsf> you see, it's not a valid ASCII 21:17 < nsf> it means it may have some utf-8 meaning 21:17 < steven> xulfer: :) 21:17 < nsf> and I believe 21:17 < nsf> int(<char>) does utf-8 encoding 21:17 < nsf> oh, wait 21:17 < nsf> nevermind 21:17 < nsf> I say nonsense 21:18 < nsf> it should work, yeah 21:18 < sunfmin> Can I convert int to hex? 21:19 < nsf> uhm.. yes of course 21:19 < nsf> but hex is just an int preresentation 21:19 < nsf> do you want to convert int to hex string representation? 21:20 < sunfmin> yes, 21:20 < nsf> s := fmt.Sprintf("%X", myInt) 21:20 < crazy1be> fmt.Printf(%x, someint) 21:20 < nsf> :D 21:20 < sunfmin> oh, nice 21:20 < crazy1be> yeah :P 21:20 < crazy1be> hmm, does %x work, or do you need %X? 21:20 < nsf> both work 21:20 < nsf> %x for 0xc3 21:21 < crazy1be> or does that just distinguish 0xc8 from 0xC8? 21:21 < nsf> %X for 0xC3 21:21 < nsf> yeah 21:21 < crazy1be> lol 21:23 < nsf> but there are actually few problems 21:23 < sunfmin> So I get this: fmt.Sprintf("%X", 20320) => "4F60" 21:23 < nsf> %X for 0x5 is "5" 21:23 -!- rurban [~chatzilla@178-191-212-135.adsl.highway.telekom.at] has quit [Remote host closed the connection] 21:23 < sunfmin> Can I write '\x4f60' 21:23 < sunfmin> ? 21:23 < nsf> uhm.. 21:23 < nsf> fmt.Sprintf("\\x%x", 20320) 21:25 < sunfmin> then it doesn't compile: int('\x4f60') 21:25 < sunfmin> say_test.go:28: missing ' 21:25 < sunfmin> say_test.go:28: syntax error: unexpected literal, expecting ) 21:25 < sunfmin> say_test.go:28: missing ' 21:25 < nsf> because \x supports only one byte values 21:25 < nsf> for 2 byte values you need to use \u 21:25 < nsf> \u4f60 21:26 < nsf> for 4 byte values 21:26 < nsf> \U 21:26 < sunfmin> can I always use \u ? 21:26 < nsf> uhm.. 21:26 < nsf> it depends 21:27 < sunfmin> int('\uc3') 21:27 < nsf> no 21:27 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So Long, and Thanks for All the Fish] 21:27 < nsf> as far as I know 21:27 < nsf> it will be: 21:27 < sunfmin> why? 21:27 < nsf> \u00c3 21:27 < nsf> but hey, why are you doing that in the first place? 21:27 < nsf> what's wrong with 0x00C3 21:28 < nsf> no need to use char literal 21:28 < sunfmin> it's cool if it works with \u00c3, ;-( 21:28 < sunfmin> ;-) 21:28 < sunfmin> just trying to figure out why sometime it's \x, sometime it's \u 21:28 < sunfmin> so it could always be \u if give 4 byte 21:29 < nsf> it's 4 bytes of text and 2 bytes of value, yes 21:29 < sunfmin> where I can find this \x, \u, Is there are any others? 21:29 < nsf> it's all is in the go spec 21:29 < sunfmin> ok, cool! 21:30 < nsf> http://golang.org/doc/go_spec.html#Character_literals 21:31 * nsf has wrote a bullet-proof string interpreter recently 21:31 < nsf> using ragel :) 21:32 < sunfmin> these literals are normally the same with different languages right? 21:32 < nsf> it depends 21:32 < sunfmin> I saw these similar format in ruby too. 21:32 < sunfmin> the same with most of the languages? 21:32 < nsf> there is no standard or anything 21:32 < nsf> but yeah 21:32 < nsf> most of them are commonly used 21:32 < sunfmin> cool, It will be the same in your c version 2, ;-) 21:33 < sunfmin> Or you want to change it, haha. 21:33 < nsf> it is already the same as in Go 21:33 < nsf> with one exception 21:33 < nsf> Go dies if it sees wrong things like: \ukkkk 21:33 < nsf> my version simply passes it unescaped as it is 21:34 < nsf> e.g. as "\\ukkkk" 21:34 < sunfmin> in Go, it can't compile 21:34 < nsf> yes 21:34 < sunfmin> I wonder which is better 21:35 < nsf> I think it doesn't really matter 21:35 < sunfmin> doesn't compile feels find the error quicker. 21:35 < nsf> I think no one actually makes that kind of errors :) 21:36 < nsf> don't know, I just like bullet-proof parsers 21:36 < nsf> if something is wrong, but error can be avoided, I do that 21:36 < nsf> :\ 21:36 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts 21:36 < nsf> maybe I'll change that in future 21:37 < nsf> it's really a minor problem 21:37 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 21:38 < steven> i think Go should overtake Ruby in the web app arena 21:38 < steven> i bet it would make my dayjob so much easier. 21:38 < nsf> I don't think it will ever happen 21:38 < nsf> Go is nice, but it's too statically typed for web dev 21:39 < nsf> maybe it will find its place in future nativeclient 21:39 < nsf> or even in browsers 21:39 < nsf> as a faster javascript alternative 21:39 < TheMue> Hmm, why are so many professional web apps developed in Java or C#? *wonder* 21:39 < nsf> otherwise it will stay in the arena of servers and tools 21:40 < nsf> TheMue: "professional" 21:40 < nsf> ? 21:40 < nsf> like those in ruby and php are not? :) 21:40 -!- serbaut1 [~joakims@88.80.182.68] has joined #go-nuts 21:40 < sunfmin> not enterprise, :) 21:40 < nsf> Java and C# is considered as "enterprise" 21:40 < nsf> yeah 21:41 < nsf> mostly because many bosses were brainwashed by this OOP bullshit (my version) 21:41 < sunfmin> I think Java has a lots of profile tools for finding performance problems 21:41 -!- serbaut [~joakims@88.80.182.68] has quit [Ping timeout: 264 seconds] 21:41 < sunfmin> but ruby performance problem are difficult to find. 21:41 < TheMue> nsf: OK, s/professional/enterprise/ 21:41 < sunfmin> (at least for me) 21:41 < nsf> yet, github is written in ruby :) 21:42 < sunfmin> yes, that's true 21:42 < nsf> and twitter was (or even it is still) 21:42 < nsf> but I can say that in game development difference between let's say C/C++ games and Java/C# games are significant 21:42 < sunfmin> how they do the performance optimize I wonder... 21:42 < nsf> Java/C# games eat a lot of memory 21:43 < nsf> and sometimes they are laggy due to GC 21:43 < nsf> but strangely enough there are few very nice indie Java/C# games 21:43 < TheMue> For me Go is absolutely ok for the server-side part of web apps, together with JS on the client. 21:43 < nsf> like magicka, minecraft 21:44 < sunfmin> they are developing the game using Java? (magicka, minecraft) 21:44 < sunfmin> I didn't notice any game using java, haha. 21:45 < nsf> magicka is written in C#/XNA (microsoft .NET-based directx-based lib for games) 21:45 < nsf> minecraft is written in Java 21:45 < nsf> both easily consume 1 gig of ram :) 21:45 < nsf> although the graphics is far from top notch 21:46 < nsf> and there are other performance problems 21:46 < nsf> but despite that 21:46 < nsf> they do work 21:46 < nsf> and sell thousands and millions of copies :) 21:47 < sunfmin> yeah, most of the computers have more than 1g ram. 21:47 < nsf> yeah, http://store.steampowered.com/hwsurvey/ 21:47 < sunfmin> actually more than 2g ram, 1g used by windows, 1g used by the game, haha 21:48 < nsf> in fact less than 512 to 1024 is less than 1 percent 21:48 < nsf> so, 99% of the gaming platforms has >= 1 gig of ram 21:49 < nsf> ah, well, not really less than 1% 21:49 < nsf> but 1.5% 21:49 < nsf> whatever 21:49 < nsf> 98.5% >= 1 gig 21:49 < TheMue> hw industry needs cpu, memory and graphics consuming applications 21:49 < nsf> exactly :) 21:50 < nsf> end user should always feel the need of upgrade 21:50 < nsf> it's an unsaid golden rule of commerce here :) 21:50 < TheMue> really funny thinking about my first computer with 64kb 21:51 < TheMue> 27y ago, like the age of a good single malt 21:51 < nsf> hehe 21:51 < steven> wow 21:51 < steven> ur old TheMue 21:51 * steven = 24 21:51 < nsf> your first computer is older than me :) 21:51 < steven> *25 21:51 * nsf is 22 21:52 < steven> aw you win 21:52 * steven sobs 21:52 < steven> :) 21:52 < nsf> 23 in May 21:52 < steven> just remember to keep God in your heart at all times, and your age wont ever matter 21:52 < steven> <3 21:52 < nsf> haha 21:52 < nsf> :) 21:53 * steven is weeding through 3 years worth of scattered backups across 3 external drives 21:53 < steven> sigh. i hate Time Machine. 21:53 < TheMue> i'm 45y, developing software since 1984 with many languages. And it's still fun. 21:54 < steven> wow, i was born after that. 21:54 < steven> 1985 ftw 21:54 * steven goes back to digging through 3 hard drives.. sigh 21:54 < steven> while i rock out to http://www.youtube.com/watch?v=ALEwLnq1ZrI&feature=related 21:54 < steven> :D 21:55 -!- PortatoreSanoDiI [~Marvin@82.84.71.4] has quit [Quit: E se abbasso questa leva che succ...] 21:55 -!- rlab_ [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 21:55 -!- Scorchin [~Scorchin@host86-145-18-248.range86-145.btcentralplus.com] has joined #go-nuts 21:56 -!- Project-2501 [~Marvin@82.84.71.4] has joined #go-nuts 21:56 < sunfmin> nsf: you are so young! cool and young!!! 21:56 < nsf> hehe :) 21:57 < sunfmin> I am 30, still younger than TheMue 21:57 < sunfmin> nsf: I wonder would you like to come to China, and Join our company, haha 21:57 < steven> aw crap. 1 min per GB to copy *on the same drive* 21:57 < sunfmin> ;-) 21:58 < nsf> no, not really 21:58 < sunfmin> (just joking) 21:58 < steven> i dont get the joke 21:58 < steven> maybe i just dont get chinese humor? 21:58 < sunfmin> yeah, 21:58 < steven> sorry 21:58 < TheMue> My daughter always say I'm childish, so age is relative. 21:58 < nsf> cultural differences are quite big 21:58 < sunfmin> well, No joke there. 21:58 < TheMue> s/daughter/daughters/ 21:59 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 22:01 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Remote host closed the connection] 22:01 < nsf> sunfmin: btw, have you seen the gocode? https://github.com/nsf/gocode 22:02 < nsf> although it's not that useful if you're not a vim user 22:02 < sunfmin> It seems really cool! 22:02 < sunfmin> I always wanted to use emacs or vim, But still falled back to TextMate... 22:03 < sunfmin> But we have a colleague using emacs, and quite a few using vim 22:03 < nsf> ah, you're a mac user :) gocode should work on mac 22:03 < nsf> I saw mac only once in my life, lol :) 22:03 < TheMue> Hehe, after a short TextMater intermezzo I came back to vim. Old unix guy ... 22:05 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Quit: Leaving] 22:06 < steven> im a reformed vim user 22:06 < steven> i now use textmate :) 22:06 < sunfmin> linux is cool and nice 22:06 < sunfmin> nice, found one using the same tool with me. ;) 22:07 < steven> vim just doesnt provide as much benefit as textmate bundles do 22:07 < steven> even nerdtree is relatively weak 22:07 < nsf> and I bought a new keyboard recently, that one: http://www.google.com/images?q=logitech+K300 22:07 < nsf> now I simply cannot use anything except vim :) 22:08 < nsf> pgup pgdn and arrow keys are weird 22:08 < nsf> weirdly placed* 22:09 < steven> use the new apple aluminum keyboards 22:09 < steven> (not the mini ones, the full size ones) 22:09 < steven> they're awesome. 22:09 < nsf> I like that one 22:09 < steven> best keyboards ive ever owned 22:09 < nsf> my previous keyboard was broken due to 7 years of extensive shooters gaming 22:09 < nsf> WASD keys 22:09 < nsf> :D 22:10 < nsf> that one looks like a nicely crafted piece of hw 22:10 < aiju> my shift keys died, probably extensive german 22:10 < nsf> hehe 22:10 < sunfmin> nsf: you got a very good demo there for gocode too! 22:10 < nsf> sunfmin: :P 22:10 -!- niemeyer [~niemeyer@201-66-179-18.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 22:14 < sunfmin> shooters gaming => shooting game? 22:14 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 22:14 < nsf> playing shooter games 22:15 -!- rutkowski [~adrian@178235049090.walbrzych.vectranet.pl] has quit [Quit: WeeChat 0.3.3-dev] 22:15 < nsf> counter-strike, team fortress 2, quake 3 22:15 < nsf> you name it 22:15 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 22:15 < sunfmin> ok 22:15 < nsf> although I'm not playing that much anymore 22:15 < sunfmin> finding go is more interesting than game? 22:16 < nsf> no, not really :) 22:16 < nsf> games are for fun, programming is more like a way to express myself 22:16 < skelterjohn> nsf: how good are you at q3 22:16 < nsf> skelterjohn: pretty bad 22:16 < nsf> I haven't played it for 5 years or so 22:16 < skelterjohn> oh, but you're russian, aren't you? i wouldn't have run into you anyway 22:17 < steven> quakelive was awesome 22:17 < nsf> lol :) 22:17 < steven> until i found jesus, then i realized it was a selfish waste of time 22:17 < skelterjohn> from 2000-2003 i was 22:17 < skelterjohn> playing lots of q3 22:17 < nsf> q3 is more a dueling game 22:17 < nsf> I was interested in team playing aspect more 22:17 < skelterjohn> there is dueling in quakelive 22:17 < nsf> and I was pretty bad at dueling 22:17 < skelterjohn> nsf: i played 4v4 leagues 22:18 < nsf> I haven't 22:18 < skelterjohn> the later portion spent in promode land 22:18 < nsf> although there were few counter-strike tournaments 22:18 < nsf> that I was taking participation in 22:18 -!- tobik [~tobik@p549FF42F.dip.t-dialin.net] has quit [Quit: WeeChat 0.3.4] 22:18 < nsf> but for me gaming is fun, I don't recognize it as sport 22:18 < nsf> I think it's a weird idea :) 22:19 < crazy1be> am i misunderstanding how interfaces work? http://pastebin.com/FbLBJXyz 22:19 < nsf> not just that kind of sport, but others as well 22:20 < crazy1be> er, with proper syntax highlighting: http://pastie.org/1690823 22:20 < sunfmin> crazy1be: you mean the escaping problem? 22:20 < nsf> crazy1be: yeah 22:20 < crazy1be> sunfmin: Yeah 22:20 < nsf> your problem is 22:20 < nsf> you're trying to use a slice of a certain type 22:20 < nsf> as a slice of interfaces 22:20 < sunfmin> yeah, last time I pasted on pastie instead as well. 22:21 < nsf> you can't do that 22:21 < crazy1be> nsf: Do you understand kinda what i'm trying to do? How should i go about it? 22:21 < nsf> uhm, let me think.. 22:22 < nsf> yeah, well 22:22 < nsf> the easiest way is the simplest way 22:22 < nsf> just define sort.Interface for your concrete type 22:22 < nsf> there is not so much space for "generic" code like yours in G 22:22 < nsf> in Go* 22:23 < nsf> unfortunatelly 22:23 < nsf> I can't see a good solution here 22:23 < crazy1be> well that's what i was doing, but then you have to copypasta for each concrete type 22:23 < nsf> unfortunately* 22:23 -!- TheMue [~TheMue@p5DDF4FCE.dip.t-dialin.net] has quit [Quit: TheMue] 22:23 < nsf> yes, but it's just a matter of 3 methods 22:24 < nsf> not a big deal 22:24 < crazy1be> i don't understand how the sort package does it :/ 22:24 < nsf> believe me there are much worse copy & paste moments in C 22:24 < nsf> does what? :) 22:24 < nsf> it defines an interface for a collection 22:24 < nsf> instead of for a one 22:24 < crazy1be> er? 22:25 < nsf> ah, wait 22:25 < nsf> I have a solution for you 22:25 < nsf> but it will take few minutes 22:25 < crazy1be> ok, it seems like i'm almost doing what the sort package is 22:25 < crazy1be> but not quite 22:25 < crazy1be> something important different 22:25 < crazy1be> and i can't quite figure it out 22:26 -!- nettok [~quassel@200.119.157.96] has quit [Ping timeout: 260 seconds] 22:29 < steven> quicksort ftw 22:29 < steven> too bad i couldnt show off Go's cool concurrency with a concurrent quicksort implementation 22:30 < steven> i tried and it was barely faster than the synchronous version 22:30 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Quit: Leaving.] 22:31 < crazy1be> steven: Probably because goroutines don't usually use different threads unless there is blocking i/o, at least last i read 22:33 < nsf> crazy1be: http://pastie.org/1690853 22:33 < nsf> well 22:33 < nsf> that the best I could come up with 22:33 < nsf> you still need to define Len and Swap for your collection 22:33 < nsf> it's like sort's way 22:33 < nsf> using the whole collection as an interface 22:33 < nsf> instead of a single entity 22:34 < nsf> maybe there are better ways to do that 22:34 < nsf> I don't know 22:35 < crazy1be> hmm, better than copypasting the whole thing 22:35 < nsf> not really :) 22:35 < nsf> anyways, the problem with Go that build-in do not define any interface methods 22:35 < nsf> like Len() for all slices 22:35 < nsf> etc. 22:35 < nsf> built-in* 22:35 < crazy1be> hm 22:36 < nsf> but it's not really a problem on the other hand 22:36 < steven> crazy1be: oh. 22:36 < steven> how can you force something onto another thread? 22:36 < nsf> it's just certain types of code doesn't work in Go 22:36 < crazy1be> steven: I think there was some enviroment variable you had to set (before build?) that woul do it 22:36 < crazy1be> *would 22:37 < steven> GOMAXPROCS or something 22:37 < steven> ive set that to 4, doesnt change a thing. 22:37 < steven> so basically theres no threading in Go. shit. 22:37 < crazy1be> when it's running, does it use all 4 cores? 22:37 < nsf> steven: you can't control threads directly, yeah 22:37 < nsf> but you can lock a goroutine in a thread 22:37 < nsf> os.LockOSThread() 22:38 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 250 seconds] 22:38 < nsf> anyways, I think this Go model is crappy and I said a lot about that 22:38 < steven> ok 22:38 < steven> i still like Go as a good alternative to Ruby 22:39 < nsf> yeah, Go provides an abstraction of some kind 22:39 < nsf> it's a really nice safe language 22:39 < nsf> but if you need more 22:39 < steven> Ruby is really reaaly cool at first glance 22:39 < nsf> Go can't help you 22:39 < steven> but it makes my dayjob hell every day because of its "openness" and crappy performance. 22:39 < nsf> and these days people don't want to use C 22:39 < nsf> for some reason 22:39 < steven> (im a ruby web dev and sysadmin at my work) 22:39 < nsf> hehe 22:40 < nsf> I use ruby for bash-like scripts only :) 22:40 < nsf> they are small usually 22:40 < steven> i use bash for that 22:40 < steven> :P 22:40 < nsf> bash has horrible syntax 22:40 < steven> it gets the job done 22:40 < nsf> I think it's much easier in ruby :) 22:40 < steven> this could very well have been a ruby script: https://github.com/sdegutis/godo/blob/master/godo 22:40 < steven> but then its less portable. 22:41 < nsf> I don't think anyone cares about that kind of portability this days 22:41 < nsf> these* 22:41 < nsf> so, it's a bad excuse :) 22:41 < nsf> 95% of linux distros have ruby/python 22:42 < nsf> and calling shell stuff from ruby is very easy 22:42 < kimelto> 100% of bsd system dont have bash/python/ruby by default :p 22:43 < nsf> %x[gocode -in #{filename} autocomplete #{filename} #{cursorpos}] 22:43 < nsf> that's from my micro testing framework 22:43 < nsf> almost like shell :) 22:43 < nsf> https://github.com/nsf/gocode/blob/master/testing/run.rb 22:43 < nsf> I use ruby for tasks like that 22:43 < nsf> it's extremely expressive 22:43 < nsf> bash won't ever handle that :) 22:44 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 22:45 < steven> nsf: but they have different versions that have subtle differences that byte you in the ass 22:45 < nsf> well, maybe, I felt that when archlinux switched to python3 as a default 22:45 < nsf> but as far as I know 22:45 < nsf> ruby always stays backwards compatible 22:45 < nsf> that's why I actually switched from python to ruby for all my shell takss 22:45 < nsf> tasks* 22:46 < kimelto> people actually use python3? 22:46 < nsf> ugh, I don't want to know 22:47 < nsf> all I know that moving to python3 is painful 22:47 < nsf> and that's all I want to know :D 22:47 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] 22:49 < nsf> on the other hand I understand why guido decided to do incompatible changes 22:50 < nsf> it's simply the only way for a language to survive 22:50 < nsf> otherwise there will be a new language 22:50 < nsf> basically that's what I'm planning to do with C 22:51 < nsf> it's just to late for fixing it 22:51 < nsf> too* 22:52 -!- sunfmin [~sunfmin@87.213.45.42] has quit [Quit: sunfmin] 22:52 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 22:53 < vsmatck> Stroustrup talks about that tradeoff in design and evolution of C++. Pretty interesting. Release a standard too late and people will make incompatible forks. So I guess a certain amount of pain for users is necessary. There's pain if you leave it frozen and pain if you change it. 22:53 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 22:54 < nsf> yeah, Stroustrup is a smart guy, he made a trick which gives more time to C's life 22:54 < nsf> but I bet even he understands 22:54 < nsf> that there will be a moment 22:54 < nsf> when all that mess will be rewritten 22:54 < nsf> it's inevitable 22:54 < vsmatck> I wonder about that. Like how long will some software last. 22:54 < nsf> I can't say I will succeed in a such a big quest 22:54 < nsf> but I think it's worth trying 22:55 < vsmatck> But yeah, stuff can rot after a while and needs to be replaced. 22:55 < nsf> and one of my priorities and I think it's a key for a success 22:55 < nsf> like it was in C++'s story 22:55 < nsf> direct C support :) 22:55 < nsf> e.g. being able to import C headers directly 22:56 < nsf> basically it's what C++ can do, but it does that by reusing C's preprocessor architecture 22:57 < nsf> and that's a mistake number 1 :) 22:59 < aiju> C++ is full of mistakes 23:00 < aiju> or rather, C++ is one huge mistake 23:00 < vsmatck> I like microsoft's .NET idea. Doesn't require the langauge be compromised as much as C++ was to make use of code written in another language. 23:00 < steven> i dont think anyone disagrees with that 23:00 < vsmatck> I do. 23:00 < nsf> vsmatck: there is one problem though 23:00 < vsmatck> But I don't care to argue the point. 23:01 < nsf> every .NET language I saw is affected in a way by C# 23:01 < nsf> .NET contains object model 23:01 < nsf> with inheritance 23:01 < nsf> and it cannot be avoided 23:01 < aiju> all i've seen of .NET made me want to keep away from computers 23:01 < nsf> libraries use that, etc. 23:01 < nsf> C is a sane base for every programming language 23:01 < nsf> it has minimum entities (building blocks) 23:01 < nsf> subroutines (aka functions) 23:01 < nsf> and data structures 23:02 < nsf> that's why I think C still is a player here 23:02 < nsf> well, that's what people mean by saying "it's successful, because it's simple" 23:02 < vsmatck> Hm. If it was wouldn't GCC/LLVM use C as their IL? I don't know much about this subject. 23:03 < nsf> well, I mostly meant an externally visible C part 23:03 < nsf> of course internal details are a different story 23:03 < vsmatck> I know there are lots of languages that "compile" to C. 23:03 < aiju> -"" 23:04 < vsmatck> The main haskell compiler does. G does (what I do as my day job). 23:04 < nsf> but class/inheritance based APIs are doomed, because they expose their classes and class hierarchies to the outer world 23:04 < vsmatck> heh, G as my day job and Go as my hobby. 23:04 < nsf> it's just a very high stake in favor of objects 23:04 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 23:04 < nsf> vsmatck: it is possible of course to use C as a backend 23:04 < nsf> but it gives problems 23:05 -!- photron [~photron@port-92-201-5-248.dynamic.qsc.de] has quit [Ping timeout: 276 seconds] 23:05 < nsf> although in fact, I'm writing a translator to C as a first step for my language 23:05 < nsf> it's a good way to make sure that I'm 100% compatible 23:06 < vsmatck> C compiles on the most architectures. Although that's getting more irrelevant (as rob pike points to in his "systems programming is irrelevant" presentation). 23:06 < steven> youve spent quite a few hours in this channel so far today nsf 23:06 < nsf> steven: yeah, instead of coding 23:07 < steven> could those hours have been used better? 23:07 < aiju> haha 23:07 < nsf> don't do that when you want to conquer the world 23:07 < steven> <3 23:07 < steven> go code and have fun ;) 23:07 < nsf> vsmatck: yeah, but C has context dependent grammar 23:07 < nsf> it means you can't parallelize C compilation process a lot 23:07 < nsf> and there are other issues 23:08 < aiju> C grammar is context dependent? 23:08 < nsf> of course 23:08 < steven> k nm 23:08 < nsf> after introduction of a typedef concept 23:08 < nsf> it is 23:08 < nsf> there is a lexical entity, called a typedef 23:08 < vsmatck> C is generally parallelizeable enough for large projects. Preprocessing turns out to be the bottleneck in distributed compilation of C for most projects. 23:08 < vsmatck> ^ the compiling of it I mean. 23:09 < nsf> vsmatck: exactly 23:09 < vsmatck> I remember watching a presentation on distcc a while ago. That's where I got that info. 23:09 < vsmatck> I used to use that when I was still a C++ programmer. :) 23:09 < nsf> distcc has a limited scalability 23:09 < nsf> because it does preprocessing only on the host machine 23:10 < nsf> but it's a general C problem 23:10 < nsf> it lacks a proper module system 23:10 < vsmatck> yeah, distributing it can be done but that has other complexities. Like you have to distribute all deps to all computers that are going to compile pieces. 23:10 < nsf> it's like a number 2 thing to fix after ugly grammar 23:11 < vsmatck> I really like go packages. 23:11 < nsf> yes, they're nice 23:11 < nsf> I like the idea of pulling only relevant type info 23:11 < aiju> 2 MB of it! 23:11 < vsmatck> Even with small C++ projects compile time gets massive.. because there's not really such thing as a small C++ project. You pull in any library and all of the sudden your project is 100s of thousands of lines. 23:12 < nsf> :) 23:12 < nsf> but frankly it's a suprise for me 23:12 < nsf> that no one did a proper caching mechanism for a C++ parser 23:12 < aiju> that C++ sucks? 23:12 < nsf> there are ugly hacks like pch 23:12 < nsf> but I guess it's simply too complicated for people to experiment with 23:12 < nsf> I mean the C++ in general 23:12 < vsmatck> aiju: I smell zealotry. :) 23:13 < nsf> there is an interesting example 23:13 < nsf> a game 23:13 < nsf> I'm trying to remember the name 23:13 < nsf> http://en.wikipedia.org/wiki/Gish_(video_game) 23:13 < nsf> this on 23:13 < nsf> one* 23:14 < aiju> vsmatck: no, just hatred of C++ 23:14 < vsmatck> Extern templates sort-of flopped in the C++ standard. I think one compile implemented it for c++98, then it got removed in C++11 or whatever they call it. 23:14 < nsf> its source code was released 23:14 < nsf> and it's written in a very interesting style 23:14 < nsf> many .cpp files 23:14 < nsf> but all included into a single one 23:14 < nsf> using preprocessor :) 23:14 < nsf> compilation time is amazing 23:14 < nsf> it's very fast 23:15 < aiju> "very fast" in C++'s terms, i.e. several hours? 23:15 < nsf> no 23:15 < nsf> less than a minute 23:15 < nsf> but it's a simple game 23:15 < nsf> not a big deal 23:15 < nsf> but still, it shows the problem with C++ 23:17 < nsf> and other than that 23:17 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:17 < nsf> C++ is too complicated :) 23:17 < nsf> everyone knows that 23:17 < nsf> and it has inheritance based object model 23:17 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:18 < nsf> ugh.. I talk too much 23:18 < nsf> I should code instead 23:18 < nsf> :) 23:18 < aiju> the protected abstract virtual base pure virtual private destructor is my favourite C++ feature 23:18 < nsf> :D 23:19 -!- dfc [~dfc@124-169-149-145.dyn.iinet.net.au] has joined #go-nuts 23:19 < nsf> aiju: the thing I find mostly funny in all that 23:19 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Ping timeout: 252 seconds] 23:19 -!- crazy1be [~crazy2be@S01060012171a573b.cg.shawcable.net] has quit [Read error: Operation timed out] 23:19 < nsf> what inheritance model really does 23:19 < nsf> all that crap is about one thing: managing a table of function pointers (vtable) 23:19 < vsmatck> Stuff like that is an artifact of C++ being a pragmatic language. If you allow zero corner cases no one will use the language. 23:19 < nsf> and a little bit about data as well 23:20 < vsmatck> C++ does have features which don't compose together well tho. 23:21 < aiju> so C is not a pragmatic language? 23:21 < aiju> Go doesn't seem to be either 23:22 -!- Project-2501 [~Marvin@82.84.71.4] has quit [Ping timeout: 260 seconds] 23:22 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:22 < vsmatck> I'm not making that statement. Most issues don't have two sides they have 47. 23:23 < vsmatck> Seems like Stroustrup recognizes some issues with C++. I've seen him quoted saying it's "too expert friendly". 23:23 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:25 < vsmatck> Still, it seems like it has it's niche in the high runtime performance high abstraction area. Go certainly doesn't compete there. 23:25 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:25 < nsf> yeah 23:25 < aiju> or just write C 23:25 < nsf> game development is stuck with C++ at least for another gaming console generation 23:26 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:26 < nsf> probably more (realistically) 23:26 < vsmatck> Go totally displaced C++ for my particular area. Highly concurrent network programming. 23:26 < aiju> HQ9+ displaced C++ for my area 23:26 < vsmatck> Most C++ programmers moving to a new language would transition to D. But for me Go was a much better fit. 23:26 < nsf> D is dead :) 23:26 < nsf> imho 23:27 < aiju> which D? the broken or the unfinished one? 23:27 < vsmatck> Even if it dies it'll just make the soil more fertile. :) 23:28 < nsf> it is a nice toy language for experiments, but to me it looks like none of its authors has any taste of composition 23:28 < aiju> D is the new PL/M 23:29 < vsmatck> They have excluded some features present in C++. Like multiple inheritance. 23:29 < vsmatck> Only during a google interview do people care about multiple inheritance it seems. 23:29 < vsmatck> heh 23:29 < aiju> inheritance is inherently broken 23:30 < nsf> they do, but instead there is a whole new set of features 23:30 < nsf> even bigger than C++ has 23:30 < nsf> did* 23:30 < nsf> but Walter still thinks it's easier than C++ 23:30 < vsmatck> C++ standard library (for C++03) is feature impoverished. 23:30 < vsmatck> But as far as langauge features go C++ is obese. :) 23:32 < nsf> anyways, this talk goes to nowhere 23:32 < nsf> all bad, bla bla bla, let's do something about it :) 23:32 < aiju> get a gun and stroustroup 23:32 < nsf> and that's what I'm trying 23:33 < nsf> not that :) 23:33 < nsf> but something 23:33 < nsf> Go is a big step towards understanding flaws of inheritance based model as well 23:35 < vsmatck> Seems like the problem with it only becomes apparent when trying to refactor a large piece of software using it. Then it's only apparent if you do the same thing in a language without it. 23:35 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:36 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:36 < nsf> vsmatck: exactly, but this is what we do 23:36 < vsmatck> The amount of time you spend without your code compiling in C++ is huge when making big changes. 23:36 < nsf> refactoring and editting in general is a big part of project's life cycle 23:37 < nsf> editing* 23:37 < vsmatck> Every big refactor is a hail mary. heh 23:37 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has quit [Read error: Connection reset by peer] 23:37 < nsf> and as Rob Pike says, juggling type trees is painful 23:37 -!- shakesoda [~colby@c-67-168-136-89.hsd1.wa.comcast.net] has joined #go-nuts 23:37 < nsf> and he's right 23:37 < vsmatck> I remember my software not compiling for > a week sometimes with C++. When I'm working on it 10+ hours a day. 23:38 < nsf> hehe 23:39 < vsmatck> Time for beer. I bid you gentlemen a good evening. :) 23:39 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:40 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:40 < aiju> 00:38 < vsmatck> Seems like the problem with it only becomes apparent when trying to refactor a large piece of software using it. Then it's only apparent if you do the same thing in a language without it. 23:40 < aiju> i find it pretty apparent even with smaller programs, without any refactoring 23:42 < aiju> i once refactored 1500 lines of javascript using regex, that was fun, converting all functions to methods 23:42 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:43 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:46 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 23:46 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:47 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:51 -!- boscop [~boscop@g229215183.adsl.alicedsl.de] has quit [Ping timeout: 260 seconds] 23:51 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:52 -!- Scorchin [~Scorchin@host86-145-18-248.range86-145.btcentralplus.com] has quit [Quit: Scorchin] 23:52 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts 23:52 < nsf> time to sleep 23:52 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 23:55 -!- DerHorst [~Horst@e176121043.adsl.alicedsl.de] has quit [Remote host closed the connection] 23:55 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has quit [Read error: Connection reset by peer] 23:56 -!- arekzb [~arekzb@CPE0018e7e8beac-CM00407b87ca57.cpe.net.cable.rogers.com] has joined #go-nuts --- Log closed Sun Mar 20 00:00:50 2011