--- Log opened Sat Apr 09 00:00:50 2011 00:07 -!- dfr|mac_work [~dfr|work@nat/google/x-gzisobmqmobfmwuk] has quit [Remote host closed the connection] 00:42 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 246 seconds] 00:52 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts 01:00 -!- iant [~iant@67.218.107.170] has quit [Quit: Leaving.] 01:02 -!- nettok [~quassel@200.119.188.250] has joined #go-nuts 01:10 -!- Guest29254 [~atom@137-242.203-62.cust.bluewin.ch] has joined #go-nuts 01:20 -!- saturnfive [~saturnfiv@219.144.192.121] has joined #go-nuts 01:20 -!- saturnfive [~saturnfiv@219.144.192.121] has left #go-nuts [] 01:22 -!- qeed [~qeed@adsl-85-155-47.mco.bellsouth.net] has quit [Quit: Leaving] 01:25 -!- joelkronander [~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has quit [Quit: joelkronander] 01:26 -!- Guest29254 [~atom@137-242.203-62.cust.bluewin.ch] has left #go-nuts ["Ex-Chat"] 01:50 < |Craig|> skelterjohn_: gb built my project just fine :) 01:53 < skelterjohn_> great :) 01:53 < |Craig|> I removed on stray unneeded go file, and it just worked 01:53 < skelterjohn_> stray source files will mess it up, sure 01:54 < |Craig|> I did notice when updating go today that it seemed like gomatrix didnt compile 01:56 < |Craig|> util.go, line 70, seems to use an outdated non blocking receive according to the error 02:29 -!- vpit3833 [~user@CPE-58-160-37-24.phzl1.ken.bigpond.net.au] has joined #go-nuts 02:53 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 02:53 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 02:56 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 02:56 -!- mode/#go-nuts [+v iant] by ChanServ 03:02 -!- foocraft [~dsc@78.101.39.238] has quit [Ping timeout: 240 seconds] 03:03 -!- foocraft [~dsc@89.211.214.14] has joined #go-nuts 03:06 -!- l00t- [~i-i3id3r_@20150129002.user.veloxzone.com.br] has quit [Ping timeout: 276 seconds] 03:07 -!- l00t- [~i-i3id3r_@189.105.46.242] has joined #go-nuts 03:08 -!- Border [~Border@119.80.106.66] has joined #go-nuts 03:12 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 03:20 -!- cirno_ [~cirno@77.232.15.216] has quit [Ping timeout: 276 seconds] 03:32 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-ybctxzxwwpurmpjo] has quit [Ping timeout: 276 seconds] 03:32 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-hmhrkvpblrbhzftb] has joined #go-nuts 03:32 < skelterjohn> |Craig|: gomatrix compiles with tip 03:33 < skelterjohn> the "val, ok <- ch" that it uses isn't for a non-blocking receive - it's to see if the chan has closed in the meantime 03:33 < skelterjohn> ie the new meaning of multi-val chan recv 03:33 < |Craig|> I've had funny issue with go install before, it may just be not updating 03:34 < |Craig|> I was using the latest release build, something might have changed since then too 03:34 < skelterjohn> you most likely have the latest gomatrix code 03:35 < skelterjohn> or at least, the latest gomatrix code has what you see on util.go:70 03:36 < |Craig|> so go has release, and weekly builds now right? 03:39 < |Craig|> and the latest release is from march apparently. I guess I should move to weekly 03:43 < skelterjohn> seems like ages though 03:45 < |Craig|> wow, my working directory had "Go" in it even though the folder was called "go". I didn't know cd would let me get away with that. 03:49 < |Craig|> skelterjohn: moving to weekly fixed gomatrix, time to see how much of my code it broke 03:49 -!- aho [~nya@fuld-590c60c7.pool.mediaWays.net] has joined #go-nuts 03:52 -!- KBme [~KBme@2001:470:1f13:94::3] has quit [Ping timeout: 260 seconds] 03:54 -!- KBme [~KBme@2001:470:1f13:94::3] has joined #go-nuts 04:09 -!- tyha2 [48be4003@gateway/web/freenode/ip.72.190.64.3] has joined #go-nuts 04:12 < tyha2> I don't get why I can do "var buf bytes.Buffer; buf.WriteString("foo");"; I would think it shouldn't compile, as WriteString() is a pointer method, but 'buf' is just a struct! https://gist.github.com/911095 04:14 < skelterjohn> pointer methods work on values 04:14 < skelterjohn> though not the other way around 04:14 < skelterjohn> or wait 04:14 < skelterjohn> is it the opposite of what i said? 04:16 < tyha2> "The rule about pointers vs. values for receivers is that value methods can be invoked on pointers and values, but pointer methods can only be invoked on pointers." http://golang.org/doc/effective_go.html 04:17 < skelterjohn> that's what i thought 04:17 < skelterjohn> but it seems that that is not the case 04:17 < skelterjohn> http://pastebin.com/ACFEfbev <- compiles 04:17 < skelterjohn> perhaps a bug 04:17 < skelterjohn> i'm pretty sure it used to behave like the spec says 04:18 < tyha2> I'm using 8g version release.r56 7666 04:18 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts 04:19 < skelterjohn> oh wait 04:19 < skelterjohn> i was not compiling the source i thought i was compiling 04:19 < skelterjohn> but no it still works 04:19 < skelterjohn> 6g version weekly.2011-04-04 7981 04:21 < skelterjohn> http://pastebin.com/pYASxFse <- run that code 04:21 < skelterjohn> not only is the pointer method being called on the value, it is being called using the address of that actual value 04:21 < skelterjohn> and changes inside the method are affecting the value outside 04:23 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:24 < tyha2> yeah that is surprising. 04:25 < |Craig|> skelterjohn: the playground agrees with you, very odd 04:25 < skelterjohn> (filing an issue) 04:25 < tyha2> skelterjohn: thanks 04:26 < tyha2> I like the old behavior 04:26 < skelterjohn> def a bug 04:26 < skelterjohn> fortunately it won't break any existing code :) 04:26 < |Craig|> it might have its uses, but its very strange. It seems like it can change where a value is, which could break pointers to locals when calling stuff on them 04:29 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has joined #go-nuts 04:29 < skelterjohn> http://code.google.com/p/go/issues/detail?id=1681&colspec=ID%20Status%20Stars%20Priority%20Owner%20Reporter%20Summary 04:29 < |Craig|> hum, nope, not breaking pointers. Must be doing a copy back over the origional somewhere I guess 04:29 < raylu> so now that people do not need to configure GOROOT, what is the idiomatic way of creating a Makefile? 04:30 < skelterjohn> what do you mean, don't need to configure goroot? 04:30 < raylu> http://golang.org/doc/install.html#environment 04:30 < raylu> it's optional now 04:31 < skelterjohn> you mean, now that you don't need to set $GOROOT 04:31 < raylu> er, yes 04:31 < skelterjohn> and i didn't know that 04:31 < skelterjohn> but it says you use the same makefiles 04:31 < skelterjohn> but invoke them with gomake 04:31 < raylu> oh, lol 04:31 * raylu is stupid 04:32 < raylu> thanks for reading for me ;) 04:32 < |Craig|> raylu: my personal recommendation is to use gb for go projects. Makefiles for every package gets to be a mess 04:33 < raylu> gb? 04:33 < skelterjohn> |Craig|: gb is going to be replaced by a new version of gomake 04:33 < |Craig|> oh, fancy 04:33 < skelterjohn> and i am not going to continue gb support 04:33 < vsmatck> gd nice too 04:33 < skelterjohn> but gomake will do much the same thing 04:33 < |Craig|> as long as I have a single command that builds stuff without redundant config I don't care what it is 04:34 < skelterjohn> i took a look at gd when i was thinking about writing gb, and it seemed like it was meant for projects that, while they can have many packages, had only one command 04:34 < tyha2> I don't know if that pointer method thing is a bug; there are a bunch of examples of 'var buf bytes.Buffer' and subsequent invocations of pointer methods on 'buf' throughout the go standard library. e.g. http/dump.go drainBody() 04:34 < skelterjohn> and that didn't jive with me 04:34 < skelterjohn> tyha2: the example i have in the issue i filed is definitely NOT desired behavior 04:35 < skelterjohn> and i link to the corresponding part of the spec that says it's not allowed 04:35 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has quit [Ping timeout: 252 seconds] 04:35 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has joined #go-nuts 04:35 -!- Border [~Border@119.80.106.66] has quit [Ping timeout: 240 seconds] 04:38 -!- tensai_cirno [~cirno@194.154.66.78] has joined #go-nuts 04:41 -!- photron [~photron@port-92-201-12-246.dynamic.qsc.de] has joined #go-nuts 04:47 -!- m4dh4tt3r [~Adium@245.sub-75-208-24.myvzw.com] has joined #go-nuts 04:48 -!- tensai_cirno [~cirno@194.154.66.78] has quit [Read error: Connection reset by peer] 04:49 -!- tensai_cirno [~cirno@194.154.66.78] has joined #go-nuts 04:51 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has left #go-nuts ["thanks for the help! ^^"] 04:57 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 04:59 < skelterjohn> ack, the reflect package has massive changes 05:02 -!- tensai_cirno [~cirno@194.154.66.78] has quit [Ping timeout: 246 seconds] 05:03 -!- tensai_cirno [~cirno@194.154.66.78] has joined #go-nuts 05:03 -!- nettok [~quassel@200.119.188.250] has quit [Ping timeout: 276 seconds] 05:08 < vsmatck> Should you be able to pass a netchan over a netchan? 05:08 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts 05:09 < vsmatck> You know those old phone banks. Where you'd call a operator and she's manually plug you in to where you needed to go. 05:10 < vsmatck> I'm thinking you have a server sitting in front of other servers. You connect to a server (the operator) on a netchan. The operator then passes your netchan to one of the other servers (the person you want to connect to). 05:10 < crodjer> how do I compile the go docs? 05:11 < skelterjohn> crodjer: you don't - you just run godoc 05:11 < crodjer> k....so it runs the docs as web app? 05:12 < skelterjohn> yes - godoc will run a web server if you do "godoc -http :6060" 05:12 < crodjer> k got it now 05:12 < skelterjohn> or whatever port you like 05:12 < dforsyth> =: 05:12 < skelterjohn> you can also use it just on the command line 05:12 < skelterjohn> you don't need the = 05:12 < crodjer> yeah....just saw the bin command 05:12 < dforsyth> oh really? 05:12 < skelterjohn> but you can put it there if it makes you feel good 05:12 < dforsyth> cool 05:13 < skelterjohn> also, "godoc fmt Println" will give you the doc on fmt.Println 05:13 < skelterjohn> etc 05:13 < skelterjohn> but in the terminal 05:15 < crodjer> any way to deploy go webapps? 05:16 < skelterjohn> you can run a server using the http package? 05:16 < crodjer> yeah thats like a dev server right? 05:16 < skelterjohn> what's a dev server? 05:16 < vsmatck> negatory, Go web server can be very high performance. 05:17 < crodjer> k 05:17 < skelterjohn> golang.org uses the http package 05:17 < crodjer> k 05:17 < vsmatck> There's a nice framework called web.go which I'd recommend. 05:17 < skelterjohn> web servers are one of go's targets 05:18 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 05:21 -!- m4dh4tt3r [~Adium@245.sub-75-208-24.myvzw.com] has quit [Ping timeout: 240 seconds] 05:33 -!- foocraft [~dsc@89.211.214.14] has quit [Ping timeout: 240 seconds] 05:37 -!- tensorpudding [~user@99.32.63.28] has quit [Read error: Connection reset by peer] 05:38 -!- jeffreymcmanus [~jeffreymc@70-36-141-150.dsl.dynamic.sonic.net] has quit [Quit: jeffreymcmanus] 05:38 -!- cenuij [~cenuij@109.8.21.241] has joined #go-nuts 05:38 -!- cenuij [~cenuij@109.8.21.241] has quit [Changing host] 05:38 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 05:40 -!- tensai_cirno [~cirno@194.154.66.78] has quit [Ping timeout: 264 seconds] 05:43 -!- tensai_cirno [~cirno@194.154.66.78] has joined #go-nuts 05:46 -!- TheColonial [~oj@115-64-213-55.static.tpgi.com.au] has joined #go-nuts 06:04 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 06:19 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed the connection] 06:31 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 06:35 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping timeout: 248 seconds] 06:36 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts 06:37 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 06:43 -!- ako [~nya@fuld-590c7114.pool.mediaWays.net] has joined #go-nuts 06:44 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 06:45 -!- aho [~nya@fuld-590c60c7.pool.mediaWays.net] has quit [Ping timeout: 246 seconds] 06:45 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has quit [Ping timeout: 246 seconds] 06:59 -!- lmoura [~lauromour@186.215.206.130] has quit [Ping timeout: 258 seconds] 07:02 -!- tensai_cirno [~cirno@194.154.66.78] has quit [Ping timeout: 246 seconds] 07:02 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has joined #go-nuts 07:03 -!- lmoura [~lauromour@187.58.96.23] has joined #go-nuts 07:05 -!- tensai_cirno [~cirno@194.154.66.78] has joined #go-nuts 07:11 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 07:14 < krutcha1> hmm can "make test" be done on a 'main package' including make.cmd instead of make.pkg? 07:25 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts 07:26 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Client Quit] 07:35 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 07:36 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 07:37 -!- virtualsue [~chatzilla@nat/cisco/x-cyugekrsthclzzvq] has joined #go-nuts 07:42 -!- vpit3833 [~user@CPE-58-160-37-24.phzl1.ken.bigpond.net.au] has quit [Quit: ERC Version 5.3 (IRC client for Emacs)] 07:54 -!- tensai_cirno [~cirno@194.154.66.78] has quit [Ping timeout: 252 seconds] 08:07 < Eko> krutcha1: Not really. gotest generates a main() function/file that runs the test functions, so it is by definition in conflict with any "main" package -- what Make.cmd builds. 08:08 < Eko> The normal solution is to have a stub main() and factor all of your program code into a testable package with a Run method or similar. 08:23 -!- kevlar [~eko@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit [Changing host] 08:23 -!- kevlar [~eko@unaffiliated/eko] has joined #go-nuts 08:24 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has joined #go-nuts 08:25 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has quit [Client Quit] 08:30 < jessta_> krutcha1: I think that's possible now 08:30 < jessta_> there was a recent change 08:32 -!- kevlar [~kevlar@unaffiliated/eko] has joined #go-nuts 08:51 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 09:02 -!- awidegreen [~quassel@c-0acfe555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Ping timeout: 252 seconds] 09:03 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has joined #go-nuts 09:07 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 09:08 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 09:16 < krutcha1> hrm is it possible to do a type assertion on one member of a multi value return? 09:17 < krutcha1> like oops,i,err := foo().(oopstype,_,_) or some such? 09:25 < rm445> yuk 09:53 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds] 09:58 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 09:58 -!- foocraft [~dsc@78.101.41.1] has joined #go-nuts 09:59 -!- l00t- [~i-i3id3r_@189.105.46.242] has quit [Ping timeout: 248 seconds] 10:02 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 10:02 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 10:02 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 10:02 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 10:04 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 246 seconds] 10:18 -!- shvntr [~shvntr@123.89.111.191] has joined #go-nuts 10:22 -!- shvntr [~shvntr@123.89.111.191] has quit [Ping timeout: 240 seconds] 10:23 -!- shvntr [~shvntr@59.35.234.150] has joined #go-nuts 10:25 -!- Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts 10:26 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-62.clienti.tiscali.it] has joined #go-nuts 10:32 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts 10:39 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote host closed the connection] 10:53 -!- tyha2 [48be4003@gateway/web/freenode/ip.72.190.64.3] has quit [Ping timeout: 252 seconds] 10:55 -!- Scorchin [~Scorchin@host109-156-10-204.range109-156.btcentralplus.com] has joined #go-nuts 10:57 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts 11:34 -!- randfur [~androirc@58.145.148.26] has joined #go-nuts 11:35 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts 11:39 -!- randfur [~androirc@58.145.148.26] has quit [Quit: AndroIRC] 11:48 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 11:51 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote host closed the connection] 12:01 -!- skejoe [~skejoe@89.249.0.154] has quit [Ping timeout: 240 seconds] 12:03 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts 12:06 -!- shvntr [~shvntr@59.35.234.150] has quit [Ping timeout: 248 seconds] 12:07 -!- shvntr [~shvntr@59.35.234.150] has joined #go-nuts 12:12 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 12:15 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Remote host closed the connection] 12:16 -!- virtualsue [~chatzilla@nat/cisco/x-cyugekrsthclzzvq] has quit [Ping timeout: 276 seconds] 12:17 -!- krolaw [~krolaw@203.100.208.229] has left #go-nuts [] 12:17 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 12:18 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Ping timeout: 276 seconds] 12:20 -!- shvntr [~shvntr@59.35.234.150] has quit [Ping timeout: 252 seconds] 12:21 -!- shvntr [~shvntr@59.35.234.150] has joined #go-nuts 12:21 -!- MX80 [~MX80@74.117.253.151] has joined #go-nuts 12:23 < krolaw> Hello, is there a reason why: 12:23 < krolaw> (simple{}).do() 12:23 < krolaw> doesn't work, but: 12:23 < krolaw> s := simple{} 12:23 < krolaw> s.do() 12:23 < krolaw> does? 12:26 < jessta_> (simple{}) isn't addressable 12:28 < krolaw> I have a contrived example with casting: http://pastie.org/1775265 12:28 < krolaw> So are you saying because it has no address, it has no type and therefore cannot call the func? 12:29 < krolaw> No hangon, what I've written doesn't make sense :-) 12:29 < jessta_> krutcha1: oh, I'm wrong 12:29 < jessta_> sorry 12:29 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has quit [Ping timeout: 246 seconds] 12:29 < jessta_> should work fine 12:29 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has joined #go-nuts 12:30 * krolaw Is this a go bug? 12:30 * krolaw (I have no idea why a dot is beside my name) 12:30 < jessta_> krolaw: that code is wrong 12:31 < jessta_> go doesn't have subclasses 12:31 * krolaw True, I'm emulating them in this case. 12:31 * krolaw It compiles and runs. 12:32 * krolaw The question is why I have to allocate the cast to a var prior to calling the func. 12:33 -!- skejoe [~skejoe@89.249.0.154] has quit [Quit: Lost terminal] 12:33 < krolaw> (Without this emulation, I'd have to copy the simple.do() code into compound.do(), and go is supposed reduce code right? :-) ) 12:33 < jessta_> krolaw: ah, yeah back to not being addressable 12:35 < krolaw> I'm going to plead ignorance here, "not addressable". I'm guessing this is an issue one hits in C? Unfortunately, I'm more familiar with Java, Lua, perhaps too high level... 12:36 < krolaw> <cough> "not addressable"? 12:36 < jessta_> infact (&{}simple).do() does work 12:37 < jessta_> but that's a special case 12:38 < jessta_> in general, if you want to take the address of something then it has to be assigned to a variable 12:39 < jessta_> i.e it has to be at an address in memory for you to take that address 12:40 < krolaw> Ok, no magic glue code :-) Probably just as well. 12:42 < krolaw> BTW, how does {}simple differ from simple{} ? 12:43 < jessta_> sorry, I meant (&simple{}).do() 12:43 < krolaw> Ah, thanks. 12:48 < krolaw> Hope you don't mind, but I'd like some more clarification. When you cast a ptr from one type to another, why isn't it addressable. I mean the ptr doesn't change, just how it is treated. In it's new cast is it suddenly no addressable? 12:48 < krolaw> I.e. lines 15 and 16. 12:49 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts 12:52 < krolaw> I suppose there's no speed impact creating a new var, as no additional object is allocated (both have same ptr)? 12:53 < nsf> krolaw: in fact I think you're right, casting an addressable expression should yield addressable expression 12:53 < nsf> well 12:53 < nsf> on the other hand 12:53 < krolaw> So, er, what am I doing wrong? 12:53 < nsf> when you cast float to int or int to float 12:54 < nsf> it's not addressable 12:54 < nsf> krolaw: you learn language in a wrong way 12:54 < nsf> forget about lua, ruby, whatever 12:54 < nsf> learn C 12:54 < nsf> O_o 12:54 < krolaw> True, but these are casts of the same type (one is a type of the other). 12:54 < nsf> :) 12:54 < nsf> yes, but I guess compiler is too lazy to figure that out 12:55 < krolaw> I thought Go was created, so I wouldn't have to :-) 12:55 < nsf> Go is still a pretty low level language 12:55 < nsf> there will be no magic, stop believing it 12:55 < nsf> no fast dynamic language 12:55 -!- shvntr [~shvntr@59.35.234.150] has quit [Ping timeout: 252 seconds] 12:55 < nsf> :) 12:55 < krolaw> I think returning funcs is pretty magic (like Lua and JS). 12:56 < nsf> C can do that 12:56 < nsf> but C doesn't have closures 12:56 < nsf> using function pointer in C is a usual thing though 12:56 < krolaw> Ok, the Closures are the Magic. 12:56 < nsf> a little bit yeah 12:56 < nsf> but they are useless 12:56 < nsf> :) 12:57 < nsf> (to me) 12:57 -!- shvntr [~shvntr@59.35.234.150] has joined #go-nuts 12:57 < krolaw> I'd prefer to believe that Go is perfect and this is a compiler bug... :-p 12:58 < nsf> no 12:58 < nsf> it's not a bug 12:58 < nsf> spec is pretty clear about definition of "addressable expression" 12:58 < nsf> The operand must be addressable, that is, either a variable, pointer indirection, or slice indexing operation; or a field selector of an addressable struct operand; or an array indexing operation of an addressable array. As an exception to the addressability requirement, x may also be a composite literal. 12:59 < nsf> no type casts as you can see 12:59 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 13:00 < nsf> and Go isn't perfect 13:00 < nsf> it's good though :) 13:00 < krolaw> Point and point. I miss ternary if. 13:01 < nsf> I'm sure it won't be added 13:01 < nsf> because some people use multiple level ternary ops, lol.. and it's confusing 13:03 < krolaw> On rare occasions, I've been guilty of that, but really 5-6 lines, instead of 1? 13:03 < niemeyer> LOL 13:04 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Quit: Computer has gone to sleep.] 13:04 < nsf> really 13:04 < niemeyer> krolaw: That's why it's not added 13:04 < krolaw> 20 column screens? 13:04 < niemeyer> krolaw: No, human brains 13:06 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts 13:06 < krolaw> Ternary too hard then. 13:06 < nsf> I once saw code like 3-5 level of ternary 13:06 < nsf> I couldn't it parse it myself 13:07 < krolaw> That's where brackets should be used. 13:07 < nsf> like brackets - use lisp 13:07 < nsf> :) 13:07 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Client Quit] 13:07 < nsf> or parens or whatever 13:08 < nsf> I'm fine with the lack of ternary if 13:08 < krolaw> s := x==3 ? (y==2 ? 0 : 1) : (x==2 ? 2 : 3 13:08 < krolaw> ) 13:08 < niemeyer> Me too.. I don't miss using it much, and don't miss *at all* reading it back. 13:08 < nsf> no thanks 13:08 * krolaw It's a convention. I do remember, hating it when I first saw it. 13:09 < niemeyer> krolaw: It's not the first time we see it.. :-) 13:09 < nsf> +1 13:09 < krolaw> I mean I struggled to understand it, when first introduced to it. 13:10 < nsf> no one have problems understanding it 13:10 < nsf> it is _unreadable_ 13:11 < niemeyer> fallback('cancelControl', (options.cancelLink ? 'link' : 13:11 < niemeyer> (options.cancelButton ? 'button' : 13:11 < niemeyer> options.cancelLink == options.cancelButton == false ? false : undefined))); 13:11 < niemeyer> fallback('okControl', (options.okLink ? 'link' : (options.okButton ? 13:11 < niemeyer> 'button' : 13:11 < niemeyer> options.okLink == options.okButton == false ? false : undefined))); 13:11 < niemeyer> Read-world code 13:11 < nsf> yeah, fuck that 13:11 * niemeyer heads on now 13:11 < nsf> :) 13:12 < nsf> I'd rather use lisp 13:12 * krolaw Ok, that's code abuse. 13:15 < niemeyer> krolaw: The point is that translating that code abuse to existing syntax makes it readable. 13:18 < krolaw> Agreed. Conceded. Perhaps, it's just that there's no way around 5-6 lines. 13:19 < nsf> why are you so afraid of making more lines of code? 13:19 < nsf> boss should be happy :) 13:19 < fzzbt> maybe he is unemployed 13:19 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 13:19 < nsf> I'm as well, but lines count encourages :) 13:20 * krolaw :-) Code length is a poor measure of productivity. 13:20 < nsf> who cares, there is no other measure 13:20 * krolaw Less code, less bugs. 13:21 < nsf> sometimes 13:21 * krolaw Anyway, we are getting side tracked. 13:21 < niemeyer> nsf: Do you code in Python as well? 13:21 * krolaw Go is fantastic. I can live without certain features, but I still miss them. 13:21 < nsf> niemeyer: not anymore 13:21 < niemeyer> nsf: As in, "no, I hate it", or "no, I'd rather not"? 13:21 < nsf> niemeyer: http://code.google.com/p/obkey/ 13:21 < nsf> I did one project in it 13:22 < nsf> then archlinux switched to python3 as default and it broke half of my scripts 13:22 < nsf> now I use ruby for what I used python before 13:22 < nsf> mostly shell-like tasks 13:22 < nsf> I don't hate it 13:22 < nsf> and I don't like it 13:22 < nsf> I'm fine with python 13:23 < niemeyer> nsf: Cool 13:23 < nsf> but as I've noticed ruby works better for shell-like tasks 13:23 < nsf> for example: 13:23 < nsf> out = %x[ls -l] 13:23 < nsf> is neat in ruby 13:23 < nsf> of course you can write a function in python too 13:23 < nsf> but it just works in ruby :) 13:23 < nsf> and there are other things 13:24 < nsf> like for example python has shutil lib or something 13:24 < nsf> and it's weird 13:24 < nsf> when ruby has similar library which actually reflects unix's CLI commands for file management 13:24 < nsf> like cp, cp_r, etc. 13:24 < nsf> http://santoro.tk/mirror/ruby-core/classes/FileUtils.html 13:24 < nsf> take a look 13:24 < nsf> very neat :) 13:24 < nsf> python has no such thing 13:27 * krolaw Hey, can someone confirm that my type cast isn't creating a new object (or copying the struct) or something silly... 13:29 < nsf> what's your case? 13:29 * krolaw http://pastie.org/1775265 13:29 < nsf> I'm looking at your paste which you posted previously 13:29 * krolaw Line 15. 13:29 < nsf> and since it doesn't even have any real data 13:29 < nsf> why do you care? 13:30 < nsf> but if 'simple' was a real structure 13:30 < nsf> there will be a copy 13:30 < krolaw> It's a contrived example. It's the technique, presume the simple struct contacts vars. 13:30 < nsf> then line 15 contains a struct copy 13:30 < krolaw> Argh. Can I get around it? 13:30 < nsf> yes 13:30 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 13:31 < nsf> s := (*simple)(c) 13:31 < nsf> s.do() 13:31 < nsf> .. 13:31 < nsf> :( 13:31 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 13:31 < nsf> s := (*simple)(c) 13:31 < nsf> s.do() 13:31 -!- l00t [~i-i3id3r_@189.105.112.81] has joined #go-nuts 13:32 < krolaw> Ah, thanks. Speed is paramount. 13:32 -!- l00t [~i-i3id3r_@189.105.112.81] has quit [Remote host closed the connection] 13:33 < krolaw> Memory is paramount. 13:33 < nsf> Go is a bad choice then if you care about these microoptimizations 13:33 < krolaw> Let me guess C? 13:33 < nsf> and for Memory as well 13:33 < nsf> yes 13:33 < nsf> or C++ 13:33 < krolaw> Yeah, but I want to use channels as well. 13:33 < nsf> then you have no other choice than to use Go, lol 13:34 < nsf> because no other language has channels 13:34 < krolaw> I really like Go's concurrency models. 13:34 < nsf> I don't 13:35 < krolaw> Ok, I'll bite. nsf: why are you here? 13:35 < nsf> someone has to be critical and skeptical about Go 13:35 < nsf> that's me 13:35 < fzzbt> what's wrong with it nsf 13:36 < krolaw> Convert the Go masses to C? 13:36 < fzzbt> scala has actors which are kinda like channels i think 13:36 < nsf> fzzbt: it's fine for some tasks, but is bad for others 13:36 < nsf> krolaw: no, not necessary 13:36 < nsf> but I should mention that Go wasn't planned as a general purpose language 13:36 < nsf> so I can't really say that 13:37 < nsf> (channels make it less general purpose) :) 13:38 -!- shvntr [~shvntr@59.35.234.150] has quit [Ping timeout: 260 seconds] 13:39 < krolaw> Ah, so s := (*simple)(c) means, a new ptr is created, pointing to the same location as c, but a different cast, hence the need for a new var for addressability? 13:40 < nsf> I'm not sure that you can do this: 13:40 < nsf> ((*simple)(c)).do() 13:40 < nsf> but maybe you can 13:41 < nsf> yes, it looks like the receiver doesn't have to be addressable 13:41 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds] 13:41 < nsf> if it's a pointer 13:41 < krolaw> You can, it works. 13:41 < nsf> because otherwise x.do() gets converted to (&x).do() 13:41 < nsf> and it requires addressability 13:43 < krolaw> I guess what I'm looking for, is no real conversion take place, just the memory location treated as a different object. Ideally, not even a new ptr created. 13:43 < nsf> yes 13:43 < krolaw> Awesome. 13:44 < nsf> I should say that having a new pointer variable on stack doesn't change performance even for 0.000001% 13:44 < nsf> :) 13:44 < krolaw> So, Go is magic after all. 13:44 < krolaw> Now it depends how tight the loop is :-) 13:44 < nsf> unless you do that in a tight loop 13:45 < nsf> and some optimizers can optimize that variable away 13:45 < nsf> not Go's case though 13:45 < nsf> the mainstream compiler doesn't do much optimizations 13:45 < nsf> but still it's pretty fast 13:46 < nsf> I mean the code it generates is pretty fast 13:47 < plexdev> http://is.gd/JfXgvO by [Russ Cox] in 8 subdirs of go/src/cmd/ -- ld: 25% faster 13:47 < nsf> hehe, nice commit 13:47 * krolaw Given, what we've just done, it appears that Go's closures are more powerful than JS! 13:48 < nsf> wtf, dwarf is disabled? :( 13:48 < nsf> it's such a cool feature, hopefull russ will fix it 13:48 < nsf> hopefully* 13:48 < krolaw> Like NaCl.... 13:49 < krolaw> (krolaw goes and looks up what the heck Dwarf is.) 13:49 < nsf> DWARF 13:49 < nsf> ah, wait, DWARF is not ELF 13:49 < nsf> it's debug info 13:49 < nsf> then it's fine :) 13:50 < krolaw> Elf? 13:50 < nsf> http://en.wikipedia.org/wiki/DWARF 13:50 < nsf> http://en.wikipedia.org/wiki/Executable_and_Linkable_Format 13:51 < krolaw> Ok, year disabling Elf, would make Go pretty useless. 13:51 < krolaw> 25% faster, but now does nothing. 13:52 < nsf> well, it generates ELFs just fine 13:52 < nsf> but Go's linker can also link ELF object files 13:52 < nsf> feature is limited, but very cool 13:52 < krolaw> Ah. 13:57 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 14:00 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts 14:10 < skelterjohn> morning 14:12 < nsf> 20:14:40 skelterjohn | morning 14:12 < nsf> :) 14:13 < nsf> http://www.total-knowledge.com/~ilya/mips/ugt.html yeah I know 14:13 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts 14:13 < nsf> :D 14:15 < skelterjohn> thank you 14:15 < skelterjohn> at least i'm not the only one with this issue 14:16 < nsf> hehe 14:18 < aiju> NaCl? death upon it 14:18 < kamaji> What's the best Go web framework? 14:19 < nsf> aiju: I like NaCl 14:19 < aiju> nsf: the world is an x86 14:19 < skelterjohn> who cares about the arch it uses 14:19 < aiju> PNaCl is not that bad 14:19 < nsf> aiju: architecture doesn't matter, NaCl is an idea of running sandboxed code in a browser 14:19 < skelterjohn> what's the P for 14:19 < aiju> portable 14:20 < aiju> PNaCl uses LLVM (yuck) 14:20 < nsf> I should say sandboxed native code 14:20 < nsf> it will simply open very large possibilities for web developers 14:20 < aiju> nsf: three architectures are dominant for web browser 14:21 < nsf> x86, x86_64 and arm 14:21 < nsf> they dominant in a world 14:21 < nsf> PPC also, but it's mostly for consoles 14:21 < aiju> so what do you suggest, fat binaries or some other shit? 14:21 < aiju> or x86 emulation? haha 14:21 < nsf> I like LLVM bitcode idea 14:21 < kamaji> bitcode? 14:22 < kamaji> is that like really efficient bytecode? 14:22 < aiju> i think he means bytecode 14:22 < nsf> some call it bytecode, but the oficial name is bitcode 14:22 < nsf> official* 14:22 < krolaw> One up on Java's bytecode :-) 14:22 < nsf> http://llvm.org/docs/BitCodeFormat.html 14:22 < aiju> yay stupid marketing bullshit 14:22 < kamaji> krolaw: you mean 7/8 down? 14:22 < nsf> it's not because of marketing 14:22 < kamaji> nyark 14:22 < nsf> it uses bits 14:22 < nsf> :) 14:22 < krolaw> 7 up on Java's byte code. 14:22 < nsf> anyways, the point is 14:23 < nsf> that platforms like Mono or even JVM aren't that bad 14:23 < kamaji> I agreee 14:23 < aiju> JVM hahahahahahahaha 14:23 < nsf> they actually have some benefits 14:23 < aiju> hahahahahahha 14:23 < kamaji> :| 14:23 < aiju> emulating x86 is probably faster than x86 14:23 < aiju> ehm 14:23 < aiju> JVM 14:23 < aiju> and uses MUCH less memory 14:23 < kamaji> depends if you're emulating on x86 or not 14:24 < nsf> aiju: yes, of course, these platforms have GC and ugly classes models 14:24 < nsf> etc. 14:24 < krolaw> JVM would be great if it wasn't so bloated and didn't take forever to start. That's why LLVM and PNaCl "look" exciting. 14:24 < nsf> but the idea is simple 14:24 < nsf> bytecode format that gets JITed to a native code 14:24 < nsf> and then executed 14:24 < aiju> there is a good (?) implementation 14:24 < aiju> called inferno 14:24 < kamaji> I made a stack machine architecture once 14:24 < aiju> i don't think the idea is bad 14:25 < kamaji> I wonder if it would be easy to port bytecode 14:25 < aiju> i just don't think it's the holy grail either 14:25 < exch> there is no such thing as a holy grail 14:25 < nsf> I'm frankly tired of compiling everything everywhere 14:25 < nsf> want to be portable? please use 4 virtual machines with 3 different compiler each and test your code 14:26 < nsf> it's ugly 14:26 < kamaji> PNaCl only does x86? 14:26 < nsf> why can't I just compile code once and distribute it 14:26 < aiju> kamaji: NaCl is architecture specific 14:26 < nsf> along with source code 14:26 < kamaji> ugh 14:26 < aiju> PNaCl could run anywhere 14:26 < krolaw> Even if JS speed matches PNaCl, it will still be code you can't steal. 14:26 < aiju> stealing code? fuck you 14:26 < bugQ> speaking of inferno, did they choose not to apply to gsoc this year or were they lumped into plan9? 14:26 -!- virtualsue [~chatzilla@nat/cisco/x-iskgeyoenntewoqf] has joined #go-nuts 14:26 < kamaji> oh right, so PNaCl uses the LLVM thing? 14:26 < aiju> kamaji: yeah, hence portable 14:27 < kamaji> right. right. 14:27 < kamaji> :P 14:27 < krolaw> It'll be commercially tempting to write web apps. That way your code won't be stolen. 14:27 < aiju> or should i say "pseudo portable"? 14:27 < nsf> krolaw: I'll tell you a secret, no one cares about your code 14:27 < bugQ> btw I don't think PNaCl is a possible chemical compound :P 14:27 < aiju> hahaha 14:28 < nsf> it's much easier to steal an idea rather than code 14:28 < nsf> and most of the code is crappy anyway 14:29 < kamaji> Also it's legal to steal an idea (sometimes....) 14:29 -!- dfr|mac_work [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has joined #go-nuts 14:29 < bugQ> the old 90% rule 14:29 < aiju> the 90% rule is bullshit 14:29 < aiju> more like 99.99% 14:29 < kamaji> so when can I have browser bytecode please? 14:29 < kamaji> bitcode* 14:29 < aiju> http://aiju.de/chem/chem.php?f=30%25,60%25,(120%25'.%40)(300%25+O(110%25|)(10%25|)+300%25+-C(300%25+Od)+30%25+CH2+H)60%25,(300%25+COO+H)60%25,60%25,60%25,60%25,&size=72 14:29 < aiju> make *that* your program name 14:30 < aiju> C6H6(COOH)OCOCH3 14:30 < bugQ> nice. 14:30 < aiju> eh *C6H4 14:30 < aiju> (this is aspirin BTW) 14:30 < kamaji> I don't know what chem.php does but it's cool looking 14:31 < aiju> heh 14:31 < bugQ> acetylsalicylic acid 14:31 < aiju> kamaji: http://aiju.de/code/chem/ 14:31 -!- virtualsue [~chatzilla@nat/cisco/x-iskgeyoenntewoqf] has quit [Ping timeout: 246 seconds] 14:31 < skelterjohn> well now you have the source code to aspirin 14:31 < kamaji> aiju: I do not speak chem 14:31 < skelterjohn> go make soe 14:31 < kamaji> and also I am not a motherfucker :( 14:31 < aiju> haha 14:31 -!- TheMue [~TheMue@p5DDF75BD.dip.t-dialin.net] has joined #go-nuts 14:31 < aiju> that was a pulp fiction reference 14:31 < kamaji> I know :P 14:31 < kamaji> what do I put in the box? 14:32 < aiju> see the homepage 14:32 < aiju> http://aiju.de/code/chem/ 14:32 < kamaji> oh I went to /chem 14:32 < kamaji> my bad 14:32 < nsf> http://aiju.de/chem/chem.php?f=30%25,60%25,(120%25'.%40)(300%25+O(110%25|)(10%25|)+300%25+-C(300%25+Od)+30%25+CH2+H)60%25,(300%25+COO+H)60%2 │ Cobi 14:32 < nsf> oops 14:32 < nsf> paste failure 14:32 < nsf> :D 14:32 < nsf> sorry 14:32 < aiju> it can also be used to make swastikas 14:33 < skelterjohn> near and dear to your heart 14:34 < nsf> about stealing ideas: http://www.youtube.com/watch?v=fDIP0cxkAk4 14:35 < nsf> there is a bit of russian in the movie, but just watch the pictures 14:35 < aiju> "stealing idea" is nothing but UTTER bullshit 14:35 < nsf> one of the russian game companies took an idea from a semi-popular browser game 14:35 < skelterjohn> aiju: tell that to zynga games 14:35 < nsf> they re did all the art and all the names all the stuff 14:35 < skelterjohn> that's openly how they make their money 14:35 < nsf> but interface is the same 14:35 < nsf> principles are the same 14:35 < nsf> :) 14:35 < exch> zynga is the cancer of browser games 14:36 -!- virtualsue [~chatzilla@cpc3-haye15-0-0-cust450.haye.cable.virginmedia.com] has joined #go-nuts 14:36 < aiju> if it weren't for stolen ideas, we wouldn't be using computers 14:36 < exch> and they don't even make a secret of it 14:36 < aiju> we wouldn't have cars and all that shit 14:36 < aiju> human progress *depends* on "stealing ideas" 14:36 < nsf> but on the other hand there are areas of art where "stealing ideas" is just fine 14:36 < aiju> we'd be still sitting in cave waiting for the guy who invented fire, because we can't steal his idea 14:37 < nsf> e.g. fashion 14:37 < exch> There is building on someone else's work and there is blatant ripoff. zynga is the later. 14:37 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:99f:929b:59fe:5c69] has joined #go-nuts 14:37 < nsf> fashion cannot be copyrighted 14:37 < nsf> you can have a trademark, but that's all you can 14:37 < nsf> :) 14:37 < nsf> and I think it's the right way to do it 14:37 < nsf> because it leads to progress 14:38 < aiju> zynga is behind farmville and all that crap? 14:38 < skelterjohn> yes 14:38 < nsf> if someone can make a better instance of your idea, why not 14:38 < aiju> death upon them 14:38 < nsf> then you're not good enough :\ 14:38 < skelterjohn> nsf likes to see the rich get richer and the poor stay poor 14:39 < nsf> uhm? 14:39 < bugQ> nsf: generally agree while there are still informal "asshole" limits 14:39 < nsf> do you think copyright protects somehow people without money? 14:39 < aiju> "rich getting richer and poor getting poorer" is so UTTER BULLSHIT it's incredible 14:39 < nsf> laws are made by rich people for rich people :) 14:39 < exch> aiju had a bad morning? 14:39 < aiju> exch: a bad eternity 14:39 < exch> it shows 14:39 < skelterjohn> if you develop an idea, and someone with lots of money finds out about it, they can out-produce you into oblivion 14:39 < skelterjohn> and you get nothing 14:40 < aiju> made bad by people claiming "rich get richers" and utter crap 14:40 < bugQ> aiju: really? global economy sucks while number of billionares skyrockets 14:40 < skelterjohn> is the global economy really doing that bad? 14:40 < bugQ> on average. 14:40 < skelterjohn> and what does it even mean 14:40 < skelterjohn> you have to compare it to something 14:40 < aiju> the indian caste system is finally dying 14:40 < aiju> thanks to capitalism! 14:40 < kamaji> Thanks, Capitalism! 14:40 < skelterjohn> we don't know about any other global economies 14:41 < aiju> chinese people can afford cars 14:41 < aiju> japan developed in 150 years from a feudal to a modern sort of democratic society 14:42 < skelterjohn> chickswithstevebuscemeyes.tumblr.com 14:42 < nsf> skelterjohn: I don't think that if you have an idea government will protect you 14:42 < bugQ> I'm talking about a local minimum not the freaking industrial revolution 14:42 < kamaji> skelterjohn: oh god 14:42 < nsf> most of the time it's opposite 14:42 < skelterjohn> it's not my fault if the system is broken 14:43 < kamaji> lol, As of May 2005, the 125 richest people in the world have assets that exceed the combined gross domestic product of all the least developed countries (calculation based on data from list of countries by GDP (PPP) and list of billionaires). 14:43 < nsf> it's broken in its design 14:43 < skelterjohn> kamaji: that was my caption when i posted the link on facebook! 14:43 < kamaji> skelterjohn: terrified minds think alike 14:43 < skelterjohn> the "oh god" bit 14:43 < nsf> oh, btw, facebook 14:43 < skelterjohn> not the bit about the 125 richest people 14:43 < aiju> poor countries are continuing to be poor because of assholes in their gouvernment and assholes in our gouvernments subsidizing agriculture and FUCK 14:43 < nsf> the movie about it shows how government protects you :) 14:44 < skelterjohn> the "movie about it"? 14:44 < aiju> skelterjohn: "the social network" 14:44 < skelterjohn> ah 14:44 < skelterjohn> haven't seen it 14:44 < aiju> one of the few non-shitty mainstream movies 14:44 < bugQ> yeah it's not bad. 14:45 < bugQ> skelterjohn: I'm also talking about wealth distribution not "global relativism" or whatever 14:46 < skelterjohn> wealth distribution is the same thing as global economy? 14:46 < aiju> equally distributing wealth NEVER worked out 14:46 < skelterjohn> i mean, i know i'm picking on you a bit, but i feel that statements like "the global economy is doing horribly" are kind of meaningless 14:46 < aiju> and it has been tried on many occasions in history 14:47 < nsf> because someone always needs MOAR! 14:47 < bugQ> well you can objectively compare the homeless, drought-stricken, etc. to Mark Zuckerburg 14:47 < nsf> :) 14:47 < skelterjohn> aiju: it works for small groups of 10-20 :) 14:47 < bugQ> and who said equal 14:47 < aiju> rich people usually do much charity activity 14:47 < aiju> bill and melinda gates association and such 14:47 < kamaji> skelterjohn: so you're saying we should all cooperate in 'cells' of 10-20 people? oh there are some men in dark suits i'll be right ba 14:48 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds] 14:48 < skelterjohn> lol 14:48 < bugQ> capitalism already affords enough luxury to have massive disproportion WHILE letting the world subsist 14:48 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 14:48 < skelterjohn> anyway - anyone want to give me some feedback on https://github.com/skelterjohn/gorf ? I think it's all there now. 14:49 < nsf> IT WILL REWRITE YOUR CODE WITH NO GUARANTEE OF CORRECTNESS 14:49 < nsf> that's _bad_ 14:49 < nsf> :) 14:49 < skelterjohn> hehe 14:49 < skelterjohn> just a disclaimer 14:49 < skelterjohn> i'm reasonably confident it works now 14:49 < nsf> yeah, but it scares people 14:49 < nsf> you should be 100% confident 14:49 < nsf> do backups, after changing stuff do typechecks, etc. 14:50 < skelterjohn> and when some people other than myself try it out and give feedback, i will move closer to that goal 14:50 < nsf> it's important 14:50 < skelterjohn> i do backups 14:50 < skelterjohn> everything is backed up and undo-able 14:50 < nsf> nice then 14:50 < aiju> i'd rephrase the disclaimer 14:50 < nsf> yeah 14:50 < skelterjohn> heh, fair enough, i did ask for feedback 14:50 < skelterjohn> but i meant on how the program worked 14:50 < aiju> "I'm reasonable confident that it works but IT MIGHT FUCK UP YOUR CODE" 14:50 < nsf> :D 14:51 < nsf> :D 14:51 < skelterjohn> just do me a favor and try it out on a copy 14:51 < kamaji> :D 14:51 < skelterjohn> rather than your main code base 14:51 < kamaji> ok has anyone used Twister? 14:51 < skelterjohn> python web framework? 14:51 < nsf> it's more like IO framework 14:51 < kamaji> no the Go one 14:52 < skelterjohn> well, i haven't used it, so i don't know 14:52 < kamaji> is the Go one a port? 14:52 < kamaji> oh, python is "Twisted" 14:52 < nsf> kamaji: I haven't heard anything about Go twister 14:52 < nsf> yeah 14:52 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 14:52 < kamaji> what about https://github.com/hoisie/web.go ? 14:53 < skelterjohn> i've used that 14:53 < skelterjohn> worked fine, easy to use 14:53 < skelterjohn> it keep in step with release, which was a problem for me since i keep in step with tip 14:54 < kamaji> oh right, i'll keep that in mind 14:54 < kamaji> cheers 14:54 -!- nettok [~quassel@200.119.157.156] has joined #go-nuts 15:02 < kamaji> oh god damnit, I just found out about ioutil 15:02 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts 15:04 < skelterjohn> ioutil is useful 15:04 < skelterjohn> if anyone is looking at gorf, i updated the readme with a lot more info about what each command does 15:05 < TheMue> yep, it is 15:06 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts [] 15:07 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 258 seconds] 15:07 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 15:11 -!- foocraft [~dsc@78.101.41.1] has quit [Ping timeout: 264 seconds] 15:14 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 15:15 -!- virtualsue [~chatzilla@cpc3-haye15-0-0-cust450.haye.cable.virginmedia.com] has quit [Ping timeout: 246 seconds] 15:22 -!- virtualsue [~chatzilla@nat/cisco/x-rvedbwgknvjdfilg] has joined #go-nuts 15:24 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 15:24 -!- coldturnip [~COLDTURNI@111-250-11-158.dynamic.hinet.net] has joined #go-nuts 15:24 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 15:30 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Ping timeout: 252 seconds] 15:31 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 252 seconds] 15:33 -!- coldturnip [~COLDTURNI@111-250-11-158.dynamic.hinet.net] has quit [Quit: Leaving.] 15:36 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 15:39 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-62.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 15:39 -!- TheMue [~TheMue@p5DDF75BD.dip.t-dialin.net] has quit [Quit: TheMue] 15:40 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 246 seconds] 15:40 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts 15:40 -!- femtooo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping timeout: 240 seconds] 15:42 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts 15:46 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-62.clienti.tiscali.it] has joined #go-nuts 15:50 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts 15:55 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has joined #go-nuts 15:58 < skelterjohn> nsf: what's the url for your mouse-free godoc site? 15:58 < nsf> nsf.github.com/go 15:58 -!- foocraft [~dsc@78.101.143.183] has joined #go-nuts 15:59 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 15:59 < skelterjohn> heh, i tried /godoc and /doc 15:59 < skelterjohn> can you make it so that when i'm on the page for a package, i can hit escape and go back to the top level? 16:00 < skelterjohn> or something similar 16:00 < nsf> it is possible 16:00 < nsf> hit tab to select all the input in the search field 16:00 < nsf> and then type '<' 16:00 < skelterjohn> neat 16:01 < aiju> "mouse-free godoc"? 16:01 < nsf> it's not exactly godoc 16:01 < aiju> sounds bad 16:01 < nsf> just alternative go documentation 16:01 < nsf> http://nsf.github.com/go 16:01 < nsf> full of javascript 16:01 < aiju> and evil jquery 16:01 < aiju> nice nevertheless 16:02 < skelterjohn> can i run it locally? 16:02 < nsf> yes 16:03 < nsf> github.com/nsf/gortfm 16:03 < nsf> make install 16:03 < aiju> i'd love something similar to man pages 16:03 < nsf> gortfm-util stdlib $GOROOT mydir 16:03 < aiju> oh godoc io Reader 16:03 < nsf> it will dump all the documentation of your copy of Go 16:03 < aiju> didn't knew about that one ;P 16:03 < nsf> into mydir 16:04 < nsf> there are few bugs though 16:04 < nsf> one 16:04 < nsf> wingui.exe 16:04 < nsf> in exp/ 16:04 < nsf> I should make it ignore that 16:05 < nsf> aiju: for man pages, yeah 16:05 < nsf> would be ncie 16:05 < nsf> nice* 16:05 < nsf> I guess all that is required is to write few scripts for extracting man pages index 16:05 < nsf> I bet there are some man-to-html converters 16:05 < nsf> then integrate fuzzy matching js stuff 16:06 < nsf> and you're done 16:06 < nsf> :) 16:06 -!- hjallow [55e290b1@gateway/web/freenode/ip.85.226.144.177] has joined #go-nuts 16:06 < skelterjohn> make didn't build a gortfm-util - just gortfm 16:06 < nsf> skelterjohn: it's in a separate dir 16:06 < skelterjohn> wait, yes it did 16:06 < nsf> it should be built yeah 16:06 < nsf> make install will install it 100% 16:07 < skelterjohn> i do not like it that "make" without "install" installs something >:| 16:07 < nsf> make install installs 16:07 < nsf> make don't 16:07 < nsf> doesn't* 16:07 < skelterjohn> make by itself installs gortfm-util 16:07 < skelterjohn> make install installs that and gortgm 16:07 < nsf> interesting 16:08 < nsf> ah yes 16:08 < nsf> I use DEPS for gortfm-util 16:08 < nsf> and in Go templates system it installs by default 16:08 < nsf> sorry :) 16:08 < skelterjohn> no worries 16:08 < nsf> ah wait 16:08 < nsf> ah no, all o 16:08 < nsf> ok* 16:09 < nsf> if you have plans to make changes to html or js stuff 16:09 < nsf> you need to have bin2go tool installed 16:09 < nsf> it generates shared.go 16:09 < skelterjohn> that's ok 16:09 < skelterjohn> :) 16:09 < skelterjohn> i just wanted it to include doc for goinstalled stuff 16:10 < skelterjohn> i didn't want to modify it 16:10 < nsf> I see 16:10 < nsf> gortfm-util has some commands 16:10 < nsf> it should work 16:10 < nsf> but may not work in all cases 16:10 < skelterjohn> um - the packages are all named "-n x" where they should be "x" 16:11 < skelterjohn> (from running gortfm-util) 16:11 < nsf> what? :) 16:11 < nsf> what command are you using? 16:11 < nsf> stdlib? 16:12 < skelterjohn> the one you pasted in irc 16:12 < nsf> or just show me the output 16:12 < nsf> what's wrong 16:12 < skelterjohn> it seems to work just fine, even with the weird -n, for most packages 16:12 < skelterjohn> but the doc for gomatrix doesn't work :\ 16:12 < nsf> it works 16:13 < nsf> show me what you do 16:13 < hjallow> I have a struct I want to sort in two different ways. How can I make a copy of the first so it doesnt get "over-sorted"? 16:13 < skelterjohn> i ran "gortfm-util stdlib $GOROOT rtfm" 16:13 < nsf> skelterjohn: and? 16:13 < nsf> :) 16:13 < skelterjohn> and the page file://localhost/Users/jasmuth/Documents/gospace/rtfm/-n%20gomatrix.googlecode.com_hg_matrix.html is effed up 16:13 * nsf is impatient :) 16:13 < nsf> ah that 16:14 < nsf> gortfm is not supposed to work with custom packages in your root tree 16:14 < nsf> you can generate manually docs for your gomatrix 16:14 < skelterjohn> it works with other peoples packages 16:14 < nsf> but in a different way 16:14 -!- meanburrito920 [~john@woozy.student.cwru.edu] has joined #go-nuts 16:14 -!- meanburrito920 [~john@woozy.student.cwru.edu] has quit [Changing host] 16:14 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has joined #go-nuts 16:14 < skelterjohn> it works for other packages of mine in there 16:14 < nsf> skelterjohn: it got confused by unusual path or something 16:14 < nsf> gomatrix.googlecode.com 16:14 < skelterjohn> other googlecode packages of mine 16:14 < skelterjohn> file://localhost/Users/jasmuth/Documents/gospace/rtfm/-n%20goargcfg.googlecode.com_hg_argcfg.html works fine 16:15 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 16:15 < nsf> I have no idea why it does that 16:15 < nsf> but again 16:15 < nsf> it's not supposed to work for custom stuff in GOROOT 16:15 < nsf> just go to your project dir 16:15 < skelterjohn> what's the different? just the paths with "."s in them? 16:15 < nsf> and type: 16:15 < nsf> gortfm-util gofiles 16:16 < nsf> it should print all the files of your lib 16:16 < nsf> if it's correct 16:16 < nsf> do: 16:16 < nsf> gortfm `gortfm-util gofiles` 16:16 < nsf> and it will dump docs to html page 16:16 < nsf> to html dir I mean 16:16 < nsf> skelterjohn: probably, I don't know 16:17 < skelterjohn> you should fix it! 16:17 < nsf> skelterjohn: gortfm-util uses standard makefiles to extract each lib's file list 16:17 < skelterjohn> but, in the meantime, i don't really need docs on the software i wrote, i was just seeing what it looked like 16:17 < nsf> I won't fix it if I have no idea what's in there 16:17 < skelterjohn> nsf: use the rules that goinstall uses 16:17 < skelterjohn> be standard. 16:17 < nsf> I don't use goinstall 16:17 < nsf> and I hate it 16:17 < skelterjohn> makefiles are disappearing 16:17 < nsf> sorry :) 16:18 < aiju> is there some routine to read lines? 16:18 < aiju> without bufio 16:18 < nsf> what's wrong with bufio? 16:18 < aiju> it's buffered 16:18 < nsf> ah 16:18 < aiju> i want to run it on network connections 16:18 < skelterjohn> i was just thinking, aiju, it would be nice if there were a "func(filename path) <-chan string" function 16:19 < nsf> skelterjohn: not really helpful for network connections 16:19 < nsf> :) 16:19 < skelterjohn> well, i typed that out before i saw his motivation 16:19 < nsf> :D 16:20 < skelterjohn> though, replace "filename string" with "in io.Reader" 16:21 < aiju> skelterjohn: that would be cool 16:21 < aiju> just write it! 16:21 < aiju> for x := range FileChan() {} 16:22 < skelterjohn> but nsf would be unhappy, because you'd have to goinstall it 16:22 < nsf> no, I'm fine 16:22 < nsf> I don't use Go 16:22 < nsf> :) 16:23 < skelterjohn> is there a limit to the number of github projects you can make? 16:23 < nsf> skelterjohn: I think space is limited, projects aren't 16:23 < aiju> actually i wonder whether it is a bad idea to buffer network connections 16:23 < nsf> aiju: they are buffered in OS anyway 16:23 < aiju> so is disk access :) 16:24 < nsf> I'd say having line-based network protocol is a bad idea 16:24 < aiju> the protocol is already designed and it is line based ;P 16:24 < nsf> I see 16:24 -!- foocraft [~dsc@78.101.143.183] has quit [Quit: Leaving] 16:24 < nsf> Go actually has some kind of lib 16:25 < nsf> for line-based protocols 16:25 < nsf> http://golang.org/pkg/net/textproto/ 16:25 < aiju> how's it called? 16:25 < aiju> hm 16:25 < nsf> but I have no idea what's in 16:25 < nsf> inside* 16:26 < aiju> ReadString is dangerous 16:26 < aiju> that's bad. 16:27 < skelterjohn> what's dangerous about it? 16:27 < aiju> skelterjohn: 2 GB of data without newline 16:27 < aiju> eats up 2 GB of memory 16:27 < aiju> you're basically asking for DOS 16:28 < skelterjohn> if your data is newline separated, what alternative do you have besides buffering? 16:29 < aiju> skelterjohn: choke on long lines 16:29 < skelterjohn> so you'd want a buffered reader where you provide the buffer 16:29 < skelterjohn> and can set its length 16:29 < aiju> i want a ReadString() with a limited length 16:30 < skelterjohn> same thing 16:31 < skelterjohn> nsf: how do i go to "io"'s doc when typing "io" brings up "io/ioutil" 16:32 < skelterjohn> i mean, besides moving the mouse 16:32 < skelterjohn> which worked, it turns out 16:32 < nsf> it's strange 16:32 -!- dfr|mac_work [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has quit [Remote host closed the connection] 16:32 < nsf> because when I type "io" 16:32 < nsf> the first one is "io" 16:32 < nsf> I've designed the algo 16:32 < skelterjohn> that would be sensible 16:32 < skelterjohn> not what's happening on my machine 16:32 < nsf> an exact match is always preferred 16:32 < nsf> very strange :) 16:32 < skelterjohn> oh - related to the fact that it's "-n io" instead of "io" i bet 16:33 < nsf> maybe 16:33 < skelterjohn> typing -n io goes directly to it 16:33 < nsf> I see 16:33 < nsf> :\ 16:33 < nsf> well 16:33 < nsf> you can copy my version of docs 16:33 < nsf> https://github.com/nsf/nsf.github.com 16:33 < nsf> it's here 16:33 < nsf> in 'go' dir 16:34 < nsf> but built the same way: gortfm-util stdlib $GOROOT go 16:36 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined #go-nuts 16:36 < nsf> interesting though 16:36 < nsf> how custom packages affect other packages 16:37 < nsf> and where that "-n " comes from 16:41 -!- ucasano [~ucasano@host185-90-static.5-79-b.business.telecomitalia.it] has joined #go-nuts 16:44 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 16:45 < skelterjohn> huh...how do you convert a []byte to a string? 16:45 < skelterjohn> i feel like this should be easy 16:45 < nsf> string(mybyteslice) 16:45 < skelterjohn> i can use fmt.Sprintf i guess 16:45 < skelterjohn> that doesn't seem to work 16:45 < nsf> what? 16:45 < nsf> it works 16:45 < skelterjohn> oh - it's because i'm using a typed []byte 16:45 < skelterjohn> type []byte Buffer 16:46 < skelterjohn> string(aBuffer) 16:46 < nsf> string(Buffer(aBuffer)) 16:46 < nsf> oh wait 16:46 < skelterjohn> that did it 16:46 < nsf> string([]byte(aBuffer)) 16:46 < skelterjohn> string([]byte(aBuffer)) 16:46 < nsf> yeah 16:47 < nsf> why C has char as signed int? 16:47 < nsf> I'm struggling hard with it 16:47 < nsf> I want byte to be uint8 in Crawl 16:47 < nsf> but I can't do that 16:47 < nsf> because in C string literal yields const char* 16:48 < nsf> and I can't just convert all C's const char*s to *byte 16:48 < nsf> :( 16:48 < nsf> I guess I'll have to say bye to Go's byte 16:48 < nsf> and use something more like D's 16:49 < nsf> char uchar short ushort int uint long ulong 16:49 < nsf> as alternatives for 16:49 < nsf> int8 uint8 int16 uint16 int32 uint32 int64 uint64 16:49 < nsf> hm.. 16:49 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 16:50 < nsf> do I like it or not, C compatibility is important 16:51 < nsf> and what's really bad 16:51 < nsf> I'll have to make character literal ('a') yield signed integer 16:52 < nsf> :\ 16:52 < nsf> on the other hand ascii is in the <= 127 part 16:53 < nsf> so, maybe it will work as unsigned as well 16:53 < nsf> ugh.. 16:54 < nsf> or well 16:55 < nsf> D uses 'byte' as well 16:55 < nsf> but as signed int 16:55 < nsf> interesting 16:55 < nsf> but it has integer promotions, it matters less for D 16:55 < nsf> :( 16:58 < nsf> hehe, nice feature in D 16:58 < nsf> it allows numbers like this: 16:58 < nsf> 0xFF_FF_FF_FF 16:58 < nsf> '_'s are ignored 17:00 < nsf> hm, maybe I was wrong though 17:01 < nsf> and C's character literal yields unsigned int as well 17:02 < nsf> nope, it's char 17:03 * nsf sighs 17:05 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts 17:06 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit: Leaving] 17:10 < skelterjohn> https://github.com/skelterjohn/exp if you're interested 17:10 < skelterjohn> oh jeez, directory structure is all messed up 17:10 < skelterjohn> one min 17:11 < skelterjohn> fixed 17:13 < prasmuss1n> i want to add a function to a standardlib package, which needs access to lowercase vars / funcs in the original package -- is there any way to do that? 17:14 < skelterjohn> only by modifying the original package 17:14 < skelterjohn> what do you mean, "add a function"? 17:14 < prasmuss1n> i want a DialHTTPS in the rpc package 17:16 < skelterjohn> i see. like i said, only by modifying the original package 17:17 < prasmuss1n> ok, thats what i thought, too bad 17:17 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined #go-nuts 17:17 < jessta_> prasmuss1n: why do you want to do that? 17:17 < skelterjohn> you should add it to the original, and submit a patch to the go team :) 17:18 < skelterjohn> jessta_: why would someone ever want to use https instead of http? 17:18 -!- huin [~huin@91.85.185.181] has joined #go-nuts 17:18 < exch> secure connection perhaps? 17:18 < prasmuss1n> indeed 17:18 < jessta_> prasmuss1n: any reason you can't just make something that satifies the rpc.ClientCodec interface? 17:20 < prasmuss1n> hmm, maybe, i just thought it made sense to have a dialhttps 17:20 < prasmuss1n> since there already is a dialhttp 17:20 < prasmuss1n> will look into it 17:20 < skelterjohn> like jessta_ indicates, the rpc package gives you a way in via ClientCodec and the related function 17:23 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 17:23 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 17:26 < aiju> len(string) returns the length in bytes? 17:27 < nsf> yes 17:27 < skelterjohn> can't unicode make it have more bytes than characters? 17:27 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts 17:27 < skelterjohn> since a character can be an int 17:27 < nsf> yes 17:27 < nsf> utf8.RuneCount 17:27 < skelterjohn> but len() ignores that, you're saying 17:27 < nsf> yes 17:28 < |Craig|> len is constant time, and RuneCount is linear time I suspect 17:28 < nsf> yes 17:46 -!- MUILTFN [~MLINTH@adsl-80-218-213.mcn.bellsouth.net] has joined #go-nuts 17:51 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 17:52 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts 17:53 -!- meanburr1to920 [~john@192.5.109.34] has joined #go-nuts 17:56 < nsf> http://pastie.org/1776096 17:56 < nsf> interesting 17:58 < nsf> that's how Go with pointer arithmetic and without strings would look like compared to C 17:58 < nsf> :D 18:07 < nsf> uhm, does anyone have a short C code snippet and would like to know how it will look like in Crawl? 18:08 < aiju> what, no *s++? 18:08 < nsf> no 18:09 < nsf> aiju: frankly I haven't decided yet, but the default is no, for now 18:10 < nsf> but it is an expression with a side effect 18:10 < nsf> it makes problems 18:10 < nsf> of course I can specify an order of evaluation 18:10 < nsf> but I don't know 18:10 < nsf> I'd like to see more code written in crawl before putting it back 18:11 < nsf> and currently only I can do that :) (syntax and semantics are in my head) 18:12 < |Craig|> nsf: are you requiring the semicolons? 18:12 < nsf> at the moment yes 18:12 < nsf> it's easy to do autoinsertion as in Go 18:13 < nsf> but I'm just writing compiler in C++ 18:13 < nsf> and I don't want to switch back and forth :) 18:15 -!- ucasano [~ucasano@host185-90-static.5-79-b.business.telecomitalia.it] has quit [Quit: ucasano] 18:16 < nsf> http://ompldr.org/vODZ3Zg/c-vs-crawl.html 18:16 < nsf> bits of crawl 18:16 < nsf> it's not necessary will be the same when it's ready 18:16 < aiju> your calling convention is probably fun 18:16 < nsf> especially regarding importing C header :) 18:17 < nsf> aiju: why? 18:17 < |Craig|> nsf: in the long run, I think what will matter most about crawl to me is how I can call it from Go, and how it can call C 18:17 < aiju> multiple return values + C compatility 18:17 < aiju> *compatability 18:17 < aiju> ah fuck 18:17 < aiju> *compatibility 18:17 < aiju> reading RFCs damages the brain 18:17 < nsf> aiju: it can be emulated easily as it's done in gc compiler 18:18 < nsf> it passes pointer to a structure for multiple return values 18:18 < nsf> to a function I mean 18:18 < nsf> well, no 18:18 < nsf> plan9 C compiler does that 18:18 < aiju> GC uses pass-by-reference parameters 18:18 < nsf> when returning structs 18:18 < nsf> it's described in a paper 18:18 < nsf> anyways, I will do it that way for C backend: 18:18 < aiju> nsf: i know 18:19 < aiju> but you have to use AX for C functions 18:19 < nsf> simply generate anonymous structure (named in C file like __anon_123) 18:19 < nsf> and return it 18:19 < nsf> let the compiler do the job 18:19 < skelterjohn> i like how go has no pointer arithmetic 18:19 < aiju> oh heh 18:19 < nsf> for LLVM backend we'll see 18:19 < aiju> skelterjohn: i don't ;P 18:19 < nsf> |Craig|: yeah 18:20 < skelterjohn> i have never once thought "man this would be so much easier if i could only add numbers to this pointer" 18:20 < nsf> |Craig|: well, there are few things to say about that 18:20 < nsf> one of my priorities is direct C header import support 18:20 < nsf> so you can call C code from Crawl 18:20 < nsf> ideally without any bindings 18:20 -!- meanburr1to920 [~john@192.5.109.34] has quit [Ping timeout: 258 seconds] 18:20 < nsf> regarding calling Crawl from C, there will be an ABI in spec 18:20 < nsf> like in D: http://www.digitalmars.com/d/2.0/abi.html 18:21 < nsf> so, it will make it possible to call it from any other kind of environment 18:21 < nsf> and it will be just a matter of tools 18:22 < nsf> without all that (specified ABI, being able to import C headers directly and call C code) 18:22 < nsf> it doesn't make sense 18:22 < nsf> we'll see if I can handle that 18:22 < aiju> skelterjohn: looks like you haven't used it 18:22 < nsf> I hope I can :) 18:23 < |Craig|> so something like how Cython imports C stuff 18:23 < nsf> |Craig|: you mean calling Crawl from Go scenario? 18:24 < nsf> or wait 18:24 < |Craig|> that was referring to the C-Crawl connection 18:24 < nsf> well, not exactly 18:24 < nsf> in pyrex or cython 18:24 < nsf> you do this: 18:24 < nsf> cdef extern from "header.h": 18:24 < nsf> .. and here you redefine all the structures by hand 18:24 < nsf> in Crawl they will be imported automatically 18:25 < |Craig|> excellent 18:25 < nsf> using libclang C99 parser 18:25 < nsf> something like: 18:25 < nsf> import "stdio.h" as cstdio; 18:25 < nsf> and then you can use 18:25 < nsf> cstdio.printf 18:25 < nsf> cstdio.fprintf 18:25 < nsf> etc. 18:25 < nsf> there are some restrictions though (how can we live without them) 18:25 < nsf> bit fields probably won't work 18:26 < nsf> not sure what will be with constants defined as preprocessor entities 18:26 < nsf> maybe it's possible to extract them using libclang and define as Crawl's consts 18:27 < |Craig|> I found it charming that I could import headers with inline functions written in assembly into my Cython 18:27 < nsf> I haven't used pyrex/cython much 18:27 < nsf> so I'm not sure what you mean 18:27 < aiju> inline functions written in assembly? yuck 18:27 < nsf> but whatever, it's nice, yeah 18:27 -!- Project-2501 [~Marvin@82.84.79.226] has joined #go-nuts 18:27 < |Craig|> assembly in my python... 18:27 -!- MUILTFN [~MLINTH@adsl-80-218-213.mcn.bellsouth.net] has quit [Ping timeout: 252 seconds] 18:28 < |Craig|> I don't think I ever tried to call any of those inline assembly functions, but there were a few in the headers I was using 18:28 < nsf> it will work 18:28 < nsf> cython generates python C module 18:28 < nsf> it can call any C code 18:29 < nsf> the problem with it that it's CPython specific 18:29 < nsf> pypy, Jython, etc. won't work with cython 18:29 < nsf> well, pypy can work with CPython C extensions somewhat 18:29 < nsf> but I don't know 18:29 < nsf> so.. cython/pyrex is a good tool indeed, but it's just a tool :) 18:29 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-182-221.clienti.tiscali.it] has joined #go-nuts 18:30 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-62.clienti.tiscali.it] has quit [Ping timeout: 246 seconds] 18:31 < aiju> GNU sort is so fucking broken 18:31 < |Craig|> I'm interested if you have any plans for a Crawl-Go connection. 18:32 < nsf> plans? of course, I have many plans 18:32 < nsf> some of them are so distant though 18:32 < nsf> :) 18:32 < nsf> first of all I need to finish the compiler to a point when it generates something 18:32 < nsf> even buggy, but something 18:32 -!- Project-2501 [~Marvin@82.84.79.226] has quit [Ping timeout: 252 seconds] 18:32 < nsf> :) 18:33 < nsf> then we'll see how it goes 18:33 < nsf> |Craig|: in a perspective it would be nice of course 18:35 < nsf> for now I must hope that my plan regarding direct C import won't fail 18:35 < nsf> it's a key to success 18:37 < |Craig|> are you allowing := like in go? If so, mixing that with C imports will require knowledge of the C function's return types early in the compilation 18:38 < nsf> yes I do allow that 18:38 < nsf> yes the knowledge is required 18:38 < nsf> import "stdio.h" will parse and will generate all C function prototypes 18:38 < nsf> so compiler knows all the types 18:38 < |Craig|> if you can make it all work, it will certainly be an interesting language that I will want to try out 18:39 < nsf> yeah, I hope I can :) 18:40 < nsf> but sadly it gets more and more differences from Go 18:40 < nsf> for example it looks like 'byte' will be as in D, e.g. C's "signed char" 18:40 < aiju> but why signed? 18:40 < aiju> better PDP-11 support? 18:40 < nsf> C compatibility 18:41 < aiju> char in C is of undefined signedness 18:41 < nsf> you see, what do you use byte for in Go? 18:41 < aiju> uint8? 18:41 < nsf> I look now at D's types 18:41 < nsf> D has ubyte 18:42 < nsf> will that work for you? 18:42 < aiju> meh 18:42 < aiju> i hardly ever need signed bytes 18:42 < aiju> i almost always do typedef unsigned char byte; in C 18:42 < nsf> the problem is that C uses const char* for strings everywhere 18:42 < aiju> oh yeah :\ 18:42 < nsf> therefore string literal will have to yield equivalent 18:42 < nsf> e.g. 18:43 < nsf> a := "123"; 18:43 < nsf> a has C's type "char*" 18:43 < nsf> or *byte 18:44 < nsf> even if I'll change each const char* to *uint8 18:44 < nsf> it will work for strings, not a problem 18:44 < nsf> but automatic C import will be broken somewhat 18:44 < nsf> so.. yeah, I don't like that as well 18:44 < nsf> but C compatibility is important :) 18:45 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the connection] 18:45 < nsf> I can easily remove "const", but that's it 18:45 < nsf> well, byte is just a nice name for int8 or uint8 18:46 < nsf> I though it makes sense to have string literal as *byte 18:46 < aiju> char == int8, byte == uint8 18:46 < nsf> but it has to be *int8 18:46 < nsf> yeah 18:46 < nsf> well 18:46 < nsf> we'll see :) 18:47 < nsf> http://www.digitalmars.com/d/2.0/type.html 18:47 < nsf> D has char as well 18:47 < nsf> and byte 18:47 < nsf> char is unsigned 18:47 < nsf> byte is signed :) 18:48 < nsf> aiju: it all will be more clear when I'll start working on C import stuff 18:48 < nsf> so.. TBD 18:49 < nsf> back to the point 18:49 < nsf> there will be differences, like it or not 18:50 < nsf> a, err := A() 18:50 < nsf> b, (err) := B() 18:50 < nsf> that one for example 18:50 < nsf> will be valid in Crawl :) 18:51 < nsf> and here I'm talking about crawl again, most of the time :( 18:51 * nsf feels bad about it 18:51 < aiju> heh 18:54 < str1ngs> nsf: have you looked a go in community? 18:54 < str1ngs> at* 18:54 < nsf> str1ngs: nope 18:54 < nsf> str1ngs: well, I did, but it was long time ago 18:54 < nsf> probably it was changed 18:54 < str1ngs> its been updated but its not well maintained I thing 18:55 < str1ngs> think* 18:55 < nsf> I will definitely look at gcc-go 18:55 < str1ngs> gcc-go though is pretty good 18:55 < nsf> when it comes from testing to core 18:55 < nsf> iant's compiler is less buggy :) 18:55 < nsf> than gc 18:55 < str1ngs> it works well I think libgo should be moved though allan though gcc-libs be the right spot 18:56 < nsf> yeah, I think libgo should be a part of gcc-go 18:56 < nsf> at least for now 18:56 < nsf> but if gcc-go depends on gcc-libs 18:56 < nsf> then it doesn't matter 18:56 < str1ngs> I had a riot because bzip2 isnt in gcc-go. so I just built it from the go source and then linked to it 18:57 < str1ngs> right but say if you build something with gcc-go you only want gcc-go as a makedepend and libgo as depend or gcc-libs I guess 18:57 < nsf> ah, interesting 18:57 < nsf> libstdc++ is in its own package right? 18:57 < str1ngs> you get the idea though 18:57 < str1ngs> right 18:57 < nsf> then libgo should be as well 18:58 < str1ngs> thats what I think to 18:58 < str1ngs> because if I'm going to package something more then likely I'd want to use gcc-go if I can for size feature 18:59 < nsf> size? you mean dynamic linking? 18:59 < str1ngs> yes gcc-go binaries are much smaller 18:59 < nsf> the problem at the moment that cgo doesn't support gccgo 18:59 < nsf> and you can't use all the bindings for Go in gccgo 18:59 < str1ngs> you calll C differently in gcc-go 18:59 < nsf> yeah, but most bindings do wrappers as well 19:00 < nsf> it can be solved by making cgo compatible with gccgo 19:00 < nsf> I'm sure 19:00 < nsf> but someone should do that :) 19:00 < str1ngs> not sure. I rather use cgo for that though I like the sytax better 19:01 < str1ngs> but.. with gcc-go you can call go from C ha! 19:01 < nsf> you can do that in gc as well 19:01 < nsf> but through cgo 19:01 < nsf> afaik 19:01 < nsf> but it doesn't make much sense 19:01 < nsf> since go uses very special runtime 19:01 < nsf> GC and scheduler 19:02 < nsf> although if you can call these directly from C 19:02 < nsf> it's nice, indeed 19:02 < str1ngs> ya I see that as a very rare case 19:02 < nsf> being callable from everywhere is a good property of a low level lanaguage 19:02 < nsf> like C 19:02 < nsf> C++ fails on that 19:02 < str1ngs> that is true 19:02 < nsf> D is better in fact 19:03 < nsf> I hope I won't make the same mistake in Crawl :) 19:03 < str1ngs> but I must say C wrappers are pretty easy in Go 19:03 < nsf> yeah, sure 19:03 < nsf> but I wrote LLVM bindings 19:03 < str1ngs> compared to other languages. or maybe my C has just gotten better 19:03 < nsf> it's still painful 19:03 < nsf> just a lot of code 19:03 < nsf> that does nothing 19:03 < nsf> aka "glue" 19:04 < nsf> so.. I don't like having to write bindings 19:04 < nsf> even if it's easy 19:04 < str1ngs> whats the deal with clang and llvm does it produce more effcieant code. I got the impression it didnt 19:04 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined #go-nuts 19:04 < nsf> it's just more modular 19:04 < nsf> the coolest feature that it's designed as a library 19:05 < str1ngs> I thought the benefits were compiles speed and debugging etc 19:05 < nsf> well it's understandable for LLVM 19:05 < nsf> and clang is done as library as well 19:05 < nsf> it was made that way for xcode4 integration 19:05 < nsf> and now everyone can make his own IDE 19:05 < nsf> for C/C++/ObjC 19:05 < nsf> with all the features of xcode4 19:05 < nsf> :) 19:05 < nsf> debugging is nice 19:05 < str1ngs> that costs $5.99 lol 19:05 < nsf> because lldb can evaluate not just limited amount of expressions 19:06 < nsf> it can evaluate anything 19:06 < nsf> using LLVM JIT 19:06 < nsf> you can even write new function in the debugger 19:06 < nsf> :) 19:06 < str1ngs> ah so it very easy to port new languages to llvm? 19:06 < nsf> as for compilation speed 19:06 < nsf> it's not that different from gcc in real world 19:06 < nsf> str1ngs: sort of, yeah 19:06 * aiju still doesn't know what people need C libraries for 19:06 < aiju> except maybe SDL 19:07 < str1ngs> ah ok that makes sense 19:07 < nsf> LLVM is a low level virtual machine, it has it's own "bitcode" which gets translated to real code 19:07 < nsf> or even JIT compiled 19:07 < str1ngs> I still dont get the $5.99 part. when I can use gcc 19:07 < nsf> clang and llvm are free 19:07 < nsf> xcode4 is not 19:07 < str1ngs> or is that just for the gui stuff 19:07 < nsf> it's an IDE 19:07 < nsf> gui, yes 19:08 < str1ngs> ah oh thats good then 19:08 < nsf> IDE also has features like indexing, code completion, etc. 19:08 < nsf> https://github.com/nsf/ccode 19:08 < nsf> have you seen my ccode? 19:08 < str1ngs> when I'm using osx I never care 19:09 < nsf> ccode is barely 800 lines of code 19:09 < nsf> uses libclang 19:09 < aiju> is there some way to react to closed channels with select? 19:09 < str1ngs> I have I saw falconcidy mention it. 19:09 < nsf> and does awesome autocompletion for C and C++ 19:09 < nsf> I use it for writing compiler in C++ :) 19:09 < nsf> works pretty nice 19:09 < nsf> str1ngs: and it's just a show case what libclang can do 19:09 < str1ngs> aiju: would c,ok work for that? 19:10 < aiju> that syntax has been removed 19:10 < str1ngs> nsf: I'll check it out I dont do much with C 19:10 < str1ngs> nsf: and when I do it segs lol 19:11 < str1ngs> ok? is gone I though it replace Closed() or w/e. sorry I dont use channels much 19:12 < nsf> str1ngs: http://ompldr.org/vODZ4dw/2011-04-10-011558_1004x676_scrot.png 19:12 < nsf> looks a bit ugly 19:12 < nsf> but it works 19:12 < nsf> and autocompletion time is awesome 19:12 < nsf> I haven't measured it, but somewhat 50-200ms for simple cases 19:12 < nsf> it gets longer though, up to few seconds 19:13 < nsf> but whatever 19:13 < nsf> it works! 19:13 < str1ngs> nsf: is that a scrot -s ? 19:13 < nsf> yes 19:13 < str1ngs> ah what wm? 19:13 < nsf> openbox 19:13 < nsf> there is no window decorations on the screenshot :) 19:13 < nsf> s/is/are/ 19:13 < str1ngs> I use wmfs 19:13 < str1ngs> sometimes dwm 19:14 < nsf> I don't like these :) 19:14 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 19:14 < nsf> for a notebook maybe, but not for a desktop pc 19:14 < str1ngs> no there really not the same thing 19:14 < str1ngs> if I was to use a floater I'd probably use something like openbox 19:14 < nsf> I like openbox 19:14 < nsf> it just works 19:14 < nsf> as bmpanel2 :) 19:15 < bartbes> nsf: what was the key combo for omni complete again? 19:15 < str1ngs> I just dont like useing a mouse if I dont have to 19:15 < aiju> i wish there were channels with infinite buffers 19:15 < nsf> <C-x><C-o> 19:15 < bartbes> thanks 19:15 < nsf> bartbes: although if you're about to try ccode, it may not work as well as it works for me 19:16 < |Craig|> you can make a channel with an infinate buffer out of 2 channels and a buffer can't you? 19:16 < nsf> there are some problems with LLVM 2.9 afaik, that's the first issue 19:16 < skelterjohn> aiju: you could engineer one 19:16 < nsf> some distros have broken LLVM 19:16 < skelterjohn> like |Craig| suggests 19:16 < nsf> and ccode has no build system :D 19:16 < nsf> so.. chances are not that good 19:17 < str1ngs> nsf: I'm writing aur client in go. just to piss people off 19:17 < nsf> haha 19:17 < str1ngs> gur 19:17 < skelterjohn> what is aur 19:17 < nsf> str1ngs: what's the status of clyde 19:17 < nsf> was it fixed after 3.5? 19:17 < nsf> pacman 3.5 I mean 19:17 < nsf> skelterjohn: archlinux user repository 19:17 < bartbes> nsf: yeah, I use clyde 19:17 < nsf> bartbes: good 19:17 < str1ngs> nsf: they changed libalpm api so bad it broke clyde for aweek 19:18 < bartbes> started using it after powerpill stopped 19:18 < bartbes> :( 19:18 < nsf> bartbes: so, you're an archlinux user 19:18 < nsf> falconindy reported that ccode doesn't work with llvm 2.9 19:18 < bartbes> ubuntu as well 19:18 < nsf> which is in archlinux repo 19:18 < nsf> don't update :) 19:18 < nsf> if you haven't already 19:18 < bartbes> hehe 19:18 < bartbes> I doubt I have 19:18 < nsf> I will look into it tomorrow 19:19 < str1ngs> nsf: I have binding in the works for libalpm but I'm thinking of just reading right from /var/lib/pacman instead 19:19 < nsf> str1ngs: that's up to you, if you're looking for an advice, I'm the wrong person :) 19:19 < nsf> http://img706.imageshack.us/img706/2189/1224707819435.jpg 19:19 < nsf> lol 19:20 < nsf> (another C++ trolling image) 19:20 < aiju> i love it 19:20 * nsf too 19:20 < aiju> is there a high res version, i want a tshirt 19:20 < skelterjohn> who are you to say that people shouldn't ride bicycles on top of bicycles on top of bicycles on top of bicycles? 19:20 < str1ngs> bartbes: what did powerpill do? 19:20 < nsf> aiju: I have no idea 19:20 < skelterjohn> the language should just give them the tools that they need 19:20 < bartbes> it was discontinued 19:20 < nsf> C++ is just like that 19:21 < bartbes> and doesn't work with pacman 3.5 19:21 < nsf> layer on top of layer on top of layer 19:21 < str1ngs> bartbes: I didnt use it just wonder what it did. 19:21 < nsf> and usually those on the top do nothing 19:21 < nsf> only the last one does something 19:21 < nsf> which is usally written in C 19:21 < aiju> nsf: sadly, that image doesn't include the monstrosity which is templates 19:21 < nsf> usually* 19:21 < nsf> aiju: :D 19:21 < aiju> the top bike should be a tank or something 19:21 < skelterjohn> lol 19:21 < bartbes> str1ngs: oh, well, superfast multithreaded simultaneous downloads ;) 19:21 < aiju> also WHAT THE FUCK 19:21 < aiju> IRC is a fucking insane protocol 19:21 < skelterjohn> aiju: if you have one guy riding stacked bicycles, and another guy riding stacked tanks, clearly there was a template involves 19:21 < nsf> aiju: no, to the wheels on the front and on the back there should be more bikes connected 19:22 < aiju> wild cards in PRIVMSG 19:22 < skelterjohn> a vector of stacked bicycles 19:22 < bartbes> aiju: that's great 19:22 < skelterjohn> that you can then stack 19:22 < nsf> hehe 19:22 < nsf> and there should be an elevator 19:22 < nsf> and a ladder 19:23 < skelterjohn> a stacked elevator? 19:23 < aiju> and he should be riding on an airplane 19:23 < nsf> no, elevator as iterator 19:23 < aiju> representing the memory safety of C++ 19:23 < nsf> and ladder as operator[] 19:23 < nsf> lol 19:23 < bartbes> nsf: btw, broken in what way? 19:23 < nsf> bartbes: I have no idea 19:23 < nsf> I haven't updated LLVM yet 19:23 < nsf> :) 19:23 < bartbes> because I was planning on updating.. 19:23 < nsf> I will tomorrow 19:24 < nsf> I'll see what's wrong 19:24 < bartbes> good thing I don't really do deving on it, so I might as well just update 19:24 < skelterjohn> aside from the absurdity, it seems like it isn't a photoshop 19:24 < skelterjohn> no repetition in the structure 19:24 < bartbes> I need to reboot anyway, because I lost control of most of my computer.. (this terminal window is one of the few I can still access) 19:24 < skelterjohn> poor guy can't ever stop 19:24 < nsf> :D 19:24 < skelterjohn> unless he reaches someone's terrace 19:25 < nsf> skelterjohn: as I've said 19:25 < nsf> ladder and elevator are missing 19:25 < nsf> single linked lists are no fun 19:25 < nsf> :) 19:25 < skelterjohn> i don't even mean he can't get down 19:25 * aiju is working on an IRC server in Go 19:25 < skelterjohn> but the whole thing would fall over 19:25 < aiju> concurrent and shit! 19:25 < skelterjohn> aiju: you should use my iochan O:-) 19:25 < nsf> aiju: nice 19:26 < aiju> i don't know whether it will scale but i think it's cool ;P 19:26 < skelterjohn> Namegduf will probably have an opinion on that 19:26 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has quit [Ping timeout: 240 seconds] 19:26 < skelterjohn> since he's doing the same thing 19:26 < aiju> there is _no_ shared state 19:26 < aiju> and no locking or other crap 19:27 < nsf> haha there is 19:27 < aiju> just messages on channels 19:27 < nsf> somewhere deep inside 'net' library 19:27 < nsf> for sure 19:27 < nsf> :) 19:27 < aiju> nsf: well, channels are implemented using locking 19:28 < aiju> i also don't have any non-local gotos 19:28 < nsf> 'net' is implemented using epoll and friends 19:28 < aiju> but they're in processor microcode, for sure! 19:28 < nsf> ah, whatever, I'm just trolling 19:28 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection reset by peer] 19:28 < nsf> yeah :) 19:28 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has joined #go-nuts 19:28 < aiju> i know ;P 19:30 < bartbes> nsf: I guess I updated already, xdg-utils was the only update I could install 19:30 < nsf> I see 19:31 < bartbes> don't remember anything being wrong though 19:31 < nsf> llvm is fine 19:31 < nsf> ccode doesn't work with llvm 2.9 19:31 < nsf> for some reason 19:31 < nsf> that's what falconindy says 19:31 < nsf> I personally have no idea what's the status 19:31 < bartbes> meh 19:32 < nsf> but there were some problems with llvm 2.8 package as well 19:32 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout: 260 seconds] 19:32 < nsf> I submitted a bug report and a fix for the problem 19:32 < nsf> it was accepted 19:33 < nsf> maybe I'll have to do it again 19:34 * nsf is gone for a movie 19:34 < aiju> somehow it is totally broken with irssi 19:34 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts 19:35 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Quit: 1 sec, trying to find today's log] 19:35 < aiju> oh wow 19:35 < aiju> i'm not being told about messages i send? 19:35 < aiju> that complicates things ... 19:36 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts 19:36 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts 19:38 -!- Project_2501 [~Marvin@82.84.99.28] has joined #go-nuts 19:39 < skelterjohn> presumably if you send them, you already know 19:41 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-182-221.clienti.tiscali.it] has quit [Ping timeout: 258 seconds] 19:58 -!- virtualsue [~chatzilla@nat/cisco/x-rvedbwgknvjdfilg] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]] 20:01 -!- dfr|mac_work [~dfr|work@c-98-227-60-201.hsd1.il.comcast.net] has joined #go-nuts 20:02 -!- dfr|mac_work [~dfr|work@c-98-227-60-201.hsd1.il.comcast.net] has quit [Remote host closed the connection] 20:03 -!- dfr|mac_work [~dfr|work@nat/google/x-jxxkphdculgdrpob] has joined #go-nuts 20:10 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout: 252 seconds] 20:13 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 20:17 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has quit [Ping timeout: 246 seconds] 20:20 < nsf> bartbes: falconindy | nsf: pebkac. ccode still works. sorry for the noise 20:20 < nsf> so it works 20:20 < nsf> actually 20:20 -!- virtualsue [~chatzilla@nat/cisco/x-esleyyreeqbftdjy] has joined #go-nuts 20:20 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit: Computer has gone to sleep.] 20:24 -!- skejoe [~skejoe@89.249.0.154] has quit [Ping timeout: 240 seconds] 20:26 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts 20:26 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 20:30 -!- skejoe [~skejoe@89.249.0.154] has quit [Ping timeout: 264 seconds] 20:30 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts 20:31 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has quit [Ping timeout: 240 seconds] 20:33 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed the connection] 20:41 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined #go-nuts 20:46 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has quit [Quit: WeeChat 0.3.3-dev] 20:59 -!- huin [~huin@91.85.185.181] has quit [Quit: leaving] 21:07 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:99f:929b:59fe:5c69] has quit [Quit: Leaving.] 21:09 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-159-87.clienti.tiscali.it] has joined #go-nuts 21:12 -!- Project_2501 [~Marvin@82.84.99.28] has quit [Read error: Operation timed out] 21:19 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Remote host closed the connection] 21:28 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts 21:29 -!- foocraft [~dsc@86.36.49.200] has quit [Ping timeout: 246 seconds] 21:32 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 21:33 -!- Fish [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So Long, and Thanks for All the Fish] 21:41 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 22:02 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds] 22:04 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 22:04 -!- rlab [~Miranda@91.200.158.34] has quit [Client Quit] 22:06 -!- hjallow [55e290b1@gateway/web/freenode/ip.85.226.144.177] has quit [Quit: Page closed] 22:08 -!- dfr|mac__ [~dfr|work@c-98-227-60-201.hsd1.il.comcast.net] has joined #go-nuts 22:10 -!- virtualsue [~chatzilla@nat/cisco/x-esleyyreeqbftdjy] has quit [Quit: ChatZilla 0.9.86.1 [Firefox 4.0/20110318052756]] 22:11 -!- dfr|mac_work [~dfr|work@nat/google/x-jxxkphdculgdrpob] has quit [Ping timeout: 246 seconds] 22:13 -!- matti_ [~mumboww@c-24-6-22-101.hsd1.ca.comcast.net] has quit [Quit: matti_] 22:16 -!- foocraft [~dsc@86.36.49.200] has quit [Quit: Leaving] 22:17 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 22:20 -!- photron [~photron@port-92-201-12-246.dynamic.qsc.de] has quit [Read error: Operation timed out] 22:22 -!- Glasswalker [~Glasswalk@CPE002369b3cd1a-CM00222d53f155.cpe.net.cable.rogers.com] has joined #go-nuts 22:23 < Glasswalker> Hey, so I'm writing one of my first go programs, (aside from hello world lol) and trying to get my head around best practice for defining the go equivalent of "Objects". I realize it doesn't do OO like other languages, just trying to wrap my head around it 22:23 -!- Scorchin [~Scorchin@host109-156-10-204.range109-156.btcentralplus.com] has quit [Quit: Scorchin] 22:24 < aiju> there are no objects 22:24 < aiju> problem solved 22:25 < Glasswalker> Right, I understand that conceptually there aren't objects in the traditional OO sense... But I've seen code doing things like "file.Read()" so "file" has a method "Read()" now I'm assuming file also has fields (like "Name" and so on) 22:25 < aiju> well you can put methods on any named type 22:25 < Namegduf> Not essentially. 22:26 < Namegduf> file is of a type with a method Read(), yes. 22:26 < Glasswalker> ok 22:26 < Namegduf> It could well be just a typedef'd FD, though. 22:26 < Glasswalker> so when I'm defining a type... 22:27 < Namegduf> type Typename <type definition> 22:27 < Glasswalker> Right I got that... I've already done plenty of structs for example 22:27 < Glasswalker> but I'm having a hard time figuring out how to use structs or interfaces 22:28 < Namegduf> How to use? 22:28 < Glasswalker> I'm used to defining a type (object) which has several fields (containing data values) and several methods (for functionality) 22:28 < aiju> Struct.Field 22:28 < aiju> simple ;P 22:28 -!- foocraft [~dsc@86.36.49.200] has quit [Ping timeout: 246 seconds] 22:28 < Namegduf> That's not a useful way to think. 22:28 < Glasswalker> so do I have to define differently? like make the functions seperate, then define an interface for all those functions, then define a struct which includes that interface? 22:28 < exch> Glasswalker: could you give an example where things go wrong? That would probbly make it easier for us to help 22:28 < Namegduf> Argh no. 22:28 < Namegduf> You define the struct. 22:29 < Namegduf> You define methods on the struct, separately. 22:29 < Namegduf> You then use the methods. 22:29 < aiju> type foo struct { bla } 22:29 < aiju> func (f foo) Method() {} 22:29 < Namegduf> *foo, usually 22:29 < Namegduf> This isn't something that interfaces relate to. 22:29 < aiju> yeah, depends what you want to do 22:30 < Namegduf> Interfaces relate to being able to use any type implementing the desired methods, and are entirely orthagonal to using methods on structs. 22:31 < exch> btw, are var declarations ececuted as they are encountered in a function, or are they declared at the beginning of a function, regardless of whether the function ever reaches the point where they were declared in source? 22:31 -!- dfr|mac__ [~dfr|work@c-98-227-60-201.hsd1.il.comcast.net] has quit [Remote host closed the connection] 22:31 < aiju> exch: the former 22:31 < exch> ok, thx 22:31 < aiju> var foo = stuff is the same as foo := stuff 22:31 < Namegduf> Initialisation is executed when it is reached 22:32 < Namegduf> Definition just reserves zeroed stack space 22:32 < Namegduf> Which would be done at function call/compile time depending on how you want to look at it. 22:32 < exch> im asking because I wonderred if the following would be a waste: var a int; if cond { return }; a = something 22:33 < exch> no need to declare a yet if there is a chance 'cond' will cause a return 22:33 < Namegduf> No. 22:33 < Namegduf> a is just space on the stack. Nothing is executed at runtime but reserving said space. 22:33 -!- Jantire [~Jantire@c-71-202-156-84.hsd1.ca.comcast.net] has joined #go-nuts 22:33 < Jantire> hi all 22:33 < exch> hmm 22:33 < exch> lo 22:33 < Jantire> Is this useful for web development as of yet? 22:33 < Jantire> and by "this" I mean Go 22:33 < Namegduf> Yes. 22:34 < Jantire> What are some good use scenarios for Go? 22:35 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts 22:35 < exch> Go lends itself for a lot of things, but I suppose it was originally meant as a tool to write servers/datastores/etc 22:35 < exch> backend stuff 22:35 < Namegduf> Hmm. Most possible programs you want to write which aren't trivially small (shell script, perhaps), for which it's poorly optimised, in theory. 22:36 < Namegduf> And not cases where you *really* need to do a lot of low-level work such as some embedded applications. 22:36 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 22:36 < aiju> i use Go for virtually anything 22:36 < exch> same here 22:36 < Namegduf> Aside that it's a safe, simple language well suited to expressing almost any kind of algorithm. 22:37 < Namegduf> In *practical* terms, things with a desktop GUI are not yet realistic to write due to poor bindings. 22:37 < Namegduf> Or, well, not yet easy to write. 22:37 < exch> true 22:37 < aiju> is there any good languages with desktop GUIs? ;P 22:37 < aiju> s/with/for 22:37 < Jantire> I'm creating something that enables students to focus on learning, and teachers to focus on teaching, (Blackboard Done Right) 22:37 < exch> not particularly, but with Go the state is particularly poor :p 22:38 < Namegduf> Sounds good. 22:38 < Namegduf> Go is quite good at web applications. 22:38 < Jantire> So would Go be good for a backend TCP Server? 22:38 < Namegduf> Yes. 22:38 < exch> yes 22:38 < aiju> depends on the load 22:38 < Namegduf> Servers are something Go is particularly good at.. 22:38 < aiju> unless you're going for C10K, it shouldn't be a problem, though 22:38 < Namegduf> They look pretty due to goroutines and synchronous I/O. 22:38 < Jantire> I'm going to probably implement it in Go then, I'm doing the front-end in Silverlight/Moonlight, I don't like HTML5 or CSS 22:39 < aiju> silverlight *YUCK* 22:39 < Jantire> The sole reason for you saying that is that it's made by Microsoft 22:39 < aiju> no 22:39 < exch> no, aiju hates everything 22:39 < Jantire> What's wrong with it then? 22:39 < Namegduf> THere's better reasons. 22:39 < aiju> exch: no, not Go 22:39 < exch> oh ok. I stand corrected. aiju hates everything, except Go :p 22:39 < Namegduf> Lesse. The Linux version is awful, has no automatic installeer, is a pain to get going, and lacks support for lots of stuff. 22:39 < aiju> it uses XML 22:40 < Namegduf> MS themselves wrote a HTML5 version when they had to support Linux as well as Windows for something in Silverlight. 22:40 < Jantire> That was before Moonlight 22:40 < Namegduf> No, it wasn't. 22:40 < Namegduf> Moonlight is shitty. 22:40 < Jantire> Moonlight 2 is 22:40 < Jantire> Moonlight 4 has full support for Silverlight 4 22:40 < aiju> doesn't it also use .NET or something? 22:40 < Jantire> It's very similar to .NET 22:40 < Namegduf> It pretends to be portable but in reality is designed, like most other MS products, to favour Windows. Ballmer himself has *said* so, in interviews. 22:41 < Namegduf> "You can make a portable application, but it'll be easier and prettier to just support Windows." 22:41 < Namegduf> To paraphrase slightly. 22:41 < exch> I would say that to if I were CEO of MS 22:41 < Jantire> That's because Ballmer's #1 goal is Windows 22:41 < aiju> Java is no different 22:41 < Namegduf> And Silverlight is designed to help MS's number one goal. 22:42 < Jantire> No it's not 22:42 < Jantire> It's Microsoft's compromise 22:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 22:42 < Jantire> and it's a good compromise 22:42 < Namegduf> Yes, it is. 22:42 < aiju> silverlight looks MUCH worse than flash 22:42 < Jantire> That's blatantly not true 22:42 < Jantire> Silverlight's default template is 22:42 < Jantire> but 22:42 < Jantire> Silverlight iself no 22:42 < Namegduf> Secondly, Silverlight has the same accessibility, performance and well, pretty much every issue as Flash. 22:42 < Namegduf> Except being less portable. 22:42 < Namegduf> It''s better designed, I agree 22:43 < Jantire> That's also not true, Silverlight has significantly better performance than flash 22:43 < Namegduf> Perhaps, but it has the same basic problem. 22:43 < Namegduf> Being less bad doesn't make it good. 22:44 < Namegduf> In the Real World, you simply won't work on Linux systems. 22:44 < Jantire> It performs better than javascript 22:44 < Namegduf> They don't have Silverlight and installing it is a PITA 22:44 < skelterjohn> being less good doesn't make it bad 22:44 < Jantire> Yeah, this is true 22:44 < Jantire> but 22:44 < Namegduf> No "but" 22:44 < aiju> no one runs Linux, yeah 22:44 < aiju> except at least 60% of this channel 22:44 < vsmatck> I tried to get silverlight working on debian a while back. MS has the richard feynman lectures in silverlight. I failed, but not for lack of trying. 22:44 < Jantire> I'm okay with developing on Windows, it can be customized to offer the missing features from Linux 22:44 < Jantire> Use Moonlight 22:45 < Namegduf> We know Moonlight exists. 22:45 < Jantire> There isn't anything out that has developer tools comparable to Expression Blend and Visual Studio 22:45 < Namegduf> It's just shit. It doesn't work well in hte real world. 22:45 < Jantire> I was talking to vsmick 22:45 < aiju> moonlight sounds like moonshine to me 22:45 < Namegduf> And as I said, it's that way by design, by MS's own statement. 22:45 < aiju> Jantire: visual studio? FUCK 22:45 < skelterjohn> don't mind aiju 22:45 < Jantire> I knew that was going to be the reaction 22:45 < Jantire> but 22:45 < skelterjohn> he has that reaction whenever possible 22:45 < Jantire> VIsual Studio > Eclipse a ton 22:46 < skelterjohn> i don't think aiju uses eclipse 22:46 < Namegduf> Eclipse is awful 22:46 < aiju> it is an overembellished text editor which _FUCKING CRASHES_ 22:46 < vsmatck> coke > pepsi 22:46 < Namegduf> VS is also awful 22:46 < Namegduf> I don't use them enough to say which is more awful 22:46 < Jantire> I've never had any problems with Visual Studio 22:46 < aiju> Jantire: me too, until i used it 22:46 * exch actually really likes Visual studio. specially the express versions. One of the few things MS did right 22:46 < Namegduf> exch: You've never seen the configuration stuff? 22:46 < Jantire> @ajiu I use Visual Studio quite often 22:47 < exch> Namegduf: what config stuff specifically? 22:47 < Namegduf> exch: The configuration menus 22:47 < exch> yes I have 22:47 < Namegduf> I had to add some linker flags once, simple task 22:47 < aiju> Jantire: which version? 22:47 < exch> I have no issue with em tbh 22:47 < vsmatck> I have to use it every day at work. Seems ok after I disabled everything I could. I do like intellisense tho. 22:47 < Jantire> 2010 22:47 < aiju> wow 22:47 < Jantire> but it's only good if you're running anything past XP 22:47 < Jantire> because they re-made it in WPF 22:47 < Namegduf> You don't have an issue with them? They're hideously overcomplex and terrible to find anything. 22:48 < Namegduf> It took me half an hour to find out how to add linker flags 22:48 < aiju> i wanted to statically link something with VS 22:48 < Namegduf> With directions. Category headings which also had or didn't have settings. 22:48 < aiju> after two hours i gave up and bundled the DLLs 22:48 < Namegduf> Depending on mood. 22:48 < exch> Namegduf: I spent the better part of 10 years using VS for work, so I guess i'm biased :p 22:48 < Jantire> I don't write in C++ though for Visua lStudio 22:48 < Jantire> I'm talking about C# here 22:48 < aiju> i don't write in C++ either 22:48 < aiju> i avoid C# like the plague 22:48 < Namegduf> And then there's breaking project file support in every new version, so you always have to have the right version of VS for a specific project to build anything. 22:49 < Namegduf> They can import, but the compiler is a bit different and very happily breaks backwards compatibility 22:49 < exch> I never had problems converting older versions to newer ones 22:49 < Jantire> I've had problems like once but it was easily solvable 22:49 < Jantire> (for converting) 22:49 < Namegduf> I've never seen an open source project which supported more than one or possibly two for building. 22:50 < Namegduf> I have seen a lot of not being able to build with the newest because it's broken. 22:50 < Namegduf> The code no longer builds. 22:50 < aiju> i've heard terrible terrible things about VS2010 22:50 < Namegduf> I doubt C# is as bad 22:50 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-159-87.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 22:50 < Namegduf> I'm referring to C++ 22:50 < Jantire> Yeah that makes since 22:50 < Jantire> MS seems like it's trying to phase out C++ 22:50 < Jantire> in favor of C# 22:51 < Namegduf> I'd just use Java, really. 22:51 < Jantire> Windows 8 is supposedly almost entirely in managed code 22:51 < Namegduf> It's like C# but without broken portability. 22:51 < vsmatck> Seems like C# could displace C++ in some areas. They don't entirely occupy the same space tho. 22:51 < Jantire> C# is actually great, thanks to Mono 22:51 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has joined #go-nuts 22:51 < Jantire> but 22:51 < Jantire> WPF isn't 22:51 < Jantire> for outside of Windows development 22:52 < Jantire> http://en.wikipedia.org/wiki/Singularity_(operating_system) 22:52 < aiju> i never ever got any single application running with Mono 22:52 < Namegduf> Mono is slightly better than Moonlight but still a joke compared to portability of every other language 22:52 < vsmatck> There's a SE radio episode on singularity. Pretty interesting. 22:52 < Jantire> Yeah 22:52 < aiju> singularity is MS Inferno 22:52 < Namegduf> I think I was reading about that before Windows 7, or possibly Windows Vista, was released. 22:52 < exch> singularity is a very old research project and was not used any further. Managed microkernel experiment with some interesting aspects, but nothing very revolutionary really 22:53 < Jantire> It would be the perfect thing for a CloudOS 22:53 < Jantire> like what Chromium should be 22:53 < Jantire> ChromeOS I mean 22:53 < Namegduf> Vista was the last time MS tried to move managed code into things, IIRC 22:53 < exch> The C# spinoff they wrote for singularity was interesting though. the code contracts and stuff was fun 22:53 < Namegduf> I heard they stripped a lot of that out in 7 22:54 < Jantire> No, they wrote most of the stuff in C#/WPF 22:54 < Jantire> like Office is all C# now 22:54 < Jantire> Post-2007 22:54 < aiju> .. that explains something 22:54 < Jantire> lol yeah I know Office 2007 sucked balls 22:54 < Jantire> but office 2010 wasn't half bad 22:54 < vsmatck> I hate the ribbon! 22:54 < vsmatck> :) 22:54 < aiju> Office 2000 was the last one i could work with 22:55 < Namegduf> 2007's UI ideas might have worked if MS was even slightly able to sort UI items in a findable way 22:55 < Jantire> ^ 22:55 < Namegduf> Windows 7's control panel rework is so bad they added search, and it's the only way to find anything 22:55 < exch> the ribbon bar was the worst move ever. I /really/ hate those things :s 22:55 < Jantire> The most respectable teams on Microsoft are probably it's research, and then after that it's Visual Studio and Expression Blend, and after that Silverlight 22:55 < exch> humongous realestate waste 22:55 < Jantire> but other than that most of it's shit 22:55 < aiju> Jantire: you mispelled "least" 22:56 < Jantire> @aiju shush my adderall is wearing off so i'm starting to care less about grammar and preciseness 22:56 * exch sighs and gives aiju a cookie 22:56 < Namegduf> I hate Silverlight because it's a fairly blatant attempt to regain the "Internet works best on Windows" thing they lost when people stopped writing for IE and forced MS to support web standards. 22:56 < Namegduf> It's a very clever idea. 22:56 < Namegduf> Luckily not a very popular one. 22:57 < Jantire> I don't really care if Microsoft wants to regain control of the internet, but I like Silverlight because it has the power of desktop software but on the web 22:57 < Namegduf> If it was then, well, roll back the last ten years and prepare for another five years of browser dev sitting on its ass. 22:57 < Jantire> it's like a desktop application that has no installation 22:57 < aiju> Namegduf: i know a web developers who says "Webkit is the new IE 6.0" 22:57 < exch> All that browser nonsense has made me care less and less abuot cross-platform/browser compatibility. I don't even bother making a site work in anything other than my own browser. I just don't give a sh*t anymore 22:57 < Jantire> lol 22:57 < Namegduf> aiju: In terms of majority share? 22:58 < aiju> Namegduf: no, in terms of fucking with devs 22:58 < Namegduf> aiju: He's nuts 22:58 < aiju> there are some pretty awful CSS bugs known since '07 22:58 < aiju> which haven't been even ACKNOWLEDGED 22:58 < Namegduf> Not nearly AS awful 22:58 * Namegduf once had to support IE6 when writing a site 22:58 < aiju> Namegduf: true, but getting there 22:58 < Namegduf> IE6 doesn't calculate sizes right 22:59 < Jantire> Why doesn't HTML5 have something that lets it access drivers of the system, so people can have webcams and touchscreen-only features and other stuff 22:59 < Namegduf> Because even desktop apps don't "access drivers of the system" 22:59 < Jantire> Does Google's Go team actually hang out here? 22:59 < Jantire> I mean 22:59 < aiju> iant works on Go 22:59 < aiju> at Google, that is 22:59 < Namegduf> You mean "why don't they have an API for certain features I want an API for" 22:59 < aiju> most other people don't 22:59 < Jantire> Yeah 22:59 < Jantire> Once again, adderall is wearing off and caring less about being specific 23:00 < Jantire> (I have ADD) 23:00 < Jantire> and I also haven't eaten lunch 23:00 < Jantire> even though it's like 4 23:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:00 < aiju> ADD is probably what you need for surviving MS docs 23:01 < Jantire> lol 23:01 < aiju> msdn is so fucking bad 23:01 < Jantire> I actually agree, most of the time I have to go to stackoverflow 23:01 < Jantire> Intellisense > MSDN 23:01 < aiju> and stackoverflow is full of idiots 23:01 < aiju> intellisense is slower than MSDN lol 23:01 < Jantire> Nah it's not 23:02 < Jantire> I can just read the tooltip 23:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 23:02 < Jantire> and mess with it for a little 23:02 < aiju> yeah, it takes quite a while for it to appear 23:02 < Jantire> Not at all 23:02 < aiju> at least it did last time i used VS 23:02 < skelterjohn> when my connection died, i had just seen "Jantire: C# is actually great, thanks to Mono" referring to portability 23:02 < skelterjohn> and that's pretty silly 23:02 < aiju> Jantire: maybe with your i7 or something 23:02 < Jantire> I have an AMD Atholon 2 x4 630 (2.8ghz Quad-Core) 23:02 < Jantire> Really cheap quad-core cpu 23:03 < aiju> yeah, i had an Intel Pentium M or something 23:03 < Jantire> @skelterjohn it's fine for things other than WPF 23:03 < skelterjohn> i don't know what WPF is 23:03 < Jantire> The new ui toolkit for Windows 23:03 < Jantire> not really toolkit 23:04 < Jantire> but 23:04 < skelterjohn> the one C# project I worked on involved XNA 23:04 < aiju> pile of XML 23:04 < skelterjohn> and that had no hope of making it to my mac 23:04 < Jantire> XAML* 23:04 < skelterjohn> or a linux machine 23:04 < aiju> is XAML some even gayer version of XML? 23:04 < Jantire> What are you like 12? 23:04 < skelterjohn> are you suggesting that XAML likes other data specifications of its own gender in a sexual way? 23:04 < aiju> hahaha 23:05 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined #go-nuts 23:05 < Jantire> XNA is DirecTX 23:05 < Jantire> *DirectX 23:05 < Jantire> that's why it wasn't going to work elsehwere 23:05 < aiju> <Canvas xmlns="http://schemas.microsoft.com/client/2007" 23:05 < aiju> xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 23:05 < aiju> <TextBlock>Hello World!</TextBlock> 23:05 < aiju> </Canvas> 23:05 < aiju> just WOW 23:05 < skelterjohn> looks like xml to me 23:05 < Jantire> It's pretty much XML 23:05 < Jantire> but 23:06 < aiju> i don't know why exactly Microsoft seems so infinitely fond of XML 23:06 < exch> it is pretty pitiful 23:06 < Jantire> less focused on being for databases and such 23:06 < aiju> i once tried to write something to Even Log 23:06 < aiju> +t 23:06 < exch> what's worse: there is no json parser in the standard .NET framework. at all. 23:06 < Jantire> There's one in Silverlight 23:06 < Jantire> but yeah 23:06 < Jantire> That's an annoyance for sure 23:07 < bugQ> I had to speak XAML for my CS classes. ew 23:07 < skelterjohn> Jantire: what you just said, tells me that XAML is exactly like XML except it breaks the XML assumptions for no good reason 23:07 < skelterjohn> (something MS has a habit of doing) 23:07 < Jantire> @skelterjohn One could argue that HTML is the same way 23:07 < Namegduf> HTML is, and it's bad. 23:07 < aiju> i love it how most XML isn't actually standard compliant 23:07 < skelterjohn> um 23:08 < aiju> yet it is good, because it is standardized 23:08 < skelterjohn> did XML come before HTML? 23:08 < Jantire> I have no idea 23:08 < exch> xml and html are both derivatirves of SGML 23:08 < skelterjohn> the answer is no 23:08 < aiju> XML is way younger than HTML 23:08 < aiju> HTML is not XML 23:08 < Jantire> ah Ic 23:09 < aiju> SGML is the one thing in the world worse than XML 23:09 < skelterjohn> gotta start somewhere 23:09 < Jantire> Why do you use OpenOffice if you despise XML so much? 23:09 < dforsyth> why would you expect a json parser in .net? 23:09 < aiju> where have i ever said i use openoffice? 23:09 < Namegduf> OpenOffice is horrific. 23:09 < Jantire> LibreOffice* 23:09 < exch> dforsyth: because json is a good deal more acceptable than xml 23:09 < aiju> where did i say that either? 23:09 < Namegduf> I'd rather run MS Office in a VM 23:09 < aiju> stop just assuming crap 23:09 < Jantire> Yeah 23:09 < Jantire> but 23:10 < Jantire> the nwhat do you use if you don't use Office 23:10 < Jantire> or LibreOffice 23:10 < Namegduf> I prefer Google Docs for day to day crap 23:10 < aiju> latex/troff and gnumeric 23:10 < dforsyth> exch: and why should they spend teh time and effort to put it into their framework when they arent using it 23:10 < Jantire> @Namegduf: same 23:10 < exch> I was about to say aiju prolly prefers punchcards 23:10 < dforsyth> apple doesnt ship a json parser in any of their kits either afaik 23:10 < aiju> exch: punch cards are much faster and nicer to use than OpenOffice 23:10 < Jantire> but not nearly as efficient 23:11 < Namegduf> OpenOffice is actually kinda acceptable on this system 23:11 < exch> dforsyth: there is a lot of stuff in the framework that they don't use in every project, but it's still there. 23:11 < Namegduf> But that's because I use an SSD, 16GB of RAM, and have an i7 23:11 < Jantire> and there's also a communtiy around .NET/Silverlight 23:11 < Jantire> that develop this stuff 23:11 < Namegduf> Using MS Office in a VM is still better. 23:11 < exch> argh. why are we even discussing all this? If you dont like it, dont use it. 23:11 < Jantire> i.e http://json.codeplex.com/ 23:11 * exch needs coffee 23:11 < aiju> openoffice eventually ceased to run on all of my systems 23:12 < Namegduf> Anyways, yeah, Go will be awesome for your backend server. 23:12 < skelterjohn> <- latex for word processing. or if i want something fruity looking I'll use pages (apple's equiv of word) 23:12 < Jantire> lol thanks 23:12 < Namegduf> It's particularly elegant in that role. 23:12 < Namegduf> Goroutines mean you write synchronous I/O handling code 23:12 < skelterjohn> openoffice is painful to use 23:12 < Namegduf> And spawn 10,000 goroutines handling each connection 23:12 < dforsyth> but they probably get some use out of those things, where as they arent using json for anything 23:12 < Namegduf> And the network library implements it using async I/O 23:12 < dforsyth> plus, there are like 10000 json libs out there 23:13 < Jantire> I don't like WCF Services, so what I'm going to do is create something in Go that wil authenticate, and write to the database based on the presets (i.e write assignment VALUE AUTHID) 23:13 < Jantire> and it will be connected to Silverlight via TCP 23:14 < Namegduf> I've written that kind of thing in Go before. Works well. 23:14 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Remote host closed the connection] 23:14 < Jantire> Would this be a bad thing to do, and by bad a waste of time? I know I could do it in WCF but then I'm obligated to use ASP.NET and implement everything in ASP.NET 23:15 < Jantire> and I don't want to have to run Windows servers and IIS unless I absolutely must 23:15 < Jantire> Windows Servers are expensive 23:15 < aiju> esp. performance wise 23:15 < Namegduf> Receive RPC requests, parse, authenticate, do DB stuff? 23:15 < Namegduf> Would work well. 23:16 < Jantire> Yeah, and the other thing I like about this way though is that when I need a mobile app 23:16 < Jantire> then it won't need to be doign any weird shit specific to it with the website 23:16 < Jantire> like everything will connect through the same way 23:16 < Namegduf> Yeah. 23:16 < Namegduf> Could even support third-party apps, hypothetically. 23:16 < Jantire> Yup 23:16 < Jantire> and desktop apps if I wanted to 23:17 < Jantire> That's another thing that doesn't really matter but won't hurt, I can have it install locally without any extra code in Silverlight 23:17 < Jantire> and it will run like an Adobe AIR application 23:17 < Jantire> but in Silverlight 23:18 < Jantire> but I do see a strong lack of talent in Silverlight 23:18 < Jantire> .NET supposedly has talented people working in it though 23:19 < Jantire> brb getting food 23:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:21 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined #go-nuts 23:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 23:31 < Jantire> why is this chat lacking discussion now? 23:32 * exch is playing poker 23:32 * Namegduf went to get food. 23:33 < Jantire> is it /e to do the emote thing 23:33 < Jantire> no that didn't work 23:33 * Jantire just came back from eating food 23:33 < Jantire> there we go 23:37 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has quit [Ping timeout: 240 seconds] 23:40 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read error: Connection reset by peer] 23:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 23:44 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Quit: WeeChat 0.3.2] 23:49 < Jantire> What's the deal with Erlang? 23:50 < bugQ> that's what I want to know 23:50 < Jantire> Why is it talked about frequently and why does it's name sound like a creature from a Dr. Seuss book? 23:50 < vsmatck> Erricson Language. 23:50 < vsmatck> Made by Joe armstrong for the Ericson phone company. 23:50 < Jantire> Oh 23:51 < Jantire> I think I read a little about it but why is it starting t obe used over something like Python's Tornado web server 23:51 < bugQ> it's apparently quite efficient with RPCs, and it's used it a bunch of telephonic control systems 23:52 -!- Innominate [~sirrobin@cpe-076-182-074-143.nc.res.rr.com] has joined #go-nuts 23:52 < Jantire> ah I c 23:53 < vsmatck> Joe Armstrong is a good speaker. There are lectures he's given that are up on infoq. Erlang is quite interesting. 23:53 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts 23:53 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Client Quit] 23:55 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts 23:58 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts --- Log closed Sun Apr 10 00:00:33 2011