--- Log opened Fri Dec 24 00:00:01 2010 00:05 -!- kingfishr [~kingfishr@c-98-207-87-183.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 00:06 -!- Scorchin [~Scorchin@host86-145-54-192.range86-145.btcentralplus.com] has quit [Quit: Scorchin] 00:09 -!- noktoborus [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 00:09 -!- Eko [~eko@adsl-76-251-235-206.dsl.ipltin.sbcglobal.net] has joined #go-nuts 00:12 -!- _nil [~aiden@c-24-147-65-44.hsd1.ma.comcast.net] has quit [Ping timeout: 260 seconds] 00:14 < Urtie> Can an interface only specify methods, not fields? 00:18 < vsmatck> yeah, only methods. 00:23 < Tv> Urtie: basically, you're forced to do getters/setters, so actual implementation details stay flexible 00:23 < Urtie> Understood. Seems like a bit of unnecessary bookkeeping in some cases, but not the end of the world :) 00:24 < Tv> you may also notice that the example interfaces in go itself practically never need to do that 00:24 < Namegduf> I agree when writing types in general, but interfaces are explicitly meant to be abstract, so... 00:24 < aiju> interfaces should stay _minimal_ anyway 00:24 < Namegduf> Yeah. 00:24 < Namegduf> One-method interfaces are common and popular. 00:25 < Namegduf> io.Reader and io.Writer, for example. os.Error, too. 00:29 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts 00:31 < Eko> Hmm... I'm having regexp issues after the update. Anyone else? 00:33 < Eko> This is weird... I seem to be having issues with two versions of regexp, even though I've done a ./clean.bash and have cleaned out the project that I'm working on. No idea where the old definition is coming from. Anyone around who can help if I nopaste my error? 00:34 < Tv> Eko: don't ask about asking; just ask 00:36 -!- alkavan [~alkavan@87.68.151.176] has quit [Quit: Leaving] 00:37 < Eko> regexp compile issue: http://pastebin.com/qZVXf8tp 00:37 < adg> Eko: run ./make.bash 00:38 < adg> and then goinstall your libraries _afterward_ 00:38 -!- lifespective [~espeed@63.246.231.57] has quit [Ping timeout: 245 seconds] 00:39 < Eko> adg: Yep. did that. I rm'd them all, then did ./all.bash, then did goinstall -u -a, then tried to compile the above. 00:40 < adg> rm -rf $GOROOT/src/pkg/github.com/droundy/goopt $GOROOT/src/pkg/goconf.googlecode.com/hg 00:40 < adg> then do it all again ;) 00:41 < adg> i'll bet there's old package binaries in those directories 00:42 < Eko> Magical ^_^ 00:42 < Eko> I rm'd them from $GOROOT/pkg/ but not from $GOROOT/src/pkg 00:42 < adg> yeah they're built under src/ before being installed to pkg/ 00:43 * Eko goes to poke around in goinstall to see if there's an easy way to fix that. 00:43 < adg> an idea i'm considering is doing a 'make clean' after a successful 'make install' 00:43 * Eko suspects that he can add a make clean install when -u is in the option. 00:43 < adg> so that no binaries are left behind after an install 00:44 < adg> that could also work 00:44 < Eko> or, since go is so ridiculously fast to compile, do a make clean install every time ^_^ 00:50 < Eko> yep, that was easy. 00:50 < Eko> will put in a CL. 00:51 < Eko> (tested by updating to an old version of go, it broke, fixed manually, changed to add "make clean install", updated to new, worked) 00:52 -!- lifespective [~espeed@63.246.231.57] has joined #go-nuts 01:00 < plexdev> http://is.gd/jl5go by [Caine Tighe] in go/src/cmd/goinstall/ -- goinstall/download.go: Add checkout concept and helper functions to clean and fix implementation (Issue 1265) 01:06 < Eko> adg: not sure if that CL went through right. I got an "abort: HTTP Error 403: Forbidden" after the "Issue created." line. 01:23 -!- boscop_ [~boscop@g227116175.adsl.alicedsl.de] has joined #go-nuts 01:25 -!- niekie_ [~niek@CAcert/Assurer/niekie] has joined #go-nuts 01:25 -!- artefon [~thiago@189.115.131.154] has joined #go-nuts 01:26 -!- askhader_ [~askhader@taurine.csclub.uwaterloo.ca] has joined #go-nuts 01:26 -!- jessta_ [~jessta@li7-205.members.linode.com] has joined #go-nuts 01:27 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Quit: sjd] 01:27 -!- enferex_ [~enferex@users.757.org] has joined #go-nuts 01:27 -!- mpl_ [~mpl@smgl.fr.eu.org] has joined #go-nuts 01:27 -!- jyxent_ [~jyxent@129.128.191.96] has joined #go-nuts 01:28 -!- askhader [~askhader@taurine.csclub.uwaterloo.ca] has quit [Disconnected by services] 01:31 -!- skelterjohn_ [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 01:31 -!- Netsplit *.net <-> *.split quits: noktoborus, ymasory, skelterjohn, fabled, mpl, Innominate, jyxent, jessta, Venom_X, niekie, (+6 more, use /NETSPLIT to show all of them) 01:32 -!- Netsplit over, joins: Venom_X 01:32 -!- Netsplit over, joins: tav 01:34 -!- BlaSux [7f000001@69.195.144.4] has joined #go-nuts 01:35 -!- shvntr [~shvntr@116.26.137.103] has joined #go-nuts 01:38 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 01:38 -!- sacho [~sacho@87-126-6-67.btc-net.bg] has joined #go-nuts 01:39 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has joined #go-nuts 01:39 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #go-nuts 01:39 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 01:39 -!- l00t [~i-i3id3r_@20150106099.user.veloxzone.com.br] has joined #go-nuts 01:40 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts 01:40 -!- jeff2 [~jeff@pool-108-13-140-226.lsanca.fios.verizon.net] has joined #go-nuts 01:53 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X] 01:55 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has joined #go-nuts 02:02 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has quit [Quit: vdrab] 02:07 < Eko> Can you use a pointer as the key of a map? 02:08 < adg> Eko: yes 02:08 < adg> any type that defines equality (==) 02:09 -!- artefon [~thiago@189.115.131.154] has quit [Read error: Connection reset by peer] 02:10 < Eko> k. I tried it in the playground and it worked, but I thought that I had seen somewhere that it was a Bad Thing(tm). 02:14 -!- jeff2 [~jeff@pool-108-13-140-226.lsanca.fios.verizon.net] has quit [Quit: This computer has gone to sleep] 02:16 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Quit: Leaving] 02:19 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 02:21 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has joined #go-nuts 02:22 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 02:27 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 02:33 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has quit [Quit: vdrab] 02:35 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts 02:35 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 02:35 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 02:36 < adg> Eko: nope, seems like a reasonable thing to do 02:40 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 02:41 -!- foocraft [~dsc@78.100.194.174] has joined #go-nuts 02:55 -!- boscop_ [~boscop@g227116175.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 03:01 -!- boscop_ [~boscop@f055251208.adsl.alicedsl.de] has joined #go-nuts 03:10 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 276 seconds] 03:10 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout: 276 seconds] 03:12 -!- brad_ [621a78e5@gateway/web/freenode/ip.98.26.120.229] has joined #go-nuts 03:12 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts 03:12 < brad_> hi, does anyone know why fmt.Print won't print a variable unless I explicitly set a type on the variable? 03:13 < brad_> hmm, nevermind, I think I figured it out 03:19 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 03:23 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 03:28 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 03:28 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Client Quit] 03:41 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 03:50 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit [Ping timeout: 276 seconds] 04:03 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined #go-nuts 04:20 < Eko> Here's a dodgy one... when accessing a map through for key := range map, if I delete the current key from the map, am I opening myself up for trouble? 04:21 < Eko> The specification only specifically says what happens if you delete one you haven't gotten to or if you add keys. 04:23 < Tv> Eko: i think your safe 04:23 < Tv> *you're 04:23 < Eko> Tv: I was hoping so. Thanks. 04:24 < Eko> I'm inches away from having a minimally-functional IRC server in Go :D 04:25 < Eko> I already have connection registration, channel joining, nick changes, and quit notifications. Only thing left for my first major milestone is channel/user PRIVMSG and PART, which should be pretty easy to build on what I have now. 04:27 < Eko> (it's remarkable how different this is structured from the IRC server I wrote in C. Also, it took me two weeks to get this far in C, and it's been about 24 hours since I started the project in Go.) 04:31 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds] 04:34 -!- ios_ [~ios@180.191.130.60] has joined #go-nuts 04:37 -!- boscop_ [~boscop@f055251208.adsl.alicedsl.de] has quit [Ping timeout: 240 seconds] 04:43 -!- foocraft [~dsc@78.100.194.174] has quit [Quit: Leaving] 04:44 -!- foocraft [~dsc@78.100.194.174] has joined #go-nuts 04:45 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 04:47 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 04:54 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has quit [Read error: Operation timed out] 04:55 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has joined #go-nuts 05:00 < adg> Eko: =D I'd like to take a look when you're done. 05:06 < Eko> adg: lol, I wish I ever got done with projects. I'll let you know when I check it in tonight (jaid.googlecode.com/hg) 05:06 < Eko> I wish I had the discipline to do with this what you did with the sudoku solver (that was you right? or was that rsc...) 05:07 < Eko> but I get on mean coding streaks and don't want to document, at least when I'm tinkering. 05:14 < foocraft> Eko, is jaid intended to be distributed? 05:16 < Eko> foocraft: sure, maybe, if people like it 05:16 < Eko> I like making things that I think are cool, and sometimes other people agree. ^_^ 05:19 -!- cco3-hampster [~conleyo@nat/google/x-iwxdeapefdntphco] has quit [Read error: Connection reset by peer] 05:29 -!- adu [~ajr@pool-173-66-253-179.washdc.fios.verizon.net] has joined #go-nuts 05:29 < adu> hi 05:30 < adu> is there a way to specify that a pointer is readonly? 05:31 < Eko> adu: In circumstances where you want data to be read-only, you might want to consider having a goroutine that manages the data that you communicate through with channels. 05:33 < Eko> adu: though I guess that didn't answer your question; no, I do not believe that there is. 05:34 < adu> so nothing like "* interface{} const" 05:34 < adu> akin to C's "const void *" 05:49 -!- TheSaint [~thesaint@166.205.9.28] has joined #go-nuts 05:50 -!- ryanu [~ryan_@c-98-200-189-134.hsd1.tx.comcast.net] has joined #go-nuts 05:52 -!- cirno [~cirno@77.232.15.216] has quit [Quit: Leaving] 05:55 -!- cirno [~cirno@77.232.15.216] has joined #go-nuts 06:07 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving] 06:08 < anticw> adu: there is no const 06:08 < adu> of course there is, but apparently it can't be used like that 06:08 < anticw> well, not const like in C 06:09 < anticw> because const in C (& C++) is very subtle and confusing 06:09 < adu> C++ morso 06:09 -!- joatmon54 [~engest@cpe-66-74-195-46.san.res.rr.com] has joined #go-nuts 06:10 < adu> because you can put it before, during, between, inside, outside, and after pointers 06:14 < adu> and that includes functions, methods, and pointer-to-members 06:20 < cbeck> And it's left associative except when it's right associative 06:20 < adu> wow 06:22 < Eko> I love that go is so unambiguous. 06:22 < Eko> having a member that's Client *Client is so handy ^_^ 06:27 < anticw> i have mixed feelings when i use the same name for a member and a type 06:29 -!- l00t [~i-i3id3r_@20150106099.user.veloxzone.com.br] has quit [Ping timeout: 265 seconds] 06:29 < adu> it happens in Haskell all the time, you get used to it 06:29 < adu> Eko: I love that Go has such rich literal syntax 06:30 * adu wonders if anyone has given a name to it like GoSON 06:31 < Eko> anticw: I quickly start running out of ways to abbreviate type names when the type name is also a functional name and a referential name (like "client" or "user") 06:34 < Eko> anyone who wants to help load-test and bug-check my (very fledgeling) Go-based IRC server, hop over to irc.didntdoit.net:16667 #test :D 06:34 -!- nettok [~quassel@200.119.160.200] has joined #go-nuts 06:34 -!- joatmon54 [~engest@cpe-66-74-195-46.san.res.rr.com] has quit [Quit: Ex-Chat] 06:35 < Eko> adg: (anyone else too) the source has been checked into jaid.googlecode.com if you want to have a look 06:36 -!- TheSaint [~thesaint@166.205.9.28] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 06:37 < adu> what would be a good name for it... GoON? GoOF? 06:37 < anticw> shaggy 06:37 < Eko> lol, goof would be fun. 06:37 < adu> Go Object Format? 06:38 < Eko> that would fit nicely with the Go Object File Recompiler, which is my outdated attempt at an auto-build tool, lol 06:38 < Eko> maybe in my 20% time I'll try to get that thing up to speed with the way the community has decided to structure projects. 06:39 * Eko is still somewhat unclear on what he'll be allowed to work on. 06:39 < adu> my major qualm would be with arrays, i.e. {1,2,3} or [1,2,3] (so as to be a superset of JSON) and what to do about types, perhaps restrict to struct/int#? 06:41 < Eko> design decisions ;-) 06:42 < anticw> im a bit lost ... this is some alternative to json you're proposing? 06:42 < adu> yes 06:42 < adu> basically typed JSON 06:42 < anticw> gobs 06:42 < adu> I've already put some my thoughts together here: http://drosera.co.cc/drospecs/drosera_dson.html 06:43 < adu> its terribly incomplete 06:44 < Eko> anticw: I know they have a binary gob format, but does it have a text format? 06:44 < anticw> no 06:44 < anticw> to be fair, i used json in more places that i should for that reason 06:44 -!- keithcascio [~keithcasc@nat/google/x-kodlbojywbyddbgv] has quit [Quit: Leaving] 06:45 < adu> is gob like MPEG4/ISOM? 06:45 < anticw> even with some very large sets (large for json) 06:45 < anticw> src/pkg/gob 06:46 < anticw> adu: you're sf bay area? 06:46 < adu> nope, I used to be, but now I'm in the DC area 06:46 < anticw> escaped! 06:46 < adu> lol 06:46 < adu> anticw: any reason you ask? 06:47 < anticw> oh, there are a few Go people in the bay area ... sooner or later we have to figure out some sort of meetup 06:47 < anticw> so mostly curious at this stage 06:47 < cbeck> I'm in redwood city for the holidays, then back to Portland, OR 06:48 * adu <3 OR 06:49 < anticw> OR is one of those places where i rately hear a bad thing, everyone there speaks highly of it 06:49 < adu> well my favorite meditation CDs are made in Oregon 06:50 < anticw> there needs to be a city named Logical in Oregon 06:50 < adu> also Haskell was made there 06:50 < adu> or at least Galois, Inc. is there 06:51 < anticw> haskell i assume came from the UK, probably cambridge 06:51 < adu> i think every state should have a city named Mountain View 06:51 < Eko> haha. 06:52 < adu> well, maybe it's that I've seen several Haskell-based projects out of Portland, OR 06:52 < Eko> I'm moving out to MtV in February to start at Google :O 06:52 < Eko> not doing Go, though. 06:53 < adu> Eko: I'm so jealous! 06:53 < adu> I want to work at Google very very much 06:53 < vsmatck> I applied to be a C++ programmer there. I got screened out. Didn't get an interview. *shrug* 06:53 < Eko> I was half hoping they'd find me a job in Australia, but alas. I guess I'll have to live with San Francisco ;) 06:53 < anticw> Eko: why? 06:53 < Eko> <3 Australia. 06:54 < Eko> and New Zealand. 06:54 < vsmatck> I got a friend who works there. Sounds decent. They pay a lot. 06:54 < adu> Eko: have you seen hobbiton? 06:54 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 06:54 < Eko> lol, nope 06:54 < anticw> Eko: i've worked in mtv and san francisco and in between ... and i can tell you the commute sucks if you can avoid it 06:54 < cbeck> I have a few friends who work for Galois, it's a great place 06:54 < cbeck> Puppetlabs is here as well 06:55 < anticw> portland is a pretty big tech city 06:55 < Eko> anticw: I'm going to try to get an apt near the google shuttle. I'm looking at mostly apartments within a 15 minute drive, so the commute should be better than it was when I worked at TI in Houston even on the worst days. 06:55 < adu> oOo shuttle 06:55 < Eko> indeed. 06:55 < Eko> They spoil us. 06:55 < anticw> Eko: there are a couple of shuttle routes, you can usually get to one pretty easily 06:56 < anticw> 8th & market there is a stop i think, that's near a muni exit 06:56 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Quit: End of line.] 06:56 < Eko> I have a giant spreadsheet of all of the stops, I just need to mark them on a map or something and compare distances to the apartments I'm looking at. 06:57 < cbeck> <3 Engineers 06:57 < adu> lol 06:57 < Eko> >:-) 06:57 < Eko> I don't see how non-engineers survive. 06:58 < cbeck> I'm visiting family atm, and it continually astonishes me at times. 06:58 < adu> Eko: by asking engineers or by asking people who lookup what the engineers say on Google 06:58 < Eko> rofl. 06:59 < adu> srsly 07:01 * Eko idly dreams of #go-nuts someday being hosted entirely on (his!) go-based IRC server 07:01 < Eko> gives another peripheral meaning to "self-hosting" language, bwahahaa. 07:01 * adu dreams of Google buying the copyright to my go compiler 07:02 < Eko> which one's that? gccgo? 07:02 < adu> no, it's in the works, it will be called dsgo 07:02 < Eko> ah. 07:03 < Eko> claim to fame? 07:03 < adu> compiles to C 07:03 < adu> maybe 07:03 < Eko> lol 07:03 < adu> we'll see 07:04 < Eko> wow, my IRC server only has 1k lines of code 07:04 < Eko> the core of my C++ IRC bot had 7k... 07:04 < Eko> that's not including all of the loadable modules that actually DID stuff. 07:05 < Eko> though, to be fair, right now my IRC server doesn't really do much either, but that's not the point. 07:05 < Eko> <3 Go. 07:05 < adu> me too 07:06 < Eko> Now time to go mindlessly watch a violent movie. Cheers y'all! If you're bored, irc.didntdoit.net:16667 #test , it should be up unless you can figure out how to panic it :> 07:06 < cbeck> I was in the middle of writing a pure C IRC bot when I picked up Go. It was a welcome respite from masochism 07:07 < cbeck> Code available anywhere? 07:07 < Eko> cbeck: I've written an IRC bot in every language I know (last time I counted, there were at least 15 bots in my collection) 07:07 < Eko> cbeck: jaid.googlecode.com 07:07 < Eko> looking at the source code is cheating ;-) 07:07 < Eko> looking at the TODO even more so. 07:07 < vsmatck> String processing is really hard in C.. 07:08 < Eko> meh 07:08 < vsmatck> I like how I can be fast and loose with slices in Go. heh 07:08 < Eko> IRC is braindead simple to parse 07:08 < cbeck> It is, but it was also my intro to raw socket IO 07:08 < Eko> heheheehh! 07:08 < Eko> yeah, neworking in C is a bitch and her mother. 07:09 < adu> ack 07:09 < adu> i can't talk 07:10 < adu> in #test that is 07:10 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 07:11 < Eko> adu: orly? 07:12 < adu> really 07:12 < adu> i could try with a different client 07:12 < Eko> I'm not seeing commands from you =/ 07:12 < Eko> just PINGs. 07:12 < adu> Eko: I can't send any 07:12 < Eko> let me restart with some more debugging. 07:12 * cbeck fires up netcat 07:13 < adu> ok, so I can send /msg to people 07:13 < adu> but I can't send /msg to rooms 07:14 < Eko> that's really odd. 07:16 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout: 265 seconds] 07:16 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 07:16 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts 07:19 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts 07:20 -!- TheSaint [~thesaint@166.205.9.28] has joined #go-nuts 07:23 -!- nettok [~quassel@200.119.160.200] has quit [Ping timeout: 255 seconds] 07:30 -!- adu [~ajr@pool-173-66-253-179.washdc.fios.verizon.net] has quit [Quit: adu] 07:31 -!- adu [~ajr@pool-173-66-253-179.washdc.fios.verizon.net] has joined #go-nuts 07:41 -!- nettok [~quassel@200.119.188.227] has joined #go-nuts 07:42 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts 07:53 < adu> is there a pragma syntax? 07:53 < Eko> not that I know of... 07:53 < vsmatck> There is no preprocessor. 07:54 < Eko> well, no standard preprocessor. 07:54 < Eko> droundy has one that does templates, and there are a few others. 07:55 < adu> not #pragma, _Pragma 07:55 < adu> i suppose it could be a user-defined function 07:55 < adu> pragma("x") 07:58 < adu> pragma "x" would be nicer 08:00 < adu> import pragma "x" 08:00 < adu> ooo that's currently valid syntax 08:00 -!- enferex_ [~enferex@users.757.org] has quit [Ping timeout: 260 seconds] 08:00 < vsmatck> hm, that's just in there to resolve naming conflicts for package names. 08:07 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Remote host closed the connection] 08:07 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 08:09 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 08:10 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 08:17 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has joined #go-nuts 08:19 -!- enferex [~enferex@users.757.org] has joined #go-nuts 08:19 -!- nettok [~quassel@200.119.188.227] has quit [Ping timeout: 260 seconds] 08:23 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 08:24 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 08:26 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 08:27 -!- nettok [~quassel@200.119.188.227] has joined #go-nuts 08:30 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has quit [Quit: vdrab] 08:33 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 255 seconds] 08:34 -!- \toothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined #go-nuts 08:40 -!- photron_ [~photron@port-92-201-208-109.dynamic.qsc.de] has joined #go-nuts 08:44 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 08:55 -!- ryanu [~ryan_@c-98-200-189-134.hsd1.tx.comcast.net] has quit [] 08:55 -!- Project_2501 [~Marvin@82.84.84.96] has joined #go-nuts 09:14 -!- nettok [~quassel@200.119.188.227] has quit [Ping timeout: 240 seconds] 09:19 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 09:23 -!- TheSaint [~thesaint@166.205.9.28] has quit [Quit: Colloquy for iPhone - http://colloquy.mobi] 09:29 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 09:30 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts 09:32 -!- Project-2501 [~Marvin@82.84.91.151] has joined #go-nuts 09:36 -!- Project_2501 [~Marvin@82.84.84.96] has quit [Ping timeout: 276 seconds] 09:44 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 09:56 -!- ildorn [~ildorn@p5B2FCB16.dip.t-dialin.net] has joined #go-nuts 09:58 -!- tensorpudding [~user@99.148.202.191] has quit [Remote host closed the connection] 10:02 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Remote host closed the connection] 10:02 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts 10:06 -!- PortatoreSanoDiI [~Marvin@82.84.75.231] has joined #go-nuts 10:09 -!- photron_ [~photron@port-92-201-208-109.dynamic.qsc.de] has quit [Ping timeout: 255 seconds] 10:10 -!- Project-2501 [~Marvin@82.84.91.151] has quit [Ping timeout: 276 seconds] 10:14 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 10:17 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 10:19 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Quit: sjd] 10:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit [Ping timeout: 250 seconds] 10:20 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined #go-nuts 10:40 -!- Project_2501 [~Marvin@82.84.72.194] has joined #go-nuts 10:43 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 10:44 -!- PortatoreSanoDiI [~Marvin@82.84.75.231] has quit [Ping timeout: 260 seconds] 10:48 -!- Project_2501 [~Marvin@82.84.72.194] has quit [Ping timeout: 240 seconds] 10:51 -!- Scorchin [~Scorchin@host86-147-116-169.range86-147.btcentralplus.com] has joined #go-nuts 10:51 -!- xash [~xash@d047026.adsl.hansenet.de] has joined #go-nuts 10:52 -!- ildorn [~ildorn@p5B2FCB16.dip.t-dialin.net] has quit [Quit: Leaving.] 10:54 -!- Project_2501 [~Marvin@82.84.72.194] has joined #go-nuts 11:01 -!- virtualsue [~chatzilla@nat/cisco/x-qivuimsetouvmxlp] has joined #go-nuts 11:19 -!- cirno [~cirno@77.232.15.216] has quit [Ping timeout: 265 seconds] 11:27 -!- r0h4n [~rohan@59.96.92.83] has joined #go-nuts 11:33 -!- Fish [~Fish@coss6.exosec.net] has quit [Disconnected by services] 11:34 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts 11:40 -!- r0h4n [~rohan@59.96.92.83] has left #go-nuts ["WeeChat 0.3.3"] 11:46 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat 0.3.2] 11:48 -!- sauerbraten [~sauerbrat@p508CF636.dip.t-dialin.net] has joined #go-nuts 11:53 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-226.clienti.tiscali.it] has joined #go-nuts 11:53 -!- rutkowski [~adrian@178235049018.walbrzych.vectranet.pl] has joined #go-nuts 11:54 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 11:55 -!- go-irc-c [~go-irc-ch@195-132-97-104.rev.numericable.fr] has quit [Ping timeout: 265 seconds] 11:55 -!- Project_2501 [~Marvin@82.84.72.194] has quit [Ping timeout: 240 seconds] 11:57 -!- Project_2501 [~Marvin@82.84.77.225] has joined #go-nuts 11:58 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 11:58 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten. Desu~] 11:59 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-226.clienti.tiscali.it] has quit [Ping timeout: 250 seconds] 12:02 -!- skejoe_ [~skejoe@188.114.142.162] has joined #go-nuts 12:05 -!- skejoe [~skejoe@188.114.142.162] has quit [Ping timeout: 260 seconds] 12:16 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has joined #go-nuts 12:19 -!- femtooo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 12:22 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 12:23 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 12:23 -!- femtooo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 12:38 -!- artefon [~thiago@189.59.183.130.dynamic.adsl.gvt.net.br] has joined #go-nuts 12:48 -!- \toothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Ping timeout: 276 seconds] 12:57 -!- thiago__ [~thiago@189.59.135.167] has joined #go-nuts 13:00 -!- artefon [~thiago@189.59.183.130.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 260 seconds] 13:00 -!- xash [~xash@d047026.adsl.hansenet.de] has quit [Read error: Operation timed out] 13:01 -!- boscop_ [~boscop@f055251208.adsl.alicedsl.de] has joined #go-nuts 13:15 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit: DarthShrine] 13:28 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR] 13:31 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 13:32 -!- thiago__ [~thiago@189.59.135.167] has quit [Quit: bye] 13:33 -!- nsf [~nsf@jiss.convex.ru] has quit [Client Quit] 13:35 -!- niemeyer_ [~niemeyer@187.53.253.26] has joined #go-nuts 13:41 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 13:50 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 13:52 -!- foocraft [~dsc@78.100.194.174] has quit [Quit: Leaving] 13:57 -!- foocraft [~dsc@78.100.194.174] has joined #go-nuts 13:59 -!- thomas_b_ [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Quit: leaving] 14:04 -!- niemeyer_ [~niemeyer@187.53.253.26] has quit [Ping timeout: 240 seconds] 14:16 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3] 14:27 -!- foocraft [~dsc@78.100.194.174] has quit [Quit: Leaving] 14:28 -!- cirno [~cirno@77.232.15.216] has joined #go-nuts 14:32 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 14:34 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 14:42 -!- askhader [~askhader@taurine.csclub.uwaterloo.ca] has left #go-nuts [] 14:48 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-167-37.clienti.tiscali.it] has joined #go-nuts 14:50 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-167-37.clienti.tiscali.it] has quit [Client Quit] 14:52 -!- Project_2501 [~Marvin@82.84.77.225] has quit [Ping timeout: 265 seconds] 14:54 < creack> hello 14:54 < creack> is there something like typedef in Go? 14:55 < creack> type mytype type works but I can't access to method from type with mytype 14:55 < Namegduf> No. 14:56 < creack> :( 15:01 -!- SoniaKeys [Alliebloom@c-24-91-112-191.hsd1.ma.comcast.net] has joined #go-nuts 15:10 -!- niemeyer_ [~niemeyer@187.53.253.26] has joined #go-nuts 15:13 -!- shvntr [~shvntr@116.26.137.103] has quit [Ping timeout: 260 seconds] 15:19 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 15:19 -!- shvntr [~shvntr@222.50.79.246] has joined #go-nuts 15:22 -!- foocraft [~dsc@78.100.194.174] has joined #go-nuts 15:33 < adu> creack: method? 15:38 < skelterjohn> you can do "type NewType { *OldType }" 15:38 < skelterjohn> and it will have all the same methods as OldType 15:39 < skelterjohn> you will have to cast it to pass it to functions that need OldType 15:43 < adu> o yes, anonymous members 15:44 < adu> I love how Go-ish Go is 15:45 < adu> or should that be without a dash "Goish" like "Pythonic" 15:46 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit [Ping timeout: 272 seconds] 15:47 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined #go-nuts 15:48 < temoto> adu, how can language conform to abstract policy that never existed before creating the language? 15:49 < adu> temoto: I was referring to the board game, actually 15:49 < temoto> oh 15:49 < temoto> language is go-game-ish? 15:49 < adu> yes 15:49 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 15:49 < adu> great complexity in gameplay from such simplicity in rules 15:51 < temoto> Yeah i was thinking the same about Erlang. 15:51 < adu> Erlang is complicated 15:52 < adu> doesn't Erlang have generic types? 15:54 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined #go-nuts 15:54 -!- rutkowski [~adrian@178235049018.walbrzych.vectranet.pl] has quit [Quit: WeeChat 0.3.3-dev] 15:55 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout: 624 seconds] 15:56 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has quit [Quit: vdrab] 15:59 -!- adu [~ajr@pool-173-66-253-179.washdc.fios.verizon.net] has quit [Quit: adu] 16:02 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has quit [Ping timeout: 240 seconds] 16:02 -!- TheSeeker [~n@99-153-250-110.lightspeed.irvnca.sbcglobal.net] has joined #go-nuts 16:04 < skelterjohn> how is the language like go the game? 16:04 -!- noktoborus [debian-tor@gateway/tor-sasl/noktoborus] has joined #go-nuts 16:06 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-167-37.clienti.tiscali.it] has joined #go-nuts 16:06 -!- sauerbraten [~sauerbrat@p508CF636.dip.t-dialin.net] has quit [Quit: Leaving] 16:11 -!- shvntr [~shvntr@222.50.79.246] has quit [Quit: 妖魔鬼怪速速退散!] 16:11 -!- Project-2501 [~Marvin@82.84.86.160] has joined #go-nuts 16:11 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-167-37.clienti.tiscali.it] has quit [Ping timeout: 260 seconds] 16:20 -!- skejoe_ [~skejoe@188.114.142.162] has quit [Quit: leaving] 16:25 -!- SoniaKeys [Alliebloom@c-24-91-112-191.hsd1.ma.comcast.net] has quit [] 16:29 -!- Project-2501 [~Marvin@82.84.86.160] has quit [Quit: E se abbasso questa leva che succ...] 16:29 -!- sav [~lsd@jagat.xored.org] has joined #go-nuts 16:29 -!- sav [~lsd@jagat.xored.org] has quit [Excess Flood] 16:31 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 16:34 -!- virtualsue [~chatzilla@nat/cisco/x-qivuimsetouvmxlp] has quit [Ping timeout: 255 seconds] 16:38 -!- virtualsue [~chatzilla@nat/cisco/x-bnettvuinfbrjzfk] has joined #go-nuts 16:44 -!- niemeyer_ [~niemeyer@187.53.253.26] has quit [Ping timeout: 240 seconds] 16:48 < brad_> why on earth does compiling a simple hello world program end up producing a 1.7 meg binary on OSX? 16:52 < Namegduf> Static compilation and debug information. Production programs are not as huge as that might make you suspect. 16:53 < Namegduf> My fairly complicated server is 3.4MB with debug information. 16:53 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 276 seconds] 16:53 < brad_> how do I compile without debug info? 16:54 < brad_> I mean, still, gcc compiles an equivalent program to 8k 16:54 < brad_> that is a hell of a lot of overhead for a simple little helloworld program 16:54 < Namegduf> With a huge glibc. 16:54 < brad_> well, at least it is shared, so each binary doesn't have all that overhead with every compile 16:55 < Namegduf> True. Such is the compromise of static linking. 16:55 < skelterjohn> i think we will probably see dynamic linking in go one day. first things first. 16:55 < Namegduf> It's irrelevant anyway; the overhead does not cause it to scale up proportionally. 16:55 < brad_> a 1.7m hello world binary is larger than the qnx demo disk that fit on a floppy 16:55 < Namegduf> And binary sizes are constant in their size for practical purposes; irrelevant. 16:55 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 16:56 < brad_> just wasteful use of resources 16:56 < Namegduf> Only in the small case, which is small and doesn't exist in real world situations. 16:56 < Namegduf> I seem to recall it being something around 700k prior to debug information. 16:57 < Namegduf> Remove fmt and you lost about 300k 16:57 < brad_> it would be nicer if it had more optimization options, so I could pick and choose what to include in the binary. I mean, half of what is being included probably isn't even being used at all 16:57 < Namegduf> If the linker can do that, it should automatically. I think it does. 16:58 < Tv> brad_: did you already try dropping the debug info? 16:58 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 265 seconds] 16:58 < brad_> I don't see where I can do that 16:58 < brad_> is it an option to 6g or 6l? 16:58 < brad_> or do I need another util to strip it out? 16:59 < Tv> like, one called "strip" ;) 17:00 < Tv> hmm doesn't seem to be quite that easy 17:00 < Tv> BFD: stSl2630: section .rodata vma 0x448000 overlaps previous sections 17:00 < Tv> etc 17:02 -!- WonTu [~WonTu@p57B54C7A.dip.t-dialin.net] has joined #go-nuts 17:02 -!- WonTu [~WonTu@p57B54C7A.dip.t-dialin.net] has left #go-nuts [] 17:03 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts 17:07 < creack> skelterjohn: it tells me "unexpected { " 17:08 < skelterjohn> sorry - "type NewType struct { OldType }" 17:08 < skelterjohn> forgot the struct 17:09 * TheSeeker wonders how well upx compresses go stuff *tries it* 17:11 < TheSeeker> 2919424 -> 755200 25.86% win32/pe gocode.exe 17:11 < TheSeeker> not bad :) 17:13 < creack> skelterjohn: now it does not want to cast 17:13 < skelterjohn> are you using OldType or *OldType 17:13 < skelterjohn> and are you trying to cast it to OldType or *OldType :) 17:14 < skelterjohn> or maybe you just can't do that. let me experiment for a sec 17:15 < skelterjohn> you can do newInstance.OldType 17:16 < skelterjohn> heading out for some stuff, sorry i can't stay and help 17:16 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 17:20 < creack> ok, working 17:20 < creack> but why "type NewType OldType" does not keep methods? 17:20 < uriel> 16:56 < brad_> just wasteful use of resources 17:20 < Namegduf> Because NewType is a nnew type. 17:20 < Namegduf> *new type 17:20 < uriel> brad_: what resources? dynamic linking making fork() a few magnitude orders slower is a waste of resources 17:21 < uriel> and again, the question is not the size of hello world, but how does size scale up 17:21 < creack> Namegduf: so why specify oldtype? 17:21 < Namegduf> creack: Because it gets the implementation of OldType. 17:22 < cbeck> If you want to make a new type that retains the methods of the oldtype, use type NewType struct { OldType } 17:22 < uriel> and a Go program has a ton more stuff than a simple C program, it has got reflection info, its got unicode tables, and all kinds of other stuff 17:22 < brad_> uriel: it could be that I am comparing apples to oranges. If I compiled a c version statically, perhaps I'd see a comparable size 17:22 -!- ios_ [~ios@180.191.130.60] has quit [Read error: Connection reset by peer] 17:22 < uriel> brad_: again, even then you would be comparing apples to oranges, C for example has no reflection 17:22 < creack> ok 17:22 < creack> thank you 17:24 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 17:24 < Namegduf> Basically, Go takes the view that if you declare a type as different, you clearly WANT it to be a different type 17:24 < Namegduf> And the two are not interchangeable. 17:25 < uriel> brad_: also, if you replace fmt.Print with the print() builtin the size of your hello world will probably fall dramatically too 17:25 < brad_> let me try that 17:26 < uriel> and right now you can't strip the debug symbols, and your hello world includes not just the symbols for the hello world, but for everything else it is linked against (or at least that is my understanding) 17:26 < uriel> so more than apples and oranges, is more like apples and motorbikes 17:27 < brad_> wow, it DID fall a lot 17:27 < brad_> 270k 17:27 < brad_> that is insane 17:27 < uriel> in any case, binary size is like any other optimization, you should only worry about it when it is actually a problem, and the size of hello-world is not a problem, it is the size of real programs that matters 17:28 < uriel> and so far, people that have built sizable Go programs, have never complained about binary size AFAIK 17:33 < exch> It tends to cap off at about 3 mb. Any libs you import usually import others etc. Since you will used many of those yourelf anyways in a real program, that's not a problem. The additional size of your own packages is usually tiny 17:34 < brad_> 3mb for one binary isn't so bad, but 3mb for 100 binaries, or 1000 binaries, that can add up quickly 17:34 < exch> The size vs usage ratio is bad in a hello world that imports fmt, but for a proper program that ratio is just fine 17:34 < brad_> and 3mb no matter how you dice that is signicantly larger than say 8k, 10k, 15k of a dynamically compiled C program 17:35 < brad_> sure, you get some really fancy things with that in go, though 17:35 < exch> with the dynamic linking, you really should include the size of the linked libs themselves 17:35 < exch> that would be a fair comparison 17:35 < brad_> well, and/or compile them statically 17:36 < brad_> so I can see what the overhead really is 17:37 < exch> fmt adds quite a bit of size. If I remember correctly, that's because it imports the unicode package which is rather sizable with all it's character tables 17:37 < brad_> yep it definitely was 17:39 < TheSeeker> "My hello world java class is only 1K!" ;p 17:39 < brad_> ha, yep, and I guess when you factor in the JVM it is bigger than that 17:41 < Namegduf> Heh. 17:41 < Namegduf> C's stdlib doesn't include any unicode support stuff, right? 17:41 < Namegduf> I know standard C doesn't 17:41 < Namegduf> I don't know about glibc. 17:42 < uriel> most dynamic linked programs in the end have to be packaged with the shared libs to avoid dll-hell anyway, see how it works in OS X and windows (or Opera, etc on Linux...) 17:42 < uriel> Namegduf: it does, but you don't link against it by default, the whole w_char and locale insanity 17:42 < Namegduf> Well, yeah, unless you use a Linux system from after 1990 17:42 < uriel> it has a huge performance penalty 17:42 < Namegduf> And have package management 17:43 < Namegduf> (Which is to say, all of them) 17:43 < uriel> yea, becaue package management never breaks, of course... and yay versioned symbols: http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols 17:43 < Namegduf> No, it doesn't break. 17:43 < Namegduf> And if it does break, far more is wrong than just that. 17:43 < Namegduf> The state of the package management system is invalid 17:43 < Namegduf> And you have bigger problems 17:44 < Namegduf> It all just works and has for years in many production environments. I think you need to consider that in the instance of package management the situation may have changed slightly since the original statements. 18:02 -!- DerHorst [~Horst@e176103194.adsl.alicedsl.de] has joined #go-nuts 18:04 -!- sacho [~sacho@87-126-6-67.btc-net.bg] has quit [Ping timeout: 240 seconds] 18:05 -!- brad_ [621a78e5@gateway/web/freenode/ip.98.26.120.229] has quit [Ping timeout: 265 seconds] 18:11 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts 18:16 -!- nettok [~quassel@200.119.153.171] has joined #go-nuts 18:23 < Eko> Did whoever was planning inotify support ever get around to doing it? 18:24 < Eko> I see a long discussion on the mailing list, but nothing more... 18:24 < vsmatck> inotify is in pkg/syscall. 18:26 -!- tasosos [~tasosos@188.4.129.93.dsl.dyn.forthnet.gr] has joined #go-nuts 18:26 -!- tasosos [~tasosos@188.4.129.93.dsl.dyn.forthnet.gr] has left #go-nuts [] 18:29 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 18:35 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 18:36 -!- femtooo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 18:39 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 18:44 < aiju> any preferred way of profiling Go code? 18:46 < Namegduf> 6prof 18:46 < aiju> is there an 8prof? 18:47 < aiju> i'm really tired of "The Go world is an AMD64" 18:47 < Namegduf> 6prof is used on all platforms. 18:47 < aiju> oic 18:47 < Namegduf> Also it's more like the 2010 world is an AMD64 18:47 < aiju> ◔ ◡ ◔ 18:47 < Namegduf> I mean jeeze 18:47 < Namegduf> I've not used a 32bit OS other than Windows in the past four years, and even then my servers were 64bit 18:51 < aiju> i don't possess a single working 64-bit machine 18:51 < aiju> s/64-bit/AMD64/g another annoyance 18:54 < aiju> 187.07% syscall.Syscall6 18:54 < aiju> wait, what 18:58 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 240 seconds] 19:00 < aiju> is there any way to get useful (i.e. line number) information? 19:03 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 19:06 -!- femtooo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Ping timeout: 260 seconds] 19:06 -!- niemeyer_ [~niemeyer@187.53.253.26] has joined #go-nuts 19:09 -!- nettok [~quassel@200.119.153.171] has quit [Ping timeout: 264 seconds] 19:12 < Eko> aiju: Syscall6 is the six-argument syscall, which (I think) I find is usually filesystem and network syscalls. 19:13 < Eko> however, I'm now on mac, and can't use 6prof (unless that's changed and I never noticed). 19:13 < aiju> Eko: the funny part is that it's taking 187% of the time 19:14 < Eko> aiju: multicore CPU? 19:14 < aiju> ha no 19:14 < Eko> also see http://groups.google.com/group/golang-nuts/browse_thread/thread/d06afe478d020627, it may have more interesting results 19:14 < Eko> without the comma >_< 19:15 * cbeck remembers the first time her ever saw Load Avg: 31.02 31.00 31.90 on a box 19:15 < cbeck> s/her/he/ 19:15 < Namegduf> aiju: 6prof includes idle time 19:15 < Namegduf> It profiles real time, not CPU time 19:16 < Namegduf> As I understand it 19:16 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 19:16 -!- mode/#go-nuts [+v iant] by ChanServ 19:16 < Namegduf> And GOMAXPROCS does not stop multiple syscalls at once. 19:17 < Eko> =O. neat. 19:17 -!- niemeyer_ [~niemeyer@187.53.253.26] has quit [Ping timeout: 240 seconds] 19:17 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 19:20 < aiju> duh, without more detailed information this is all pretty useless 19:20 -!- sjd [~sjd@204-195-89-40.wavecable.com] has quit [Quit: sjd] 19:21 -!- nettok [~quassel@200.119.156.12] has joined #go-nuts 19:23 -!- sjd [~sjd@204-195-89-40.wavecable.com] has joined #go-nuts 19:23 -!- illya77 [~illya77@67-149-133-95.pool.ukrtel.net] has joined #go-nuts 19:24 -!- napsy [~luka@88.200.96.18] has quit [Read error: Operation timed out] 19:24 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has joined #go-nuts 19:26 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 19:48 -!- wrtp [~rog@212.183.140.8] has joined #go-nuts 19:56 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 20:04 -!- ryanu [~ryan_@c-98-200-189-134.hsd1.tx.comcast.net] has joined #go-nuts 20:06 -!- wrtp [~rog@212.183.140.8] has quit [Quit: wrtp] 20:10 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts 20:10 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host] 20:10 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined #go-nuts 20:23 -!- dju [dju@fsf/member/dju] has quit [Quit: Quitte] 20:32 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has joined #go-nuts 20:34 -!- nettok [~quassel@200.119.156.12] has quit [Ping timeout: 255 seconds] 20:44 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 276 seconds] 20:44 -!- nettok [~quassel@200.119.156.12] has joined #go-nuts 20:52 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 20:53 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has joined #go-nuts 20:54 -!- ryanu [~ryan_@c-98-200-189-134.hsd1.tx.comcast.net] has quit [] 21:08 -!- skelterjohn [~jasmuth@c-71-230-156-50.hsd1.nj.comcast.net] has quit [Quit: skelterjohn] 21:09 -!- Eko [~eko@adsl-76-251-235-206.dsl.ipltin.sbcglobal.net] has left #go-nuts [] 21:09 -!- Eko [~eko@adsl-76-251-235-206.dsl.ipltin.sbcglobal.net] has joined #go-nuts 21:11 -!- illya77 [~illya77@67-149-133-95.pool.ukrtel.net] has quit [Quit: illya77] 21:16 -!- cirno [~cirno@77.232.15.216] has quit [Quit: Leaving] 21:17 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts 21:20 -!- dju [dju@fsf/member/dju] has joined #go-nuts 21:22 -!- savio [~thc@18748176131.nit.megazon.com.br] has joined #go-nuts 21:23 -!- dju [dju@fsf/member/dju] has quit [Max SendQ exceeded] 21:24 -!- dju [dju@fsf/member/dju] has joined #go-nuts 21:29 -!- hachiya_ [~hachiya@encyclical.net] has quit [Ping timeout: 276 seconds] 21:29 -!- hachiya [~hachiya@encyclical.net] has joined #go-nuts 21:53 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 21:56 -!- femtoo [~femto@95-89-196-179-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 22:06 -!- ymasory_ [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined #go-nuts 22:06 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 22:07 -!- DerHorst [~Horst@e176103194.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:07 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 250 seconds] 22:12 -!- virtualsue [~chatzilla@nat/cisco/x-bnettvuinfbrjzfk] has quit [Ping timeout: 240 seconds] 22:21 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts 22:22 -!- virtualsue [~chatzilla@host81-148-14-32.in-addr.btopenworld.com] has joined #go-nuts 22:40 < piranha> which type of GC Go has? refcounting, generational, anything else? 22:40 -!- dju_ [~dju@fsf/member/dju] has joined #go-nuts 22:41 < TheSeeker> isn't it just mark-sweep? 22:41 < piranha> no idea, just asking :) 22:42 < piranha> can't find in documentation :( 22:42 < vsmatck> Last I heard it was. I think rsc is working on a better one? http://code.google.com/r/rsc-go-gc/ 22:42 < piranha> ok, thanks you :) 22:42 < vsmatck> I've heard rob pike say stuff about the Inferno concurrent GC. Anyone have info about who's working on what? 22:42 < piranha> s/thanks/thank/ 22:43 -!- dju [dju@fsf/member/dju] has quit [Ping timeout: 240 seconds] 22:44 -!- ymasory_ [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has quit [Ping timeout: 264 seconds] 22:44 < fuzzybyte> inferno GC? how does that work 22:45 < fuzzybyte> this? http://doc.cat-v.org/inferno/concurrent_gc/concurrent_gc.pdf 22:46 < vsmatck> It uses separate threads for mark and sweep and doesn't stop the world. It also doesn't use locks, it relies on operations that are atomic in hardware. 22:47 < vsmatck> The numbers in that paper look pretty crummy. Looks like it trades execution time for shorter pauses. I think the idea is that it'll work well on systems that have a couple CPUs. 22:47 < fuzzybyte> sounds interesting 22:49 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR] 22:49 < vsmatck> rob pike has guestimated that the GC will eventually only cost 20% when compared to C + manual memory management. 22:49 < Eko> in terms of execution time? 22:50 < vsmatck> yeah 22:50 < vsmatck> Performance is never so simple tho. I think his estimate was a "rule of thumb" type of statement. 22:50 < Eko> of course. 22:51 < fuzzybyte> could you use "inferno GC" in applications with hard real-time needs? eg. flight control or something mission critical like that 22:52 < fuzzybyte> what kinda response time does it guarantee? or does it guarantee anything? 22:53 < vsmatck> I don't know for sure. My suspicion is that Go will never make any headway in to hard real time. 22:53 * TheSeeker wouldn't use Go for anything mission-critical at this point ... production maybe. 22:53 < Eko> I think too many people write off languages with a GC for real-time applications... sure, you don't want the GC interrupting something that's "real-time" but that doesn't mean that you can't trade poor memory management in those sections for the ease and correctness that a GC language can provide. 22:53 < vsmatck> In that paper it shows 20-30ms pauses. 22:54 < Eko> and I agree with TheSeeker... C is just too proven to be displaced easily; for production code, though, I see no problem using Go, especially if you have good code review practices. 22:55 < vsmatck> BASIC is alive an well for hard real time too. heh 22:55 < TheSeeker> I was reading a USGS website that mentioned almost everything being coded there in fortran. 22:57 < vsmatck> I work in industrial automation. We use ladder-logic mostly. 22:57 < TheSeeker> about 110,000 hits on google for 'site:.gov fortran' 22:57 < Eko> lol 22:58 < Eko> I used a real-time basic once. it was called pbasic. 22:58 < TheSeeker> powerbasic? 22:58 < Eko> Not that I know of, we only called it pbasic. The only switching constructs it had were IF/GOTO. 22:58 < Eko> not even IF/ELSE. 22:58 < vsmatck> Computers generally aren't considered to be very reliable. Once you get a PLC working it generally continues to work forever. No complicated OS between your program and the hardware. And it's easy to predict exactly how much latency things will have. 22:58 < Eko> it might have been suitable for real-time response, but it wasn't suitable for writing correct or provable code. 22:58 < TheSeeker> ah, pbasic = Parallax Basic 22:59 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has joined #go-nuts 22:59 < Eko> sounds like it 23:00 < TheSeeker> heh 23:00 < Eko> interestingly, my Go IRC server has a faster ping time than my C++ one did. 23:00 < Eko> not as fast as freenode though. 23:01 < vsmatck> I'd probably attribute that to the programmer and not the language. :)) No doubt Go is more productive than C++ tho. 23:01 < Eko> eh, nevermind, they both vary between .01 and .12. 23:02 < Eko> vsmatck: oh, no that's definitely why I said "my C++ one" because that was forever ago and I did lots of silly things 23:02 < Eko> though ironically, I tried to do lots of things (message passing) that come for free in go, and that probably caused a lot of the overhead. 23:04 < vsmatck> Message passing is nice. I wrote a message channel library in C++. It was pretty crummy tho. 23:04 < vsmatck> I used to basically do message passing in C++ with boost::condition_variable/boost::mutex and a std::queue. Worked the same pretty much. 23:05 < nsf> reading concurrent_gc.pdf paper above 23:05 < nsf> 80ms pause time on 20mb heap 23:05 < nsf> :( 23:05 < vsmatck> But ya all this crap I had to deal with in C++ I get for "free" in Go. I just trade runtime performance I didn't need anyways. 23:06 < nsf> max pause time should be less than half of a 1/60th of a second 23:06 < vsmatck> Sounds like there has to be a ton of analysis on the part of the compiler to set the right variables for the inferno VCGC to work well. 23:06 < nsf> and compilation time is interesting, yeah 23:07 < nsf> also note the execution time 23:07 < vsmatck> We'll get Go to compile as slow as C++ in no time. :) 23:07 < nsf> in most cases execution time is 2x-3x 23:08 < vsmatck> I never thought compile time for a compiled language was a big deal. Even for C++. Each translation unit can be farmed out to different CPUs. The biggest bottleneck for distributed C++ compilation turns out to be the preprocessor. 23:08 < nsf> vsmatck: until you saw Go 23:08 < nsf> I can't use C++ now 23:08 < nsf> I can't even compile gccgo 23:09 < nsf> because it takes too much time :D 23:09 < vsmatck> hah 23:11 < aiju> 00:07 < vsmatck> We'll get Go to compile as slow as C++ in no time. :) 23:11 -!- SoniaKeys [Alliebloom@c-24-91-112-191.hsd1.ma.comcast.net] has joined #go-nuts 23:11 < aiju> getting a compiler as bad and slow as a C++ compiler isn't just something you do with a move of your hand 23:12 < nsf> as for reliability, some space flying stuff runs MSDOS and apps written in pascal :) even these days 23:12 < aiju> this requires hard work 23:12 < aiju> nsf: i've heard some nuclear power plants still run PDP-11 23:12 < nsf> hehe 23:13 < vsmatck> I wasn't being serious BTW. Go just has some properties that mean it will never be as slow to compile as C++. Fewer passes required, no preprocessor, symbolic includes (not string substitution). 23:13 < nsf> yes 23:13 < nsf> no big design mistakes 23:13 < vsmatck> oh, and no templates. 23:13 < aiju> actually, C++ has worse stuff 23:13 < nsf> although it has few of them :) 23:13 < aiju> contet dependance 23:13 < aiju> +x 23:13 < aiju> vsmatck: what you listed is stuff C has as well 23:13 < nsf> like that one: 23:14 < aiju> and kencc is fast 23:14 < nsf> if myType{1, 2, 3} { println("Hello") } 23:14 < nsf> try parse that 23:14 < nsf> well it's incorrect 23:14 < nsf> something like: 23:14 < nsf> if myType{1, 2, 3} == myVar { println("Hello") } 23:14 -!- virtualsue [~chatzilla@host81-148-14-32.in-addr.btopenworld.com] has quit [Ping timeout: 240 seconds] 23:15 < nsf> the point is, there is an ambiguity 23:15 < aiju> C++ is full of ambiguities 23:15 < nsf> that requires identifier information like in C.. you should be able to tell whether it's a variable or a type 23:16 < nsf> Go avoids that disallowing that kind of statements 23:16 < aiju> take a "basic" STL type and look up what it actually is 23:18 < aiju> Go compilation is probably limited by hard disk speed… 23:18 < nsf> aiju: in theory, yes 23:18 < TheSeeker> easily verified by comparing SSD vs rotating disk compile times in same system ? 23:19 < vsmatck> I've seen some C compilers that move preprocessing in to the language effectively. Getting rid of the preprocessing phase by making the C parser understand it. 23:19 < nsf> in practice the current compiler is not fast enough :D 23:19 < vsmatck> So some of the stuff can be mitigated. *shrug* 23:19 -!- go-irc-c [~go-irc-ch@195-132-97-104.rev.numericable.fr] has joined #go-nuts 23:20 < nsf> oops, no 23:20 < nsf> it is fast enough 23:20 < nsf> but not that fast :)) 23:20 < aiju> it's not hard to reach the hard disk limit 23:20 < aiju> even gcc can accomplish that on some systems... 23:21 < vsmatck> I wonder if flash memory will replace mechanical HDDs. Seems like a question for a hardware person tho. 23:21 < vsmatck> I mean 10ms seek time = 100 IOPs. Not very much. 23:23 < aiju> IOP? 23:23 -!- vdrab [~vdrab@pd3e9b4.kyotnt01.ap.so-net.ne.jp] has quit [Quit: vdrab] 23:23 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has quit [Ping timeout: 260 seconds] 23:23 -!- Davidian1024 [~Davidian1@cpe-173-88-174-84.neo.res.rr.com] has joined #go-nuts 23:24 < vsmatck> IO operation per second. 23:24 -!- virtualsue [~chatzilla@host81-148-14-32.in-addr.btopenworld.com] has joined #go-nuts 23:25 < Eko> in terms of sheer write speed, I think HDDs will probably beat out flash drives. There may be better SDD technologies that don't suffer from some of the same write bottlenecks that FLASH does though. 23:25 < vsmatck> HDD benchmarks like to use the measure. 10ms = 100 IOP assumes totally random writes tho. 23:26 < Eko> but I'd bet that flash will always beat hdds on read time. Of course, I could be crazy. 23:26 < Tv> a good HDD can do streaming reads faster than mediocre SSD 23:27 < vsmatck> Depends on what kind of work load. SSDs do a lot better on random stuff. 23:27 < TheSeeker> persistent spintronic memristor ramdisks? >_> 23:27 < vsmatck> Tv: True. 23:28 < aiju> in the long run i think it's certain that SSDs will take over 23:28 < aiju> at least, that hard disks will become unpopular 23:29 < vsmatck> They do fine for sequential reads/writes. As long as their gB/$ ratio is better than SSDs they'll continue to be used. 23:29 < Tv> my bet for the next few years: laptops=ssd, servers=hybrid 23:30 < vsmatck> The hybrid stuff is interesting. I've seen companies like adaptec selling kits that work with good SSDs (like the intel) to use them as big write cache for disk arrays. 23:31 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 23:33 < vsmatck> If I were a gozillionair (I'm not yet) I'd get a ioDrive in my desktop. :) 23:33 < Tv> the intel ssd in my laptop is worth about half of the rest of the laptop ;) 23:33 -!- sacho [~sacho@87-126-6-67.btc-net.bg] has joined #go-nuts 23:34 < kimelto> dragonfly uses swapcache to cache meta data of the hdd into a ssd. apparently it boost performances nicely. 23:34 < vsmatck> heh, my bro got a 160gB ge2 MLC recently and it was 400$+. I think the gen3 drives will be out q1 2011. 23:35 < aiju> i mostly don't give a shit about hardware 23:35 < aiju> unless your running the latest bloatware it really doesn't matter 23:35 < aiju> *you're 23:36 * vsmatck has a game addiction. lol 23:36 < kimelto> or if you want a decent battery lifetime on your laptopt, or... 23:38 < Tv> frankly, i could tell the difference between 5400rpm and 7200rpm laptop hard drives from just the interactivity of shell.. 23:39 < aiju> yeah, especially since that stuff is usually held in RAM 23:42 < fuzzybyte> he's an extraordinaly sharp man then 23:43 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 23:43 < aiju> my laptop hard disk is 4200 rpm… 23:52 -!- nettok [~quassel@200.119.156.12] has quit [Ping timeout: 265 seconds] 23:57 -!- GoBIR [~gobir@adsl-76-251-235-206.dsl.ipltin.sbcglobal.net] has joined #go-nuts --- Log closed Sat Dec 25 00:00:01 2010