--- Log opened Tue Aug 09 00:00:14 2011 --- Day changed Tue Aug 09 2011 00:00 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 00:03 < Sh4rK> hi! 00:04 < Sh4rK> if I want to write a an opengl binding that doesn't rely on any c header files/lew/glut etc.. should I use syscalls? 00:04 < Sh4rK> nor c libs 00:07 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 250 seconds] 00:07 < kevlar_work> Sh4rK, I have no idea; I got laughed at last time I suggested that a graphics library might use syscalls. 00:07 < str1ngs> no you would write it in pure go, and conform to the opengl spec 00:08 < Sh4rK> str1ngs, I want to use the drivers' implementation, obviously 00:08 < str1ngs> ie nvidia or ati? 00:08 < Sh4rK> yep 00:09 < Sh4rK> for example use opengl32.dll on windows 00:09 < Sh4rK> but nothing else 00:09 < str1ngs> in that case you would have to bind to it with cgo 00:09 < str1ngs> so we are back to where you started. 00:09 < kevlar_work> yeah 00:09 < Sh4rK> why cgo instead of syscalls? 00:09 < str1ngs> its not practially to write it in pure go 00:10 < str1ngs> because opengl32.dll say for nvidia is closed sourced. you would have to have the hardware spec 00:11 < Sh4rK> i mean call the functions of opengl32.dll with syscalls 00:11 < str1ngs> why when you can use cgo 00:11 -!- mogoh [~mogoh___@ip-95-222-106-192.unitymediagroup.de] has quit [Quit: Ex-Chat] 00:11 -!- lmnop [none@ppp-70-225-166-42.dsl.chmpil.ameritech.net] has joined #go-nuts 00:11 < str1ngs> you gain nothing, but useing syscalls 00:11 < str1ngs> and its not portable then 00:11 < Sh4rK> is it faster/more efficient/easier? 00:11 < Sh4rK> using cgo 00:12 < str1ngs> its not easier, how can you even suggest syscalls are easier. 00:12 < str1ngs> I mean if you want to do it for fun, sure go for it. is it practical or portable .. no 00:12 < Sh4rK> i mean is cgo easier? 00:12 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [Ping timeout: 255 seconds] 00:13 < str1ngs> yes cgo would be easier 00:13 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Quit: leaving] 00:13 < Sh4rK> then I'll try with that 00:13 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined #go-nuts 00:13 < str1ngs> there is already a opengl go binding, whats wrong with that? 00:14 < Sh4rK> that it uses other libraries 00:14 < Sh4rK> glew for example 00:14 < Sh4rK> I want to use go as much as possible 00:15 < str1ngs> if you use the bindings you are using go 00:15 < str1ngs> should not matter that the bindings them selves might call C 00:16 < exch> Yu can always port opengl to Go if you feel up to it. Good luck with that though :p 00:16 < str1ngs> and it would be software based. 00:16 < Sh4rK> and that would be pointless 00:17 < str1ngs> what would be nice though, is gui framework written in go 00:17 < str1ngs> something based on svg. 00:17 < Sh4rK> why svg? 00:17 < str1ngs> or vector based at the least 00:18 < Sh4rK> so how would I use cgo to bind to a dll, not libraries? 00:19 < Sh4rK> and without using header files 00:19 < str1ngs> on windows dll are libraries 00:19 < str1ngs> you cant 00:19 < str1ngs> the header files define the interface to the dll 00:19 < Sh4rK> but they have additional stuff 00:20 < str1ngs> you cant dlopen in go if thats what you mean. 00:20 -!- chilts [~chilts@184-106-200-232.static.cloud-ips.com] has joined #go-nuts 00:21 < str1ngs> I guess you could dlopen with cgo. but seems to me you are better off learning cgo and now C works then avoiding it :P 00:21 < Sh4rK> oh 00:22 < Sh4rK> a completely different thing 00:22 -!- danilo04 [~danilo04@province-wireless-173-84-27-187.dr02.roch.ny.frontiernet.net] has joined #go-nuts 00:22 < Sh4rK> can I load go modules at run-time somehow? 00:22 < str1ngs> no 00:22 < Sh4rK> to make plugins for example 00:22 < str1ngs> all go 'plackages" are statically built at into the binary at link time. 00:22 < str1ngs> packages* 00:22 < Sh4rK> then how could I make an extensible program? 00:23 < str1ngs> interfaces 00:23 < str1ngs> but the plugin that provides the interface, need to be available at build time 00:24 < str1ngs> which is really not a big deal in go. stuff builds in a eyeblink 00:25 < Sh4rK> yeah, but users of a program usually don't compile it 00:25 < Sh4rK> well, at least on windows :D 00:26 < Sh4rK> it's more common on linux 00:26 < str1ngs> we dont get alot of windows folks around these parts :P 00:26 < str1ngs> but a client server model might be better. go is good at that. 00:27 < Sh4rK> yeah 00:27 < Sh4rK> that could work 00:27 < Sh4rK> so each plugin is a separate go application 00:27 < str1ngs> right 00:27 < Sh4rK> and runs as a client 00:27 < Sh4rK> cool 00:27 < Sh4rK> thanks for the idea :D 00:27 < str1ngs> that is the unix way. 00:28 < Sh4rK> because I was thinking about doing something like what eclipse does 00:28 < Sh4rK> in terms of plugins 00:28 < str1ngs> ah for a IDE? 00:30 < Sh4rK> not for an IDE 00:30 < Sh4rK> just the plugins 00:30 < Sh4rK> :) 00:30 < str1ngs> just have your IDE compile the plugins on start up 00:30 < str1ngs> sorry your plugin program 00:31 < Sh4rK> yeah 00:32 < str1ngs> I like the client server model. but that might not work for everything. depending on what the plugin program does. 00:34 < Sh4rK> so back to opengl, I can use syscalls to directly call into a dll 00:34 < Sh4rK> right? 00:37 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Ping timeout: 250 seconds] 00:40 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts 00:51 -!- raylu [raylu@173-228-31-111.static.sonic.net] has joined #go-nuts 00:56 < Sh4rK> str1ngs, is it possible to create a dll with go? 00:59 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the connection] 01:05 -!- Sh4rK [~sh4rk@200-159.60-188.cust.bluewin.ch] has quit [Quit: I'm out] 01:16 -!- serialhex [~quassel@99-101-148-183.lightspeed.wepbfl.sbcglobal.net] has joined #go-nuts 01:19 -!- nekoh [~nekoh@dslb-178-004-029-231.pools.arcor-ip.net] has quit [Quit: nekoh] 01:19 -!- seb32 [~sebastian@f055194225.adsl.alicedsl.de] has quit [Ping timeout: 252 seconds] 01:31 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 01:34 -!- shoenig_ [~shoenig@bastion.sfo1.yelpcorp.com] has quit [Remote host closed the connection] 01:36 -!- danilo04 [~danilo04@province-wireless-173-84-27-187.dr02.roch.ny.frontiernet.net] has quit [Quit: Leaving] 01:38 -!- Bigbear1 [~Cody@d173-181-33-58.abhsia.telus.net] has joined #go-nuts 01:40 -!- ajstarks [~ajstarks@pool-173-54-115-34.nwrknj.fios.verizon.net] has joined #go-nuts 01:41 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 01:51 -!- ajstarks [~ajstarks@pool-173-54-115-34.nwrknj.fios.verizon.net] has left #go-nuts [] 01:53 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit [Read error: Operation timed out] 01:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 01:57 -!- robteix [~robteix@host55.190-230-237.telecom.net.ar] has joined #go-nuts 02:15 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 240 seconds] 02:22 < qeed> how do you do something like vsprintf? i tried (f string, args ...interface{}) and pass that to sprintf but doesnt work 02:22 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 02:22 < anticw> pass array... 02:23 < qeed> array...? can you show me a code example 02:24 -!- robteix [~robteix@host55.190-230-237.telecom.net.ar] has quit [Quit: Leaving...] 02:24 < anticw> a := []interface{} {"hi! ", 1,2,3,4} 02:24 < anticw> fmt.Print(a...) 02:26 < anticw> maybe easier to grok as: 02:26 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [Ping timeout: 252 seconds] 02:27 < anticw> a := []interface{} {1,2,3} 02:27 < anticw> fmt.Printf("1st %d 2nd %d 3rd %d", a...) 02:27 < anticw> bbl 02:27 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined #go-nuts 02:28 -!- thirsteh [~thirsteh@linuxfordummies/Thirsteh] has quit [Ping timeout: 252 seconds] 02:28 -!- thermal [~thermal@digital.com.au] has quit [Ping timeout: 258 seconds] 02:29 -!- rcrowley [~textual@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 02:34 < qeed> thanks alot 02:34 -!- scyth [~scyth@rots.in.rs] has quit [Ping timeout: 276 seconds] 02:41 -!- keithcascio [~keithcasc@nat/google/x-qbfwjxlnjxgcjwtd] has quit [Quit: Leaving] 02:53 -!- scyth [~scyth@rots.in.rs] has joined #go-nuts 02:56 -!- thermal [~thermal@digital.com.au] has joined #go-nuts 02:56 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 276 seconds] 02:57 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit: Linkinus - http://linkinus.com] 03:24 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [Ping timeout: 250 seconds] 03:24 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined #go-nuts 03:27 -!- Bigbear1 [~Cody@d173-181-33-58.abhsia.telus.net] has quit [Ping timeout: 252 seconds] 03:29 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has quit [Ping timeout: 264 seconds] 03:39 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts 03:39 < JakeyChan> hi, can I connect mysql db with go ? 03:39 < anticw> http://go-lang.cat-v.org/ 03:39 < anticw> there are links there to bindings 03:40 < anticw> some in pure go ive used and work ok 03:40 < JakeyChan> anticw: thank a lot :) 03:40 < anticw> uriel: you need a bot that matches on /how/ 03:42 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 03:43 -!- mcfuzz [~tj1776@c-67-180-244-115.hsd1.ca.comcast.net] has joined #go-nuts 03:46 -!- Jamra [~Jamra@89-139-62-115.bb.netvision.net.il] has joined #go-nuts 03:47 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 03:47 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 03:48 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts 03:49 -!- qeed [~qeed@adsl-98-85-46-31.mco.bellsouth.net] has quit [Quit: Leaving] 03:49 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Ping timeout: 250 seconds] 03:53 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Ping timeout: 250 seconds] 04:04 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has joined #go-nuts 04:11 -!- rcrowley [~textual@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 04:12 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Quit: Leaving] 04:27 -!- JakeyChan [~JakeyChan@ec2-175-41-238-53.ap-northeast-1.compute.amazonaws.com] has quit [Ping timeout: 252 seconds] 04:34 -!- Jamra [~Jamra@89-139-62-115.bb.netvision.net.il] has quit [Ping timeout: 255 seconds] 04:38 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [] 04:41 -!- meling [~meling@100.81-167-33.customer.lyse.net] has quit [Remote host closed the connection] 04:46 -!- odoacre [~antonio@218.241.169.34] has joined #go-nuts 04:46 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts 05:10 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252 seconds] 05:13 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has quit [Quit: Ex-Chat] 05:16 -!- meling [~meling@152.94.120.233] has joined #go-nuts 05:23 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 05:29 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 05:31 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 05:35 -!- 5EXAC59P2 [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has joined #go-nuts 05:36 -!- kevlar [~kevlar@70-90-168-189-SFBACalifornia.hfc.comcastbusiness.net] has quit [Changing host] 05:36 -!- kevlar [~kevlar@unaffiliated/eko] has joined #go-nuts 05:38 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 05:38 -!- frobnitz [~ian@king.bitgnome.net] has quit [Remote host closed the connection] 05:52 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Remote host closed the connection] 06:09 -!- Guest1234 [~Pestilenc@95.87.216.153] has joined #go-nuts 06:18 -!- replore [~replore@g1-223-25-184-182.bmobile.ne.jp] has joined #go-nuts 06:19 < jlaffaye> morning! 06:27 < zozoR> ^^ 06:28 -!- replore [~replore@g1-223-25-184-182.bmobile.ne.jp] has quit [Remote host closed the connection] 06:29 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 06:32 -!- noodles775 [~michael@e178253106.adsl.alicedsl.de] has joined #go-nuts 06:32 -!- noodles775 [~michael@e178253106.adsl.alicedsl.de] has quit [Changing host] 06:32 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts 06:39 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts 06:45 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 06:55 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts 06:58 -!- meling [~meling@152.94.120.233] has quit [Remote host closed the connection] 06:58 -!- meling [~meling@pc-0-220.ux.uis.no] has joined #go-nuts 07:04 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal] 07:13 < hokapoka> thought it had been a bit quite for the last 24 hours, had irssi scrolled! 07:15 < hokapoka> Any suggestions on how to block a goroutine until an number of reads from unbuffered chans have returned, the number is unknown until runtime and the reads from the chans might be for another goroutine. 07:17 < hokapoka> Infact the sending chanels are unbuffered, the read chans aren't. 07:17 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has joined #go-nuts 07:21 < hokapoka> The only solution I can see is to use some unique identifier and for each store a map/slice that has an item for each chan that needs to be read from. After each read for an indentifier remove the chan from the slice, until the slice is empty at which point all the reads have completed. 07:26 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 07:29 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has quit [Read error: Connection reset by peer] 07:29 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined #go-nuts 07:33 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 07:36 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 07:37 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Excess Flood] 07:38 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has quit [Read error: Connection reset by peer] 07:38 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined #go-nuts 07:40 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 07:42 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Quit: ChatZilla 0.9.87 [Firefox 3.6.15/20110303171539]] 07:42 -!- seb32 [~sebastian@g229219141.adsl.alicedsl.de] has joined #go-nuts 07:42 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts 07:44 -!- krolaw [~krolaw@203.100.208.229] has quit [Ping timeout: 250 seconds] 07:48 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit: Leaving.] 07:59 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 08:10 -!- Jamra [~Jamra@109-186-50-217.bb.netvision.net.il] has joined #go-nuts 08:12 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 08:15 -!- vmil86 [~vmil86@88.118.36.96] has joined #go-nuts 08:15 -!- wrtp [~rog@host-92-30-154-96.as13285.net] has joined #go-nuts 08:17 -!- virtualsue [~chatzilla@nat/cisco/x-ovrewezkkqypauak] has joined #go-nuts 08:29 -!- Jamra [~Jamra@109-186-50-217.bb.netvision.net.il] has quit [Quit: Jamra] 08:40 -!- krolaw [~krolaw@203.100.208.229] has quit [Ping timeout: 250 seconds] 08:40 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined #go-nuts 08:40 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 240 seconds] 08:42 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts 08:57 -!- virtualsue [~chatzilla@nat/cisco/x-ovrewezkkqypauak] has quit [Ping timeout: 260 seconds] 08:58 -!- photron [~photron@port-92-201-46-248.dynamic.qsc.de] has joined #go-nuts 08:59 < wrtp> Tonnerre: just what it says 08:59 -!- virtualsue [~chatzilla@nat/cisco/x-sowadwsownwacupk] has joined #go-nuts 09:00 < wrtp> sizeof returns uintptr. you can't compare that to an int without casting it 09:00 < wrtp> oops that was 12 hours aho! 09:00 < wrtp> ago 09:00 < jlaffaye> are you from the past? :) 09:05 -!- virtualsue [~chatzilla@nat/cisco/x-sowadwsownwacupk] has quit [Ping timeout: 276 seconds] 09:06 -!- Guest1234 [~Pestilenc@95.87.216.153] has quit [Read error: Operation timed out] 09:07 -!- virtualsue [~chatzilla@nat/cisco/x-xbjcdfomeukxmjgn] has joined #go-nuts 09:14 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Ping timeout: 240 seconds] 09:15 -!- Guest1234 [~Pestilenc@95.87.216.153] has joined #go-nuts 09:17 < wrtp> jlaffaye: aren't you? 09:18 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping timeout: 260 seconds] 09:19 -!- JakeyChan [~JakeyChan@116.226.101.244] has joined #go-nuts 09:19 -!- noodles775 [~michael@g229201113.adsl.alicedsl.de] has joined #go-nuts 09:19 -!- noodles775 [~michael@g229201113.adsl.alicedsl.de] has quit [Changing host] 09:19 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts 09:21 < Tonnerre> wrtp: yes but I'm getting that while compiling Go. I'm still trying various branches and tricks but… 09:27 -!- Argue [~Argue@112.201.133.68] has joined #go-nuts 09:36 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.] 09:41 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 09:48 -!- bmizerany [~bmizerany@c-67-180-209-10.hsd1.ca.comcast.net] has joined #go-nuts 10:03 < Tonnerre> Hm, the test suite also outputs lots of: 10:03 < Tonnerre> > fixedbugs/bug346.go:9: import /home/tonnerre/src/go-clean/pkg/linux_amd64/os.a: object is [linux amd64 release.r59 9022] expected [linux amd64 ] 10:04 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 10:08 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has joined #go-nuts 10:12 < jessta> Tonnerre: got an old version of the compiler in your path somewhere? 10:12 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined #go-nuts 10:12 -!- bmizerany [~bmizerany@c-67-180-209-10.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 10:13 < jessta> Tonnerre: old settings for GOROOT,GOBIN etc? 10:15 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 10:17 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: Konversation terminated!] 10:17 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 10:20 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 10:22 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has quit [Remote host closed the connection] 10:22 -!- ronnyy [~quassel@p4FF1C43C.dip0.t-ipconnect.de] has joined #go-nuts 10:22 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has joined #go-nuts 10:23 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has quit [Ping timeout: 240 seconds] 10:31 -!- erus` [~chatzilla@mailgate.ips-international.com] has joined #go-nuts 10:31 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 10:32 -!- JakeyChan [~JakeyChan@116.226.101.244] has quit [Remote host closed the connection] 10:34 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 10:37 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has joined #go-nuts 10:41 < Tonnerre> jessta: oh, hum, very possible 10:45 -!- alehorst [~alehorst@189.58.12.173.dynamic.adsl.gvt.net.br] has joined #go-nuts 10:55 < Tonnerre> jessta: heh, that fixed it all! Thx! 11:03 -!- astale [~alessandr@nethservice.nethesis.it] has joined #go-nuts 11:06 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has quit [Quit: Leaving...] 11:06 -!- astale [~alessandr@nethservice.nethesis.it] has quit [Remote host closed the connection] 11:09 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has joined #go-nuts 11:09 -!- ronnyy [~quassel@p4FF1C43C.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 11:14 -!- sacho [~sacho@90.154.219.54] has quit [Ping timeout: 246 seconds] 11:16 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds] 11:17 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 11:18 -!- iant [~iant@209-6-170-85.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has joined #go-nuts 11:18 -!- mode/#go-nuts [+v iant] by ChanServ 11:20 -!- Boney [~paul@124.168.124.201] has quit [Quit: leaving] 11:20 -!- Boney [~paul@124.168.124.201] has joined #go-nuts 11:25 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252 seconds] 11:26 -!- iant [~iant@209-6-170-85.c3-0.bkl-ubr1.sbo-bkl.ma.cable.rcn.com] has quit [Ping timeout: 250 seconds] 11:26 -!- krolaw [~krolaw@203.100.208.229] has quit [Ping timeout: 250 seconds] 11:28 -!- nekoh [~nekoh@dslb-188-107-174-171.pools.arcor-ip.net] has joined #go-nuts 11:28 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds] 11:37 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 276 seconds] 11:38 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 11:38 -!- tncardoso [~thiago@187.58.6.55] has joined #go-nuts 11:56 < hokapoka> Anyone seen my post on Go nuts group? Dmitry suggests that sharing a pool of chans could be more expensive than allocating new chans as they are required. Other than the initial expense and the need to manage the avaliablity of them is there anyother reason a pool couldbe more expensive? 11:59 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has quit [Quit: Leaving...] 11:59 -!- miker2 [~miker2@64.55.31.190] has joined #go-nuts 12:03 < skelterjohn> don't think so 12:03 < skelterjohn> managing availability can easily get more expensive than just creating new ones 12:04 -!- TheMue [~FMueller@p5DDF7AFD.dip.t-dialin.net] has joined #go-nuts 12:04 < TheMue> re 12:08 < wrtp> hokapoka: i guess it's possible that allocating each time requires no synchronisation between processors 12:09 < wrtp> hokapoka: whereas a pool requires a mutex 12:12 < hokapoka> Oh yeah, I was concidering using chans to get / return the resourses, when ever they are request 12:13 < hokapoka> But that's going to end up with the same issues regardless. 12:13 -!- Jamra [~Jamra@212.143.214.77] has joined #go-nuts 12:15 -!- frobnitz [~ian@king.bitgnome.net] has joined #go-nuts 12:17 -!- Jamra [~Jamra@212.143.214.77] has quit [Ping timeout: 255 seconds] 12:20 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has quit [Ping timeout: 260 seconds] 12:31 -!- seb32 [~sebastian@g229219141.adsl.alicedsl.de] has left #go-nuts ["WeeChat 0.3.5"] 12:32 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Quit: ZNC - http://znc.sourceforge.net] 12:34 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 12:34 -!- knowmerc1 [~knowmercy@mobile-198-228-224-063.mycingular.net] has joined #go-nuts 12:39 -!- qeed [~qeed@adsl-98-85-57-153.mco.bellsouth.net] has joined #go-nuts 12:44 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 12:44 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 12:47 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined #go-nuts 12:50 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has joined #go-nuts 12:53 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 12:54 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Quit: ZNC - http://znc.sourceforge.net] 12:54 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 12:57 < qeed> is there any guide on how to split up go sources into seperate packages, i feel that putting all the src in one package leads to namespace issues if it grows big enough, but making packages for every helpers functions/data structure seem like alot of hassle 12:58 < jnwhiteh> I mean, it really comes down to how you want to organise things 12:58 < jnwhiteh> you can logically separate things out into separate packages if they have well defined interfaces, independent tests, etc. 12:58 < hokapoka> qeed: I tend to use goinstall now, so you can use folders to manage the packages, however it will install the packages. 12:58 < jnwhiteh> hokapoka: you can use goinstall to operate locally 12:58 < jnwhiteh> its the best kept secret imo! 12:59 < hokapoka> That a question? 12:59 < jnwhiteh> no! 12:59 < jnwhiteh> You're saying 'it will install the packages' 12:59 < jnwhiteh> but it depends on what you mean by that 12:59 < jnwhiteh> it doesn't put anything into GOROOT if you don't want it to! 12:59 < qeed> well i tend to code single apps rather than a lib, so i wasnt sure how to split up packages since what i really want is just all the src files to operate on one app in the forseeable future 12:59 < qeed> and im not sure how to split it up, in C with file scoping its alot simpler 13:00 < hokapoka> I use it locally and have suggested to people before but others have pointed out that it installs the packages too. 13:00 < qeed> at least which parts of the code should go into their own packages 13:00 < jnwhiteh> I do wish there was some way for us to have a scoping/privacy mechanism that was smaller than the package 13:00 < jnwhiteh> hokapoka: I'm not sure what they're saying then =/ 13:00 < hokapoka> I wasn't aware that you could stop it installing into GOROOT. 13:01 < jnwhiteh> yes, using GOPATH 13:01 < qeed> any big go project i can look at for inspiration? 13:01 < hokapoka> Personally I don't find it an issue, just install the package you're working on it'll handle the deps, super simple. 13:02 < hokapoka> jnwhiteh: GOPATH, is what I ment, not GOROOT. 13:02 -!- Jamra [~Jamra@46-116-120-42.bb.netvision.net.il] has joined #go-nuts 13:02 < jnwhiteh> well, depends on what 'install' means 13:02 -!- ccc1 [~Adium@118-166-230-60.dynamic.hinet.net] has joined #go-nuts 13:02 < hokapoka> It installs the package into GOPATH. 13:02 < hokapoka> yeah, 13:02 < jnwhiteh> it no more installs it than any other build method, it still has to make the libraries! 13:02 < qeed> well the rule is that each package has there own dirs, if i make a package for all the helpers and data structure it seems kind of a hassle to make such a src dir with alot of different dirs 13:02 < hokapoka> Exactally, I love using goinstall :) 13:03 < jnwhiteh> qeed: Its really a personal thing, I think 13:03 < jnwhiteh> I don't know that there are any best practices 13:03 < jnwhiteh> Have there been any threads about sub-package scoping/privacy? 13:03 -!- knowmerc1 [~knowmercy@mobile-198-228-224-063.mycingular.net] has quit [Ping timeout: 250 seconds] 13:03 < jnwhiteh> because when you use packages for privacy you quickly run into the circular dependency issue =( 13:03 < qeed> well i dont know a good practice x| 13:04 < jnwhiteh> qeed: you can always break it out into sub-packages in the future 13:05 -!- knowmerc1 [~knowmercy@mobile-198-228-227-238.mycingular.net] has joined #go-nuts 13:05 -!- ccc1 [~Adium@118-166-230-60.dynamic.hinet.net] has quit [Client Quit] 13:06 -!- iant [~iant@74.125.60.4] has joined #go-nuts 13:06 -!- mode/#go-nuts [+v iant] by ChanServ 13:06 -!- ccc1 [~Adium@118-166-230-60.dynamic.hinet.net] has joined #go-nuts 13:06 -!- iant1 [~iant@74.125.60.1] has joined #go-nuts 13:07 < hokapoka> jnwhiteh: I aggree to an extend, but I find that it leads me to more frequently nornmalize my packages into a more appropriate structures. 13:08 < jnwhiteh> but what is appropriate? 13:08 < jnwhiteh> we have lots of issues with this in Chunkymonkey 13:08 < jnwhiteh> trying to get things sorted out 13:09 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has quit [Quit: I mine on BitMinter.com] 13:10 < hokapoka> jnwhiteh: personally I'm happy with it as it is. But the time I find I've got long Function names that start to annoy me, it's time to do a bit of house keeping and review the structure. 13:10 < hokapoka> s/But/By 13:10 -!- iant [~iant@74.125.60.4] has quit [Ping timeout: 255 seconds] 13:15 -!- JakeyChan [~JakeyChan@118.132.214.248] has joined #go-nuts 13:16 < skelterjohn> using goinstall for local projects is a pain, imo 13:17 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has joined #go-nuts 13:17 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib] 13:18 -!- Jamra [~Jamra@46-116-120-42.bb.netvision.net.il] has quit [Ping timeout: 255 seconds] 13:20 < jnwhiteh> skelterjohn: why's that? 13:20 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 13:20 < skelterjohn> couple things 13:20 < skelterjohn> i don't like using env vars that aren't actually universal 13:20 < skelterjohn> the "-clean" options is really clean-and-build 13:21 < skelterjohn> it makes me type out the full path of the target i want to build 13:21 < jnwhiteh> the full relative path 13:21 < skelterjohn> yes 13:21 < skelterjohn> the first thing is subjective, i suppose 13:21 < jnwhiteh> don't get me wrong, its not as good as gb.. but makes writing a makefile that does the right thing quite trivial 13:21 < skelterjohn> but i feel like it could get out of hand if i had a whole bunch of different go workspaces 13:21 < jnwhiteh> much better than the old makefile system 13:22 < skelterjohn> ah, have the makefile invoke goinstall? 13:22 < jnwhiteh> indeed 13:22 < skelterjohn> i guess it can set the env var for you 13:22 * mpl still copies makefiles around, no big deal. 13:22 < skelterjohn> i see where you're coming from 13:22 < jnwhiteh> the Make.inc system is broken 13:22 < jnwhiteh> terribly 13:22 < skelterjohn> i wouldn't call it broken 13:22 < jnwhiteh> it just doesn't understand dependencies between commands and packages 13:23 < skelterjohn> jnwhiteh: you can make it - gb will write makefiles that do 13:23 < jnwhiteh> I know it does =) 13:23 < skelterjohn> they're the default ones with some extra rules 13:23 < jnwhiteh> I use gb for almost everything 13:23 < skelterjohn> oh :) 13:23 < jnwhiteh> but I think goinstall is quite nice for a source tree as well 13:23 < skelterjohn> i'll agree that a makefile that invokes goinstall properly is better than the gb-generated build script/makefiles 13:32 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 13:35 < moraes> 'give it a go' is a terrible name for a go-related website. yes or no. 13:36 < qeed> i tried building go-gb with r59 9022 and i got some errors from the latest hg 13:39 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 13:42 < hokapoka> vim & gofmt, has anyone got binding to run gofmt against an open buffer in vim? 13:42 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts 13:44 < f2f> i have one for acme 13:45 < f2f> but :%!gofmt isn't too hard to type 13:45 < f2f> so i haven't bothered for vim 13:45 < hokapoka> ahem, so it is :) 13:45 < hokapoka> thanks f2f 13:48 -!- Sep102 [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has joined #go-nuts 13:49 < jnwhiteh> hokapoka: there's one in the standard repo 13:49 < jnwhiteh> Fmt 13:49 < jnwhiteh> there's :Fmt :Import :Drop and :ImportAs 13:49 < jnwhiteh> and :Fmt is significantly better than :%!gofmt 13:49 < jnwhiteh> which can do very very bad things to your buffer 13:49 < f2f> agreed 13:50 < aiju> 15:49 < hokapoka> [15:42:33] vim & gofmt, has anyone got binding to run gofmt against an open buffer in vim? 13:50 < aiju> :%!gofmt? 13:50 < jnwhiteh> again, that's bad. 13:50 < jnwhiteh> syntax error, boom 13:50 < aiju> don't do that, then 13:50 -!- Sep102_ [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has quit [Ping timeout: 255 seconds] 13:50 < jnwhiteh> there's a reason :Fmt was written 13:51 < f2f> nothing an undo can't fix 13:51 < aiju> undo is cheating 13:51 < f2f> but still, :Fmt is better. when available 13:51 < jnwhiteh> :GundoToggle 13:51 < jnwhiteh> <3 13:51 < jnwhiteh> easily installed with pathogen: https://github.com/jnwhiteh/vim-golang 13:52 < aiju> wait 13:52 < aiju> you're just advocating your own stuff? 13:52 < jnwhiteh> no. 13:52 < jnwhiteh> I didn't write it 13:52 < hokapoka> heh 13:52 < jnwhiteh> I, however, maintain the github repository mirror of the vim plugin sub-path 13:52 < jnwhiteh> qq some more aiju =) 13:52 < aiju> "qq"? 13:52 < jnwhiteh> cry 13:52 < jnwhiteh> =) 13:52 < aiju> haha 13:52 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 13:53 < aiju> i still haven't got together to create my lite-version of vim 13:54 < dlowe> aiju: ed? 13:54 < aiju> hahaha 13:54 < aiju> you're talking to an occasional ed-user 13:55 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts 13:55 < nicka> what does a lite version of vim entail? 13:55 < aiju> less bullshit 13:55 < aiju> currently VIM is like 30 MB 13:56 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has joined #go-nuts 13:56 < jnwhiteh> umm 13:56 < aiju> i don't need internationalization, syntax highlighting and spelling 13:56 < jnwhiteh> its 2.9 on my machine 13:56 < aiju> i'm sure i can at least half the size 13:56 < aiju> jnwhiteh: are you sure it's VIM? 13:56 < jnwhiteh> is 3MiB large? 13:57 -!- nteon [~nteon@static-71-183-219-26.nycmny.fios.verizon.net] has joined #go-nuts 13:57 < aiju> also, what are you measuring? 13:57 < aiju> du -sh /usr/share/vim 13:57 < f2f> is 'vi' a ligter version of vim? 13:57 < aiju> f2f: no, vim is bloated version of vi 13:57 -!- niemeyer [~niemeyer@72-254-17-213.client.stsn.net] has joined #go-nuts 13:57 < jnwhiteh> aiju: /usr/share/vim is 6.0MiB 13:57 < aiju> but really, vi was way first 13:57 < aiju> jnwhiteh: curious. distribution? 13:57 < jnwhiteh> stock mac os x 13:58 < aiju> Syntax highlighting is 4.8 MB alone 13:58 < jnwhiteh> indeed, you can drop those 13:58 < aiju> 5.2 MB in a more recent version! 13:58 < jnwhiteh> but that's 0 code changes required afaik 13:58 < aiju> ya 13:59 < jnwhiteh> I do not need ada autocompletion 13:59 < jnwhiteh> =) 13:59 < aiju> but since i do most of my editing with sam, i never bothered too much 13:59 < jnwhiteh> but most of that is loaded on demand 13:59 < aiju> I do not need Go autocompletion 13:59 < aiju> (works for any language) 13:59 < jnwhiteh> I enjoy having Go autocompletion 14:00 < jnwhiteh> for the rare instances I need it 14:00 < f2f> you need code folding 14:00 < aiju> f2f: no, i don't 14:00 < jnwhiteh> I've never gotten into folding 14:00 < f2f> yes, you do 14:00 < aiju> i never used code folding voluntarily 14:00 < f2f> and little shades of grey to hint at how much code was folded 14:01 < f2f> and little line numbers to the side, in case you forget 14:01 < dlowe> I can't say I've really seen the utility of folding either 14:01 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts 14:01 < f2f> and blinkenkursors 14:01 < aiju> i also need a XML method general-purpose cloud 14:01 < dlowe> and a PONY 14:01 < jnwhiteh> now you're right about that 14:01 < jnwhiteh> My pony speaks only XML 14:01 < aiju> and a asynchronous self-healing package component-oriented package-oriented table cloud 14:01 < f2f> OMG PONIES! 14:01 < jnwhiteh> and it is the best thing I have 14:01 < f2f> i forgot the ponie 14:01 < f2f> s 14:01 < aiju> damn, i really need to integrate my Enterprise Product Name Generator into my IRC client 14:01 -!- shoenig [~shoenig@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 14:02 < dlowe> I have an Enterprise Management Advisor in a bot 14:02 < dlowe> It's critical to company values that dlowe should reach out to many contextually strong business and then maintain a balance between all 2.0 assessments and all our team building team members. 14:02 < dlowe> Focusing on solutions, dlowe will merge some prioritized, 110% turnkey solution into some win-win synergies. 14:02 < aiju> i need an enterprise code converter 14:03 < aiju> it adds abstract factories and bullshit comments 14:03 < dlowe> Someone should do for enterprise language what was done via LOLCODE 14:03 < nicka> replace every class with an identical interface + implementation pair 14:03 < aiju> dlowe: hahahaha 14:03 < f2f> when i sit down to write some code (and it's always when i'm writing code, for i never have to debug) i need to feel like i'm sitting behind the console of an a380, ready to make this task my bitch. 14:04 < f2f> how else would i feel like i'm working unless there are two screens full of apps which frequently update and i'm switching between them constantly 14:05 < f2f> my editor needs at least 15 windows. that's why xcode is so popular 14:05 < f2f> or eclipse 14:06 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 14:06 < dlowe> I'll stick with emacs, thanks. 14:06 < f2f> hehe 14:06 < f2f> the analogy for emacs is the iceberg 14:08 < f2f> sam's analogy is marvin -- the paranoid android. your editor pal that's fun to be with. you can have a pleasant conversation with sam, but only for a short period of time before it annoys you rather quickly 14:09 < f2f> acme is an insane asylum -- pleasant pastel colours, some functionality. but you can never leave :) 14:09 < f2f> vim is just vi improved. enough said :) 14:09 < aiju> vim is the smaller iceberg 14:09 < aiju> actually VIM is larger than some EMACS versions 14:10 < f2f> and vi is smaller. your point being? 14:12 < zozoR> http://www.kieranhealy.org/blog/archives/2011/07/29/text-editors-in-the-lord-of-the-rings/ 14:13 < dlowe> they' 14:14 < dlowe> they're all pretty tiny in modern systems 14:14 < dlowe> well, except Eclipse 14:14 < mpl> zozoR: hehe 14:14 < wrtp> jnwhiteh: you do have a scoping system that's smaller than a package - methods do that.... 14:14 < jnwhiteh> scoping, yes 14:14 < jnwhiteh> privacy, no 14:15 < wrtp> jnwhiteh: within a package we're all friends 14:15 < wrtp> no privacy required :-) 14:15 < jnwhiteh> I think that's a problem =) 14:15 < jnwhiteh> for disciplined development 14:15 < jnwhiteh> hence the desire 14:15 < dlowe> No, that's bondage development 14:15 < dlowe> Discipline comes from within 14:15 < wrtp> you can easily build a tool to strictly enforce things 14:16 < jnwhiteh> Yes, no one is arguing that there aren't other ways to do it 14:16 < jnwhiteh> that doesn't invalidate this way 14:16 < f2f> anyone used this with go? http://www.sublimetext.com/ 14:19 < Soak> http://bash.org/?795779 so true, 2 hours early it's me >< 14:19 < Soak> I have closed the terminal :$ 14:20 -!- nicka1 [~nicka@blk-222-42-163.eastlink.ca] has quit [Ping timeout: 264 seconds] 14:21 -!- nicka1 [~lerp@142.176.0.21] has joined #go-nuts 14:21 -!- molto_alfredo [~molto_alf@142.176.0.21] has joined #go-nuts 14:21 -!- astale [~alessandr@nethservice.nethesis.it] has joined #go-nuts 14:22 -!- molto_alfredo1 [~molto_alf@142.176.0.21] has quit [Ping timeout: 260 seconds] 14:22 -!- nicka [~lerp@unaffiliated/nicka] has quit [Ping timeout: 276 seconds] 14:22 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 14:23 < mpl> Soak: jsyk, :q<enter> will do :) 14:23 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts 14:24 < Soak> oh thank you x) 14:26 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 14:27 -!- ancientlore [~ancientlo@12.54.6.218] has joined #go-nuts 14:30 < mpl> np 14:31 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts 14:33 -!- ancientlore [~ancientlo@12.54.6.218] has quit [Read error: Connection reset by peer] 14:34 -!- ancientlore [~ancientlo@12.54.6.218] has joined #go-nuts 14:34 -!- meling [~meling@pc-0-220.ux.uis.no] has quit [Remote host closed the connection] 14:36 -!- nicka1 [~lerp@142.176.0.21] has quit [Quit: Leaving.] 14:36 -!- nicka [~nicka@142.176.0.21] has joined #go-nuts 14:36 -!- nicka [~nicka@142.176.0.21] has quit [Changing host] 14:36 -!- nicka [~nicka@unaffiliated/nicka] has joined #go-nuts 14:38 -!- ancientlore [~ancientlo@12.54.6.218] has quit [Read error: Connection reset by peer] 14:38 -!- ancientlore [~ancientlo@12.54.6.218] has joined #go-nuts 14:42 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed the connection] 14:42 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection] 14:43 -!- shoenig [~shoenig@bastion.sfo1.yelpcorp.com] has joined #go-nuts 14:45 -!- ancientlore [~ancientlo@12.54.6.218] has quit [Quit: ~ Trillian Astra - www.trillian.im ~] 14:46 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has quit [Ping timeout: 240 seconds] 14:49 -!- knowmerc1 [~knowmercy@mobile-198-228-227-238.mycingular.net] has quit [Quit: leaving] 14:51 < hokapoka> f2f: IIRC skelterjohn was using it 14:51 -!- wrtp [~rog@host-92-30-154-96.as13285.net] has quit [Ping timeout: 246 seconds] 14:51 < hokapoka> I could be wrong about him, but deffo someone here was using it with go. 14:52 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has joined #go-nuts 14:54 < skelterjohn|work> what whoo 14:56 < hokapoka> ^^ did you say you're using sublimetext? 14:56 -!- wrtp [~rog@host-92-30-134-53.as13285.net] has joined #go-nuts 14:56 < skelterjohn|work> ah yes 14:56 < skelterjohn|work> i do 14:56 < skelterjohn|work> it's ok 14:56 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has joined #go-nuts 14:56 < skelterjohn|work> i like having a directory tree to click around in 14:56 < wrtp> ah yes, come back for me too 14:57 < wrtp> this is a problem with "the cloud"... 14:58 < skelterjohn|work> wrtp: what are you referring to? 14:59 -!- Guest1234 [~Pestilenc@95.87.216.153] has quit [Quit: WeeChat 0.3.5] 15:00 < wrtp> gmail and, in general, the technique of having a lot of important data stored on remote computers only 15:16 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]] 15:17 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit: WeeChat 0.3.4] 15:18 -!- iant1 [~iant@74.125.60.1] has quit [Ping timeout: 276 seconds] 15:20 -!- astale [~alessandr@nethservice.nethesis.it] has left #go-nuts [] 15:21 -!- dfr|mac [~dfr|work@ool-18baf7e7.dyn.optonline.net] has quit [Remote host closed the connection] 15:23 -!- moraes [~moraes@189.103.188.201] has quit [Read error: Operation timed out] 15:24 < mpl> heh, speaking of vi, anyone noticed that j and k work as shortcuts in g+? :) 15:25 < str1ngs> yes, dont tell the emacs users though. 15:26 < str1ngs> I use vimium though :P 15:26 < zozoR> i use kate 15:26 < zozoR> i wish gocode worked for kate though 15:26 < zozoR> but writing a plugin seems pretty hard : | 15:26 -!- vmil86 [~vmil86@88.118.36.96] has quit [Read error: Connection reset by peer] 15:27 < str1ngs> $GOROOT/misc/kate 15:27 < str1ngs> profit. 15:27 < zozoR> syntax highlightin != gocode support :3 15:27 < str1ngs> ah gocode 15:28 < zozoR> well, atleast it works for eclipse 15:28 < zozoR> but eclipse is just horrible 15:28 < zozoR> with gb around that is 15:28 < str1ngs> I dont use gocode myself. it is handy though 15:28 < zozoR> it helps spelling right :P 15:28 < zozoR> and exploring packages 15:29 < str1ngs> maybe, I use godoc for that. 15:29 < zozoR> true that 15:29 < zozoR> godoc is awesome 15:29 -!- tncardoso [~thiago@187.58.6.55] has quit [Read error: Connection reset by peer] 15:38 -!- Cork[home] [Cork@h27n1c1o1042.bredband.skanova.com] has quit [Changing host] 15:38 -!- Cork[home] [Cork@firefox/community/cork] has joined #go-nuts 15:41 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 250 seconds] 15:43 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 15:46 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 15:47 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 15:48 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit [Ping timeout: 252 seconds] 15:52 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has joined #go-nuts 16:04 -!- Sep102_ [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has joined #go-nuts 16:04 < mpl> heh, gotta love that comment: ! Support for Fastest Fourier Transform in the West (of Italy) 16:06 -!- nteon [~nteon@static-71-183-219-26.nycmny.fios.verizon.net] has quit [Read error: Operation timed out] 16:07 -!- Soak [~Mangano@92-89-15-217.reverse.alphalink.fr] has quit [Quit: I mine on BitMinter.com] 16:07 -!- Sep102 [~Sep102@c-67-170-74-228.hsd1.wa.comcast.net] has quit [Ping timeout: 240 seconds] 16:10 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts 16:12 -!- hoozleboozle [~Adium@nat/google/x-ukmesjkxuklicupy] has joined #go-nuts 16:13 -!- samuell [~samuel@pc2-samuel.uppmax.uu.se] has quit [Quit: Ex-Chat] 16:14 -!- pjacobs2 [~pjacobs@66.54.185.130] has joined #go-nuts 16:14 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 16:15 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 255 seconds] 16:18 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 16:18 < lmnop> (08:22:58 AM) aiju: (mk is a start [at overcoming the weaknesses of make], but still troublesome) 16:18 < lmnop> would you elaborate on that? what's wrong with mk? 16:19 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Read error: Connection reset by peer] 16:19 < aiju> lmnop: it gets awkward with multi-directory projects 16:21 -!- iant [~iant@nat/google/x-zutslnsaszefquhe] has joined #go-nuts 16:21 -!- mode/#go-nuts [+v iant] by ChanServ 16:25 < exch> I do love elian script. Particularly seeing the volution of my writing throughout the diary is fun. It starts all awkward and becomes progressively more stylized with every page 16:25 < exch> eep. wrong chan 16:27 < mpl> exch: tell us more anyway ;) 16:27 -!- Kumul [~Kumul@67.224.228.31] has joined #go-nuts 16:27 < exch> http://www.ccelian.com/concepca.html 16:27 -!- ccc1 [~Adium@118-166-230-60.dynamic.hinet.net] has quit [Quit: Leaving.] 16:28 < exch> it's a writing system based on the olden 'Freemason cipher' or 'pigpen cipher' 16:28 < exch> Not really cryptographic, but it keeps the average plebian from readng my diary 16:28 < exch> You can learn to read/rite it in about 15 minutes flat though 16:28 < exch> Good fun 16:29 < exch> My current style is somewhat like the bottom-left in this image http://www.ccelian.com/graphics/manual/Image_12.gif 16:29 < mpl> fun 16:30 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 16:30 < exch> It's brilliant. No need to memorize 26 individual characters. Just the layout of those 4 grids 16:30 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has joined #go-nuts 16:30 < exch> And the shape of each character can vary greatly without losing it's meaning 16:31 < aiju> sounds like my handwriting 16:31 < exch> I hope to achieve the letter stacking at some point. http://www.ccelian.com/graphics/manual/Image_17.gif It looks like a cross between arabic and klingon 16:32 < aiju> now write in latin 16:32 < exch> Yea I was considering that 16:32 < exch> I'm not even remotely fluent at latin though. 16:33 < exch> not yet anyway 16:34 < zozoR> finaly found the xml plugin thingy for kate.. now to remap it to work with gocode :D 16:34 -!- tcpNut [~chatzilla@mcswl207.mcs.anl.gov] has joined #go-nuts 16:35 < mpl> exch: looks a bit like elvish as well 16:35 < exch> yea a bit 16:36 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 16:36 < exch> I think you can really make it look like anything you want without while still keeping it proper Elian script 16:36 < exch> *-without 16:36 < tcpNut> I am trying to implement a socket to connect to a telnet server to do some simple operations on that server such as request its running status. I am using the tcp library that is included in the net package to achieve this. I can create a connection but I cannot get it to read. I was expecting a login prompt so that i can write the credins and go from there. It works in python but not in GO 16:36 < f2f> now translate the voytech manuscript :) 16:37 < tcpNut> Any suggestions? 16:37 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 16:38 < exch> tcpNut: It's probably best to look at some TCP examples in Go. There's a bunch of cmmunity-made IRC bots around. Those might be handy to start with 16:39 < f2f> tcpNut: listen+serve is trivial in go. should probably start with a simple example? 16:39 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has joined #go-nuts 16:39 < tcpNut> I have already done multiple servers with listen and serve haha 16:39 < exch> http://go-lang.cat-v.org/go-code 16:39 < tcpNut> This is just a small utiltity for a large systems program 16:39 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Computer has gone to sleep.] 16:40 < jessta> tcpNut: you could pastebin an example of what isn't working 16:40 < jessta> tcpNut: or describe what you are doing to read that isn't working and what about it isn't working as you expct 16:41 < tcpNut> Give me a minute and I will have an example for you 16:44 -!- Soak [Soak@gas45-5-88-182-12-78.fbx.proxad.net] has joined #go-nuts 16:45 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has joined #go-nuts 16:46 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit [Quit: Ex-Chat] 16:46 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined #go-nuts 16:46 < tcpNut> http://pastebin.com/7gg6r3Gv 16:47 < tcpNut> I do not do any error checking because I am still testing how the lib works 16:47 < tcpNut> so all errors are being printed out 16:47 < tcpNut> for the read i get a 0 EOF error 16:48 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 16:49 < f2f> tcpNut: byt := make([]byte, 8192) 16:51 < tcpNut> Ah! i see part of the error... I was initiilzing an empty byte slice with no initial size 16:51 -!- JakeyChan [~JakeyChan@118.132.214.248] has quit [Remote host closed the connection] 16:52 < f2f> also, you can use Dial() instead of DialTCP(). when you use Dial("tcp") it'll return a TCPConn but it behaves the same as a Conn. 16:52 < f2f> get to using interfaces early so your code will be extensible 16:52 < f2f> and you'll only need one dialler instead of many once you put it into a lib 16:53 -!- nicka1 [~nicka@blk-222-42-163.eastlink.ca] has joined #go-nuts 16:54 < tcpNut> that is good advice. I was using that one first actually but since it was not working for me I went straight to tcp because thats telnet's protocol 16:54 < tcpNut> but it still is not working properly 16:54 < tcpNut> it is reading only 3 bytes total and its garbage 16:56 < f2f> paste the new code? 16:57 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 16:59 < tcpNut> will do so in a few 16:59 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Quit: Leaving] 17:03 < tcpNut> http://pastebin.com/qjwGz8cv 17:03 < tcpNut> Still the same error but I took your advice for the interaces 17:03 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 240 seconds] 17:04 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 17:04 < f2f> what is the error exactly? 17:05 < f2f> i see one thing that's done wrong, and that's a slicing of the byt buffer: 17:06 < f2f> fmt.Println(err, string(byt[:n])) is correct 17:06 < f2f> as you've only read n bytes 17:08 < f2f> this works for me against ssh (i.e., i see ssh's greeting) 17:09 < tcpNut> okay. Let me try that and I will show you the printed output in a moment 17:12 < tcpNut> http://pastebin.com/X4uqJPmb 17:12 < tcpNut> The code does'nt match the output exactly but the string that I am talking about starts at read 17:13 < tcpNut> It should ahve read alot more than 4 bytes 17:14 < tcpNut> * 3 bytes 17:16 < f2f> i can reproduce your error 17:17 < tcpNut> okay. What did you have to do to reproduce it? 17:18 < f2f> find a telnet server :) 17:20 < tcpNut> haha well that is helpful 17:20 < tcpNut> Do you know why it is doing that? or are you just able to reproduce the error :) 17:20 < f2f> only able to reproduce it. 17:21 < tcpNut> Its odd that it won't read it properly 17:22 < f2f> and that it works fine for ssh 17:22 < ww> you need line buffering for telnet i would think 17:22 < tcpNut> Yeah. I mean i could just write a shell script and have the OS do it but It would be cool to not have to do that and let the library do it 17:22 < ww> read characters until you hit a \n\r 17:23 < tcpNut> <ww> that may work. But it is only reading 3 bytes. Is that some sort of weird escape character that is in the middle of a word? 17:23 < f2f> tcpNut, what happens when you do 'ncat radix-pwr1 23'? prints the same 3 chars 17:23 < tcpNut> <ww>It seems plausable but its just odd that I don't thing we are getting to that point 17:24 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has joined #go-nuts 17:24 < aiju> wait 17:25 < ww> f2f: good way to test the theory 17:25 < aiju> tcpNut: do you know about the "telnet protocol"? 17:26 < tcpNut> <aiju>I would assume that I do. Its pretty simple 17:26 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote host closed the connection] 17:26 -!- Argue [~Argue@112.201.133.68] has quit [Quit: Leaving] 17:26 < tcpNut> <aiju> Unless I am missing an underlying component 17:27 < aiju> it's rather complex actually 17:27 < tcpNut> <f2f> I do get garbage when i run your ncat command 17:27 < aiju> so you just don't implement the telnet protocol 17:28 < tcpNut> <aiju> is there a way then to read off of a socket that is writing to port 23 that is using the telnet protocol? 17:28 < skelterjohn|work> telnet has a protocol? 17:28 < aiju> tcpNut: implement the telnet protocol 17:28 < aiju> skelterjohn|work: haha 17:28 < aiju> http has a protocol? 17:28 < aiju> although it's a common (and weird) misconception 17:28 < skelterjohn|work> tcpNut: btw when you do "<someone> msg" it looks like you're quoting them rather than talking to them 17:29 < ww> just don't send \377 and assume the connection is 7bit, for now 17:29 < tcpNut> skelterjohn|work: sorry haha. New to using IRC 17:29 < skelterjohn|work> <tcpNut> skelterjohn|work: sorry haha. New to using IRC 17:29 < skelterjohn|work> ^ that's what a copy/paste does for me 17:30 < aiju> tcpNut: why do you need telnet? 17:30 < aiju> ah your remote end is telnet 17:30 < tcpNut> I am interfacing with a server that is running telnet 17:30 < tcpNut> exactly 17:30 < aiju> then you need some bits of the protocol 17:31 < ww> actually this brings up something... 17:31 < ww> we have no expect-like library do we with go yet? 17:31 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 255 seconds] 17:31 < aiju> maybe you can remove all the control messages somehow 17:31 < aiju> ww: Read and Write? 17:32 < tcpNut> ww: yeah read and write would pretty much solve that problem 17:32 < ww> aiju: ever so helpful as usual. you are a saint. 17:32 -!- huin [~huin@91.84.179.118] has joined #go-nuts 17:32 < aiju> ww: glad i could help you 17:32 < tcpNut> aiju: how many control messages are sent back from port 23 then? 17:33 < tcpNut> aiju: would those three bits be control messages sent when I try to connect? 17:33 < aiju> tcpNut: apparently telnet does some sort of option negotiation 17:34 < tcpNut> aiju: nice... options. Is there a way to pad that by using a write first instead of read that will pad those options into the socket that is expecting the telnet connection? 17:34 < aiju> pardon, what? 17:35 < aiju> tcpNut: i think the server tells you what options it wants 17:35 < aiju> and you grant or reject the request 17:35 < ww> i don't think the options are necessarily have to be at the beginning of the connection... 17:35 < tcpNut> aiju: So i need to find out what those options are just to connect? 17:35 < aiju> http://www.faqs.org/rfcs/rfc854.html 17:36 < aiju> tcpNut: the byte 255 starts a command 17:36 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 17:36 < ww> try this: send back that three byte thingy over the connection 17:37 < ww> the remote end will treat that as an acknowledgement 17:37 < aiju> that's a bad idea 17:37 < aiju> request is 253/254 and acknowledgement is 251/252 17:38 < ww> actually... you're right, but a different reason 17:38 < ww> just ignore, or nack (is there a nack?) 17:38 < ww> "if a party receives what appears to be a request to enter some mode it is already in, the request should not be acknowledged." 17:38 < aiju> ww: yeah 17:38 < aiju> 252 is nack 17:38 < ww> so pretend you're already in whatever state it asks you to be in 17:38 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 17:38 < ww> and cross your fingers, always send nack 17:38 < aiju> http://thoughtproject.com/Libraries/Telnet/Reference/Options.htm 17:39 < tcpNut> aiju: so basically just send byte 255 in a write and see what happens 17:39 < aiju> tcpNut: no 17:39 < aiju> tcpNut: print out what you are receiving 17:39 < aiju> and look what it's asking you for 17:39 < ww> ... and then send 252 17:39 < aiju> see that list 17:39 < aiju> ww: c'mon, just look what it's asking for 17:39 < aiju> no need to deny "echo" 17:39 < ww> deny == i am already echoing stop pestering me 17:40 < ww> but yes, lots o' printf 17:40 < aiju> i have no clue how forgiving telnet servers are 17:40 < ww> can't argue with that 17:41 < ww> or... you could not bother messing around with the telnet protocol and implement expect kinds of things on top of some popen 17:42 < tcpNut> aiju: this is what I am getting: 255 251 1 17:42 < ww> then just spawn /usr/bin/telnet 17:42 < tcpNut> ww: haha I am actually doing that in a shell script. I am calling expect and then the shell script 17:42 < ww> tcpNut: here' what you do... 17:43 < ww> run tcpdump -X whateverhost port 23 17:43 < ww> telnet to it using the real telnet... 17:43 < ww> see what the real telnet sends in response to that undocumented option 17:43 < ww> do that 17:43 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts 17:44 -!- moraes [~moraes@189.103.188.201] has quit [Quit: Leaving] 17:45 < ww> s/undocumented/start echo/ 17:45 < ww> the 251 is "start" 17:45 < ww> the 1 is "echo" 17:45 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 258 seconds] 17:45 < ww> to which i would be tempted to respond 252 "stop bothering me" 17:47 < tcpNut> ww: that is a good idea. So basically I have to read and write back a whole lot of acks to do this properly 17:48 < skelterjohn|work> i really thought that telnet had no protocol - just send and receive characters 17:49 < tcpNut> skelterjohn: that was my thought as well 17:52 < kergoth> options regarding the terminal are negotiated. have to be careful not to get into an option negotiation loop. it's not that complex a protocol though really. i remember doing it as a learning exercise in C ages ago, fun stuff 17:53 < tcpNut> kergoth: I remember doing the same thing years ago. It was kind of mystical back then and I did'nt think I would have to go back to it 17:53 < kergoth> hehe 17:53 < tcpNut> :) 17:53 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 18:00 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 18:00 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 18:01 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Client Quit] 18:01 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 18:03 -!- dgnorton [~dgnorton@97.65.135.112] has joined #go-nuts 18:04 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 18:04 < dgnorton> gomake is a shell script ... recomendations for building projects on Windows? 18:05 < dgnorton> (other than "switch to *nix" :) ) 18:07 -!- meling [~meling@100.81-167-33.customer.lyse.net] has joined #go-nuts 18:07 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has joined #go-nuts 18:08 -!- virtualsue [~chatzilla@nat/cisco/x-xbjcdfomeukxmjgn] has quit [Ping timeout: 246 seconds] 18:10 < skelterjohn|work> dgnorton: goinstall (http://golang.org/cmd/goinstall) and gb (http://go-gb.googlecode.com) can build on windows 18:14 -!- lumos [~lumos@host-92-20-182-193.as13285.net] has joined #go-nuts 18:14 < lumos> hello. 18:14 < lumos> can I please use google go without a garbage collector 18:14 < lumos> instructions needed 18:14 < aiju> no 18:14 < skelterjohn|work> you can turn off the garbage collector 18:14 < aiju> it's simply no - what the fuck 18:14 < skelterjohn|work> but you shouldn't 18:15 < lumos> ok skelter is stuff going to break like the arrays and slices? 18:15 < lumos> how can i avoid these breakages 18:15 < skelterjohn|work> you can do manual memory management via cgo for some of the stuff, but it would be complicated 18:15 < aiju> you can't turn off garbage collection without breaking everything 18:15 < aiju> period 18:15 < skelterjohn|work> and things like variables escaping closures can't be stopped 18:15 -!- virtualsue [~chatzilla@nat/cisco/x-yomevxlhcrpjcbbg] has joined #go-nuts 18:15 < skelterjohn|work> for that you need the garbage collector 18:15 < lumos> ok but i want to just allocate / delete on the heap 18:15 < skelterjohn|work> why 18:16 < lumos> to make something fast 18:16 < skelterjohn|work> and the garbage collector already does that 18:16 < lumos> ok but that wont work 18:16 < aiju> 1. tune the algorithm 18:16 < aiju> 2. tune some other code 18:16 < lumos> im doing audio 18:16 < lumos> at low latency 18:16 < aiju> 3. write C 18:16 < skelterjohn|work> lumos: you're finding problems before they exist 18:16 < lumos> no there is a problem we run at 0.755 ms 18:16 < Soak> I search the code editor with go syntax, I forget the name, someone can help me please? 18:17 < lumos> interrupt rate 18:17 < skelterjohn|work> lumos: also see http://blog.golang.org/2011/06/profiling-go-programs.html 18:17 < lumos> ok obviously this is not a systems programming language 18:17 < skelterjohn|work> you can make garbage collection fast if you write your program carefully 18:17 < aiju> what the fuck is a systems programming language 18:17 < aiju> it seems to be a term created solely for trolling the shit out of everyone 18:17 < skelterjohn|work> lumos: the "obvious" thing is that it isn't the same kind of systems language you are used to 18:17 < lumos> skelter i dont want my thread to be interrupted with the GC 18:18 < skelterjohn|work> goroutines are cooperatively scheduled 18:18 < lumos> it's a rt thread 18:18 < skelterjohn|work> they are never interrupted 18:18 < aiju> skelterjohn|work: GC is independent of this 18:18 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 18:18 < skelterjohn|work> is that right? my mistake 18:18 < dlowe> lumos: you know, malloc() can take a long time, too. Randomly. 18:18 < skelterjohn|work> anyway, read the blog post i linked 18:18 < skelterjohn|work> it's very enlightening 18:19 < lumos> dlowe: i am not mallocing in the middle of my thread 18:19 < skelterjohn|work> being careful about limiting allocations is no harder than being careful about your own memory management 18:19 < lumos> i only bring malloced memory in through a ringbuffer 18:19 < aiju> lumos: then there is no GC 18:19 < aiju> or so i rememer 18:19 < lumos> and then release it through a ringbuffer 18:19 < lumos> a non-RT thread does the mallocing/freeing 18:19 < skelterjohn|work> i believe GC is triggered when you try to allocate, yeah 18:20 < lumos> ok so Go cant do this stuff you are telling me to write C? 18:20 < skelterjohn|work> you are ignoring the advice given 18:20 < skelterjohn|work> there is nothing to be done for that. 18:20 < aiju> you can't turn off gc. 18:21 < lumos> which advice skelter, being careful? I don't rely that the GC won't kick in whenever 18:21 < lumos> because it can change between runtime versions 18:21 < aiju> i have seen audio programs written in awk 18:21 < skelterjohn|work> it won't kick in if you don't allocate - my advice was to read the blog post that i linked 18:21 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 18:21 < lumos> I have to allocate 18:21 < skelterjohn|work> but you can control when that will be 18:22 < lumos> There's 2 threads. One that does and one that does not. 18:22 < lumos> in Go they seem to be stuck together 18:22 < skelterjohn|work> you can also be clever about when you allocate and about reusing memory 18:22 < skelterjohn|work> like it discusses in the article i linked 18:22 < aiju> lumos: GC stops all threads iirc 18:22 < lumos> exactly aiju 18:22 < lumos> skelter does not see that 18:22 < aiju> that's due to the nature of the GC algorithm 18:22 < aiju> it's not easily fixable 18:23 < skelterjohn|work> lumos: i understand perfectly well that the GC locks the world 18:23 < aiju> a better GC algorithm has been promised 18:23 < skelterjohn|work> but i also understand that you can do what the linked article does 18:23 < jlaffaye> aiju: and regexp package! :p 18:23 < skelterjohn|work> http://blog.golang.org/2011/06/profiling-go-programs.html in case it got too far in the backscroll 18:23 < lumos> OK well I have a user interface thread that has plenty of allocations and builds data structures, and then i have a RT thread which renders and plays the data structures which were built in the other thread 18:23 < jlaffaye> skelterjohn|work: :D 18:24 < lumos> so I cant have the global garbage collector regime taking over and stopping every thread 18:24 < lumos> therefore you dont have a systems programming language 18:24 < skelterjohn|work> you can turn it off and back on 18:24 < lumos> or anything close 18:24 < aiju> HAHAHAHA 18:24 < aiju> for CHRIST'S SAKE 18:24 < lumos> skelter i cant turn it off and back on 18:24 < lumos> the UI allocates 18:24 < aiju> what the fuck is a systems programming language 18:24 < skelterjohn|work> you can turn the GC off and back on 18:24 < aiju> a language with tunable GC? 18:24 < lumos> user causes allocations regularly 18:24 < lumos> the RT must not stop 18:24 < jlaffaye> aiju: I guess its C ;p 18:25 < skelterjohn|work> anyway, you're trying to bend go to do it the way you do it already, rather than trying to figure out how go might best do it 18:25 < skelterjohn|work> which is valid, if lazy 18:26 < skelterjohn|work> but it doesn't merit blanket statements about what go can or cannot do 18:26 < lumos> no skelter i am not bending, i am saying there is a simple reality of dealing with RT threads 18:26 < lumos> how else do you expect to solve this 18:26 < lumos> if your GC stops the world 18:26 < lumos> don't play word games 18:26 < aiju> haha 18:26 < zozoR> go is faster than c++ 18:26 < skelterjohn|work> did i mention that you can turn the GC off, and then back on? 18:26 < skelterjohn|work> zozoR: that's silly =p C++ is as fast as you program it to be 18:27 < zozoR> you havent seen my test? 18:27 < zozoR> ;D 18:27 < jlaffaye> skelterjohn|work: yup, but you forgot to post the link to the blog post:) 18:27 < lumos> skelter: did i mention that user causes reallocations in the UI/Editor thread regularly? 18:27 < zozoR> go does a for loop doing nothing better than C does 18:27 < skelterjohn|work> was it that counting for loop thing? 18:27 < zozoR> yeah 18:27 < lumos> while RT thread must remain steady 18:27 < aiju> "$language is faster than $language" is bullshit 18:27 < skelterjohn|work> lumos: and those won't trigger the GC if the GC is off 18:27 < lumos> at all times 18:27 < zozoR> ofcourse aiju, thats like saying "perl is faster than perl" 18:27 < skelterjohn|work> lol 18:28 < zozoR> or "C is faster than C" 18:28 < lumos> skelter: then tell it to collect, when? 18:28 < aiju> *sigh* 18:28 < str1ngs> bash is faster then rc! :P 18:28 < zozoR> :D 18:28 < aiju> sure 18:28 < str1ngs> :) 18:28 < aiju> training a monkey on LSD to calculate is faster than bash 18:28 < aiju> I DON'T FUCKING CARE 18:28 < zozoR> Care fucking you? 18:28 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined #go-nuts 18:28 < zozoR> im confused 18:28 < zozoR> : | 18:29 < aiju> lumos: you're not critizing, the language, you're critizing a current, imperfect implementation 18:29 < aiju> -, 18:29 < lumos> i am criticizing the language directly 18:29 < aiju> no you are not 18:30 < schmichael> lumos: go is relatively new and lacks any sort of thread prioritization or gc options. if your app requires those then you may want to consider a different language 18:30 < lumos> the language should offer 100% even representation for both garbage collected memory, manually allocated memory, GC'd threads, and non-GC threads, alike 18:30 < lumos> to be a real systems language 18:30 < skelterjohn|work> there's nothing about the language that requires global locks for GCing 18:30 < schmichael> go seems like an awkward language to build a gui editor in, but i may have misunderstood your use case 18:30 < skelterjohn|work> and once again the "real systems language" buzzword 18:30 < aiju> "systems language" is utter crap 18:31 < aiju> also, having a language with both GC and non-GC is a horribly bad idea 18:31 < schmichael> "GC'd threads and non-GC threads"? what does that mean? 18:31 < aiju> a massive bugfest 18:31 < skelterjohn|work> one of go's nice bits is memory safety 18:31 < lumos> That's just a failure on the part of the designers of the language to make it not perfectly handle my use case, there's no good scientific reason why a language can't have all the possibilities of C, and also Go 18:31 < aiju> *sigh* 18:32 -!- russell_h [~russell_h@osuosl/staff/russellh] has quit [Ping timeout: 276 seconds] 18:32 < schmichael> you should probably create that language 18:32 < skelterjohn|work> go is memory safe 18:32 < skelterjohn|work> how could C be memory safe, scientifically? 18:32 < lumos> schmichael: non-Gc threads, as in threads which you have told the garbage collector not to track 18:32 -!- russell_h [~russell_h@ash.osuosl.org] has joined #go-nuts 18:32 < aiju> lumos: that's not a language feature 18:32 < aiju> it's a runtime feature 18:33 < jlaffaye> http://laughingsquid.com/comic-flowchart-on-how-to-deal-with-internet-arguments/ 18:33 < lumos> skelter: you can have both. For example the unsafe memory can be handled by a builtin keyword that has the appearance of an object 18:33 < aiju> s/builtin/bullshit/g 18:33 < lumos> through which you safely treat unsafe memory 18:33 < tcpNut> lumos: lol that seems to be how it works 18:33 < skelterjohn|work> lumos: in C everything is unsafe memory 18:34 < skelterjohn|work> you'd need a "safe" keywor 18:34 < skelterjohn|work> d 18:34 < lumos> Sure skelter, that's a creative idea, there's a lot of things like that 18:34 < skelterjohn|work> it's funny that you'd take that suggestion seriously 18:34 < f2f> lumos == http://hypergogue.net/wp-content/uploads/2010/12/Homer-complex-car.jpg 18:34 < f2f> :p 18:35 < tcpNut> f2f: lol 18:36 < zozoR> the garbage collector isnt that bad now is it : | 18:36 < skelterjohn|work> anyway, it's impossible to have only manual memory management in go 18:36 < skelterjohn|work> not with memory-safety and closures 18:37 < skelterjohn|work> there are a lot of things that are moved to the heap implicitly, since they can be referenced after the function as returned 18:37 < Namegduf> lumos: What do you mean, "no scientific reason"? 18:37 -!- microtech [~quassel@96-42-218-124.dhcp.roch.mn.charter.com] has joined #go-nuts 18:38 < Namegduf> There's perfectly good reasons that those things are bad in Go, as is, which is what matters. Everything has costs, if only in complexity. 18:38 < skelterjohn|work> also with regular pointers (forgetting about closures) it's impossible to do perfect analysis of when a pointer may or may not be used again 18:38 < Namegduf> (And complexity costs are expensive) 18:38 < f2f> go is a failure as far as formal language theory is concerned :) 18:38 -!- `micro` [~quassel@96-42-218-124.dhcp.roch.mn.charter.com] has quit [Ping timeout: 276 seconds] 18:39 < Namegduf> f2f: Perhaps, but the people who pretend to be talking formal language theory for an excuse to insist on featuritis are irritating. 18:39 < zozoR> go gets the job done. go is awesome 18:39 < zozoR> amen 18:39 < zozoR> :3 18:39 < skelterjohn|work> Namegduf: yeah, he's referring to a reddit thread where someone used the term to do just that 18:40 < f2f> right 18:41 -!- nictuku [~nict@84-72-7-79.dclient.hispeed.ch] has joined #go-nuts 18:41 -!- nictuku [~nict@84-72-7-79.dclient.hispeed.ch] has quit [Changing host] 18:41 -!- nictuku [~nict@unaffiliated/nictuku] has joined #go-nuts 18:41 < skelterjohn|work> lumos: anyway, go is not ideal for RT systems - it performs the best when there is a lot of IO to balance. it's phenomenal at switching contexts quickly when io is blocking 18:42 < skelterjohn|work> of course, with IO there are no RT guarantees to be made, right off the bat 18:42 < skelterjohn|work> networked IO that is 18:42 < aiju> Go has no support for my immutale core firewall API cloud 18:42 < skelterjohn|work> which is go's original target 18:43 < Namegduf> A language doesn't have to meet every possible use case for everyone in every way to be a good language. 18:43 < zozoR> if you want RT call a chunk of c code with cgo and get over it? 18:43 < Namegduf> You can play games with the definition of "systems language", but they're ultimately meaningless. 18:43 < skelterjohn|work> not even a good systems language 18:44 < f2f> define "good" language? 18:44 < skelterjohn|work> it reminds me of a thread in the bug reports for python, maybe a decade ago. someone going on and on about how since python didn't have multiple inheritance it couldn't be an object-oriented language 18:44 < lumos> why not just let me a) turn off GC per-thread b) malloc and free ? 18:44 < aiju> lumos: because neither works 18:44 < aiju> i'm not making this up 18:44 < skelterjohn|work> i don't know that it makes sense to turn off GC per thread 18:45 < Namegduf> The first one would require memory to be partioned per thread or something 18:45 < Namegduf> Which it isn't 18:45 < skelterjohn|work> and if you only had manual memory management, closures would not work 18:45 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has joined #go-nuts 18:45 -!- allengeorge [~allengeor@c-67-180-21-185.hsd1.ca.comcast.net] has joined #go-nuts 18:45 < zozoR> i didnt know that go had threads 18:45 < Namegduf> And which will have its own costs attached. 18:45 < skelterjohn|work> and they are part of the language (a super useful one too) 18:45 < Namegduf> malloc and free violates the safety guarantees, which are a lot of the point of the language. 18:45 < allengeorge> Is there a way I can optimize this code so that I don't have to have two separate (but almost identical) blocks for TCP/UDP? 18:45 < allengeorge> https://gist.github.com/1134845 18:46 < aiju> allengeorge: io.Reader and io.Writer? 18:46 < Namegduf> It also doesn't work with closures. 18:46 < lumos> Namedguf I don't care if the core of some low latency rt system is "unsafe" 18:46 < lumos> it's safe as far as the human can ensure 18:46 < lumos> or any help from computer can provide 18:46 < Namegduf> That's fine. Use another language for it. 18:46 < allengeorge> aiju: I'm not sure how IO Reader/Writer would apply in this case (i.e. connection setup) 18:46 < Namegduf> Go is not targeted at hard realtime systems 18:46 < lumos> that's a bad attitude 18:46 < lumos> Go should be able to do it 18:46 < Namegduf> Why? 18:46 < skelterjohn|work> then turn off the GC, and use malloc and free to allocate basic structures. you'll have to skip maps and channels though 18:47 < aiju> jesus christ 18:47 < aiju> Go is not a magical device 18:47 < Namegduf> Basically every single one of its goals is in conflict with it. 18:47 < lumos> Namegdug because you would not use Go to implement a Garbage collector 18:47 < Namegduf> You can't have safety, you can't have simplicity, you can't have easy. 18:47 < lumos> that's what a systems language is supposed to be capable of 18:47 < Namegduf> I don't care about the word "systems language". 18:47 < lumos> and I want a systems programming language which is easier than C++ and has a cleaned up syntax 18:47 < lumos> what I dont want is another language that you would not be able to write a kernel in 18:47 < aiju> so now 18:48 < skelterjohn|work> lumos: in case you haven't noticed, every time you state a requirement of what it means to be a "systems language", it's silly 18:48 < aiju> systems programming language == hard RT? 18:48 < aiju> what the fuck are you smoking? 18:48 < lumos> i didn't say Hard RT 18:48 < mkb218> so you want a subset of c++ then 18:48 < lumos> i said a thread which isn't stopped by the GC 18:48 < Namegduf> Hard RT is the only time you'd care about GC pauses 18:48 < aiju> lumos: IT'S NOT A LANGUAGE THING 18:48 < Namegduf> Really 18:48 < aiju> for the TENTH TIME 18:48 < Namegduf> Soft RT is allowed to be a little late on occasion 18:48 < lumos> it's a language thing cause you can't write a kernel in Go 18:48 < zozoR> SOMEONE IS WRONG ON THE INTERNET! 18:48 < aiju> lumos: i wrote a kernel in Go 18:49 < Namegduf> It's true. 18:49 < Namegduf> It was a bit of a pain 18:49 < Namegduf> But it was a kernel 18:49 < skelterjohn|work> really? link? 18:49 < Namegduf> And it was in Go 18:49 < Namegduf> No longer maintained, as it required updating for Go language internal changes 18:49 < f2f> allengeorge: do not use ResolveTCPAddr, use ResolveAddr with a Conn interface 18:49 < lumos> well look I would not want to use a kernel written in Go and imagine trying to do fast video playback and everything when you've got this global GC stopping all threasd 18:49 < lumos> thats not reasonable 18:49 < skelterjohn|work> sure, but i'm still curious 18:49 < lumos> you have to be able to do what I described 18:49 < aiju> skelterjohn|work: http://code.google.com/p/gofy/source/browse/ 18:49 < aiju> it doesn't compile since like february 18:49 < cbeck> No, because that's not what Go is for 18:49 < lumos> controlling the GC per thread basis and doing manual allocation in order to, for example, implement a memory allocator that a kernel should have 18:50 < f2f> allengeorge: i.e. use the interface rather than the concrete implementation 18:50 < Namegduf> Stop talking about GC per thread 18:50 < cbeck> "You can't really write a kernel in perl, so perl is useless" 18:50 < Namegduf> It is not a requirement for anything, it was a potential solution you came up with. 18:50 < Namegduf> And a bad one. 18:50 < lumos> Clay is a real systems programming language and the syntax is simple as Go 18:50 < aiju> then fucking use clay 18:50 < aiju> and leave us alone 18:50 < skelterjohn|work> lumos: if you wrote an OS in go, you'd get the allocator for free since it comes with the go runtime 18:50 < lumos> why is the GC so good? 18:50 < Namegduf> If you haven't and can't answer that question 18:50 < Namegduf> Why are you even suggesting changes to it? 18:51 < Namegduf> If you can't answer that, then how can you evaluate it? 18:51 < Namegduf> But to attempt an answer: The GC provides both safety and simplicity. 18:51 < skelterjohn|work> does gofy stand for anything besides the obvious? 18:51 < aiju> skelterjohn|work: i claim no credit for the name 18:51 < Namegduf> The "simplicity" provided becomes almost "practicality" when it comes to heavy goroutine usage 18:51 < aiju> skelterjohn|work: http://gofy.cat-v.org/ official propaganda page 18:52 < allengeorge> f2f: I don't see ResolveAddr - are you talking about ResolveIPAddr? 18:52 < Namegduf> As managing memory in a multithreaded applicatoin is a major PITA 18:52 < skelterjohn|work> oh, i was write about what it meant 18:52 < skelterjohn|work> goodie 18:52 < skelterjohn|work> right 18:52 < skelterjohn|work> jeez 18:53 < jessta> lumos: you can't really write a kernel in C anyway 18:53 < lumos> You don't need GC tracking at all levels, it's redundant. For example if you implement a Vector class, you don't need the GC to track all of the elements, you should manually memory allocate and the GC only needs to keep track of the handle to the vector object, butnot its implementation, because its implementation will be safe 18:53 < lumos> and designed for speed 18:54 < aiju> lumos: please learn about simplicity and sanity 18:54 < lumos> safe as in symmetrical 18:54 < lumos> with dealloc 18:54 < skelterjohn|work> lumos: yes that is how slices in go work 18:55 < lumos> It doesn't need to keep track of the elements the vector has, unless it is a vector of a reference type 18:55 < skelterjohn|work> right 18:55 < lumos> i.e. a vector of Int should be untracked 18:55 < aiju> lumos: you can always do 9001 micro optimizations to EVERYTHING 18:55 < skelterjohn|work> that's... over 9000! 18:56 < Namegduf> My key point is, Go is a perfectly good and wonderfully simple language. It may not, because it actually focuses on being simple, be perfect for all use cases. That's expected. Use another language in those cases. If it doesn't count as a language by your definition, because it doesn't suppose those use cases, that's not a problem. 18:56 < aiju> if you want software with perfect performance, write assembly 18:56 < tcpNut> skelterjohn: lol 18:56 < Namegduf> If you want a language that does everything for everyone and whenever something isn't right, tacks on more features for that use case 18:56 < Namegduf> Then you are welcome to use C++ 18:56 < Namegduf> But you can't have "works for everything" and "simple, cleaned up" in one language 18:57 < lumos> aiju that's not a reasonable recommendation for programmers who need to read 5000 pages of intel optimization manuals in order to do a good job, when instead rather llvm will do it for you automatically 18:57 < skelterjohn|work> i bet you could create macros and use templates to compile something that looked very much like go in C++ 18:57 < Namegduf> Or, if you can, it doesn't exist and Go isn't it. :P 18:57 < aiju> lumos: read faster, drink more coffee 18:57 < f2f> allengeorge: no, i was wrong, there's no generic 'ResolveAddr' and Listen for tcp and udp, you're probably as close to norm as possible. see how 'Listen' and 'ListenPacket' are implemented: 18:57 < f2f> http://golang.org/src/pkg/net/dial.go?s=2019:2076#L73 18:58 < skelterjohn|work> wans't nsf working on an LLVM compiler one day? 18:58 < skelterjohn|work> not anymore, obv 18:58 < f2f> no generic interface for tcp and udp listeners 18:58 < ww> have nae seen nsf around here the last while 18:58 < aiju> skelterjohn|work: that was for a different language 18:58 < aiju> ww: yeah 18:58 < aiju> only recently 18:58 < skelterjohn|work> i mean for go - i know he had his toy language too 18:59 < Namegduf> On kernels and stop the world GC: 18:59 < Namegduf> You don't have to have a stop the world GC to have a GC. 18:59 < Namegduf> So you could write a kernel which didn't stop everything to run GC. You'd just need a better GC. 18:59 < allengeorge> f2f: Thanks - I appreciate the pointer to the code as well 19:00 < mkb218> i'll stop the world and gc with you 19:00 < aiju> Namegduf: i've been saying this for along time 19:00 < skelterjohn|work> mkb218: :) 19:00 < f2f> mkb218 :) 19:00 < aiju> in soviet russia, world stops you 19:00 < skelterjohn|work> aiju: :( 19:00 < dmg> I'm trying to find cgo documentation, specifically on marshalling buffers to and fro. I'm trying to write a wrapper for liblzo (a compression lib) 19:01 < zozoR> marshmellowing 19:01 < skelterjohn|work> dmg: do you just want to pass arrays back and forth? 19:01 < mkb218> unsafe.Pointer(&(aSlice[0])) 19:01 < skelterjohn|work> i've started a go-wiki page on cgo tricks, but i've just talked about strings so far 19:01 < skelterjohn|work> but yeah, what mkb218 said 19:01 < dmg> skelter: That looks exactly like what I needed, thanks. 19:02 < skelterjohn|work> heh, yw i guess 19:02 < dmg> I had already found 'GoBytes' by grepping through the source tree, but I couldn't find anything indicating how to go the other way. 19:02 < f2f> allengeorge: np. sorry about the confusion. Dial() is more generic, but Listen() is specific. my bad. 19:02 < skelterjohn|work> there is a GoBytes? 19:02 < dmg> I think so. 19:02 < skelterjohn|work> I just knew about GoString and CString 19:02 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit: Leaving.] 19:02 < skelterjohn|work> is there a CBytes too? 19:02 < f2f> dmg: https://github.com/hwhw/golzo/blob/master/golzo.go ? 19:03 < skelterjohn|work> though it'd just be &theGoBytes[0] 19:03 < allengeorge> f2f: no worries :) 19:03 < dmg> skelterjohn|work: No CBytes, that's what I needed :) 19:03 < dmg> runtime<weirddot>gobytes is defined in runtime.h 19:04 < gnuvince_> Can anyone help me figure out why this code doesn't read correctly from the buffer? http://www.ideone.com/YNLxZ 19:04 < skelterjohn|work> dmg: can you be more specific about what you want to do? like "correctly convert an X in go to a Y in C" 19:04 -!- niemeyer [~niemeyer@72-254-17-213.client.stsn.net] has quit [Ping timeout: 240 seconds] 19:06 < dmg> skelterjohn|work: Basically a []byte into a 'char *'/size_t I can pass to the compression function, and then convert the "char *output" and new buffer size back into a slice. 19:06 < skelterjohn|work> do you want the char* to be treated as a string? 19:07 < skelterjohn|work> ie null terminated? 19:07 < dmg> skelterjohn|work: No, it's arbitrary data. 19:07 < dmg> f2f: hrm... I didn't find that when I was googling 19:07 < skelterjohn|work> i'm updating the wiki page with something about this 19:08 < skelterjohn|work> 5 min 19:08 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined #go-nuts 19:08 < dmg> well, there goes that weekend project... 19:08 < tcpNut> skelterjohn: thanks 19:11 < dmg> ah nope, I'm implementing the Reader and WriterCloser interfaces.. 19:11 < dmg> good, I'll still have something to play with 19:12 < hsoj> anybody using any of the sqlite3 bindings? 19:12 < dmg> hsoj: I used the http://code.google.com/p/gosqlite/ ones recently 19:13 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined #go-nuts 19:14 < skelterjohn|work> actually... not completely sure how to do something 19:14 < skelterjohn|work> you get a *Ctype_int from a C.Foo() call, and you know it has length n (stored in a variable, not known at compile time) 19:14 < skelterjohn|work> how do you turn that into a slice with the right capacity? 19:15 < dmg> skelterjohn|work: Isn't that what GoBytes does? 19:16 < dmg> takes a buffer and a length and returns a []bytes ? 19:16 < zozoR> skelterjohn, where is yor wiki page? 19:22 < skelterjohn|work> http://code.google.com/p/go-wiki/w/list 19:22 < skelterjohn|work> dmg: but we want stuff other than []bytes 19:22 < skelterjohn|work> []byte, rather 19:23 < skelterjohn|work> i know how i could write the function to translate in C 19:23 < skelterjohn|work> but i'd rather do it on the go side 19:23 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 19:24 < f2f> gnuvince, several things are wrong, for one, the ReadWriter is using different buffers 19:25 < f2f> then err.String() panics because err is nil 19:25 < f2f> and finally i had to flush() to make sure the bytes went out on a pipe. 19:25 < f2f> this works for me: 19:25 < f2f> http://www.ideone.com/Sxr0q 19:26 < f2f> i'm not sure whether readwriter's behaviour should be as you expect it. i'm looking at the documentation and it tells me that it simply redirects reads and writes to the respective reader and writer. i'll have to see if i can use the same buffer for the two 19:27 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #go-nuts 19:28 < f2f> yes, this works with just one buffer: 19:28 < f2f> http://www.ideone.com/RAk1B 19:31 -!- virtualsue [~chatzilla@nat/cisco/x-yomevxlhcrpjcbbg] has quit [Ping timeout: 260 seconds] 19:31 < f2f> i notice ideone.go's pastie is using a pretty old go revision 19:33 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping timeout: 252 seconds] 19:33 < hsoj> dmg: has it sufficed for you? 19:35 < dmg> hsoj: Yes, it worked fine. The things I needed to add were a 'last_insert_rowid' function (easy) and turned the fsync pragma off to speed up my writes. 19:36 < dmg> (I was importing 21 million records and the fsyncs were sqlite3 down way too much) 19:36 < hsoj> hrm 19:36 < dmg> that's not a problem with the go bindings, though, but with sqlite itself. 19:36 -!- niemeyer [~niemeyer@72-254-17-213.client.stsn.net] has joined #go-nuts 19:36 < dmg> s/sqlite/slowing sqlite/ 19:37 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has joined #go-nuts 19:37 -!- virtualsue [~chatzilla@nat/cisco/x-dmpzrdvfdrpetued] has joined #go-nuts 19:38 < hsoj> ah damn, this is a fork of what I've been using 19:38 < cbeck> Anyone using eclipse for go dev? Can you recommend a good plugin? 19:38 < skelterjohn|work> there is goclipse 19:38 < hsoj> guess I need to only use sqlite for extraction of data 19:38 < skelterjohn|work> but i don't use it 19:38 < hsoj> vim + gocode has been tits 19:38 < skelterjohn|work> though... i am a committer for the goclipse project, somehow :s 19:39 < hsoj> that w/ my bindings to goenv, I never leave vim 19:39 < nicka> vim+gocode is great 19:39 < skelterjohn|work> only issue is you'd have to use vim 19:39 < cbeck> I've been using go+emacs, which has been just fine 19:39 < hsoj> I love vim 19:39 < hsoj> so that's no problme 19:39 < hsoj> problem* 19:39 < cbeck> But I had to use eclipse for a big project that just ended, and thought I'd try it 19:40 < nicka> skelterjohn, you mean you GET to use vim 19:40 < skelterjohn|work> i think goclipse has gocode built in somehow... 19:40 < skelterjohn|work> not too clear on that though 19:41 < cbeck> Ahh, ok 19:41 < cbeck> I must have found an old page for goclipse before 19:41 < nicka> http://code.google.com/p/gofy/source/browse/kernel/syscall.go#64 is this idiomatic go? 19:42 < cbeck> It said last updated a year ago or so 19:42 < skelterjohn|work> nicka: rofl 19:42 < cbeck> bahahahahaha 19:42 < nicka> it's a very amusing codebase 19:42 < skelterjohn|work> http://code.google.com/p/goclipse/ 19:43 < cbeck> skelterjohn|work: Yup, found the right one 19:45 < Halavanja> aiju: Thanks again. I got the telnet portion working once I got through negoations 19:48 < aiju> are you the same guy as earlier? 19:48 < aiju> thesomething? 19:48 < Halavanja> yeah 19:54 -!- wrtp [~rog@host-92-30-134-53.as13285.net] has quit [Quit: wrtp] 19:58 -!- robteix [~robteix@ec2-174-129-247-164.compute-1.amazonaws.com] has quit [Quit: Leaving] 19:59 -!- nictuku [~nict@unaffiliated/nictuku] has quit [Quit: .] 19:59 < dgnorton> skelterjohn: so ... goinstall go-gb.googlecode.com/hg/gb? 20:01 -!- allengeorge [~allengeor@c-67-180-21-185.hsd1.ca.comcast.net] has quit [Quit: allengeorge] 20:04 < dmg> Hmm.. any suggestions on casting between integer types in cgo when one of them is in a typedef? 20:04 < dmg> cannot use _Ctype_uint(len(b)) (type _Ctype_uint) as type _Ctypedef_lzo_uint in function argument 20:05 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined #go-nuts 20:05 < qeed> doesnt (C.lzo_uint) work 20:06 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 20:06 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has quit [Ping timeout: 258 seconds] 20:07 < dmg> qeed: ah yes, it does. I was stuck on the syntax due to the typedef being in there. 20:07 < dmg> thanks 20:07 -!- replore_ [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 20:08 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts 20:10 -!- alehorst [~alehorst@189.58.12.173.dynamic.adsl.gvt.net.br] has quit [Quit: Leaving.] 20:16 -!- alehorst [~alehorst@189.58.12.173.dynamic.adsl.gvt.net.br] has joined #go-nuts 20:17 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Ping timeout: 255 seconds] 20:20 -!- Fish- [~Fish@9fans.fr] has quit [Quit: WeeChat 0.3.5] 20:22 -!- artefon [~thiago@187.58.6.55] has joined #go-nuts 20:22 -!- tncardoso [~thiagon@150.164.2.20] has quit [Remote host closed the connection] 20:29 -!- artefon [~thiago@187.58.6.55] has quit [Ping timeout: 255 seconds] 20:29 -!- keithcascio [~keithcasc@nat/google/x-edxntagshzfypehl] has joined #go-nuts 20:40 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined #go-nuts 20:42 -!- artefon [~thiago@189.115.129.93] has joined #go-nuts 20:45 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 20:46 -!- photron [~photron@port-92-201-46-248.dynamic.qsc.de] has quit [Read error: Operation timed out] 20:47 < Halavanja> is there any way to reset a byte array to all zeros? 20:49 < huin> other than a simple for-loop or making a new one? i doubt it 20:49 < huin> a for-loop seems like quite a sane choice 20:49 < huin> for i := range byteArray { byteArray[i] = 0 } 20:50 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote host closed the connection] 20:50 < Halavanja> yeah that was what I was thinking of doing I just wanted to make sure there was no convenience function for it before I went and did that. 20:56 -!- miker2 [~miker2@64.55.31.190] has quit [Ping timeout: 252 seconds] 20:57 < f2f> the convenience function is make([]byte, x) ;) 20:58 < Halavanja> yeah i could just keep remaking the same byte array as well. I sometimes forget that go is garbage colleted so well haha 21:02 < huin> of course that's a somewhat expensive operation to re-malloc memory 21:02 < huin> if you don't care about performance then, hey :) 21:06 < Halavanja> Optimal performance is always better but I am just trying to get a socket read to be correct so I thought of trying to drain the byte array buffer that way 21:06 < huin> you don't need to clear a buffer to do that 21:06 < huin> e.g: 21:07 < huin> n, err := sock.Read(p) 21:07 < huin> p[:n] is the part of the buffer that contains the just-read data 21:08 < Halavanja> DOH! that is correct! haha . I can just use that instead 21:08 < Halavanja> good catch! 21:09 -!- TheMue [~FMueller@p5DDF7AFD.dip.t-dialin.net] has quit [Quit: leaving] 21:09 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has quit [Ping timeout: 260 seconds] 21:10 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has quit [Quit: leaving] 21:20 < skelterjohn> dgnorton: yes 21:21 < skelterjohn> either that or: goinstall github.com/skelterjohn/go-gb/gb 21:21 < skelterjohn> depending if you want weekly (googlecode version) or release (github version) compatibility 21:22 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.] 21:23 -!- raylu [raylu@173-228-31-111.static.sonic.net] has quit [Ping timeout: 252 seconds] 21:23 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Quit: Textual IRC Client: http://www.textualapp.com/] 21:24 -!- raylu [raylu@173-228-31-111.static.sonic.net] has joined #go-nuts 21:24 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 21:25 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by peer] 21:29 -!- huin [~huin@91.84.179.118] has quit [Quit: bedtime] 21:32 -!- mkrautz [~mkrautz@poipu/developer/krejler] has quit [Remote host closed the connection] 21:35 -!- pheuter [18a121d1@gateway/web/freenode/ip.24.161.33.209] has joined #go-nuts 21:35 < pheuter> How do I make a POST request to an arbitrary url with params and get the response back ? 21:35 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Ping timeout: 255 seconds] 21:37 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has joined #go-nuts 21:38 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Ping timeout: 255 seconds] 21:39 -!- fs111 [~fs111@fs111.0x20.be] has quit [Ping timeout: 260 seconds] 21:39 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Quit: leaving] 21:40 < Halavanja> depending on how you are using the libraries you can send a client post and check back return codes for status 200, 404 etc 21:40 < pheuter> There is no way to get response as string? 21:40 < f2f> pheuter, http://golang.org/pkg/http/#Client.Post 21:40 < Halavanja> what f2f says 21:42 < pheuter> it calls on a Client pointer, where do i get one? 21:43 < f2f> that's the full documentation page, give it a read 21:44 -!- Halavanja [~chatzilla@mcswl207.mcs.anl.gov] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0/20110622232440]] 21:44 < f2f> it says that the default client is usable as it is "new(http.Client)", and also that http.Post() is a wrapper around DefaultClient 21:45 < f2f> so you can use http.Post directly 21:47 < pheuter> ah, i didnt notice that, thank you 21:48 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has quit [Quit: Leaving] 21:49 < pheuter> is it conventional to do make(http.Values) ? 21:49 < f2f> it's indented as if it's a method of Response. confused me too. 21:49 < pheuter> i'd like to send params along with the post request 21:49 < pheuter> and PostForm takes values 21:50 -!- krolaw [~krolaw@203.100.208.229] has quit [Ping timeout: 250 seconds] 21:51 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 21:51 < f2f> pheuter, see this example from the test suite: 21:51 < f2f> http://golang.org/src/pkg/http/client_test.go#L113 21:51 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 21:53 < f2f> hm. i sent my resume to the guys looking for go programmers a week ago. didn't hear back. i wonder if i should resend it... 21:53 < pheuter> f2f: thank yoi 21:54 < f2f> pheuter, happy hacking :) 21:54 < pheuter> :) 22:01 -!- nekoh [~nekoh@dslb-188-107-174-171.pools.arcor-ip.net] has quit [Quit: nekoh] 22:01 -!- artefon [~thiago@189.115.129.93] has quit [Quit: bye] 22:07 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza] 22:08 -!- ronnyy [~quassel@p4FF1C43C.dip0.t-ipconnect.de] has joined #go-nuts 22:10 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 22:11 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 22:20 -!- nteon [~nteon@ool-4a58e438.dyn.optonline.net] has joined #go-nuts 22:23 < pheuter> ioutil.ReadAll(resp.Body) should return the response body as a buffer, right? 22:24 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 22:26 -!- iant [~iant@nat/google/x-zutslnsaszefquhe] has quit [Ping timeout: 264 seconds] 22:29 < exch> func ReadAll(r io.Reader) ([]byte, os.Error) 22:29 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has quit [Quit: ChatZilla 0.9.87 [Firefox 5.0.1/20110707182747]] 22:30 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 22:38 -!- replore [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 22:39 -!- pheuter [18a121d1@gateway/web/freenode/ip.24.161.33.209] has quit [Quit: Page closed] 22:47 -!- ronnyy [~quassel@p4FF1C43C.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 22:51 -!- pothos_ [~pothos@111-240-172-223.dynamic.hinet.net] has joined #go-nuts 22:53 -!- pothos [~pothos@111-240-172-223.dynamic.hinet.net] has quit [Ping timeout: 260 seconds] 22:54 -!- Bigbear1 [~Cody@d173-181-33-58.abhsia.telus.net] has joined #go-nuts 22:56 -!- virtualsue [~chatzilla@nat/cisco/x-dmpzrdvfdrpetued] has quit [Ping timeout: 246 seconds] 22:59 -!- zhujo01 [jon.zhu@CPE00222d5acb80-CM00222d5acb7d.cpe.net.cable.rogers.com] has quit [] 23:01 -!- hargettp [~hargettp@pool-71-174-131-129.bstnma.east.verizon.net] has joined #go-nuts 23:04 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 23:07 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 23:08 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 23:08 -!- Bigbear1 [~Cody@d173-181-33-58.abhsia.telus.net] has quit [Ping timeout: 264 seconds] 23:10 -!- pjacobs [~pjacobs@66.54.185.130] has quit [Ping timeout: 260 seconds] 23:10 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 23:15 -!- replore [~replore@ntkngw133234.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Read error: Connection reset by peer] 23:15 -!- tavis_rain [~tavisb@24-104-129.146.hfc.mediarain.com] has quit [Read error: Connection reset by peer] 23:17 -!- Bigbear1 [~Cody@d173-181-33-58.abhsia.telus.net] has joined #go-nuts 23:18 -!- miker2 [~miker2@pool-96-245-224-59.phlapa.fios.verizon.net] has joined #go-nuts 23:19 -!- c00w [~colin@97-112-204-183.frgo.qwest.net] has quit [Quit: Ex-Chat] 23:23 -!- niemeyer [~niemeyer@72-254-17-213.client.stsn.net] has quit [Ping timeout: 240 seconds] 23:24 -!- clr_ [~colin@97-112-204-183.frgo.qwest.net] has joined #go-nuts 23:36 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit [Quit: Leaving...] 23:38 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 23:39 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts 23:53 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts 23:56 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit: wallerdev] 23:57 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined #go-nuts --- Log closed Wed Aug 10 00:00:20 2011