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

--- Log opened Mon Dec 07 00:00:30 2009
00:05 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
00:07 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
00:08 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
00:14 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
00:15 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
00:22 -!- skelterjohn [n=jasmuth@c-76-116-176-34.hsd1.nj.comcast.net] has joined
#go-nuts
00:22 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
00:25 -!- nictuku [n=nictuku@unaffiliated/nictuku] has quit [Read error: 113 (No
route to host)]
00:31 -!- amacleod [n=amacleod@c-75-69-45-62.hsd1.ma.comcast.net] has joined
#go-nuts
00:31 -!- teedex [n=teedex@204.14.155.161] has quit [Read error: 110 (Connection
timed out)]
00:32 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
00:33 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit [Read
error: 104 (Connection reset by peer)]
00:39 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
00:39 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
00:40 -!- jdp [n=gu@75.97.120.11.res-cmts.senj.ptd.net] has joined #go-nuts
00:43 -!- mpl [n=mpl@smgl.fr.eu.org] has quit [Remote closed the connection]
00:43 -!- mpl [n=mpl@smgl.fr.eu.org] has joined #go-nuts
00:50 < alexsuraci> neat, a Go repl!
http://code.google.com/p/go/source/browse/src/pkg/exp/eval/main.go
00:50 < alexsuraci> was just starting to work on one, guess i don't have to
now.
00:51 -!- Whtiger2 [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has joined #go-nuts
00:52 -!- Whtiger [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has quit [Read error:
110 (Connection timed out)]
01:00 -!- nictuku [n=nnictuku@cetico.org] has joined #go-nuts
01:09 -!- Kibiz0r [n=kibiyama@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has
joined #go-nuts
01:09 -!- andresj [n=andresj@c-67-180-242-31.hsd1.ca.comcast.net] has quit [Remote
closed the connection]
01:10 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
01:13 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has joined
#go-nuts
01:13 -!- nightmouse [n=nightmou@c-69-247-77-241.hsd1.nm.comcast.net] has quit []
01:13 < trost> Waah, why did bytes.Copy go away?
01:15 < clip9> use copy() instead
01:15 < trost> new built-in?
01:15 < clip9> yep
01:16 < trost> Is there on-line docs keeping up with the language changes?
01:17 < trost> thx, clip9
01:17 < clip9> trost: no.  Your better off using godoc.
01:18 -!- jackpal [n=jack@61-228-78-207.dynamic.hinet.net] has joined #go-nuts
01:19 < trost> Yeahbut, does godoc do the lang spec?
01:19 < clip9> um..
01:20 < trost> ah, HTML mode.  Got it
01:20 < trost> thx again
01:24 -!- skyyy [i=caw@res55551479.rh.rit.edu] has quit [Client Quit]
01:26 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:26 -!- jackpal [n=jack@61-228-78-207.dynamic.hinet.net] has quit []
01:29 -!- lux` [n=lux@151.95.190.245] has quit [Read error: 110 (Connection timed
out)]
01:42 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has joined #go-nuts
01:43 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Remote closed the
connection]
01:44 -!- eulenspiegel [n=irssi@p579CA822.dip.t-dialin.net] has quit ["leaving"]
01:49 -!- ayo [n=nya@f050192122.adsl.alicedsl.de] has joined #go-nuts
01:50 -!- abbyz_ [n=abhishek@garkbit.osl.iu.edu] has quit [Remote closed the
connection]
01:50 < alexsuraci> yay, gopaste is now a bit smarter with pastes
01:50 < alexsuraci> http://gopaste.org/view/VWwl7
01:50 < alexsuraci> first tries a full-file parse (package decl, imports,
etc.  etc.), then a decl list (that), then a statement list
01:50 < alexsuraci> so most go code pastes should get proper highlighting
and such now
01:51 < dagle> Oh.
01:51 < Boggy-B> neat
01:51 < dagle> I thought you just added a layer of glue.
01:51 * dagle kills him self.
01:51 < alexsuraci> took me a while to parse that
01:55 -!- aho [n=nya@78.52.213.6] has quit [Read error: 60 (Operation timed out)]
01:56 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has joined
#go-nuts
01:57 -!- Kibiz0r [n=kibiyama@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has
quit ["Leaving."]
01:57 -!- calypso_ [n=calypso@78-62-0-140.static.zebra.lt] has quit [Remote closed
the connection]
01:58 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has quit
[Read error: 54 (Connection reset by peer)]
01:58 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
01:59 -!- triplez [n=triplez@bb116-14-66-246.singnet.com.sg] has joined #go-nuts
02:00 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has joined
#go-nuts
02:02 -!- rares_ [n=rares@c-69-143-38-77.hsd1.va.comcast.net] has quit
["Leaving..."]
02:03 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has quit
[Read error: 54 (Connection reset by peer)]
02:04 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has joined
#go-nuts
02:05 -!- smooge [n=smooge@cmr-208-124-133-242.cr.net.cable.rogers.com] has quit
[Read error: 54 (Connection reset by peer)]
02:11 -!- skammer [n=skammer@79.139.142.75] has quit [Remote closed the
connection]
02:19 -!- nightmouse [n=nightmou@c-69-247-77-241.hsd1.nm.comcast.net] has joined
#go-nuts
02:29 -!- alc [n=alc@222.128.151.138] has joined #go-nuts
02:34 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit
["<sresp.co.cc>"]
02:40 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has quit [Read error:
60 (Operation timed out)]
02:47 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
02:49 -!- hiromtz [n=irchon@pw126249136143.9.tss.panda-world.ne.jp] has joined
#go-nuts
02:53 -!- hiromtz [n=irchon@pw126249136143.9.tss.panda-world.ne.jp] has quit
[Remote closed the connection]
03:10 -!- codedread [i=180dd699@gateway/web/freenode/x-xvaizybfgpopeybg] has
joined #go-nuts
03:13 -!- amuck [n=amuck@h150.140.16.98.dynamic.ip.windstream.net] has joined
#go-nuts
03:14 -!- mitchellh2 [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
03:18 -!- JSharpe2 [n=jamie@5ad1d7c5.bb.sky.com] has joined #go-nuts
03:19 < Boggy-B> JSharpe2: have a brother called chris?
03:22 -!- JSharpe [n=jamie@5ad1d7c5.bb.sky.com] has quit [Read error: 60
(Operation timed out)]
03:24 -!- alc [n=alc@222.128.151.138] has quit ["Ex-Chat"]
03:38 -!- BMeph [n=black_me@65.103.151.24] has left #go-nuts []
03:44 -!- tanamo [n=tanamo@125.252.70.230] has quit [Read error: 110 (Connection
timed out)]
03:46 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
quit [Remote closed the connection]
03:47 -!- tanamo [n=tanamo@125.252.70.230] has joined #go-nuts
03:49 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
03:50 -!- mode/#go-nuts [+v kaib] by ChanServ
03:53 -!- ehird [n=ehird@91.104.229.201] has quit []
03:55 -!- iwikiwi [n=iwikiwi@204.12.235.92] has joined #go-nuts
03:57 -!- CMPITG [n=inexiste@113.22.117.136] has joined #go-nuts
03:59 -!- osmosis [n=steven@m410e36d0.tmodns.net] has joined #go-nuts
04:09 -!- Daminvar [n=Daminvar@129.21.121.159] has joined #go-nuts
04:09 -!- skelterjohn [n=jasmuth@c-76-116-176-34.hsd1.nj.comcast.net] has quit []
04:10 -!- ziyu4huang [n=ziyu_hua@220-133-3-82.HINET-IP.hinet.net] has quit []
04:11 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
connection]
04:16 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has joined #go-nuts
04:17 -!- metamurk1 [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
04:18 -!- metamurk1 [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [Client
Quit]
04:19 -!- Daminvar [n=Daminvar@129.21.121.159] has quit ["Leaving"]
04:22 < Amaranth> -tabindent -spaces should be the default for gofmt
04:24 -!- malkomalko [n=malkomal@66-234-41-82.nyc.cable.nyct.net] has quit []
04:31 -!- BMeph [n=black_me@65.103.151.24] has joined #go-nuts
04:33 -!- metamurks [n=ihate@brln-4dbabcde.pool.mediaWays.net] has quit [Read
error: 110 (Connection timed out)]
04:38 -!- brunov [n=bruno@190.191.110.64] has quit ["Ex-Chat"]
04:47 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has quit [Read
error: 110 (Connection timed out)]
04:49 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has quit [Read error:
60 (Operation timed out)]
04:51 -!- halfdan [n=halfdan@p57A95ECE.dip.t-dialin.net] has joined #go-nuts
04:51 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
05:00 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
05:02 -!- Kibiz0r [n=Adium@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has
joined #go-nuts
05:06 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
110 (Connection timed out)]
05:10 -!- BryanWB [n=hitman@113.199.150.105] has joined #go-nuts
05:10 -!- robot12 [n=root@inferno.kgts.ru] has joined #go-nuts
05:10 < BryanWB> sorry to ask a dumby question, but can u directly access
memory w/ Go?
05:11 < BryanWB> could I write a device driver w/ Go?
05:11 -!- halfdan_ [n=halfdan@p57A948C4.dip.t-dialin.net] has quit [Read error:
110 (Connection timed out)]
05:16 -!- scarabx [n=scarabx@c-24-147-239-120.hsd1.ma.comcast.net] has quit ["This
computer has gone to sleep"]
05:17 -!- droid0011 [n=g1@p4FDCB145.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
05:17 -!- droid001 [n=g1@p4FDC97FC.dip.t-dialin.net] has joined #go-nuts
05:18 -!- Kibiz0r [n=Adium@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has quit
["Leaving."]
05:19 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
[Read error: 60 (Operation timed out)]
05:21 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
05:22 -!- pwanli [n=pwanli@c-67-185-151-227.hsd1.wa.comcast.net] has joined
#go-nuts
05:22 -!- hugh4life__ [n=hugh4lif@client-208-124-113-132.consolidated.net] has
joined #go-nuts
05:23 -!- ejb [n=ejb@unaffiliated/ejb] has joined #go-nuts
05:23 -!- stalled_ [n=411@unaffiliated/stalled] has joined #go-nuts
05:23 -!- Kibiz0r [n=Adium@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has
joined #go-nuts
05:25 -!- stalled [n=411@unaffiliated/stalled] has quit [Read error: 54
(Connection reset by peer)]
05:26 < amuck> BryanWB: What you can use to write a device driver varies by
operating system, but you cannot directly use Go for any OS I know of
05:33 -!- nightmouse [n=nightmou@c-69-247-77-241.hsd1.nm.comcast.net] has quit
["Nooooooooo"]
05:34 -!- TMinus36_ [n=serverz@c-67-175-255-73.hsd1.il.comcast.net] has joined
#go-nuts
05:37 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
05:44 < BryanWB> amuck, ok, but can I use go to manually allocate and
deallocate memory?
05:44 < BryanWB> amuck, in case I wanted to write a tiny embedded os
05:47 -!- TMinus36 [n=serverz@pdpc/supporter/student/tminus36] has quit [Read
error: 113 (No route to host)]
05:47 < Rob_Russell> BryanWB: try http://golang.org/pkg/malloc/
05:49 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has joined #go-nuts
05:49 -!- trost [n=trost@pool-96-225-223-137.ptldor.fios.verizon.net] has quit
[Read error: 113 (No route to host)]
05:49 < BryanWB> Rob_Russell, tks
05:50 < codedread> yes, Rob_Russell is a tuckus
05:52 -!- TMinus36_ [n=serverz@c-67-175-255-73.hsd1.il.comcast.net] has quit
[Client Quit]
05:53 -!- darjeeling [n=dj@114.111.62.248] has quit ["전 이만 갑니다."]
05:56 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit ["Leaving"]
06:01 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
06:09 < robot12> morning
06:14 -!- iwikiwi [n=iwikiwi@204.12.235.92] has quit ["I ascend to reality!"]
06:14 -!- BryanWB [n=hitman@113.199.150.105] has quit [Read error: 110 (Connection
timed out)]
06:16 -!- BryanWB [n=hitman@113.199.150.105] has joined #go-nuts
06:20 < Rob_Russell> morning
06:20 -!- pwanli [n=pwanli@c-67-185-151-227.hsd1.wa.comcast.net] has quit []
06:23 < Rob_Russell> in the code snippet at http://gopaste.org/view/tD77t ,
i have a type T3 that embeds a T1. I store off a pointer to a T3 as a T1 but then
i want to get the T3 back.  Is there a way to do that or is the information just
not there?
06:26 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has quit
["Leaving"]
06:26 -!- iwikiwi [n=iwikiwi@204.12.235.92] has joined #go-nuts
06:27 < anticw> Rob_Russell: a type assertion
06:27 < anticw> see the lang spec
06:27 < Rob_Russell> anticw: yeah, i've tried that, it doesn't seem to work
06:30 < Rob_Russell> anticw: actually i think a type assertion did work in
the case as i pasted it
06:30 < anticw> look is isEGAIN in src/pkg/net/fd.go
06:30 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read error: 104
(Connection reset by peer)]
06:30 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
06:31 < Rob_Russell> anticw: i actually pass the T3 into a function that
takes a T1 & then later get it back via another that returns a T1
06:31 < Rob_Russell> (i oversimplified the code i pasted)
06:35 -!- Kibiz0r [n=Adium@99-48-204-31.lightspeed.brhmmi.sbcglobal.net] has quit
["Leaving."]
06:36 -!- osmosis [n=steven@m410e36d0.tmodns.net] has quit [Read error: 104
(Connection reset by peer)]
06:41 -!- BryanWB [n=hitman@113.199.150.105] has left #go-nuts ["Ex-Chat"]
06:45 -!- xgez [n=xgez@53561089.cable.casema.nl] has joined #go-nuts
06:46 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
06:47 -!- xgez [n=xgez@53561089.cable.casema.nl] has quit [Client Quit]
06:52 -!- codedread [i=180dd699@gateway/web/freenode/x-xvaizybfgpopeybg] has quit
["Page closed"]
06:52 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
06:53 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
06:57 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit []
07:00 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has quit []
07:05 -!- ShadowIce [i=shadowic@unaffiliated/shadowice-x841044] has joined
#go-nuts
07:05 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit
["ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]"]
07:07 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has joined #go-nuts
07:09 -!- amacleod [n=amacleod@c-75-69-45-62.hsd1.ma.comcast.net] has quit [Read
error: 60 (Operation timed out)]
07:10 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
60 (Operation timed out)]
07:12 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has joined
#go-nuts
07:14 -!- exDM69 [n=riku@84.34.147.150] has quit [Read error: 110 (Connection
timed out)]
07:17 -!- exDM69 [n=riku@entropy.fi] has joined #go-nuts
07:20 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
07:23 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
07:23 -!- trickie [n=trickie@86.93.227.181] has quit ["Computer has gone to
sleep"]
07:26 -!- artery [n=artery@c-67-180-204-137.hsd1.ca.comcast.net] has quit
["Leaving"]
07:26 -!- analogue [n=analogue@toulouse.jfg-networks.net] has quit [Read error:
104 (Connection reset by peer)]
07:26 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
07:27 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
07:31 -!- iwikiwi [n=iwikiwi@204.12.235.92] has quit ["I ascend to reality!"]
07:32 -!- r2p2 [n=billy@v32671.1blu.de] has joined #go-nuts
07:33 -!- codedread [i=180dd699@gateway/web/freenode/x-qxpwwmbebavtysfc] has
joined #go-nuts
07:33 < codedread> how does one iterate over the keys in a map?
07:35 -!- rd1 [n=Administ@124-169-222-26.dyn.iinet.net.au] has quit [Read error:
101 (Network is unreachable)]
07:36 -!- analogue [n=analogue@toulouse.jfg-networks.net] has joined #go-nuts
07:39 -!- CMPITG [n=inexiste@113.22.117.136] has quit []
07:39 < sladegen> > a := { "foo":1, "bar":2 } ; for v,k = range(a) {
println(v, k) }
07:39 < rndbot> <Error: syntax error near a>
07:40 -!- aarapov [n=aarapov@nat/redhat/x-iqnjjiyzesowview] has joined #go-nuts
07:41 < sladegen> > a := map[string]int { "foo":1, "bar":2 } ; for v,k =
range(a) { println(v, k) }
07:41 < rndbot> <Error: undefined: v, undefined: k>
07:41 < sladegen> > a := map[string]int { "foo":1, "bar":2 } ; for v,k :=
range(a) { println(v, k) }
07:41 < rndbot> foo 1 bar 2
07:45 < sladegen> > a := map[string]int { "foo":1, "bar":2, "foo":3 } ;
for k,v := range(a) { println(k, v) }
07:45 < rndbot> <Error: duplicate key in map literal, fatal error:
typecheck loop>
07:45 < sladegen> > a := map[string]int { "foo":1, "bar":2, "goo":3 } ;
for k,v := range(a) { println(k, v) }
07:45 < rndbot> goo 3 foo 1 bar 2
07:47 < gl> sladegen: a map is not an ordered set
07:47 < sladegen> gl: 'on't 'ell 'e
07:48 -!- haji [n=Endymion@189.154.72.30] has joined #go-nuts
07:48 < gl> ?
07:48 < codedread> thanks sladegen
07:48 < codedread> i had found range() soon after asking
07:49 < sladegen> gl: i know
07:53 -!- [dmp] [n=dennis@static.251.110.40.188.clients.your-server.de] has joined
#go-nuts
07:54 -!- r3v3rt [n=r3v3rt@31.pool85-58-14.dynamic.orange.es] has joined #go-nuts
08:02 -!- codedread [i=180dd699@gateway/web/freenode/x-qxpwwmbebavtysfc] has quit
["Page closed"]
08:07 -!- djanderson [n=dja@hltncable.pioneerbroadband.net] has quit [Client Quit]
08:18 -!- rog [n=rog@92.28.217.99] has joined #go-nuts
08:24 -!- Traveler_4 [n=traveler@31.pool85-58-14.dynamic.orange.es] has joined
#go-nuts
08:28 -!- r3v3rt [n=r3v3rt@31.pool85-58-14.dynamic.orange.es] has left #go-nuts []
08:30 -!- trickie [n=trickie@94.100.112.225] has joined #go-nuts
08:30 -!- Traveler_4 [n=traveler@31.pool85-58-14.dynamic.orange.es] has quit
["Java user signed off"]
08:30 -!- Traveler_8 [n=traveler@31.pool85-58-14.dynamic.orange.es] has joined
#go-nuts
08:30 -!- Traveler_8 [n=traveler@31.pool85-58-14.dynamic.orange.es] has quit
[Client Quit]
08:30 -!- Traveler_0 [n=traveler@31.pool85-58-14.dynamic.orange.es] has joined
#go-nuts
08:31 -!- Traveler_0 [n=traveler@31.pool85-58-14.dynamic.orange.es] has quit
[Client Quit]
08:32 -!- r3v3rt [i=553a0e1f@gateway/web/freenode/x-vtjxozbcdjgccboc] has joined
#go-nuts
08:37 -!- trickie [n=trickie@94.100.112.225] has quit [Read error: 60 (Operation
timed out)]
08:41 -!- NoOneButMe [i=znc@unaffiliated/noonebutme] has left #go-nuts []
08:42 -!- r3v3rt [i=553a0e1f@gateway/web/freenode/x-vtjxozbcdjgccboc] has quit
["Page closed"]
08:42 -!- Xera^ [n=lol@87-194-208-246.bethere.co.uk] has quit ["( www.nnscript.com
:: NoNameScript 4.21 :: www.esnation.com )"]
08:44 -!- r3v3rt [n=Israel@31.pool85-58-14.dynamic.orange.es] has joined #go-nuts
08:49 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has quit [Read
error: 110 (Connection timed out)]
08:49 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
08:53 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:56 -!- Fish-Work [n=Fish@86.65.182.194] has quit ["So Long, and Thanks for All
the Fish."]
08:56 -!- p0g0_ [n=pogo@unaffiliated/p0g0] has quit [Read error: 110 (Connection
timed out)]
08:58 -!- Netsplit over, joins: Esmil
08:58 -!- Netsplit kornbluth.freenode.net <-> irc.freenode.net quits:
KragenSitaker, wm_eddie, Meidor, dstien, jlouis, shawn, exitstate
08:58 -!- wm_eddie_ [n=wm_eddie@kanna.wm-eddie.info] has joined #go-nuts
08:58 -!- exitstat1 [n=xorl@xorl.xen.prgmr.com] has joined #go-nuts
08:58 -!- Netsplit over, joins: jlouis, shawn, KragenSitaker
08:59 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has joined #go-nuts
09:01 -!- dstien [n=daniel@89.236.202.84.customer.cdi.no] has joined #go-nuts
09:03 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has quit [Remote closed
the connection]
09:05 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
09:05 -!- murodes1 [n=James@124-169-23-137.dyn.iinet.net.au] has joined #go-nuts
09:06 -!- iwikiwi [n=iwikiwi@202.3.77.126] has joined #go-nuts
09:07 -!- iwikiwi [n=iwikiwi@202.3.77.126] has quit [Client Quit]
09:08 -!- geocalc [n=geocalc@lns-bzn-45-82-65-185-186.adsl.proxad.net] has joined
#go-nuts
09:08 -!- murodese [n=James@124-169-60-27.dyn.iinet.net.au] has quit [Read error:
60 (Operation timed out)]
09:12 -!- skammer [n=skammer@79.139.142.75] has joined #go-nuts
09:13 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
09:14 -!- beneth` [n=beneth`@beneth.fr] has joined #go-nuts
09:15 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
09:15 -!- timmislav [n=thomasg@xgw.x-net.at] has joined #go-nuts
09:15 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
09:17 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
09:17 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
09:17 -!- timmislav [n=thomasg@xgw.x-net.at] has left #go-nuts []
09:17 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
[Client Quit]
09:19 -!- aarapov [n=aarapov@nat/redhat/x-iqnjjiyzesowview] has quit [Remote
closed the connection]
09:19 -!- timmislav [n=thomasg@xgw.x-net.at] has joined #go-nuts
09:21 -!- GeoBSD [n=geocalc@lns-bzn-59-82-252-168-145.adsl.proxad.net] has quit
[Read error: 110 (Connection timed out)]
09:22 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 110 (Connection timed out)]
09:27 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
09:28 -!- aarapov [n=aarapov@nat/redhat/x-wlusfwrhqbqmwpiq] has joined #go-nuts
09:28 -!- trickie [n=trickie@85.17.253.251] has joined #go-nuts
09:30 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
09:31 -!- Guest17552 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
09:35 -!- trickie [n=trickie@85.17.253.251] has quit ["Computer has gone to
sleep"]
09:38 -!- ShadowIce [i=shadowic@unaffiliated/shadowice-x841044] has quit
["Leaving"]
09:41 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
09:42 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has joined #go-nuts
09:43 -!- jdp [n=gu@75.97.120.11.res-cmts.senj.ptd.net] has quit []
09:46 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
10:02 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read error: 104
(Connection reset by peer)]
10:02 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
10:02 -!- sahazel [n=sah@64.13.131.178] has quit [Read error: 60 (Operation timed
out)]
10:04 -!- sahazel [n=sah@64.13.131.178] has joined #go-nuts
10:09 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
10:14 -!- skammer [n=skammer@79.139.142.75] has quit [Remote closed the
connection]
10:17 -!- triplez [n=triplez@bb116-14-66-246.singnet.com.sg] has quit []
10:17 -!- Fraeon [n=kzer-za@e212-246-65-153.elisa-laajakaista.fi] has joined
#go-nuts
10:21 -!- kota1111 [n=kota1111@gw2.kbmj.jp] has quit ["Leaving..."]
10:24 -!- ned [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined #go-nuts
10:25 -!- Guest34911 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
10:26 -!- Guest57351 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
10:26 -!- Guest57351 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
10:31 -!- pwned [i=pwned@78.176.106.81] has quit [Nick collision from services.]
10:31 -!- pwned_ [i=pwned@78.176.112.199] has joined #go-nuts
10:37 -!- youngbull [n=youngbul@proxy-gw.uib.no] has joined #go-nuts
10:40 -!- haji [n=Endymion@189.154.72.30] has quit [Success]
10:41 -!- Meidor [n=quassel@cl-936.ams-05.nl.sixxs.net] has joined #go-nuts
10:44 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has joined
#go-nuts
10:45 -!- melba [n=blee@unaffiliated/lazz0] has joined #go-nuts
10:46 -!- murodese [n=James@203-59-51-137.dyn.iinet.net.au] has joined #go-nuts
10:50 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
10:52 -!- pvandusen [n=pdusen@crob4-55.flint.umich.edu] has joined #go-nuts
10:57 -!- timmislav [n=thomasg@xgw.x-net.at] has quit [Read error: 104 (Connection
reset by peer)]
10:58 -!- pdusen [n=pdusen@crob4-55.flint.umich.edu] has quit [Read error: 60
(Operation timed out)]
11:04 -!- murodes1 [n=James@124-169-23-137.dyn.iinet.net.au] has quit [Read error:
101 (Network is unreachable)]
11:08 -!- trickie [n=trickie@94.100.120.19] has joined #go-nuts
11:08 -!- trickie [n=trickie@94.100.120.19] has quit [Client Quit]
11:08 -!- trickie [n=trickie@94.100.120.19] has joined #go-nuts
11:08 -!- ziyu4huang [n=ziyu_hua@220-133-3-82.HINET-IP.hinet.net] has joined
#go-nuts
11:13 -!- trickie [n=trickie@94.100.120.19] has quit [Client Quit]
11:17 -!- trickie [n=trickie@94.100.120.19] has joined #go-nuts
11:18 -!- Guest57351 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has quit [Read
error: 104 (Connection reset by peer)]
11:19 -!- Guest57351 [n=ned@c-76-19-208-96.hsd1.ma.comcast.net] has joined
#go-nuts
11:27 -!- youngbull [n=youngbul@proxy-gw.uib.no] has left #go-nuts []
11:29 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
11:30 < JSharpe2> Sorry Boggy-B, nope
11:31 < Boggy-B> JSharpe2: worth a try, thought it might be a small world :)
11:32 < JSharpe2> heh
11:33 -!- liwp [n=lpesonen@87.102.27.202] has left #go-nuts ["Killed buffer"]
11:35 -!- malkomalko [n=malkomal@66-234-41-82.nyc.cable.nyct.net] has joined
#go-nuts
11:36 -!- lux` [n=lux@151.95.190.245] has joined #go-nuts
11:40 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
11:42 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
11:48 -!- outrageousness [n=andrewz@c-76-25-166-1.hsd1.co.comcast.net] has quit
[Remote closed the connection]
11:56 < arnew> has anyone worked on the default buffer-size of the example
doc/progs/cat program?
11:58 < arnew> seems low for real-life performance considerations
11:59 -!- snearch_ [n=olaf@g225049071.adsl.alicedsl.de] has joined #go-nuts
11:59 < arnew> is go able to align the buffer to the page edges of the
machine?
12:10 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
12:13 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has quit [Read error:
60 (Operation timed out)]
12:14 -!- Kniht [n=kniht@c-68-58-17-177.hsd1.in.comcast.net] has joined #go-nuts
12:15 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
12:21 -!- ColonelJ [n=cipherja@zone2.robinson.cam.ac.uk] has quit [Nick collision
from services.]
12:21 -!- KernelJ [n=cipherja@zone2.robinson.cam.ac.uk] has joined #go-nuts
12:23 -!- Fish-Work [n=Fish@86.65.182.194] has joined #go-nuts
12:27 -!- trickie_ [n=trickie@92.67.68.121] has joined #go-nuts
12:27 -!- trickie_ [n=trickie@92.67.68.121] has quit [Client Quit]
12:33 -!- trickie [n=trickie@94.100.120.19] has quit [Read error: 60 (Operation
timed out)]
12:38 -!- raichoo [n=raichoo@i577BA11F.versanet.de] has joined #go-nuts
12:41 -!- trickie [n=trickie@92.67.68.121] has joined #go-nuts
12:45 -!- crashR [n=crasher@codextreme.pck.nerim.net] has quit ["Leaving."]
12:45 -!- fhs [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has quit
["leaving"]
12:46 -!- r3v3rt [n=Israel@31.pool85-58-14.dynamic.orange.es] has left #go-nuts []
12:46 -!- r3v3rt [n=Israel@31.pool85-58-14.dynamic.orange.es] has joined #go-nuts
12:46 -!- r3v3rt [n=Israel@31.pool85-58-14.dynamic.orange.es] has left #go-nuts []
12:47 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
12:51 -!- trickie [n=trickie@92.67.68.121] has quit ["Computer has gone to sleep"]
12:51 -!- Fish-Work [n=Fish@86.65.182.194] has quit [Remote closed the connection]
13:03 -!- Fish-Work [n=Fish@86.65.182.194] has joined #go-nuts
13:10 -!- chickamade [n=chickama@123.16.65.96] has joined #go-nuts
13:12 -!- Kibiz0r1 [n=Adium@wndsnyhed01-pool1-a130.wndsny.tds.net] has joined
#go-nuts
13:12 -!- Kibiz0r1 [n=Adium@wndsnyhed01-pool1-a130.wndsny.tds.net] has quit
[Remote closed the connection]
13:12 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [Remote
closed the connection]
13:12 -!- Kibiz0r1 [n=Adium@wndsnyhed01-pool1-a130.wndsny.tds.net] has joined
#go-nuts
13:12 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
13:13 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [Remote
closed the connection]
13:15 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
13:27 -!- skammer [n=skammer@79.139.142.75] has joined #go-nuts
13:32 -!- Cyanure [n=cyanure@212-198-164-142.rev.numericable.fr] has joined
#go-nuts
13:34 -!- sladegen [n=nemo@unaffiliated/sladegen] has quit [Read error: 104
(Connection reset by peer)]
13:34 -!- Cyanure [n=cyanure@212-198-164-142.rev.numericable.fr] has quit [Read
error: 60 (Operation timed out)]
13:35 -!- sladegen [n=nemo@unaffiliated/sladegen] has joined #go-nuts
13:36 -!- tux21b [n=nnchrist@trujillo.srv.pocoo.org] has joined #go-nuts
13:36 -!- Anders_ [n=Anders@81-233-225-56-no38.tbcn.telia.com] has joined #go-nuts
13:36 -!- Anders_ [n=Anders@81-233-225-56-no38.tbcn.telia.com] has quit [Client
Quit]
13:38 -!- jepler [n=jepler@emc/developer/pdpc.active.jepler] has quit [Remote
closed the connection]
13:40 -!- trickie [n=trickie@92.67.68.121] has joined #go-nuts
13:43 -!- jepler [n=jepler@emc/developer/pdpc.active.jepler] has joined #go-nuts
13:43 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has joined
#go-nuts
13:44 < nickjohnson>
http://blog.notdot.net/2009/12/DIY-USB-preloading-with-nix
13:46 -!- slashus2 [n=slashus2@74-137-77-71.dhcp.insightbb.com] has joined
#go-nuts
13:51 < chickamade> nickjohnson: nice use of Go
13:52 < nickjohnson> chickamade: thanks :)
13:52 < exDM69> what baffled me was why it's using Go instead of a shell
script?
13:52 < exDM69> are there advantages to running it in a single
process/multiple threads instead of multiple processes?
13:53 < exDM69> or just that a shell script spawning multiple processes
would have been much more complicated
13:54 < nickjohnson> exDM69: Multiple independent dd instances would thrash
the disk containing the source image, more likely than not
13:54 < nickjohnson> I could possibly use a pipe with multiple outputs, but
I'm no shell guru
13:54 < chickamade> but you could store that image in your harddisk?
13:55 < nickjohnson> I am, but it's still likely to thrash the disk
13:55 < nickjohnson> Since the processes are unlikely to stay in lockstep
13:55 < chickamade> true
13:55 < nickjohnson> Could load it into a tmpfs, but I was running on OS X.
:)
13:55 < exDM69> makes sense
13:55 < exDM69> so this way you get away with single writes
13:56 < exDM69> single reads
13:56 < nickjohnson> yup
13:56 < exDM69> multiple writes per readf
13:57 < chickamade> how about cat img.bin | tee fifo1 | tee fifo2 ...; for i
in 1 2 3; do dd if=fifo$i of=/dev/$i ?
13:58 < nickjohnson> chickamade: tee doesn't guarantee it'll write in any
particular block size, and sub-block writes on USB devices require reading in and
writing out the whole block
13:58 < nickjohnson> It's possible the OS will do enough caching to prevent
that, but I didn't want to rely on that either.  :)
13:58 < nickjohnson> Oh, sorry, fifos rather than straight out to the device
13:58 < chickamade> I guess it still make many copys of the image
13:58 < nickjohnson> That would work, though it won't know when to stop
copying.  :P
13:59 < nickjohnson> In that case, the FIFOs are basically the same as go's
channels :)
13:59 < chickamade> it seem easy enough in Go though
14:00 < nickjohnson> I'm not sure how big fifo buffers are, though
14:00 < nickjohnson> indeed.  :)
14:01 < exDM69> nickjohnson: FIFO's are interprocess, not interthread like
Go channels
14:02 -!- chrelad [n=chrelad@76.164.12.11] has joined #go-nuts
14:02 -!- Fish-Work [n=Fish@86.65.182.194] has quit [Remote closed the connection]
14:03 < nickjohnson> exDM69: I know, but in that model they're serving the
same purpose
14:03 < exDM69> nickjohnson: true
14:04 < exDM69> btw, how's Go+OpenGL coming along?
14:04 < nickjohnson> You're asking me?
14:04 < exDM69> the channel in general, that includes you :)
14:04 < exDM69> I'm getting a bit tired of having to use C++ with OpenGL
14:05 < nickjohnson> ah
14:05 < exDM69> I thaught that Go might help me out there, but I'm not sure
how well Go's concurrency architecture matches with OpenGL's one thread-one
context model
14:06 < exDM69> perhaps a Goroutine that executes opengl commands in the
background could be useful.
14:07 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has joined #go-nuts
14:08 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
14:11 -!- r2p2 [n=billy@v32671.1blu.de] has left #go-nuts []
14:11 -!- r2p2 [n=billy@v32671.1blu.de] has joined #go-nuts
14:16 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [":wq!"]
14:24 -!- Ycros [n=quassel@gnaw.yi.org] has joined #go-nuts
14:28 -!- rd1 [n=Administ@124-169-230-245.dyn.iinet.net.au] has joined #go-nuts
14:34 -!- KillerX [n=anant@217.41.236.128] has joined #go-nuts
14:34 -!- Kibiz0r2 [n=Adium@70-90-40-33-Michigan.hfc.comcastbusiness.net] has
joined #go-nuts
14:35 -!- malkomalko [n=malkomal@66-234-41-82.nyc.cable.nyct.net] has quit []
14:45 -!- Wiz126 [i=Wiz126@72.20.220.231] has quit [Read error: 60 (Operation
timed out)]
14:45 -!- slashus2 [n=slashus2@74-137-77-71.dhcp.insightbb.com] has quit []
14:46 -!- arnew [n=arnew@dslb-088-071-067-103.pools.arcor-ip.net] has quit [Read
error: 110 (Connection timed out)]
14:48 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 113 (No route to host)]
14:49 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
14:51 -!- Kibiz0r1 [n=Adium@wndsnyhed01-pool1-a130.wndsny.tds.net] has quit [Read
error: 110 (Connection timed out)]
14:51 -!- malkomalko [n=malkomal@74.72.160.251] has joined #go-nuts
14:52 -!- malkomalko_ [n=malkomal@pool-70-23-72-20.ny325.east.verizon.net] has
joined #go-nuts
14:57 -!- eduardoboss [n=boss@189.114.203.183.dynamic.adsl.gvt.net.br] has joined
#go-nuts
15:03 -!- Whtiger [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has quit [Read error:
60 (Operation timed out)]
15:05 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has quit [Read error:
104 (Connection reset by peer)]
15:10 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has joined #go-nuts
15:13 -!- mertimor [n=mertimor@p578ED98F.dip.t-dialin.net] has joined #go-nuts
15:14 -!- JSharpe2 [n=jamie@5ad1d7c5.bb.sky.com] has quit [Connection timed out]
15:14 -!- JSharpe2 [n=jamie@5ad1d7c5.bb.sky.com] has joined #go-nuts
15:16 -!- malkomalko [n=malkomal@74.72.160.251] has quit [Success]
15:23 -!- trickie_ [n=trickie@92.67.68.121] has joined #go-nuts
15:23 -!- trickie [n=trickie@92.67.68.121] has quit [Read error: 104 (Connection
reset by peer)]
15:25 < Rob_Russell> anyone had luck getting the Ogle debugger to do
something helpful?
15:26 -!- malkomalko [n=malkomal@pool-70-23-72-20.ny325.east.verizon.net] has left
#go-nuts []
15:27 < rd1> I haven't tried yet.
15:28 < Rob_Russell> all i really did was try including the package
15:28 -!- kaigan|work
[n=kaigan@c-8290e255.1411-10-64736c14.cust.bredbandsbolaget.se] has quit []
15:28 < Rob_Russell> looks like it has its own main too though, i'll have to
reason through the intent there...
15:29 -!- AndrewBC [n=Andrew@97.93.242.12] has quit []
15:30 < rd1> I thought it was a separate program?
15:30 < rd1> So, you build it and run it like gdb.
15:30 < rd1> Actually, I was just guessing.
15:30 < Rob_Russell> that would make sense
15:31 -!- Whtiger [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has joined #go-nuts
15:31 < Rob_Russell> i guess i was confused because it's under pkg, but its
main just calls ogle.Main, i'll try it
15:31 < dho> Rob_Russell: ogle uses ptrace (or whatever process tracing
facility the os provides) to do what it needs to do
15:32 < dho> Rob_Russell: At the moment, it only works on Linux, and I'm not
sure what value of works that actually means.
15:33 -!- r2p2 [n=billy@v32671.1blu.de] has left #go-nuts []
15:33 < rd1> Yeah - what I saw suggested pre-alpha status.  But, who knows.
Try it.
15:34 < dho> I'd eventually like to get it working in FreeBSD, but its
functionality at the moment is nebulous so I haven't even tried.
15:34 < Rob_Russell> k, it runs, i'll poke into the source some more & see
if i can attach it to something
15:34 < dho> Plus FreeBSD's ptrace sucks
15:34 < rd1> I guess I'm on cygwin and Devon is on FreeBSD, so we can't try.
:-(
15:34 < Rob_Russell> lucky for me i've got an ubuntu box here :)
15:35 < dho> maybe not so lucky :) that means you actually have to try it.
15:35 < dho> :)
15:36 < rd1> :=)
15:36 < dho> hopefully it will start to look like acid
15:36 < dho> that would be outstanding
15:37 -!- AndrewBC [n=Andrew@97.93.242.12] has joined #go-nuts
15:38 -!- Wiz126 [i=Wiz126@72.20.223.15] has joined #go-nuts
15:39 -!- Nanoo [n=Nano@95-89-198-45-dynip.superkabel.de] has joined #go-nuts
15:40 < rd1> That reminds me of the following I saw today.  Hopefully Rob is
not the "worse".
15:40 < rd1> http://punditkitchen.com/2009/01/12/political-pictures-proof/
15:41 -!- skelterjohn [n=jasmuth@c-76-116-176-34.hsd1.nj.comcast.net] has joined
#go-nuts
15:41 < Rob_Russell> lol
15:41 < rd1> If your computer catches fire, it's not our fault.
15:41 < Rob_Russell> this one's invirtualbox
15:41 < Rob_Russell> so it's okay if it burns
15:42 < rd1> Oh...  that would be interesting then.
15:42 -!- Adys [n=Adys@unaffiliated/adys] has quit [Read error: 110 (Connection
timed out)]
15:42 < rd1> Virtual fire.
15:42 < dho> reminds me of the IT crowd episode where the office catches
fire from the soldering iron
15:43 < Rob_Russell> so far i tried attaching to a process by pid (load
"pid:15155") but it says "process identifiers not implemented"
15:43 -!- KillerX [n=anant@gentoo/developer/KillerX] has quit ["Leaving."]
15:43 < dho> they put a monitor in front of the fire and the boss walks in,
looks over.  pauses.  then says, `nice screensaver.'
15:43 < rd1> dho <- haha yeah.
15:44 < spook327> ah that show
15:44 < rd1> Rob_Russell <- mmmm.  You'd hope some other way is
implemented.
15:45 -!- skammer [n=skammer@79.139.142.75] has quit [Read error: 60 (Operation
timed out)]
15:46 < Rob_Russell> xaphod@xaphod:~/go/src/pkg/exp/ogle$ ./ogle
15:46 < Rob_Russell> ; load . "pid:15155"
15:46 < Rob_Russell> Attached to 15155
15:46 < Rob_Russell> *** Found goroutine at 0x7fb84f473360
15:46 < rd1> Cool.
15:46 < Rob_Russell> so pid works but it has to load remote packages into
the debugger namespace...  or sth like that (based on the comments)
15:47 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
15:47 -!- skammer [n=skammer@79.139.142.75] has joined #go-nuts
15:47 -!- crashR [n=crasher@codextreme.pck.nerim.net] has quit [Read error: 60
(Operation timed out)]
15:51 < rd1> I'll be impressed if ogle is useful already.
15:51 < rd1> Given how small the code for it is.
15:51 < rd1> It does seem to be doing the basics though.
15:52 < Rob_Russell> i see load and backtrace commands as well as a way to
set breakpoints
15:52 < Rob_Russell> but i haven't got a backtrace yet
15:53 -!- simonz05 [n=simon@143.84-49-89.nextgentel.com] has joined #go-nuts
15:53 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Success]
15:54 -!- skelterjohn [n=jasmuth@c-76-116-176-34.hsd1.nj.comcast.net] has quit []
15:54 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
15:54 -!- mode/#go-nuts [+v kaib] by ChanServ
15:54 -!- huf [i=huf@mu.parawag.net] has quit [Read error: 110 (Connection timed
out)]
15:55 < rd1> Did you try breakpoints?
15:55 < Rob_Russell> not yet, figuring out how to get the symbol it wants
15:57 < rd1> It seems to be implemented.  But I don't know ptrace so well so
I can't judge it other than to say ptrace must be pretty cool.
15:57 < Rob_Russell> hehe
15:57 < dho> rd1: the tracing process is able to trace at a per-insn level,
I believe
15:57 < dho> it's not terribly well documented
15:57 < rd1> Yeah, so it seems.
15:58 < rd1> And, it's a very simple interface to set breakpoints etc.
15:58 < rd1> Well, lot's of hooks.  It's not simple, but it requires only
minimal code.
15:59 < dho> it's what gdb uses.
15:59 < dho> (on linux/bsd anyway)
16:00 < rd1> Yeah, I know of it.  Just not the details.  Looks pretty well
designed.
16:01 < rd1> Lots of event oriented stuff is a mess.
16:02 < rd1> Or maybe Go is just dealing with the event stuff better.  I'm
not looking that deeply.
16:02 < Rob_Russell> so i'm trying to get a symbol list, i found nm which
apparently does that
16:02 < Rob_Russell> but it tells me no symbols in the executable i have
16:02 < Rob_Russell> any ideas how to keep symbols for debug?
16:02 < dho> 6l -e
16:04 -!- trickie_ [n=trickie@92.67.68.121] has quit ["Computer has gone to
sleep"]
16:05 -!- trickie [n=trickie@92.67.68.121] has joined #go-nuts
16:05 < dho> Rob_Russell: that was for you if it wasn't obvious
16:05 < Rob_Russell> hehe, got it, thx
16:05 -!- trickie [n=trickie@92.67.68.121] has quit [Client Quit]
16:05 < dho> np
16:06 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
16:06 < rd1> Oh - I thought it was a picasso cubist smiley.  Was still
trying to figure it out.
16:06 < rd1> (Kidding.)
16:07 -!- tomestla [n=tom@78.251.184.153] has joined #go-nuts
16:08 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
16:08 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit []
16:09 -!- Guest91918 [n=hans@c-98-234-25-125.hsd1.ca.comcast.net] has quit [Read
error: 110 (Connection timed out)]
16:10 < Rob_Russell> getting weird build errors now (with or without the -e)
16:10 < Rob_Russell> updating my go src, going to try to sort it out then
back to the debugger i guess
16:11 < dho> you don't have to rebuild
16:12 < dho> you just 6l -e foo.6
16:13 < Rob_Russell> too late for that
16:14 < uriel> somebody shoul beat Qtvali with a copy of Strunk&White
16:14 < uriel> his walls of text are killing me
16:15 < dho> next one i'll just reply with tl;dr
16:15 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has joined #go-nuts
16:16 < vegai> would you guys think it to be of any use if pure functions
were defined in another way in go?
16:16 < vegai> I've gotten kinda used to that in Haskell
16:16 < vegai> so essentially the only change to the language would be that
pure functions could be defined with a keyword fun
16:17 < uriel> vegai: what is the benefit of that?
16:17 < vegai> and pure functions would be like other functions, except that
they can only call pure functions
16:17 < vegai> uriel: correctness
16:17 < uriel> (honest question)
16:17 < vegai> perhaps even optimization, but I don't know about that
16:18 < JBeshir> Why not a flag rather than a whole different keyword?
16:18 < rd1> O_o
16:18 < homa_ran1> there are optimizations to be had if the compiler knows
that a function won't mutate other memory
16:18 < uriel> sounds simple, but unless there is a really strong argument
for it, I'd prefer if additions to the language were kept to a minimum
16:18 * alexsuraci is working on a compiling REPL
16:19 < rd1> My proposal would be to leave Go as it is.  But to add
refinement types and make pure functions a subtype of ordinary functions.
16:19 < rd1> But, that's just me.  :-)
16:20 < alexsuraci> http://paste.pocoo.org/show/155452/
16:20 < uriel> I'm clueless, but from what I have seen in other languages,
what might seem like a very small and isolated change often has very strange
unintended implications in other apparenlty unrelated parts of the language
16:20 < alexsuraci> ! = unstable mode, e.g.  imported a package and haven't
used it.  sort of a temporary workaround.  stuff below "1 / darwin" is the source
generated.
16:20 < uriel> alexsuraci: use gopaste.org ;P
16:20 < alexsuraci> uriel: this isn't go code :P
16:20 < vegai> perhaps I'll just, with a very serious face, suggest
replacing currently used style with monadic IO :P
16:20 < rd1> Yeah, refinement types can be a separate checker independent of
the language entirely.
16:20 < uriel> alexsuraci: heh, anyway, really cool
16:21 < alexsuraci> thanks
16:21 < rd1> That's what I did for SML in my PhD work.
16:21 < vegai> rd1: so you don't think def vs fun would be enough?
16:22 < vegai> I always wondered why nobody tried such a simple approach to
side-effects
16:23 < rd1> vegai <- the issue is that you find yourself wanting to
provide pure functions when the type indicates any function.  So you want
subtyping between them.
16:23 < rd1> Then, you need intersection types to analyze the cases.
16:24 -!- iwikiwi [n=iwikiwi@202.3.77.160] has joined #go-nuts
16:24 < vegai> ah, I see
16:24 < rd1> Yeah - I can't remember the really convincing cases.
16:24 < rd1> And you won't even find them in my thesis.
16:24 < rd1> Actually, I've been meaning to follow up on that for ages.
16:24 -!- lmoura [n=lauromou@200.184.118.130] has joined #go-nuts
16:27 < rd1> vegai <- what you suggested works reasonably well, I think.
But, if you're going to do it, it's worth doing it properly.
16:27 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
16:29 -!- crashR [n=crasher@codextreme.pck.nerim.net] has joined #go-nuts
16:31 -!- Fish-Work [n=Fish@194.182.65-86.rev.gaoland.net] has quit [Read error:
104 (Connection reset by peer)]
16:31 -!- Fish-Work [n=Fish@86.65.182.194] has joined #go-nuts
16:36 -!- aarapov [n=aarapov@nat/redhat/x-wlusfwrhqbqmwpiq] has quit ["Leaving."]
16:36 -!- ejb [n=ejb@unaffiliated/ejb] has quit [Success]
16:36 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has joined
#go-nuts
16:38 -!- deso [n=deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
16:39 -!- ejb [n=ejb@67.244.255.31] has joined #go-nuts
16:43 -!- mejja [n=user@c-49b6e555.023-82-73746f38.cust.bredbandsbolaget.se] has
joined #go-nuts
16:44 -!- Kibiz0r2 [n=Adium@70-90-40-33-Michigan.hfc.comcastbusiness.net] has quit
["Leaving."]
16:51 -!- tomestla [n=tom@78.251.184.153] has quit [Read error: 110 (Connection
timed out)]
16:51 -!- skelterjohn [n=jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
16:56 -!- hstimer [n=hans@70.90.170.37] has joined #go-nuts
16:56 < rog> it'd be hard to do pure functions if the standard iteration
idiom is to use a goroutine...  (hidden concurrency being a side effect)
17:01 -!- Nanoo [n=Nano@95-89-198-45-dynip.superkabel.de] has quit ["Leaving"]
17:05 < rd1> Hmmm - depends on the definition of side effect.
17:06 -!- decriptor [n=decripto@137.65.133.2] has joined #go-nuts
17:08 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
17:08 -!- mode/#go-nuts [+v kaib] by ChanServ
17:10 -!- armence [n=armence@c-67-188-229-128.hsd1.ca.comcast.net] has joined
#go-nuts
17:11 -!- snearch_ [n=olaf@g225049071.adsl.alicedsl.de] has quit ["Ex-Chat"]
17:12 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Client Quit]
17:13 < rd1> Pure functions only exist in mathematics.
17:14 -!- iwikiwi [n=iwikiwi@202.3.77.160] has quit ["I ascend to reality!"]
17:14 < rd1> Even in Haskell you effects like time and space effects.
17:14 < rd1> And non-termination.
17:16 -!- exn [n=exn@195.49.206.202] has joined #go-nuts
17:17 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:17 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:18 -!- iwikiwi [n=iwikiwi@202.3.77.160] has joined #go-nuts
17:19 -!- itrekkie [n=itrekkie@ip72-200-111-111.tc.ph.cox.net] has joined #go-nuts
17:20 -!- smooge [n=smooge@142.204.245.75] has joined #go-nuts
17:21 -!- ukl [n=ukl@f053127221.adsl.alicedsl.de] has joined #go-nuts
17:23 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:24 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:26 -!- __ed [i=bitch@anal-co.it] has quit [Read error: 60 (Operation timed
out)]
17:26 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:30 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Read error: 104
(Connection reset by peer)]
17:30 -!- osmosis [n=steven@m010e36d0.tmodns.net] has joined #go-nuts
17:31 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has joined #go-nuts
17:31 -!- mode/#go-nuts [+v kaib] by ChanServ
17:31 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
17:31 -!- kaib [n=kaib@c-76-102-52-156.hsd1.ca.comcast.net] has quit [Client Quit]
17:31 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit ["Leaving"]
17:32 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:32 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:34 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [":wq!"]
17:38 -!- osmosis_ [n=steven@m2a0e36d0.tmodns.net] has joined #go-nuts
17:38 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:38 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:41 -!- Xera^ [n=lol@87-194-208-246.bethere.co.uk] has joined #go-nuts
17:42 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
17:44 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:45 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:47 -!- chickamade [n=chickama@123.16.65.96] has quit [Read error: 110
(Connection timed out)]
17:49 -!- quag_ [n=quag@121-98-81-61.bitstream.orcon.net.nz] has quit [Read error:
113 (No route to host)]
17:51 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:51 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:52 < Amaranth> hmm, how can I tell if the os.Error returned by net.Dial
is a DNSError?
17:54 -!- Raziel2p` [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has quit
[Connection timed out]
17:54 -!- carllerche [n=carllerc@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
17:55 -!- chickamade [n=chickama@123.16.65.96] has joined #go-nuts
17:55 < jessta> Amaranth: os.Error is an os.Error, it's not a DNSError
17:56 -!- osmosis [n=steven@m010e36d0.tmodns.net] has quit [Connection timed out]
17:56 -!- iwikiwi [n=iwikiwi@202.3.77.160] has quit ["I ascend to reality!"]
17:57 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
17:57 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
17:57 -!- temoto [n=temoto@217.173.74.146] has joined #go-nuts
17:58 < Amaranth> jessta: Then how does net.Dial return something that
appears to be a net.DNSError even though it says its an os.Error
17:58 < Amaranth> I thought os.Error was an interface
17:58 < temoto> Hello.  Suppose i started with GOMAXPROCS=128.  Is runtime
going to create 128 OS threads right away or does it happen lazy when next
goroutine really needs nonbusy OS thread?
17:58 < Amaranth> oh, look, it is
17:59 < Amaranth> so os.Error is a net.DNSError in this case
17:59 < uriel> temoto: OS threads are only created 'as needed'
18:00 * Amaranth goes back to poking reflect
18:00 < jessta> Amaranth: oh, sorry you're right
18:00 < jessta> Amaranth: cast it
18:00 < uriel> (goroutines are also moved between os threads as needed, so
it is best to not worry much about the issue and just let Go figure it out)
18:00 < Amaranth> jessta: I don't think I can get away with that, it doesn't
always return a DNSError and I don't want my program to die if it times out
instead
18:01 < uriel> do a type switch?
18:01 < Amaranth> right, poking at reflect now to do so
18:01 < uriel> much more clean and elegant that the silly exception systems
in other languages
18:01 < Amaranth> was hoping there was something less magic
18:01 < uriel> you don't need reflect
18:03 < uriel> from effective go:
18:03 < uriel> switch t := interfaceValue.(type) {
18:03 < uriel> default:
18:03 < uriel> case bool: fmt.Printf("boolean %t\n", t);
18:03 < uriel> case int: fmt.Printf("integer %d\n", t);
18:03 < uriel> fuck, It hink copy paste fucked it all up
18:03 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:03 < uriel> http://gopaste.org/view/0W672
18:03 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:04 < Amaranth> heh, after you said you don't need reflect I was jumping
on v, ok = x.(T)
18:04 < uriel> you can do that too
18:04 < uriel> but using a switch should make it easier to add other error
cases
18:04 -!- Nanoo [n=Nano@95-89-198-45-dynip.superkabel.de] has joined #go-nuts
18:04 < Amaranth> indeed
18:07 < plexdev> http://is.gd/5f8Iw by [Roger Peppe] in go/test/bench/ --
changes necessary to get the new chameneosredux onto shootout.alioth.debian.org .
18:07 < Amaranth> well now I'm just confused...
18:07 < Amaranth> net.DNSError is not os.Error missing String() (string)
18:08 < Amaranth> says that for the case net.DNSError: line
18:08 < Amaranth> except I'm looking at the public String() method...
18:09 -!- chickamade [n=chickama@123.16.65.96] has quit ["Leaving"]
18:09 -!- trickie [n=trickie@86.93.227.181] has joined #go-nuts
18:09 -!- The_Doctor [n=The_Doct@cpe-98-150-247-183.hawaii.res.rr.com] has joined
#go-nuts
18:09 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:10 -!- The_Doctor [n=The_Doct@cpe-98-150-247-183.hawaii.res.rr.com] has quit
[Remote closed the connection]
18:10 < temoto> uriel: thanks.
18:10 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:11 < alexsuraci> http://github.com/vito/go-repl
18:11 -!- rog [n=rog@92.28.217.99] has quit []
18:12 < temoto> Is gopaste.org powered by Go?
18:13 < Amaranth> yep
18:13 -!- malkomalko [n=malkomal@66-234-41-82.nyc.cable.nyct.net] has joined
#go-nuts
18:13 -!- malkomalko [n=malkomal@66-234-41-82.nyc.cable.nyct.net] has left
#go-nuts []
18:16 -!- AndrewBC [n=Andrew@97.93.242.12] has quit [Read error: 110 (Connection
timed out)]
18:16 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:16 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:16 < jessta> Amaranth: do you have a net.DNSError or a *net.DNSError?
18:16 < Amaranth> hmm, good question
18:17 < Amaranth> probably the latter
18:17 < Amaranth> sure enough, that was the problem, thanks
18:20 -!- gasreaa [n=atwong@nat/slide/x-mwotvxqxcacxaytn] has joined #go-nuts
18:22 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:22 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:22 -!- teedex [n=teedex@204.14.155.161] has joined #go-nuts
18:23 -!- trickie [n=trickie@86.93.227.181] has quit ["outty"]
18:27 -!- teedex [n=teedex@204.14.155.161] has quit [Remote closed the connection]
18:28 -!- rog [n=rog@92.28.217.99] has joined #go-nuts
18:28 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:29 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:32 -!- MX80 [n=MX80@cust171.177.113.38.dsl.g3telecom.net] has joined #go-nuts
18:35 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:35 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:36 -!- Zaba_ [n=zaba@ip102.148.adsl.wplus.ru] has joined #go-nuts
18:38 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has joined
#go-nuts
18:38 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
18:39 < plexdev> http://is.gd/5faaz by [Roger Peppe] in 2 subdirs of go/src/
-- the AST walker currently provides no way to find out how the
18:44 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has joined #go-nuts
18:45 -!- Zaba [n=zaba@about/goats/billygoat/zaba] has quit [Read error: 110
(Connection timed out)]
18:47 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:47 < alexsuraci> gah, I keep accidentally directly replying instead of
replying to the ML. stupid Mail.app.
18:47 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:53 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
18:54 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
18:54 < dho> alexsuraci: gmail has the same problem
18:54 < dho> it's annoying
18:56 < alexsuraci> dho: ah, that sucks.  could have sworn that worked.
wonder if my other messages got eaten, then.
18:56 -!- JSharpe2 [n=jamie@5ad1d7c5.bb.sky.com] has quit [Read error: 104
(Connection reset by peer)]
18:56 -!- JSharpe [n=jamie@5ad1d7c5.bb.sky.com] has joined #go-nuts
18:56 < kimelto> moin
18:56 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
19:00 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:00 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:01 -!- metamurks [n=ihate@brln-4dbab1be.pool.mediaWays.net] has quit [":wq!"]
19:01 -!- hugh4life__ [n=hugh4lif@client-208-124-113-132.consolidated.net] has
quit ["Leaving"]
19:04 -!- mkanat [n=mkanat@c-67-188-1-39.hsd1.ca.comcast.net] has joined #go-nuts
19:06 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:06 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:08 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
19:08 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has quit [SendQ
exceeded]
19:09 -!- DerHorst [n=Horst@e176112174.adsl.alicedsl.de] has joined #go-nuts
19:10 -!- mitchellh [n=mitchell@microchip.dyn.cs.washington.edu] has quit
["Leaving."]
19:12 -!- decriptor [n=decripto@137.65.133.2] has quit ["Ex-Chat"]
19:12 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:12 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:13 -!- decriptor [n=decripto@137.65.133.2] has joined #go-nuts
19:18 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:19 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:19 -!- Wiz126 [i=Wiz126@72.20.223.15] has quit [Success]
19:20 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined
#go-nuts
19:20 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
19:20 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Read
error: 110 (Connection timed out)]
19:23 -!- codedread [i=180dd699@gateway/web/freenode/x-ppjrqashxdlykpws] has
joined #go-nuts
19:24 < codedread> hi folks, I'm eager to learn the right way to do this in
Go:
http://code.google.com/p/go/issues/detail?id=391&colspec=ID%20Type%20Status%20Owner%20Summary
19:24 -!- |chachan| [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit [Client
Quit]
19:24 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has joined #go-nuts
19:25 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:25 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:25 < Amaranth> dho: gmail labs has a feature to make reply to all the
default
19:27 < alexsuraci> is reply-to-all the usual practice?  wouldn't that send
a dupe to the person you're replying to?
19:27 < Amaranth> alexsuraci: better that then not getting to the list at
all
19:27 < alexsuraci> yea
19:28 < Rob_Russell> alexsuraci: lots of people do that on mailing lists in
general
19:28 < Amaranth> alexsuraci: with reply to all you have to remember to take
out the person's email address, without it you have to remember to add the list
address
19:28 < Amaranth> If you forget at least it got to the list
19:28 < dho> I don't like reply to all by default.
19:28 < dho> and most sane clients will dedup mailing list posts.
19:28 < Amaranth> although gmail handles it correctly and you only get one
copy
19:28 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
19:28 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has quit [Read error:
104 (Connection reset by peer)]
19:29 -!- Wiz126 [i=Wiz126@72.20.228.125] has joined #go-nuts
19:30 -!- Fl1pFl0p [n=Fl1pFl0p@unaffiliated/fl1pfl0p] has joined #go-nuts
19:31 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:31 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:32 < codedread> dho: correction *all* sane clients will dedup :)
19:32 < codedread> (i.e.  if you're client does not...  it is not sane)
19:37 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has quit
[]
19:37 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:37 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:40 < uriel> wow, reading a bit of go-nuts list backlog, and this
gorgonzola guy is tryly amazing...
19:40 -!- hd_ [n=hd_@253.176.233.220.static.exetel.com.au] has quit [Read error:
104 (Connection reset by peer)]
19:41 < plexdev> http://is.gd/5fdfk by [Rob Pike] in go/src/pkg/runtime/ --
pick off special one-byte case in copy.  worth 2x in benchmarks (38ns->16ns).
19:41 < uriel> it takes something quite special to not being a native
english speaker tell the guy that first coined the use of the word 'switch' in a
language that he understands nothing about languages!
19:41 < plexdev> http://is.gd/5fdfo by [Christopher Wedgwood] in
go/src/pkg/bytes/ -- Remove copyBytes completely in favor of copy.
19:41 -!- Nanoo [n=Nano@95-89-198-45-dynip.superkabel.de] has quit ["Leaving"]
19:42 < Ycros> lol
19:43 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:44 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:46 -!- amuck_ [n=amuck_@rrcs-76-79-44-2.west.biz.rr.com] has joined #go-nuts
19:50 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:50 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:50 -!- smooge [n=smooge@142.204.245.75] has quit ["-ENOBRAIN"]
19:50 < Amaranth> btw, although most clients will dedup such messages they
may not get properly sorted into the correct folders
19:50 < Amaranth> depends on your filter rules and how the client handles
such things
19:50 < Rob_Russell> so the factory methods (NewVector et al) for the Vector
package are all gone?
19:51 -!- Diablo150 [n=Diablo15@ABordeaux-253-1-72-169.w83-200.abo.wanadoo.fr] has
joined #go-nuts
19:53 < jessta> codedread: don't try to do inheritance in Go. Instead
realise that you don't need inheritance.
19:54 < alexsuraci> Rob_Russell: yeah, they were removed in favour of just
new(vector.*)
19:54 < codedread> jessta: do you have a proposal on how to re-factor the
code in that issue then?
19:54 < Rob_Russell> alexsuraci: weird
19:54 < alexsuraci> and by vector.* I mean new(vector.Vector)
19:55 < alexsuraci> or vector.StringVector, etc.  of course
19:55 < Rob_Russell> yeah
19:55 < Rob_Russell> looking for the commit now, wondering what the
reasoning is
19:56 < jessta> codedread: I don't see anything wrong with it
19:56 < codedread> jessta: i don't follow you
19:56 -!- smooge [n=smooge@net1.senecac.on.ca] has joined #go-nuts
19:56 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
19:56 < codedread> i want Name() inside Eat() to give me the specialized
type ("Apple", "Banana")
19:56 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
19:56 < codedread> but it returns "Fruit" instead
19:56 < codedread> and i know _why_
19:56 < codedread> just not sure how to achieve a similar result
19:57 < codedread> (and please realize taht the specialized behavior is
going to be more than just returning a string in real cases)
19:57 < codedread> at this point the lack of inheritance (or some form of
polymorphism) in go means that we can't reuse code
19:57 < codedread> (at this point = to me)
19:57 < jessta> well, you get rid of fruitimpl
19:58 < jessta> and instead make eat a method on the fruit interface
19:58 < codedread> Eat() is a method on the fruit interface
19:59 < codedread> (already)
19:59 -!- simonz05 [n=simon@143.84-49-89.nextgentel.com] has quit ["Ex-Chat"]
19:59 < jessta> codedread: nope, in your example Eat() is a method on
fruitimpl
20:00 < codedread> it's a method on the interface Fruit, it's implemented in
FruitImpl
20:00 < codedread> Fruit consists of two methods: Eat() and Name()
20:00 < codedread> maybe you misread?  :)
20:01 < jessta> I think you misunderstand interfaces
20:01 < jessta> func (f *FruitImpl) Eat() int
20:01 < codedread> yes, that's the implementation of Eat() on FruitImpl
20:01 -!- borisc [n=borisc@borisc2.csbnet.se] has joined #go-nuts
20:01 < jessta> if it was a method on Fruit it would be func(f *Fruit) Eat()
20:02 < codedread> it can't be implemented on Fruit, an interface can't have
fields
20:02 < codedread> perhaps you misunderstand interfaces?  :)
20:02 < jessta> indeed
20:02 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:02 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:03 < jessta> you have to cast the Fruit to the specific struct you want
to modify the fields on
20:04 < Ycros> um, what about accessors
20:04 < codedread> jessta: I'm not sure I understand you
20:05 < codedread> FruitImpl has the 'calories' field - it is the field
being modified
20:05 < codedread> but when I'm inside Eat() i'm inside a FruitImpl - not a
Banana or an Apple
20:05 < codedread> (due to the way embedding works)
20:06 < jessta> because it's a method on FruitImpl
20:06 < jessta> and a Banana isn't a FruitImpl
20:06 < codedread> exactly
20:06 < codedread> so how to achieve the same effect?
20:07 -!- vincent_ [n=vincent@li89-236.members.linode.com] has joined #go-nuts
20:07 < vincent_> howdy
20:07 < codedread> i want the ability to provide shared code in one location
and specialized code in another and then at runtime be able to access both
20:07 < codedread> (polymorphism allows this, obviously)
20:08 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:09 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:10 -!- clearscreen [n=clearscr@e248070.upc-e.chello.nl] has joined #go-nuts
20:13 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit [Remote closed the
connection]
20:13 < codedread> am i still connected?  jessta you still there?
20:14 < jessta> codedread: have you read Effective Go?
20:14 < codedread> yes
20:15 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:15 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:15 < jessta> codedread: did you see the "type switch" under switch?
20:16 < codedread> yes, i've used type switches
20:16 < codedread> i just don't see how it solves my problem yet
20:16 < Rob_Russell> problem with a type switch in this case is that inside
Eat(), the type of f is FruitImpl
20:16 < codedread> it seems like either i have to duplicate the Eat() method
on Banana and Apple
20:17 < Rob_Russell> so the type switch doesn't work as you'd hope
20:17 < codedread> or i have to put all my code in FruitImpl and have
switches that determine the type and then route to specialized behavior
20:17 < jessta> it works if you make Eat() a method of Fruit
20:17 < codedread> i still don't understand that, sorry jessta
20:17 < jessta> *on Fruit
20:17 < codedread> Eat() is a method on Fruit - Fruit contians just two
methods and one of them is Eat()
20:18 < codedread> and Eat() needs to access fields
20:18 < jessta> Eat() is a method in the Fruit interface, but it's a method
on the FruitImpl struct
20:18 < codedread> ok, how can i make it a method on the Fruit interface -
i.e.  how to provide an implementation on an inteface?
20:18 < codedread> (i thought the whole point of an interface was to define
a set of methods, but not an implementation)
20:19 < jessta> an interface is a type
20:19 < jessta> like a struct
20:19 < codedread> ok
20:19 < Ycros> codedread: I mean, if you have accessors for your fields,
then Eat can operate on the interface type
20:20 < codedread> jessta: still don't understand how i can implement a
function in an interface
20:20 < codedread> Ycros: you mean a getCalories() and setCalories() ?
20:21 < jessta> codedread: in the same way you implement a function on a
struct
20:21 < Ycros> codedread: something along those lines
20:21 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:21 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:21 < codedread> jessta: an interface cannot have fields
20:21 < codedread> Ycros: but where does the code that ipmlements
getCalories() and setCalories() live?
20:22 < uriel> OO/Java/C++ clearly damages the brain :(
20:22 < codedread> (and where does the field that backs up those accessors
live?)
20:22 < Ycros> codedread: on the apple and on the whatever
20:22 < codedread> right, so i have to duplicate code
20:22 < codedread> and bear in mind this is a simple example
20:22 < uriel> codedread: have you read what embeding is?
20:22 < jessta> codedread: yeah, but a struct that satifies that interface
can have fields
20:22 < codedread> uriel: yes, i have
20:22 < Ycros> or?  on the impl
20:22 < uriel> and do you know what libraries are?
20:22 < codedread> uriel: yes i do
20:23 < uriel> tyep struct fruit { ...} ...
20:23 < Rob_Russell> jessta: are you suggesting that the methods should be
implemented twice, once for each of the Banana and Apple structs?
20:23 < Ycros> codedread: yeah, I can see the problem.  But I think you can
design differently
20:23 < codedread> Ycros: the field _is_ on the impl
20:23 < uriel> then put a fruit in your banana
20:23 < codedread> Ycros: cool - how?  :)
20:23 < uriel> or whatever
20:23 < Ycros> idk, I'd have to write some code
20:23 < codedread> hehe
20:23 < codedread> uriel: you're saying get rid of the interface?
20:23 < Ycros> my DNS is screwed ATM and I can't resolve anything, trying to
fix it
20:23 < uriel> codedread: *composition*
20:24 < codedread> yes, embedding is a form of composition
20:24 < uriel> Ycros: use 8.8.8.8 ;P
20:24 < Ycros> so I can't quite refer to your code example right now
20:24 < jessta> Rob_Russell: I'm suggesting that they make Eat() a method on
Fruit and do a type switch
20:24 < Ycros> uriel: that is exactly what fucked it
20:24 < codedread> Ycros: no worries
20:24 < codedread> jessta - maybe you can gopaste what you mean?
20:24 < Ycros> uriel: suddenly it started not resolving everything, and now
everything's cached, and I can't resolve say, google.com
20:24 < codedread> totally confused
20:24 < Rob_Russell> jessta: the type switch will tell you it's a Fruit, not
an Apple or Banana
20:24 < uriel> codedread: so, put the code you want to share somewhere, and
embed that everywhere you like
20:25 < Ycros> uriel: except I have no idea WHERE it's cached, because I've
flushed everything along the line and it's still not resolving google.com
20:25 < codedread> uriel: the problem there is that you can not get to the
specialized code
20:25 < uriel> Ycros: lunix sucks
20:25 < uriel> (or os x sucks even more ;P)
20:25 < codedread> once you're sharing the code at the FruitImpl level,
you're in a FruitImpl, not an Apple/Banana
20:25 < uriel> codedread: uhu?
20:25 < Ycros> uriel: or windows?
20:26 < uriel> if you want specialized code, add it to whatever specialized
type
20:26 -!- r2p2 [n=billy@v32671.1blu.de] has joined #go-nuts
20:26 < uriel> anyway, your design is probably all wrong, because you are
thinking in OO terms
20:26 < codedread> uriel: it's possible you didn't see the code example:
http://code.google.com/p/go/issues/detail?id=391
20:26 < uriel> and abstract oo terms you are deffiniting the problem in
terms of its 'solution', which is stupid
20:26 < Rob_Russell> Ycros: have you tried dig?  for example dig google.com
@mynameserver.com
20:27 < Rob_Russell> uriel: i don't see how name-calling helps
20:27 < codedread> and as I state in that issue, i _am_ thinking in OO
terms, but I'm also failing to see a satisfactory example in non-OO terms
20:27 < uriel> codedread: er, I did see that, what part of: Go doesn't use
inheritance you have trouble understanding?
20:27 < codedread> that's why i came here
20:27 < uriel> codedread: or maybe you think people could not share or even
write code in C?
20:27 < codedread> uriel: perhaps you misunderstand me - i _know_ that Go
doesn't use inheritance
20:27 < codedread> and i understand how embedding works
20:27 < uriel> then what is the problem?
20:27 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:27 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:27 < codedread> what i don't understand is how to do code reuse and to
provide specializing code
20:28 < codedread> without polymorphism/inheritance
20:28 < uriel> yea, because nobody ever did code reuse in C
20:28 < uriel> hell, I write quite a bit of python, and use classes less and
less!
20:28 < uriel> I wonder how I manage to reuse any code!
20:28 < codedread> ok, anyone else that wants to actually help?
20:28 < uriel> again, you are not stating any problem
20:28 < uriel> other than "my brain only works on inheritance!"
20:29 < Rob_Russell> the problem is clearly stated in the issue
20:29 < uriel> codedread: to get help first you need a problem that is
solvable, "I need inheritance!" is not a solvable problem
20:29 < codedread> i am stating the problem - the problem is i have a set of
objects that share some common behaviors, but that have some specialized
functionality- i know that this is often modelled as inheritance
20:29 < uriel> Rob_Russell: I don't see any problem in the issue other than
a toy illutratinon of how wrong OO design is
20:30 < Ycros> codedread: the way I see it, the common bit of code is Eat,
right?  it should work on an instance of the Fruit interface
20:30 < chrome> codedread: look at interfaces
20:30 < uriel> codedread: that is not a problem, that is just some abstract
blah blah
20:30 < Rob_Russell> uriel: "Is there a better way to achieve the desired
result in Go? "
20:30 < Ycros> codedread: and pull any data it needs via accessors
20:30 < codedread> i've looked at interfaces and i understand embedding
20:30 < uriel> Rob_Russell: what is the desired result?
20:30 < codedread> if you are saying that the only way to solve this problem
is to duplicate code in both Apple and Banana i don't think taht's an acceptable
solution
20:30 < codedread> which means Go is probably not suitable to the problem
i'm working on
20:30 < Rob_Russell> uriel: if you don't have an answer that's fine, but
there was a conversation that was getting towards it before you started insulting
people
20:30 < uriel> codedread: WHAT PROBLEM!?!?!
20:31 < uriel> blah
20:31 < chrome> uriel: walk away, I tap you out
20:31 < codedread> Ycros: yes, the common code i Eat()
20:31 < codedread> but the fields will need to be duplicated at the
specialized types, right?
20:32 < chrome> codedread: I've not looked at your example, but if you make
an interface called "Food" then you can implement functions that work on "Food"
and as long as your Apple and Banana meet that interface specification, you can
use those methods on them.
20:32 < Rob_Russell> Ycros: there's something that happens as you try to go
down the accessor route, where you end up pulling more code in to the base class.
I think it hinges on the fact that the actual type (the outer type) is not
available once you store a pointer to the embedded type
20:32 < codedread> chrome: for the sake of argument, let's use the Fruit
interface in the example :)
20:33 < Ycros> codedread: yes, they would
20:33 < chrome> what is the example?
20:33 < Ycros> codedread: uh, unless they can live embedded.
20:33 < codedread> but if Apple and Banana don't embed a common
implementation (FruitImpl) in the example, then i need to duplicate the Eat() code
in both Apple and Banana
20:33 < Ycros> codedread: which they probably can
20:33 < codedread> chrome: http://code.google.com/p/go/issues/detail?id=391
20:33 < codedread> Ycros: i didn't understand you, sorry
20:33 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:34 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:34 < Ycros> codedread: I mean, I think the fields can live on the impl.
20:35 -!- DerHorst [n=Horst@e176112174.adsl.alicedsl.de] has quit [Remote closed
the connection]
20:35 < codedread> the field _does_ live on teh implentation
20:35 < codedread> FruitImpl has a 'calories' field
20:35 < chrome> he wants the more specific methods be used before the less
specific
20:35 < codedread> yes
20:35 < codedread> and i undestand why they don't
20:35 < codedread> (i understand what embedding is doing)
20:35 < chrome> I don't think thats an unreasonable expectation
20:35 < codedread> from a language design perspective, it's unreasonable atm
:)
20:35 < chrome> it certainly violates the principle of least surprise
20:36 < codedread> because once you're inside Eat() the receiver is a
FruitImpl
20:36 < Rob_Russell> i think the reason that's not done (funciton
overriding) is the cost of the vtable
20:36 < codedread> so it woudl only call the Name() method on FruitIMpl
20:36 < codedread> (not Apple.Name() or Banana.Name())
20:36 < chrome> codedread: I think really the solution is that if you're
always going to override Name, don't specify it in the template.
20:36 < codedread> that makes sense
20:37 < uriel> nothing in this 'dicussion' makes any sense
20:37 -!- ssmoogen [n=smooge@142.204.245.75] has joined #go-nuts
20:37 < uriel> learn to write in C or any other sane non-OO language
20:37 < uriel> and you will see how silly all this 'discussion 'is
20:37 < codedread> chrome: ah, but then FruitImpl has no Name()
20:37 < codedread> so you can't access it
20:37 < Rob_Russell> but if f is stored as a pointer to a Fruit then will it
still be able to be used to call Name() on structs that embed it?
20:37 < chrome> so?  You're not accessing FruitIMpl.
20:38 -!- smooge [n=smooge@net1.senecac.on.ca] has quit [Connection timed out]
20:38 < codedread> uriel: thanks but i already know how to write in all
those languages
20:38 < codedread> chrome: ok, hold up :)
20:38 < codedread> Eat() is a method on FruitImpl, right?
20:38 < uriel> and of course nobody shares code in those languages!
pffff...
20:38 < codedread> it is common between Apple and Banana
20:38 < codedread> but Eat() calls Name()
20:38 < codedread> you mentioned removing Name() from the mpl
20:38 < codedread> impl
20:38 * uriel has a new term for armchair programmers: fruit and bannana
programmers
20:38 < codedread> which gives me a compiler error because Name() is not
defined on a FruitImpl
20:39 < kimelto> uriel: haha
20:39 < Ycros> I just had a banana smoothie, it was delicious
20:40 < uriel> now here is a real programming problem: "how do I share my
apple implementation with my pie type?!?!?"
20:40 < codedread> not only that - i want to ensure that Name() is in the
Fruit interface for all specialized types
20:40 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:40 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:40 < Rob_Russell> which requires it to be in Fruit
20:42 -!- Netsplit kornbluth.freenode.net <-> irc.freenode.net quits:
bakkdoor, Meidor, viirya, Hong_MinHee, bluszcz, TheDracle, bjorn`_, Norgg, reiko,
itorres, (+30 more, use /NETSPLIT to show all of them)
20:42 < Rob_Russell> personally i think there are two separate pieces here:
one approach is the function overriding that codedread describes but I'm almost
positive that's been turned down as undesireable for Go
20:42 < Rob_Russell> The other part of it is just that the pointer knows the
outer type and not just the inner type that it refers to
20:43 -!- Netsplit over, joins: soul9, yiyus, itorres, Meidor, dstien, Axman6,
albino, daed, zidoh, kve (+30 more)
20:43 < Rob_Russell> i think the outer type information was there but is
stripped off as part of conversion from Banana to Fruit
20:44 < codedread> note: let's say we have a *Apple -> the address
pointed to by this pointer is not the same address as the area of memory pointed
to by the embedded *FruitIMpl
20:44 < codedread> this means we cannot simply cast a FruitImpl to an
Apple/Banana
20:44 -!- stalled [n=411@unaffiliated/stalled] has quit [Excess Flood]
20:45 -!- stalled [n=411@unaffiliated/stalled] has joined #go-nuts
20:45 < Rob_Russell> which makes me think there's a reason they refer to
"conversion" instead of casting in the docs
20:46 < codedread> this differences in pointers is exactly the reason you
can't do something like you'd do in C and just cast a void* to various structs
20:46 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
20:46 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
20:46 < chrome> that may be a good thing
20:47 < codedread> it may if i can figure out a way to reuse my code :)
20:47 < Rob_Russell> but isn't that equivalent to what Vector does?
20:47 < codedread> Vector uses interface{}
20:47 < codedread> and IntVector provides some facade methods to hide that
20:47 < chrome> I think there is a way that is fairly simple but it escapes
me right now
20:47 < Rob_Russell> it stores stuff as interface{} then you convert to the
type you "know" it is
20:47 < codedread> but it never expects you to use an IntVector where you'd
use a Vector
20:48 < Rob_Russell> come again?
20:48 < jessta> codedread: http://gopaste.org/view/9HFMZ
20:48 < codedread> chrome: if you think of it, please add it to the bug
20:49 -!- gasreaa [n=atwong@nat/slide/x-mwotvxqxcacxaytn] has left #go-nuts []
20:49 -!- werdan7 [n=w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
20:49 < codedread> jessta - yes this is as close as I came
20:49 < codedread> but you see the duplicated code, right?  :)
20:50 -!- hd_ [n=hd_@253.176.233.220.static.exetel.com.au] has joined #go-nuts
20:50 < chrome> jessta: that works
20:50 < codedread> i agree - it's probably the best that can be done in Go
20:50 < jessta> codedread: nope
20:50 < codedread> the accessors ...
20:50 < jessta> it's not duplicate code
20:50 < codedread> the get/setters are duplicated in both Apple and Banana
20:50 < jessta> it's code that is doing diferent things
20:51 < chrome> he's talking about SetCalories and Calories
20:51 < jessta> which are methods modifying two different objects
20:51 < codedread> and let's imagine that instead ofa simple int i've got 4
or 5 or 10 different fields that need modification in the 'common' code
20:51 -!- AndrewBC [n=Andrew@97.93.242.12] has joined #go-nuts
20:51 < codedread> kinda sucky
20:52 < jessta> one doesn't tend to modify different data structures in the
the common code
20:53 < Rob_Russell> same data structure, different fields
20:53 < jessta> modifying a specific data structure tends to be a
specialised thing
20:53 -!- r2p2 [n=billy@v32671.1blu.de] has left #go-nuts []
20:53 < codedread> i do like how you put Eat() as a function which takes the
Fruit interface - i think that's the best we can do
20:53 < codedread> unfortunately it doesn't help with godom :)
20:54 < codedread> because Eat() needs to be a method on the Fruit interface
20:54 < codedread> we were trying to put together a DOM implementation in Go
20:54 < codedread> and that's a modelling of an (admittedly
inheritance-driven) API
20:54 < Ycros> codedread: can't the Calories and SetCalories methods live on
the impl?
20:54 < Rob_Russell> i wonder if we could do some functions package-specific
instead of interface-specific
20:55 < Ycros> codedread: or does that not work?
20:55 < codedread> hm, let me see Ycros :)
20:55 < codedread> it still doesn't solve the "can't model the DOM in Go"
problem :)
20:56 < codedread> unless we just do: appendChild(Node, Node)
20:56 -!- geocalc [n=geocalc@lns-bzn-45-82-65-185-186.adsl.proxad.net] has quit
[Remote closed the connection]
20:56 < codedread> (analagous to the Eat() example from jessta)
20:56 < Rob_Russell> yeah
20:56 < codedread> where the first argument is the 'subject'
20:56 < codedread> (aka the 'this' pointer in C++ terms)
20:56 < Rob_Russell> some modifications are happening anyway, like method
names
20:57 < Ycros> codedread: that's what I'm getting at
20:57 < Ycros> codedread: if we merely changed Go to allow methods on
interfaces
20:57 < Ycros> which, imo, would be a trivial change
20:57 < Ycros> though it really doesn't make a difference functionality wise
20:57 < codedread> i see
20:58 < codedread> but then it's not really an interface anymore, more of an
abstract class
20:58 < alexsuraci> that would kind of change the definition of what makes
an interface an interface, though
20:58 < codedread> (again borrowing from C++ terminology)
20:58 < codedread> alexsuraci: exactly
20:58 < Rob_Russell> the Go docs say that the signature of appendChild(Node,
Node) and func (Node) appendChild(Node) are the same, fwiw
20:58 < plexdev> http://is.gd/5fh9k by [Robert Griesemer] in
go/src/pkg/container/vector/ -- use a bootstrap array to avoid allocation for
short vectors
20:58 < codedread> Rob_Russell - that might be only for struct types though?
20:58 < KirkMcDonald> This implies that if an interface defines a method, a
given type does not need to define that method to satisfy the interface.
20:58 < codedread> KirkMcDonald: right
20:59 < Rob_Russell> but then interfaces aren't "pure virtual" any more, and
i think that's a desired trait
20:59 < KirkMcDonald> These methods would be non-virtual.
20:59 < Ycros> alexsuraci: I disagree, it's just syntatic sugar
21:00 < Rob_Russell> this is a bit like the Haskell virtual function
discussion that happened earlier, isn't it?
21:00 -!- __ed [i=bitch@anal-co.it] has quit ["changing servers"]
21:00 < KirkMcDonald> I was not here for that.
21:00 < codedread> Ycros: it's true, you can put the accessors at the
FruitImpl level without a problem
21:00 -!- __ed [i=bitch@anal-co.it] has joined #go-nuts
21:00 -!- mitchellh [n=mitchell@D-69-91-142-112.dhcp4.washington.edu] has joined
#go-nuts
21:00 < codedread> this is a significant improvement
21:00 < Ycros> codedread: there you go.
21:00 < codedread> but really it relies on moving the Eat() method out of
the interface
21:00 < Ycros> codedread: I think we've arrived at where you wanted to be
21:00 < Ycros> codedread: though how this holds up for more complex code
remains to be seen
21:01 < KirkMcDonald> Anyway.  Given that these methods would be
non-virtual, I am hard-pressed to say what advantage they would have over
package-level functions.
21:01 < codedread> you're right - as I stated the problem in googlecode,
this solves it - thanks to both Ycros and jessta
21:01 < codedread> but i still need to think about the moving of Eat() out
of the interface
21:01 < codedread> i have my qualms :)
21:01 < KirkMcDonald> f(i) is not so different from i.f().
21:02 < Ycros> codedread: sure, it's different
21:02 < Ycros> but only in how it's written
21:02 < codedread> it's different if a user of the DOM expects
foo.appendChild(bar)
21:02 < KirkMcDonald> Ah.
21:02 < codedread> point of porting a well-known/used API is to preserve it
as much as possible
21:02 -!- Fish [n=Fish@78.238.225.114] has joined #go-nuts
21:02 -!- ssmoogen [n=smooge@142.204.245.75] has left #go-nuts ["-ENOCAFFEINE"]
21:02 < codedread> Ycros: agreed - it's not necessarily a deal breaker
21:02 < codedread> it only makes me feel uneasy :)
21:03 < Rob_Russell> but the DOM spec doesn't specify that these have to be
objects or mehtods in the same sense as they are in any given language
21:03 < codedread> the API (IDL) does define them as methods on interfaces
21:03 < Rob_Russell> yes
21:03 < Rob_Russell> but method in the sense of the DOM
21:03 < codedread> i know
21:03 < Rob_Russell> not method in the sense of Go (or C++ or javascript)
21:03 < codedread> as i said, not necessarily a deal-breaker, just an uneasy
feeling :)
21:04 < codedread> just seems like we're so close
21:04 < KirkMcDonald> In more traditional OO languages, there is a common
pattern where a base class performs a virtual call on one of its own methods,
permitting a subclass to override that method.
21:04 < Rob_Russell> if it came down to it, it's possible to stuff it in to
a bunch of ugly calls like dom.CallMethod("getChildNodes"), it would still be a
valid implementation, it would just suck to have to use it :)
21:04 < codedread> jessta's solution also added SetCalories() and Calories()
into the interface, which aren't defined in the dom spec
21:04 < codedread> KirkMcDonald: that is exactly what i wanted to achieve
21:05 < codedread> but not possible due to embedding vs.  inheritance
21:05 < KirkMcDonald> To do this in Go, you write a struct with a field of
an interface type.
21:05 -!- General13372 [n=support@71.84.247.187] has joined #go-nuts
21:05 < KirkMcDonald> And you have the struct contain a pointer to itself,
as the interface type.
21:05 -!- chrelad [n=chrelad@76.164.12.11] has quit ["[Q] 0.2.6.3"]
21:05 < KirkMcDonald> Then you dispatch these virtual calls through that
reference.
21:05 < codedread> KirkMcDonald - we actually thought along those lines
21:05 -!- ukl [n=ukl@f053127221.adsl.alicedsl.de] has left #go-nuts []
21:05 < KirkMcDonald> I did precisely this in my optparse library.
21:05 < codedread> but...  now i can't remember the problem with it
21:05 < Rob_Russell> it was ugly :P
21:05 < codedread> not just that
21:06 < Rob_Russell> there's a question of what type to cast the interface{}
to
21:06 < KirkMcDonald> You need each struct which embeds that struct to also
assign itself to the interface reference.
21:06 < KirkMcDonald> Not an interface{}.
21:06 < KirkMcDonald> But a more specific interface type.
21:07 < codedread> i think i seem to remember worrying about tracking that
reference
21:07 < Rob_Russell> so is that why Element[] is in Vector as a wrapper for
interface{} ?
21:07 < codedread> and updating if it necessary
21:07 < codedread> oh yeah, that was it
21:07 < codedread> what if that object is copied
21:07 < codedread> the reerence will point to the original, not the copied
21:07 < KirkMcDonald> codedread: I do not find myself copying objects very
often.
21:07 < codedread> hehe
21:07 < codedread> ok
21:08 < KirkMcDonald> codedread: But then you'd need to give the object a
Clone method, or something.
21:08 < codedread> i would guess there are no such things as copy
constructors in go-land
21:08 < KirkMcDonald> Thankfully.
21:08 < codedread> yeah, how to know when an object has been copied?
21:08 < KirkMcDonald> They are rarely needed in GCed languages.
21:08 < codedread> hm, i think you're right
21:08 < codedread> just re-thinking it :)
21:08 < codedread> we're holding pointers everywhere
21:08 < codedread> so only in cases where the API gives you a copy (like
cloneNode()) would you need to be careful
21:08 < codedread> and that's a well-known point in your code
21:09 < codedread> ok, lots to think about
21:09 < Rob_Russell> i think it's fine to rely on a deep-copy method instead
of =, but yeah, you have to be careful
21:09 < codedread> thanks jessta, Rob_Russell, chrome, Ycros and
KirckMcDonald
21:09 < codedread> woops, KirkMcDonald :)
21:09 < codedread> (get a shorter irc nick!)
21:09 < dho> lrn2tabcomplete
21:09 < Ycros> codedread: tab
21:10 < dho> his is only 3 characters longer than yours
21:10 < Rob_Russell> lol
21:10 < codedread> Ycros :)
21:12 -!- mitchellh [n=mitchell@D-69-91-142-112.dhcp4.washington.edu] has quit
["Leaving."]
21:17 -!- quag [n=quag@121-98-81-61.bitstream.orcon.net.nz] has joined #go-nuts
21:17 -!- XniX23 [n=XniX23@89-212-10-29.dynamic.dsl.t-2.net] has quit [Read error:
104 (Connection reset by peer)]
21:18 -!- synth [n=cb@obfuscated.us] has quit ["Leaving"]
21:20 -!- tor7 [n=tor@c-987a71d5.04-50-6c756e10.cust.bredbandsbolaget.se] has
joined #go-nuts
21:20 -!- mitchellh [n=mitchell@D-69-91-142-112.dhcp4.washington.edu] has joined
#go-nuts
21:21 -!- mitchellh [n=mitchell@D-69-91-142-112.dhcp4.washington.edu] has quit
[Client Quit]
21:22 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Connection timed out]
21:31 -!- Raziel2p [n=Raziel2p@ti0032a380-dhcp0316.bb.online.no] has joined
#go-nuts
21:37 -!- Sungem [i=Sungem@118-160-168-131.dynamic.hinet.net] has quit [Read
error: 110 (Connection timed out)]
21:39 < alexsuraci> is there any no-op code I can use to make it look like a
package is being used?
21:40 < alexsuraci> e.g.  for var decls I can just define "func noop(_
interface{}) {}" and pass them as the arg to it
21:40 -!- skyyy [i=caw@129.21.116.238] has joined #go-nuts
21:40 <+iant> alexsuraci: import _ "fmt"
21:40 -!- osmosis_ [n=steven@m2a0e36d0.tmodns.net] has quit ["Ex-Chat"]
21:40 < Rob_Russell> yeah, import _ "x"
21:40 < alexsuraci> well, I think the use case might change that a bit
21:41 < alexsuraci> it's for my repl: http://github.com/vito/go-repl
21:41 < alexsuraci> don't know what that does though, i'll investigate
21:42 <+iant> Hmmm, I'm not sure what will help that case other than
actually using the packages
21:42 < alexsuraci> right now, for example if they import the "fmt" package,
they have to do ": fmt.Print()" or something
21:42 < alexsuraci> which makes it persist in the code it builds up, so it
looks like it's being used
21:42 < alexsuraci> it'd just be nice if I could somehow automate it or
something, but I can't think of anything
21:43 <+iant> I think you just have to know some variable or function in the
package
21:44 < Rob_Russell> so the idea is you want to import without errors so
later the user can write some code that does use it?
21:44 <+iant> then you can write var _ = package.thing
21:44 < alexsuraci> Rob_Russell: correct.  right now you couldn't do e.g.
"+ fmt; println("this won't work")"
21:45 -!- jdp [n=justin@ool-435238c0.dyn.optonline.net] has joined #go-nuts
21:45 < alexsuraci> iant: true, i could just maintain a map of certain
things to do for each package i suppose
21:45 <+iant> can't think of anything else at the moment
21:45 < jdp> hey, how do i get the package documentation for the hg
checkouts?
21:45 < alexsuraci> iant: thanks anyway
21:45 < jdp> i went into go/doc and hit make, but i still can't find them
21:46 -!- exn [n=exn@195.49.206.202] has quit ["see you later"]
21:46 < Rob_Russell> jdp: if you run godoc -http:6060 then it'll show up on
localhost:6060
21:46 <+iant> godoc should be in your $GOBIN directory
21:46 < uriel> dho: off topic: do you know if there is a mailing list or irc
channel about epitome?
21:46 <+iant> you can also do, e.g., godoc Stdin from the command line
21:47 < dho> uriel: I can ask marco
21:50 < jdp> cool thanks
21:50 < uriel> dho: nevermind, I sent him an email directly
21:50 -!- Wiz126 [i=Wiz126@72.20.228.125] has quit [Connection timed out]
21:50 -!- Fish [n=Fish@78.238.225.114] has quit [Remote closed the connection]
21:51 -!- Wiz126 [i=Wiz126@72.20.219.17] has joined #go-nuts
21:52 -!- Whtiger [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has quit [Read error:
110 (Connection timed out)]
21:54 -!- kimelto [n=kimelto@boulz.org] has quit [Nick collision from services.]
21:55 < dho> ok
21:56 -!- kimelto [n=kimelto@boulz.org] has joined #go-nuts
22:03 -!- beneth`_ [n=beneth`@beneth.fr] has joined #go-nuts
22:05 -!- skelterjohn [n=jasmuth@lawn-net168-in.rutgers.edu] has quit []
22:08 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
connection]
22:12 -!- brunov [n=bruno@190.191.110.64] has quit [Read error: 110 (Connection
timed out)]
22:16 -!- beneth` [n=beneth`@beneth.fr] has quit [Read error: 110 (Connection
timed out)]
22:16 -!- skyyy [i=caw@129.21.116.238] has quit [Client Quit]
22:19 -!- eulenspiegel [n=irssi@p579CAE02.dip.t-dialin.net] has joined #go-nuts
22:21 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has joined #go-nuts
22:24 -!- Anders_ [n=Anders@c83-253-2-206.bredband.comhem.se] has quit ["Leaving"]
22:24 -!- HappyJack [n=arodrig@178.Red-81-39-114.dynamicIP.rima-tde.net] has
joined #go-nuts
22:25 -!- HappyJack [n=arodrig@178.Red-81-39-114.dynamicIP.rima-tde.net] has left
#go-nuts []
22:31 -!- deso [n=deso@x0561a.wh30.tu-dresden.de] has quit [Connection timed out]
22:34 -!- Whtiger [n=josh@c-68-60-92-33.hsd1.mi.comcast.net] has joined #go-nuts
22:35 -!- chachan [n=chachan@ccscliente156.ifxnetworks.net.ve] has quit ["KVIrc
Insomnia 4.0.0, revision: , sources date: 20090520, built on: 2009/06/06 11:44:47
UTC http://www.kvirc.net/"]
22:35 -!- rog [n=rog@92.28.217.99] has quit []
22:36 -!- einsidan [n=einsidan@194-144-68-248.du.xdsl.is] has left #go-nuts
["Leaving..."]
22:40 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has quit [Remote closed the connection]
22:43 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
22:44 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
22:46 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has joined #go-nuts
22:47 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has quit [Client Quit]
22:48 -!- brunov [n=bruno@190.191.110.64] has joined #go-nuts
22:50 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has joined #go-nuts
22:54 -!- snicket [n=cabina@148.227.201.174] has joined #go-nuts
22:54 -!- The_Doctor [n=The_Doct@dhcp-168-105-235-229.wireless.manoa.hawaii.edu]
has quit [Client Quit]
22:55 -!- snicket [n=cabina@148.227.201.174] has left #go-nuts []
22:57 -!- getisboy [n=Family@71.174.56.27] has joined #go-nuts
23:04 -!- getisboy [n=Family@71.174.56.27] has left #go-nuts []
23:05 -!- snicket [n=cabina@148.227.201.174] has joined #go-nuts
23:09 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
["Verlassend"]
23:09 -!- dyf [n=ad@CPE001346f3d041-CM00122500995a.cpe.net.cable.rogers.com] has
joined #go-nuts
23:11 -!- snicket [n=cabina@148.227.201.174] has quit []
23:17 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has quit
["Leaving."]
23:18 -!- raichoo [n=raichoo@i577BA11F.versanet.de] has quit
["http://raichoo.blogspot.com"]
23:19 -!- melba [n=blee@unaffiliated/lazz0] has quit ["MICROSOFT WORD IS A FUN
GAME"]
23:20 -!- mitchellh [n=mitchell@c-98-232-95-245.hsd1.wa.comcast.net] has joined
#go-nuts
23:20 -!- XniX23 [n=XniX23@89-212-10-29.dynamic.dsl.t-2.net] has joined #go-nuts
23:26 < alexsuraci> gah, readline keeps hanging.  going in an infinite loop
or something.
23:26 -!- lux` [n=lux@151.95.190.245] has quit [Remote closed the connection]
23:26 -!- drry [n=drry@unaffiliated/drry] has quit [Read error: 104 (Connection
reset by peer)]
23:27 -!- Rob_Russell [n=chatzill@206-248-157-156.dsl.teksavvy.com] has quit [Read
error: 113 (No route to host)]
23:27 -!- mitchellh [n=mitchell@c-98-232-95-245.hsd1.wa.comcast.net] has quit
["Leaving."]
23:28 -!- rhelmer [n=rhelmer@adsl-71-139-219-78.dsl.snfc21.pacbell.net] has joined
#go-nuts
23:31 -!- mitchellh [n=mitchell@c-71-231-140-22.hsd1.wa.comcast.net] has joined
#go-nuts
23:37 -!- drry [n=drry@unaffiliated/drry] has joined #go-nuts
23:40 -!- exch_ [n=nuada@h144170.upc-h.chello.nl] has joined #go-nuts
23:43 -!- JSharpe [n=jamie@5ad1d7c5.bb.sky.com] has quit [Read error: 104
(Connection reset by peer)]
23:45 -!- JSharpe2 [n=jamie@5ad93964.bb.sky.com] has joined #go-nuts
23:46 -!- exch [n=nuada@h144170.upc-h.chello.nl] has quit [Read error: 110
(Connection timed out)]
23:47 -!- skelterjohn [n=jasmuth@c-76-116-176-34.hsd1.nj.comcast.net] has joined
#go-nuts
23:51 -!- mertimor [n=mertimor@p578ED98F.dip.t-dialin.net] has quit []
23:53 -!- Venom_X [n=pjacobs@cpe-67-9-131-167.austin.res.rr.com] has quit []
23:57 -!- TyroneFHornigh [n=dbw@adsl-71-136-231-150.dsl.sndg02.pacbell.net] has
quit [Read error: 110 (Connection timed out)]
23:58 -!- XniX23 [n=XniX23@89-212-10-29.dynamic.dsl.t-2.net] has quit [Remote
closed the connection]
--- Log closed Tue Dec 08 00:00:30 2009