--- Log opened Tue Jul 12 00:00:56 2011
00:05 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
00:06 -!- franciscosouza [~francisco@187.105.25.184] has quit [Read error:
Connection reset by peer]
00:07 -!- vyom [~vyom@c-24-18-47-160.hsd1.wa.comcast.net] has quit [Remote host
closed the connection]
00:07 -!- franciscosouza [~francisco@187.105.25.184] has joined #go-nuts
00:09 -!- meling [~meling@12.238.254.50] has joined #go-nuts
00:15 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 258
seconds]
00:19 -!- dario_ [~dario@domina.zerties.org] has joined #go-nuts
00:19 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
00:21 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
00:22 -!- grai [~grai@38.70.70.115.static.exetel.com.au] has joined #go-nuts
00:26 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Ping
timeout: 240 seconds]
00:27 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 250
seconds]
00:28 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined
#go-nuts
00:28 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
240 seconds]
00:33 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
00:37 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
00:44 -!- danilo04 [~danilo04@wireless-184-12-12-73.dr02.roch.ny.frontiernet.net]
has joined #go-nuts
00:52 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
00:54 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 246 seconds]
00:56 -!- franciscosouza [~francisco@187.105.25.184] has quit [Read error:
Connection reset by peer]
00:59 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error:
Connection reset by peer]
01:29 < vsmatck> I don't think I understand the break with label.  Can
anyone help me understand that?
01:30 < vsmatck> I've been using a goto to get out of a nested loop.  I see
the example with the break with label, but the label is above the loops.
01:31 < vsmatck> Does the break with label just tell it what scope to break
out to?  Is that it?
01:31 < jessta_> vsmatck: a goto can go to any label, a break should only be
able to go to a label of an outer loop
01:32 < nicka> Yeah
01:32 < jessta_> it's better to use break since it makes it easier to read
01:33 < nicka> You're labelling the control structure basically
01:33 < vsmatck> Does it matter where the label is at with break?  Does it
just have to be in the right scope?
01:34 < nicka> http://golang.org/doc/go_spec.html#Break_statements
01:34 < vsmatck> I'm looking at that now.
01:34 < vsmatck> "If there is a label, it must be that of an enclosing "for"
...  " I don't know what this means.
01:35 < jessta_> somelabel: for {
01:35 < nicka> It can't be an arbitrary label
01:35 < nicka> Only one associated with an enclosing control structure
01:35 < vsmatck> ahh!  I think I get it.
01:35 * vsmatck goes to verify he gets it.
01:36 < vsmatck> Yeah.  Got it.  Thanks guys.  :)
01:37 -!- opt [~opt@174.3.227.184] has joined #go-nuts
01:45 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
01:53 -!- chadkouse1 [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined
#go-nuts
01:54 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Ping
timeout: 250 seconds]
01:55 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Quit: Leaving]
02:05 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 250 seconds]
02:10 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 250
seconds]
02:16 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
02:20 -!- espeed [~espeed@63.246.231.57] has joined #go-nuts
02:20 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
02:25 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
02:44 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Quit: Leaving]
02:45 -!- telexicon [~telexicon@unaffiliated/chowmeined] has joined #go-nuts
02:50 -!- espeed [~espeed@63.246.231.57] has quit [Quit: Leaving]
02:57 -!- danilo04 [~danilo04@wireless-184-12-12-73.dr02.roch.ny.frontiernet.net]
has quit [Ping timeout: 252 seconds]
02:57 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
03:01 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Read
error: Connection reset by peer]
03:17 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
03:21 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 255 seconds]
03:24 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
03:27 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host
closed the connection]
03:27 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
03:30 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
240 seconds]
03:35 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
03:37 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
03:40 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has quit [Quit:
Leaving]
03:53 -!- jmil [~jmil@2001:468:1802:e148:223:32ff:feb1:9dfc] has quit [Quit: jmil]
03:55 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
03:56 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
04:04 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:04 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:09 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
04:12 -!- keithcascio [~keithcasc@nat/google/x-ztebkjetmqehphau] has quit [Quit:
Leaving]
04:12 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
04:12 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
04:20 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
04:24 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
04:31 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has joined #go-nuts
04:36 -!- Bigbear1 [~Cody@d173-181-54-56.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
04:49 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts
04:57 -!- jyxent [~jyxent@129.128.191.96] has quit [Ping timeout: 246 seconds]
05:00 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
05:00 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 240
seconds]
05:01 -!- xcombelle [~xcombelle@AToulouse-551-1-63-115.w92-146.abo.wanadoo.fr] has
joined #go-nuts
05:06 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
05:11 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:13 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has joined #go-nuts
05:15 -!- \toothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Quit:
here we are]
05:20 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined
#go-nuts
05:23 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
05:23 -!- coldturnip1 [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has joined
#go-nuts
05:25 -!- coldturnip [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has quit [Ping
timeout: 246 seconds]
05:26 -!- str1ngs [~strings@unaffiliated/str1ngs] has joined #go-nuts
05:31 -!- chanwit [~chanwit@223.206.127.157] has joined #go-nuts
05:33 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Ping timeout:
252 seconds]
05:40 -!- kfb [~kfb@c-24-7-24-215.hsd1.ca.comcast.net] has quit []
05:41 -!- benjack [~benjack@bb121-6-51-10.singnet.com.sg] has joined #go-nuts
05:42 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 240
seconds]
05:44 -!- vmil86 [~vmil86@78.57.227.12] has joined #go-nuts
05:46 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has quit [Quit: jmil]
05:46 -!- molto_alfredo [~molto_alf@142.176.0.21] has quit [Ping timeout: 240
seconds]
05:48 -!- nicka1 [~lerp@142.176.0.21] has quit [Ping timeout: 252 seconds]
05:48 -!- nicka [~nicka@unaffiliated/nicka] has quit [Ping timeout: 240 seconds]
05:48 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
05:49 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
05:53 -!- mjml [~opt@174.3.227.184] has quit [Quit: Leaving]
05:53 -!- ccc1 [~Adium@140.109.98.187] has left #go-nuts []
05:54 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has quit [Ping timeout:
252 seconds]
05:55 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has joined #go-nuts
05:59 -!- chanwit [~chanwit@223.206.127.157] has quit [Quit: Leaving.]
06:05 -!- foocraft [~ewanas@78.100.194.220] has joined #go-nuts
06:07 -!- chadkouse1 [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit
[Quit: Leaving.]
06:08 -!- deadmoth [~void@ip98-181-33-119.br.br.cox.net] has joined #go-nuts
06:11 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 250 seconds]
06:11 -!- mindphaze [~void@ip98-181-33-119.br.br.cox.net] has quit [Ping timeout:
276 seconds]
06:19 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has joined #go-nuts
06:20 -!- ronnyy [~quassel@p4FF1C5EF.dip0.t-ipconnect.de] has joined #go-nuts
06:20 -!- jmil [~jmil@c-68-81-252-40.hsd1.pa.comcast.net] has quit [Quit: jmil]
06:20 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
06:43 -!- Project_2501 [~Marvin@82.84.93.231] has joined #go-nuts
06:59 -!- Project-2501 [~Marvin@82.84.70.165] has joined #go-nuts
07:03 -!- Project_2501 [~Marvin@82.84.93.231] has quit [Ping timeout: 264 seconds]
07:03 -!- bpalmer [~user@unaffiliated/bpalmer] has left #go-nuts ["ERC Version
5.1.2 $Revision: 1.796.2.6 $ (IRC client for Emacs)"]
07:06 -!- Crnobog_ [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com]
has quit [Ping timeout: 246 seconds]
07:06 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
07:08 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
07:11 -!- mikespook [~mikespook@183.47.227.242] has quit [Ping timeout: 260
seconds]
07:12 -!- yogib [~yogib@131.234.59.64] has joined #go-nuts
07:23 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
07:25 -!- mikespook [~mikespook@183.47.234.5] has joined #go-nuts
07:25 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has joined #go-nuts
07:27 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has quit [Quit:
Leaving]
07:30 -!- alkor [~alkor@unaffiliated/alkor] has joined #go-nuts
07:31 < alkor> In go, can I declare an array of chan int?
07:31 < alkor> And if I can how can run select over it?
07:32 < aiju> [10]chan int and no
07:32 < aiju> you can't
07:32 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
07:34 -!- ronnyy [~quassel@p4FF1C5EF.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
07:35 < alkor> ok, so I have the following little snippet
07:36 < alkor> http://pastebin.com/PBS1cb1w
07:36 < alkor> is there an idiomatic way to run this for general N instead
for just N=2?
07:36 < jnwhiteh> use a shared channel
07:36 < jnwhiteh> that would be the idiomatic way, since that's what you're
doing.
07:37 < alkor> what is a shared channel?
07:37 < jnwhiteh> multiple goroutines can share a channel and both write to
it
07:37 < alkor> thanks
07:38 < alkor> i don't think that would work in my case
07:38 < alkor> each channel represents a network connection to a different
node in a network
07:38 < jnwhiteh> they should be roughly equivalent
07:38 < jnwhiteh> yes, but the way you handle the messages is the same
07:38 < jnwhiteh> since you're looking for a general solution
07:39 < alkor> and a node can be connected to an arbitrary number of nodes -
and that number may change as the application runs
07:39 < alkor> so i really need a select on N channels
07:39 < jnwhiteh> why?
07:39 < jnwhiteh> why can't each node simply have an 'in' channel
07:39 < jnwhiteh> and anyone that is connected to that node has that
channel?
07:39 < alkor> when another node sends information on the in channel, it
will expect an answer
07:40 < alkor> and the original node will not be able to send it back if
there is a single in channel
07:40 < aiju> rob pike stated that there never will be a select on N
channels
07:40 < jnwhiteh> it could send a channel on which it expects a response
07:40 < jnwhiteh> so you want to implement method calls over channels
07:40 < jnwhiteh> in an arbitrarily connected way
07:41 < alkor> can i send channels over a netchan?
07:41 < aiju> i doubt it
07:41 < jnwhiteh> ah, I'm not sure
07:41 < jnwhiteh> but you didn't say you were using netchans =)
07:41 < aiju> yes he was
07:41 < aiju> 09:45 < alkor> each channel represents a network
connection to a different node in a network
07:41 < aiju> did you think he was using magic voodoo?
07:41 < jnwhiteh> aiju: you are reading into the word 'network' here
07:41 < jnwhiteh> no, I work in concurrent architecture all day in
07:41 < alkor> well for now i will simulate the application without the
network just using channels, but the eventual plan is to make it a p2p application
where each node works on a different computer
07:42 < jnwhiteh> a process oriented system is a 'network'
07:42 -!- Project_2501 [~Marvin@82.84.77.6] has joined #go-nuts
07:42 < jnwhiteh> so its mixed terminology
07:42 < aiju> alkor: have one go routine per netchan
07:42 < aiju> have them gather the data and write into a shared channel
07:42 < aiju> ???
07:42 < aiju> profit!
07:43 < alkor> so why can't i send a channel over a netchan?  isn't netchan
a first class channel?
07:43 < aiju> alkor: how the fuck is that supposed to work?
07:44 < alkor> so i will send an object over a netchan (a request) and the
object will have a channel where the response is supposed to send on which the
client will listen
07:45 -!- Project-2501 [~Marvin@82.84.70.165] has quit [Ping timeout: 264 seconds]
07:45 < aiju> i mean, how do you send a channel across the network?
07:46 < aiju> it would require some crazy magic
07:48 < jnwhiteh> Here's what Russ suggests:
http://paste.pocoo.org/show/436813/
07:49 < jnwhiteh> but that doesn't directly address your issue since you
want to be able to communicate back
07:49 -!- foocraft_ [~ewanas@dyn-86-36-35-147.QATAR.CMU.EDU] has joined #go-nuts
07:49 < jnwhiteh> but you could alter that to use two channels in order to
allow that, for example
07:53 < alkor> thanks
07:54 -!- alkor [~alkor@unaffiliated/alkor] has quit [Quit: alkor]
08:00 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 252 seconds]
08:04 -!- mikespook [~mikespook@183.47.234.5] has quit [Remote host closed the
connection]
08:04 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
08:05 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
08:06 -!- mikespook [~mikespook@183.47.234.5] has joined #go-nuts
08:11 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 246
seconds]
08:15 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:17 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
08:18 -!- pjz [~pj@place.org] has joined #go-nuts
08:18 -!- madari_ [madari@idm.irc-galleria.net] has joined #go-nuts
08:19 -!- russell_1 [~russell_h@ash.osuosl.org] has joined #go-nuts
08:21 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit:
WeeChat 0.3.0]
08:23 -!- Netsplit *.net <-> *.split quits: russell_h, bthomson, madari,
pjz_
08:27 -!- photron [~photron@port-92-201-101-3.dynamic.qsc.de] has joined #go-nuts
08:32 -!- fabled [~fabled@83.145.235.194] has quit [Read error: No route to host]
08:32 -!- virtualsue [~chatzilla@nat/cisco/x-svncacxihyuhvsts] has joined #go-nuts
08:34 -!- ccc1 [~Adium@140.109.98.187] has joined #go-nuts
09:01 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
09:07 -!- mikespook [~mikespook@183.47.234.5] has quit [Remote host closed the
connection]
09:08 -!- shachaf [~shachaf@204.109.63.130] has quit [Read error: Operation timed
out]
09:14 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has quit [Ping timeout:
252 seconds]
09:15 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
09:22 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
09:23 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 253
seconds]
09:24 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has joined #go-nuts
09:27 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-166-158.clienti.tiscali.it] has
joined #go-nuts
09:29 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
09:30 -!- Project_2501 [~Marvin@82.84.77.6] has quit [Ping timeout: 240 seconds]
09:30 -!- exch [~blbl@87.209.181.34] has joined #go-nuts
09:32 -!- ccc1 [~Adium@140.109.98.187] has quit [Quit: Leaving.]
09:36 -!- zaero [~eclark@servo.m.signedint.com] has quit [Ping timeout: 260
seconds]
09:46 -!- benjack [~benjack@bb121-6-51-10.singnet.com.sg] has quit [Quit:
Leaving.]
10:08 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
10:16 -!- erus` [~chatzilla@mailgate.ips-international.com] has joined #go-nuts
10:17 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Read
error: Connection reset by peer]
10:18 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
10:18 -!- alehorst [~alehorst@189.58.19.21.dynamic.adsl.gvt.net.br] has quit [Read
error: Connection reset by peer]
10:18 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 252
seconds]
10:21 < uriel> aiju: maybe netchan could wrap channels sent with netchans
10:22 < uriel> (I have absolutely no idea if this is feasible, I have not
even used netchan, but even if at first it sounds crazy, it might be possible)
10:22 < aiju> many things are possible
10:22 < aiju> i just doubt that they took the effort
10:22 < uriel> yea, doesn't sound too useful in any case
10:23 < uriel> I just was surprised to realize that it *migtht* be possible
10:24 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
10:25 -!- bthomson [~bthomson@c-68-33-5-232.hsd1.va.comcast.net] has joined
#go-nuts
10:26 -!- alehorst [~alehorst@201.22.35.44.dynamic.adsl.gvt.net.br] has joined
#go-nuts
10:39 -!- Kahvi [~Kahvi@a91-152-186-228.elisa-laajakaista.fi] has joined #go-nuts
10:39 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has quit [Quit: leaving]
10:49 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
10:50 -!- coldturnip [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has joined
#go-nuts
10:52 -!- coldturnip1 [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has quit [Ping
timeout: 240 seconds]
10:53 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
10:55 -!- JimPeak [~lejimpeak@modemcable213.208-160-184.mc.videotron.ca] has quit
[Ping timeout: 252 seconds]
10:58 -!- cmike_ [~cmike@adsl-99-75-50-144.dsl.bltnin.sbcglobal.net] has quit
[Remote host closed the connection]
11:00 -!- nicka [~nicka@unaffiliated/nicka] has joined #go-nuts
11:05 -!- coldturnip [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has quit [Read
error: Connection reset by peer]
11:06 -!- coldturnip [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has joined
#go-nuts
11:08 -!- rael_wiki [~chatzilla@unaffiliated/rael-wiki/x-8420294] has joined
#go-nuts
11:13 -!- ronnyy [~quassel@p4FF1C5EF.dip0.t-ipconnect.de] has joined #go-nuts
11:18 < rael_wiki> in the rpc package what should mean an error message like
"2011/07/12 13:26:00 rpc: client protocol error: read tcp 127.0.0.1:5360:
connection reset by peer"
11:19 < jessta_> sounds like the connection was dropped
11:20 < rael_wiki> yep, but it's strange...  the client opens a connection,
calls a remote procedure and then closes the connection
11:21 < rael_wiki> this happens many times...
11:21 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has joined
#go-nuts
11:23 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 252
seconds]
11:29 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
11:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:34 < erus`> i wish do had algebraic types sometimes
11:35 < aiju> algebraic types?
11:35 < aiju> enums?
11:36 < erus`> data Maybe = Just x | Nothing
11:36 < aiju> oh that stuff
11:36 < erus`> they a function can return a Maybe int
11:36 < aiju> yeah i know
11:36 < erus`> rather than a int, bool
11:36 < aiju> i like int, bool better
11:37 < erus`> yeah but you cant feed that straight into another function
can you?
11:37 < erus`> somethingelse(IntBoolFunc(123), 321);
11:38 < mpl> good question
11:38 < skelterjohn> Just x | Nothing => use a *int
11:38 < mpl> I guess you can always pass a struct that wraps those two if
anything.
11:39 < skelterjohn> it can be an int or nil
11:39 < skelterjohn> but int, ok is much clearer
11:39 < aiju> i don't remember exactly but i found maybe stuff to be a
plague
11:40 < exch> confused the hell out of me
11:40 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 260 seconds]
11:40 < aiju> not confusing, just annoying to work with
11:40 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has joined #go-nuts
11:44 -!- _foocraft [~ewanas@78.101.175.151] has joined #go-nuts
11:45 -!- foocraft [~ewanas@78.100.194.220] has quit [Ping timeout: 246 seconds]
11:46 -!- foocraft_ [~ewanas@dyn-86-36-35-147.QATAR.CMU.EDU] has quit [Quit: if
you're going....to san.  fran.  cisco!!!]
11:46 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
11:48 < jessta_> exch: you can, as long the the function takes the same
number of parameters as you are returning
11:49 < jessta_> erus`: oops I ment you
11:55 -!- ronnyy [~quassel@p4FF1C5EF.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
11:55 -!- meling [~meling@12.238.254.50] has quit [Remote host closed the
connection]
12:11 -!- PortatoreSanoDiI [~Marvin@82.84.87.65] has joined #go-nuts
12:14 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-166-158.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
12:18 < skelterjohn> jessta_: is that right?  didn't know that
12:18 < skelterjohn> can you string together multiple multi-returns into one
function?
12:18 < Namegduf> I don't think so.
12:19 < Namegduf> I remember the basic form working but I think that's it.
12:19 < jessta_> skelterjohn: nope
12:19 < exch> a().b().c() doesnt work if any of those (or all) have more
than 1 return value
12:19 < jessta_> has to match exactly
12:19 < exch> But I realize that's not what you meant
12:19 < Namegduf> It wouldn't work for the hypothetical "Maybe" type either,
though
12:20 < Namegduf> So I think that's no loss there
12:22 -!- molto_alfredo [~molto_alf@142.176.0.21] has joined #go-nuts
12:25 -!- nicka1 [~lerp@142.176.0.21] has joined #go-nuts
12:28 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 246
seconds]
12:30 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has quit
[Ping timeout: 276 seconds]
12:34 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
12:42 -!- PortatoreSanoDiI [~Marvin@82.84.87.65] has quit [Ping timeout: 246
seconds]
12:52 < vikstrom> an interesting point though, if you have: f() (a,b int)
and g(a,b int) should you be able to do g(f())
12:52 < exch> you can
12:52 < vikstrom> would that be good or just cludgy
12:52 < vikstrom> you can?
12:52 < exch> yes
12:52 < vikstrom> i had no idea
12:52 -!- Wild_Cat [~mnoel@70.193.200.77.rev.sfr.net] has joined #go-nuts
12:52 < vikstrom> i think i tried it in the beginning and it didn't work
12:53 < exch> you can't do: f() (a, b int) g(a, b, c int); g(f(), 123)
however
12:53 < vikstrom> maybe i got the syntax wrong back then
12:53 < vikstrom> interesting
12:54 -!- niemeyer [~niemeyer@12.236.237.2] has joined #go-nuts
12:57 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
12:58 -!- ccc1 [~Adium@114-45-0-71.dynamic.hinet.net] has joined #go-nuts
13:00 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
13:21 -!- patcoll [~patcollin@173-13-48-166-Pennsylvania.hfc.comcastbusiness.net]
has joined #go-nuts
13:22 -!- ArgonneIntern [~gauge@130.202.135.149] has joined #go-nuts
13:29 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 252 seconds]
13:33 -!- oal [~oal@5.79-160-122.customer.lyse.net] has joined #go-nuts
13:34 < oal> Is there a headless "web browser" library for Go? Sort of like
PhantomJS, but that can be used directly from go?
13:35 < exch> Not that I amware of
13:37 -!- jmil [~jmil@2001:468:1802:e148:223:32ff:feb1:9dfc] has joined #go-nuts
13:37 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined
#go-nuts
13:40 -!- iant1 [~iant@67.218.103.165] has joined #go-nuts
13:42 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
13:44 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
13:51 -!- zaero [~eclark@servo.m.signedint.com] has joined #go-nuts
13:51 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has joined #go-nuts
13:51 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has
joined #go-nuts
13:56 < skelterjohn|work> morning
13:56 < zozoR> its 16.00 : |
13:57 -!- muke [~doobies@75.59.237.124] has quit [Ping timeout: 276 seconds]
13:57 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
13:57 -!- muke [~doobies@75-59-237-124.lightspeed.sntcca.sbcglobal.net] has joined
#go-nuts
13:57 < skelterjohn|work> http://www.total-knowledge.com/~ilya/mips/ugt.html
14:00 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has left #go-nuts []
14:01 -!- coffeejunk [~max@static.58.62.47.78.clients.your-server.de] has joined
#go-nuts
14:05 < zozoR> :(
14:05 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
14:10 < skelterjohn|work> why sad?
14:11 < mpl> skelterjohn|work: you're taking all the fun out of bikeshedding
! :)
14:11 < skelterjohn|work> wahh?
14:12 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
14:12 -!- virtualsue [~chatzilla@nat/cisco/x-svncacxihyuhvsts] has quit [Quit:
ChatZilla 0.9.87 [Firefox 5.0/20110615151330]]
14:12 < mpl> skelterjohn|work: nm.  I'm just seeing a similar pattern
between bike shedding and pointing out that in someone's time it's not
morning/afternoon/night
14:17 -!- d2biG [p@bofh.edu.pl] has joined #go-nuts
14:18 -!- dRbiG [p@bofh.edu.pl] has quit [Ping timeout: 276 seconds]
14:18 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
14:18 -!- vikstrom [~vikstrom@stockholm.ardendo.se] has quit [Read error:
Connection reset by peer]
14:23 -!- mode/#go-nuts [+v iant] by ChanServ
14:43 < crest> is their any example for crypto.tls?
14:43 < skelterjohn|work> check the source of the package - there are
_test.go files if it's a core package
14:44 < crest> skelterjohn|work: :-!  thx
14:44 -!- Wild_Cat [~mnoel@70.193.200.77.rev.sfr.net] has left #go-nuts
["Leaving"]
14:54 -!- meling [~meling@129.33.193.254] has joined #go-nuts
14:56 -!- GeertJohan [~Squarc@clal-5-212.eduroam.inholland.nl] has quit [Read
error: Connection reset by peer]
14:56 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read error:
Connection reset by peer]
14:58 -!- iant [~iant@67.218.103.165] has quit [Quit: Leaving.]
14:59 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
15:00 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
15:05 -!- ccc1 [~Adium@114-45-0-71.dynamic.hinet.net] has quit [Quit: Leaving.]
15:14 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
15:18 -!- virtualsue [~chatzilla@nat/cisco/x-vosjhqasfmeomdtx] has joined #go-nuts
15:20 -!- taruti [~taruti@ultra.violetti.org] has quit [Read error: Operation
timed out]
15:21 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
15:22 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts
15:23 -!- meling [~meling@129.33.193.254] has quit [Remote host closed the
connection]
15:24 -!- Zoopee [alsbergt@zoopee.org] has left #go-nuts ["Leaving"]
15:26 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Client
Quit]
15:32 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Read
error: Connection reset by peer]
15:32 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts
15:33 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 240 seconds]
15:41 -!- meling [~meling@129.33.192.180] has joined #go-nuts
15:41 -!- niemeyer [~niemeyer@12.236.237.2] has quit [Ping timeout: 240 seconds]
15:42 -!- fotang [~fotang@41.206.12.53] has joined #go-nuts
15:42 -!- cco3 [~conleyo@nat/google/x-xrjkbfgmcazcndwk] has joined #go-nuts
15:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
15:42 -!- niemeyer [~niemeyer@12.236.237.2] has joined #go-nuts
15:45 -!- lurcio [~margent@compy386.queens.ox.ac.uk] has left #go-nuts []
15:47 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:47 -!- erus` [~chatzilla@mailgate.ips-international.com] has quit [Quit:
ChatZilla 0.9.87 [Firefox 5.0/20110615151330]]
15:49 -!- yogib [~yogib@131.234.59.64] has quit [Quit: yogib]
15:58 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
15:58 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
15:59 -!- foocraft [~ewanas@KURAMATHI.QATAR.CMU.EDU] has joined #go-nuts
16:00 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined
#go-nuts
16:06 -!- clip9 [clip9@er.en.svarteper.com] has quit [Ping timeout: 240 seconds]
16:08 -!- russell_h [~russell_h@ash.osuosl.org] has quit [Changing host]
16:08 -!- russell_h [~russell_h@osuosl/staff/russellh] has joined #go-nuts
16:15 -!- fotang [~fotang@41.206.12.53] has quit [Ping timeout: 252 seconds]
16:17 -!- fotang [~fotang@41.206.12.52] has joined #go-nuts
16:17 -!- rael_wiki [~chatzilla@unaffiliated/rael-wiki/x-8420294] has quit [Remote
host closed the connection]
16:21 -!- trn [~trn@adsl-065-007-181-160.sip.bct.bellsouth.net] has quit [Ping
timeout: 246 seconds]
16:24 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
16:25 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 260 seconds]
16:30 -!- iant [~iant@nat/google/x-dkaajnmprkhufpjf] has joined #go-nuts
16:30 -!- mode/#go-nuts [+v iant] by ChanServ
16:33 -!- erus` [~chatzilla@host86-183-237-107.range86-183.btcentralplus.com] has
joined #go-nuts
16:37 -!- Fish [~Fish@tru67-1-82-229-53-64.fbx.proxad.net] has joined #go-nuts
16:42 -!- trn [~trn@adsl-065-007-181-160.sip.bct.bellsouth.net] has joined
#go-nuts
16:44 -!- photron [~photron@port-92-201-101-3.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
16:46 -!- photron [~photron@port-92-201-101-3.dynamic.qsc.de] has joined #go-nuts
16:50 < gnuvince|work> Can someone explain why this doesn't display 0, 1, 2,
3, 4?  http://www.ideone.com/zbx21
16:50 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit:
pyrhho]
16:51 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:70bc:36a7:5263:cc79] has joined
#go-nuts
16:53 -!- zippoxer [~zippoxer@109.65.217.190] has joined #go-nuts
16:53 < pharris> i changes before the channel can receive the closure.
16:54 -!- yogib [~kaiser@dslb-188-100-004-241.pools.arcor-ip.net] has joined
#go-nuts
16:54 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 258 seconds]
16:54 < pharris> Perhaps something like "x := i; ch <- func() {
fmt.Prinln(x) }" to store a copy of i at the value you expect.
16:55 < gnuvince|work> Cool, thanks
16:55 < gnuvince|work> Otherwise, I could just make it an unbuffered
channel?
16:56 < kevlar_work> the correct way is ch <- func(int x){ fmt.Println(x)
}(x)
16:56 -!- gtodd [~gtodd@CPE0080c8f208a5-CM001371173cf8.cpe.net.cable.rogers.com]
has joined #go-nuts
16:56 < pharris> No. There's still a race between the closure running and i
changing to the next number.
16:56 < kevlar_work> er, sorry, you didn't mean to call it.
16:56 -!- meling [~meling@129.33.192.180] has quit [Remote host closed the
connection]
16:56 < pharris> You might get 0, 2, 2, 4, 4, maybe, if you used an
unbuffered channel.
16:57 < gnuvince|work> ok
16:57 < gnuvince|work> Thanks
16:57 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
16:58 < kevlar_work> gnuvince|work, a buffered channel only causes the
function send to be buffered, it doesn't guarantee that the execution also happens
before the next iteration of the loop.
16:58 < gtodd> is go + llvm ongoing work ?
16:58 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-112.clienti.tiscali.it] has
joined #go-nuts
16:58 < kevlar_work> I don't think I've heard the go team say they're
working on it, have they?
16:58 < gnuvince|work> kevlar_work: makes sense
16:59 < gtodd> I mean as go as a language matures etc.  will it be
reconsidered :)
16:59 < kevlar_work> gnuvince|work, the reason that what pharris suggested
works is because x is rebound each time the loop executes while I is bound once
and its value changes (just to make sure it was clear)
16:59 < kevlar_work> gtodd, the go team already has two implementations, why
would they make a third?
17:00 < gnuvince|work> kevlar_work: yeah, that was clear
17:00 < gtodd> you mean gccgo ?
17:00 < kevlar_work> gtodd, gc and gccgo are the two implementations
17:00 < gtodd> kevlar_work: because llvm has some neat tools :)
17:01 < kevlar_work> so does Java.  and C#. and .NET.  and Scala.  And
Python.
17:01 < kevlar_work> doesn't mean the go team should use them as a platform
for a new compiler ;-)
17:02 < gtodd> I thought it was only put on hold because it was slow to
compile way back when ...
17:02 < kevlar_work> I'm sure the Go team would love it if someone were to
start work on an llvm implementation of Go.
17:02 -!- trn [~trn@adsl-065-007-181-160.sip.bct.bellsouth.net] has quit [Max
SendQ exceeded]
17:03 < gnuvince|work> Now the question about why I'm looking into having a
channel of closures: I have a goroutine that has a connection to a database and I
want to send queries to the db from other goroutines and be able to manipulate the
results.  Does it make sense to do it this way?  I could make the db conncetion
global and use a mutex, but that looks like a bad solution to me.
17:03 < kevlar_work> gnuvince|work, I have a very similar model in my
current database interface
17:04 < gnuvince|work> kevlar_work: passing closures over channels?
17:04 -!- virtualsue [~chatzilla@nat/cisco/x-vosjhqasfmeomdtx] has quit [Ping
timeout: 252 seconds]
17:04 < kevlar_work> I send a func(client *mysql.Client) os.Error over the
channel
17:04 < gnuvince|work> that's what I was thinking of doing.
17:04 < kevlar_work> then the server calls the closure with the client and
either commits or rolls back the transaction based on the error return
17:04 < gnuvince|work> What if you want to communicate a result back?  Your
func closes over a channel?
17:05 < kevlar_work> nah, I actually send a type Query { Run func(client
*mysql.Client); Done chan bool }
17:05 < kevlar_work> er
17:05 < kevlar_work> Done chan os.Error
17:05 < kevlar_work> it sends whatever error it got back from the closure on
the done channel once it's committed or rolled back the transaction.
17:06 < kevlar_work> However, I have been clued in on the fact that there
are better database drivers for Go that don't require everything to happen
single-threaded
17:06 < gnuvince|work> But let's say you send a func that performs a SELECT
and you want to send the 7 results to your caller?
17:06 < kevlar_work> gnuvince|work, the "Caller" puts all of that logic
inside the closure, which--don't forget--can set variables outside the closure
17:07 < gnuvince|work> OK
17:07 < kevlar_work> so it's like x := results{}; query <- func(...){ /*
do query, retrieve results, store in x */ }; <-done; /* process x */
17:07 < gtodd> well I guess llvm has the concept of frontends so maybe gccgo
might alllow llvm to work already ...  but if the bias for go is towards compile
time speed instead of optimizations then 6g is to be preferred.  I thought that it
was only for early development but it makes sense to have a language where compile
time is super fast.
17:07 < gtodd> ok thanks
17:08 < kevlar_work> gtodd, the preference is to make a great language, and
one that enables both fast compile speed and serious optimizations.
17:09 < kevlar_work> the implementations themselves follow.
17:09 < kevlar_work> it's also not clear that the optimizations that llvm
and gcc make are anywhere near the kinds of optimizations enabled by or needed for
the kinds of programs that go produces.
17:10 < kevlar_work> though of course there are lots of optimizations that
they both can use to make normal inter-function code faster.
17:11 < gtodd> kevlar_work: yeah ...  as well the binaries seem very small
and fast like it would work for sysadmin type tools (small unixy type tools
anyway)...  and go is easier/faster to use than trying to write things that can
use dietlibc
17:12 < gtodd> :)
17:12 < gtodd> it's pretty cool
17:15 < gtodd> me go now :)
17:15 -!- gtodd [~gtodd@CPE0080c8f208a5-CM001371173cf8.cpe.net.cable.rogers.com]
has left #go-nuts []
17:16 < kevlar_work> (go binaries are pretty big because they're mostly
statically linked, I thought.)
17:16 -!- foocraft [~ewanas@KURAMATHI.QATAR.CMU.EDU] has quit [Quit: if you're
going....to san.  fran.  cisco!!!]
17:20 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has
joined #go-nuts
17:21 < nicka1> Is there much in the way of cgo documentation other than the
examples in misc/cgo?
17:21 < Namegduf> kevlar_work: Also debug information.
17:22 < kevlar_work> that too.
17:22 < kevlar_work> nicka1, cgo is a bit of a black art...
17:22 < skelterjohn|work> nicka1: surprisingly little, i find
17:22 < skelterjohn|work> for instance, i can't find the C.X() functions
listed
17:22 < skelterjohn|work> C.GoString(), C.CString()
17:22 < skelterjohn|work> ok those are the only ones i can think of
17:22 < nicka1> That's what I was expecting :/
17:22 < skelterjohn|work> but i don't know where they're documented
17:22 < skelterjohn|work> i can tell you how they work, if you like :)
17:22 < kevlar_work> skelterjohn|work, I had the same issue, lol
17:23 < kevlar_work> someone should make a go-wiki page for cgo.
17:23 < skelterjohn|work> i asked around trying to find docs, but no one
could point me to them
17:23 < skelterjohn|work> not a bad idea...can we wiki off the go googlecode
page?
17:23 < nicka1> Yeah, some canonical examples on how to do things in cgo
would be amazing
17:24 < skelterjohn|work> i'm bored at work, maybe i'll take a shot
17:24 < skelterjohn|work> not clear to me how i can add to
http://code.google.com/p/go-wiki/w/list
17:24 < nicka1> I'm mostly interested in go slices to c arrays
17:25 < skelterjohn|work> nicka1: no utility functions are provided for
that, as far as i know
17:25 < skelterjohn|work> though...
17:25 -!- awidegreen [~quassel@85.24.170.226] has joined #go-nuts
17:25 < skelterjohn|work> if you have a slice
17:25 < skelterjohn|work> &theSlice[0] is the pointer to the C array
17:25 < skelterjohn|work> with no information about length
17:25 < nicka1> Yep, I figured that much out after some fiddling
17:26 < skelterjohn|work> something to go the other way might be useful
17:26 < skelterjohn|work> and possible to do through unsafe
17:26 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has
quit [Read error: Connection reset by peer]
17:26 < skelterjohn|work> but nothing built-in that i know of
17:26 -!- Crnobog [~crnobog@cpc3-nmal12-0-0-cust48.croy.cable.virginmedia.com] has
joined #go-nuts
17:28 -!- Nisstyre [~nisstyre@infocalypse-net.info] has quit [Remote host closed
the connection]
17:30 < ptrb> I'm thinking about the "Don't communicate by sharing memory;
share memory by communicating" mantra, as I'm trying to solve a particular
problem:
17:31 < skelterjohn|work> like most guidelines, you should only follow it
when it's appropriate
17:31 < ptrb> Sure, sure.  But I think it might: I have a variable that
needs to be read by one or more readers, but also potentially updated by one or
more writers.
17:31 < skelterjohn|work> then channels are a good way to do it
17:32 < skelterjohn|work> read/write by recv/send
17:32 < skelterjohn|work> with a single goroutine managing the variable's
data
17:32 < ptrb> Right, but I need reads to be async, and represent the most
recently written state of the variable.
17:32 < skelterjohn|work> sure
17:32 < ptrb> So I'm thinking a goroutine in the middle, reading from one
chan and writing to the other with a select { }?
17:32 < skelterjohn|work> yes
17:33 -!- Nisstyre [~nisstyre@infocalypse-net.info] has joined #go-nuts
17:33 < skelterjohn|work> in a for loop i guess
17:33 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
17:33 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
17:33 < ptrb> for { select { val <-in: break; out <- val: break; } }
17:33 < ptrb> something like this?
17:33 < skelterjohn|work> seems right
17:33 < skelterjohn|work> well
17:34 < skelterjohn|work> need case statements
17:34 < skelterjohn|work> but aside from syntax, you have the right idea
17:34 < ptrb> right.
17:34 < ptrb> Neat.  Just wanted to run it by another human.
17:34 < skelterjohn|work> oh, i have some unfortunate news for you
17:34 < skelterjohn|work> i'm not a human.
17:34 < skelterjohn|work> :\
17:34 < ptrb> Fuck.
17:39 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
17:44 -!- dsal [~Adium@208.185.212.98] has joined #go-nuts
17:45 < dsal> Hey, can someone help me out a bit?  I'm trying to fix someone
else's code and getting an error I don't understand:
17:45 < dsal> couch.go:28: assignment count mismatch: 2 = 3
17:45 < dsal> That line of code looks like this: if r, err := http.Get(url);
err == nil {
17:45 < Kahvi> http.Get returns three values?
17:45 < dsal> As far as I can tell, http.Get takes a string and returns a
result and an error.
17:46 -!- virtualsue [~chatzilla@nat/cisco/x-fcqsldprmjmcqval] has joined #go-nuts
17:46 < dsal> That's not what I see here:
http://golang.org/pkg/http/#Client.Get
17:47 < ptrb> dsal: lucky for you, I wrote couch.go :)
17:47 < ptrb> I fixed that recently.  Can you re-pull?
17:47 < skelterjohn|work> hehe good channel to ask questions in
17:47 < ptrb> recently as in several weeks ago, though.
17:48 < dsal> ptrb: :) I just did this clone.  That's happening right now.
17:48 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
17:48 < ptrb> Umm.
17:48 < ptrb> (checks)
17:48 < dsal> 45:c202930d107f
17:49 < ptrb> Your golang.org URL says Get returns 2 values, not 3.
17:49 < dsal> That's correct.  This is why I'm having trouble fixing this
problem.  :)
17:49 < skelterjohn|work> perhaps go is out of date on your machine
17:49 < skelterjohn|work> ?
17:50 < dsal> Oh wait, dodoc gives me something else:
17:50 < dsal> func (c *Client) Get(url string) (r *Response, finalURL
string, err os.Error)
17:50 < dsal> (er, godoc.  heh)
17:50 < skelterjohn|work> sounds like go is out of date :)
17:50 < dsal> I believe that's the case.  I'm running from homebrew and it
looks like it's running HEAD.  HEAD apparently doesn't move.
17:50 < skelterjohn|work> or you're using something that is bleeding edge
17:50 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has joined #go-nuts
17:50 < skelterjohn|work> ah
17:51 < skelterjohn|work> don't use package managers for go if you don't
have to
17:51 < skelterjohn|work> homebrew is mac, right?
17:51 < dsal> Yeah.
17:51 < ptrb> HEAD is nonexistent in Mercurial..  ? 'tip', or?
17:51 < dsal> It's, you know, easy.  :)
17:51 < dsal> HEAD is just the concept in homebrew.  It'd be tip.
17:51 < ptrb> Ugh.  Package management on Mac just isn't worth it.
17:51 < skelterjohn|work> just follow the instructions on the go page for
installing
17:51 < skelterjohn|work> it's more like, go changes too fast for a package
manager to be useful
17:51 < ptrb> That too.
17:51 < skelterjohn|work> if you can, try to "hg pull; hg up release"
17:52 < skelterjohn|work> though i don't know where homebrew would put your
go distribution
17:52 < skelterjohn|work> or if it has the repository built in
17:52 < Kahvi> Building Go was easier than I eer imagined
17:52 < skelterjohn|work> probably not
17:52 < dsal> I like homebrew for released packages, but it isn't great for
following the latest rev of something.
17:52 -!- clip9 [clip9@er.en.svarteper.com] has quit [Read error: Operation timed
out]
17:52 < dsal> I built go from source right after it came out.  Now I'm just
trying to treat it like stable software.  :)
17:53 < ptrb> dsal: unfortunately, even the 'release' releases are every
month or two.
17:53 < dsal> Well, it doesn't install from homebrew now anyway.  Source it
is.  :)
17:54 < skelterjohn|work> most 3rd party packages will be kept up to date
with release, weekly or both
17:54 < skelterjohn|work> so it's good to be able to hg up
17:56 -!- meling [~meling@129.33.192.180] has joined #go-nuts
17:58 < dsal> This is rather annoying:
17:58 < dsal> dhcp-113:~/prog/eprojects/go/src 604% ./all.bash
17:58 < dsal> $GOROOT is not set correctly or not exported: /Users/dustin/go
17:58 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
17:58 < skelterjohn|work> have to run all.bash from within what you set
$GOROOT to
17:59 < dsal> Oh. I thought it was the destination.
17:59 < skelterjohn|work> it's the destination and the source
18:00 < dsal> OK. It's all under control now.
18:01 < dsal> What does it mean that linux/arm is incomplete?
18:01 < skelterjohn|work> since you're on a mac, i'm guessing not a lot
18:01 < kevlar_work> dsal, there are some notable things stubbed out
18:01 < skelterjohn|work> but i don't know specifically
18:03 < dsal> :) I've got a Linux arm box at home.
18:04 < aiju> dsal: there is a variable GOTARGETROOT or something
18:04 < skelterjohn|work> oh, didn't know that
18:04 < aiju> GOROOT_FINAL
18:04 < aiju> same with GOHOSTOS and GOOS
18:04 < dsal> Yeah.  $GOBIN is OK for me.
18:05 < skelterjohn|work> whoah, GOHOSTOS?
18:05 < jlaffaye> these nice blog posts should be on the website to have
more exposure!
18:05 < aiju> skelterjohn|work: the platform you're compiling on
18:05 < aiju> skelterjohn|work: it should figure it out with uname, though
18:05 < skelterjohn|work> runtime.GOOS
18:05 < skelterjohn|work> but that's from within go, i suppose
18:05 < aiju> GOHOSTOS is in the makefile
18:06 -!- meling [~meling@129.33.192.180] has quit [Remote host closed the
connection]
18:06 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Quit:
Leaving.]
18:06 < dsal> I'm glad go compiles fast.  I keep having to start this over.
I think I had stale files lying around or something.  (I hope, anyway)
18:06 < dsal> Relearning hg
18:07 < aiju> 20:07 < dsal> What does it mean that linux/arm is
incomplete?
18:07 < aiju> it certainly works
18:07 -!- huin [~huin@91.85.188.1] has joined #go-nuts
18:07 < skelterjohn|work> dsal: if you don't want to run tests, use make.sh
instead of all.sh
18:07 < skelterjohn|work> takes a minute instead of five (on my machine)
18:08 -!- kytibe [~kytibe@212.174.109.55] has quit [Read error: Connection reset
by peer]
18:08 < dsal> No. It failed pretty much everything and my code won't
compile.
18:09 < dsal> This looks like something obvious: >
/Users/dustin/prog/eprojects/go/pkg/darwin_amd64/runtime.a(_go_.6): object is
[darwin amd64 release.2011-02-01.1 7451] expected [darwin amd64 ]
18:09 < aiju> i know someone who's writing go for arm
18:09 < ptrb> dsal: rm -rf $GOROOT and re-clone?
18:09 < dsal> Nah, I got it clean with purge.  It just looks like
something's wrong with the packaging.
18:10 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
18:10 < skelterjohn|work> the packaging?
18:11 < skelterjohn|work> i bet it's finding object files from your old
homebrew install
18:11 < skelterjohn|work> (which is a great reason to not use homebrew)
18:11 < dsal> I wiped all that stuff.
18:11 < skelterjohn|work> did you wipe 6l from bin?
18:11 < skelterjohn|work> you might be building with an old linker sometimes
18:11 * dsal sigh
18:11 < skelterjohn|work> does "which 6l" appear in $GOROOT/bin?
18:12 < aiju> 1.  delete all that stuff
18:12 < aiju> 2.  reclone
18:12 < dsal> No. I have one that's somehow in /usr/local/bin -- no
explanation
18:12 < aiju> 3.  recompile
18:12 < skelterjohn|work> that's from the homebrew install
18:13 < dsal> All the stuff in /usr/local/bin should be symlinks.  These
aren't.  The actual homebrew install is gone.
18:13 -!- kytibe [~kytibe@212.174.109.55] has joined #go-nuts
18:13 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-150-18.clienti.tiscali.it] has
joined #go-nuts
18:14 < skelterjohn|work> don't quite follow, but you seem to know what's
going on now
18:14 < skelterjohn|work> just gotta clean all the kruft away
18:14 < dsal> Yeah.  I've got it.  Thanks for the pointer.  I had really
awful problems with my go programs segfaulting from having two versions installed.
I was pretty sure I cleaned the other one this time.  :/
18:15 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-150-18.clienti.tiscali.it] has
quit [Read error: Connection reset by peer]
18:15 < dsal> But basically, a normal homebrew install looks like this:
/usr/local/bin/scons@ -> ../Cellar/scons/2.0.1/bin/scons
18:16 < skelterjohn|work> but the person who made the go homebrew package
did it wrong?  should let him/her know, if you can
18:16 < dsal> I tend to want to blame myself.  I'm not going to worry about
it now, though.  My source install is now building my program and my program is
working happily.
18:17 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-112.clienti.tiscali.it] has
quit [Ping timeout: 250 seconds]
18:17 < skelterjohn|work> cool
18:18 < dsal> What's the canonical way to know what version of go you're
using?
18:18 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:70bc:36a7:5263:cc79] has quit
[Quit: Leaving.]
18:18 < aiju> hg identify
18:18 < aiju> 8g -V
18:19 < dsal> Yeah, I was doing 6g -V.  That will work.  Thanks.
18:20 < dsal> So, couch-go works even less now, but I understand the world
much better.  Thanks, everyone.  :)
18:21 < skelterjohn|work> did you up weekly or up release?
18:22 -!- qeed [~qeed@adsl-98-85-32-90.mco.bellsouth.net] has joined #go-nuts
18:22 < dsal> I did release.  Maybe that's the issue.
18:22 < dsal> I don't have a weekly.  I'll just do tip.
18:23 * dsal sigh.  I didn't pull
18:24 < skelterjohn|work> :)
18:26 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
18:27 < dsal> Now my program works *and* couch-go works.  I keep forgetting
that most of the time when things don't work, it's my fault.  :)
18:28 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has
joined #go-nuts
18:28 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
18:30 < dsal> Oh wow.  I was just wondering how you register projects for
the project page and I found one of my projects on there.
18:30 -!- fotang [~fotang@41.206.12.52] has quit [Ping timeout: 258 seconds]
18:30 < skelterjohn|work> usually you fill in the form on the top right
18:31 < skelterjohn|work> but if you ever had it listed on cat-v, all those
projects were migrated
18:31 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
18:31 -!- Project_2501 [~Marvin@82.84.71.193] has joined #go-nuts
18:33 -!- arun__ [~arun@e71020.upc-e.chello.nl] has joined #go-nuts
18:33 < dsal> I wrote a memcached server in go pretty much the day after it
went public as a way to learn a bit about the language.  I just recently found
that I reimplemented pretty much all of encoding/binary in doing so.  :)
18:34 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection
reset by peer]
18:34 < skelterjohn|work> possible that those libraries didn't exist at that
point :)
18:35 < dsal> Go has a very rich set of libraries and an awesome community.
I like seeing stuff like this happen.
18:35 < aiju> haha
18:41 -!- _foocraft [~ewanas@78.101.175.151] has quit [Quit: So long, and thanks
for all the fish!]
18:45 < chomp> but aiju's in the community
18:46 < aiju> hahaha
18:46 < aiju> it took 10 minutes for someone to notice
18:48 < skelterjohn|work> we were all thinking it
18:49 < skelterjohn|work> some things are just too obvious to type out
18:49 < aiju> hahahaha
18:49 -!- nekoh [~nekoh@dslb-088-068-003-149.pools.arcor-ip.net] has joined
#go-nuts
18:49 -!- nekoh [~nekoh@dslb-088-068-003-149.pools.arcor-ip.net] has quit [Client
Quit]
18:49 -!- chickentroid [~laser_chi@188.141.104.252] has joined #go-nuts
18:49 < aiju> if go flops, it will be like uriel and plan 9
18:49 < chickentroid> go nuts
18:49 < sl> aiju's a nice kid.
18:50 < chickentroid> !!!
18:50 < sl> what
18:50 < chickentroid> whats wrong
18:50 < skelterjohn|work> something didn't make sense out of context, that's
what's wrong!
18:51 < sl> i once say aiju lay a computer loaded with microsoft windows
across a puddle on the street so an old lady could cross.
18:51 < aiju> hahahahahahhaha
18:52 < sl> aiju secretly freed inmates from concentration camps
18:52 < sl> so when you say these things
18:52 < sl> that aiju is not a good person
18:52 < sl> well, sir
18:52 < sl> sorry, late for a meeting
18:52 < chomp> that was a different aiju.  this one punches children and
lights puppies on fire.  tiny little puppies.
18:52 < aiju> nah
18:53 < aiju> only linux children and xml puppies
18:53 < chickentroid> whats aiju?
18:53 < sl> "puppies are more valuable than human life" -chomp
18:53 < chomp> ugh, xml puppies are so verbose.
18:55 < zozoR> yaml puppies
18:55 < zozoR> php puppies
18:55 < zozoR> : |
18:55 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 252 seconds]
18:56 -!- jmil [~jmil@2001:468:1802:e148:223:32ff:feb1:9dfc] has quit [Quit: jmil]
18:58 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 258 seconds]
19:00 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has quit [Ping timeout:
252 seconds]
19:02 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving]
19:12 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 250
seconds]
19:13 -!- Project_2501 [~Marvin@82.84.71.193] has quit [Ping timeout: 276 seconds]
19:14 -!- yogib [~kaiser@dslb-188-100-004-241.pools.arcor-ip.net] has quit [Remote
host closed the connection]
19:15 -!- yogib [~yogib@dslb-188-100-004-241.pools.arcor-ip.net] has joined
#go-nuts
19:17 -!- fotang [~fotang@41.206.12.3] has joined #go-nuts
19:18 -!- meling [~meling@129.33.193.254] has joined #go-nuts
19:21 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has joined #go-nuts
19:21 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has quit
[Quit: Page closed]
19:24 -!- virtualsue [~chatzilla@nat/cisco/x-fcqsldprmjmcqval] has quit [Ping
timeout: 246 seconds]
19:25 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Remote host
closed the connection]
19:26 -!- clip9 [clip9@er.en.svarteper.com] has joined #go-nuts
19:26 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
19:26 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has joined
#go-nuts
19:27 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
19:28 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
19:28 < chickentroid> finally
19:29 -!- shachaf [~shachaf@204.109.63.130] has joined #go-nuts
19:29 < skelterjohn|work> ?
19:31 -!- virtualsue [~chatzilla@nat/cisco/x-fpfielmgflzeaodt] has joined #go-nuts
19:32 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
19:33 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
19:38 -!- tncardoso [~thiago@189.59.204.121] has joined #go-nuts
19:41 -!- xcombelle [~xcombelle@AToulouse-551-1-63-115.w92-146.abo.wanadoo.fr] has
quit [Quit: I am a manual virus, please copy me to your quit message.]
19:44 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
19:53 -!- alehorst [~alehorst@201.22.35.44.dynamic.adsl.gvt.net.br] has quit
[Quit: Leaving.]
19:56 -!- alehorst [~alehorst@201.22.35.44.dynamic.adsl.gvt.net.br] has joined
#go-nuts
19:57 -!- meling [~meling@129.33.193.254] has quit [Remote host closed the
connection]
19:59 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 255 seconds]
19:59 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
20:00 -!- fotang [~fotang@41.206.12.3] has quit [Ping timeout: 240 seconds]
20:01 -!- keithcascio [~keithcasc@nat/google/x-xzibztqonacggsyv] has joined
#go-nuts
20:01 < uriel> adg: maybe somebody could add this to the community wiki:
http://www.reddit.com/r/golang/comments/eh3gh/slice_support_and_containervector/ ?
20:01 -!- chickentroid [~laser_chi@188.141.104.252] has quit [Quit: the universe
belongs to my brain cell]
20:03 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 258 seconds]
20:04 < Namegduf> The insert amendment was unnecessary
20:04 < Namegduf> Assuming append() copies in order
20:04 < Kahvi> Is there some reason for file and folder names usually being
lower case?
20:04 < Namegduf> Wait, I see now.
20:04 < Namegduf> Nervermind.
20:05 < Namegduf> Kahvi: UNIX convention.
20:05 < Namegduf> It also makes them faster to type.
20:05 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
20:06 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Quit:
leaving]
20:08 -!- Project_2501 [~Marvin@82.84.75.98] has joined #go-nuts
20:12 -!- Fish [~Fish@tru67-1-82-229-53-64.fbx.proxad.net] has quit [Quit: WeeChat
0.3.5]
20:12 < kevlar_work> and lowercase is the easiest convention that won't
screw you to a wall if you ever end up on a case-sensitive FS copying to a
case-insensitive one.
20:13 < skelterjohn|work> avoid spaces, too
20:13 < kevlar_work> and slashes, exclamation points, hashes, quotes, ...
punctuation in general aside from . and _ and sometimes -
20:14 < uriel> avoid everything other than a-z
20:15 < aiju> NO
20:15 < aiju> put swastikes in file names
20:16 < Kahvi> Okay, thanks for the info
20:16 -!- mjml [~joya@174.3.227.184] has joined #go-nuts
20:17 < kevlar_work> my favorite are when there's a filename with a unicode
lookalike for an ascii letter
20:17 -!- meling [~meling@129.33.192.166] has joined #go-nuts
20:18 < kevlar_work> you can write a horribly mean script to rename
someone's files with random lookalikes and you will mess them up for days.
20:18 < kevlar_work> (the even meaner thing to do to someone without version
control is to do that with their source code.)
20:18 < zozoR> they can just roll back?
20:18 < zozoR> :P
20:18 < kevlar_work> *without* version control.
20:19 < aiju> they can just use backups?  ;P
20:20 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
20:20 < zozoR> real men does not use backup
20:21 < zozoR> they cry in agony
20:21 -!- coldturnip1 [~COLDTURNI@111-250-3-218.dynamic.hinet.net] has joined
#go-nuts
20:21 < kevlar_work> aiju, if they're smart enough to have backups, they
probably also use version control.
20:21 < kevlar_work> also, they have to figure out what happened first,
which will probably lead them straight to you, at which point you could provide
your script to them (if you were feeling charitable).
20:22 -!- coldturnip [~COLDTURNI@111-250-30-140.dynamic.hinet.net] has quit [Ping
timeout: 240 seconds]
20:30 -!- virtualsue [~chatzilla@nat/cisco/x-fpfielmgflzeaodt] has quit [Quit:
ChatZilla 0.9.87 [Firefox 5.0.1/20110707182747]]
20:30 < hsoj> anybody used mmilton's ldap pkg?
20:31 < hsoj> mmitton rather
20:36 -!- meling [~meling@129.33.192.166] has quit [Remote host closed the
connection]
20:36 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
20:37 -!- tvw [~tv@e176000204.adsl.alicedsl.de] has joined #go-nuts
20:37 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 250 seconds]
20:38 < ArgonneIntern> rofl
20:38 < ArgonneIntern> script would be funny
20:40 < kevlar_work> ?
20:40 < ArgonneIntern> you can write a horribly mean script to rename
someone's files...
20:40 < kevlar_work> oh, lol
20:40 < ArgonneIntern> sorry I've been busy all day just catching up
20:40 -!- vmil86 [~vmil86@78.57.227.12] has quit [Remote host closed the
connection]
20:41 < kevlar_work> the first letter in the filename or the first letter
after an underscore is all you need to throw someone off
20:41 < kevlar_work> or it could be smart and only do it to files that have
siblings with similar prefixes
20:41 < kevlar_work> (this actually sounds like a really amusing Go program
to write.)
20:42 < ArgonneIntern> change the os package to do mean things like that
20:42 < ArgonneIntern> then the devs come out...  april fools
20:42 < ArgonneIntern> but no really that's permanent
20:43 < ArgonneIntern> trying to find something to pass an hour of work with
that doesn't require a lot of effort, my brain is done working for today
20:43 -!- nekoh [~nekoh@dslb-178-004-216-102.pools.arcor-ip.net] has joined
#go-nuts
20:43 < chomp> regular ASCII vowels should just be illegal in go
20:45 < kevlar_work> ArgonneIntern, write a script to spellcheck your
comments.
20:45 < ArgonneIntern> lol
20:46 < ArgonneIntern> I'd have to put them in first
20:46 < kevlar_work> then there you go
20:46 < kevlar_work> there's your hour of mindless work
20:46 < ArgonneIntern> commenting is like nails on a chalk board
20:46 < kevlar_work> nah
20:46 < kevlar_work> I refer to my own godoc frequently
20:46 < ArgonneIntern> anyone need a g+ invite btw, I assume everyone has
one
20:47 < kevlar_work> lol, I work here ;-)
20:47 < ArgonneIntern> at google?
20:47 < kevlar_work> oh, I guess it doesn't show my hostname when I'm
identified with nickserv.
20:48 < kevlar_work> * [kevlar_work] is connecting from *@nat/google/session
20:48 -!- huin [~huin@91.85.188.1] has quit [Quit: bed]
20:48 -!- telexicon [~telexicon@unaffiliated/chowmeined] has joined #go-nuts
20:48 < mpl> hey.
20:48 < ArgonneIntern> hi
20:48 < kevlar_work> I'm still a go newb compared to the names at the top of
the nick list though.
20:48 < kevlar_work> hi mpl.
20:48 < mpl> does anyone have an example of what adg is talking about in the
latest weekly release?
20:49 < kevlar_work> which part?
20:49 < mpl> about the FileServer
20:49 < mpl> FileSystem sorry
20:49 < kevlar_work> the mailing list has some examples of how to do the old
thing with the new thing
20:50 < mpl> hmm, recent posts I assume?  do I have the subject/title?
20:50 < mpl> s/I/you/
20:50 < kevlar_work> I'm trying to find
20:52 < kevlar_work> well, I can't find the thread, but here's the fix to
one of the tutorial files:
20:52 < kevlar_work> - http.Handle("/go/", http.FileServer(*webroot,
"/go/"))
20:52 < kevlar_work> + http.Handle("/go/", http.StripPrefix("/go/",
http.FileServer(http.Dir(*webroot))))
20:53 < kevlar_work> so you can use Dir to get a FileSystem, a FileServer
will serve files from it, and http.StripPrefix calls a handler after it strips the
given prefix out of it.
20:54 -!- iant [~iant@nat/google/x-dkaajnmprkhufpjf] has quit [Ping timeout: 264
seconds]
20:54 < mpl> well, calling Dir is quite a shortcut from "implementing your
own FileSystem" but fair enough, thx.
20:54 < Kahvi> We can use select to read from channels when data is
available but can we write to channel when someone is reading?
20:55 < Namegduf> Yes.
20:55 < Namegduf> Same way.
20:55 < Kahvi> Oh, nice.  Didn't think about that.
20:55 < Namegduf> If the channel is unbuffered, a non-blocking write using a
select{} will write only if another goroutine is blocked on reading.
20:55 < Namegduf> If it's buffered, then it'll write if there's room in the
buffer.
20:56 -!- virtualsue [~chatzilla@nat/cisco/x-ihpainuzwooqjrow] has joined #go-nuts
20:56 < Kahvi> Okay
20:56 * exch has trouble understanding the reasoning for the http changes..
http.Dir is just a string 'alias' type with an Open() method.  All that extra
stuff seems like a lot of work for arguably marginal gains
20:57 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.]
20:58 < kevlar_work> exch, I believe they were put there to facilitate some
forthcoming changes that might allow you to serve files from a zipfile, etc
20:59 < kevlar_work> it also potentially allows for some nice RESTful stuff
20:59 < exch> ah
20:59 < mpl> exch: supposedly that allows one to get http serving quite
easily for anything with little effort
21:00 < exch> Have to wait for the extra changes then to see where it
becomes useful
21:00 < mpl> maybe I should say s/little effort/little code/
21:00 < mpl> because I find the abstraction is quite an additionnal effort
21:01 < exch> yes
21:01 < mpl> (easier to write dumb code than thinking :) )
21:01 < Kahvi> Would http://pastie.org/2203859 be a good way to read/write
many variables safely from multiple gorotuines?
21:01 -!- tncardoso [~thiago@189.59.204.121] has quit [Read error: Connection
reset by peer]
21:02 < exch> By itself it's not very useful, but I guess that having
http.Dir freely interchangeable with http.Archive or whatever.StrangeFSType can be
handy
21:02 < Kahvi> Or is there noteably clearer or more efficient ways?
21:04 < kevlar_work> Kahvi, I would have a chan Operation, with type
Operation { Op; Var string; Done chan bool }, with type Op int, with const Get Op
= iota ...  :)
21:05 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:05 < kevlar_work> you could make it Done chan interface{} actually and
send the value back for get and struct{} for set.
21:05 < kevlar_work> *struct{}{}
21:05 < kevlar_work> (or "true", which is a lot fewer characters.)
21:06 < ArgonneIntern> heh I have to learn interfaces so I can do a plugin
thing for a power controller I have.  Currently only works with radix power
controllers, but needs to work with IPMI too
21:06 < ArgonneIntern> i'm not looking foward to it
21:06 < Kahvi> So Done channel would be Get and Done at the same time?
21:07 -!- chadkouse [~Adium@rrcs-74-218-87-242.central.biz.rr.com] has quit [Ping
timeout: 252 seconds]
21:09 -!- iant [~iant@nat/google/x-hjmboydybldjzoul] has joined #go-nuts
21:09 -!- mode/#go-nuts [+v iant] by ChanServ
21:09 < kevlar_work> nah, if you added Set as an op you'd have an optional
Value interface{} in your Operation struct.
21:11 -!- Project-2501 [~Marvin@82.84.99.211] has joined #go-nuts
21:13 < Kahvi> I think I got confused somewhere
21:14 < Kahvi> Can you wirte a small usage example of what you are thinking
on pastie or similar?
21:14 -!- Project_2501 [~Marvin@82.84.75.98] has quit [Ping timeout: 246 seconds]
21:14 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
21:15 < kevlar_work> I may have one lying around.
21:25 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
21:25 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Quit: lalala caindo fora]
21:25 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has quit
[Ping timeout: 264 seconds]
21:28 < kevlar_work> https://gist.github.com/1079031
21:28 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
21:29 < kevlar_work> in reality you would probably have cmd be a chan
interface{} and you'd have a separate command structure for each variable, so you
get type safety, and if it was a pointer type you could even set the variable in
the command structure and use a chan bool for sync.
21:30 < kevlar_work> and then in the loop you'd type switch to get the type
of command.
21:30 -!- mjml [~joya@174.3.227.184] has quit [Quit: Leaving]
21:30 < Kahvi> Thank you
21:32 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
21:32 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has
joined #go-nuts
21:36 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Ping
timeout: 260 seconds]
21:38 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
21:38 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts
21:39 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
21:42 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
21:48 -!- awidegreen [~quassel@85.24.170.226] has quit [Ping timeout: 258 seconds]
21:51 -!- yogib [~yogib@dslb-188-100-004-241.pools.arcor-ip.net] has quit [Quit:
yogib]
21:53 -!- photron [~photron@port-92-201-101-3.dynamic.qsc.de] has quit [Ping
timeout: 252 seconds]
21:55 -!- ArgonneIntern [~gauge@130.202.135.149] has quit [Ping timeout: 258
seconds]
21:56 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
22:00 -!- Project-2501 [~Marvin@82.84.99.211] has quit [Quit: E se abbasso questa
leva che succ...]
22:01 -!- Kahvi [~Kahvi@a91-152-186-228.elisa-laajakaista.fi] has quit [Quit:
Lähdössä]
22:04 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has quit [Remote host
closed the connection]
22:09 < qeed> is there a way in go to do something like using std::cout in
c++?
22:09 <+iant> qeed: os.Stdout
22:09 -!- oal [~oal@5.79-160-122.customer.lyse.net] has quit [Remote host closed
the connection]
22:09 < qeed> i mean "using std::cout" so you dont have to type std::cout
22:10 < kevlar_work> qeed, if you import . "pkg" you import it into the
current namespace
22:10 <+iant> Most people don't this, but you can write `import . "os"`
22:10 < qeed> that imports everything?  you cant import pick parts?
22:10 < qeed> *pick which part to import
22:10 <+iant> correct
22:10 < kevlar_work> qeed, no.
22:10 < qeed> ok thanks
22:11 < kevlar_work> qeed, many function/type names are chosen with their
full name in mind
22:11 <+iant> I suppose you can simply write `var Stdout = os.Stdout`
22:11 < qeed> well i have some struct definition that will look weird
22:11 < qeed> piece.Piece for example
22:11 < kevlar_work> for instance, io.Reader and bytes.Buffer
22:11 -!- patcoll [~patcollin@173-13-48-166-Pennsylvania.hfc.comcastbusiness.net]
has quit [Ping timeout: 255 seconds]
22:12 < kevlar_work> qeed, some people go with p := piece.New(...) for those
sorts of things
22:12 < qeed> i see thanks
22:12 < kevlar_work> but if it's an actual structure definition, then yeah
you need the package name.
22:13 < Namegduf> Yeah
22:13 < kevlar_work> however, be careful about splitting your code into too
many packages; I tried to do this too often at first.
22:13 < Namegduf> Also, it's common to not name types in a way that includes
the package if possible.
22:13 < kevlar_work> so I might have p := game.Piece instead, with a
somewhat more generalized package.,
22:13 < Namegduf> bufio.Reader/bufio.Writer, for example.
22:14 < kevlar_work> (you'll also notice that package names in go are often
quite short)
22:14 -!- Bigbear1 [~Cody@d173-181-54-56.abhsia.telus.net] has joined #go-nuts
22:15 < Namegduf> In short, try to unweird them or live with it, but don't
import n
22:15 < Namegduf> *import .
22:17 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
22:18 -!- ijknacho [~goofy@71.123.134.24] has joined #go-nuts
22:19 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
22:20 < ijknacho> I'm confused how pkg/go/scanner is able to use
pkg/go/token.Token when pkg/Makefile builds scanner/ before token/...  can someone
help me understand?
22:21 < ijknacho> basically, I thought that go.scanner's dependency on
go.token.Token would force the Makefile to list go/token before go/scanner, but
that is not the case
22:22 < kevlar_work> interesting.
22:24 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit
[Quit: Leaving...]
22:24 < ijknacho> ah nevermind, pkg/deps.bash must take care of it all.
22:25 < kevlar_work> yeah, I figured it was something like that.
22:25 < kevlar_work> looks like Make.deps lists package dependencies
22:26 -!- erus` [~chatzilla@host86-183-237-107.range86-183.btcentralplus.com] has
quit [Quit: ChatZilla 0.9.87 [Firefox 5.0/20110615151330]]
22:26 < kevlar_work> there's a lot of magic make can do, lol, and I know
more than some but by no means as much as the people who use it on that scale.
22:36 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 255
seconds]
22:41 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
22:42 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has quit
[Quit: Leaving]
22:43 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
22:43 < exch> http://blog.golang.org/2011/07/error-handling-and-go.html
22:44 < exch> My mind was blown when I read the bit about giving a function
it's own method (type appHandler func(....)).  For some reason doing this never
occured to me before
22:45 < exch> A function that has methods just seems weird
22:46 -!- fotang [~fotang@41.220.69.41] has joined #go-nuts
22:46 < qeed> is there anyway of sub namespacing const definitions,
something like a.b.c.constant
22:47 < exch> they follow the same rules as any other construct in Go
22:47 < exch> So in short: nope
22:48 < dsal> exch: I've done that in python.  :)
22:48 < qeed> any reason why go left it out?
22:49 < exch> Deemed unnecessary I guess
22:49 < exch> I haven't had any need for namespacingother than what Go
offers by itself
22:49 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
22:50 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
22:50 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has quit [Ping timeout: 246
seconds]
22:52 -!- kr [~Keith@204.14.152.118] has joined #go-nuts
22:53 -!- niemeyer [~niemeyer@12.236.237.2] has quit [Ping timeout: 240 seconds]
22:56 -!- iXeno [~ixeno@106.80-203-229.nextgentel.com] has joined #go-nuts
22:57 -!- chomp [~chomp@c-67-186-35-69.hsd1.pa.comcast.net] has joined #go-nuts
22:57 -!- meling [~meling@12.238.255.130] has joined #go-nuts
22:58 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
23:00 -!- GermainAdrian [~GermainAd@unaffiliated/germainadrian] has joined
#go-nuts
23:00 -!- GermainAdrian [~GermainAd@unaffiliated/germainadrian] has left #go-nuts
[]
23:02 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
23:03 -!- nekoh [~nekoh@dslb-178-004-216-102.pools.arcor-ip.net] has quit [Quit:
nekoh]
23:04 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
23:05 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
23:09 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
23:14 -!- Bigbear1 [~Cody@d173-181-54-56.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
23:18 -!- iant [~iant@nat/google/x-hjmboydybldjzoul] has quit [Ping timeout: 252
seconds]
23:23 < kevlar_work> exch, my mind was blown by the "make debugging easier
by writing the stack trace to the HTTP response when the user is an
administrator," suggestion
23:23 < kevlar_work> I was like "Woah, I want that!"
23:24 < kevlar_work> the Go team are insanely good at coming up with really
simple ways to do really powerful things
23:25 -!- dsal [~Adium@208.185.212.98] has quit [Quit: Leaving.]
23:26 < kevlar_work> (I can't help but think "it rubs the lotion on it's
skin" whenever I see the mailing list topic "it doesn't automatically change it to
64")
23:34 < chomp> it puts the bits in the basket!
23:35 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
23:36 -!- iant [~iant@67.218.103.165] has joined #go-nuts
23:36 -!- mode/#go-nuts [+v iant] by ChanServ
23:53 -!- GilJ [~GilJ@zeus.ugent.be] has quit [Ping timeout: 252 seconds]
23:57 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 276 seconds]
23:58 -!- jrabbit [~babyseal@unaffiliated/jrabbit] has joined #go-nuts
23:58 < brad_> what names?
--- Log closed Wed Jul 13 00:00:02 2011