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

--- Log opened Sat Apr 30 00:00:00 2011
--- Day changed Sat Apr 30 2011
00:00 -!- iant [~iant@] has quit [Ping timeout: 240 seconds]
00:08 -!- PJRobins [~kvirc@184-100-100-163.mpls.qwest.net] has quit [Quit: KVIrc
4.1.1 Equilibrium http://www.kvirc.net/]
00:12 -!- PJRobins [~kvirc@184-100-100-163.mpls.qwest.net] has joined #go-nuts
00:16 -!- dfc [~dfc@124-171-26-181.dyn.iinet.net.au] has joined #go-nuts
00:19 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
00:20 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined
00:34 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat
00:39 -!- niemeyer [~niemeyer@] has joined
01:14 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
01:27 -!- ab3 [~abe@] has quit [Ping timeout: 264 seconds]
01:40 -!- l00t [~i-i3id3r_@] has joined #go-nuts
01:59 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 264 seconds]
02:01 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has joined
02:02 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
02:05 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 276 seconds]
02:09 -!- niemeyer [~niemeyer@] has quit
[Ping timeout: 240 seconds]
02:24 -!- boscop [~boscop@f055008161.adsl.alicedsl.de] has joined #go-nuts
02:24 -!- ssb [~ssb@] has quit [Ping timeout: 246 seconds]
02:26 -!- ssb [~ssb@] has joined #go-nuts
02:36 -!- niemeyer [~niemeyer@201-40-174-223.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
02:51 -!- Sebastian_ [~Sebastian@git.sebastianhahn.net] has joined #go-nuts
02:56 < Sebastian_> Hi there, is there any work going into the direction of
extending the crypto package?  Specifically, I'd like to be able to use aes256 and
some more cipher suites in the tls package, but they don't seem to be included in
the distribution as of now.
02:56 < Sebastian_> Alternatively, if alternative libraries could be used
for that functionality, I'd be glad for any pointers on how to make it work
02:59 < Sebastian_> Thanks for your consideration
03:10 < jessta_> Sebastian_: crypto/aes provides aes256
03:11 -!- chronoslynx [~Adium@r45h136.res.gatech.edu] has joined #go-nuts
03:14 < Sebastian_> oh hey
03:14 < Sebastian_> thanks, I just noticed
03:15 < Sebastian_> sorry for not spotting that earlier
03:19 -!- chronoslynx [~Adium@r45h136.res.gatech.edu] has quit [Quit: Leaving.]
03:21 < Sebastian_> Unfortunately, the spec mandates I support
SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA.  I suppose I should try to find an openssl
wrapper or something to make it work
03:22 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
03:25 -!- ttuttle [~ttuttle@pdpc/supporter/21for7/ttuttle] has joined #go-nuts
03:30 -!- foocraft [~dsc@] has joined #go-nuts
03:38 -!- foocraft [~dsc@] has quit [Ping timeout: 250 seconds]
03:39 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has quit
[Quit: gtaylor]
03:39 -!- foocraft [~dsc@] has joined #go-nuts
03:40 -!- niemeyer [~niemeyer@201-40-174-223.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
03:45 -!- impeachgod [~impeachgo@pool-98-112-122-166.lsanca.dsl-w.verizon.net] has
joined #go-nuts
03:49 -!- Allotabits [~Joshwa@h18.214.213.151.dynamic.ip.windstream.net] has
joined #go-nuts
03:50 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC -
03:50 -!- fmoo [~Adium@] has quit [Quit: Leaving.]
03:53 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
04:06 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Quit: ERC Version 5.3
(IRC client for Emacs)]
04:07 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
04:07 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
04:13 -!- foocraft [~dsc@] has quit [Ping timeout: 248 seconds]
04:13 -!- nixness [~dsc@] has joined #go-nuts
04:17 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:18 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:25 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Operation timed out]
04:25 -!- keithcascio [~keithcasc@nat/google/x-kyxjkqvivkmbypdb] has quit [Quit:
04:25 -!- creack [~charme_g@] has quit [Read error: Operation timed
04:27 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
04:27 -!- creack [~charme_g@] has joined #go-nuts
04:41 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
04:41 -!- mode/#go-nuts [+v iant] by ChanServ
04:48 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 260 seconds]
04:49 -!- iant [~iant@] has joined #go-nuts
04:49 -!- mode/#go-nuts [+v iant] by ChanServ
04:55 -!- impeachgod [~impeachgo@pool-98-112-122-166.lsanca.dsl-w.verizon.net] has
quit [Quit: impeachgod]
05:12 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 258 seconds]
05:12 -!- photron_ [~photron@port-92-201-38-139.dynamic.qsc.de] has joined
05:16 -!- tav [~tav@] has quit [Quit: tav]
05:22 -!- sacho [~sacho@] has quit [Quit: Ex-Chat]
05:26 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
05:40 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has quit [Ping
timeout: 240 seconds]
05:45 -!- foocraft [~dsc@] has quit [Remote host closed the
06:02 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error:
Connection reset by peer]
06:03 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
06:03 -!- gaxxx [~woo@] has joined #go-nuts
06:04 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
06:04 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
06:05 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Remote
host closed the connection]
06:08 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
06:27 -!- a2800276 [~a2800276@xdsl-195-14-205-253.netcologne.de] has joined
06:28 < uriel> Sebastian_: plenty of work goes into expanding the crypto
package which is already quite complete
06:29 < uriel> I think there are openssl bindings, but the crypto package is
pretty good, if you are missing something I'd post to gonuts and see if somebody
isn't working on it already
06:31 -!- rlab [~Miranda@] has joined #go-nuts
06:35 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
06:41 -!- gaxxx [~woo@] has quit [Quit: Leaving.]
06:43 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
07:00 -!- a2800276 [~a2800276@xdsl-195-14-205-253.netcologne.de] has quit [Quit:
07:02 -!- unofficialmvp1 [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
07:11 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-158-32.clienti.tiscali.it] has
joined #go-nuts
07:23 -!- Kafo [~Henry@a91-156-71-151.elisa-laajakaista.fi] has joined #go-nuts
07:25 -!- piranha [~piranha@] has joined #go-nuts
07:26 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 260 seconds]
07:26 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
07:27 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
07:27 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
07:28 -!- wrtp [~rog@] has joined #go-nuts
07:34 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
07:34 -!- telexicon [~telexicon@unaffiliated/chowmeined] has quit [Quit: Leaving]
07:37 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error:
Connection reset by peer]
07:39 -!- wrtp [~rog@] has quit [Quit: wrtp]
07:41 -!- sebastianskejoe [~sebastian@] has joined #go-nuts
08:00 -!- a2800276 [~a2800276@xdsl-78-35-172-26.netcologne.de] has joined #go-nuts
08:04 -!- Project-2501 [~Marvin@] has joined #go-nuts
08:05 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
08:06 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:07 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-158-32.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
08:08 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost
08:09 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
08:19 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
08:20 -!- Project_2501 [~Marvin@] has joined #go-nuts
08:21 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
08:23 -!- Project-2501 [~Marvin@] has quit [Ping timeout: 250 seconds]
08:28 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has joined #go-nuts
08:37 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
08:50 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
08:50 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has quit [Quit: leaving]
08:50 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has joined #go-nuts
08:51 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has quit [Client Quit]
08:51 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has joined #go-nuts
08:52 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has quit [Client Quit]
08:52 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has joined #go-nuts
09:16 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
09:32 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Quit:
09:32 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-152-33.clienti.tiscali.it] has
joined #go-nuts
09:36 -!- Project_2501 [~Marvin@] has quit [Ping timeout: 276 seconds]
09:59 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has quit [Quit: Lost terminal]
10:04 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:2183:4ed0:2161:5d1a] has joined
10:09 -!- res99 [~anonymous@] has quit [Ping timeout: 250 seconds]
10:10 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
10:10 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
10:17 -!- res99 [~anonymous@] has joined #go-nuts
10:28 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
10:29 -!- dfc [~dfc@124-171-26-181.dyn.iinet.net.au] has quit [Quit: dfc]
10:30 -!- dfc [~dfc@124-171-26-181.dyn.iinet.net.au] has joined #go-nuts
10:31 < Sebastian_> uriel: awesome, I'll see if I find someone on the
mailing list.  I did notice that the crypto package has a lot of stuff already,
unfortunately I'm implementing a spec that requires some specific cipher suites to
be present and those aren't (yet) available
10:33 -!- a2800276_ [~a2800276@xdsl-78-35-182-236.netcologne.de] has joined
10:33 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error:
Connection reset by peer]
10:33 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
10:34 -!- a2800276 [~a2800276@xdsl-78-35-172-26.netcologne.de] has quit [Ping
timeout: 264 seconds]
11:03 -!- res99 [~anonymous@] has quit [Ping timeout: 240 seconds]
11:23 -!- Kafo [~Henry@a91-156-71-151.elisa-laajakaista.fi] has quit [Read error:
Connection reset by peer]
11:24 -!- sebastianskejoe [~sebastian@] has quit [Quit: Lost
11:26 -!- a2800276 [~a2800276@xdsl-78-35-182-236.netcologne.de] has quit [Quit:
11:31 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
11:39 < ww> argh....
11:40 < ww> is there a way to iterate over (k,v) in a map with template?
11:40 < ww> can iterate over values...  but can't seem to get at the keys?!
11:45 -!- a2800276 [~a2800276@xdsl-78-35-182-236.netcologne.de] has joined
11:47 * ww begins to think the template package is brain damaged
11:48 < uriel> the template package is a bit 'peculiar', it is worth reading
on the tempalte system it is based on
11:48 -!- Fish-- [~Fish@coss6.exosec.net] has joined #go-nuts
11:50 < ww> there's an underlying assumption in this case that's just wrong:
11:51 < ww> there rsc says iterating over maps is non-deterministic and is
no good for html ui things
11:51 < ww> well...  if you're doing html ui things, don't do that
11:51 < ww> ...  and then he goes and half-fixes it
11:51 * ww i just want to generate xml so i don't care about the order
11:52 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 276 seconds]
11:52 < ww> actually, if there were a good programmatic way of making XML
with go, i'd use that - i don't even really want templates
11:54 < ww> hmmm...  maybe use xmlm
11:54 < fzzbt> can't you just output that map in a slice
11:54 < fzzbt> slice of structs, err
11:55 < ww> fzzbt: could do, but that's stupid.  this should just work
without monkeying around
11:55 * ww sorry...  grumpy
11:55 -!- a2800276 [~a2800276@xdsl-78-35-182-236.netcologne.de] has quit [Quit:
11:57 < fzzbt> ordered maps would be nice to have maybe
11:57 * ww doesn't care about order!
11:58 < ww> i just want to put bloody xmlns:foo=bar into the top of the
12:00 < ww> and xmlm means i have to go and *model* the whole XML which is
not my idea of a fun way to spend a saturday afternoon
12:00 < ww> maybe mustache or kasia
12:01 < fzzbt> eat some cake
12:02 < ww> fzzbt: good idea
12:09 < Rennex> xml should just go away
12:09 < aiju> kill it with fire
12:12 * ww is no fan of XML
12:12 < ww> unfortunately the EC is and that's why i have a job
12:12 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
12:12 < aiju> EC?
12:12 < aiju> european community?
12:12 < ww> http://inspire.jrc.ec.europa.eu/
12:13 < ww> directive: thou shalt use xml
12:13 < ww> it's the law
12:13 < ww> it was almost worse
12:13 < aiju> there is nothing worse than xml
12:13 < ww> an early draft of the law was: that shalt use SOAP
12:14 < aiju> can't you just use the IBM JSON XML wrapper?
12:14 < aiju> or do something like this:
<c>65</c><c>66</c> to encapsulate random text
12:15 < ww> ok, not "thou shalt use any old xml" but "thou shalt use
excessively verbose and over-engineered OGC and ISO xml standards"
12:15 * ww cries
12:18 < xyproto> Wish we could have this for Go :)
12:18 < aiju> oh fluxus
12:19 < aiju> i have to admit not really liking live coding
12:20 < aiju> i can't find any benefit
12:20 -!- virtualsue [~chatzilla@nat/cisco/x-sumemmwllijpgcsw] has joined #go-nuts
12:21 < ww> exhibitionism
12:21 < aiju> it's just like normal coding
12:21 < aiju> except the code is in front of the shit you wrote
12:21 < aiju> we have window managers man
12:22 < xyproto> aiju: advocating a language, and coding in general
12:22 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has joined #go-nuts
12:22 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has quit [Changing host]
12:22 -!- nictuku [~yvesj@unaffiliated/nictuku] has joined #go-nuts
12:22 < aiju> sounds like "bullshitting" to me
12:23 < nictuku> is it possible to do something like this?  handlers =
make(map[int]func(*packet)) // it compiles but this doesn't work: handlers[0x01] =
12:23 < aiju> it should work
12:24 < nictuku> let me paste it..
12:25 < exch> m.foo() is a method.  you can't treat methods as function
pointers afaik
12:25 < aiju> oh right
12:25 < aiju> yeah, that's the thing
12:26 < nictuku> right.  only if I use a closure right?
12:26 < nictuku> http://pastie.org/1850375 btw
12:26 < aiju> yes
12:29 < nictuku> the functions can be quite large so they won't look good as
closures.  Are there any other ways?  I can't do what pkg/http/server.go does and
use a Handler interface, because all the handlers are methods of a type M whose
data it must access.
12:29 < aiju> no
12:29 < aiju> closures are the only way
12:29 < aiju> or what do you mean?
12:29 < aiju> func(p *packet) {m.readLoginRequest(p)}
12:29 < aiju> is it that bad?
12:30 < nictuku> that's not too bad
12:31 < nictuku> but I think I should use switch/case instead of that
map[int]func thing.
12:32 < nictuku> reminiscent of python-thinking
12:32 -!- huin [~huin@] has joined #go-nuts
12:32 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
12:41 -!- dfc [~dfc@124-171-26-181.dyn.iinet.net.au] has quit [Quit: dfc]
12:43 -!- artefon [~thiago@] has joined #go-nuts
12:46 -!- DerHorst [~Horst@e176102061.adsl.alicedsl.de] has joined #go-nuts
12:49 -!- aljamms8
[~s@customer943.pool1.Acton-GLN1070-BAS0001.orangehomedsl.co.uk] has joined
12:51 -!- TheMue [~TheMue@p5DDF4C38.dip.t-dialin.net] has joined #go-nuts
12:53 -!- rlab_ [~Miranda@] has joined #go-nuts
12:53 -!- rlab [~Miranda@] has quit [Ping timeout: 250 seconds]
13:00 -!- a2800276 [~a2800276@xdsl-78-35-182-236.netcologne.de] has joined
13:02 -!- a2800276 [~a2800276@xdsl-78-35-182-236.netcologne.de] has quit [Client
13:04 -!- napsy [~luka@] has joined #go-nuts
13:10 -!- xash [~xash@d062158.adsl.hansenet.de] has joined #go-nuts
13:10 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
13:13 -!- ab3 [~abe@] has joined #go-nuts
13:14 -!- thiago__ [~thiago@] has joined #go-nuts
13:16 -!- artefon [~thiago@] has quit [Ping timeout: 276 seconds]
13:21 -!- piranha [~piranha@] has quit [Remote host closed the
13:21 -!- piranha [~piranha@] has joined #go-nuts
13:29 -!- Frank [7d47e7c8@gateway/web/freenode/ip.] has joined
13:29 < Frank> is there a system() function in Go?
13:31 < TheMue> What does system() do?
13:31 < fzzbt> os.Exec?
13:32 < Frank> hi!  in Python, system("ls") can invoke "ls" in the shell
13:32 < aiju> see the os package
13:32 < Frank> in C, there is a system(), too
13:32 < aiju> system() is usually extremely bad practice, though
13:33 < aiju> could very well be that there is no system(), just for that
13:33 < TheMue> yep, take a look at the os package and their use the
provided methods
13:34 < TheMue> just to be portable
13:34 < Frank> i'm a newer of Go, and i want to write a very small progam to
involk "8g" and "8l" in this program all together
13:34 < aiju> why do you invoke the compiler from a program
13:34 < Frank> say, 8.out test.go
13:35 < aiju> why don't you use a shell script?
13:35 < aiju> but if you really want to do that, os.Exec
13:35 < aiju> oh not quite
13:35 < Frank> yes, i can write it in Python
13:35 < aiju> os.StartProcess
13:35 < Frank> but i'm wondering if i can do it in Go, for fun
13:35 < aiju> looks like what you want
13:35 < exch> you'd have to do some Environment variable magic to find out
which compiler is present on the machine you run on.  if any at all
13:36 < exch> 6g/8g etc
13:37 < Frank> thanks
13:37 -!- rlab_ [~Miranda@] has quit [Ping timeout: 260 seconds]
13:38 < Frank> maybe i'll continue to use a Python script to do that.
os.Exec is a little bit harder for me
13:38 < aiju> just use a damn shell script
13:39 < aiju> i have a "go" script which compiles and runs go programs
somewhere here
13:39 < Frank> lol, just for fun
13:41 -!- rlab [~Miranda@] has joined #go-nuts
13:42 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-152-33.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
13:48 -!- ab3 [~abe@] has quit [Ping timeout: 240 seconds]
13:51 -!- ab3 [~abe@] has joined #go-nuts
13:55 -!- a2800276 [~a2800276@xdsl-195-14-205-253.netcologne.de] has joined
13:58 -!- Frank [7d47e7c8@gateway/web/freenode/ip.] has quit [Quit:
Page closed]
14:09 -!- nictuku [~yvesj@unaffiliated/nictuku] has quit [Ping timeout: 250
14:11 -!- virtualsue [~chatzilla@nat/cisco/x-sumemmwllijpgcsw] has quit [Quit:
ChatZilla [Firefox 4.0/20110318052756]]
14:41 -!- aljamms8
[~s@customer943.pool1.Acton-GLN1070-BAS0001.orangehomedsl.co.uk] has quit [Quit:
14:47 -!- ab3 [~abe@] has quit [Ping timeout: 260 seconds]
14:53 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 260 seconds]
14:55 < nbm> jessta_, Thanks, I'll look into XGB.
14:55 < nbm> uriel, I'm missing basic stuff like the ability to set the
window size.
14:58 -!- huin [~huin@] has quit [Quit: leaving]
14:59 -!- luruke [~luruke@] has joined #go-nuts
15:00 -!- luruke [~luruke@] has left #go-nuts []
15:05 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has joined #go-nuts
15:05 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has quit [Changing host]
15:05 -!- nictuku [~yvesj@unaffiliated/nictuku] has joined #go-nuts
15:07 -!- foocraft [~dsc@] has joined #go-nuts
15:08 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
15:17 < skelterjohn_> nbm: a guy here was talking about a draw impl for mac
15:17 < skelterjohn_> but yeah, the x11 is insufficient
15:17 -!- DerHorst [~Horst@e176102061.adsl.alicedsl.de] has quit [Remote host
closed the connection]
15:20 -!- skelterjohn_ [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
15:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
15:26 -!- a2800276_ [~a2800276@xdsl-213-196-209-13.netcologne.de] has joined
15:26 -!- unhygienix [~unhygieni@host86-135-59-30.range86-135.btcentralplus.com]
has joined #go-nuts
15:27 -!- a2800276 [~a2800276@xdsl-195-14-205-253.netcologne.de] has quit [Read
error: Operation timed out]
15:29 -!- gedevan [~gedevan@] has joined #go-nuts
15:35 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
15:37 < nsf> I've fixed gocode this time (for weekly 2011-04-27), but it
needs a new maintainer if many of you want it to work
15:37 < nsf> since I don't use Go anymore, I have small interest in
supporting it
15:37 -!- nixness [~dsc@] has joined #go-nuts
15:37 < nsf> so..  if anyone wants, you're welcome :)
15:37 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined
15:38 < nsf> gc packages parser is in a very bad shape, there are
regexp-based search & replaces now
15:38 < nsf> it won't last long
15:38 < nsf> :(
15:38 < nsf> hopefully someone will manage to fix gocode by using go/types
15:39 < nsf> (which has a correct gc packages parser)
15:39 < nsf> see ya :) any questions regarding gocode - drop an email :D
15:40 -!- nsf [~nsf@jiss.convex.ru] has left #go-nuts ["WeeChat 0.3.4"]
15:40 -!- foocraft [~dsc@] has quit [Ping timeout: 260 seconds]
15:48 -!- nixness [~dsc@] has quit [Read error: Connection reset by
15:49 -!- nixness [~dsc@] has joined #go-nuts
15:57 -!- thiago__ [~thiago@] has quit [Quit: bye]
16:08 -!- aho [~nya@fuld-590c6b10.pool.mediaWays.net] has quit [Quit:
16:13 -!- nixness [~dsc@] has quit [Ping timeout: 250 seconds]
16:16 -!- rlab_ [~Miranda@] has joined #go-nuts
16:17 -!- rlab [~Miranda@] has quit [Ping timeout: 276 seconds]
16:19 -!- a2800276 [~a2800276@xdsl-213-196-209-13.netcologne.de] has quit [Quit:
16:19 -!- foocraft [~dsc@] has joined #go-nuts
16:22 -!- a2800276 [~a2800276@xdsl-213-196-209-13.netcologne.de] has joined
16:23 -!- a2800276 [~a2800276@xdsl-213-196-209-13.netcologne.de] has quit [Client
16:31 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
16:32 -!- rlab_ [~Miranda@] has quit [Ping timeout: 240 seconds]
16:38 -!- rlab [~Miranda@] has joined #go-nuts
16:39 -!- angasule [~angasule@] has joined #go-nuts
16:44 -!- tav [~tav@] has joined #go-nuts
16:48 < nictuku> it sucks balls that nsf is dropping maintenance of gocode
and stopped using the language :-(
16:50 < fzzbt> what really
16:50 -!- ttuttle [~ttuttle@pdpc/supporter/21for7/ttuttle] has left #go-nuts []
16:51 < fzzbt> i remember him talking so much how he actually maintains his
code unlike everyone else
16:51 < fzzbt> noo
16:52 < fzzbt> he'll be back
16:52 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
16:55 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
16:57 < nictuku> yes, gocode is an exemplary well maintained project.
17:00 < fzzbt> still, why stop using go altogether?
17:01 < jessta_> I think nsf is working on a Go like language
17:01 < jessta_> so he's working on that
17:03 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 250 seconds]
17:03 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC -
17:04 -!- artefon [~thiago@] has joined
17:04 < nictuku> let's hope it's *very* Go like ;-)
17:07 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
17:07 < fzzbt> damn, i can't imagine coding go without gocode anymore
17:14 -!- res99 [~anonymous@] has joined #go-nuts
17:34 < TheMue> Never coded *with* gocode.  Just vim with the standard
plugins (including a simple completion).
17:35 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:38 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 248 seconds]
17:41 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
17:41 < skelterjohn> fzzbt: maybe you should help keep it up to date, then
17:41 < skelterjohn> it's easiest to work on something when you use it a lot
17:42 -!- keidaa [~keidaa@cm-] has joined #go-nuts
17:46 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 248 seconds]
17:47 -!- keidaa [~keidaa@cm-] has quit [Quit:
17:50 -!- keidaa [~keidaa@cm-] has joined #go-nuts
17:50 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
17:51 < fzzbt> maybe
17:56 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Quit:
17:59 -!- nixness [~dsc@] has joined #go-nuts
18:11 -!- foocraft [~dsc@] has quit [Ping timeout: 250 seconds]
18:11 < PJRobins> Triying to compile the tabby project out of curiosity and
it errored out due to some weekly changes, fixed those.
18:12 -!- nixness [~dsc@] has quit [Ping timeout: 240 seconds]
18:12 < PJRobins> however it is giving type mismatch errors
18:12 < PJRobins> the variaconstants from gtk a re ints but they need to be
passsed by value
18:12 < PJRobins> I am not sure how to fix this issue any pointers?
18:13 < PJRobins> constant variables ...  apology can't type today.
18:20 -!- foocraft [~dsc@] has joined #go-nuts
18:21 < vsmatck> Can you link up to the source file on github?
18:24 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
18:26 -!- nixness [~dsc@] has joined #go-nuts
18:26 -!- foocraft [~dsc@] has quit [Ping timeout: 240 seconds]
18:27 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
18:33 -!- ab3 [~abe@] has joined #go-nuts
18:38 -!- nkdnstbr [~nkdnstbr@cpe-173-172-231-83.rgv.res.rr.com] has quit [Quit:
Lost terminal]
18:38 -!- nkdnstbr [~nkdnstbr@cpe-173-172-231-83.rgv.res.rr.com] has joined
18:41 -!- nixness [~dsc@] has quit [Ping timeout: 258 seconds]
18:46 < PJRobins> sure.  itwill take me a second.
18:48 < PJRobins> the type mismatch errors start at line 74.
18:49 -!- piranha [~piranha@] has quit [Quit: Computer has gone to
18:49 < skelterjohn> can you like the repository for the gtk implementation
you're using?
18:51 < vsmatck> https://github.com/mattn/go-gtk/blob/master/gtk/gtk.go Is
it this one?
18:51 < PJRobins> yep, that would be it.
18:52 < skelterjohn> PJRobins: the AddButton method wants an int
18:53 < skelterjohn> you're giving it a GtkResponseType
18:53 < skelterjohn> to make it compile, you could have
18:53 < skelterjohn> but perhaps that would be the wrong thing to do
18:54 < PJRobins> I don't know.  playing with other peoples code to get a
feel for Go
18:54 < PJRobins> will give it a try and see how it goess, thanks.
19:01 -!- mheld [~mheld@login.ccs.neu.edu] has joined #go-nuts
19:01 -!- teralaser [teralaser@unaffiliated/teralaser] has joined #go-nuts
19:01 < mheld> hey y'all
19:01 -!- zacharycohn [~zacharyco@c-98-247-247-157.hsd1.wa.comcast.net] has joined
19:02 -!- mheld [~mheld@login.ccs.neu.edu] has left #go-nuts []
19:02 -!- zacharycohn [~zacharyco@c-98-247-247-157.hsd1.wa.comcast.net] has left
#go-nuts []
19:06 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-166-56.clienti.tiscali.it] has
joined #go-nuts
19:06 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Read error: Connection reset by peer]
19:06 -!- teralaser [teralaser@unaffiliated/teralaser] has left #go-nuts []
19:06 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
19:12 -!- foocraft [~dsc@] has joined #go-nuts
19:17 -!- foocraft [~dsc@] has quit [Ping timeout: 250 seconds]
19:19 < keidaa> is gtk stableish?
19:20 < skelterjohn> i can't get it to work at all on my mac
19:21 < aiju> gtk is evlis
19:21 < aiju> *evilish
19:21 < keidaa> what is the good stuff?
19:22 < keidaa> cli?
19:22 < skelterjohn> never heard of cli
19:22 < aiju> triggering a kernel bug to write over the screen is a better
idea than gtk
19:22 < aiju> it's also more portable and won't break with the next release
19:22 < skelterjohn> if you're looking for a way to do GUI with go, there
isn't a standard
19:22 < skelterjohn> "good" way to do it
19:22 < aiju> i've always found tk okay to work with, haven't tried it with
Go though
19:23 < keidaa> tk is ugly as hell though
19:23 < aiju> most libraries are event based and events don't fit into the
go model at all
19:23 < aiju> keidaa: like your mom
19:23 < aiju> ;)
19:23 < keidaa> ouch
19:23 < skelterjohn> or like aiju's face
19:24 < Namegduf> Eh
19:24 < Namegduf> Event channel works okay
19:24 < aiju> well "not at all" is a bit of an overstatement
19:24 < aiju> it's not quite the concurrent way of doing things
19:25 -!- rlab [~Miranda@] has quit [Read error: Connection reset by
19:26 < aiju> a Go-ish GUI library would be fairly cool
19:27 < skelterjohn> need a way to easily draw first
19:27 < aiju> doesn't matter, it could just call something else
19:27 < exch> Doing UI stuff is difficult in a concurrent fashion.  Drawing
usually has to be limited to a single thread anyway if you don't want stuff to
blow up in your face
19:27 < xash> I can't image a GUI which is not eventdriven ..
19:27 < aiju> exch: concurrency is just the right way to do it
19:27 < vsmatck> What would a go GUI library look like?  A channel per
19:28 < aiju> vsmatck: something like that
19:28 < skelterjohn> though then you'd have to be careful about multiple
19:28 < aiju> GUI was the first application of concurrency
19:28 < aiju> by rob
19:28 < Namegduf> Totally a goroutine per button
19:28 < skelterjohn> probably be that each listener could request a channel
from the button
19:28 < vsmatck> There are definite advantages to channels over typical call
back systems.
19:28 < Namegduf> Each one blocked
19:28 < Namegduf> Haha.
19:28 < aiju> Namegduf: it's the Go model
19:28 < aiju> if you don't like it, go code Java or something
19:29 < vegai> eventloops and threads are not that different
19:29 < aiju> vegai: just like bicycles and submarines
19:29 < vegai> fundamentally
19:29 < aiju> fundamentally
19:29 < Namegduf> aiju: Java has the same "model", just sans goroutines so
it goes horribly slow, for network code
19:29 < |Craig|> personally I favor functions over channels for most things.
I can pass a function to the button which can send over a channel if I want, and
lets be control how/when things buffer/block
19:29 < vegai> they're mostly an implementation detail
19:29 < skelterjohn> vegai: do you mean that event loops and threads are not
different from each other, or from channels and goroutines?
19:30 < Namegduf> vegai: Implementation details are kinda significant when
writing implementations
19:30 < vsmatck> I can see the event loop/thread similarity if you look at
the event loop as a scheduler.
19:30 -!- rlab [~Miranda@] has joined #go-nuts
19:31 < vsmatck> You could consider your event loop to be sort-of creating
lightweight threads.  Of course there's no time slice scheduling or anything.
19:31 < vsmatck> But yeah the ideas seem similar.
19:31 < aiju> goroutines don't have time slice scheduling either
19:31 < aiju> and these are ENTIRELY different concepts
19:32 < vegai> Namegduf: that's true , of course
19:32 < Namegduf> I have no particular favoured way of handling events in
19:32 < Namegduf> Channels allow some clever ideas, goroutine-per works
great for I/O
19:33 < Namegduf> I think "events" are too general a concept to pick a way,
19:33 < aiju> rob pike wrote a few papers about this
19:34 < aiju> http://doc.cat-v.org/bell_labs/squeak/
19:34 < aiju> e.g.
19:57 -!- napsy [~luka@] has quit [Ping timeout: 246 seconds]
20:00 -!- reds_ [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has quit
[Remote host closed the connection]
20:11 -!- ghais [~ghais@c-68-32-79-77.hsd1.ga.comcast.net] has joined #go-nuts
20:14 -!- kimelto [~kimelto@sd-13453.dedibox.fr] has joined #go-nuts
20:14 < kimelto> uh oh?  finalizers?:)
20:14 < ghais> Hello, in the weekly release test crypto/tls doesn't seem to
terminate on OSX.  Is there a way to disable it?
20:16 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts
20:18 -!- ghais [~ghais@c-68-32-79-77.hsd1.ga.comcast.net] has quit [Quit: ghais]
20:23 < uriel> 19:29 < Namegduf> aiju: Java has the same "model", just
sans goroutines so it goes horribly slow, for network code
20:24 < uriel> Namegduf: uhu?  and sans channels, so basically Java has the
same "model" except for almost everything in the model
20:25 -!- photron_ [~photron@port-92-201-38-139.dynamic.qsc.de] has quit [Ping
timeout: 248 seconds]
20:25 < Namegduf> uriel: I was referring to the thread-per-event-source
thing aiju was talking about
20:25 < aiju> the sane way to do GUI
20:28 -!- jyxent [~jyxent@] has quit [Read error: Connection reset
by peer]
20:32 < xash> Is there a way in channels, I tell the sender to send a
variable only, when there is a receiver ..  without a second channel?
20:34 -!- jyxent [~jyxent@] has joined #go-nuts
20:35 < skelterjohn> you'll have to rephrase that question, i think
20:35 < skelterjohn> i don't really understand
20:38 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has joined #go-nuts
20:38 < xash> Uhrm ..  sorry!  for example, I have a channel c, where a
receiver can get the actual time in his timezone.  So that time <- channel
should work ..  so a sender should wait with sending a value, until there is a
20:39 < skelterjohn> i see
20:39 < skelterjohn> you want to only send a value down when someone is
actually trying to read from the channel
20:40 < xash> Yes :-D
20:40 < skelterjohn> and you can't think of a way other than receiving a
request on a second auxiliary channel
20:40 < skelterjohn> is this correct?
20:40 < xash> Yepp again
20:40 < uriel> go func () { c <- v }
20:40 < uriel> done
20:40 < skelterjohn> but that v is suppose to be a time
20:40 < skelterjohn> and it needs to be the "current" time
20:41 < skelterjohn> xash: unfortunately there are no guarantees about how
long it will be between when the value is sent and received
20:41 < skelterjohn> such are the perils of concurrency
20:41 < xash> Hrm ..  ok, then a second channel has to do this ..  thanks
20:41 < skelterjohn> if you want information about something with no delays,
then a channel is the wrong way to do it.  make a function call.
20:41 < skelterjohn> no - that is not right
20:42 < |Craig|> send a function down the chan that you can ask for a time,
or perhaps an offset from a time referance.
20:42 < skelterjohn> even with a second channel, you can't guarantee that
what you get from the read channel is accurate
20:42 < skelterjohn> only that it happened sometime between when the request
was made and the time received
20:42 < xash> Oh, right..
20:42 < skelterjohn> the best bet is time.Nanosecond()
20:42 < skelterjohn> channels aren't the answer for every problem
20:43 < |Craig|> channels are the answer for very few problems (but they are
important ones that are a pain, but not impossible, to do other ways)
20:43 < aiju> channels are the answer for many problems
20:43 < skelterjohn> i wouldn't say "few"
20:43 < skelterjohn> they're the answer to communication between concurrent
20:44 < skelterjohn> but a request for the current time is not such a thing
20:44 < |Craig|> most things arn't communication between concurrent
processes though
20:44 < skelterjohn> ok, "most" and "few" are pretty unqualified :)
20:44 < aiju> can't you go write Java or something?
20:45 < |Craig|> if something can be done with a function, of passing a
closure, its generally not a job for a channel
20:45 < aiju> everything can be done by functions and closures
20:45 < aiju> that is TOTALLY not the point of concurrent programming
20:46 < TheMue> aiju: full ack
20:46 < |Craig|> I agree that a concurrent program should use channels.  But
if you use them as often as function calls and aramthatic, your probably doing
something silly
20:46 < aiju> i don't do "aramthatic"
20:46 < Namegduf> I assume this is just an example, the time-getting thing
20:47 < aiju> and goroutines and channels are meant to be used heavily
20:47 < |Craig|> arithmetic
20:48 < aiju> i wish there was some canonical piece of paper
20:48 < aiju> -piece of
20:48 < aiju> "how to do concurrent programming" or something
20:48 < Namegduf> I don't care about concurrent programming.  I care about
solving problems.  :P
20:49 < Namegduf> It fits some well, but you get more bloated than Java
trying to write everything as a set of communicating goroutines
20:49 < Namegduf> The stdlib uses them fairly moderately, and I take my lead
from that.
20:49 < |Craig|> when I started using go, I tended to use channels for
things that I shouldn't because they were cool, and my code was slow and a mess
20:49 < Namegduf> If you think everything should be goroutines, start with
stdlib stuff, maybe?
20:51 < |Craig|> I wanted a generator object lie in python, I used a
channel.  Using a function instead was a lot faster and simpler
20:51 -!- boomtopper [~boomtoppe@host86-128-243-59.range86-128.btcentralplus.com]
has quit [Quit: Lost terminal]
20:55 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-166-56.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
20:58 -!- dshep [~dss@c-76-21-12-46.hsd1.ca.comcast.net] has joined #go-nuts
21:00 < kevlar> well, that was a fun weekend project.
21:00 * kevlar just finished an app that does image steganography with optional
AES encryption.
21:01 < kevlar> I can take a jpeg of a kitten and embed itself (AES
encrypted) in a PNG that's visually indistinguishable from the original.
21:01 < kevlar> I'm only doing 3 bits per pixel, though, but I'm sure I
could up the density considerably before it starts to be noticeable.
21:03 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:2183:4ed0:2161:5d1a] has quit
[Quit: Leaving.]
21:09 -!- dshep [~dss@c-76-21-12-46.hsd1.ca.comcast.net] has quit [Ping timeout:
260 seconds]
21:10 -!- dshep [~dss@c-76-21-12-46.hsd1.ca.comcast.net] has joined #go-nuts
21:14 -!- rlab [~Miranda@] has quit [Ping timeout: 246 seconds]
21:16 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Quit:
Geek insindeĀ®]
21:16 -!- jyxent [~jyxent@] has quit [Read error: Connection reset
by peer]
21:18 -!- TheMue [~TheMue@p5DDF4C38.dip.t-dialin.net] has quit [Quit: TheMue]
21:21 -!- dshep [~dss@c-76-21-12-46.hsd1.ca.comcast.net] has quit [Ping timeout:
264 seconds]
21:22 -!- rlab [~Miranda@] has joined #go-nuts
21:22 -!- jyxent [~jyxent@] has joined #go-nuts
21:28 -!- KingPhilroy [~kingphilr@shc-nat-newhall.stonehill.edu] has joined
21:30 -!- keidaa [~keidaa@cm-] has quit [Quit:
21:31 < Sebastian_> Anyone here who's working on the crypto package by
21:36 < kevlar> working on or working with?
21:36 < kevlar> I've been playing with it of late.
21:39 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
21:43 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has joined
21:46 -!- foocraft [~dsc@] has joined #go-nuts
22:06 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
22:09 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts
22:10 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has quit
[Quit: gtaylor]
22:34 -!- angasule [~angasule@] has quit [Ping timeout: 246 seconds]
22:39 -!- unhygienix [~unhygieni@host86-135-59-30.range86-135.btcentralplus.com]
has quit [Quit: unhygienix]
23:01 -!- angasule [~angasule@] has joined #go-nuts
23:24 < vsmatck> I wonder if implicit closures will be a source of bugs in
go code.  I was reading about rust today and it has explicit closures.  What you
guys think?
23:24 -!- angasule [~angasule@] has quit [Remote host closed the
23:25 < vsmatck> I don't think this is an issue.  But I can see it biting
some people.  Like when you do a go func() { ...  }() in the middle of a function
an accidently use a variable from the outside scope.
23:25 < vsmatck> I guess the tradeoff is extra typing and text for some
23:26 < Namegduf> Eh.
23:26 < Namegduf> I guess, but I think the safety gain is small because the
risk is small.
23:26 < vsmatck> yeah I'm tending to think that too.
23:27 < Namegduf> Statically catching errors via explicitly writing out
information and checking for conflicts is good, but there has to be a limit.
23:27 < vsmatck> I guess safety vs verbosity is a value judgement.
23:27 < rm445_> hmm, I don't know Go's scoping rules at all.  In C, you can
always do 'int x; { int x; }' (shadowing the previous x with block scope) - does
the equivalent work in go?
23:27 < Namegduf> Yeah.
23:27 < Namegduf> Yes.
23:27 < rm445_> If so then accidentally catching an outside variable in a
closure is just the same thing
23:28 < vsmatck> yeah, that's the potential problem.
23:29 < vsmatck> Rust is interesting.  Similar to Go in a lot of ways but
many of the value judgements are different.  Another judgement call they made
differently is to not allow channels to be composeable.
23:29 < vsmatck> Like you can't sent a "call back channel" over a channel.
23:30 -!- a2800276 [~a2800276@xdsl-213-196-209-13.netcologne.de] has joined
23:31 < vsmatck> Another interesting choice is that their GC is closer to
earlang.  Each process will have it's own GC. No global GC like in Go.
23:32 < vsmatck> I would think that'd lead to better performance on systems
with lots of CPUs.
23:32 < Namegduf> Hmm.
23:32 < vsmatck> I think doing that requires some language choices I don't
fully understand though.
23:32 < Namegduf> Not at all unless you also make "process" scheduling
favour individual processors.
23:33 < Namegduf> Which is doable, but a required first step.
23:33 < Namegduf> I suspect it'd hurt memory usage everywhere, though, and I
don't know what it'd mean for passing values around.
23:33 < Namegduf> Would it mean the first process would need to retain a
handle on it, or it goes invalid?
23:34 < |Craig|> vsmatck: if you want to add extra clarity to closures, you
can make a function that does nothing but make and return a closure, and pass all
the outer scope things it needs to that function.
23:34 < Namegduf> That'd make a lot of passing stuff around in Go a lot
harder, and negate a lot of the point of a GC in some cases, as you'd still have
to explicitly say "I'm done" to the original process.
23:35 < vsmatck> In rust I think they disallow stuff like passing a pointer
over a channel.  They seem super strict about about having situations where two
different threads can mutate the same data.
23:36 < Namegduf> Ouch.
23:36 < vsmatck> yeah, that could cost some performance.  Not sure about the
23:37 < |Craig|> That kind of restriction can be very useful, but it makes
the language entirely different as far as use-cases go in my opinion
23:37 < vsmatck> Because that seems to be a performance for safety tradeoff.
But then is it?
23:37 < Namegduf> Maintainability for safety, too.
23:37 < Namegduf> That restricts a lot of things you can do in Go.
23:38 < Namegduf> Changes design.
23:38 < |Craig|> if you want to process an image in 2 threads, you have to
copy at least half of it at least twice if you can't send pointers
23:38 < Namegduf> Yeah, I think you'd have to use their processes fairly
different to goroutine as a result.
23:38 < Namegduf> *goroutines
23:40 < vsmatck> I should probably verify this.  I mean if the data is
immutable there's no reason not to have the ability to pass a pointer.  I think
it's one of those languages where everything is strictly known to be immutable or
23:40 < vsmatck> *shrug* :)
23:41 < |Craig|> I could imagine passing special pointers that could only be
passed, not copied.  It would be a very different language though.  You could
split a slice, but not subslice if you wanted to be able to give it to another
23:45 < |Craig|> If every object has one mutation pointer, which can be
destroyed and turned into a copyable pointer that does not allow mutation, things
would be inherently concurrency safe, but that would be a strange language
23:45 < |Craig|> prabably not too useful either
23:45 < Namegduf> I'm going to refrain from value judgements, Rust looks
23:45 < Namegduf> It "goes further" than Go but seems to have some similar
concepts here and there.
23:46 < Namegduf> I'm not going to switch, though.
23:46 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 276 seconds]
23:46 < Namegduf> One not shared concept is simplicity, for example.
23:46 < Namegduf> I like simplicity.
23:50 < |Craig|> I like complexity in my scripting language, and simplicity
in my long term and/or performance critical languages
--- Log closed Sun May 01 00:00:26 2011