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

--- Log opened Fri Jul 08 00:00:44 2011
--- Day changed Fri Jul 08 2011
00:00 -!- iant [~iant@216.239.45.130] has joined #go-nuts
00:00 -!- mode/#go-nuts [+v iant] by ChanServ
00:03 -!- kingless [~kingless@108-65-61-54.lightspeed.rlghnc.sbcglobal.net] has
quit [Quit: Colloquy for iPad - http://colloquy.mobi]
00:04 -!- erus` [~chatzilla@host86-162-228-176.range86-162.btcentralplus.com] has
quit [Remote host closed the connection]
00:05 -!- yogib [~kaiser@dslb-188-100-015-022.pools.arcor-ip.net] has quit [Remote
host closed the connection]
00:12 -!- serverhorror [~martin@krlh-5f721ee4.pool.mediaWays.net] has quit [Quit:
Leaving]
00:14 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
00:28 -!- robteix [~robteix@host147.190-137-109.telecom.net.ar] has joined
#go-nuts
00:41 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 252 seconds]
00:42 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Ping timeout: 240
seconds]
00:43 -!- i__ [~none@69.164.206.224] has joined #go-nuts
00:43 -!- franksalim [~frank@64-71-23-250.static.wiline.com] has joined #go-nuts
00:46 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
Linkinus is updating...]
00:46 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
00:53 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #go-nuts
00:57 -!- Fish- [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
01:01 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 276 seconds]
01:08 -!- rael_wiki [~chatzilla@unaffiliated/rael-wiki/x-8420294] has quit [Quit:
ChatZilla 0.9.87 [Firefox 8.0a1/20110706030833]]
01:10 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
01:18 -!- i__ [~none@69.164.206.224] has quit [Changing host]
01:18 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
01:19 -!- markcol [~markcol@74.125.59.65] has joined #go-nuts
01:24 < markcol> Is it possible to reflect across a type to discover the
methods that have been added to the type?  I've looked through the reflection
documentation and tried a number of different approaches but was not able to get
it to work.
01:26 < markcol> Alternatively, is it possible to get the list of all
methods and check the signatures for the appropriate type association if the
methods aren't really "part of the type" per Go's object model?  I noticed that
the gotest program actually parses the text file to do function discovery, rather
than using reflection.
01:27 < skelterjohn> angasule: one comment - you check for primes up to 8191
in the D program, and 9191 in the go program.  in case you were wondering why they
disagreed on the number found :)
01:27 < angasule> lol
01:27 < angasule> skelterjohn: thanks, but I didn't actually run the D
program anyway
01:28 < angasule> the arr[] = 1 idiom confused the heck out of me at first
01:28 < skelterjohn> markcol: gotest parses the source because there is no
way to use reflect to list all available functions
01:29 < skelterjohn> arr[] = 1?
01:29 < angasule> I think it'd cause too many errors, though...
01:29 < skelterjohn> i have no idea what that would mean
01:29 < angasule> in D, that idiom means "initialize all elements of the
array to 1"
01:29 < angasule> I didn't either, had to search a bit
01:29 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit:
*poof*]
01:29 < skelterjohn> i see
01:30 < skelterjohn> fancy memset
01:30 < angasule> I found it horrible that that code uses 1 and 0 for true
and false, not to mention the brace style
01:30 < skelterjohn> seems useful
01:30 < angasule> I had never seen that one before { somecode here
01:30 < markcol> skelterjohn: Seems like a pretty big hole?
01:30 -!- kevlar [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net]
has joined #go-nuts
01:30 -!- kevlar [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net]
has quit [Changing host]
01:30 -!- kevlar [~kevlar@unaffiliated/eko] has joined #go-nuts
01:30 < angasule> skelterjohn: until you type arr[] = blah instead of arr[i]
= blah
01:32 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
01:32 < angasule> I've been reading about Go, Scala and D (mostly just Go,
though), and frankly I want to come back to programming in 50 years, where is my
time machine?  :-)
01:34 < cafesofie> if i had a time machine, i'd go to the distant future
where you can program a browser without javascript
01:34 < cafesofie> that may be in about 50 years
01:35 < angasule> oh, yeah, die, javascript die :-)
01:43 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
01:45 -!- mcfuzz [~tj1776@c-67-180-244-115.hsd1.ca.comcast.net] has joined
#go-nuts
01:45 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
01:45 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host
closed the connection]
01:46 < skelterjohn> markcol: an acknowledged one.  it's penciled in as a
thing to add, i believe
01:47 < markcol> ah, ok
01:47 < skelterjohn> with understandably low priority
01:59 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
Linkinus - http://linkinus.com]
01:59 -!- jtoy [~jtoy@li167-197.members.linode.com] has quit [Remote host closed
the connection]
02:00 -!- franksalim [~frank@64-71-23-250.static.wiline.com] has quit [Quit:
Leaving]
02:00 -!- Count_Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
02:04 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Ping timeout: 276
seconds]
02:09 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
02:12 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 252 seconds]
02:14 -!- robteix [~robteix@host147.190-137-109.telecom.net.ar] has quit [Quit:
Leaving...]
02:19 < dgnorton> I wrote a small app, in go, that simulates one of the
devices our software at work communicates with.  Currently, it's just receiving
the commands (via tcp), parsing them, and dumping to stdout.  It's a simple line
display device and I'd like to take the app one step further and render the text.
I was thinking curses, since the commands look like "Wrrcc<text>" where 'W'
is the write command, 'rr' is the row, 'cc' is the column, and then the text.
Sugge
02:24 < Namegduf> https://github.com/nsf/termbox <- This might suit your
needs.
02:24 < Namegduf> "ncurses, but simpler"
02:24 < Namegduf> I've not used it myself.
02:24 < mcfuzz> from what i recall, there may be portability issues with
termbox
02:25 < mcfuzz> i haven't used it either, but i looked at the github page a
while back and checked out the 'issues' section
02:30 < dgnorton> would be nice if it worked with the windows port of go
02:30 < mcfuzz> yea...
02:30 < mcfuzz> but it also apparently has OSX problems...
02:30 < Tv__> also, slang may be nicer than ncurses (dunno about go
bindings)
02:31 < dgnorton> i wrote it in a linux VM but it currently works on windows
...  would like to keep it that way if possible
02:32 < mcfuzz> for a simple log streamer with scrolling, i doubt an ncurses
implementation will be hard
02:32 < dgnorton> OSX problems would be ok :P
02:33 < mcfuzz> i've used pycurses, and the curses API seems easy enough to
deal with for stuff like that
02:35 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
02:37 < mcfuzz> hrmph.  the curses binding on godashboard seem to be dead or
something though...https://github.com/jabb/gocurse
02:38 < mcfuzz> last commit was about 11 months ago
02:40 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
02:41 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Read error:
Connection reset by peer]
03:06 < dgnorton> saw that
03:10 < mcfuzz> i guess there is an active fork
https://github.com/dforsyth/gocurse
03:15 -!- benjack [~benjack@bb119-74-99-26.singnet.com.sg] has joined #go-nuts
03:17 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
03:27 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
03:31 -!- niemeyer [~niemeyer@201-25-35-2.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
03:32 -!- keithcascio [~keithcasc@nat/google/x-hludphcsactpneag] has quit [Quit:
Leaving]
03:33 -!- mikespook [~mikespook@119.131.233.11] has quit [Ping timeout: 255
seconds]
03:47 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has joined
#go-nuts
03:47 -!- deadmoth [~void@ip98-181-33-119.br.br.cox.net] has quit [Ping timeout:
240 seconds]
03:49 -!- mikespook [~mikespook@183.47.231.26] has joined #go-nuts
03:57 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
03:57 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error:
Connection reset by peer]
03:58 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
04:00 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
04:01 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Client
Quit]
04:02 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
04:05 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:05 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:13 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
04:19 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
04:19 -!- shvntr [~shvntr@119.121.186.117] has joined #go-nuts
04:24 -!- markcol [~markcol@74.125.59.65] has quit [Quit: markcol]
04:28 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
04:33 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
04:45 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Read
error: Connection reset by peer]
04:49 -!- shvntr [~shvntr@119.121.186.117] has quit [Quit: leaving]
04:52 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Operation timed
out]
04:53 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined
#go-nuts
05:01 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:04 -!- iant [~iant@216.239.45.130] has quit [Read error: Connection reset by
peer]
05:11 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:16 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
05:17 -!- zmoazeni [~zmoazeni@50-57-89-129.static.cloud-ips.com] has joined
#go-nuts
05:21 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
05:24 -!- Skola [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts
05:25 -!- iant [~iant@216.239.45.130] has joined #go-nuts
05:25 -!- mode/#go-nuts [+v iant] by ChanServ
05:26 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
252 seconds]
05:29 -!- nicka [~nicka@unaffiliated/nicka] has quit [Ping timeout: 255 seconds]
05:32 -!- nicka [~nicka@unaffiliated/nicka] has joined #go-nuts
05:41 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
05:53 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
05:55 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.]
06:00 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
06:02 -!- photron [~photron@port-92-201-50-89.dynamic.qsc.de] has joined #go-nuts
06:08 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
06:10 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Ping timeout: 252
seconds]
06:12 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
06:15 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
06:17 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has quit [Ping
timeout: 258 seconds]
06:18 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
06:41 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
06:41 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:43 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
06:45 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has joined #go-nuts
06:49 -!- vmil86 [~vmil86@78.57.227.12] has joined #go-nuts
06:55 -!- sacho [~sacho@87.126.39.0] has quit [Quit: Ex-Chat]
06:57 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts
06:57 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has joined #go-nuts
06:59 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
07:01 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 240 seconds]
07:09 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
07:09 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 255 seconds]
07:10 -!- Phelps [~benphelps@2001:470:1f0f:2fa:223:dfff:fe86:95ae] has joined
#go-nuts
07:12 -!- Kumul [~Kumul@adsl-207-204-167-196.prtc.net] has quit [Quit: gone]
07:17 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
07:17 -!- mikespook [~mikespook@183.47.231.26] has quit [Read error: Connection
reset by peer]
07:19 -!- mikespook [~mikespook@183.47.231.26] has joined #go-nuts
07:22 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
07:24 -!- erus` [~chatzilla@mailgate.ips-international.com] has joined #go-nuts
07:25 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
07:38 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has joined #go-nuts
07:40 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds]
07:43 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:46 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
07:59 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
08:05 -!- mikespook [~mikespook@183.47.231.26] has quit [Ping timeout: 258
seconds]
08:11 -!- mikespook [~mikespook@183.47.231.26] has joined #go-nuts
08:19 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has joined #go-nuts
08:42 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts
08:42 -!- araujo [~araujo@190.73.44.29] has quit [Changing host]
08:42 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
08:46 -!- Jessica_Lily [~Jessica@85.211.48.121] has joined #go-nuts
08:46 -!- Jessica_Lily [~Jessica@85.211.48.121] has quit [Changing host]
08:46 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has joined #go-nuts
08:53 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit:
WeeChat 0.3.0]
08:55 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has left #go-nuts []
09:02 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has joined #go-nuts
09:03 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has quit [Remote host
closed the connection]
09:03 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has joined #go-nuts
09:11 -!- virtualsue [~chatzilla@nat/cisco/x-gewlxtkgtygmcruv] has joined #go-nuts
09:16 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 276
seconds]
09:19 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
09:22 < zozoR> is it possible to force the garbage collector to run?
09:22 < zozoR> somethilng like
09:22 < zozoR> OI.RUNGARBAGE()
09:23 < Kahvi> zozoR, http://golang.org/pkg/runtime/#GC
09:23 < zozoR> runtime.GC()
09:23 < zozoR> :3
09:24 < aiju> runtime contains lots of evil hackery functions
09:24 < zozoR> why evil?
09:25 < aiju> runtime.Alloc
09:25 < zozoR> "Free frees the block starting at the given pointer.  FOR
TESTING AND DEBUGGING ONLY."
09:25 < aiju> runtime.SetFinalizer
09:25 < zozoR> xD
09:31 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has left #go-nuts []
09:33 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts
09:40 -!- Project_2501 [~Marvin@82.84.65.60] has joined #go-nuts
09:40 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.]
09:51 -!- sacho [~sacho@95-42-88-207.btc-net.bg] has joined #go-nuts
09:55 -!- shvntr [~shvntr@119.121.186.117] has joined #go-nuts
10:00 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has quit [Ping timeout: 240
seconds]
10:00 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has joined #go-nuts
10:01 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has quit [Remote host
closed the connection]
10:04 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
10:05 -!- mikespook [~mikespook@183.47.231.26] has quit [Quit: Leaving.]
10:06 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Read
error: Operation timed out]
10:06 -!- Skola [~bas@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Remote host
closed the connection]
10:08 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts
10:09 -!- benjack [~benjack@bb119-74-99-26.singnet.com.sg] has quit [Quit:
Leaving.]
10:17 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Ping
timeout: 246 seconds]
10:17 -!- GeertJohan1 [~Squarc@clal-5-212.eduroam.inholland.nl] has joined
#go-nuts
10:20 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
10:20 < zozoR> if i compile something i 8g and 8l, will it be runnable on
other computers who would have to use 8g and 8l?
10:21 -!- fluf^arr [~camelid@s.pl0rt.org] has joined #go-nuts
10:22 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has joined #go-nuts
10:22 -!- fluffle [~camelid@s.pl0rt.org] has quit [Read error: Connection reset by
peer]
10:24 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has joined #go-nuts
10:24 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
10:24 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts
10:25 -!- GeertJohan1 [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Ping
timeout: 255 seconds]
10:28 -!- virtualsue [~chatzilla@nat/cisco/x-gewlxtkgtygmcruv] has quit [Ping
timeout: 252 seconds]
10:30 -!- GS [~gsv@108-61-238-49.southernonline.net] has joined #go-nuts
10:35 -!- virtualsue [~chatzilla@nat/cisco/x-njivttxsilgratka] has joined #go-nuts
10:37 -!- Smek [3e84e699@gateway/web/freenode/ip.62.132.230.153] has joined
#go-nuts
10:37 < Smek> Hello can anyone tell me if i can use gomake on windows?
10:38 -!- chanwit [~chanwit@223.207.15.213] has joined #go-nuts
10:39 < aiju> Smek: isn't gomake just a shell script to set variables before
calling make?
10:40 < Smek> ok how can i make on windows i know on linux you simply call
make in the terminal
10:41 < fzzbt> variables in the go program?
10:41 < Smek> where can i configure that?
10:42 < fzzbt> doesnt make just call gomake
10:42 < aiju> make variables
10:43 < Smek> i already made the GOARCH GOBIN GOOS and GOROOT vars i still
cant call gomake
10:46 < aiju> Smek: you don't need these variables for gomae
10:46 < aiju> Smek: gomake is supposed to set those
10:46 < aiju> just call make
10:46 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
10:46 < Smek> ok i give it a try thanks guys
10:47 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
10:48 < fzzbt> is there a way for the compiler/make script/whatever to set
variables in the go program (eg.  set DEBUG = true)?
10:48 < fzzbt> like in C you had a DEBUG macro
10:49 < aiju> i doubt it
10:50 < str1ngs> fzzbt: export DEBUG:=true
10:50 -!- GS [~gsv@108-61-238-49.southernonline.net] has quit [Remote host closed
the connection]
10:50 < str1ngs> fzzbt: for Makefile
10:50 < aiju> str1ngs: wtf?
10:50 < fzzbt> uh
10:51 < aiju> i doubt that this works
10:51 < str1ngs> fzzbt: os.Getenv("DEBUG")
10:51 < fzzbt> create file debug.go and then put "DEBUG = true" there and
just not compile that file when not debugging?
10:51 < str1ngs> fzzbt: double check syntax
10:51 < aiju> fzzbt: haha that's one way
10:51 < aiju> fzzbt: but you need two files, then
10:51 < aiju> debug.go and nodebug.go
10:52 < Smek> when i call make make.exe from borland is called
10:52 < aiju> Smek: you need GNU make
10:52 < str1ngs> fzzbt: use enviroment variables
10:52 < Smek> ok thanks
10:53 < fzzbt> str1ngs: but then im doing the debug checking runtime and not
compile-time?
10:53 < str1ngs> how are you debugging compile time
10:54 < aiju> str1ngs: i just put things like this in a file
10:54 < aiju> eh
10:54 < aiju> *fzz
10:54 < aiju> *fzzbt
10:54 < aiju> fzzbt:
http://code.google.com/p/plan9front/source/browse/sys/src/cmd/5e/dat.h like at the
bottom of this one
10:55 < aiju> (yes, it's c)
10:59 -!- nicka1 [~lerp@142.176.0.21] has joined #go-nuts
11:00 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Read
error: Connection reset by peer]
11:00 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts
11:05 -!- opt [~opt@174.3.227.184] has quit [Quit: Leaving]
11:11 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
11:17 -!- chanwit [~chanwit@223.207.15.213] has quit [Quit: Leaving.]
11:21 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has joined
#go-nuts
11:27 -!- alehorst [~alehorst@189.115.80.233] has joined #go-nuts
11:27 -!- Project-2501 [~Marvin@82.84.90.11] has joined #go-nuts
11:30 -!- Project_2501 [~Marvin@82.84.65.60] has quit [Ping timeout: 252 seconds]
11:35 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Ping
timeout: 258 seconds]
11:36 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 260 seconds]
11:39 -!- Smek [3e84e699@gateway/web/freenode/ip.62.132.230.153] has quit [Quit:
Page closed]
11:40 -!- tncardoso [~thiago@189.59.128.192.dynamic.adsl.gvt.net.br] has joined
#go-nuts
11:43 < erus`> aiju: what is the timezone where you live?
11:46 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has joined
#go-nuts
11:47 -!- tncardoso [~thiago@189.59.128.192.dynamic.adsl.gvt.net.br] has quit
[Ping timeout: 255 seconds]
11:48 < str1ngs> I'm about to use the reflect package..  I'm worried :(
11:52 < zozoR> yay
11:56 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
11:59 -!- tncardoso [~thiago@189.115.131.32] has joined #go-nuts
12:02 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #go-nuts
12:02 -!- jsj [~johan@78-70-253-105-no149.tbcn.telia.com] has quit [Ping timeout:
255 seconds]
12:07 -!- jsj [~johan@78-70-253-105-no149.tbcn.telia.com] has joined #go-nuts
12:07 < aiju> 13:50 < erus`> aiju: what is the timezone where you
live?
12:07 < aiju> CET
12:12 -!- chanwit [~chanwit@223.207.15.213] has joined #go-nuts
12:12 -!- dario [~dario@domina.zerties.org] has joined #go-nuts
12:15 -!- sacho [~sacho@95-42-88-207.btc-net.bg] has quit [Ping timeout: 260
seconds]
12:16 < aiju> this tag shit
12:16 < aiju> is this a fucking joke
12:17 < aiju> at least it's not XML
12:17 < str1ngs> the key:value change?
12:18 < aiju> what's that?
12:18 < aiju> i mean this
12:18 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
12:18 < aiju> struct { x int "yo dawg i heard you liked fields without
effect" }
12:19 < skelterjohn> lol
12:19 < str1ngs> lol
12:19 < aiju> i'll write Hitler quotes in it in my code
12:19 < skelterjohn> i'm not surprised
12:19 < aiju> struct { x int "DAS WAR EIN BEFEHL"; y string "Sie nennen sich
Generäle, weil sie Jahre auf einer Militärakademie zugebract haben" }
12:20 -!- jsj [~johan@78-70-253-105-no149.tbcn.telia.com] has quit [Remote host
closed the connection]
12:21 -!- ananamoose [~ajoe47@72.25.60.79] has joined #go-nuts
12:21 < aiju> i'm still curiouis
12:21 < aiju> 14:24 < str1ngs> the key:value change?
12:21 < aiju> what are you talking about?
12:21 < str1ngs> they changed the tag format
12:21 < aiju> where?
12:21 < aiju> i'm not seeing it in the spac
12:21 < aiju> *spec
12:22 < str1ngs> its not well documented yet
12:23 < str1ngs> ap values encode as JSON objects.  The map's key type must
be string; the object keys are used directly as map keys.
12:23 < str1ngs> grr bad paste
12:24 < aiju> ah
12:24 < aiju> now i can put multiple quotes in it
12:24 < aiju> x int `Hitler:"..." `Nietzsche:"..."
12:25 < str1ngs> this is useful though for things like db abstraction
12:26 -!- ananamoose [~ajoe47@72.25.60.79] has left #go-nuts ["Textual IRC Client:
http://www.textualapp.com/"]
12:26 < photron> whats this string after the type supposed to be?  some form
off comment?
12:27 < str1ngs> I guess it will very
12:27 < aiju> photron: it's a place to put Hitler quotes or JSON field names
12:27 < photron> str1ngs: so you can access it via reflect, or how is it
supposed to work?
12:27 < jlaffaye> what was wrong with the name of the go struct field?
12:27 < aiju> photron: yes
12:27 < aiju> jlaffaye: it's not hip
12:27 < str1ngs> photron: yes
12:28 < str1ngs> jlaffaye: go struct fields do not always map well.  ie Name
!= name LastName != last_name
12:29 < str1ngs> oh ya and structs do not map well to xml
12:29 < jlaffaye> so its useful if you have to interact with an existing
format, not when you are creating it
12:29 < str1ngs> but thats an xml issue
12:29 < aiju> hahaha
12:29 < aiju> xml sucks but this is a lame excuse
12:29 < str1ngs> but key:value might help it
12:30 < photron> so you extend the language to make structs better
serializable?
12:30 < str1ngs> I'm not advocating it.  just giving some examples where it
might be useful
12:30 < aiju> str1ngs: you didn't get my point
12:30 < aiju> "structs don't map well to xml, hence xml is broken"
12:31 -!- sacho [~sacho@213.91.244.15] has joined #go-nuts
12:31 < str1ngs> yes xml is broken.  but that doesnt stop buisness from
using it
12:31 < str1ngs> hey customer fuck off xml is broken..  doesnt go over well
12:31 < aiju> you're still not getting it
12:32 < aiju> it's hardly a problem with xml if you try to map structs
blindly to it
12:32 < photron> one reason why i hate xml is because i can never decide
which thinks to put in attributes and which in elements
12:32 < aiju> i didn't mean to spark off a fucking xml flame
12:32 < str1ngs> ok then use something other then xml
12:32 < str1ngs> as an example
12:33 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
12:33 < photron> i like json, because it maps better to the typical
datastructures you have in most languages
12:33 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
12:33 < nsf> YAML ftw
12:33 < nsf> :)
12:33 < aiju> hahhahaha
12:33 < photron> he's back
12:33 < aiju> YAML is even worse
12:33 < nsf> aiju: I like yaml
12:34 < str1ngs> nsf: same here
12:34 < nsf> I know spec looks scary
12:34 < nsf> but after reading it
12:34 < str1ngs> not for everything tough
12:34 < nsf> it makes sense
12:34 < photron> also i like json because its minimal
12:34 < aiju> i like FUCKING TEXT
12:34 < dlowe> kinky
12:35 < nsf> aiju: sure, but writing custom parsers each time is for real
men only
12:35 < aiju> why do people wrap anything in 10 layers of standards
12:35 < aiju> with 1000 pages of spec each
12:35 < nsf> yaml is simple actually :)
12:35 < aiju> nsf: fmt.Scan("fuck off %s this lame excuse sucks %d %d
horribly")_
12:35 < aiju> *, ...)
12:35 < nsf> well, that may work too
12:36 < nsf> but if you have tree-like data
12:36 < nsf> Scanf isn't the best choice
12:36 < nsf> json, yaml, xml, whatever
12:36 < nsf> all wroks
12:36 < nsf> works*
12:36 < nsf> yaml is just the easiest to edit with an editor here
12:36 < photron> aiju: depends on how much structure you need to preserve.
if there is not much structure then i use simple line base scanf-able formats
12:37 < nsf> and it backwards compatible with json :D
12:38 < str1ngs> nsf: define backwards though
12:38 < nsf> json is valid yaml
12:38 < str1ngs> you cant use the json package
12:38 < str1ngs> ah ok see waht you mean
12:38 < nsf> or is it called forward compatible
12:38 < nsf> I don't know :)
12:38 < aiju> compatibility fucking sucks
12:38 < str1ngs> man give it a rest
12:39 < photron> nsf means subset, not backwards compatible
12:39 < aiju> it means you're just adding more crap on an existing standard
12:39 -!- foocraft [~ewanas@89.211.223.87] has joined #go-nuts
12:39 < aiju> but i'll shut up now, i have better things to do
12:39 < photron> like fighting c#?
12:39 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
624 seconds]
12:40 < nsf> "This is also the case in practice; every JSON file is also a
valid YAML file."
12:40 < aiju> yeah
12:40 < nsf> YAML spec
12:40 < nsf> whatever it means
12:40 < jessta> yaml was modified so that it's a superset of json
12:40 < str1ngs> nsf: ya so in theory a yaml parser can parse json.  but
json parser can not parse yaml
12:40 < nsf> str1ngs: yes
12:41 < str1ngs> stupid json :P
12:41 < jessta> but the json doesn't really fit well in to yaml
12:42 < nsf> whatever
12:42 < nsf> I have everything
12:42 < nsf> :)
12:42 < aiju> one last word on the subject
12:42 < aiju> http://yaml.org/spec/1.2/spec.html
12:42 < aiju> FUUUUUUUUUUCK
12:43 < nsf> it's big, but read it, seriously :)
12:43 < str1ngs> I'm going to write a yaml package, license it GPL3 and make
it build with autotools just to piss aiju off
12:43 < str1ngs> oh and only work on linux
12:43 < str1ngs> yaml_linux.go everything
12:43 < nsf> lol
12:44 < aiju> hahaha
12:44 < aiju> you'll make me fucking laugh with that
12:44 < nsf> I've heard someone writes minecraft server in Go
12:44 < nsf> who knows something about it?  :)
12:44 < exch> chunkymonkey
12:45 * nsf is curious about parallelization of chunks processing
12:45 < exch> dunno if it works
12:45 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has
joined #go-nuts
12:46 -!- rzoz [801d2b02@gateway/web/freenode/ip.128.29.43.2] has joined #go-nuts
12:46 < nsf> lighting is more or less clear, but other processes like
lava/water/fire are interesting
12:46 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
12:46 < nsf> also minecraft server may eat a lot of memory
12:46 < nsf> chunks compressing on the fly?
12:46 < nsf> something simple like RLE may work
12:47 < exch> it's a minecraft alpha server.  it won't work with current map
format afaik
12:47 < nsf> exch: it contains few files named NBT
12:48 < nsf> I think it's the new map format
12:48 < nsf> in beta
12:48 < exch> Well, one wa to find out I guess
12:48 < exch> *way
12:48 < dlowe> The canonical minecraft server is the only one that's really
usable for gameplay
12:49 < nsf> true
12:49 < nsf> even though it's buggy
12:49 < dlowe> There's parallel simulation in the server and the client
that's hard to replicate
12:49 < aiju> i thought minecraft has turned into just watching it fail by
now
12:50 < nsf> "So far 10,277,715 people have registered and 2,737,152 people
bought the game."
12:50 < nsf> it's not a fail, definitely
12:50 < nsf> at least commercially :D
12:50 < aiju> nsf: i mean as in bugs
12:50 < aiju> the last time i played my inventory kept disappearing
12:50 < nsf> but it's buggy, yes
12:51 < nsf> it works fine in singleplayer though
12:51 < nsf> it's the major problem of all indie games
12:51 < exch> buggy or not.  its still a great deal of fun
12:51 < aiju> i disagree
12:51 < nsf> no :(
12:51 < nsf> it's boring
12:51 < aiju> it used to be fun
12:52 < nsf> one-two weeks of fun and that's it
12:52 < nsf> you know all the game
12:52 < nsf> you were in nether
12:52 < exch> I loves it.  ot the mining or crafting though.  Just running
my own server with some friends and we just build to our heart's content
12:52 < nsf> you know all the recipes
12:52 < dlowe> I'm enjoying making piston machines
12:52 < nsf> I want gameplay
12:52 < aiju> stuff like the nether is a pretty stupid concept
12:53 < exch> We basically run creative mode but with mobs
12:53 < nsf> aiju: uhm, why?
12:53 < aiju> it doesn't really add to the gameplay
12:53 < nsf> true, but the idea of multiple "planets" for a game like this
is ok
12:53 < nsf> I mean just different settings for world generator
12:53 < nsf> but minecraft lacks gameplay
12:54 < nsf> many have noticed that it's just a sandbox
12:54 < nsf> for example there is a 2d "clone" terraria
12:54 < nsf> which isn't really a clone
12:54 < nsf> because it has gameplay
12:54 < nsf> it has bosses and other kind of fun
12:55 < nsf> and I have my own vision on a proper gameplay for a game like
that :D
12:55 < exch> minecraft never claimed it had gameplay thogh.  Mojang put up
a blog post a few days ago with some info on the actual gameplay elements which
should be added in a few eeks/months
12:55 < nsf> exch: adventure mode?
12:55 < aiju> i'm fine with a sandbox game
12:56 < exch> something like that, yea.  I didnt boher reading it tbh
12:56 < nsf> adventure mode afaik takes out all the sandboxing features, you
won't be able to change blocks :)
12:56 < nsf> just run around
12:56 < exch> The reason I like minecraft is that it reminds me of Lego.
Amything else in it is not neccesary for me:p
12:56 < nsf> the tricky part here is a gameplay which uses blocks
building/removing feature
12:57 < nsf> exch: hehe, yes, there is a similarity definitely
12:59 < nsf> http://ompldr.org/vOWFycw/2011-06-30-220902_800x600_scrot.png
12:59 < nsf> :P
13:00 < nsf> blocks are boring though :P
13:02 < erus`> real time mesh deformations would use less memory than a 3d
array of blocks
13:03 < erus`> and LOD is easy
13:03 < erus`> call it digmake
13:03 < erus`> make a cool 10 million euros
13:03 < erus`> become a neckbeard idol
13:03 < nsf> http://ompldr.org/vOWVsdg/2011-07-08-190908_1024x768_scrot.png
13:03 < nsf> mountains :P
13:03 < nsf> erus`: I guess it's true
13:04 < nsf> I replayed red faction 1 recently
13:04 < nsf> year 2002!
13:04 < nsf> their geomod was really nice at that time
13:04 < nsf> for some reason though it wasn't a break through like half-life
13:05 < nsf> http://en.wikipedia.org/wiki/Geo-Mod
13:05 < nsf> erus`: but!
13:06 < nsf> the thing about blocks is other processes
13:06 < nsf> like lava/water/fire simulation
13:06 < nsf> other kind of blocks interaction
13:06 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Read
error: Connection reset by peer]
13:07 < nsf> all of that is much harder in custom-shaped 3d worlds
13:07 < erus`> just use particles
13:07 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
13:07 -!- ccc1 [~Adium@114-45-84-162.dynamic.hinet.net] has joined #go-nuts
13:07 < nsf> and lighting also
13:07 < nsf> yes, it's fake in minecraft
13:08 < nsf> but gives some value to the gameplay
13:08 < nsf> with custom-shaped mesh what can you do?
13:08 < erus`> people do real time lighting in complex 3d environments
13:09 < nsf> erus`: yes, but in minecraft it's a part of gameplay also,
plant grows when it has some light, monster appears when there is darkness around
13:09 < nsf> all these cool real time lighting is on GPU
13:09 < nsf> and it involves a lot of faking
13:10 < nsf> being fully on CPU has its own pros
13:10 < nsf> not speaking about really simple collision detection and
physics
13:11 < chanwit> hi all
13:11 < nsf> http://ompldr.org/vOWEybw/2011-06-29-165026_800x600_scrot.png
13:11 < nsf> I actually tried raytracing :)
13:11 < gmilleramilar> hey!  nsf is back!
13:11 < erus`> dont get me wrong i enjoy minecraft
13:11 < chanwit> I am wondering how could I get Go's version using some
APIs?
13:11 < aiju> chanwit: runtime.Version?
13:12 < nsf> gmilleramilar: :)
13:12 < gmilleramilar> word was that you had moved on to greener pastures.
13:12 < erus`> nsf did you write your own maths library?
13:12 < nsf> gmilleramilar: I was always around, just not on this channel
13:12 < chanwit> aiju: yes.  like weekly.2011-06-23 8864
13:12 < nsf> erus`: yep, it's old
13:12 < aiju> chanwit: runtime.Version
13:12 < erus`> i wrote one too :)
13:13 < nsf> erus`: https://github.com/nsf/lib99/blob/master/linear_math.h
13:13 < nsf> some bits of it
13:13 < chanwit> aiju: oh I see.  thanks for it.
13:13 < erus`> nsf i thought this was go
13:13 < nsf> I'm not writing Go though :D
13:13 < nsf> erus`: I guess, yeah
13:13 < nsf> it's #go-nuts after all :D
13:14 < nsf> but no, I write C
13:15 -!- JimPeak [~lejimpeak@modemcable213.208-160-184.mc.videotron.ca] has
joined #go-nuts
13:15 < nsf> erus`: Go is nice, but for 3d stuff, probably isn't the best
choice
13:15 < chanwit> aiju: thanks again the package contains all things I'm
looking for :)
13:16 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has joined #go-nuts
13:16 < nsf> garbage collection => nasty pauses
13:17 < nsf> minecraft suffers from that, magicka suffers from that and
these are two games I know written in (Java/C#)
13:17 < zozoR> nsf, use runtime.Malloc and free?  :P
13:17 < nsf> zozoR: I don't believe in mixing GC with malloc/free
13:17 < nsf> maybe it will work though, I don't know
13:18 < nsf> but I'm pretty sure it's fairly easy to have > 5ms pauses
with GC
13:18 < nsf> and that's it basically
13:18 < nsf> with CPU hungry game it will cause lags
13:19 < zozoR> i suppose go never will be a game language and games have to
be written in non-garbage collected ones
13:19 < nsf> yes
13:19 < nsf> but Go may work for servers
13:19 < nsf> as it was designed for that :)
13:19 < zozoR> they could add a feature that could turn off the GB :D
13:19 < zozoR> GC*
13:20 < aiju> zozoR: won't work
13:20 < nsf> zozoR: again, it's the same as mixing GC/non-GC
13:20 < nsf> what about libraries?
13:20 < nsf> it's like C++
13:20 < nsf> mixing exceptions with non-exceptions code
13:20 < nsf> no-exceptions*
13:20 < nsf> you can't basically do that
13:21 < zozoR> oh well
13:21 < nsf> things like garbage collection, reference counting, exceptions
affect the whole system at once
13:21 < zozoR> its just..  go is so awesome : |
13:21 < zozoR> why cant it be used for everything
13:21 < chanwit> nsf: as far as I know, Unreal engine uses something call
UnrealScript and it's a GCed language.
13:21 < nsf> chanwit: yes, lua is GCed too
13:21 < aiju> 15:24 < nsf> minecraft suffers from that, magicka
suffers from that and these are two games I know written in (Java/C#)
13:21 < nsf> and it's used often in games
13:21 < aiju> TWO EXAMPLES?
13:21 < aiju> must be true!
13:21 < nsf> aiju: I don't play Java/C# games a lot
13:21 < nsf> will check out terraria soon though
13:22 < nsf> we'll see :D
13:22 < aiju> 15:24 < nsf> minecraft suffers from that, magicka
suffers from that and these are two games I know written in (Java/C#)
13:22 < aiju> ah fuck
13:22 < nsf> chanwit: the difference here is: control
13:22 < nsf> both Lua and UnrealScript are executed in tiny environments
13:22 < jessta> nsf: I wonder if changes to the code in those games might
fix the GC pause issues
13:22 < nsf> pretty much like javascript in browsers
13:23 < aiju> jessta: exactly
13:23 < nsf> jessta: maybe
13:23 < nsf> but you see
13:23 < nsf> the only way to fix it
13:23 < nsf> is manual memory management :)
13:23 < chanwit> nsf: I agree.  Java's GC is a beast.
13:23 < jessta> not really, the only way to fix it is to think about how
you're using memory
13:23 < nsf> basically you don't allocate memory in a rendering loop
13:23 < nsf> and it works
13:24 < nsf> but it's manual memory management
13:24 < jessta> the GC is only run during allocation
13:24 < nsf> jessta: thinking won't change anything :D you should do that :D
13:24 < nsf> jessta: yes, but if you don't allocate, there is no GC
13:24 < nsf> and that's what I'm saying
13:24 < aiju> no, you're using terms wrong
13:25 < nsf> maybe
13:25 < jessta> it's not manual memory management, it's memory management
using a GC
13:25 < nsf> jessta: I don't think such thing exists
13:25 < aiju> GCs -- just science fiction
13:26 < jessta> nsf: see russ' post about profiling Go code
13:26 < nsf> well, you can be careful, but it's like hunting memory leaks in
an app which were written without a single "free" call
13:26 < nsf> jessta: I don't like Russ
13:26 < nsf> :)
13:26 < nsf> and that example was a benchmark
13:26 < nsf> he should try that in big codebase
13:27 < jessta> C had a big problem with it's lack of a GC, it made third
party librries a huge pain to use
13:28 < nsf> "had"
13:28 < nsf> C is not dead
13:28 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 255 seconds]
13:28 < zozoR> nsf, how is your compiler comming along?
13:28 < nsf> zozoR: it's uhm..  frozen
13:28 -!- niemeyer [~niemeyer@201-25-35-2.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
13:29 < zozoR> why
13:29 < zozoR> : |
13:29 < nsf> I don't understand all things I need to understand
13:29 < nsf> in order to finish it :)
13:29 < jessta> nsf: yeah, people stopped using third party libraries and
instead made massive libraries of their own
13:29 < erus`> compiling what?
13:29 < chanwit> nsf: I'm one of your gollvm's user, anyway.
13:29 -!- shvntr [~shvntr@119.121.186.117] has quit [Ping timeout: 258 seconds]
13:29 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has joined #go-nuts
13:30 < nsf> chanwit: nice, I haven't touched it since I wrote it though :)
13:30 < ArgonneIntern> hello everyone!  back from my interview!
13:30 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit:
*poof*]
13:30 < nsf> jessta: just a lack of good libraries
13:30 < nsf> especially in C++ it's a very big problem :)
13:30 -!- go^lang [~newblue@113.84.207.144] has joined #go-nuts
13:30 < nsf> erus`: krawl :)
13:31 < nsf> erus`: https://github.com/nsf/krawl
13:31 < zozoR> nsf, cant you just fork the golanguage and remove the garbage
collector?
13:31 < nsf> it's an experimental project doing low level language with Go
syntax
13:31 < nsf> zozoR: no
13:31 < nsf> Go needs GC
13:31 < jessta> zozoR: none of the libraries would work
13:31 < nsf> it has these features like channels
13:31 < nsf> and interfaces
13:31 < nsf> and goroutines
13:31 < jessta> maps, slices etc.  also wouldn't work
13:32 < nsf> they do require GC
13:32 < nsf> I don't hate GC, I just think it doesn't fit in some places :)
13:33 < nsf> zozoR: the biggest app written in krawl:
https://github.com/nsf/krawl/blob/master/examples/tetris.krl
13:33 < nsf> it actually works :)
13:34 < chanwit> so probably forking go/parser and let it generate C codes?
13:34 < aiju> if you want C
13:34 < nsf> chanwit: might work
13:34 < aiju> WRITE FUCKING C
13:34 < nsf> aiju: yeah, that's one of my thoughts lately as well
13:34 < nsf> I'm not sure there is a place for another low level language :)
13:35 < nsf> at least not at this moment
13:35 < zozoR> but C is horrible :(
13:35 < nsf> but even Herb Sutter speaks about introducing pascal-like
declarations in C++ :)
13:35 < nsf> I mean people realize that C/C++ syntax is broken
13:35 < nsf> it needs to be fixed
13:36 < nsf> but it's a big problem
13:36 < chanwit> zozoR: yes it is.
13:36 < nsf> zozoR: it's stable and well known
13:36 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
13:36 < aiju> what the fuck is wrong with C syntax
13:36 < nsf> aiju: it's context-dependent :)
13:37 < zozoR> would it be possible to take the C compiler, and fuck with
the thing..  lexer?  and make new syntax?
13:37 < nsf> very hard to parse without knowing all the flags and all the
include stuff
13:37 < nsf> etc.
13:37 < nsf> wait, not just "hard"
13:37 < nsf> impossible
13:37 < chanwit> nsf: what's about this: http://live.gnome.org/Vala ?
13:37 < nsf> zozoR: it's possible
13:37 < aiju> zozoR: except that fucking with gcc is a horrible nightmare
13:37 < nsf> chanwit: repeats all C mistakes :)
13:37 < aiju> god, i'm getting trolled by you again
13:37 -!- iant [~iant@67.218.104.187] has joined #go-nuts
13:37 -!- mode/#go-nuts [+v iant] by ChanServ
13:38 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has quit [Quit:
Leaving...]
13:38 < nsf> chanwit: one of the things I'd like to get rid of in C
13:38 < nsf> is switch statement as it is now
13:38 < nsf> Vala/C#/Java I think all just copy & paste it from C
13:38 < nsf> e.g.  all the "break"s here
13:38 < nsf> even scripting languages!
13:38 < nsf> http://squirrel-lang.org/
13:38 < aiju> it's worst in c#
13:38 < aiju> break; is basically required by syntax
13:39 < nsf> <- that one has breaks in switch statements as well
13:39 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has joined #go-nuts
13:39 < nsf> and I haven't checked operator precedence in Vala
13:39 < nsf> since they're generating C
13:39 < nsf> I think they're using C's operator precedence
13:39 < aiju> vala is based on glib
13:39 < nsf> on gobject to be precise
13:40 < nsf> gobject is based on glib :)
13:40 < nsf> I use glib too btw
13:40 < aiju> whatever
13:40 < nsf> :D
13:40 < aiju> all this g* crap sucks horribly
13:40 < nsf> no
13:41 < nsf> it's hard to find a decent C library with async queue and
threads, which is tested on multiple platforms and works
13:41 < nsf> and glib has other useful stuff :)
13:41 < nsf> like GHashMap
13:41 < nsf> aiju: of course you implement hash maps by hand
13:41 < nsf> real men do that
13:41 < aiju> haha
13:41 < aiju> i just was about to get out an example
13:42 < nsf> I've seen many of these
13:42 < nsf> hash maps and quick sorts written by hand
13:42 < aiju>
http://code.google.com/p/plan9front/source/browse/sys/src/cmd/pstree.c
13:42 < nsf> yeah, exactly like that :)
13:43 < aiju> most work was the descend() function to print stuff
13:43 < nsf> it's easy to make a fixed-size hash map
13:44 < nsf> I prefer APIs :)
13:44 < zippoxer> there's no Qt binding for Go right?
13:44 < skelterjohn|work> there is
13:45 < skelterjohn|work> look at the dashboard
13:45 < zippoxer> what :O
13:45 < aiju> QObjectFactoryGeneratorClassSingleton
13:45 < nsf> :D
13:45 < nsf> aiju: Qt isn't that bad
13:45 < photron> aiju: you really dislike a lot of thinks
13:45 < zippoxer> ctrl f Qt
13:45 < zippoxer> = not found
13:46 < photron> nsf: true
13:46 < nsf> the only thing I dislike about it
13:46 < nsf> that it's quite slow to compile
13:46 < nsf> well, as everything written in C++
13:46 < zippoxer> if it was pure Go :-)
13:47 < nsf> I would make a gui in pygtk
13:47 < zozoR> if people used go, they would be out of jobs because of
efficient working
13:47 < aiju> i have some plans for a nice gui library in go style
13:47 < skelterjohn|work> oh i meant gtk, not qt
13:47 < aiju> but i hate fucking with x11
13:47 < skelterjohn|work> i always forget which is which
13:48 < chanwit> Go needs some more syntactic sugars for GUI.
13:48 < aiju> no, it needs a good library, that's all
13:48 < nsf> GUI needs a DSL :D
13:48 < zippoxer> right, it needs no gtk
13:48 < zippoxer> Qt or something
13:48 < str1ngs> qt lol
13:48 < aiju> i haven't seen a way to do GUIs which doesn't suck
13:48 < nsf> Qt has started to make their own DSL for gui
13:49 < nsf> called QML
13:49 < skelterjohn|work> DSL = ?
13:49 < nsf> domain specific language
13:49 < chanwit> nsf: right, Go needs to be a good DSL host.
13:49 < aiju> skelterjohn|work: domain specific language
13:49 < str1ngs> domain specific language
13:49 < nsf> :D
13:49 < aiju> chanwit: goyacc, there you go
13:49 < str1ngs> to slow :(
13:49 < skelterjohn|work> is it, domain specific language?
13:50 < nsf> skelterjohn|work: what exactly?
13:50 < chanwit> button.OnClick = func(e Event){ } is bad when thing's
getting complex.
13:50 < nsf> I mean we need GUI DSL
13:50 < aiju> chanwit: event based programming just sucks
13:50 < aiju> we have channels
13:51 < zippoxer> nsf: you mean a designer that will generate GUI DSL?
13:51 < chanwit> aiju: is channel fit GUI programming model?
13:51 < nsf> I mean DSL for GUI :)
13:51 < zippoxer> chanwit: ofc.  Qt uses it
13:51 < nsf> I absolutely have no idea how it will look like
13:51 < aiju> zippoxer: not really
13:51 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
13:52 < zippoxer> aiju: but the idea is the same
13:52 < aiju> chanwit: http://doc.cat-v.org/bell_labs/squeak/
13:52 < chanwit> zippoxer: Qt uses slots.  it's event-driven style.
13:52 < aiju> chanwit: pike wrote many papers on that one
13:52 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib]
13:53 -!- virtualsue [~chatzilla@nat/cisco/x-njivttxsilgratka] has quit [Ping
timeout: 258 seconds]
13:53 < chanwit> aiju: it's great!  probably it's that someone called
concurrent software architecture.
13:53 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
13:54 -!- rzoz [801d2b02@gateway/web/freenode/ip.128.29.43.2] has left #go-nuts []
13:56 < nsf> ugh, ok, enough trolling for today, see ya :)
13:56 -!- nsf [~nsf@jiss.convex.ru] has left #go-nuts ["WeeChat 0.3.5"]
13:57 < aiju> chanwit: as i said, i started work on something
13:57 < aiju> the basic idea is something like NewButton returning a channel
of events
13:57 < aiju> you can get back to classical events by using a massive select
statements
13:58 < aiju> or just use the channels in an appropriate goroutine
13:59 < chanwit> aiju: sound great!  with this, you can just chain events by
putting values into the channels.
13:59 < skelterjohn|work> something that i'd like to work on if i had the
time
13:59 -!- virtualsue [~chatzilla@nat/cisco/x-bbgqrvnkyteppouh] has joined #go-nuts
13:59 -!- chanwit [~chanwit@223.207.15.213] has quit [Quit: Leaving.]
14:01 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
14:02 < zippoxer> aiju: but the gui itself (not the interface) you're going
to write yourself or use some C/C++ library?
14:03 < skelterjohn|work> if it's not pure go, it's not nearly as useful
14:06 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 252 seconds]
14:06 < aiju> zippoxer: i was using xcb
14:06 < aiju> so it was pure go
14:07 < skelterjohn|work> does that mean when it runs on mac, it runs in an
X11 app?  :\
14:07 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
14:07 < aiju> yes
14:07 < aiju> that's on purpse
14:07 < skelterjohn|work> boo.
14:07 < aiju> just to piss off mac users
14:07 < aiju> jk
14:07 < aiju> you can add other backends
14:08 < aiju> i have no clue why macusers hate x11 apps so much
14:08 < str1ngs> they are nice but slow
14:09 < str1ngs> ie rxvt is really slow compared to say Terminal
14:09 < skelterjohn|work> aiju: because they all get grouped into one x11
app
14:09 -!- franciscosouza [~francisco@187.117.133.160] has joined #go-nuts
14:09 < skelterjohn|work> and that is not really how macs work
14:10 < skelterjohn|work> i worked on a mac draw thing a while back - it
loaded up a window in which you could draw a bitmap, behaved nicely with the mac
app system, etc
14:10 < skelterjohn|work> but i didn't feel like mapping to the existing
event model
14:15 -!- Project_2501 [~Marvin@82.84.84.53] has joined #go-nuts
14:17 < zippoxer> this project aiju has in mind probably needs > 1
members
14:17 -!- Project-2501 [~Marvin@82.84.90.11] has quit [Read error: Operation timed
out]
14:17 < zippoxer> but not for the base
14:17 < aiju> haha
14:18 < zippoxer> which i think aiju should implement by himself :)
14:18 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
14:18 < aiju> as i said
14:18 < aiju> i find working with X11 less appealing than pouring lye over
my arm
14:18 -!- franciscosouza [~francisco@187.117.133.160] has quit [Quit:
franciscosouza]
14:18 < str1ngs> I like the xcb idea, but make your own widgets going to be
hell
14:18 < zippoxer> lol
14:19 < zippoxer> so you probably like lye ;)
14:20 < zippoxer> love*
14:20 < str1ngs> he doesnt like anything
14:20 < str1ngs> from what I have seen :P
14:20 < zozoR> he does like go
14:20 < go^lang> Which rev best for product devel ?
14:20 < zippoxer> release?
14:20 < str1ngs> release of course
14:20 < zippoxer> latest release?
14:21 < ArgonneIntern> does go have any kind of safety in goroutines that
allow them to finish before your main routine does?  For example if run several go
routines and then my program ends, will the routines finish first?
14:21 -!- Project-2501 [~Marvin@82.84.69.106] has joined #go-nuts
14:21 < aiju> ArgonneIntern: no
14:21 < aiju> ArgonneIntern: ending main kills all go routines
14:21 < skelterjohn|work> you need to send a signal with channels
14:22 < str1ngs> case <-abort: parachute()
14:22 < zippoxer> select {} is the best way to keep main alive
14:22 < skelterjohn|work> that's related to what he asked, but not exactly
14:23 < zippoxer> i think john told me that
14:23 < ArgonneIntern> heh well I want it to run forever like a daemon until
it is asked to exit gracefuly
14:23 < ArgonneIntern> but in order for it to do that the routines need to
exit gracefully
14:23 < skelterjohn|work> if you have X goroutines running and you want them
all to finish, it's normal to have them all send something to a channel and then
read from it X times at the end of main
14:23 < zippoxer> for !shutTheFuckDown {}
14:23 < zippoxer> no !
14:24 < zippoxer> it will fuck your cpu :(
14:24 < str1ngs> yep
14:24 < str1ngs> why select is so good
14:24 -!- Project_2501 [~Marvin@82.84.84.53] has quit [Ping timeout: 258 seconds]
14:25 < aiju> zippoxer: it won't even work
14:25 < zippoxer> y?
14:25 < aiju> for small values of GOMAXPROCS
14:25 < aiju> "for {}" will never yield the thread
14:25 < zippoxer> :O
14:25 < zippoxer> so channels is nice.
14:26 < ArgonneIntern> aiju, I ran into this problem
14:27 -!- shvntr [~shvntr@59.35.236.54] has joined #go-nuts
14:27 < ArgonneIntern> for me the solution was just making gomaxprocs 2
14:27 < ArgonneIntern> but on the server it will be a lot higher
14:27 -!- Project_2501 [~Marvin@82.84.98.176] has joined #go-nuts
14:27 < skelterjohn|work> if the solution is to make gomaxprocs higher, then
the problem is your code
14:28 < skelterjohn|work> you should write your code in such a way that
raising gomaxprocs can make it more efficient, but not go from "not working" to
"working"
14:28 < skelterjohn|work> can usually be done by sneaking in
runtime.Gosched() calls
14:28 < go^lang> close the channels and check it in goroutines, if channel
was close then end.
14:28 < ArgonneIntern> so it's my problem that the go runtime doesn't give
up control on my main routine
14:28 < vikstrom> why would you need more GOMAXPROCS than you have
cores/hypers?
14:28 < skelterjohn|work> ArgonneIntern: yes
14:28 < ArgonneIntern> rofl
14:28 < skelterjohn|work> go scheduling is cooperative
14:28 < ArgonneIntern> yea I must disagree with you there
14:28 < skelterjohn|work> so, you have to write code that cooperates
14:29 < skelterjohn|work> disagree all you like
14:29 < skelterjohn|work> that's how it is
14:29 -!- foocraft [~ewanas@89.211.223.87] has quit [Ping timeout: 255 seconds]
14:30 < ArgonneIntern> well if you have to control everything manually you
might as well just go back to threading lol
14:30 -!- yogib [~kaiser@dslb-178-009-079-088.pools.arcor-ip.net] has joined
#go-nuts
14:30 < ArgonneIntern> what's the point if go doesn't take care of it
14:30 < skelterjohn|work> go can't take care of it and still be as close to
the machine as it is
14:30 < zozoR> its not magic lol
14:30 -!- Project-2501 [~Marvin@82.84.69.106] has quit [Ping timeout: 258 seconds]
14:30 < ArgonneIntern> zozoR, it sure was presented as thusin the past few
weeks ;)
14:30 < aiju> go could take care of it
14:31 < skelterjohn|work> the goroutine context switches have to be
triggered - by something
14:31 < aiju> they just don't do it because there is no real point to it
14:31 < skelterjohn|work> they *could* have a "watcher" process that
randomly switches contexts
14:31 < aiju> skelterjohn|work: SIGALRM
14:31 < skelterjohn|work> or they could do what they do, and have certain
things trigger a switch
14:31 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
14:31 < zozoR> what triggers a switch?  :o
14:31 < aiju> alarm()
14:31 < skelterjohn|work> goroutines switch context when it's most useful -
when a blocking IO call is made
14:32 < skelterjohn|work> or when certain syscalls are made, or when
runtime.Gosched() is called
14:32 < aiju> skelterjohn|work: or channels
14:32 < skelterjohn|work> yes
14:32 < skelterjohn|work> lots of different ways
14:32 < ArgonneIntern> so go routines don't really time multiplex at all.
Which would mean they don't really do anything to make them more efficient
14:32 < skelterjohn|work> but as far as the runtime knows, your busy loop is
doing something
14:32 < str1ngs> just dont exit if runtime.Goroutines() > 0 :P
14:32 < skelterjohn|work> ArgonneIntern: each cpu you have can only do one
instruction at a time =p
14:32 < ArgonneIntern> obviously
14:33 < ArgonneIntern> I'm not THAT stupid
14:33 < skelterjohn|work> so in that sense, no, go isn't magic
14:33 < aiju> haha
14:33 < aiju> Which would mean they don't really do anything to make them
more efficient
14:33 < skelterjohn|work> but it can switch which goroutine is the active
one when it's a good idea
14:33 < aiju> sounds different
14:33 < aiju> switching all the time makes it even LESS efficient
14:33 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-171-150.clienti.tiscali.it] has
joined #go-nuts
14:34 < ArgonneIntern> yes, but it was my u nderstanding that there was some
beefy efficiency algorithms to determine context switching, who got what when
within each thread and who got split to what threads if GOMAXPROCS >1
14:34 < skelterjohn|work> when you're doing something that doesn't yield
(computations, etc, or in some cases a busy loop), the runtime is like "well, that
goroutine is just chugging away and there is nothing we can do to have it make
progress faster"
14:34 < skelterjohn|work> ArgonneIntern: that is not correct - it's just a
round robin
14:34 < aiju> 16:41 < ArgonneIntern> yes, but it was my u nderstanding
that there was some beefy efficiency algorithms to determine context switching,
who got what when within each thread and who got split to what threads if
GOMAXPROCS >1
14:34 < skelterjohn|work> when one goroutine yields, the next one in the
queue goes active
14:34 < aiju> they want to add that
14:34 < skelterjohn|work> as aiju says, one day they can do something more
clever
14:34 < aiju> GOMAXPROCS is supposed to go away in the future
14:35 < ArgonneIntern> I have 4-5 routines that are always running and none
of them yield, yet setting my procs to 2 does something
14:35 < ArgonneIntern> I suppose yielding means ending a function for
example
14:35 < skelterjohn|work> it makes it so 2-3 of them will never execute
14:36 < skelterjohn|work> calling/returning a function does not yield
14:36 < ArgonneIntern> but they do...
14:36 < skelterjohn|work> you must have something in there that yields
14:36 < vikstrom> doesnt it uses a countdown?  after a set number of
reductions it yields?
14:36 < skelterjohn|work> if it does i don't know about it
14:36 < skelterjohn|work> but i guess it's possible
14:36 -!- Project_2501 [~Marvin@82.84.98.176] has quit [Ping timeout: 255 seconds]
14:36 < vikstrom> thats how, for instance, the erlang runtime handles
scheduling
14:37 < vikstrom> yield on certain blocking ops or when reductions hit 0
14:37 < skelterjohn|work> the whole point of multiplexing goroutines onto
processes is to use the "dead" time spent on blocking IO etc
14:37 < skelterjohn|work> busy waiting isn't dead time
14:38 < skelterjohn|work> calling functions and returning isn't dead time
14:38 < skelterjohn|work> you can't do it more efficiently by swapping
goroutines
14:38 < ArgonneIntern> is blocking on a channel dead time
14:38 < skelterjohn|work> yes
14:38 < vikstrom> yeah, but then you need to multiplex it to another
processor thread for it to really be parallell, while waiting for the block to
finish up
14:38 < skelterjohn|work> blocking on a channel switches context
14:38 < ArgonneIntern> well I do a lot of that, so maybe that's why it works
for me
14:38 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
14:38 < skelterjohn|work> probably
14:38 < ArgonneIntern> in fact all of my go routines block on channels
14:38 < ArgonneIntern> except main
14:39 < skelterjohn|work> there lies the rub
14:39 -!- foocraft [~ewanas@89.211.167.31] has joined #go-nuts
14:39 < skelterjohn|work> and that explains why it doesn't work with
gomaxprocs=1
14:39 < ArgonneIntern> I could just runtime.Gosched() and yield right?
14:39 < skelterjohn|work> yes
14:39 -!- Project_2501 [~Marvin@82.84.96.249] has joined #go-nuts
14:39 < skelterjohn|work> but i suggest not doing a busy wait
14:39 < ArgonneIntern> in fact that's probably a good idea even if
GOMAXPROCS > 1
14:40 < aiju> if you do
14:40 < ArgonneIntern> it's not a busy wait really
14:40 < aiju> for { runtime.Gosched() }
14:40 < ArgonneIntern> I run three functions in the loop
14:40 < aiju> then all i can say is "fuck"
14:40 < skelterjohn|work> :)
14:40 < ArgonneIntern> no I run 3 functions, my main does something ;)
14:40 < skelterjohn|work> ArgonneIntern: if your main() does some actual
useful computation, then having that in a for loop w/ a runtime.Gosched() is ok
14:40 < ArgonneIntern> just not very much
14:41 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has joined #go-nuts
14:41 < aiju> if you have an infinite loop without anything which blocks in
it
14:41 < aiju> you fucked up at some point
14:41 < skelterjohn|work> but to suggest the best way to handle it, i'd have
to know exactly what you were doing in the main() and the other goroutines
14:42 < ArgonneIntern> my main just does some cleanup on resource
allocations.  Like if the time is up, and I have a data structure that tracks
resource allocations while they are being allocated.  It cleans up that structure
once the allocation has finished as well.
14:43 < ArgonneIntern> so my main just does some clean up, my other routines
do all th work
14:43 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-171-150.clienti.tiscali.it] has
quit [Ping timeout: 276 seconds]
14:43 < skelterjohn|work> are cleanups only valid when one of the other
goroutines does something specific?
14:43 < skelterjohn|work> like, finishes a block of work?
14:43 < ArgonneIntern> no
14:44 < ArgonneIntern> the allocations can timeout
14:44 < ArgonneIntern> so that can happen at anytime
14:44 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
14:44 -!- Project-2501 [~Marvin@82.84.68.207] has joined #go-nuts
14:44 < skelterjohn|work> would it make sense to only do this every X
seconds?
14:44 < skelterjohn|work> (and perhaps also when a block of work is
finished?)
14:44 < ArgonneIntern> yes default allocations are for a week, so a couple
of seconds wonlt kill anything
14:45 < aiju> something like dhcp?
14:45 < skelterjohn|work> then instead of runtime.Gosched(), i suggest
"<-time.After(X)"
14:45 < skelterjohn|work> where X is nanoseconds
14:46 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 258 seconds]
14:47 < ArgonneIntern> can I ask why round robin was determined to the the
algorithm used?
14:47 -!- serbaut [~joakims@tc-officefw.trioptima.com] has joined #go-nuts
14:47 < skelterjohn|work> easy
14:47 < vikstrom> fairness?
14:47 < skelterjohn|work> it's easy to code, it has some innate fairness
properties, etc
14:47 -!- Project_2501 [~Marvin@82.84.96.249] has quit [Ping timeout: 250 seconds]
14:47 < skelterjohn|work> it may be upgraded one day
14:47 < aiju> what's wrong with round robin
14:47 -!- serbaut [~joakims@tc-officefw.trioptima.com] has quit [Client Quit]
14:48 < ArgonneIntern> well I agree with fairness.  But if you do less work
than me, fairness doesn't mean much
14:48 < vikstrom> that way even small process, not doing much, gets to run
every now and then
14:48 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
14:48 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
14:48 < vikstrom> its good for response times
14:48 -!- serbaut [~joakims@tc-officefw.trioptima.com] has joined #go-nuts
14:49 < aiju> ArgonneIntern: what's the alternative, even?
14:50 < vikstrom> priority-based?
14:50 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-162-227.clienti.tiscali.it]
has joined #go-nuts
14:50 < ArgonneIntern> yea, that's what I had in mind, but if you do that
you might as well use OS threads
14:50 < skelterjohn|work> i certainly can't think of an improvement on round
robin for goroutine scheduling, right now
14:51 < ArgonneIntern> err OS task shedular sorry
14:51 < vikstrom> priority-based is dangerous when you might have tens of
thousands of small processes
14:51 < skelterjohn|work> maybe some day someone will be clever
14:51 < aiju> how do you define priority for a goroutine?
14:51 < ArgonneIntern> even a very simple priority scheduler would solve the
problem of one routine taking everything
14:51 < vikstrom> exactly
14:52 < skelterjohn|work> runtime.SetPriority(abillion)
14:52 < aiju> ArgonneIntern: what are you talking about
14:52 < aiju> ArgonneIntern: this hasn't got anything with that
14:52 -!- iant [~iant@67.218.104.187] has quit [Quit: Leaving.]
14:52 < skelterjohn|work> ArgonneIntern: the scheduling will *always* be
cooperative
14:52 < skelterjohn|work> that is not going to change
14:52 < skelterjohn|work> the thing that might change is the round-robin alg
14:53 < ArgonneIntern> I guess you're right, the scheduling doesn't really
effect context switch, just who goes next.
14:53 < skelterjohn|work> right
14:53 < ArgonneIntern> it would have to be able to have preemption
14:53 -!- Project-2501 [~Marvin@82.84.68.207] has quit [Ping timeout: 255 seconds]
14:53 < skelterjohn|work> right
14:56 -!- JimPeak [~lejimpeak@modemcable213.208-160-184.mc.videotron.ca] has left
#go-nuts []
14:56 -!- Project_2501 [~Marvin@82.84.72.63] has joined #go-nuts
14:59 < skelterjohn|work> heh, my latest commit message for gb is "-m"
14:59 < skelterjohn|work> oops
14:59 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-162-227.clienti.tiscali.it]
has quit [Ping timeout: 255 seconds]
15:00 -!- sacho [~sacho@213.91.244.15] has quit [Remote host closed the
connection]
15:00 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
15:00 < str1ngs> hehe how did you pull that off?
15:01 < str1ngs> git commit -m "-m"
15:02 -!- Project-2501 [~Marvin@82.84.81.38] has joined #go-nuts
15:02 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
240 seconds]
15:03 -!- robteix [~robteix@192.55.54.36] has joined #go-nuts
15:05 < skelterjohn|work> just -m -m
15:05 -!- Project_2501 [~Marvin@82.84.72.63] has quit [Ping timeout: 246 seconds]
15:05 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 276 seconds]
15:05 < skelterjohn|work> actually, that's a lie
15:05 < skelterjohn|work> i have a script that commits to both hg and git at
the same time
15:05 < skelterjohn|work> and it takes the first command line and uses it as
the message
15:06 < skelterjohn|work> so i did ./commit -m "some message"
15:06 < skelterjohn|work> and it ran "git commit -a -m -m" and "hg commit -m
-m"
15:06 < str1ngs> yes was going to say -m would need to be qouted
15:06 < skelterjohn|work> i don't think so
15:06 < skelterjohn|work> the quotes just group things separated by
whitespace
15:06 -!- tncardoso [~thiago@189.115.131.32] has quit [Quit: bye]
15:06 < skelterjohn|work> "-m" and -m both get into your args as the same
string
15:07 < str1ngs> you use bash?
15:07 < skelterjohn|work> yes
15:07 < str1ngs> -m != "-m"
15:07 < ww> same same most any shell
15:07 < ww> str1ngs: what planet?
15:07 < skelterjohn|work> nope
15:07 < skelterjohn|work> -m == "-m"
15:08 < skelterjohn|work> just tested
15:08 -!- PortatoreSanoDiI [~Marvin@82.84.72.111] has joined #go-nuts
15:08 -!- iant [~iant@nat/google/x-kkpmselbuouqfkmn] has joined #go-nuts
15:08 -!- mode/#go-nuts [+v iant] by ChanServ
15:09 < ww> -m != \"-m\"
15:09 < ww> but that's a different story
15:09 < str1ngs> sorry I'm thing more in terms of -m != this is a commit
15:09 < str1ngs> which would result in this commit message so ya -m = "-m"
15:10 < str1ngs> thinking*
15:10 < skelterjohn|work> if you do: git commit -m -m
15:10 < skelterjohn|work> the commit message is "-m"
15:10 < str1ngs> right
15:10 < skelterjohn|work> ok.
15:10 < skelterjohn|work> o_O
15:10 < str1ngs> but lets go back to why you script that?  :P
15:10 < aiju> because he has both a git and a hp repo
15:10 < aiju> it seems
15:11 < skelterjohn|work> it seemed like an easy way to keep them in sync
15:11 < skelterjohn|work> without learning some fancy tool
15:11 < aiju> wow
15:11 < aiju> i thought i just made that up
15:11 -!- Project-2501 [~Marvin@82.84.81.38] has quit [Ping timeout: 240 seconds]
15:11 < aiju> just WHY do you have two repos
15:11 < skelterjohn|work> because it started as a googlecode project
15:11 < aiju> may i suggest adding a CVS and a RCS repo to the bunch?
15:11 < skelterjohn|work> but then i decided i liked git better
15:11 < skelterjohn|work> so i made a github project.  but people still use
the googlecode project
15:12 < aiju> hahahaha
15:12 < str1ngs> well you can mirrot hg to git easily.  not sure about the
other way round
15:12 < skelterjohn|work> also googlecode lets you make a nicer page for
docs
15:12 < str1ngs> mirror*
15:12 < aiju> write on your googlecode page
15:12 < aiju> I'M USING GITHUB NOW
15:12 < aiju> problem solved
15:12 < skelterjohn|work> *shrug*
15:12 < skelterjohn|work> my problem was already solved
15:13 < skelterjohn|work> i see no reason to change the solution
15:13 < erus`> “Git gets easier once you get the basic idea that branches
are homeomorphic endofunctors mapping submanifolds of a Hilbert space.”
15:13 < skelterjohn|work> the only word i know in that is hilbert space
15:13 < skelterjohn|work> and i don't thing branches can map into one
15:13 < aiju> i know all of them
15:13 < str1ngs> skelterjohn|work: anyways you are not scripting automated
commit message.  so imo ya this case makes sense
15:13 < aiju> except endofunctors
15:13 < vikstrom> erus: until i do, ill just stick with bzr..
15:14 < erus`> whats a hilbert space?
15:14 < skelterjohn|work> wikipedia
15:14 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-155-95.clienti.tiscali.it] has
joined #go-nuts
15:14 < vikstrom> i know what hilbert hotel is, but thats about it
15:14 < erus`> most math related pages are writen in greek alphabet
15:14 < skelterjohn|work> vikstrom: i think that's hilton
15:15 < skelterjohn|work> erus`: better that then try to chat in IRC using
the greek alphabet
15:15 < vikstrom> nah, Hilbert Hotel is an analogy he used to describe
countable and uncountable infinities
15:15 < skelterjohn|work> oh, hehe :)
15:15 < vikstrom> :-)
15:16 < aiju> 17:21 < erus`> whats a hilbert space?
15:16 < aiju> you define a scalar product on a vector space
15:16 < aiju> the canonical topology of the resulting metric space defined
by the norm sqrt(<x,x>) is complete
15:16 < aiju> i.e.  all cauchy sequences converge
15:16 < aiju> further questions?
15:16 < skelterjohn|work> this is why i sent you to wikipedia
15:16 -!- mindphaze [~void@ip98-181-33-119.br.br.cox.net] has joined #go-nuts
15:16 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
15:17 < skelterjohn|work> it's no less dense, but at least there are cross
references
15:17 -!- PortatoreSanoDiI [~Marvin@82.84.72.111] has quit [Ping timeout: 240
seconds]
15:18 < zippoxer> please downvote this shit:
http://stackoverflow.com/questions/6605051/performance-focused-desktop-program-ruby-or-go/6609376#6609376
15:18 < zippoxer> he must understand that his opinions are opinions.
15:18 < erus`> can you guys write the simple english version at
simple.wikipedia.org plox :D
15:18 < zippoxer> maybe more downvotes will quicker the process.
15:18 < zippoxer> quickify* the process
15:18 < aiju> stackoverflow is a bunch of retards
15:18 < aiju> so why care?
15:18 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
15:19 < zippoxer> not really :P
15:19 < zippoxer> there are some nices there
15:19 < skelterjohn|work> i'd have to log in
15:19 < skelterjohn|work> and register
15:19 < skelterjohn|work> not in that order
15:19 < zippoxer> openid
15:19 < skelterjohn|work> open your face
15:19 < erus`> lazy
15:19 < erus`> press the google button
15:20 < erus`> press allow
15:20 < erus`> done
15:20 < aiju> i'm not downvoting shit, i'm not 13
15:20 < aiju> "the mob has spoken"
15:20 < erus`> zippoxer: submit a patronising edit
15:21 < zippoxer> aiju: yeah later you say how much you hate XML and other
pieces
15:21 < zippoxer> almost same as downvote
15:21 < zippoxer> (which i like to do)
15:22 < skelterjohn|work> words are better than votes
15:22 < skelterjohn|work> more useful anyway
15:22 < aiju> a question
15:22 < erus`> lol how many down votes have you submitted?
15:22 < erus`> mine is like 4
15:22 < aiju> "$language or $language"
15:22 < erus`> to 500 upvotes
15:22 < aiju> is ALWAYS going to end in a flame war
15:23 < go^lang> What is the best package install tool like goinstall?
Which one for you ?
15:23 < zippoxer> there's not war there.
15:23 < erus`> i have asked 89 questions and answered 32
15:23 < zippoxer> every1 against this bullshitter
15:23 < skelterjohn|work> go^lang: i use http://go-gb.googlecode.com
15:23 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-155-95.clienti.tiscali.it] has
quit [Ping timeout: 250 seconds]
15:23 < vikstrom> someone should post the blogpost on how to profile go
15:24 < aiju> what?  he has some valid points
15:24 < zippoxer> here is better than stackoverflow but stackoverflow has
already asked questions
15:24 < zippoxer> that i can google
15:24 < erus`> vikstrom: are you trol?
15:24 < erus`> skelterjohn is the go knowledgebase
15:24 < vikstrom> erus: why would you think that?
15:24 < zippoxer> vikstrom: in stackoverflow?  i already posted somewhere
15:25 < erus`> because there is a blog post on how to profile go.  posted
not long ago
15:25 < skelterjohn|work> erus`, vikstrom: to both the statement and the
question, lol
15:25 < vikstrom> i was refering to that blog post, and i meant someone
should post a "link" to that post in that discussion..
15:26 < erus`> ah yeah i read you wrong
15:26 < erus`> that was 5 lines of pointless chat then :P
15:26 < skelterjohn|work> don't be so modest
15:26 < skelterjohn|work> waaaay more than 5 lines
15:26 -!- shvntr [~shvntr@59.35.236.54] has quit [Ping timeout: 252 seconds]
15:26 < zippoxer> so what.  we learned somthin
15:27 < zozoR> IM STILL A ROCKSTAR
15:27 < aiju> what's next
15:27 < vikstrom> i enjoyed that blogpost and think more should read it
15:27 < vikstrom> thats all
15:27 < aiju> someone posts a link to a /g/ discussion where someone posts
something about go
15:27 < aiju> and we're all flaming him?
15:27 < zippoxer> falmed*
15:28 < zippoxer> flamed**
15:28 < skelterjohn|work> i have lost track of what's going on
15:28 < zippoxer> yeah.  let's talk when we have something to talk about?
:\
15:28 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
15:28 -!- shvntr [~shvntr@59.35.238.25] has joined #go-nuts
15:29 -!- Electro [~mikael@gw-gbg.ilait.se] has quit [Quit: leaving]
15:29 < erus`> my bitcoin wrapper https://github.com/tm1rbrt/bitcoinrpc
15:30 < skelterjohn|work> i don't get the hype about bitcoin
15:30 < erus`> no shitty paypal taking your money
15:30 < erus`> free transfers
15:30 < aiju> erus`: not really
15:30 < vikstrom> i'm off, office hours is over, no more crappy C# for me
this week...
15:30 < aiju> there are transaction fees
15:31 < aiju> vikstrom: haha
15:31 < skelterjohn|work> i'm sure if they become successful, paypal will
allow you to make payments in bitcoins
15:31 < erus`> aiju: only if you specify
15:31 < erus`> you wont need a paypal
15:31 < aiju> skelterjohn|work: currency which can't be affected by
gouvernment tinkering
15:31 < jrr> you get paid in bitcoins for having your computer available to
their network, right?
15:31 < aiju> jrr: n
15:31 < aiju> *no
15:32 < aiju> jrr: you can join a mining pool
15:32 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has quit [Ping timeout: 258
seconds]
15:32 < zozoR> im kinda surprised at all the people who code C# "against
their will"
15:32 < zozoR> xD
15:32 < aiju> jrr: but the amounts are negligible unless you have special
hardware
15:32 < skelterjohn|work> bitcoins are bits of information that are
difficult to compute...something about primes
15:32 < skelterjohn|work> so mining them becomes more and more difficult as
more and more bitcoins are found
15:32 < aiju> skelterjohn|work: not quite
15:32 < skelterjohn|work> the primes part?
15:32 < aiju> no
15:32 < skelterjohn|work> i have no idea what the actual math is
15:32 < jrr> aiju: who makes those payments, however small, to the
participants?
15:32 -!- shvntr [~shvntr@59.35.238.25] has quit [Ping timeout: 240 seconds]
15:33 < aiju> jrr: the pool operators
15:33 < aiju> jrr: you can also mine on your own, if you have a huge cluster
15:33 < aiju> skelterjohn|work: you have blocks full of transactions
15:33 < aiju> skelterjohn|work: which need to be signed by the network
15:33 < aiju> and you get 50 BTC for each block you sign
15:33 < aiju> that's how i get it
15:33 < aiju> the pools split the work and the pay among everyone
15:35 < erus`> mining is near the point of unprofitably though
15:35 < aiju> yeah
15:36 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Operation timed out]
15:37 < erus`> but it will never be unprofitable for me because i leave my
work pc on :)
15:38 < erus`> only out of work hours though
15:38 < jessta> erus`: isn't that just theft?
15:38 < erus`> pfff
15:39 < erus`> i need to access my work pc from home sometimes for vpn so it
needs to be on
15:39 < jessta> wouldn't it be more profitable to just steal stationary and
sell it
15:39 < erus`> well yes but i need bitcoins to test my projects
15:39 < erus`> i dont need money for moneys sake
15:40 -!- shvntr [~shvntr@59.35.238.25] has joined #go-nuts
15:40 < erus`> well i do i guess...
15:40 < erus`> but the point is
15:40 < erus`> bitcoins
15:41 < skelterjohn|work> good point
15:43 -!- iant [~iant@nat/google/x-kkpmselbuouqfkmn] has quit [Quit: Leaving.]
15:44 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has joined #go-nuts
15:50 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Quit:
ChatZilla 0.9.87 [Firefox 5.0/20110615151330]]
15:51 -!- sacho [~sacho@87.126.39.0] has joined #go-nuts
15:52 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
15:53 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 264 seconds]
15:53 -!- chanwit [~chanwit@223.207.172.94] has joined #go-nuts
15:55 -!- jrr [~jrr@c-98-253-78-18.hsd1.in.comcast.net] has quit [Ping timeout:
240 seconds]
15:56 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
15:56 -!- go^lang [~newblue@113.84.207.144] has quit [Quit: 暂离]
15:57 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
15:59 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.]
16:03 -!- jrr [~jrr@c-98-253-78-18.hsd1.in.comcast.net] has joined #go-nuts
16:03 -!- pjacobs [~pjacobs@66.54.185.130] has joined #go-nuts
16:04 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts
16:08 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
16:10 -!- Fish- [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
16:13 -!- prip [~foo@host233-120-dynamic.35-79-r.retail.telecomitalia.it] has quit
[Ping timeout: 246 seconds]
16:13 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
16:14 -!- erus` [~chatzilla@host86-162-228-176.range86-162.btcentralplus.com] has
joined #go-nuts
16:17 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has left #go-nuts []
16:17 -!- prip [~foo@host233-120-dynamic.35-79-r.retail.telecomitalia.it] has
joined #go-nuts
16:18 -!- dtm_ [~dtm@cpe-66-61-15-236.neo.res.rr.com] has quit [Quit: Leaving]
16:23 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
16:28 -!- ccc1 [~Adium@114-45-84-162.dynamic.hinet.net] has left #go-nuts []
16:29 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:33 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit
[Quit: Leaving...]
16:42 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #go-nuts
16:45 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
16:53 -!- virtualsue [~chatzilla@nat/cisco/x-bbgqrvnkyteppouh] has quit [Read
error: Operation timed out]
17:01 -!- shvntr [~shvntr@59.35.238.25] has quit [Ping timeout: 240 seconds]
17:01 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
17:02 -!- foocraft [~ewanas@89.211.167.31] has quit [Ping timeout: 258 seconds]
17:05 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit:
pyrhho]
17:06 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
17:14 -!- iant [~iant@nat/google/x-clomsgryunbydndd] has joined #go-nuts
17:14 -!- mode/#go-nuts [+v iant] by ChanServ
17:15 < uriel> yay, despite all the trolls in /r/programming, /r/golang now
has 1000 members!
17:16 < uriel> http://www.reddit.com/r/golang/
17:16 < aiju> still under 9000
17:18 < ww> i'm still not sure i understand what reddit is for
17:18 < aiju> ww: trolling
17:18 < uriel> ww: troling
17:18 < uriel> damn, aiju!  ;P
17:18 < uriel> you type too fast ;P
17:18 < ww> aiju wins on speling
17:18 < uriel> ww: hehehe, and speed
17:18 < mpl> ww: and if you don't like trolling, just wasting your time.
you might as well browse pics on imgur.
17:19 < mdxi> reddit is slashdot cross twitter
17:19 < mpl> ew
17:19 < uriel> mdxi: that is quite accurate
17:19 < uriel> anyway, the Go subreddit is useful to keep up with new
projects and stuff
17:20 < skelterjohn|work> i feel like any site where comments can be voted
upon is bound to hold only one point of view on any one topic
17:20 < skelterjohn|work> whatever the majority happens to be
17:20 < erus`> and throw in extra neckbeards
17:20 < aiju> skelterjohn|work: no shit
17:20 < erus`> only upboats would be good
17:20 < skelterjohn|work> then a site like fark, where nothing is voted
upon, and where all comments are visible in the order they were posted, has a much
more diverse crowd
17:20 < skelterjohn|work> uriel: soon it will be the golang cirlce on
google+?  :)
17:23 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
17:24 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
17:29 -!- kinofcain [~KinOfCain@h-64-105-141-42.snvacaid.static.covad.net] has
joined #go-nuts
17:51 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
17:53 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
240 seconds]
17:55 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:59 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
18:07 -!- chanwit [~chanwit@223.207.172.94] has quit [Quit: Leaving.]
18:10 -!- ronnyy [~quassel@p4FF1C5C0.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
18:14 < zozoR> var out []*JSONlevel; err = d.Decode(out) --- Error:
Unmarshal(non-pointer []*main.JSONlevel)
18:14 < zozoR> any idea what that error means?
18:14 < skelterjohn|work> []*JSONlevel is not a pointer
18:14 < skelterjohn|work> it's a slice of pointers
18:15 < skelterjohn|work> specifically, the package can't actually put data
into a slice you give it, reliably
18:15 < skelterjohn|work> since the array backing the slice may be
insufficient (as it is, in your case)
18:16 < skelterjohn|work> and it can't change the slice, since you are
passing the slice by value
18:16 < zozoR> so how do i get an array out?  ^^
18:17 < skelterjohn|work> i'm not familiar with the package you're using
18:17 < skelterjohn|work> in fact, i can't even tell which one it is by your
snippet
18:17 < zozoR> is just the json package
18:17 < zozoR> well, suppose ill just interface it and then convert it
18:17 < skelterjohn|work> that would change nothing
18:18 < skelterjohn|work> if you assign out to an interface, *you are
copying out*
18:18 < skelterjohn|work> since it is the value of a slice
18:18 < skelterjohn|work> it appears that json likes to take a []interface{}
if you want to unmarshal an array
18:19 < skelterjohn|work> as it says in the documentation
http://golang.org/pkg/json/#Unmarshal
18:20 < skelterjohn|work> oh, yeah the 2nd thing you said
18:20 < skelterjohn|work> if you say var x interface{} = []interface{}{}
18:20 < skelterjohn|work> and pass it x
18:20 < skelterjohn|work> i think it can change what's in x?  i might be
confusing myself
18:21 < zozoR> you are confusing me
18:21 < zozoR> xD
18:21 < zozoR> ill just read what the package says
18:21 < erus`> thats clever
18:22 < erus`> i still think a UnmarshalMap() is needed
18:22 < erus`> or a json.UnMarshalIntoInterfaces
18:23 < ArgonneIntern> base64.StdEncoding.DecodeString undefined (type
*base64.Encoding has no field or method DecodeString), any ideas?
18:23 < zozoR> i still dont get what to do here -.-'
18:24 < ArgonneIntern> trying to decode StdEncoded base64
18:24 < ArgonneIntern> I'm looking at the package right now and
base64.StdEncoding does have that method
18:25 < ArgonneIntern> *base64.Encoding correction
18:25 < skelterjohn|work> ArgonneIntern: version mismatch?
18:25 < skelterjohn|work> see what godoc says
18:27 < ArgonneIntern> indeed
18:27 < ArgonneIntern> they actually removed like half of these base64
functions
18:28 < skelterjohn|work> what version are you using?
18:28 < skelterjohn|work> it's in release, since it's on golang.org.  it's
in weekly, since when i run godoc I see it
18:28 < zozoR> invalid type assertion: out.([]<nil>) (non-interface
type []interface { } on left)
18:28 < zozoR> i dont get it : |
18:28 < skelterjohn|work> you're not doing what i said to do
18:29 < skelterjohn|work> i said "var x interface{} = []interface{}{}"
18:29 < skelterjohn|work> and pass x to the decoder
18:29 < skelterjohn|work> then you can turn it back into the []interface{}
and inspect each element
18:29 < zozoR> oh
18:29 < skelterjohn|work> i feel like that should complain about pointer
types though
18:30 < skelterjohn|work> but we'll see
18:30 < ArgonneIntern> i'll update skelter
18:30 < ArgonneIntern> I havn't done weekly in like 2 weeks
18:32 < zozoR> i cant do that
18:32 < zozoR> Unmarshal(non-pointer []interface { })
18:32 < skelterjohn|work> try &x
18:32 < skelterjohn|work> err
18:32 < skelterjohn|work> no
18:32 < skelterjohn|work> var x []interface{}
18:32 < skelterjohn|work> and then pass &x
18:33 < skelterjohn|work> that makes a lot more sense to me.  but i think
the documentation was a little confusing
18:33 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
18:33 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
240 seconds]
18:33 < skelterjohn|work> "To unmarshal a JSON value into a nil interface
value, the type stored in the interface value is one of:"
18:33 < skelterjohn|work> should read "To unmarshal a JSON value into a nil
interface value, the type stored in the interface value is a pointer to one of:"
18:34 < zozoR> heh it panics now
18:34 < zozoR> i did not expect this to be so troublesome
18:34 < zozoR> ill drop the array part now, and get it to work with just one
element
18:34 < skelterjohn|work> what's the panic?
18:36 < zozoR> cant remember
18:36 < zozoR> it was just..  long
18:39 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
18:40 < zozoR> yay, now to figure out why it wont assert to my type ^^
18:41 < ArgonneIntern> hmm mercurial doesn't want to pull....crashes.
Reinstalled, same thing
18:41 < skelterjohn|work> ?
18:41 < skelterjohn|work> weird...
18:42 < skelterjohn|work> i pulled fine earlier today
18:43 < ArgonneIntern> yea I'm kinda clueless
18:43 < skelterjohn|work> try cloning to a new spot?
18:44 < ArgonneIntern> brb
18:45 < zozoR> now it works with arrays as well
18:45 < zozoR> what i did wrong was i forgot the & before my input
18:46 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has quit [Read error:
Connection reset by peer]
18:46 < zozoR> json.Unmarshal(&out) (where out = []*JSONlevel
18:46 < zozoR> would it be nice if the std lib had examples in it?
18:47 < skelterjohn|work> it does - the _test.go files
18:50 < zozoR> the one for unmarshal was horrid
18:50 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has joined #go-nuts
18:51 -!- tvw [~tv@e176006088.adsl.alicedsl.de] has joined #go-nuts
18:51 -!- dfr|mac [~dfr|work@nat/google/x-fsicgvpmxvjlaqwp] has joined #go-nuts
18:51 < ArgonneIntern> skelterjohn, do I need to sudo?
18:53 < ArgonneIntern> yes it won't even let me clone
18:53 < ArgonneIntern> wth
18:54 < skelterjohn|work> depends where you're cloning to, i'm sure
18:54 < skelterjohn|work> my $GOROOT is $HOME/go
18:54 < skelterjohn|work> no sudo required
18:54 < ArgonneIntern> mine too
18:54 < skelterjohn|work> something is up with your computer, maybe
18:55 < ArgonneIntern> i havn't even used it since last time I coded lol
18:55 < ArgonneIntern> abort: repository default not found!
18:55 < ArgonneIntern> Not trusting file /home/gauge/go/.hg/hgrc from
untrusted user gauge,
18:56 < ArgonneIntern> I'm afraid to remove go and reinstall cause I might
not be able to...
18:56 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Ping timeout: 276
seconds]
18:56 < skelterjohn|work> mv it
18:57 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts
18:57 < ArgonneIntern> good call
18:58 -!- kytibe [~kytibe@212.174.109.55] has quit [Read error: Connection reset
by peer]
18:58 < ArgonneIntern> wow
18:59 < ArgonneIntern> even if I move it it won't let me clone
18:59 < ArgonneIntern> o.O
18:59 < aiju> 21:01 < ArgonneIntern> Not trusting file
/home/gauge/go/.hg/hgrc from untrusted user gauge,
18:59 < aiju> add him to your trusted list
18:59 < ArgonneIntern> he is me
18:59 < aiju> hahaha
18:59 < ArgonneIntern> how can he not be trusted by me
18:59 < ArgonneIntern> i'm logged in as that user
19:00 < ArgonneIntern> something is really really messed up
19:00 < ArgonneIntern> can you guys pull right now?
19:01 < skelterjohn|work> yes
19:01 < skelterjohn|work> it's definitely you, not go
19:01 < ArgonneIntern> this is a really stupid problem to have
19:02 < aiju> 20:57 < ArgonneIntern> skelterjohn, do I need to sudo?
19:02 < aiju> wait
19:02 < aiju> you're sudoing
19:02 < ArgonneIntern> I tried both
19:02 < ArgonneIntern> with and without
19:02 -!- kytibe [~kytibe@212.174.109.55] has joined #go-nuts
19:03 -!- erus` [~chatzilla@host86-162-228-176.range86-162.btcentralplus.com] has
quit [Remote host closed the connection]
19:04 < ArgonneIntern> crap I upgraded my python
19:04 < ArgonneIntern> I think that's it
19:04 < skelterjohn|work> don't do that
19:05 < ArgonneIntern> I think it uses 2.6
19:06 < ArgonneIntern> what version are you guys using
19:07 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has quit
[Quit: Page closed]
19:11 < skelterjohn|work> 2.6.5
19:14 < zozoR> will ok be "ok the key is there" or "ok the type assertion
works" x, ok := dic["X"].(float64)
19:14 < zozoR> : |
19:14 < ArgonneIntern> dude this makes no sense
19:14 < ArgonneIntern> whyw ould it just randomly stop working
19:15 < ArgonneIntern> it apparently works with 2.7 python
19:15 -!- grai [~grai@38.70.70.115.static.exetel.com.au] has quit [Read error:
Connection reset by peer]
19:15 -!- grai [~grai@38.70.70.115.static.exetel.com.au] has joined #go-nuts
19:17 < skelterjohn|work> zozoR: it would be the assertion working
19:17 < skelterjohn|work> since you can't .(float64) a multiple return
19:17 < skelterjohn|work> but...  don't do that
19:17 < skelterjohn|work> separate it onto two lines
19:17 < skelterjohn|work> much clearer
19:18 < zozoR> ^^
19:25 < aiju> if you do multiple return, your design is fucked -- programmer
i know
19:25 < skelterjohn|work> pretty silly
19:26 < lucian> aiju: did that programmer have a reason?
19:26 < aiju> no clue ;P
19:26 < aiju> i complained about the lack of anything like multiple return
in C#
19:27 < lucian> one could make the point that if you have destructuring
assignment, you don't really need multiple return
19:28 < lucian> but saying not having it is a good idea?  that's like saying
not having overloading operators is a bad idea!  :)
19:33 < ArgonneIntern> skelterjohn, got it
19:33 < ArgonneIntern> had to force update mercurial so it would add the
proper modules
19:34 < ArgonneIntern> worked fine after that
19:34 -!- virtualsue [~chatzilla@nat/cisco/x-yujukyncfugaytbf] has joined #go-nuts
19:35 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving]
19:35 < jdahm> has anyone wrapped BLAS/LAPACK yet?  Is there an eample of
how to all it?
19:36 < skelterjohn|work> there is a matrix library that is pure go, if you
just need matrix stuff
19:36 < skelterjohn|work> and to wrap BLAS or LAPACK, you'd surely have to
use cgo
19:36 < aiju> is there fortran go?
19:36 < aiju> :>
19:36 < jdahm> skelterjohn|work: what is it called?
19:36 < skelterjohn|work> gomatrix.googlecode.com
19:37 < jdahm> how about with gccgo
19:38 < jdahm> isn't there interoperability?
19:38 < skelterjohn|work> gccgo is a compiler
19:38 < skelterjohn|work> cgo is how you do c <=> go interaction
19:38 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 246 seconds]
19:38 < jdahm> you can't just link in a C library?
19:38 < skelterjohn|work> well, presumably you have to call its functions
somehow
19:38 < skelterjohn|work> that's where cgo comes in
19:39 < aiju> jdahm: just start your own linear algebra package
19:39 -!- nicka1 [~lerp@142.176.0.21] has quit [Quit: Leaving.]
19:39 < jdahm> aiju: man, thats ridiculous.  LAPACK/BLAS is there for a
reason.  It's fast and optimized by people who do only that
19:39 -!- foocraft [~ewanas@78.101.89.139] has joined #go-nuts
19:39 < jdahm> My advisor and I are interested in using Go, but would need
mature matrix libraries
19:39 < skelterjohn|work> if someone used the interface provided by gomatrix
to bring in LAPACK, i'm sure the author would be happy to include it
19:40 -!- huin [~huin@91.85.188.1] has joined #go-nuts
19:40 < aiju> jdahm: MAN, it's not like there isn't any previous work
19:40 < skelterjohn|work> try gomatrix.  if it's too slow and you think it's
gomatrix's fault, slip in LAPACK using the interfaces provided
19:41 < skelterjohn|work> but gomatrix is mostly a translation from JAMA
19:43 < ArgonneIntern> oh these changes to exec are nice
19:43 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
19:43 < ArgonneIntern> :)
19:43 < jdahm> ohh ok
19:44 < skelterjohn|work> plus the author is available in this irc channel
19:44 < aiju> skelterjohn|work: is it you?
19:44 < skelterjohn|work> it's possible
19:44 < kevlar_work> lol
19:44 < kevlar_work> I totally pretend to not have any ownership of my code
on IRC.
19:44 < kevlar_work> xml.Marshal?  What screwup wrote that?
19:45 < kevlar_work> gofr?  log4go?  why would you ever use a third-party
package for that?  ;-)
19:47 < skelterjohn|work> not me, certainly
19:47 < skelterjohn|work> i write everything from scratch, every time
19:47 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has quit [Quit:
Leaving...]
19:47 -!- huin [~huin@91.85.188.1] has quit [Quit: Lost terminal]
19:49 < jdahm> aiju: This does look interesting:
www.cc.gatech.edu/grads/d/dlong3/presentations/go-blas.pdf
19:51 < aiju> haha
19:51 < jdahm> of course that might be someone in here for all I know ;)
19:51 < aiju> BLAS is really fortran?
19:51 < jdahm> yes
19:52 < skelterjohn|work> too bad the guy didn't decide to make it public
19:52 < jdahm> yeah
19:52 < jdahm> it would have been really helpful
19:52 < skelterjohn|work> what field are you in that you want BLAS/LAPACK?
19:52 < jdahm> skelterjohn|work: CFD
19:53 < skelterjohn|work> could you expand that acronym?
19:53 < jdahm> computational fluid dynamics
19:53 < aiju> don't they all use C++?
19:54 < jdahm> C++ is a great laguage for it yes, but a tad slow
19:54 < skelterjohn|work> er?
19:54 < jdahm> I use C a lot.  And built one in C++ a while back too
19:55 < skelterjohn|work> jdahm:
http://www.cc.gatech.edu/grads/d/dlong3/research.php
19:55 < skelterjohn|work> he does publish the code
19:55 < skelterjohn|work> but if it's as old as his slides, it might not
compile
19:56 < skelterjohn|work> what do i install to expand .7z files on linux?
19:56 < aiju> p7zip
19:56 < aiju> prepare some lambs
19:57 < jdahm> he should really have put that on github :P
19:57 < skelterjohn|work> does fortran need a build script?  it has a bunch
of folders with a bunch of .f files in them
19:57 < skelterjohn|work> not really sure what to do with it
19:59 < aiju> gfortran *.f?
19:59 < aiju> something along that
19:59 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Operation timed
out]
20:00 < skelterjohn|work> i don't see anywhere in the .go files that
interfaces with outside code
20:00 -!- huin [~huin@91.85.188.1] has joined #go-nuts
20:00 < aiju> skelterjohn|work: maybe it's just for comparison?
20:00 < jdahm> I'm still installing p7zip
20:00 < jdahm> there isn't a makefile?
20:00 < skelterjohn|work> ah, good point
20:00 < skelterjohn|work> there is a makefile for the go stuff
20:03 < skelterjohn|work> scanned through it all...  i am 99% sure there is
no interface between go code and fortran code in there
20:03 < aiju> 22:06 < aiju> skelterjohn|work: maybe it's just for
comparison?
20:03 < skelterjohn|work> yes i saw that
20:03 < skelterjohn|work> however - the slides suggested that it was BLAS
from go
20:04 < skelterjohn|work> not BLAS compared to go
20:04 < skelterjohn|work> maybe i didn't read carefully enough
20:04 < jdahm> oh man, tarbomb!
20:04 < skelterjohn|work> aha - *port* BLAS to Go
20:04 < skelterjohn|work> is what the slides say
20:04 < skelterjohn|work> ok this is not useful
20:04 < skelterjohn|work> :)
20:05 -!- keithcascio [~keithcasc@nat/google/x-wjlpgpnfqpjvrmqb] has joined
#go-nuts
20:12 -!- robteix [~robteix@192.55.54.36] has quit [Ping timeout: 276 seconds]
20:12 -!- Kahvi [~Kahvi@a91-152-177-58.elisa-laajakaista.fi] has quit [Remote host
closed the connection]
20:18 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
20:20 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
20:25 -!- chaos95 [~chaos95@mafianode.com] has quit [Remote host closed the
connection]
20:37 -!- ancientlore [~ancientlo@ip68-110-238-176.dc.dc.cox.net] has quit [Quit:
~ Trillian Astra - www.trillian.im ~]
20:37 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
20:39 -!- ArgonneIntern [~gauge@mcswl144.mcs.anl.gov] has quit [Quit: Leaving]
20:41 -!- huin [~huin@91.85.188.1] has quit [Quit: leaving]
20:42 -!- zcram [~zcram@77-233-85-18.cdma.dyn.kou.ee] has quit [Ping timeout: 255
seconds]
20:44 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-168-62.clienti.tiscali.it] has
joined #go-nuts
20:46 -!- Project-2501 [~Marvin@82.84.84.190] has joined #go-nuts
20:49 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-168-62.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
21:00 -!- tncardoso [~thiago@189.115.131.32] has joined #go-nuts
21:06 < jdahm> ls
21:06 < jdahm> oops
21:07 -!- dfr|mac [~dfr|work@nat/google/x-fsicgvpmxvjlaqwp] has quit [Remote host
closed the connection]
21:07 -!- dfr|mac [~dfr|work@nat/google/x-hgyopyxsqnrjbilp] has joined #go-nuts
21:11 -!- alehorst [~alehorst@189.115.80.233] has quit [Quit: Leaving.]
21:12 -!- pjacobs [~pjacobs@66.54.185.130] has quit [Ping timeout: 255 seconds]
21:20 -!- tylerl [~tylerl@unaffiliated/tylerl] has joined #go-nuts
21:20 < tylerl> i it simple to generate documentation for a 3rd-party
package?  (not under GOROOT)
21:22 < bugQ> look at the -path flag of godoc
21:22 < bugQ> http://golang.org/cmd/godoc/
21:23 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
21:23 < tylerl> bugQ: I'm looking at it -- godoc -path="`pwd`" mypkg MyFunc
21:23 < tylerl> is a no-go
21:23 < tylerl> it still looks under my GOROOT for the package.
21:24 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
21:24 -!- rlab [~Miranda@91.200.158.34] has quit [Client Quit]
21:25 < bugQ> well first, all you need is -path="."
21:25 < tylerl> bugQ: tried that first.
21:27 -!- virtualsue [~chatzilla@nat/cisco/x-yujukyncfugaytbf] has quit [Ping
timeout: 240 seconds]
21:28 < tylerl> bugQ: so that's it, huh?
21:29 < bugQ> sorry, was torn away for a sec
21:29 -!- ccmike [~cmike@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has joined
#go-nuts
21:29 < bugQ> what does the directory structure in "." look like ?
21:30 < tylerl> a .go file (my local stuff) and a dir called "dns"
containing the "dns" package from here: https://github.com/miekg/godns
21:31 -!- cmike_ [~mcrosby@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has joined
#go-nuts
21:31 -!- cmike_ [~mcrosby@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has quit
[Client Quit]
21:31 -!- ccmike [~cmike@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has quit
[Client Quit]
21:31 -!- cmike_ [~cmike@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has joined
#go-nuts
21:32 < jdahm> tylerl: nice looking code
21:32 < tylerl> jdahm: i didn't write it ;)
21:32 < tylerl> that's why i want to generate documentation
21:32 < zozoR> why is it so hard to find lists of reason why .NET sucks : |
21:33 < zozoR> from sane people, and not just angry persons
21:33 < bugQ> I think godoc might be looking for the name of the directory
directly above dns
21:33 < bugQ> like if it's "src" then src/dns
21:33 < bugQ> (as the package name, not the path)
21:34 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has joined
#go-nuts
21:34 < tylerl> bugQ: ah.  If i run using -http, I can at least navigate to
my documentation.  That's close enough.
21:35 < bugQ> or I could be prattling, since I haven't done what you're
doing
21:35 < grai> godoc . MyType; godoc ./dns FooFunc # <- is that at all
helpful?
21:36 < tylerl> zozoR: probably because it doesn't.  Not from a
technological standpoint, at least.  It's biggest drawback is that you have to run
it on Windows.
21:36 < bugQ> ASP.NET on the other hand...
21:38 < tylerl> grai: ASP.NET is a disaster.  It was written to make it easy
for people who write Word macros to build web pages.  That's not a good starting
point.
21:38 < tylerl> sry.  that wasnt' to grai
21:38 < tylerl> that was to zozoR
21:38 < zozoR> .NET runs on linux just fine with mono
21:39 < tylerl> zozoR: the mono team got fired.
21:39 < zozoR> .NET still runs fine on linux
21:39 < tylerl> zozoR: "fine"...
21:40 < zozoR> maybe ms asked $$ google to remove some of the bad entries ^^
21:40 < Namegduf> Code using .NET is not inherently portable, in the way
well-written Go/Python/Perl/Ruby/PHP/Java code are to varying degrees
21:40 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
21:40 < Namegduf> It is more in the C/C++ area; it might be portable if you
watch what you're doing, and test
21:41 < Namegduf> *most* of .NET is available and working, yes.
21:41 < Namegduf> I seem to recall parts which aren't include some of the
stuff needed to make a properly nice GUI, though
21:41 < Namegduf> Which is fairly important.
21:43 < zozoR> well, i just think it is weird no one complains about it
21:43 < zozoR> except for those who go "i think it is stuuupid that i have
to have the framework for it to work"
21:43 < mindphaze> what is your complaints about it?
21:43 < zozoR> dunno
21:43 < Namegduf> I don't use it nearly enough to provide criticisms outside
of portability.
21:44 < tylerl> zozoR: why are you looking for a list of complaints?
21:44 < Namegduf> And "install base".
21:44 < zozoR> i've written about 5kloc in C#.net
21:44 < mindphaze> then you should have your own opinions
21:44 < mindphaze> c# is a good language imo
21:45 < zozoR> im kinda simpleminded, i can only figure out that it is
worthless compared to go in my eyes
21:45 < Namegduf> I'm not a big fan of C#/Java; I prefer Go's approaches.
21:45 < mindphaze> i just don't like microsofts control over it
21:45 < zozoR> i kinda want better reasons to stay away from it :D
21:46 < Namegduf> Packages rather than classes makes for bigger modules,
meaning modules are more independent and have looser coupling.  "A single job,
handled independently from everything else" at the package scale is nice.
21:46 < zozoR> java is the most popular language in the world (apparently..)
i've never met a guy who loved it
21:46 < tylerl> zozoR: you're looking for a reason to be unflexible?
21:46 < bugQ> say, why don't we port Go to the CLR ? :P
21:46 < Namegduf> Java is big in enterprise because it lets lots of bad
developers produce mediocre code
21:46 -!- pothos [~pothos@111-240-173-51.dynamic.hinet.net] has quit [Read error:
Operation timed out]
21:46 < Namegduf> Which will just about work.
21:46 < tylerl> bugQ: It should't be too hard, really.  The clr is fairly
flexible, and Go is a very simple language.
21:47 -!- pothos_ [~pothos@111-240-170-20.dynamic.hinet.net] has joined #go-nuts
21:47 < Namegduf> Set them loose in Python and you'd get exceptions and
breaks everywhere.
21:47 < zozoR> :)
21:47 < zozoR> i dont think i would ever program for money, so i dont count
it as unflexible
21:49 -!- tncardoso [~thiago@189.115.131.32] has quit [Quit: bye]
21:49 < tylerl> zozoR: .NET is probably the best app framework avialable for
windows.  And that's fine with me.  Just don't use it to write server software ;)
21:49 * Namegduf finds it hard to imagine writing a server in anything BUT Go now.
21:49 < Namegduf> Goroutines are just so good at connection handling, heh.
21:50 < zozoR> if i went back to C#, it would feel like going forward having
iron in your shoes
21:50 * Namegduf is going to have to be working on a C# project soon, needs to
learn more about the language
21:51 < tylerl> zozoR: you might like F#, then.  It's got some go-like
features.
21:51 < zozoR> why would i want something go-like when i can have go?  xD
21:52 < Namegduf> The only Go-like that's ever interested me is Crawl, and
mostly because it could let me use Go-like stuff in applications which Go is *at
present* less suited for.
21:52 < tylerl> zozoR: go doesn't work well on windows.  so if you have to
program there...
21:52 < Namegduf> Like where I'm effectively gluing two C libs together
21:53 < zozoR> but i dont want to code for windows : |
21:53 < zozoR> Crawl?
21:53 < Namegduf> It's a Go-like language designed to be very interoperable
with C.
21:54 < Namegduf> Use C headers, not garbage collected, no concurrency...
21:54 < zozoR> the one nsf is working on?
21:54 < Namegduf> Yeah.
21:54 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 260 seconds]
21:54 < zozoR> isnt it krawl :P
21:54 < Namegduf> If that's not called crawl, then I got the name mixed up.
21:54 < Namegduf> Ah, oops.
21:54 < zozoR> heh
21:54 < zozoR> yebyen, i would like that too
21:55 < zozoR> a clean C language
21:55 < zozoR> that does not poke you in the eyes
21:55 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
21:57 < tylerl> that's an unpleasant metaphor
21:57 < zozoR> why?
21:58 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
21:58 -!- qulinxao [~qulinxao@46.167.75.5] has joined #go-nuts
22:00 -!- qulinxao [~qulinxao@46.167.75.5] has left #go-nuts []
22:00 < tylerl> because it's unpleasant
22:04 < zozoR> weird ''
22:04 < bmizerany> does anyone have any good examples of using
http/httptest?
22:05 -!- Varriount [~Varriount@67.222.157.172] has left #go-nuts ["Leaving"]
22:06 < zippoxer> how can I link a library to cgo with gb?
22:07 < zippoxer> i mean if gb can set CGO_LDFLAGS to something I choose
22:07 < skelterjohn> tylerl: too much backscroll - did you ever figure out
the godoc issue?
22:08 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 264 seconds]
22:08 < skelterjohn> zippoxer: golang.org/cmd/cgo
22:08 < zozoR> goodnight ^^
22:08 < skelterjohn> / #cgo LDFLAGS: -lmylib
22:08 < skelterjohn> that kind of thing
22:08 < skelterjohn> except with two slashes
22:08 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
22:08 < tylerl> skelterjohn: I ran godoc -http=:8081 -path="." and i can
navigate to the correct docs through the web interface
22:08 < zippoxer> skelterjohn: great thanks
22:08 < tylerl> skelterjohn: never figured out how to do it on teh cmdline
22:09 < skelterjohn> i see.  i've never tried.
22:09 < skelterjohn> but once i was convinced -path did nothing - didn't
realize there was a link to the new path at the top
22:09 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
22:10 < tylerl> skelterjohn: yes.  that appears to be a very useful program
to have running in the background.  instant docs for your own code.
22:10 < jnwhiteh> I wish you could set it to document unexported methods as
well
22:11 < jnwhiteh> maybe you can
22:11 < skelterjohn> i don't believe you can
22:11 < jnwhiteh> yeah, I'd use that for development purposes
22:11 < jnwhiteh> I sometimes forget my method signatures
22:11 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined
#go-nuts
22:11 < jnwhiteh> tho taglist is helping with that a bit now that I've set
it up
22:14 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has quit [Quit:
ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]]
22:15 -!- erus` [~chatzilla@host86-162-228-176.range86-162.btcentralplus.com] has
joined #go-nuts
22:17 -!- Bigbear1 [~Cody@d75-158-131-113.abhsia.telus.net] has joined #go-nuts
22:32 -!- vmil86 [~vmil86@78.57.227.12] has quit [Remote host closed the
connection]
22:35 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping
timeout: 276 seconds]
22:36 < kevlar_work> I'm really bored of the "golang inconsistencies" and
"automatic reference counting and garbage collection" threads on golang-nuts
22:37 < kevlar_work> isn't there some law of physics that says that the
upper bound on information per-email in a thread decreases exponentially with the
number of posts?
22:37 < kevlar_work> *new information
22:37 < Namegduf> Yes.
22:37 -!- r_linux [~r_linux@189.38.220.35] has quit [Quit: Lost terminal]
22:41 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has quit [Remote
host closed the connection]
22:41 -!- tylerl [~tylerl@unaffiliated/tylerl] has quit [Quit: leaving]
22:41 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
22:46 < skelterjohn> the law of diminishing returns
22:51 -!- mkb218 [~mkb@pool-96-233-4-238.bstnma.east.verizon.net] has quit [Ping
timeout: 252 seconds]
22:52 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
22:52 -!- mkb218 [~mkb@pool-96-233-4-238.bstnma.east.verizon.net] has joined
#go-nuts
22:59 -!- dfr|mac [~dfr|work@nat/google/x-hgyopyxsqnrjbilp] has quit [Read error:
Operation timed out]
23:03 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
250 seconds]
23:07 -!- Project-2501 [~Marvin@82.84.84.190] has quit [Quit: E se abbasso questa
leva che succ...]
23:11 -!- Bigbear1 [~Cody@d75-158-131-113.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
23:12 -!- Bigbear1 [~Cody@d75-158-131-113.abhsia.telus.net] has joined #go-nuts
23:14 -!- rael_wiki [~chatzilla@unaffiliated/rael-wiki/x-8420294] has joined
#go-nuts
23:14 < rael_wiki> hello everybody
23:15 < erus`> lets write a go compiler in go ? :)
23:15 < erus`> or haskell
23:16 < kevlar_work> I'd vote for bootstrapping.
23:17 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
23:17 < skelterjohn> i can't imagine using haskell
23:18 < erus`> is there anything like templates for go?
23:18 -!- iant [~iant@nat/google/x-clomsgryunbydndd] has quit [Ping timeout: 264
seconds]
23:19 < rael_wiki> in the netchan package if I use func (imp *Importer)
Import(name string, chT interface{}, dir Dir, size int) os.Error
23:19 < rael_wiki> chT must be initialized?
23:20 < rael_wiki> because in the exaples I found it's always initialized
but if I give a null chan does it initializes it if the importing succeds?
23:20 < rael_wiki> *examples
23:20 < rael_wiki> *initialize
23:24 < rael_wiki> ok I just found out it doesn't :)
23:30 -!- photron [~photron@port-92-201-50-89.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
23:39 -!- nicka [~nicka@unaffiliated/nicka] has quit [Ping timeout: 255 seconds]
23:47 -!- nicka [~nicka@unaffiliated/nicka] has joined #go-nuts
23:47 < uriel> erus`: like c++ templates?  thank god no!
23:48 < erus`> what about haskell style type inference
23:48 < erus`> func adder(a any, b any) { return a + b }
23:48 < uriel> Go has go-style
23:48 < Namegduf> No; Go's type inference is limited to variable
declarations.
23:48 < erus`> it would be pretty useless without overloaded functions :P
23:48 < uriel> why everyone insist on applying the feature checklist of one
language into another?  that is what results in monsters like C++ and perl
23:48 < Namegduf> That's generics, not type inference, and the answer is
still no
23:49 < Namegduf> Type inference is where you don't specify the type at all
and it figures out it has to be numeric because you added them.
23:51 < rael_wiki> as in ML
23:52 -!- tvw [~tv@e176006088.adsl.alicedsl.de] has quit [Remote host closed the
connection]
23:52 < rael_wiki> that kind of type inference makes a lot of sense in
functional languages, I don't see any need of it in a language like go
--- Log closed Sat Jul 09 00:00:55 2011