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

--- Log opened Mon Mar 14 00:00:55 2011
00:01 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has joined #go-nuts
00:04 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Remote host closed the
connection]
00:27 < fzzbt> steven: that would be putting programming stuff into
templates which goes against some people's idea how templates should be designed.
When would it be too much hassle to call your non-0-arg methods in your actual
code?
00:29 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts
00:29 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host]
00:29 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
00:30 -!- iant1 [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 255 seconds]
00:31 -!- iant [~iant@216.239.45.130] has joined #go-nuts
00:31 -!- mode/#go-nuts [+v iant] by ChanServ
00:35 < steven> fzzbt: im just thinking in terms of creating a rails-like
clone in Go
00:36 < fzzbt> doesn't rails make it possible to insert program logic into
templates?
00:36 < crazy2be> steven: You could probably just execute go code in certain
tags through some trickery
00:39 < steven> btw, whats the best way of creating a temporary io.Writer
for reading the data written to it as a string?
00:39 < crazy2be> bytes.Bugger
00:40 < crazy2be> *Buffer
00:40 < steven> ahh thats smarter than io.Pipe which i was planning on using
00:40 < steven> thanks bromium
00:42 -!- gid [~gid@220-253-33-95.VIC.netspace.net.au] has quit [Quit: Leaving.]
00:48 -!- ronnyy [~quassel@p4FF1C736.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
00:50 -!- SirPsychoS [~sp@c-24-13-132-130.hsd1.il.comcast.net] has quit [Ping
timeout: 252 seconds]
00:50 < steven> fzzbt: yes, it does.
00:50 -!- ronnyy [~quassel@p4FF1C736.dip0.t-ipconnect.de] has joined #go-nuts
00:57 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
00:57 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has quit [Read error:
Connection reset by peer]
00:59 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has joined #go-nuts
00:59 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
01:06 -!- shvntr [~shvntr@113.84.148.208] has joined #go-nuts
01:12 < steven> wow.  i saw "apos" and instead of thinking "oh this stands
for apostrophe" my mind went to "apostolic" instead.  neat :)
01:15 < captn> go seems to be toxic
https://groups.google.com/d/msg/golang-dev/WKdy68ScC58/hO0fnwTw4hgJ ;-)
01:16 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
01:19 < dfc> captn: maddening
01:19 < dfc> all I wanted to do was just get 6cov running again
01:19 < dfc> i really dont' want to go digging in libmach
01:19 < dfc> no good will come from that
01:20 -!- nettok [~quassel@200.119.166.246] has joined #go-nuts
01:22 < steven> i forgot why i wanted __FILE__
01:22 < steven> absolutely forgot what i wanted to do with it in the first
place
01:22 < steven> i found something.Caller() and it only returns the name of
the file..  and i have no idea if thats good or bad for my purposes because i dont
know what my purposes are!  frustrating.  heh
01:42 < exch> :P
01:47 < str1ngs> can someone check this is right?
https://gist.github.com/868652
01:48 < str1ngs> the libgit2 docs state that the c-string must be
deallocated.  so is that the right way?
01:48 < exch> looks ok
01:48 < exch> ya
01:49 < str1ngs> ok thank you
01:54 < captn> str1ngs: what I don't get, goog employs Hamano and is even so
incapable to implement git support in googlecode ...
01:54 < str1ngs> captn: I'm sure its not they cant its just that mercurial
does the samething
01:55 < str1ngs> there are differences of course but the principles are the
same.
01:56 < str1ngs> captn: if you need to use google code.  just use use git-hg
its pretty seemless
01:56 < captn> I heard that it's broken by design (linus)
01:57 < str1ngs> for some people starting I suggest hg, its really not bad.
01:57 < str1ngs> it could be worst..  bzr...
01:58 < captn> indeed :-)
01:58 < str1ngs> but to fair I have not used bzr or hg enough to even
comment :P
02:03 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com]
has quit [Quit: Cromulent]
02:08 -!- mikespook [~mikespook@183.47.231.18] has joined #go-nuts
02:09 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has quit [Quit: Lost
terminal]
02:10 -!- wtfness [~dsc@78.100.173.66] has joined #go-nuts
02:11 -!- foocraft [~dsc@78.101.80.142] has quit [Ping timeout: 255 seconds]
02:39 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts
02:45 < steven> is there a way to get the name of the currently executing
function?
02:49 -!- nettok [~quassel@200.119.166.246] has quit [Ping timeout: 276 seconds]
02:55 -!- toyoshim [~toyoshim@y241242.dynamic.ppp.asahi-net.or.jp] has quit [Ping
timeout: 276 seconds]
02:57 < skelterjohn> steven: runtime.Caller
02:58 < skelterjohn>
http://code.google.com/p/gonicetrace/source/browse/nicetrace/nicetrace.go
03:05 < steven> skelterjohn: that doesnt show the function/method name :P
03:05 < skelterjohn> oh you're right
03:05 < steven> nm though
03:05 < steven> its a silly idea
03:06 < skelterjohn> if you have access to the source, you can combine line
info with go/ast
03:08 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
615 seconds]
03:10 < steven> ah right.
03:11 < steven> whatcha think?
https://github.com/sdegutis/go-sinatra/blob/master/the-plan-so-far.txt
03:14 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
03:22 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined
#go-nuts
03:29 < steven> kinda like a mature version of web.go
03:30 < dfc> steven: ^ nice!
03:30 < dfc> extra marks for using func()'s
03:32 < steven> oh wait.
03:32 < steven> its not different enough from web.go
03:33 * dfc goes back to printf debugging 6cov
03:35 <@adg> steven: it's not even very different from http
03:35 < steven> actually its very much the same as web.go in all except 3
small details: (1) the first argument to each handler is a request object; (2) it
can return a string or a redirect object; (3) it instantiates a web object instead
of using a global one..  although i like the idea of having a default global one
instead..  ie, w := web.W instead of w := web.Web{}
03:35 <@adg> how does web.Render work?
03:35 < steven> adg: it adds enough convenience on top of http to be worth
the hassle
03:35 <@adg> the return value?
03:36 < steven> adg: web.Render would work by looking up the template file,
creating a convenience-object to pass into template.Exec, and returning the
resulting string
03:37 < steven> oh i forgot helpers.
03:38 < steven> ok, added helpers..
https://github.com/sdegutis/go-sinatra/blob/master/the-plan-so-far.txt
03:39 -!- shvntr_ [~shvntr@113.84.148.208] has joined #go-nuts
03:39 -!- shvntr_ [~shvntr@113.84.148.208] has quit [Client Quit]
03:41 < steven> DAMNIT
03:41 < steven> go-fastweb took the idea i had today, ALMOST TO THE FRICKEN
T
03:45 -!- chomp [~ken@c-71-206-216-232.hsd1.pa.comcast.net] has joined #go-nuts
03:47 < chomp> I can't seem to get http.Request to give me a non-empty Host
string in its URL
03:47 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has left
#go-nuts []
03:48 < chomp> The raw URL seems to contain only the path and everything
after it
03:49 < steven> are you running it with the local address of ":8080" or
something?
03:49 < chomp> I am
03:50 < chomp> but the incoming request is not from localhost - i would have
expected Host to contain the Host string from the actual incoming request
03:53 < chomp> It looks like I can parse what I need out of
http.Request.Referrer but that seems dubious
03:54 < chomp> and in fact in the raw request header, the Host field is what
i want
03:54 < chomp> yet that is not what is stored in Request.Host as per the
documentation
03:55 < steven> weird
03:56 < chomp> ah looking at the http source, it seems that the Host field,
among others, is explicitly filtered from the raw header when parsing
03:56 < chomp> and replaced with something else
03:56 < chomp> hrm.
03:57 -!- gogogrrl [~max@p5DE8E6CF.dip.t-dialin.net] has joined #go-nuts
03:59 -!- gogogrrl_ [~max@p5DE8E6B7.dip.t-dialin.net] has quit [Read error:
Operation timed out]
04:08 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Ping
timeout: 248 seconds]
04:09 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts
04:14 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
04:16 -!- slashus2 [~slashus2@74-141-110-130.dhcp.insightbb.com] has quit [Quit:
slashus2]
04:25 -!- ronny [~quassel@p4FF1C663.dip0.t-ipconnect.de] has joined #go-nuts
04:25 -!- ronnyy [~quassel@p4FF1C736.dip0.t-ipconnect.de] has quit [Ping timeout:
240 seconds]
04:34 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
04:38 -!- shvntr [~shvntr@113.84.148.208] has quit [Ping timeout: 240 seconds]
04:48 -!- schmrkc [~marcus@sxemacs/devel/schme] has quit [Ping timeout: 250
seconds]
04:48 -!- schmrkc [~marcus@c83-254-196-92.bredband.comhem.se] has joined #go-nuts
04:48 -!- schmrkc [~marcus@c83-254-196-92.bredband.comhem.se] has quit [Changing
host]
04:48 -!- schmrkc [~marcus@sxemacs/devel/schme] has joined #go-nuts
04:49 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
05:05 -!- shvntr [~shvntr@113.84.148.208] has joined #go-nuts
05:05 -!- captn [~root@pD9FE28F3.dip.t-dialin.net] has quit [Quit: Leaving.]
05:09 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
05:11 -!- enherit [~enherit@24-176-217-66.dhcp.lnbh.ca.charter.com] has joined
#go-nuts
05:14 -!- mikespook [~mikespook@183.47.231.18] has quit [Ping timeout: 240
seconds]
05:14 -!- mikespook1 [~mikespook@116.21.153.120] has joined #go-nuts
05:15 -!- enherit [~enherit@24-176-217-66.dhcp.lnbh.ca.charter.com] has quit
[Client Quit]
05:17 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
05:18 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
05:19 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts
05:29 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Ping
timeout: 264 seconds]
05:30 -!- shvntr [~shvntr@113.84.148.208] has quit [Read error: Connection reset
by peer]
05:36 -!- Netsplit *.net <-> *.split quits: mikespook1, chomp,
tensorpudding, skelterjohn, kingfishr, zozoR, Guest81572, foocraft, lmoura
05:36 -!- Netsplit *.net <-> *.split quits: yebyen, Paradox924X, [dmp],
jkleier, czr_, rl, vpit3833, xulfer, kurt, tav
05:36 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
05:39 -!- shvntr [~shvntr@113.84.148.208] has joined #go-nuts
05:40 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has joined #go-nuts
05:44 -!- fabled [~fabled@mail.fi.jw.org] has joined #go-nuts
05:45 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
05:51 -!- Netsplit over, joins: foocraft, zozoR, mikespook1, tensorpudding,
Guest81572, kingfishr, skelterjohn, lmoura, jkleier, [dmp] (+8 more)
06:15 -!- crazy2be [~crazy2be@d209-89-248-73.abhsia.telus.net] has quit [Ping
timeout: 250 seconds]
06:16 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has joined #go-nuts
06:20 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed
the connection]
06:22 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
06:24 -!- dfc [~dfc@sydfibre2.atlassian.com] has quit [Ping timeout: 246 seconds]
06:40 -!- ildorn [~ildorn@dslb-188-099-196-154.pools.arcor-ip.net] has joined
#go-nuts
06:52 -!- Natch [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
06:55 -!- Natch| [~natch@c-6dcde155.25-4-64736c10.cust.bredbandsbolaget.se] has
quit [Ping timeout: 248 seconds]
07:12 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has joined #go-nuts
07:12 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:33 -!- wrtp [~rog@92.17.3.222] has joined #go-nuts
07:33 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has joined
#go-nuts
08:16 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
joined #go-nuts
08:18 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
08:18 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
08:27 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
08:27 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
08:45 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
08:50 -!- visof [~visof@41.233.121.162] has joined #go-nuts
08:50 -!- visof [~visof@41.233.121.162] has quit [Changing host]
08:50 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
08:53 -!- Urmel|Work [~UrmelWork@cache1.uk.logica.com] has joined #go-nuts
09:01 -!- Fish- [~Fish@coss6.exosec.net] has quit [Quit: So Long, and Thanks for
All the Fish]
09:03 -!- cenuij [~cenuij@78.112.41.178] has joined #go-nuts
09:03 -!- cenuij [~cenuij@78.112.41.178] has quit [Changing host]
09:03 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
09:06 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
09:07 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has joined #go-nuts
09:08 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Client Quit]
09:08 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
09:19 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
09:20 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
09:28 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has left
#go-nuts []
09:30 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com]
has joined #go-nuts
09:39 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has quit [Quit: dfc]
09:41 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has joined #go-nuts
09:50 <@adg> steven: damnit?  isn't that a good thing?  someone's already
done the work, you can contribute
09:51 <@adg> chaos95_: request.URL.Host ?
09:58 < wrtp> adg: i just replied to the concurrent method call issue
09:58 < wrtp> i don't know what your feelings are about it
10:13 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has quit [Quit: dfc]
10:18 -!- xyproto [~alexander@77.40.159.131] has joined #go-nuts
10:18 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
10:22 -!- aho [~nya@fuld-4d00d681.pool.mediaWays.net] has joined #go-nuts
10:27 -!- napsy [~luka@193.2.66.6] has quit [Read error: Connection reset by peer]
10:29 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
10:33 -!- sacho [~sacho@46.10.16.35] has joined #go-nuts
10:38 <@adg> wrtp: yeah, it's an interesting one
10:38 <@adg> wrtp: most of the time it seems obvious
10:38 <@adg> wrtp: but then there are cases where you wonder
10:39 < wrtp> adg: yeah, but the "you can Close while other goroutines are
doing Read" case is definitely not obvious
10:39 < wrtp> and it catches people out
10:40 < wrtp> given that Go is a language that makes no attempt to build
concurrency-safety into much of the language, i think it's important that we
document the places where it is and isn't OK to do things concurrently
10:42 < wrtp> often the obviousness only comes from knowing how things are
implemented underneath.  and that may change - and many people won't have any idea
what's going on underneath
10:42 <@adg> i agree
10:42 <@adg> i'm interested to hear russ and rob's takes on it
10:43 <@adg> it's either a matter of simply improving docs, or setting up
some sort of framework to define what is and isn't safe
10:43 <@adg> which i guess is just a more elaborate way of "improving docs"
10:47 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
10:49 -!- napsy [~luka@193.2.66.6] has quit [Read error: Connection reset by peer]
10:50 -!- Urmel|Work [~UrmelWork@cache1.uk.logica.com] has quit [Ping timeout: 255
seconds]
10:53 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
10:53 < wrtp> yes.  i started a thread in golang-dev trying to talk about
this, but nobody seemed particularly interested.  i do think it's important
though.
10:54 < wrtp> i first started thinking about the issue properly when i was
building something to fake a net.Conn.  i realised that i didn't know what the
rules actually were, because they weren't written down anywhere.
10:57 -!- shvntr [~shvntr@113.84.148.208] has quit [Ping timeout: 240 seconds]
10:59 -!- shvntr [~shvntr@113.84.148.208] has joined #go-nuts
11:00 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
11:18 -!- Guest86754 [~quassel@p4FF1C663.dip0.t-ipconnect.de] has quit [Remote
host closed the connection]
11:22 -!- tensorpudding [~user@99.56.160.152] has quit [Remote host closed the
connection]
11:25 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has joined #go-nuts
11:26 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has quit [Client Quit]
11:32 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Read error:
Connection reset by peer]
11:33 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
11:36 -!- niekie [~niek@2001:470:9326::3] has joined #go-nuts
11:36 -!- niekie [~niek@2001:470:9326::3] has quit [Changing host]
11:36 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts
11:46 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
11:46 < kamaji> What would be the best way to represent an n-tuple in Go?
11:46 -!- ildorn [~ildorn@dslb-188-099-196-154.pools.arcor-ip.net] has quit [Read
error: Connection reset by peer]
11:47 -!- ildorn [~ildorn@dslb-188-099-196-154.pools.arcor-ip.net] has joined
#go-nuts
11:50 -!- shvntr [~shvntr@113.84.148.208] has quit [Quit: leaving]
11:54 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has joined #go-nuts
11:56 < wrtp> kamaji: with different member types, or all the same member
types?
11:59 < ww> likely a slice
11:59 < ww> if there are different types, declare an interface that
expresses their common parts, and make a slice of that interface
12:00 < Namegduf> If the n is constant, an array would work.
12:00 < Namegduf> If not, slice is needed.
12:00 < kamaji> wrtp: different types
12:01 < ww> or even tup := []interface}
12:01 < kamaji> and different sizes
12:01 < ww> if they really have nothing in common
12:01 < kamaji> actually I guess the types are "numeric"
12:01 < kamaji> so ints, floats, etc.
12:02 < Namegduf> You'd need to use interface{} and use a type switch when
extracting things.
12:02 < kamaji> is that with reflecT?/
12:02 < kamaji> and Typeof?
12:02 < Namegduf> No.
12:02 < kamaji> what's a type switch...  :D
12:03 < kamaji> oh cool
12:03 < Namegduf> http://golang.org/doc/go_spec.html#Switch_statements <-
Scroll down to type switch
12:04 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
12:07 < wrtp> kamaji: use a struct
12:07 < wrtp> it's the nearest thing go has to an n-tuple
12:07 < wrtp> no need to use dynamic types if you know the types statically
12:08 < ww> myint, ok := elem.(int)
12:08 < ww> ok is false if elem is nto an int
12:09 < kamaji> ww: well I don't know how big the tuple is at compile-time
12:09 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
12:09 < wrtp> kamaji: does the size of the tuple vary at run time?
12:09 < wrtp> kamaji: because that's not something that would usually be
called an n-tuple
12:09 < kamaji> wrtp: well I was going to have transforms to get new tuples
12:09 < kamaji> wrtp: and have immutable tuples
12:10 < ww> this is getting perilously close to generics...
12:10 < wrtp> kamaji: when you say n-tuple, i think of ML or haskell's
tuples.  i.e.  a type safe conjunction of several types, e.g.  (int, string,
float, float)
12:10 < ww> operation on tuples that are well defined letting n vary...
12:11 < wrtp> kamaji: what are you actually trying to do?
12:11 < kamaji> i'm trying to write a fairly generic machine learning
library
12:11 < kamaji> and create word vectors
12:12 < wrtp> what's a "word" in this context?
12:12 < kamaji> a feature
12:12 < kamaji> so you have instances, which are sets of features
12:12 < kamaji> and a set of instances of the same type, i.e.  with the same
features
12:13 < wrtp> the features being dynamically determined?
12:13 < kamaji> it depends, I can either examine the entire dataset and then
create features, or I can do it while i'm going through the dataset
12:13 < kamaji> in which case it has to be dynamic, I guess
12:13 < wrtp> yup
12:14 < kamaji> but either way I need to create an unknown n-tuple
12:14 < wrtp> what can you do with a feature?
12:14 < kamaji> a feature is basically just a value
12:14 < wrtp> so you can...  compare it for equality?  hash it?  combine it
with other features of the same type?
12:14 < kamaji> but it also has a type
12:15 < kamaji> it really depends, this is the problem
12:15 < kamaji> if you want to allow "text" as a feature, you can't really
do a divide on that
12:15 < kamaji> but if you only allow numerics, it's ok
12:15 < kamaji> but then if you want arbitrary precision, it's not ok,
because you can't assume the +*-/ operators work
12:16 < wrtp> why would your machine learning algorithm want to divide two
arbitrary features?
12:16 < kamaji> classifiers will have to do arithmetic on numeric featurs
12:16 < kamaji> oh but I see what you mean
12:17 < wrtp> kamaji: go provides an easy way to collect a load of stuff of
arbitrary types together ([]interface{}) but that doesn't necessarily help you...
12:17 < kamaji> I'm just going to assume features are numeric
12:17 < kamaji> and I can use +-/*
12:17 < wrtp> why don't you just use float64
12:17 < kamaji> wrtp: sometimes you need ints
12:18 < kamaji> e.g.  naive bayes with word frequencies
12:18 < wrtp> kamaji: why?  a float64 is a superset of an int32
12:18 < kamaji> it's inexact though, I suppose it probably wouldn't have
much of an effect on probabilities
12:19 < wrtp> kamaji: it's not exact for -(1<<31) <= x <
1<<31
12:19 < wrtp> s/exact/inexact
12:19 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 252 seconds]
12:19 < wrtp> it's a strict superset of int32
12:19 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit [Ping
timeout: 255 seconds]
12:20 < kamaji> I thought it couldn't represent some integers exactly?
12:20 < Namegduf> Only ones outside that range.
12:20 < wrtp> kamaji: only integers outside that range
12:20 < kamaji> oh
12:20 < kamaji> ok
12:20 < kamaji> sorted.
12:20 < kamaji> Thanks!
12:20 < kamaji> that makes life about 100x easier
12:20 < wrtp> brillian
12:20 < wrtp> t
12:20 < wrtp> it'll probably make things about 100x faster too
12:21 < kamaji> yeah, which is always nice for 200M+ instance datasets~
12:22 < wrtp> :-)
12:23 < kamaji> wahaha, one of my lectures is going to be wearing a banana
suit for charity
12:23 < kamaji> what a good day.
12:29 -!- gid [~gid@220-253-33-95.VIC.netspace.net.au] has joined #go-nuts
12:31 -!- aho [~nya@fuld-4d00d681.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
12:32 < ww> :)
12:34 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Ping timeout: 260
seconds]
12:36 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
12:36 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Read error:
Connection reset by peer]
12:37 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
12:46 -!- nixness [~dsc@dyn-86-36-42-96.wv.qatar.cmu.edu] has quit [Remote host
closed the connection]
12:49 -!- jkleier [~zombified@li42-87.members.linode.com] has quit [Quit: Lost
terminal]
12:50 -!- rtharper_ [~tomh@host-84-9-143-150.dslgb.com] has joined #go-nuts
12:50 -!- virtualsue [~chatzilla@nat/cisco/x-uylncviiolgfuxhq] has joined #go-nuts
12:51 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Ping timeout: 264
seconds]
12:58 -!- shvntr [~shvntr@123.64.95.51] has joined #go-nuts
13:04 < steven> adg: yeah its a good thing on one hand
13:04 < steven> but on the other hand, i have a bad case of NIH
13:10 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
13:15 -!- Cromulent [~Cromulent@cpc8-reig4-2-0-cust24.6-3.cable.virginmedia.com]
has quit [Quit: Cromulent]
13:23 -!- rtharper_ [~tomh@host-84-9-143-150.dslgb.com] has quit [Remote host
closed the connection]
13:23 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Operation timed out]
13:23 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Quit: leaving]
13:23 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:24 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
13:26 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:27 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:27 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
13:27 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:28 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:28 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:28 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:29 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:29 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
13:29 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
13:30 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:32 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:32 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:32 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:33 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has quit [Remote host closed the connection]
13:34 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
13:40 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has quit [Remote host closed the connection]
13:41 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
13:42 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:43 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:44 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:44 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:47 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has joined #go-nuts
13:47 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:47 -!- gogogrrl [~max@p5DE8E6CF.dip.t-dialin.net] has quit [Ping timeout: 276
seconds]
13:47 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Client Quit]
13:48 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has joined #go-nuts
13:48 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
13:50 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has joined
#go-nuts
13:51 -!- qjcg [~qjcg@208.88.110.46] has joined #go-nuts
13:51 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
13:51 -!- qjcg [~qjcg@208.88.110.46] has left #go-nuts []
13:52 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
13:59 -!- gogogrrl [~max@p5DE8E2E6.dip.t-dialin.net] has joined #go-nuts
14:09 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
14:13 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
14:18 -!- skelterjohn [~jasmuth@c-68-46-33-145.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
14:24 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
14:26 -!- visof [~visof@unaffiliated/visof] has quit [Remote host closed the
connection]
14:27 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts
14:28 -!- fzzbt [~fzzbt@a88-112-18-177.elisa-laajakaista.fi] has quit [Quit: Lost
terminal]
14:34 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
14:37 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:38 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
14:38 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
14:41 -!- niemeyer_ [~niemeyer@201-11-241-43.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
14:44 -!- niemeyer [~niemeyer@201-40-152-213.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 255 seconds]
14:50 -!- DerHorst [~Horst@e176099127.adsl.alicedsl.de] has joined #go-nuts
14:55 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has quit [Quit: bye]
14:58 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
14:59 < skelterjohn> morning
15:02 < niemeyer> skelterjohn: Morning!
15:03 < skelterjohn> hows things in go land?
15:05 * ww is digging into swap
15:05 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
15:06 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Ping timeout: 250 seconds]
15:13 < kimelto> is it possible to remove an item from an array/slice?
15:14 < skelterjohn> exch: i discovered an interesting command line
yesterday...  chromium-browser -app="http://some.url.com"
15:14 < skelterjohn> kimelto: easy way is to swap it with the last element
in the slice, and then reslice to be one shorter
15:14 < exch> skelterjohn: yes I use that for my webapps
15:15 < skelterjohn> is there a way to make it not collide with the file
locking of chrome that's already open?
15:15 < kimelto> skelterjohn: thanks
15:15 -!- boscop_ [~boscop@f055157219.adsl.alicedsl.de] has joined #go-nuts
15:15 < exch> skelterjohn: what do you mean by that?
15:15 < skelterjohn>
[54385:267:2470480779017750:ERROR:process_singleton_mac.cc(102)] Unable to obtain
profile lock.
15:15 < skelterjohn> that's what i get if chrome is already up
15:16 < exch> ah no clue.  never seen that message
15:17 < skelterjohn> probably just a mac thing, then
15:17 < ww> skelterjohn: i get the same :(
15:17 -!- boscop [~boscop@f055112181.adsl.alicedsl.de] has quit [Ping timeout: 248
seconds]
15:17 < skelterjohn> you on a mac too, ww?
15:18 < ww> yes
15:20 < skelterjohn> ah - add --user-data-dir="tmp"
15:20 < skelterjohn> or some other directory
15:20 < skelterjohn> and it launches ok, though it gripes about not being
able to read pref files
15:22 -!- Venom_X [~pjacobs@74.61.90.217] has joined #go-nuts
15:25 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
15:25 < skelterjohn> exch: when you do this on your computer, and you close
the window, does the process you started shut down?
15:25 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Read
error: Connection reset by peer]
15:27 < exch> that depends on whether or not chromium is already open.  If
you start a new instance, it merges with the existing chrome process
15:28 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined
#go-nuts
15:28 < exch> it tells me 'Opened new window in existing chromium session'
15:28 -!- emjayess [~emjayess@pix1.i29.net] has quit [Remote host closed the
connection]
15:29 < exch> the process for the app itsel does get killed when you close
it, but I found that it may have a different PID as the one you started it with
15:29 < exch> s/itsel/itself/
15:30 < exch> This is mainly the reason why I stopped tracking the PID
status in my Go webapp thingy in order to determine if the app was still running
or not.  it's very unreliable
15:32 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
15:32 < skelterjohn> i guess for mac, it was more difficult to merge it in
with the existing process, or something
15:33 < skelterjohn> i get two chrome balls in my task switcher when i do
this
15:33 < exch> I do to
15:33 < skelterjohn> for you, do they map to windows?
15:33 < skelterjohn> if i start chrome normally, and just make new windows i
still only get one chrome ball
15:34 < skelterjohn> just because of how tasks are organized for os x
15:34 < exch> technically, the app (and each tab in the normal chrome
window) are independant processes.  They are all children of the chromium sandbox
process
15:34 < exch> openbox treats them as separate windows
15:35 < skelterjohn> what's openbox?
15:35 < exch> My window manager
15:35 < nsf> you can detach/attach chrome tabs (processes) easily from a
window
15:36 < skelterjohn> right right, this isn't the point i was trying to make
15:36 < nsf> just drag the tab in or out
15:36 < skelterjohn> my point was that os x groups things differently for
when you do the os x equiv of alt-tab
15:36 -!- shvntr [~shvntr@123.64.95.51] has quit [Ping timeout: 260 seconds]
15:36 < skelterjohn> and it has a different view of what it means to be "the
same application" than some other OSs
15:37 < exch> In openbox you just alt-tab through windows.  Whether they
belong to the same app or not
15:37 < skelterjohn> if i make new windows, os x assumes its the same
application, if a different process
15:37 < nsf> I see
15:37 < skelterjohn> but when i do --user-data-dir=w/e it thinks it's a new
application
15:37 < nsf> delete mac; install linux; ???; PROFIT
15:37 < nsf> :)
15:37 < skelterjohn> how is what i described a problem?:)
15:38 < nsf> uhm..
15:38 < skelterjohn> "different" is not a sufficient condition for "problem"
15:38 < exch> I think it's nice to have.  Specially for something as
retarded as GIMP.  it has a billion separate windows which just clog up the
taskbar
15:38 < nsf> btw, it's practically impossible to manage processes in Go in
any way
15:38 < ww> i think chrome should check if it has a supervisor process
running and then tell it to spawn the app rather than complaining about locking
profiles..
15:39 < ww> unless for some reason --app means "completely sandboxed"
15:39 < nsf> skelterjohn: report a bug!  :)
15:39 < skelterjohn> ww: what i want, and i don't care how this is
accomplished, is for the command line i used to start the app to exit once the app
is closed
15:39 < skelterjohn> what bug?!?
15:39 < nsf> chromium has a big team
15:39 < nsf> I don't know
15:39 < nsf> you're complaining about something :)
15:39 < nsf> nevermind
15:40 < skelterjohn> no, i was trying to understand why things were
different on two OSs
15:40 < nsf> maybe it's a bug
15:40 < nsf> :)
15:40 < skelterjohn> if it is, it isn't accidental
15:40 < exch> when I launch in app mode through a shell, it returns
immediately while the window keeps running
15:40 < skelterjohn> i found the --user-data-dir trick by googling into the
chromium issue tracker
15:41 * ww would call --user-data-dir a bug rather than a feature...
15:41 < ww> but at least you have a workaround for what you need
15:41 < nsf> exch: single window mode in gimp 2.7 is nice
15:41 < nsf> and it also has really cool tabs feature
15:41 < nsf> and finally layer groups
15:41 < exch> nsf: yes,.  i've been waiting for that for a long time
15:41 < nsf> but it's buggy :(
15:42 < nsf> and they're still moving to GEGL
15:42 < nsf> ...
15:42 < nsf> looks like they have problems with human resources
15:43 < skelterjohn> what is GEGL
15:44 -!- Project-2501 [~Marvin@82.84.82.247] has joined #go-nuts
15:44 -!- Venom_X [~pjacobs@74.61.90.217] has quit [Ping timeout: 250 seconds]
15:47 < nsf> it's something that will allow more than 8/16 bits per channel
in gimp formats
15:47 < nsf> kind of a separate library for non-destructive image editing
15:48 -!- fzzbt [~fzzbt@a88-114-150-70.elisa-laajakaista.fi] has joined #go-nuts
15:48 < nsf> http://www.gegl.org/
15:51 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
15:51 -!- adu [~ajr@softbank220043139062.bbtec.net] has joined #go-nuts
15:53 -!- Urtie [~urtie@2a01:2b0:301d:100:e2cb:4eff:fecd:72d2] has joined #go-nuts
15:53 -!- davisp|away [~davisp@couchdb/developer/davisp] has joined #go-nuts
15:54 < Urtie> I'm playing around with cgo, but I can't figure out how to
convert a []_Ctype_char into a Go string?  Like to opposite of C.CString(), if
that exists.
15:54 < ww> C.GoString()
15:55 < Urtie> haha, thanks :).  Where is the documentation for those
methods?  I couldn't find it.
15:55 < skelterjohn> good question
15:56 < skelterjohn> (not saying it doesn't exist - only that i don't know
either, and i would like to)
15:56 < nsf> I think it doesn't exist
15:56 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Read error: Operation
timed out]
15:56 < Urtie> hmm, that got me a "...[32]_Ctype_char) as type
*_Ctype_char...".  That is, I have a [32]_Ctype_char, and C.GoString() didn't like
that.
15:56 < ww> i think i found out about it by using the sqlite sources as
documentation
15:56 < adu> I think i learned about that by reading cgo.c or something
15:57 < ww> C.GoString((*C.char)(unsafe.Pointer(ptr)))
15:57 < nsf> but note that C.GoString takes zero-terminated C string
15:57 < nsf> if your array is not, then you have problems
15:57 < Urtie> Yes, it's \0-terminated.  Thanks again :)
15:58 < steven> it seems my concurrent version of the quicksort is not that
much faster than the synchronous version.
15:58 < nsf> then just cast it to pointer, yeah
15:58 < nsf> or take an address of its zero element
15:58 < steven> is it because Go's concurrency support is not as mature as i
thought?
15:59 < ww> is that cast going to compile down to the moral equivalent of a
cast?  or will there be faffing?
15:59 < exch> steven: are you running it with GOMAXPROCS == 1 ?
15:59 < steven> no
15:59 < steven> =4
15:59 < steven> it only uses 1 processor though.
15:59 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
16:00 < Urtie> The multiplexing seems a bit slow right now.  It's supposed
to improve over time.
16:00 < steven> oh wait, i have 1 processor with 2 cores?  wtf?
16:00 < steven> but i have an intel Core i7
16:01 < ww> i found the other day that using channels and chaining
goroutines introduced a pretty big slowdown if the job of each goroutine was very
simple..
16:01 < steven> yeah
16:01 < ww> i think it's best to make sure the goroutines have some meat to
chew on to compensate for the overhead...
16:01 < nsf> goroutines and channels are not magic
16:01 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
16:01 < ww> nsf: so i learned
16:02 < steven> this is what i have
https://github.com/sdegutis/go-quicksort/blob/master/quicksort-concurrent.go
16:02 < nsf> in fact my personal opinion is that it's a very bad abstraction
16:02 < nsf> at least performance-wise
16:02 < steven> i assumed that at a very high number of elements to sort, it
should be significantly faster than the sync version
16:02 < steven> which is
https://github.com/sdegutis/go-quicksort/blob/master/quicksort.go
16:02 -!- adu [~ajr@softbank220043139062.bbtec.net] has quit [Quit: adu]
16:02 < ww> right.  the code i wrote looked quite pretty though
16:03 < Urtie> ww: No dice :( : cannot convert X (type [32]_Ctype_char) to
type unsafe.Pointer
16:03 < nsf> Urtie: ugh..
16:03 < ww> Urtie: oh, right, more dancing..
*(*C.char)(unsafe.Pointer(&ptr))
16:03 < nsf> (*C.char)(unsafe.Pointer(&X[0]))
16:03 < ww> but maybe easiest to take &ptr[0]
16:03 < Urtie> progress!  :)
16:04 < ww> the cast starts getting very ugly
16:04 < nsf> actually maybe there is no need to do the cast
16:04 < nsf> simply:
16:04 < nsf> C.GoString(&X[0])
16:04 < ww> right.  like nsf said
16:04 < steven> win.
16:04 < nsf> because [32]_Ctype_char is [32]C.char
16:05 < Urtie> It's working like a charm now.
16:05 < nsf> steven: your sort looks more like a bubble sort to me
16:06 < nsf> ah no
16:06 < nsf> it's a quick sort indeed
16:06 < nsf> hm..
16:07 < ww> haha.  a sorting fork bomb!  :)
16:07 < nsf> but it spawns (log n) goroutines
16:07 < nsf> hm..
16:08 < nsf> I don't know
16:08 < nsf> maybe it's slow because go runtime is slow
16:08 < nsf> maybe something else is wrong
16:08 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
16:08 < nsf> but truth is that Go won't do any magic
16:09 < nsf> it just provides an illusion that concurrency is now as easy as
binary expression
16:10 < nsf> when in fact it's far from that..  high performance concurrency
requires a different kind of thinking starting from the design of your data
structures and because of that algorithms as well
16:10 < ww> eventually, when we have seriously many cores on chip...  like a
512 core laptop or a 32768 core commodity server...
16:10 < nsf> simply because there are few factors added
16:10 < nsf> like ordering, time, etc.
16:11 < nsf> ww: current memory with very high latency times won't be able
to handle that
16:11 < nsf> I'm sure there will be a time when each core will have "core
local memory"
16:11 < nsf> :\
16:11 < nsf> it's inevitable
16:12 < nsf> well, they do have it now
16:12 < nsf> called cache
16:12 < nsf> but it will get bigger
16:13 < nsf> so..  what I'm saying
16:13 < nsf> trying to do micro concurrency management in Go is a bad idea
16:13 < nsf> each goroutine should do a big amount of job
16:14 < nsf> then there will be a potential performance bonus
16:14 < nsf> that's my personal guess, can't prove I'm right
16:15 -!- foocraft [~dsc@78.100.173.66] has quit [Ping timeout: 255 seconds]
16:15 -!- wtfness [~dsc@78.100.168.186] has joined #go-nuts
16:17 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts
16:23 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
quit [Quit: leaving]
16:24 -!- pilgrum [~pilgrum@cpe-67-49-71-222.socal.res.rr.com] has quit [Quit:
Leaving]
16:31 < nsf> http://en.wikipedia.org/wiki/Alef_(programming_language)
16:31 < nsf> hehe, that's where multiple return values come from
16:31 < nsf> interesting
16:33 < nsf> it's interesting that alef had templates (sort of)
16:33 < nsf> parameterized abstract data types
16:34 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
16:34 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
16:34 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:34 < wrtp> nsf: limbo also had tuples
16:35 < nsf> I see
16:35 < wrtp> but in fact, go's multiple return values don't really come
from either, as they're not first-class values
16:35 < wrtp> they have more in common with lisp's MULTIPLE-VALUE-RETURN
16:36 < wrtp> or matlab's multiple value functions
16:36 < aiju> matlab?
16:36 < wrtp> (matlab allows you to do different stuff depending on how many
results are being used, similar to go's x, ok := m[f] idiom
16:36 * aiju hides
16:37 < wrtp> i had to use it at times in my last job
16:37 < schmrkc> I am happy that my impression that it was like CL return
values was corret
16:37 < wrtp> schmrkc: the difference is that you have to use all the values
16:37 < schmrkc> wrtp: Right yeah.
16:38 < wrtp> (except for the two or so language-defined exceptions)
16:38 < nsf> http://pastie.org/1670821
16:38 < nsf> Go with '->' and semicolons, lol
16:39 < aiju> what's this?
16:39 < nsf> I've semifinished a parser for my language :)
16:39 < nsf> I'm writing a C killer :D
16:39 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
16:39 < aiju> those semicolons irritate me
16:40 < nsf> at some point optional automatic semicolon insertion will be
added
16:40 < nsf> the problem at the moment that you can't really have both
without altering pieces of .y grammar
16:40 < nsf> at least I think so
16:41 * aiju hopes that his OS boots
16:41 < schmrkc> anything is possible.
16:41 < nsf> yeah, I guess
16:41 < nsf> but my main consern at the moment is code generation
16:42 < aiju> hahaha totally awesome
16:42 < nsf> I can't really work with grammar without being able to write
code that works
16:42 < schmrkc> nsf: sounds like fun.
16:42 < schmrkc> aiju: it a boot?
16:42 -!- sauerbraten [~sauerbrat@p508CB301.dip.t-dialin.net] has joined #go-nuts
16:42 < aiju> running nicely
16:43 * schmrkc celebrates with coffee
16:43 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Quit: Leaving]
16:45 < aiju> i can do "cat>/dev/tty" on the serial console and the input
appears on the screen, et vice versa
16:45 < aiju> (the command is "cat>/dev/com" then, though)
16:46 < schmrkc> oh nice
16:46 < aiju> all in 3820 lines of assembly
16:46 < schmrkc> hey nice work.
16:46 -!- artefon [~thiago@189.59.201.99] has joined #go-nuts
16:47 < aiju> the shell has some rather funny pecularities
16:47 < aiju> *every* space seperates an argument
16:49 < schmrkc> hoh
16:49 < schmrkc> so would have #\Space as argument, eh?
16:49 < aiju> "cat " calls cat with an empty argument
16:49 < aiju> you can't write "cat >/dev/tty" thus
16:50 < schmrkc> oh hum
16:50 < schmrkc> so "cat foo>/dev/tty" ? and not "cat foo >/dev/tty" ?
16:50 < aiju> yeah
16:50 < aiju> ofc, i intend to fix it
16:51 < schmrkc> TOP PRIORITY!
16:52 -!- PortatoreSanoDiI [~Marvin@82.84.76.22] has joined #go-nuts
16:52 < bartbes> aiju: link?
16:52 < aiju> http://phicode.de/git/?p=mdos.git;a=summary
16:52 < aiju> highly unfinished yet
16:53 < aiju> may eat all your dataz
16:54 -!- Project-2501 [~Marvin@82.84.82.247] has quit [Ping timeout: 248 seconds]
16:55 < bartbes> cool
16:55 < bartbes> eating my data, that is
16:55 < aiju> haha
16:56 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
17:01 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
17:05 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has joined #go-nuts
17:11 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
17:12 < skelterjohn> nsf: I think you should just have {\n}+ as a token
17:12 < aiju> having \n as a token is a real pain
17:12 < nsf> skelterjohn: for what?
17:12 < nsf> ah
17:12 < skelterjohn> instead of inserting semicolons
17:12 < nsf> no..
17:12 < nsf> it's a bad idea
17:13 < skelterjohn> you're a bad idea
17:13 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
17:14 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
17:19 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 255 seconds]
17:19 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
17:30 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
17:33 -!- lmoura [~lauromour@187.113.66.148] has quit [Remote host closed the
connection]
17:40 -!- ronnyy [~quassel@p4FF1C663.dip0.t-ipconnect.de] has joined #go-nuts
17:43 -!- lmoura [~lauromour@187.113.66.148] has joined #go-nuts
17:58 -!- fabled [~fabled@mail.fi.jw.org] has quit [Quit: Ex-Chat]
18:01 -!- tvw [~tv@e176006137.adsl.alicedsl.de] has joined #go-nuts
18:02 -!- wrtp [~rog@92.17.3.222] has quit [Quit: wrtp]
18:04 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts
18:08 -!- DerHorst [~Horst@e176099127.adsl.alicedsl.de] has quit [Ping timeout:
255 seconds]
18:15 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
18:17 -!- eaburns [~eaburns@c-24-62-248-129.hsd1.nh.comcast.net] has joined
#go-nuts
18:17 -!- eaburns [~eaburns@c-24-62-248-129.hsd1.nh.comcast.net] has left #go-nuts
[]
18:18 -!- PortatoreSanoDiI [~Marvin@82.84.76.22] has quit [Quit: E se abbasso
questa leva che succ...]
18:21 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 250 seconds]
18:32 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Ping timeout: 240 seconds]
18:32 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
18:34 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Read
error: Operation timed out]
18:36 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
18:37 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
18:38 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
18:45 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-umagwnuiemwpvvep] has quit [Read
error: Connection reset by peer]
18:45 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Read error: Operation
timed out]
18:45 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-pllcmjdcistvcdyt] has joined
#go-nuts
18:46 -!- sav- [~lsd@peirce.xored.org] has joined #go-nuts
18:47 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts
18:48 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has quit [Ping timeout:
240 seconds]
18:48 -!- sav [~lsd@peirce.xored.org] has quit [Remote host closed the connection]
18:48 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit
[Remote host closed the connection]
18:48 -!- Urmel| [~11087Urme@82-136-196-44.ip.telfort.nl] has joined #go-nuts
18:48 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 255 seconds]
18:49 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Read error: Operation
timed out]
18:50 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
18:50 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 255 seconds]
18:51 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts
18:52 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
18:52 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
18:53 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Read
error: Operation timed out]
18:54 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
18:55 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
18:55 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
18:57 < steven> guys
18:57 < steven> turns out GoRM is stupid
18:57 < steven> because it defines the structure of each table/row IN CODE.
18:57 < steven> which makes it extremley fragile for migrations
18:58 < Namegduf> You mean the tables which are specifically made for GoRM?
18:58 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts
18:58 < steven> yes.
18:58 < steven> so when you want to change the schema later, you need to
change the code as well.
18:59 < steven> so you basically write the same thing twice:
18:59 < steven> you change the schema in your code (ie the struct), and you
write a migration that describes that change, so you can change the local (and
production) databases as well
19:00 < Namegduf> Doesn't sound "more fragile".
19:00 < Namegduf> Sounds like migrations are significantly more annoying,
but unless you're migrating a lot...
19:00 < steven> you dont write webapps do you?
19:00 < Namegduf> No.
19:00 < steven> migrations are written probably once a week here.
19:01 < steven> would be a PITA if the migration didnt change the schema in
code for me as well.
19:01 < steven> so heres what im thinking.  instead of the *cool* way of how
gorm works right now,
19:01 < steven> ie https://github.com/sdegutis/gorm
19:01 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts
19:01 < Namegduf> You can't use a *slightly* more futureproof schema?
19:01 < nsf> just write a DSL
19:01 < steven> it will just return a map.
19:01 < nsf> :)
19:02 < nsf> which provides database schema description and then there will
be a generator which generates go structures
19:02 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Read error: Operation
timed out]
19:02 < nsf> in dynamic languages it's all done at runtime
19:02 < nsf> in Go you can't define new structures at runtime
19:02 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
19:03 < skelterjohn> i think gdbc needs to happen before gorm
19:03 < nsf> I know that writing a DSL is not a simple task
19:03 < nsf> but imho it's worth it
19:03 < nsf> something like google's protobuf
19:03 < skelterjohn> DSL = domain specific language?
19:03 < nsf> yes
19:04 < Namegduf> Or have GoRM be able to generate a schema for a type of
thing
19:04 < nsf> there is another pro for separate DSL
19:04 < Namegduf> The map thing sounds too trivial- I wouldn't be surprised
if Scan already did it.
19:04 < nsf> what if you'll want to use this database from another language
19:05 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Quit:
KBme kthxbye]
19:06 -!- Fish-- [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
19:07 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
19:07 < steven> Namegduf: its not about future-proof.  requirements just
change over time.
19:07 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
19:07 < Namegduf> steven: Yes, but if your requirements are changing so much
in a week you need to redo the database schema there's probably a problem.
19:07 < steven> in Ruby, it can create a class at runtime.  but theres
nothing wrong with creating a map, i think.
19:08 < steven> Namegduf: no.  sometimes you need to add another field or
another table, thats just how life works.
19:08 < steven> new features often require this.
19:08 < steven> for someone who doesnt do any web dev i think you don really
have a leg to stand on with your advice
19:10 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 260 seconds]
19:11 -!- czr_ [czr@nexus.iohazard.net] has quit [Remote host closed the
connection]
19:12 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Read error: Operation
timed out]
19:12 < skelterjohn> steven: you can choose to ignore advice without
offending the one giving it.
19:12 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Read
error: Operation timed out]
19:14 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
19:14 < Namegduf> It's okay, it just seemed weird to have an SQL DB, which
has a "static" schema, have that schema changed really often.
19:16 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts
19:16 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has joined
#go-nuts
19:16 < Namegduf> You're right, I don't know much about that scenario.
19:17 -!- niekie_ [~niek@CAcert/Assurer/niekie] has joined #go-nuts
19:17 -!- niekie [~niek@CAcert/Assurer/niekie] has quit [Ping timeout: 264
seconds]
19:18 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
19:18 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit
[Excess Flood]
19:19 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
19:19 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
19:20 -!- czr_ [czr@nexus.iohazard.net] has joined #go-nuts
19:20 -!- Fish-- [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 250
seconds]
19:23 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X]
19:24 -!- czr_ [czr@nexus.iohazard.net] has quit [Remote host closed the
connection]
19:29 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Quit:
KBme kthxbye]
19:29 -!- niekie_ [~niek@CAcert/Assurer/niekie] has quit [Quit: No Ping reply in
180 seconds.]
19:29 -!- niekie [~niek@CAcert/Assurer/niekie] has joined #go-nuts
19:29 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
19:30 -!- czr_ [czr@nexus.iohazard.net] has joined #go-nuts
19:34 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Read error: Connection
reset by peer]
19:34 -!- Fish-- [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
19:34 -!- AndyP [~andyp@ubuntu/member/andyp] has quit [Ping timeout: 240 seconds]
19:35 -!- crazy2be [~crazy2be@199.185.88.147] has joined #go-nuts
19:36 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has left
#go-nuts []
19:37 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
19:41 -!- AndyP [~andyp@ubuntu/member/andyp] has joined #go-nuts
19:45 -!- photron [~photron@port-92-201-66-101.dynamic.qsc.de] has joined #go-nuts
19:46 -!- crazy2be [~crazy2be@199.185.88.147] has quit [Read error: Operation
timed out]
19:49 -!- rtharper [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
19:56 -!- TheMue [~TheMue@p5DDF6D56.dip.t-dialin.net] has joined #go-nuts
19:59 -!- tgall_foo [~tgall@206.9.88.154] has quit [Read error: Operation timed
out]
20:07 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts
20:15 -!- tensorpudding [~user@99.148.205.193] has joined #go-nuts
20:30 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has joined #go-nuts
20:33 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has joined #go-nuts
20:33 < steven> skelterjohn: im trying not to offend.
20:34 -!- pothos_ [~pothos@111-240-171-211.dynamic.hinet.net] has joined #go-nuts
20:34 < steven> *not trying
20:35 < steven> but its just a fact, the schema is going to change quite
often, and thats not because we arent doing a good job future-proofing or whatever
he was trying to say
20:35 -!- pothos [~pothos@111-240-171-61.dynamic.hinet.net] has quit [Read error:
Operation timed out]
20:35 -!- femtoo [~femto@95-89-198-8-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
20:35 < steven> oooh.  i see.  the problem with creating a map is that it
leaves the table name unknown once again, forcing us to pass it in as a map.
20:36 < steven> wait, is it really that big of a problem for us to have to
change the schema in the code?  its one extra step, but after all, we might be
very well having to change stuff that uses the schema anyway
20:36 < steven> i dunno.
20:37 < steven> i guess it is annoying to have to type it twice, once in
code and once in the migration
20:37 < steven> its a 1:1 ratio too..
20:38 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
20:46 -!- willdye [~willdye@fern.dsndata.com] has left #go-nuts []
20:50 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:50 < steven> actually its more than that
20:51 < steven> the way GoRM works, it can tell what type to convert a
retreived value to, automatically.
20:51 < steven> if i made it return just a map, you have to use strconv
manually, all the time.
20:51 < steven> unless you specify somehow what types they each are.
20:52 -!- Fish [~Fish@coss6.exosec.net] has joined #go-nuts
20:53 < skelterjohn> you should use fmt.Sscanf
20:53 < skelterjohn> and let fmt take care of the conversions
20:53 -!- ExtraSpice [XtraSpice@78-62-101-194.static.zebra.lt] has quit [Read
error: Connection reset by peer]
20:53 < skelterjohn> and when i say "should" i really mean that i haven't
thought this through more than 5 seconds, but maybe it's an idea
20:54 -!- Fish-- [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 255
seconds]
20:58 -!- willdye [~willdye@fern.dsndata.com] has joined #go-nuts
21:00 -!- virtualsue [~chatzilla@nat/cisco/x-uylncviiolgfuxhq] has quit [Ping
timeout: 255 seconds]
21:00 -!- boscop [~boscop@f055157219.adsl.alicedsl.de] has quit [Ping timeout: 255
seconds]
21:01 -!- boscop [~boscop@f055157219.adsl.alicedsl.de] has joined #go-nuts
21:05 -!- ildorn [~ildorn@dslb-188-099-196-154.pools.arcor-ip.net] has quit [Read
error: Operation timed out]
21:08 -!- ildorn [~ildorn@dslb-188-105-112-158.pools.arcor-ip.net] has joined
#go-nuts
21:08 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
21:09 -!- aho [~nya@fuld-4d00d681.pool.mediaWays.net] has joined #go-nuts
21:14 < nsf> lol, I want to define a function pointer type in C, and it
should be a pointer of a function which returns a pointer to a function of the
same type
21:15 < nsf> is it possible?  :)
21:15 < aiju> typedef?
21:15 -!- wrtp [~rog@92.17.3.222] has joined #go-nuts
21:15 <+iant> it is not possible, you need a type cast somewhere in there
21:15 < nsf> hehe
21:15 < nsf> funny :)
21:15 <+iant> typedef doesn't work because a typedef can't refer to the type
being defined
21:15 <+iant> I've run into these problems in detail in gccgo
21:15 < nsf> hehe, AST walker?  :)
21:16 <+iant> yes, because these kinds of recursive types are impossible in
C, the gcc middle-end does not support them
21:16 < nsf> I see
21:16 <+iant> so I have to change recursive Go types to bottom on in a
void*, and insert type casts when they are used
21:17 < nsf> thanks for the tip, I guess I'll run into the same problems at
some point
21:17 < nsf> (my compiler is supposed to generate C)
21:17 < aiju> heh
21:17 <+iant> yeah, you'll run into those problems at some point
21:18 -!- artefon [~thiago@189.59.201.99] has quit [Quit: bye]
21:19 -!- dfc [~dfc@124-168-57-115.dyn.iinet.net.au] has quit [Quit: dfc]
21:19 < scoeri> isnt that possible with union in C?
21:19 -!- sauerbraten [~sauerbrat@p508CB301.dip.t-dialin.net] has quit [Read
error: Connection reset by peer]
21:19 <+iant> scoeri: how?
21:19 <+iant> a union is not a function pointer
21:20 <+iant> oh, you mean a union can have a member which points to the
union?
21:20 < nsf> although, it's possible to do this: struct X { struct X
(*ptr)(); };
21:20 <+iant> yes, that is possible
21:20 <+iant> the gcc middle-end handles that specific case
21:20 <+iant> it does not handle the general recursive type case
21:21 < aiju> union X { union X (*f)(void); };
21:21 < aiju> works indeed
21:21 <+iant> fair enough, that works, but it's not the same as the Go type
21:21 < aiju> but union are just casts in (ugly) disguise
21:21 <+iant> it's just a different workaround
21:21 < nsf> but it's not a typedef
21:21 < aiju> nsf: typedef union X X;
21:21 < nsf> aiju: well in C typedef is an alias
21:22 < nsf> anyways, looks weird
21:22 < aiju> oh yeah, ofc
21:22 < aiju> you have to type .f
21:22 < aiju> just a cast in green
21:23 < ww> hmmm...  weird thread-related problems again
21:24 < steven> skelterjohn: wouldnt work
21:24 < skelterjohn> wat
21:24 < skelterjohn> oh
21:24 < steven> some of the values are "hello" (without the quotes, but a
string) and some are "42" (same)
21:24 < skelterjohn> why not
21:24 < skelterjohn> so?
21:24 < skelterjohn> you know the type
21:24 < steven> what i was saying is i *wouldnt* know the type
21:24 < skelterjohn> you pass fmt.Sscanf a pointer to an instance of that
type
21:25 < skelterjohn> of course you do - you have a struct you're populating
21:25 < skelterjohn> its fields have types
21:25 < steven> what im getting at is that it might not be a struct anymore,
it might be a map[string]interface{}
21:27 < skelterjohn> that seems like a difficult type to fill automatically
21:27 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!]
21:27 < ww> ohoh.  looks like close() is gone
21:28 < ww> err...  closed()
21:28 < skelterjohn> ah
21:28 < skelterjohn> i was about to say
21:28 < skelterjohn> so i guess that means that x, ok <- ch has been
updated?
21:29 < ww> skelterjohn: yup
21:30 < skelterjohn> cool
21:30 < skelterjohn> i like to think that that syntax was my idea, but it's
kind of an obvious choice
21:30 < ww> i suspect there's going to be a release soon -- first time in a
few days i've had all tests pass in tip
21:31 < ww> skelterjohn: it is very clean looking.  i'll blame you for it if
you like
21:31 < skelterjohn> i certainly didn't look for prior art
21:32 < skelterjohn> so i would believe it if someone told me they had
mentioned it before my complaints about threadsafety w/ multiple readers on the
same chan
21:37 < steven> ww: as of when?
21:38 < ww> 7742:604d3ae2f22e: o code: replace closed(c) with x, ok :=
<-c
21:38 < ww> friday
21:38 < aiju> ohhh neat
21:39 -!- TheMue [~TheMue@p5DDF6D56.dip.t-dialin.net] has quit [Quit: TheMue]
21:39 < steven> yay!
21:39 < steven> finally.
21:39 < steven> took him a while.
21:40 < steven> do you guys use the dev branch?
21:40 < steven> or release?
21:40 < skelterjohn> the wait was to make sure no one had x, ok := <- c
in their code, expecting it to be a block-free read
21:40 < skelterjohn> it's been a compile error for a while
21:40 < skelterjohn> i use whatever "hg pull -u" gets me
21:40 < ww> i usually use release, but i just updated to tip because i
suspect a scheduler or alighment issue causing my heisenbug
21:41 < ww> (heisenbug still there...  or not...)
21:46 -!- virtualsue [~chatzilla@nat/cisco/x-zhcjgipptvtefnyh] has joined #go-nuts
21:47 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 255 seconds]
21:49 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
21:50 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
21:51 -!- zozoR [~Morten@56346ed3.rev.stofanet.dk] has quit [Remote host closed
the connection]
21:54 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
21:54 -!- wrtp [~rog@92.17.3.222] has quit [Quit: wrtp]
21:56 -!- erus_ [56b874e9@gateway/web/freenode/ip.86.184.116.233] has joined
#go-nuts
22:00 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has quit [Read error:
Connection reset by peer]
22:01 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has joined #go-nuts
22:11 -!- photron [~photron@port-92-201-66-101.dynamic.qsc.de] has quit [Ping
timeout: 250 seconds]
22:12 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has quit [Read error: Connection reset by peer]
22:14 < erus_> if i define a string with these ` `
22:14 < erus_> and it spans multipl lines
22:14 < erus_> does it put newline operator in there?
22:15 < skelterjohn> yes
22:16 < erus_> lines := strings.Split(src, "\n", -1)
22:16 < erus_> returns a slice of 1 string
22:16 < erus_> and src is a multiline string
22:18 < skelterjohn> http://pastebin.com/jgunnkgz
22:18 < skelterjohn> something must be going wrong elsewhere
22:23 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 250 seconds]
22:28 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
22:35 -!- virtualsue [~chatzilla@nat/cisco/x-zhcjgipptvtefnyh] has quit [Read
error: Operation timed out]
22:37 -!- eaburns [~eaburns@c-24-62-248-129.hsd1.nh.comcast.net] has joined
#go-nuts
22:38 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:39 < erus_> of man
22:39 < erus_> i forgot regexp has no \w
22:39 -!- eaburns [~eaburns@c-24-62-248-129.hsd1.nh.comcast.net] has left #go-nuts
[]
22:42 -!- fzzbt [~fzzbt@a88-114-150-70.elisa-laajakaista.fi] has quit [Quit: Lost
terminal]
22:43 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has quit [Remote host
closed the connection]
22:49 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has joined
#go-nuts
22:52 < erus_> my old tokenizer was a good 300 lines
22:52 < erus_> with a bit of regex its less than 100
22:52 -!- l00t [~i-i3id3r_@189.105.53.156] has quit [Read error: Connection reset
by peer]
22:54 -!- dfc [~dfc@sydfibre2.atlassian.com] has joined #go-nuts
22:55 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.]
22:56 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
22:58 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Operation
timed out]
23:02 -!- it_diver [~it_diver@dslb-088-068-253-221.pools.arcor-ip.net] has quit
[Ping timeout: 250 seconds]
23:10 -!- Archwyrm [~archwyrm@archwyrm.net] has quit [Quit: leaving]
23:12 -!- Archwyrm [~archwyrm@archwyrm.net] has joined #go-nuts
23:19 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Quit: Venom_X]
23:26 -!- erus_ [56b874e9@gateway/web/freenode/ip.86.184.116.233] has quit [Ping
timeout: 252 seconds]
23:27 -!- l00t [~i-i3id3r_@189.105.53.156] has joined #go-nuts
23:42 -!- ronnyy [~quassel@p4FF1C663.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
23:45 -!- rtharper [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
23:49 -!- rm445 [rm445@pip.srcf.societies.cam.ac.uk] has quit [Ping timeout: 241
seconds]
23:49 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
23:56 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 240 seconds]
--- Log closed Tue Mar 15 00:00:55 2011