--- Log opened Sun Mar 13 00:00:55 2011 00:01 < steven> wrtp: hey 00:01 < steven> check it out https://github.com/sdegutis/gorm 00:01 < wrtp> will do 00:02 < steven> https://github.com/sdegutis/GoRM/blob/master/gorm_test.go shows the fun stuff 00:02 < wrtp> is it working ok for you? 00:02 < steven> all the tests pass :) 00:02 < steven> but it uses reflect heavily so im counting on that guy who says they have an idea on how to make reflect a lot faster ;) 00:03 < steven> well, the Save pass doesnt test. i was working on that jsut now. 00:03 < steven> *Save test doesnt pass 00:03 < steven> im out of ideas why it fails. 00:03 < steven> wanna take a look? the latest commit will show you where to look 00:04 < steven> run it and you see that the "update" call gets executed but it doesnt actually update the db. 00:05 < steven> you'll need to make install https://github.com/sdegutis/sqlite-go-wrapper for it to work btw 00:05 < wrtp> [you should run all your code through gofmt] 00:05 < wrtp> i see lots of inconsistent indentation 00:07 < steven> yea good idea 00:08 < steven> you can thank textmate for that 00:09 < steven> anyway im out of ideas with the Save issue. 00:09 < steven> maybe i need to call s.Next() lemme try that 00:09 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 248 seconds] 00:09 < steven> i dont see why but maybe 00:10 < steven> yeah looks like thats the case. ugh. weir 00:10 < steven> d 00:13 -!- Guest54102 [~quassel@p4FF1C248.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 00:15 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has quit [Quit: Leaving] 00:16 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 00:17 < SirPsychoS> you could use a git hook to run gofmt automatically 00:19 -!- tsykoduk [~tsykoduk@2001:470:1f04:671:20d:93ff:fe77:1dc4] has joined #go-nuts 00:20 -!- piranha [~piranha@e180067093.adsl.alicedsl.de] has quit [Quit: Computer has gone to sleep.] 00:20 < steven> on github? 00:20 < steven> oh, locally. 00:20 < steven> heh 00:20 < steven> so used to heroku 00:20 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 252 seconds] 00:22 < steven> for some reason, changes to one sqlite file are being propogated over to another file. 00:22 < steven> OOH 00:23 < steven> wait no. 00:23 < steven> still no idea 00:23 < SirPsychoS> haha 00:24 < wrtp> you'll get there :-) 00:25 < steven> for some reason, this is writing to test.db when it should absolutely not. 00:25 < steven> https://github.com/sdegutis/GoRM/blob/master/gorm_test.go#L88 00:25 < wrtp> it's half past midnight and the beaume de venise has just appeared. not a good time for debugging. 00:25 < steven> i thought my test around it was pretty safe, guess not. 00:25 < steven> ok 00:25 -!- napsy [~luka@88.200.96.18] has quit [Read error: Operation timed out] 00:26 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 00:28 < steven> WHOA. 00:28 < steven> stupidest bug ever. 00:28 < steven> fixed. nm. 00:29 < steven> whoa, that was seriously dumb of me. 00:29 < steven> it should be a compile-time error when you dont use arguments in a function. 00:29 < steven> sigh. 00:32 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 00:36 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Ping timeout: 246 seconds] 00:38 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 00:39 < wrtp> steven: i tend to agree. the problem is that argument names in a function often serve as documentation too 00:46 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has joined #go-nuts 00:46 < steven> wrtp: i was not using the "filename" param in OpenDB, and instead was using the constant "test.db" 00:46 < steven> which means i hadnt tested OpenDB as well as i should have heh 00:50 < wrtp> usual story :-) 00:53 -!- rup [~rupert@deathknight.net] has quit [Ping timeout: 276 seconds] 00:58 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 01:00 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 01:04 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has quit [Quit: Leaving] 01:10 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 01:54 -!- DerHorst [~Horst@e176107032.adsl.alicedsl.de] has joined #go-nuts 01:55 -!- wrtp [~rog@93-97-137-84.zone5.bethere.co.uk] has quit [Quit: wrtp] 02:02 < SirPsychoS> anyone know off the top of their head if there would be a significant performance difference between implementing vectors (the n-tuple of distances, not the container) as arrays/slices versus structs? 02:07 < Namegduf> "structs" don't define a memory layout. 02:08 < SirPsychoS> struct { X, Y, Z float64 } 02:08 < Namegduf> That's identical in memory layout to a [3]float64 02:09 < Namegduf> Well, I suppose there could be padding differences, but performance won't be different, no. 02:09 < SirPsychoS> thanks, just wanted to make sure 02:09 < Namegduf> Both define a block of three float64s. 02:12 < SirPsychoS> more interestingly, I suspect it might be worthwhile to make vector operations (at least internally) work c-style, aka take a destination pointer in addition to sources, to avoid the memory allocation overhead when possible 02:12 < SirPsychoS> according to pprof, about 3/7 of my execution time is spent in runtime.new and its sub-calls 02:13 -!- karpar [~karpar@112.96.255.8] has joined #go-nuts 02:13 < SirPsychoS> s/pprof/6prof and pprof/ 02:16 -!- rup [~rupert@deathknight.net] has joined #go-nuts 02:20 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4] 02:20 -!- karpar [~karpar@112.96.255.8] has quit [Quit: Bye!] 02:36 -!- niemeyer [~niemeyer@189.27.130.232.dynamic.adsl.gvt.net.br] has quit [Ping timeout: 255 seconds] 02:40 -!- DerHorst [~Horst@e176107032.adsl.alicedsl.de] has quit [Read error: Connection reset by peer] 02:41 -!- aho [~nya@fuld-4d00d784.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 02:43 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 02:47 -!- boscop [~boscop@f055020065.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 02:47 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 02:48 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts 02:56 -!- shvntr [~shvntr@113.84.149.100] has joined #go-nuts 03:05 -!- tobik [~tobik@p549FF44C.dip.t-dialin.net] has quit [Ping timeout: 260 seconds] 03:17 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts 03:20 -!- shvntr [~shvntr@113.84.149.100] has quit [Read error: Connection reset by peer] 03:29 -!- chickamade [~chickamad@116.118.19.105] has joined #go-nuts 03:31 -!- littlebobby [~bob@unaffiliated/littlebobby] has joined #go-nuts 03:58 -!- gogogrrl_ [~max@p5DE8E6B7.dip.t-dialin.net] has joined #go-nuts 03:59 -!- gogogrrl [~max@p5DE8C53B.dip.t-dialin.net] has quit [Read error: Operation timed out] 04:11 < steven> guys 04:12 < steven> is there a way to get the keys (or values) of a map as a slice, without looping and generating it manually? 04:14 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds] 04:29 < exch> nope 04:34 < SirPsychoS> does Go ever allocate stuff just on the stack? it kinda seems like everything is heap 04:35 < SirPsychoS> judging by the colossal amount of time my code spends in the garbage collector 04:36 < SirPsychoS> (yes, I was declaring variables a lot more often than was necessary) 04:37 < steven> uh 04:37 < steven> how do you know how much time it spends in GC? 04:38 < SirPsychoS> 6prof + pprof 04:40 < SirPsychoS> also what's considered good practice for gotest benchmarks? -- run the function in question on the same arguments b.N times, or vary it? 04:41 -!- littlebobby [~bob@unaffiliated/littlebobby] has quit [Quit: Ex-Chat] 04:42 -!- chickamade [~chickamad@116.118.19.105] has quit [Quit: Leaving] 04:51 -!- Natch [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 04:54 -!- Natch| [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 260 seconds] 04:59 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has joined #go-nuts 05:03 -!- rup [~rupert@deathknight.net] has quit [Ping timeout: 255 seconds] 05:34 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts 05:34 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host] 05:34 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 05:44 -!- shvntr [~shvntr@113.84.149.100] has joined #go-nuts 06:01 -!- rup [~rupert@deathknight.net] has joined #go-nuts 06:05 < steven> ok, added a readme 06:05 < steven> https://github.com/sdegutis/gorm 06:05 < steven> Namegduf: :) 06:21 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts 06:24 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 240 seconds] 06:24 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has quit [Quit: slashus2] 06:27 -!- cenuij [~cenuij@base/student/cenuij] has quit [Read error: Connection reset by peer] 06:28 -!- cco3 [~conley@c-69-181-140-72.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 06:38 -!- Project-2501 [~Marvin@82.84.66.1] has joined #go-nuts 06:39 -!- karpar [~karpar@112.96.224.13] has joined #go-nuts 06:42 -!- karpar [~karpar@112.96.224.13] has quit [Client Quit] 06:43 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 06:43 -!- mode/#go-nuts [+v iant] by ChanServ 07:00 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has joined #go-nuts 07:25 -!- photron [~photron@port-92-201-114-36.dynamic.qsc.de] has joined #go-nuts 07:25 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has joined #go-nuts 07:26 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Excess Flood] 07:28 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined #go-nuts 07:32 -!- shvntr [~shvntr@113.84.149.100] has quit [Quit: leaving] 07:35 -!- gid [~gid@220-253-33-95.VIC.netspace.net.au] has quit [Quit: Leaving.] 07:36 -!- Project-2501 [~Marvin@82.84.66.1] has quit [Quit: E se abbasso questa leva che succ...] 07:47 -!- tensorpudding [~user@99.56.160.152] has quit [Remote host closed the connection] 07:48 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has quit [Ping timeout: 252 seconds] 07:50 -!- fzzbt [~fzzbt@a88-112-9-20.elisa-laajakaista.fi] has joined #go-nuts 07:51 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has quit [Quit: Computer has gone to sleep.] 07:53 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has joined #go-nuts 07:53 -!- vsayer [~vivek@2001:470:1f04:1a6b:21a:6bff:fe35:d2a5] has quit [Ping timeout: 260 seconds] 08:00 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 08:05 -!- karpar [~user@112.96.224.13] has joined #go-nuts 08:06 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has quit [Ping timeout: 240 seconds] 08:06 -!- waqas [~waqas@jaim.at] has joined #go-nuts 08:09 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has joined #go-nuts 08:11 -!- ronny [~quassel@p4FF1C736.dip0.t-ipconnect.de] has joined #go-nuts 08:14 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has joined #go-nuts 08:15 < waqas> string(bytearray) would copy from the bytearray, and not keep a reference to the original, correct? 08:15 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts 08:16 < taruti> yes 08:19 < waqas> Couldn't find this in the docs explicitly, but given that strings are immutable this would be guaranteed 08:27 -!- rmt [~rmt@2a02:790:1:6:1:c:caf0:2] has joined #go-nuts 08:28 -!- shvntr [~shvntr@113.84.149.100] has joined #go-nuts 08:31 < rmt> Hello everybody. I want to have an exec.Cmd implement io.ReadWriteCloser (writing to proc's stdin, reading from proc's stdout).. I did "type MyCmd cmd.Exec" and defined the func's. Actually doing a type conversion and passing that into a func expecting io.ReadWriteCloser is the issue. 08:36 < rmt> The code: http://go.pastie.org/private/kolspvycfu2fnfu2wljiag 08:37 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts 08:41 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts 08:45 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 08:45 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit [Changing host] 08:45 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 08:51 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:53 -!- waqas [~waqas@jaim.at] has left #go-nuts [] 08:56 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 09:10 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has joined #go-nuts 09:13 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 09:14 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 09:21 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts 09:21 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host] 09:21 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 09:29 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Read error: Connection reset by peer] 09:31 -!- piranha [~piranha@port-92-200-9-197.dynamic.qsc.de] has joined #go-nuts 09:44 -!- karpar [~user@112.96.224.13] has quit [Ping timeout: 264 seconds] 09:52 -!- karpar [~user@112.96.255.4] has joined #go-nuts 09:52 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 09:54 -!- karpar [~user@112.96.255.4] has quit [Client Quit] 09:57 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit [Quit: JusticeFries] 10:01 -!- fzzbt [~fzzbt@a88-112-9-20.elisa-laajakaista.fi] has quit [Quit: Lost terminal] 10:05 < napsy> Hello. I have the following Makefile: http://pastie.org/1666185 where proto.go and packet.go are packages and main.go has main() in it. But when running gomake I get an error that proto.go misses main(). Why doesn't it resolve the dependencies? 10:06 < rm445> napsy: I think that makefile expects to build package main with three source files (that all say 'package main') 10:06 < napsy> hm but every source is in it's own package, only main.go has "package main" 10:07 < rm445> sure but the build scripts don't know that. 10:07 < rm445> I think you either write your own makefiles(/something else) or you use a makefile including make.pkg for each package, which will build it and install it in your goroot. 10:07 < aiju> you generally put everything in one package 10:08 < aiju> packages are more like libraries, not like e.g. Pascal units 10:08 < napsy> oh 10:08 < rm445> I think they can be both, but if you do too much splitting up you're causing hassle for yourself. 10:08 < aiju> exactly 10:09 < napsy> well I want to split code into logical units 10:09 < aiju> just use files ;P 10:11 < rm445> There is talk of adding an environment variable to install packages anywhere, making it trivial to have code like that using the default makefiles. 10:12 < rm445> Anyone know if that is going ahead? (Can't remember what it's called, GOSOMETHING meaning install my package in this directory instead of GOROOT) 10:13 < rmt> Ach, /now/ everyone's awake, after I worked through my problem slowly and painfully (satisfying though it may be) ;-) 10:14 < rm445> rmt: I thought your problem was pretty interesting, but didn't know the answer. *Can* you extend library types like that? Does it work? 10:14 -!- shvntr [~shvntr@113.84.149.100] has quit [Quit: leaving] 10:16 < rmt> rm445 .. will paste code in a sec. 10:18 -!- shvntr [~shvntr@113.84.149.100] has joined #go-nuts 10:22 < rmt> rm445: In short, yes: http://go.pastie.org/1666221 10:24 < rm445> well done. 10:24 < rmt> rm445: Since I'm new to Go, I thought you could just extend an existing type.. but you can't.. and I was tripping up on the func/method definitions.. maybe I should have type MyCmd *exec.Cmd and then func (c *MyCmd) 10:28 < rmt> I want to use this with a VNC client to redirect VNC connections of VMs to the host they're currently residing on, since it's not guaranteed they'll always be on the one host, and it'd be nicer for support staff to connect to vm_hostname:0 instead of hypervisor_host:3 (having to look up both hypervisor_host & the port manually beforehand) .. plus less firewall rules required. ;-)\ 10:32 -!- rafadc [~rafael@108.Red-80-39-57.staticIP.rima-tde.net] has joined #go-nuts 10:32 -!- rafadc [~rafael@108.Red-80-39-57.staticIP.rima-tde.net] has quit [Client Quit] 10:32 < rmt> Of course, if I'm doing things the hard/non-Go way, please let me know. ;-) 10:35 < GilJ> Is there a different way to check if a flag is set besides comparing it to the default value? 10:36 -!- matti_ [~mumboww@c-24-6-22-101.hsd1.ca.comcast.net] has joined #go-nuts 10:42 -!- GoBIR [~gobir@c-24-130-224-186.hsd1.ca.comcast.net] has quit [Ping timeout: 246 seconds] 10:44 -!- GoBIR [~gobir@c-24-130-224-186.hsd1.ca.comcast.net] has joined #go-nuts 10:47 -!- cjuner [~cjuner@unaffiliated/cjuner] has joined #go-nuts 10:47 < cjuner> Hi there. Does go support creating shared libraries at all? 10:47 < aiju> no 10:47 < cjuner> Are there any such plans or any discussing regarding that? 10:48 < cjuner> discussions 10:48 < aiju> see the mailing list 10:48 < cjuner> okay, thanks 10:48 -!- Guest80978 [~quassel@p4FF1C736.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 10:52 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Ping timeout: 246 seconds] 10:57 < napsy> shared libraries are a question for the implementation 11:02 < cjuner> napsy, ok - and has any implementation tackled that problem or are they only theoretical (or are they even theoretical - I didn't find much discussion)? 11:03 < napsy> hm maybe gccgo has facilities to create a shared library 11:03 < napsy> don't know 11:15 < nsf> it has 11:19 < madari_> Do you guys know who's maintaining http://godashboard.appspot.com/project ? There's no contact information :( 11:28 -!- AxiomShell [~AxiomShel@host86-132-158-214.range86-132.btcentralplus.com] has joined #go-nuts 11:28 -!- AxiomShell [~AxiomShel@host86-132-158-214.range86-132.btcentralplus.com] has left #go-nuts [] 11:38 -!- gid [~gid@220-253-33-95.VIC.netspace.net.au] has joined #go-nuts 11:41 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 11:47 -!- Guest56287 [~irc@209.17.191.58] has quit [Read error: Connection reset by peer] 11:47 -!- irc [~irc@209.17.191.58] has joined #go-nuts 11:54 -!- sauerbraten [~sauerbrat@p508CBE09.dip.t-dialin.net] has joined #go-nuts 11:55 -!- ildorn [~ildorn@p4FEC307B.dip.t-dialin.net] has joined #go-nuts 11:55 -!- ildorn [~ildorn@p4FEC307B.dip.t-dialin.net] has quit [Client Quit] 12:00 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has quit [Ping timeout: 255 seconds] 12:08 -!- shvntr [~shvntr@113.84.149.100] has quit [Quit: leaving] 12:13 -!- shvntr [~shvntr@113.84.149.100] has joined #go-nuts 12:15 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 12:35 -!- boscop [~boscop@f055168077.adsl.alicedsl.de] has joined #go-nuts 12:48 -!- cjuner [~cjuner@unaffiliated/cjuner] has quit [Quit: Verlassend] 12:53 -!- kamaji [~kamaji@cpc2-aztw22-2-0-cust775.aztw.cable.virginmedia.com] has joined #go-nuts 12:54 < kamaji> Hi all, has anyone used mysql-connector-go successfully? 12:54 < kamaji> I need to choose a language for a project, and i'd really like to use go 12:54 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has joined #go-nuts 12:58 < exch> kamaji: if you need mysql support, this one is probably a better choice https://github.com/Philio/GoMySQL 13:06 < kamaji> exch: Awesometimes, thanks 13:10 < zimsim> Joining a slice from a string and a variadic of type string, is this an ok way to do it: append([]string{"foo"}, args...) 13:10 < zimsim> Where `args` in this case is a []string type 13:11 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 13:13 < exch> zimsim: yes 13:14 < zimsim> Thanks 13:15 < kamaji> what's the $TARG in Make.inc? 13:15 < exch> kamaji: the name of the binary you are building 13:16 < exch> can be a path if you want it to be: TARG = path/to/some/dir/mypkg 13:16 < kamaji> oh right, thanks 13:16 < kamaji> double useful :o 13:16 < kamaji> I've been using a crappy shellscript... 13:16 < kamaji> I think it's back to Make for me :D 13:17 < exch> Go's makefiles are very simple if you use the includes 13:17 < kamaji> Yeah, I was using the MySQL one 13:17 < kamaji> it's really nice 13:18 < kamaji> in return, this: http://video.teamcoco.com/video/conan.jsp?oid=243845&eref=sharethisUrl 13:19 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has joined #go-nuts 13:29 < kamaji> if I want to include the mysql.a file in my buildfile, do I just add it to the file list? 13:30 < exch> If you've built the mysql package and 'make install'ed it, you can import it into your app with the 'import' statement: import "mysql". Go qill find and include it in the build automatically 13:31 < kamaji> oh I didn't realise you could make install 13:31 < kamaji> that's a bit dumb of me :D 13:31 < kamaji> Thanks 13:31 < exch> np 13:31 -!- TheMue [~TheMue@p5DDF73AF.dip.t-dialin.net] has joined #go-nuts 13:34 < kamaji> Is there API documentation for the sql package? 13:34 < kamaji> my bad, found it 13:39 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 13:40 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 13:41 < steven> guys 13:41 < aiju> steven 13:41 < steven> whatcha think? https://github.com/sdegutis/gorm 13:42 < kamaji> steven: really nice 13:43 < kamaji> Planning to support more databases? 13:43 < kamaji> oh you are, awesome 13:44 < steven> :) 13:44 < kamaji> how does it work? does it read the struct definition? 13:44 < steven> uses reflect.StructValue a lot 13:44 < steven> because of that, its probably really slow 13:45 < kamaji> oh I didn't know there was a reflect package 13:45 < steven> heh its awesome. 13:45 < steven> who wrote this? http://code.google.com/p/gosqlite/ 13:45 < kamaji> I keep coming back to go every month or so and finding out it's got like 10x more features 13:46 < aiju> reflect has been around for a long time 13:46 < kamaji> wat! I was looking for that last time ^^ 13:46 < kamaji> I guess I don't look very hard~ 13:46 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Read error: Operation timed out] 13:46 < aiju> https://github.com/sdegutis/GoRM/commit/7f7310254eeb144e6144d63acccb3c2efd342433 13:46 < aiju> what a profound commit! 13:46 < steven> :D 13:46 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts 13:47 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts 13:50 < kamaji> hm... What is the type of "Row" returned by FetchRow() ? 13:50 < kamaji> well.. obviously "Row"... but where's the definition 13:51 < steven> also https://github.com/sdegutis/sqlite-go-wrapper :) 13:52 < exch> kamaji: you are talking about GoMySQL I presume? In which case: https://github.com/Philio/GoMySQL/blob/master/result.go#L41 13:52 < exch> type Row []interface{} 13:53 < kamaji> I just found that... i'm not really sure how to use it though 13:53 < TheMue> I'm happy about my own little Redis client. 13:53 < kamaji> How do I know which types are which/ 13:55 < TheMue> Some more testing, some more convenience, but that's it. 13:55 < exch> kamaji: presumably you know what your DB table looks like. 13:55 < exch> mysql_test.go has examples of how to use it 13:55 < kamaji> exch: oh right, thanks 13:56 < kamaji> I was using the examples on github that just say "do some processing", hehe 13:56 < kamaji> I guess it's better to use a prepared statement anyway 13:56 -!- aho [~nya@fuld-590c67ae.pool.mediaWays.net] has joined #go-nuts 13:57 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts 14:09 < kamaji> woo, it works 14:10 < kamaji> Is there a "map" function? 14:14 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 14:18 < aiju> no 14:25 < steven> kamaji: i would recommend this instead: https://github.com/sdegutis/sqlite-go-wrapper 14:25 < steven> kamaji: or even better, https://github.com/sdegutis/gorm 14:27 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has joined #go-nuts 14:37 < kamaji> steven: I'm using MySQL though, but otherwise I would 14:38 < kamaji> I meant like haskell's map function btw 14:40 < kamaji> Hrm, the makefile produces a .a file and "main.a" instead of an executable, can I make it do the linking? 14:40 < taruti> use Make.cmd instead of Make.pkg 14:41 < kamaji> ahhh... ^^ 14:41 < kamaji> cheers 14:45 -!- visof [~visof@unaffiliated/visof] has quit [Remote host closed the connection] 14:51 -!- ako [~nya@fuld-590c6ce2.pool.mediaWays.net] has joined #go-nuts 14:52 -!- aho [~nya@fuld-590c67ae.pool.mediaWays.net] has quit [Ping timeout: 248 seconds] 14:55 -!- ronnyy [~quassel@p4FF1C736.dip0.t-ipconnect.de] has joined #go-nuts 14:55 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has quit [Read error: Connection reset by peer] 14:55 -!- napsy [~luka@88.200.96.18] has quit [Read error: No route to host] 15:08 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined #go-nuts 15:14 < nsf> http://pastie.org/1666919 15:14 < nsf> hehe, AST in yaml 15:14 -!- boscop_ [~boscop@f055112181.adsl.alicedsl.de] has joined #go-nuts 15:16 -!- boscop [~boscop@f055168077.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 15:18 < nsf> i think it's actually more readable than xml or json 15:20 < nsf> btw, I have an idea for Go parser.. currently it forces semicolon insertion mode, but can't it just scan package clause for semicolon and if it has semicolon at the end, then disable autoinsertion 15:21 < nsf> it will calm down those trolls that want to write their '{' on a separate line 15:22 < nsf> at least that's what I'm planning to do in my language parser 15:22 < nsf> (but I don't have package clause, it will be an import clause) 15:23 < ampleyfly> but that would enforce consistency! 15:23 < nsf> ampleyfly: gofmt enforces consistency 15:23 -!- shvntr [~shvntr@113.84.149.100] has quit [Quit: leaving] 15:23 < ampleyfly> just kidding 15:23 -!- tvw [~tv@e176003011.adsl.alicedsl.de] has joined #go-nuts 15:23 < nsf> but some groups of people will be able to write their own gofmts if they really want to 15:24 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Quit: Leaving] 15:24 < nsf> I just think that forced semicolon insertion is a bad idea 15:24 < str1ngs> if they do I'm just going to run my gofmt on it :P 15:25 < nsf> str1ngs: that's your choice you see 15:25 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 15:25 < ampleyfly> clone, gofmt, push 15:25 < nsf> you will be able to transform semicolon-based code to and back from the current one 15:25 < str1ngs> I think gofmt is really makes Go enjoyable 15:26 < nsf> yeah 15:26 < str1ngs> who wants semi colons though? 15:26 < nsf> andrei alexandrescu 15:26 < nsf> :D 15:26 < KirkMcDonald> Hah 15:27 < str1ngs> just more typing imo :P 15:27 < str1ngs> imo; rather 15:27 < nsf> actually it's not a big problem 15:27 < nsf> I think things like () in if statement condition 15:27 < nsf> and 'break' in switch heart more in C 15:27 < nsf> hurt* 15:28 < nsf> semicolon is just a single keystroke, not a big deal 15:29 < nsf> but I hate default fallthrough behaviour in C/C++ switch statements :( 15:30 < nsf> it's clearly a design mistake 15:30 < nsf> anyways, just a thought 15:30 * nsf is back to his compiler 15:30 < aiju> nsf: but you can do cool stuff with it! 15:31 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has joined #go-nuts 15:31 < nsf> like? 15:31 < aiju> switch(foo) { case a: do { case b: foo(); } while(); } 15:31 < nsf> omg 15:31 < aiju> do you know duff's device? 15:31 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 15:31 < nsf> nope 15:31 < aiju> http://en.wikipedia.org/wiki/Duff's_device#Original_version 15:33 < nsf> it's such a rare case 15:33 < nsf> having fallthought as a default option is wrong 15:33 < aiju> .. i'm joking 15:33 < nsf> through* 15:33 < aiju> in fact, i agree with you 15:34 < jnwhiteh> has anyone done work with altering the grammar or type-checking Go? 15:34 -!- kizzo [~kizzo@c-24-130-55-180.hsd1.ca.comcast.net] has joined #go-nuts 15:34 < nsf> jnwhiteh: uhm? 15:34 < nsf> why do you need to alter Go's grammar? 15:35 < jnwhiteh> to make additions 15:35 < nsf> hm.. 15:35 < jnwhiteh> its for research, not for proposing a change to the language =) 15:35 < nsf> ok, but what's wrong with type checking? :) 15:35 < nsf> ah, i see 15:35 < jnwhiteh> I need to alter the type checking =) 15:36 < nsf> then just do it 15:36 < nsf> take compiler of your choice and go for it 15:36 < aiju> i think he asks for experience 15:36 < jnwhiteh> I plan to.. hence why I just asked people if they've had experience with it... 15:36 < nsf> I'm writing a new language with Go-like grammar at the moment 15:36 < kizzo> I get this error when running "all.bash" from fresh mercurial pull: http://pastebin.com/PNkDUiRm 15:37 < nsf> but modifying Go, seems like a bad idea 15:37 < kizzo> It is a test error I believe. 15:37 < nsf> jnwhiteh: I think it's much easier to reimplement type checking for example 15:37 < nsf> using go/parser 15:37 < jnwhiteh> I'd rather not alter the compiler because it involves adding type annotations; which there isn't any framework for right now. 15:37 < nsf> and then add modifications of your choice 15:37 < jnwhiteh> that is my preference 15:38 < jnwhiteh> thanks, I'll look into it a bit further 15:38 < nsf> but you won't be able to compile that 15:38 < jnwhiteh> I'm not concerned about that righ tnow 15:38 < str1ngs> kizzo: are you using release? 15:38 < jnwhiteh> if nothing else, I could just generate code to do the tests and runtime 15:39 < kizzo> str1ngs: I ran the "hg" command like the Getting Started guide says to, so I don't believe so. 15:39 < kizzo> Maybe I should grab a release and work with that, you're suggesting? 15:39 < str1ngs> kizzo: the getting started guild should say to use release 15:39 < nsf> hg clone ... 15:39 < nsf> hg pull 15:39 < nsf> hg update -r release 15:39 < kizzo> str1ngs: True, it does. 15:40 < kizzo> So I guess I was using the release - so yes, I am. 15:40 < nsf> and use "release" always :) 15:40 < str1ngs> kizzo: what OS and processor are you using? 15:40 < nsf> kizzo: 'hg identify' 15:40 < nsf> will say what are you using 15:40 < nsf> also the test failure is in http package 15:40 < nsf> maybe network issues? 15:40 < kizzo> c5c62aeb6267 tip 15:40 < nsf> you can disable net tests 15:41 < nsf> kizzo: looks like it's not a release version 15:41 < str1ngs> tip sounds like HEAD to me? 15:41 < nsf> ah, no 15:41 < nsf> it's a release indeed 15:41 < nsf> strange 15:41 < nsf> then, back to networking version 15:41 < str1ngs> kizzo: OS and processor? 15:42 < nsf> network problems? :) 15:42 < kizzo> Ubuntu intel 15:42 < kizzo> There may be one network problem that I can think of - I will work on that now.. 15:42 < str1ngs> kizzo: i386 or 64bit 15:42 < kizzo> i386 15:43 < kizzo> And why does _every_thing rerun/recompile when running "all.bash"? 15:43 < str1ngs> hmm firewall maybe? 15:44 < kizzo> [ i'm rerunning that now, to see if my network changes have any effect. 15:44 < kizzo> str1ngs: Good check - I'll check that too. 15:44 < nsf> because.. well.. developers use recursive make system which cannot track dependencies correctly 15:44 < kizzo> mmm 15:44 < str1ngs> I would think though that they would test that on local loopback 15:45 < kizzo> How would I disable certain tests (like mentioned earlier)? 15:45 < nsf> export DISABLE_NET_TESTS=1 15:45 < nsf> should work 15:45 < str1ngs> oh common live on the edge ./make.bash :P 15:46 < nsf> also you can use ./make.bash 15:46 < jnwhiteh> can just supply it on the commandline 15:46 < jnwhiteh> DISABLE_NET_TESTS=1 ./all.bash 15:46 < nsf> it won't run any tests at all 15:46 < nsf> (make.bash) 15:46 < str1ngs> nsf: I know its so much faster :P 15:46 < nsf> yeah 15:49 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Ping timeout: 252 seconds] 15:51 < str1ngs> kizzo the only slow parts are gcc and the tests really. this is nothing compared to compiling a gcc toolchain 15:55 < kizzo> Thanks for telling me about make.bash - that's all I need for now. 15:56 -!- piranha [~piranha@port-92-200-9-197.dynamic.qsc.de] has quit [Quit: Computer has gone to sleep.] 15:56 < kizzo> For some reason, even after using DISABLE_NET_TESTS (or whatever), a network-related test ran, and failed, but I will figure that all out later. 15:56 < kizzo> I just need to compile something in Go right now. 15:56 < nsf> I think that won't work btw, 'DISABLE_NET_TESTS=1 ./all.bash' 15:56 < nsf> you need to export it really 15:57 < nsf> or maybe it will, I don't know 15:57 < nsf> whatever 15:58 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 15:59 < kizzo> mmm noted 16:00 < skelterjohn> DISABLE_NET_TESTS=1 ./all.bash will work 16:00 < skelterjohn> DISABLE_NET_TESTS=1; ./all.bash will not, i think 16:00 < skelterjohn> but 16:00 < skelterjohn> export DISABLE_NET_TESTS=1; ./all.bash will 16:09 < jnwhiteh> nsf: yeah no need to export it 16:10 < jnwhiteh> you can add envs on the commandline as what I said 16:10 < nsf> well, it depends 16:10 < nsf> but bash transfers all the env vars to child processes yes 16:11 < nsf> for some reason I thought it might be an issue 16:11 < nsf> I guess I was wrong 16:12 -!- sauerbraten [~sauerbrat@p508CBE09.dip.t-dialin.net] has quit [Ping timeout: 252 seconds] 16:15 < skelterjohn> if you have it on the same command line, it is given to the child proc 16:15 < skelterjohn> but if it's not on the same command line, you have to export it 16:16 < ww> really? me is skeptical... 16:16 < ww> echo echo \$hello > foo.bash; hello=world; bash foo.bash; hello=world bash foo.bash; 16:16 < ww> if it transferred non-exported variables to child processes it would print "world" twice... it only prints once... which is as expected 16:18 < skelterjohn> that...is what i said... 16:18 < nsf> ... 16:18 < nsf> :) 16:18 < skelterjohn> to be clear, i consider that to be 4 command lines :) 16:18 < skelterjohn> the semicolon separates command lines 16:18 * ww agrees with skj 16:18 < skelterjohn> oh, i thought you were referring to me when you said you were sceptical 16:18 < skelterjohn> skeptical 16:21 < ww> no, was skeptical about the suggestion that it would but didn't bother to scroll up so may have missed some context 16:21 * ww just happy to contribute a 4-in-1-liner to prove you right 16:22 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has joined #go-nuts 16:22 -!- zimsim [~simon@87.72.77.195] has quit [Read error: Operation timed out] 16:24 < ww> what a curious mix of helpfulness and grumpiness the mailing list is 16:39 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 16:40 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts 16:41 -!- dju__ [dju@fsf/member/dju] has quit [Quit: Quitte] 16:42 -!- cco3 [~conley@c-69-181-140-72.hsd1.ca.comcast.net] has joined #go-nuts 16:50 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-37.clienti.tiscali.it] has joined #go-nuts 16:53 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Ping timeout: 260 seconds] 16:58 < skelterjohn> heh 17:00 < skelterjohn> what are you referring to? 17:08 -!- sauerbraten [~sauerbrat@p508CBE09.dip.t-dialin.net] has joined #go-nuts 17:19 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has quit [Quit: Computer has gone to sleep.] 17:25 -!- jokoon [~zonax@feu30-1-82-242-58-229.fbx.proxad.net] has quit [Quit: Leaving] 17:43 < ww> skelterjohn: was referring to the seemingly testy exchange about gorun vs. goscript when i wrote that 17:55 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has joined #go-nuts 17:56 < steven> jnwhiteh, ww, skelterjohn, nsf: whatcha guys think? 17:56 < steven> https://github.com/sdegutis/gorm 17:56 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has joined #go-nuts 17:56 < nsf> looks fine 17:58 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 17:58 < steven> its terrible for use where the model will change, because theres no built-in way to migrate the data or schema 17:58 < fzzbt> anyone know how do to get the ip-address of the connected user when using websocket package? websocket.Conn.LocalAddr/RemoteAddr return something else than that.. 17:59 < steven> this sort of thing is much easier in an interpreted language like ruby 18:00 < nsf> steven: I think databases stuff need a DSL 18:00 < nsf> in ruby it's easy to make a DSL 18:00 < crazy2be> hmm so if i do something like var worldData = make(map[int32]map[int32][256][256][256]Block), why am i still getting a nil map error? 18:00 < nsf> needs* 18:00 < crazy2be> when i do chunk := worldData[cc.X][cc.Z] 18:00 < nsf> crazy2be: because you need to 'make' an inner map as well 18:00 < crazy2be> ah, i was wondering. How do i do that? 18:01 < crazy2be> make() within make()? 18:01 < kamaji> I think you have to iterate through and make a new one each time 18:01 < nsf> no 18:01 < nsf> make() for each worldData[uniqueIndex] 18:01 < nsf> e.g. 18:01 < nsf> after your statement: 18:01 < steven> nsf: i dont think it needs a DSL per se, but the problem im seeing here is that any migrations you might want to do will need to be linked against the main binary or something 18:01 < fzzbt> steven: have you seen this https://github.com/zetaben/gouda 18:01 < nsf> worldData[cc.X] = make(map[int32][256]Block) 18:02 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has joined #go-nuts 18:02 < nsf> steven: well.. I don't know 18:03 < nsf> I think DSL is a way to go for databases 18:03 < skelterjohn> ww: that kind of thing always happens when someone rewrites someone else's project with small changes 18:05 < jumzi> Kinda like the linux vs OSX/windows squabble? 18:05 < jumzi> *scnr* 18:05 < skelterjohn> what does scnr mean 18:06 < skelterjohn> ah, googled 18:06 < steven> nope fzzbt looks neat 18:06 < jumzi> skelterjohn: ^^ 18:06 < steven> osx/windows? 18:06 < fzzbt> steven: and dead 18:07 < steven> people debate which one is better? 18:07 < steven> srsly? 18:07 < steven> its as much of a debate as whether water is wet or not. 18:07 < steven> os x is in fact better than windows. nobody argues that fact. 18:07 < jumzi> steven: 1. you missed the "linux" 18:07 < steven> now linux vs os x, thats a debate. 18:08 < steven> oh. 18:08 < jumzi> 2. you missed the scnr 18:08 < steven> yeah i did. sorry. 18:08 < steven> ok im done :) 18:11 < steven> oh i just had an idea this morning 18:11 < steven> when we write packages, we can easily version them by setting TARG=my_namespace/1.0/package_name 18:12 < steven> ie, TARG=sdegutis/1.0/gorm 18:12 < crazy2be> nsf: do i have to make the arrays as well? 18:12 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed the connection] 18:12 < nsf> crazy2be: no 18:12 < nsf> but you'll have other problems with them 18:12 < nsf> or not 18:12 < nsf> you'll see 18:12 < nsf> :D 18:15 < madari> fzzbt: I know that you can get the addr atleast from http.ResponseWriter.RemoteAddr() 18:15 < TheMue> nsf: Do you know who's managing the Go projects page? Submitting a new project is simple (form), but I don't find a way to remove a duplicate or modifying one. 18:15 < nsf> TheMue: ask Andrew aka adg 18:16 < madari> TheMue: Ha! I asked the same thing here today =) 18:16 < TheMue> nsf: ok, thx 18:22 < fzzbt> madari: oh ok thanks 18:26 < steven> defers are always run even if a panic occurs, right? 18:26 < skelterjohn> yes 18:26 < steven> im trying to find the safest place to close my db connection. i think defer in the fn that opens the connection is right. 18:27 < skelterjohn> closing resources using defer is standard practice 18:27 < skelterjohn> if you want the resource to be bound to the function 18:34 < kamaji> is there a thing like javadoc for go? 18:35 < fzzbt> kamaji: godoc 18:35 < kamaji> fzzbt: cheers 18:36 < kamaji> Is that in the same format? 18:37 < fzzbt> no.. im not sure where is it documented 18:38 < fzzbt> very simple format anyway since its used in go itself 18:38 < zimsim> http://golang.org/cmd/godoc/ 18:38 < ww> steven: looks nice! 18:38 < fzzbt> yeah, that doesn't describe the format at all 18:39 < kamaji> It seems to be just // comments 18:39 < kamaji> with no special formatting 18:39 < kamaji> i'm not sure if that's correct? 18:39 < ww> i wonder if you could do something like make it a serialiser for gob 18:39 < ww> on second thought i wonder if you'd want to... not certain it would be useful like that... 18:39 < fzzbt> kamaji: i know you can make special <code> style tags by prefixing your comment with a tab 18:40 < skelterjohn> fzzbt: you just put a comment before what you want to document 18:40 < skelterjohn> and it will show up in the right place 18:40 < kamaji> Oh cool 18:40 < kamaji> to both :D 18:40 < kamaji> thanks 18:40 -!- kizzo [~kizzo@c-24-130-55-180.hsd1.ca.comcast.net] has left #go-nuts [] 18:40 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts 18:41 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit [Quit: JusticeFries] 18:41 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 18:41 < ww> skelterjohn: but also the tense but not unproductive exchanges with mr. unprintable 18:42 < skelterjohn> he could tone it down a bit, certainly 18:42 < ww> it's just a funny mix of tones on the list is all... 18:42 < steven> is there a way of knowing what directory the binary lives in, which is being executed? or to know its full path? 18:42 < steven> ww: thanks bro 18:42 < skelterjohn> which <the binary> 18:42 < ww> steven, yes 18:42 < ww> 1 sec. i just did that yesterday 18:43 < skelterjohn> oh you mean from in the go source 18:43 < ww> http://pastebin.com/b9caXT6L 18:43 < ww> where cwd is from os.Getwd() 18:44 < steven> cool thats what i found too 18:44 < ww> i use that to cleanly daemonise and also to let the daemon restart itself 18:44 < steven> but its documentation is lacking 18:44 < steven> so i wasnt sure if it does what i think it does. 18:44 < skelterjohn> that would only work if you do a ./something, though? 18:44 < steven> is it pretty close to __FILE__ in ruby? 18:44 < steven> thats what im afriad of skelterjohn 18:44 < skelterjohn> if you install a go program, and run it from another WD, neither os.Args nor os.Getcwd() would help you 18:45 < steven> so where you run the program from is going to affect this? 18:45 < steven> hmm 18:45 < skelterjohn> i suppose if os.Args[0] doesn't begin with a "./" you can use exec.LookPath 18:46 < skelterjohn> steven: it will affect it if you use os.Getwd(), certainly 18:46 < ww> no it seems to work without ./ 18:46 < steven> ill test this. 18:46 < ww> no, i'm mistaken 18:46 < skelterjohn> ww: it can't possibly :) 18:47 < skelterjohn> just not enough information 18:48 < ww> exec.LookPath will be better but is still error-prone 18:48 < ww> consider: 18:48 < ww> PATH=/some/where/obtuse:$PATH 18:48 < ww> program 18:49 < ww> where program is in /some/where/obtuse... and won't necessarily get the shell's path environment variable 18:49 < steven> os.Getwd() only shows the `pwd` at the time the process was rn. 18:49 < steven> *run 18:50 < skelterjohn> ah, you're right ww 18:50 < ww> steven, yes that was just me being dumb 18:50 < skelterjohn> i don't know how to do this 18:50 < steven> so it seems impossible to reliable know what the directory or path of the executable is, from within that executable 18:51 < ww> it is in the first argument to the exec*() syscall that started it... 18:51 < steven> oh maybe if i combine os.Getwd() with os.Argv[0] 18:53 < ww> that's what i did, except that... look at the man page for e.g. execv 18:53 < ww> the first argument is the full path to the program to run 18:53 < skelterjohn> lol steven that's what ww's paste did 18:53 < ww> the first element of argv is os.Argv[0] which might be some arbitrary string 18:54 < skelterjohn> maybe there is a syscall that can give you this information 18:56 < steven> figured it out 18:56 < steven> here 18:56 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Read error: Operation timed out] 18:56 < steven> https://gist.github.com/868334 18:58 < steven> even better, run path through fileutil.Clean() 18:58 < steven> gets rid of the extra /./ 18:58 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined #go-nuts 18:59 < skelterjohn> that has the same issue as ww' snip 18:59 < ww> steven: that's the same as mine except using HasPrefix instead of filepath.IsAbs 19:09 -!- fafhrd [~fafhrd@unaffiliated/fafhrd] has quit [Remote host closed the connection] 19:09 < ww> it looks like the environment variable "_" may be set at least by bash 19:09 < kamaji> Are there any sparse vector types in go? 19:09 < kamaji> will map do the trick? 19:09 < aiju> kamaji: yes 19:09 < ww> kamaji niemeyer wrote a sparse matrix library 19:09 < kamaji> is it basically just a red-black tree? 19:09 < aiju> that's a hashmap 19:10 < kamaji> aiju: you mean map? 19:10 < aiju> yes 19:10 < kamaji> but doesn't it do ints too? 19:10 < aiju> it does do ints, yeah 19:10 < kamaji> Seems weird that they'd be a hashmap... 19:10 < kamaji> how does that even work :D 19:10 * ww apologises profusely 19:10 < ww> skelterjohn wrote it 19:10 < aiju> ints are series of bytes, too 19:10 < ww> http://code.google.com/p/gomatrix/ 19:11 < kamaji> ww: cheers, I was just trying to find that 19:12 < kamaji> aiju: couldn't you just use the int value as the "hash function"? 19:12 < kamaji> 'cause the buckets are in a red-black tree right? 19:13 < aiju> kamaji: i have no clue 19:13 < kamaji> aiju: it doesn't really matter anyway :P 19:13 < kamaji> aiju: I was just wondering 19:13 < kamaji> thanks though :) 19:14 * jumzi runs around scared 19:14 < steven> ww: oh yours is better though 19:14 < ww> steven: still broken :) 19:15 < jumzi> hashmaps isn't that one of those few things you just *have* to know 19:15 < steven> why ww? 19:15 < steven> when will it not work? 19:16 < ww> when os.Args[0] contains no leading . or / 19:16 < steven> which would happen when? 19:16 < aiju> it's in $PATH 19:16 < ww> when i just run "program" 19:16 < aiju> esp. if someone puts "." into his $PATH 19:16 < steven> oh. if thats the case we can use LookUp or whatever the fn was 19:16 < steven> right? :) 19:17 < ww> i think that's the best we can do - modulo $_ which is set by at least some shells 19:17 < steven> not zsh 19:17 < steven> :P 19:18 < ww> there must be a way... 19:18 < steven> there is a way.. Jesus is the way 19:20 < ww> it's not uncommon for some daemons to actually change argv[0] to be a pretty string that isn't a filename at all... 19:20 < steven> ouch 19:21 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 19:21 < ww> postgres: stats collector process 19:21 < ww> you might have to resort to some sort of a wrapper that guarantees to set argv[0] to what you want 19:21 < steven> the reason i needed this in the first place was, im trying to figure out the best way to structure finding views for my web framework (modeled similarly to rails) 19:22 < aiju> on Linux you can read /proc 19:22 * ww discourages linuxisms in the name or portability 19:22 < aiju> /proc/$pid/exe is a symlink to the executable 19:22 < steven> osx ftw 19:23 < aiju> i'm pretty sure *BSD and OS X have this as well, just the name might be different 19:24 -!- Fish [~Fish@9fans.fr] has joined #go-nuts 19:24 < skelterjohn> certainly no /proc on os x 19:25 < steven> right 19:25 < steven> cant find such a dir even resemlbing it 19:34 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC - http://znc.sourceforge.net] 19:34 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has quit [Quit: Cromulent] 19:36 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 19:37 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts 19:37 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host] 19:37 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 19:37 -!- tvw [~tv@e176003011.adsl.alicedsl.de] has quit [Remote host closed the connection] 19:37 < ww> steven, this one works: https://gist.github.com/868358 19:37 < ww> assuming we can trust $PATH 19:43 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has joined #go-nuts 19:46 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [] 19:46 < kamaji> Do I have to import the parent package in a sub package? 19:47 < ww> kamaji: no you shouldn't have to 19:47 < kamaji> ok cheers 19:47 < ww> it is possible that the subpackage depends on the parent package but goinstall should take care of making sure it is installed for you 19:48 < steven> ww: I CAN DIG IT 19:49 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host closed the connection] 19:51 < ww> steven: freebsd has kvm_getprocs and one of the fields in the returned structure is the real command path 19:51 < ww> also not portable though, noteably absent in osx 19:54 < ww> looks like it used to be in osx but has been remoevd in recent versions... 19:54 < ww> answer: no portable way to do it that is guaranteed to be accurate 19:57 < skelterjohn> that we have come up with so far 19:57 < skelterjohn> ww - not all relative paths have to start with ./ 19:57 < skelterjohn> if you have an executable in a directory 19:57 < skelterjohn> you can do "dir/exe" 19:58 < skelterjohn> without having "." in $PATH 19:58 < skelterjohn> at least, on os x 19:58 < skelterjohn> i think this is stupid 19:58 < aiju> you can do that on Linux too 19:58 < skelterjohn> yeah i imagine it's a feature of bash rather than of the os 19:59 < aiju> i'd write a request on the mailing list that they should a function to the library ;P 19:59 < ww> right. eventually this is going to elaborate into a function that duplicates bash' algorithm 20:00 < aiju> skelterjohn: it's an OS feature 20:00 < aiju> the shell does execve("bin/command", ...) 20:00 < skelterjohn> ah 20:00 < skelterjohn> ok 20:02 -!- captn [~root@pD9FE28F3.dip.t-dialin.net] has joined #go-nuts 20:03 < ww> so instead of strings.HasPrefix, https://gist.github.com/868358 20:03 < ww> argh. bad paste 20:03 < ww> strings.Index(program, "/") >= 0 20:05 < ww> still at the mercy of deliberately unhelpful spawning programs though... 20:05 < aiju> could someone on *BSD or OSX check /proc? 20:05 < ww> execv("/bin/program", ["nonsense", "etc"]) 20:05 < ww> there is no proc anywhere but linux 20:05 < aiju> wtf 20:05 < aiju> bs 20:05 < aiju> it was originally a Solaris feature 20:06 < aiju> oh bs 20:06 < aiju> a V8 feature 20:06 < skelterjohn> certainly no /proc on osx 20:06 < skelterjohn> would be nice 20:06 < aiju> 4.4BSD had it 20:06 < ww> no way 20:07 < aiju> even Sys V has it! 20:08 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts 20:08 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts 20:08 < ww> well, yes there is an optional proc filesystem in bsd 20:09 < ww> it is often not even compiled into a kernel 20:09 < ww> and even less often is it actually mounted 20:09 < ww> you can't rely on it being there 20:10 < ww> the only os that won't even boot without it, afaik, is linux 20:10 < ww> (single user mode doesn't count) 20:10 < aiju> plan 9 20:10 < aiju> Plan 9 uses /proc heavily 20:11 * jumzi feels afraid since aiju read his mind 20:11 < aiju> i'm really disappointed of *bsd here 20:11 < jumzi> On a sidenote plan 9 kinda introduced the /proc 20:11 < aiju> jumzi: that was V8 20:12 < jumzi> Doesn't count, obviously 20:12 < ww> plan9 (and gnu hurd) had a lot of innovative ideas 20:12 < aiju> hurd? innovative? 20:12 < jumzi> ww: No. 20:12 < ww> in my experience almost never find them in the field though 20:12 < aiju> microkernels are stale by now 20:12 < jumzi> aiju: Tbh, plan9 is micro-like 20:13 < aiju> yeah, somewhat 20:13 < jumzi> kinda like go beeing object like =D 20:13 < aiju> haha 20:13 * ww was particularly thinking of using the filesystem for almost everything... network connections... etc 20:13 < aiju> ww: that's something Plan 9 did 20:13 < aiju> i think even some later UNIX had it 20:13 < jumzi> Where tbh gnu hurd is a reimplementation 20:13 < ww> sure, afs kinda does that a little bit 20:14 < aiju> Hurd is poor man's Plan 9 20:14 < jumzi> But on the other hand 20:14 < jumzi> Plan9 has borrowed allot of ideas and extended them 20:14 < ww> however, both hurd and plan9 have rarely been seen outside the lab 20:14 < aiju> well, yeah 20:14 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-37.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 20:14 -!- sauerbraten [~sauerbrat@p508CBE09.dip.t-dialin.net] has quit [Remote host closed the connection] 20:15 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts 20:19 -!- aho [~nya@fuld-590c6ce2.pool.mediaWays.net] has quit [Quit: EXEC_over.METHOD_SUBLIMATION] 20:19 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts 20:20 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds] 20:24 < steven> ww: point isnt to make sure it works 100% of the time, but rather 95% 20:24 < steven> :) 20:33 * ww realises that it's been years since i tried running plan9... 20:33 < ww> used to use rc as a shell though... had forgotten about that 20:33 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the connection] 20:36 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has quit [Quit: Cromulent] 20:38 -!- tensorpudding [~user@99.56.160.152] has joined #go-nuts 20:38 < kamaji> Is there anything for doing gaussian distribution calculations? 20:39 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts 20:39 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host] 20:39 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts 20:40 < captn> kamaji: http://golang.org/pkg/math/ ;-) 20:42 < nsf> http://pastie.org/1667923 20:42 < nsf> :P 20:42 < kamaji> captn: no gauss, but I can use erf to build it right? 20:42 < nsf> now my parser in a certain usable state 20:52 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Remote host closed the connection] 21:04 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Ping timeout: 255 seconds] 21:05 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts 21:15 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 21:16 -!- ronnyy [~quassel@p4FF1C736.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 21:16 < nsf> uhm.. why Go doesn't support 'a, b += 1, 1'? 21:16 < nsf> I know it's a bit weird 21:16 < nsf> but why not? :) 21:16 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 250 seconds] 21:18 < aiju> nsf: write to the mailing list about it 21:18 < aiju> a,b,c=0 is one thing i'd like to see 21:19 < nsf> uhm, I don't care that much about it 21:22 -!- napsy_ [~luka@88.200.96.18] has joined #go-nuts 21:25 < nsf> aiju: yeah, 'a,b,c=0' is a nice replacement for 'a=b=c=0' 21:26 < nsf> I think I will implement that in my lang :) 21:27 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Ping timeout: 246 seconds] 21:27 -!- cco3 [~conley@c-69-181-140-72.hsd1.ca.comcast.net] has quit [Ping timeout: 252 seconds] 21:29 < captn> what's wrong with a,b,c := 0,0,0 ? Looks at least not weird to me :-) 21:29 < nsf> captn: repetition 21:29 < nsf> a, b, c := sin(3.14), sin(3.14), sin(3.14) 21:29 < nsf> vs. 21:29 < nsf> a, b, c := sin(3.14) 21:32 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has joined #go-nuts 21:33 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Read error: Connection reset by peer] 21:38 < captn> I don't think I would feel comfortable with your lang ;-) 21:38 < nsf> I'd say it's a questionable feature 21:39 < nsf> but and interesting idea though 21:39 < nsf> an* 21:39 < nsf> and my language will be a C 2.0 (sort of), most of the people on this channel don't want to see a lang without garbage collection 21:40 < nsf> but that's a different point i guess 21:42 < captn> garbage collection is unfortunately a killer for any rt processing ... 21:42 < aiju> gosh 21:42 < aiju> the rt argument 21:43 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has joined #go-nuts 21:43 < nsf> for me it's much more important that it's a killer for C compatibility 21:43 < kamaji> 6g error: "package main, expected stats" 21:43 < nsf> because you have this separation of managed and unmanaged code 21:43 < kamaji> I'm trying to build two different packages in one makefile, is that wrong? 21:44 < kamaji> and then it says "can't find import: stats" 21:44 < exch> packages need to be built independantly 21:44 < kamaji> oh right :\ 21:45 < kamaji> can I put a main function in a not-main package? 21:45 < aiju> no 21:45 < kamaji> poop! 21:45 < aiju> you're likely to be best off stuffing everything in one package 21:45 < kamaji> and that package has to be main I guess? 21:46 < aiju> exactly 21:46 < exch> https://github.com/jteeuwen/go-example-multipkg here's an example of using multiple packages in one ap and how to build them 21:46 < exch> s/ap/app/ 21:46 < kamaji> oh... ok it makes more sense now I'm kinda thinking of "import" like "include" but it's not really at all 21:46 < kamaji> I mean I was thinking like that 21:46 < kamaji> also thanks exch, gonna try that later 21:47 < kamaji> woohoo it works 21:47 < kamaji> :D 21:48 < kamaji> oh wait no I just hardcoded the value and forgot 21:48 -!- tvw [~tv@e176003011.adsl.alicedsl.de] has joined #go-nuts 21:48 < kamaji> let's pretend nobody saw that.... 21:48 < exch> grmbl. writing javascript after writing a lot of Go is a pain in the bum. I keep forgetting ( ) around expresions and I've had to track down numerous occasions where I forgot the 'break' in a switch statement 21:48 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed the connection] 21:49 < nsf> exch: same for C/C++ 21:49 < nsf> if int i... ugh.. 21:50 < nsf> oops 21:50 < nsf> I mean: 21:50 < nsf> for int i = 0... ugh.. 21:50 < aiju> i miss C features while writing Go and miss Go features while writing C 21:50 < nsf> pointer arithmetic? 21:50 < aiju> and stuff like the comma operator 21:50 < aiju> or i++ in expressions 21:50 < nsf> I'm writing a lang with Go syntax and pointer arithmetic :) 21:50 < nsf> but no ++ -- in expressions 21:50 -!- TheMue [~TheMue@p5DDF73AF.dip.t-dialin.net] has quit [Quit: TheMue] 21:51 < nsf> and no comma op of course 21:51 < aiju> meh 21:51 < nsf> frankly I don't use it in C 21:51 < aiju> i use it all the time 21:51 < aiju> while(n > 0 && (rc = read(fd, buf, n), rc > 0)) 21:51 < nsf> hehe 21:51 < aiju> a = foo, a > b is much nicer than (a = foo) > b imho 21:52 < aiju> i really miss such initializers in Go 21:52 < nsf> and (a = foo) has to be an expression 21:52 < aiju> while(x = foo(), x > 0) 21:52 < nsf> it's not in Go and it won't be in my lang 21:52 < captn> back in c++ I really need some automatic ; insertion tool :-) 21:52 < aiju> i don't know why people have trouble switching between C and Go syntax 21:52 < nsf> captn: actually it's not the biggest problem :) 21:53 < aiju> break; is the biggest problem i have 21:53 < nsf> 'break' and parens around 'if' 21:53 < aiju> and that one is a minor one 21:53 < nsf> is really a big problem ) 21:53 < nsf> especially 'break' 21:53 < aiju> i *really* miss braces free if in Go 21:53 < nsf> because it's a logical problem 21:53 < nsf> but a correct syntax 21:53 < nsf> aiju: you mean in C? 21:53 < aiju> if(foo) dosomething(); 21:53 < nsf> ah 21:53 < nsf> I see 21:54 < aiju> i know that retards screw it up 21:54 < aiju> but 80% of my if's are one liners 21:54 < nsf> braces/parens/brackets ) 21:54 < aiju> esp. without exceptions 21:54 < aiju> if(err < 0) goto error; 21:54 < nsf> no, I like if { } in Go 21:54 < nsf> because it frees you from thinking whether you should start a { } block or not 21:54 < nsf> just always type { } ) 21:55 < aiju> meh 21:57 < aiju> for me, those are all small things which together make Go feel laborious at times 21:58 < nsf> an interesting point 21:58 < nsf> because for me Go is much easier to write than C 21:58 < nsf> especially for something like a parser 21:58 < nsf> when there is a lot of switch statements 21:58 < nsf> I like 'break' in C :) 21:58 < nsf> hate* 21:59 < nsf> and in Go you can write: case A, B, C: 21:59 < nsf> in C it's: case A: case B: case C: 21:59 < nsf> ugh.. 22:00 < str1ngs> try doing foo := "foo " + "bar" in C .. on one line :P 22:00 < nsf> C can concatenate string literals for you 22:00 < nsf> const char *foo = "foo " "bar"; 22:00 < kamaji> hurrah 22:00 < kamaji> it works 22:00 < nsf> is valid 22:00 < nsf> str1ngs: but of course if you mean string variables 22:00 < str1ngs> not after declration thouh 22:01 < nsf> it's a bit of work without a proper library 22:01 -!- photron [~photron@port-92-201-114-36.dynamic.qsc.de] has quit [Read error: Operation timed out] 22:01 < aiju> asprintf(&ptr, "%s %s", foo, bar); 22:01 < nsf> asprintf is GNU 22:01 < aiju> and yeah, non-standard blabla 22:01 < nsf> :) 22:01 < aiju> These functions are GNU extensions, not in C or POSIX. They are also available under *BSD. The FreeBSD implementa- 22:01 < aiju> tion sets strp to NULL on error. 22:02 < aiju> GNU, *BSD, else just write the fucking ten lines 22:02 < nsf> https://github.com/nsf/lib99/blob/master/strstr.h 22:02 < str1ngs> the list goes on for little things like that that at up. atleast for me grated I'm not a C programmer 22:02 < nsf> I have a small C strings library 22:02 < nsf> for my own use 22:02 < aiju> str1ngs: if you do a 1:1 transliteration from non-C to C string processing code, the result will, understating it, suck horribly 22:03 < aiju> i currently do string manipulation in ASM 22:03 < aiju> *this* is fun 22:03 < str1ngs> aiju: ya why I rather use go. atleast coming from say python or ruby. much easier to work worth. 22:04 < str1ngs> I'm workng on some go binding for libgit2 and I made some C tests. man was it tedious 22:06 < aiju> i find "serious" string manipulation annoying in every language 22:06 < nsf> what do you mean by "serious? 22:06 < nsf> "* 22:06 < aiju> non-trivial 22:06 < nsf> like? :) 22:06 < aiju> say, split a string by whitespace, but interpret "" properly 22:07 < str1ngs> ya this was trivial stuff I was talking about. I'm sure for a C guy they would laugh at me trying to figure it out. but imo just to low level for such a simple task 22:07 < nsf> hehe 22:07 < nsf> man wordexp 22:07 < nsf> wordexp also expands shell commands :) 22:07 < aiju> specialized library functions don't count 22:08 < aiju> they fail with the next example anyone comes up with 22:08 < nsf> but other than that you're right 22:08 < nsf> i would use ragel for that kind of complex task 22:08 < aiju> try writing an Infix parser in any language ;P 22:08 < nsf> http://www.complang.org/ragel/ 22:08 < aiju> blah 22:08 < nsf> it helps a lot with different kinds of regular processing 22:08 * aiju is currently debugging his ASM 22:08 < aiju> it jumps to 0 for some reason 22:09 < aiju> but only in qemu and not in bochs o.O 22:10 < str1ngs> the sad part about C no matter how much I try to avoid it eventually I can sucked into learning more about it. swear its worst then the mob :P 22:10 < nsf> I like C 22:10 < nsf> even though there are ugly parts 22:11 < aiju> there are random ugly parts sprinkled all over C 22:11 < nsf> yeah 22:11 < str1ngs> I guess I just like higher level stuff 22:11 < aiju> the type system goes back to 16-bit minicomputers and sucks for anything else 22:11 < aiju> (integers, that is) 22:12 < aiju> random parts of B heritage (auto) 22:12 < nsf> unsigned long long 22:12 < nsf> :\ 22:12 < aiju> standard comitees fucking the language up severely (HAHAHAHAHAH C1X) 22:12 < nsf> well, actually it's an implicit int also as far as I remember 22:12 < nsf> so.. the full type is: 22:12 < nsf> unsigned long long int 22:12 < nsf> :) 22:12 < aiju> i hope, there will never, ever, be a standard for the Go language 22:12 < nsf> aiju: uhm.. why? 22:13 < aiju> i don't want fucking comitees with their hands in it 22:13 < nsf> well, that's true, yeah, but what about stability 22:13 < nsf> a Go 1.0 let's say? 22:13 < aiju> standard as in "ISO standard" 22:13 < nsf> yes, yes 22:13 < nsf> I see then 22:14 < aiju> the best thing about standards is that no one implements them 22:14 -!- tvw [~tv@e176003011.adsl.alicedsl.de] has quit [Remote host closed the connection] 22:14 < nsf> yeah 22:14 < aiju> there has been a FORTRAN 2008 standard, support nonexistant 22:15 < nsf> in gcc -std=c99 is not c99 yet 22:15 < nsf> I think it's kind of weird 22:15 < aiju> MSVC lacks C99 support completely afaik 22:15 < nsf> calling something -std in a release version 22:15 < nsf> without being it std 22:15 < nsf> yes 22:15 < nsf> they simply don't care about C99 22:16 < nsf> for some reason 22:16 < aiju> it sucks. 22:16 < nsf> I guess windows.h won't work with C99 22:16 < nsf> :) 22:17 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Read error: Operation timed out] 22:17 < nsf> C1X is weird 22:17 < aiju> OH FUCK THAT SHIT 22:17 < nsf> type-generic expressions wtf 22:18 < aiju> i spent hours debugging a problem 22:18 < aiju> which was a missing i 22:18 < aiju> in front of "ret" 22:18 < aiju> :ß 22:18 < aiju> *:\ 22:18 < aiju> general rule: the more i need to debug something, the more likely is it that it's just a missing character 22:18 < nsf> I'm wondering what's the point of utf-8 encoded literals in C 22:18 < nsf> isn't that stupid? 22:19 < aiju> nsf: at least it's not UTF-16 22:19 -!- napsy_ [~luka@88.200.96.18] has quit [Quit: Lost terminal] 22:19 < nsf> there are literals for every unicode encoding 22:19 < aiju> they also want to make a low-level language for all platforms 22:19 < aiju> which is, nicely stated, ridiculous 22:19 < nsf> u"utf-16" 22:19 < nsf> U"utf-32" 22:19 < nsf> u8"utf-8" 22:20 < aiju> so they put into the standard that you can't cast function pointers to data pointers et vice versa 22:20 < nsf> what? 22:20 < aiju> yes, it's illegal 22:20 < aiju> no one gives a shit 22:20 < nsf> :\ 22:20 < aiju> it's a bullshit operation on harvard architectures 22:21 < aiju> (harvard as in seperated address spaces) 22:21 < kamaji> in the C standard? 22:21 < aiju> but C performs horribly in general on segmented architectures 22:21 < kamaji> I thought DSPs used C? 22:21 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se] has quit [Read error: Connection reset by peer] 22:22 < kamaji> I mean you'd kill off pretty much that entire market if you allowed the recast thing, right? 22:22 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts 22:22 < nsf> no one dies, it just becomes non-standard 22:22 < nsf> :) 22:22 < kamaji> lol 22:23 < kamaji> that reminds me of alan partridge 22:23 < aiju> there are many issues like that 22:23 < kamaji> oh no, that's "The Day Today" :\ 22:23 < ww> let's just let Go stabilise a bit before we talk standards, can me? 22:23 < ww> s/me/we 22:23 < aiju> like many modern languages, C only works on 8/16/32/64 architectures 22:24 < nsf> ww: none of us asking for a Go standard 22:24 < kamaji> aiju: does that mean it won't run on my brand new intel 4004? 22:24 < aiju> kamaji: e.g. 22:25 < aiju> my point being that restrictions because "it doesn't work on some platforms" are silly 22:26 < kamaji> I dunno, the harvard architecture is pretty common 22:26 -!- ronny [~quassel@p4FF1C736.dip0.t-ipconnect.de] has joined #go-nuts 22:26 < aiju> unless you leave the embedded regime 22:26 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:27 < kamaji> but C is like the only language for embedded 22:27 < aiju> so what? float is also stupid in many embedded applications 22:28 < aiju> you can legitimately cast void* to int, even though that is really stupid on AMD64 22:28 < ww> ... might be useful for a hash table... 22:29 < kamaji> can always emulate float ;P 22:29 < aiju> yeah, just like data<->function pointer casts are useful (or rather necessary) with JIT and what not 22:29 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 22:31 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has quit [Quit: Cromulent] 22:33 < captn> did you guys noticed that go team silently dropped the arm support: http://godashboard.appspot.com/ or am I missing something? 22:33 < aiju> writing assembly with if/endif feels really funny 22:34 < aiju> oh wow 22:36 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts 22:36 -!- dfc [~dfc@sydfibre2.atlassian.com] has joined #go-nuts 22:39 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has left #go-nuts ["Peace"] 22:42 < kamaji> captn: aw man, I wonder why 22:47 < captn> in any case the current hg tip is broken 22:47 < dfc> captn: this is to go tip ? 22:48 < captn> yes 22:48 < dfc> works for me on darwin/amd64 and linux/386 22:49 < captn> no, I meant the _arm_ arch is broken (missing some symbols) 22:50 < dfc> ahh right, sorry about that 22:50 < dfc> http://godashboard.appspot.com/ 22:51 < dfc> ^ did there used to be an arm column on this page ? 22:51 < dfc> i can't remember 22:51 < captn> http://godashboard.appspot.com/?n=30&p=4 22:53 < Guest93505> a 22:53 < aiju> the arm arch is not broken ;P 22:53 < aiju> unlike x86 which is severely broken 22:53 < aiju> but i think you mean the go port 22:54 < captn> sure 22:55 < dfc> ok, so the arm builder has failed to report in since the 7th 22:55 < dfc> i think rsc owns that machine 22:56 < captn> IIRC nexus1 connected to his mac :-) 22:58 -!- dfc [~dfc@sydfibre2.atlassian.com] has quit [Quit: Silly man, I am a Baron!] 22:59 -!- dfc [~dfc@sydfibre2.atlassian.com] has joined #go-nuts 23:01 -!- dfc [~dfc@sydfibre2.atlassian.com] has quit [Client Quit] 23:03 -!- dfc [~dfc@sydfibre2.atlassian.com] has joined #go-nuts 23:05 -!- ath [ath@omega.lambda.fi] has quit [Ping timeout: 240 seconds] 23:05 -!- ath [ath@omega.lambda.fi] has joined #go-nuts 23:08 -!- iant1 [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts 23:09 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping timeout: 276 seconds] 23:12 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 23:18 -!- cenuij [~cenuij@base/student/cenuij] has quit [Read error: Connection reset by peer] 23:24 <@adg> it's actually connected to a linux machine 23:24 <@adg> and that machine has been having issues 23:24 < steven> hmm, 23:25 < steven> the template package only allows 0-arg methods to be called. 23:25 < steven> i bet i could patch that to allow N simple-type (ie string, int, float) arguments to be passed.. 23:25 < steven> ie anything that strconv covers. 23:27 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com] has joined #go-nuts 23:27 < steven> is there any reason that wouldnt be desirable? 23:29 -!- piranha [~piranha@e180075095.adsl.alicedsl.de] has quit [Quit: Computer has gone to sleep.] 23:33 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the connection] --- Log closed Mon Mar 14 00:00:55 2011