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

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