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

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