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

--- Log opened Mon Apr 11 00:00:50 2011
00:02 -!- nettok [~quassel@200.119.177.7] has joined #go-nuts
00:03 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-tobhfuxufhxlfaxc]
has joined #go-nuts
00:07 < Glasswalker> ok
00:08 < Glasswalker> have all the errors fixed with the exception of the
uint8 thing
00:08 < Glasswalker> Getting: cannot use command (type uint8) as type
DAMBSPacketCommand in assignment
00:10 < jessta_> Glasswalker: what is DAMBSPacketCommand?
00:10 < kevlar> !golang assignability
00:10 < GoBIR> kevlar: Spec Section Assignability -
http://golang.org/doc/go_spec.html#Assignability
00:11 < Glasswalker> An alias of uint8
00:11 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Read error:
Operation timed out]
00:11 < kevlar> TL;DR : you can use a literal as a PacketCommand but not a
uint8 without an explicit cast.
00:11 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts
00:11 < Glasswalker> http://pastebin.com/3vgLNu5z
00:12 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:12 < kevlar> That's part of the motivation behind type aliases; you can't
pass something as the type if it's another type, even a compatiblle one
00:13 < kevlar> so you know that when someone passes you a PacketCommand,
they weren't accidentally sending you an ErrorCode, both of which could
concievably be uint8s.
00:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:14 < raylu> sigh.  now i'm getting different behavior for "make --debug"
than "make"
00:15 < kevlar> raylu: have you tried make -B and/or removing all of the
@-lines from the makefile?
00:16 < raylu> well, i'm trying to get it to build incrementally so -B won't
help me
00:16 < kevlar> define "incrementally..."
00:17 < Glasswalker> kevlar, ok that makes sense...  So that said, how do I
convert between byte, and PacketCommand.  (or uint8 and PacketCommand)
00:17 < Glasswalker> essentially I have a byte stream coming in over TCP and
I need to decode a byte into a PacketCommand...
00:17 < kevlar> !golang Conversions
00:17 < GoBIR> kevlar: Spec Section Conversions -
http://golang.org/doc/go_spec.html#Conversions
00:18 < Glasswalker> oh
00:18 < raylu> i want it to build my main program and the client package
when change client/*.go
00:18 < Glasswalker> I can use the conversion syntax on my own defined
types?
00:18 < kevlar> Glasswalker: Of course.
00:18 -!- niemeyer [~niemeyer@189.27.129.27.dynamic.adsl.gvt.net.br] has quit
[Ping timeout: 240 seconds]
00:18 < Glasswalker> that's what I was missing
00:18 < kevlar> Your named types are just as special as go builtin types
00:18 < Glasswalker> for some reason I assumed that the conversions were
functionally specified on those types somehow
00:19 < kevlar> the only "first-class citizens" are literals (9, 1.3, "foo")
00:19 < Glasswalker> meaning without defining my own conversion it wouldn't
work
00:19 < raylu> hm.  it works when i run it twice :P
00:19 < kevlar> raylu: so, when you're building a library and a binary with
Make you can get some interesting things going on
00:20 < kevlar> the big thing you have to do is specify additional
dependencies for the binary
00:20 < kevlar> let me grab you an example...
00:20 < raylu> i'm specifying them for _go_.$O, which should be the same
00:21 < kevlar> I entirely use the built-in makefile system
00:21 -!- dreadlorde [~dreadlord@c-68-43-250-33.hsd1.mi.comcast.net] has joined
#go-nuts
00:21 < kevlar> I made an autobuilder, but ditched it because I didn't want
to make other people use it to use my packages
00:22 < kevlar> and using the standard Makefile syntax is, at least for now,
the best way to be consistent with everyone else.
00:22 < raylu> i'm using it, but wondering how to use the standard makefiles
to handle my dependencies too
00:22 < kevlar> So, for example, in my src/cmd/ircd/Makefile that depends on
my src/pkg/ircd/* package, I use the following:
00:22 < kevlar> PREREQ=$(PKGDIR)/kevlar/ircd.a
00:22 < raylu> there's a prereq =\ what.
00:23 < kevlar> which doesn't cause it to build the library if it's out of
date, but will cause it to rebuild the binary when the library has changed
00:24 < kevlar> my top-level Makefile handles calling the child makefiles in
order.
00:24 < kevlar> without that prereq, when I update the library, the binary
wouldn't ever be relinked unless I changed one of its source files too.
00:24 < raylu> how do you handle calling the child makefiles in order?
00:25 < kevlar> http://pastebin.com/epbUVeae
00:27 < kevlar> src/pkg/ircd/Makefile.sub is similar to that makefile,
except it builds all of the subpackages of ircd
00:27 < raylu> where is PREREQ set?
00:27 < kevlar> in src/cmd/ircd/Makefile
00:27 < kevlar> each Makefile only builds one target OR calls other
makefiles
00:27 < kevlar> you can't mix them
00:27 < kevlar> (cleanly)
00:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Operation timed out]
00:29 < kevlar> if you want to peruse a source tree that has this sort of
makefile system, look at jaid:
https://bitbucket.org/kylelemons/jaid/src/555a4d7472dc/Makefile
00:30 < kevlar> in the one I pastebin'd I collapsed make, nuke, clean, and
install into the same rule to simplify things
00:30 < kevlar> either way works though.
00:30 -!- exch [~exch@31-151-123-254.dynamic.upc.nl] has quit [Ping timeout: 276
seconds]
00:31 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Read error:
Operation timed out]
00:31 -!- exch [~exch@31-151-123-254.dynamic.upc.nl] has joined #go-nuts
00:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:38 < plexdev> http://is.gd/b97tMb by [Dave Cheney] in go/src/pkg/net/ --
net: disable multicast tests by default.
00:43 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
00:44 < raylu> kevlar: thanks for the help.  here's what i ended up with:
https://github.com/raylu/rbot/blob/master/Makefile
00:45 < raylu> the @true fixed it
00:45 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
00:50 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has quit [Ping timeout:
252 seconds]
00:52 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:52 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
This computer has gone to sleep]
00:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:53 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has joined #go-nuts
00:54 < krutcha1> I must be bored, do I need a go torrent client?  no.  Lol
00:57 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts
01:03 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
01:12 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:13 -!- Emmental [~Emmental@c-69-136-240-113.hsd1.nj.comcast.net] has joined
#go-nuts
01:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:22 -!- bugQ [~bug@c-71-195-207-98.hsd1.ut.comcast.net] has joined #go-nuts
01:24 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-tobhfuxufhxlfaxc]
has quit [Ping timeout: 248 seconds]
01:24 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-tmjimvojahgqkyii]
has joined #go-nuts
01:30 -!- rurban [~demo@178-191-154-52.adsl.highway.telekom.at] has quit [Ping
timeout: 264 seconds]
01:32 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:32 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping
timeout: 248 seconds]
01:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:34 -!- bugQ [~bug@c-71-195-207-98.hsd1.ut.comcast.net] has quit [Ping timeout:
276 seconds]
01:34 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Quit:
Leaving]
01:35 -!- simply_b__ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has quit
[Read error: Connection reset by peer]
01:36 -!- simply_b__ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has
joined #go-nuts
01:37 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
01:39 -!- nettok [~quassel@200.119.177.7] has quit [Ping timeout: 276 seconds]
01:42 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
01:45 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
01:51 -!- kuroneko_ [~chris@yayoi.xware.cx] has joined #go-nuts
01:52 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:52 < kuroneko> has anything much changed with cgo and strings?
01:52 < kuroneko> since..  erm.  late 2009?
01:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:55 -!- fhs [~fhs@pool-74-101-66-112.nycmny.east.verizon.net] has joined
#go-nuts
01:57 < kevlar> kuroneko: uh, sure...  anything in particular you are
curious about?
01:57 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
["Leaving"]
01:57 < kuroneko> I remember it being better documented for a start :)
01:58 < kuroneko> I assume we still need to use the C.CString casting?
01:58 < Namegduf> Hmm.  SMTP package is nice, but how can I get the mail
server to send to and follow proper failover rules for multiple mail servers?
01:58 < kuroneko> and varargs still don't work?
01:58 < Namegduf> It isn't a cast, it's a conversion.
01:58 < Namegduf> Go strings aren't null-terminated, no, and that's unlikely
to change, I think.
02:04 -!- itrekkie [~itrekkie@ip72-200-105-157.tc.ph.cox.net] has joined #go-nuts
02:07 * Namegduf found net.LookupMX, which does the job.
02:12 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:22 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has joined #go-nuts
02:27 -!- dreadlorde [~dreadlord@c-68-43-250-33.hsd1.mi.comcast.net] has quit
[Ping timeout: 260 seconds]
02:27 -!- BSP [~androirc@58.145.148.59] has joined #go-nuts
02:29 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has joined
#go-nuts
02:31 -!- Emmental [~Emmental@c-69-136-240-113.hsd1.nj.comcast.net] has quit
[Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110323143040]]
02:37 -!- nettok [~quassel@200.119.177.7] has joined #go-nuts
02:47 -!- nettok [~quassel@200.119.177.7] has quit [Ping timeout: 258 seconds]
02:49 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
03:11 < uriel> kuroneko: a lot has changed with cgo, not sure if anything
specifically with strings
03:12 < uriel> russ pretty much rewrote the whole thing a while ago
03:21 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Ping timeout: 246 seconds]
03:26 -!- nettok [~quassel@200.119.177.7] has joined #go-nuts
03:29 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit
[Quit: JusticeFries]
03:30 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-tmjimvojahgqkyii]
has quit [Ping timeout: 260 seconds]
03:30 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-kiswfgnkqsvycysi]
has joined #go-nuts
03:35 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
03:35 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
03:36 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
03:37 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
03:50 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
03:53 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
03:54 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
03:58 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout:
240 seconds]
03:59 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
04:02 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
04:02 -!- randfur [~androirc@58.145.148.59] has quit [Ping timeout: 260 seconds]
04:03 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
04:06 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
04:06 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
04:10 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:10 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
04:11 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
04:11 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout:
246 seconds]
04:12 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:13 -!- tensai_cirno [~cirno@194.154.66.189] has joined #go-nuts
04:14 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
04:15 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
04:24 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
04:24 -!- Jantire [~Jantire@c-71-202-156-84.hsd1.ca.comcast.net] has quit [Quit:
Leaving]
04:28 < kuroneko> uriel: it feels liek stuff has changed since I last tried
to write go seriously
04:28 < kuroneko> I'm sure I'm just imagining it.  :)
04:30 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:37 -!- nettok [~quassel@200.119.177.7] has quit [Ping timeout: 260 seconds]
04:41 -!- nettok [~quassel@200.119.177.7] has joined #go-nuts
04:41 -!- tensai_cirno [~cirno@194.154.66.189] has quit [Read error: Connection
reset by peer]
04:42 -!- tensai_cirno [~cirno@194.154.66.189] has joined #go-nuts
04:42 -!- meanburrito920 [~john@unaffiliated/meanburrito920] has quit [Quit: Lost
terminal]
04:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:50 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote
host closed the connection]
04:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:00 -!- tensai_cirno [~cirno@194.154.66.189] has quit [Read error: Connection
reset by peer]
05:03 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has quit [Remote
host closed the connection]
05:04 -!- itrekkie [~itrekkie@ip72-200-105-157.tc.ph.cox.net] has quit [Quit:
itrekkie]
05:07 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
05:08 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has quit [Quit:
Leaving.]
05:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:12 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has joined
#go-nuts
05:16 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:16 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed
the connection]
05:16 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has quit [Remote
host closed the connection]
05:17 -!- tensai_cirno [~cirno@194.154.66.189] has joined #go-nuts
05:21 -!- nettok [~quassel@200.119.177.7] has quit [Ping timeout: 246 seconds]
05:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:40 -!- tensai_cirno [~cirno@194.154.66.189] has quit [Ping timeout: 246
seconds]
05:48 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
05:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:54 -!- tensorpudding [~user@99.32.63.28] has quit [Read error: Connection reset
by peer]
06:02 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Ping
timeout: 248 seconds]
06:07 -!- tvw [~tv@e176001181.adsl.alicedsl.de] has joined #go-nuts
06:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:12 -!- _xizor [~Xizor@aqu33-7-78-232-32-5.fbx.proxad.net] has joined #go-nuts
06:28 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
06:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:31 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:32 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts
06:32 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
06:34 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
06:36 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
06:37 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
06:38 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
06:41 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout:
246 seconds]
06:47 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:52 -!- firwen [~firwen@adevlaptop.cern.ch] has joined #go-nuts
06:58 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts
06:59 -!- espeed [~espeed@63.246.231.57] has quit [Ping timeout: 246 seconds]
07:02 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has joined #go-nuts
07:03 -!- kaichenxyz [~kaichenxy@115.199.111.22] has joined #go-nuts
07:03 -!- kaichenxyz [~kaichenxy@115.199.111.22] has quit [Remote host closed the
connection]
07:03 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has joined #go-nuts
07:06 -!- skejoe [~skejoe@188.114.142.217] has joined #go-nuts
07:07 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-101.clienti.tiscali.it] has
joined #go-nuts
07:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:11 -!- espeed [~espeed@63.246.231.57] has joined #go-nuts
07:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:13 -!- benjack [~benjack@bb119-74-104-165.singnet.com.sg] has left #go-nuts []
07:17 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has left #go-nuts []
07:24 -!- |Craig| [~|Craig|@panda3d/entropy] has left #go-nuts []
07:29 -!- kawon [~fnowak@d5369cab.access.ecotel.net] has joined #go-nuts
07:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:31 -!- kawon [~fnowak@d5369cab.access.ecotel.net] has left #go-nuts []
07:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:40 -!- crodjer [~rohanjain@203.110.240.205] has quit [Quit: Leaving]
07:43 < nsf> haha, there was a discussion some time ago about &&x
07:44 < nsf> I've just realized that from the lexer point of view
07:44 < nsf> '&&' and '&' are different tokens
07:44 < nsf> so it won't work simply for syntactic reasons
07:44 < nsf> :)
07:46 < kuroneko> gah.  dumb question time from me.  Is there a way to pass
[]string into ...string ?
07:48 -!- espeed [~espeed@63.246.231.57] has quit [Ping timeout: 246 seconds]
07:49 < nsf> kuroneko: yes
07:49 < nsf> func Foo(args ...string)
07:49 < nsf> var x []string
07:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:49 < nsf> Foo(x...)
07:49 < nsf> something like that
07:49 < kuroneko> yeah, it's the postfixed ...  I kinda missed
07:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:53 < str1ngs> kuroneko: figured it ou?
07:54 < str1ngs> out*
07:55 -!- virtualsue [~chatzilla@nat/cisco/x-xokiuuwtloguykqs] has joined #go-nuts
07:57 < kuroneko> str1ngs: yup.
08:05 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has quit [Ping
timeout: 264 seconds]
08:07 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has joined
#go-nuts
08:09 < xyproto> nsf: I won't join in on the && debate again, but nice to
know :D
08:09 < nsf> :D
08:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
08:23 -!- Project-2501 [~Marvin@82.84.79.76] has joined #go-nuts
08:27 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-101.clienti.tiscali.it] has
quit [Ping timeout: 276 seconds]
08:29 -!- tvw [~tv@e176001181.adsl.alicedsl.de] has quit [Remote host closed the
connection]
08:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:29 -!- virtualsue [~chatzilla@nat/cisco/x-xokiuuwtloguykqs] has quit [Ping
timeout: 276 seconds]
08:30 -!- aho [~nya@fuld-590c6951.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
08:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
08:41 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
08:41 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-157-96.clienti.tiscali.it] has
joined #go-nuts
08:44 -!- Project-2501 [~Marvin@82.84.79.76] has quit [Ping timeout: 248 seconds]
08:44 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-165-242.clienti.tiscali.it] has
joined #go-nuts
08:46 -!- hopso [576c168c@gateway/web/freenode/ip.87.108.22.140] has joined
#go-nuts
08:47 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-157-96.clienti.tiscali.it] has
quit [Ping timeout: 252 seconds]
08:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:50 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 248
seconds]
08:51 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
08:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
08:51 -!- PortatoreSanoDiI [~Marvin@82.84.65.36] has joined #go-nuts
08:52 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
08:55 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-165-242.clienti.tiscali.it] has
quit [Ping timeout: 260 seconds]
08:56 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has quit [Ping
timeout: 246 seconds]
08:58 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has joined
#go-nuts
08:59 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #go-nuts
09:00 < sanjoyd> Hi! I'm trying to look up how Go implements goroutines
(i.e.  how they are mapped to OS threads, etc.).  Can anyone point out the files /
directories I should focus on?
09:00 < sanjoyd> (In the Go source).
09:01 < taruti> sanjoyd: src/pkg/runtime
09:01 < sanjoyd> proc.c, it seems.
09:01 < nsf> sanjoyd: yeah
09:01 < sanjoyd> taruti: yes, got it.  Thanks!
09:01 < sanjoyd> nsf: thanks!
09:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:09 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Quit: Leaving]
09:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
09:17 -!- prip [~foo@host194-122-dynamic.35-79-r.retail.telecomitalia.it] has quit
[Read error: Connection reset by peer]
09:18 -!- virtualsue [~chatzilla@nat/cisco/x-arrgrgutriitzmxl] has joined #go-nuts
09:21 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
09:23 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
09:25 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
09:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
09:32 -!- prip [~foo@host188-121-dynamic.42-79-r.retail.telecomitalia.it] has
joined #go-nuts
09:38 < nsf> [nsf @ crawl]$ echo 'func Test() { a, b := 1, 2; c, b := 3, 4;
}' | ./crawl -no-ast
09:38 < nsf> stdin:1:32: error: 'b' redeclared in this block
09:38 < nsf> func Test() { a, b := 1, 2; c, b := 3, 4; }
09:38 < nsf> ^
09:38 < nsf> :P
09:38 < nsf> [nsf @ crawl]$ echo 'func Test() { a, b := 1, 2; c, (b) := 3,
4; }' | ./crawl -no-ast
09:38 < nsf> second one is legal
09:38 < nsf> that's how ':=' works in crawl
09:39 < nsf> (a), (b) := 3, 4; // that will be legal as well :)
09:39 < nsf> well..  it is
09:39 < nsf> hehe
09:41 < nsf> the only difference between ':=' and '=' is that ':=' when sees
an identifier on the LHS, introduces a new declaration
09:41 < nsf> I think it's a much better way to do so than in Go
09:48 < jessta_> nsf: but that's not really the problem people come up
against
09:48 < nsf> it is
09:49 < nsf> there were two problems
09:49 < nsf> one that named return values are not declared in function scope
and can be therefore redeclared
09:49 < nsf> that's a problem of named return values, not a ':='
09:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:50 < nsf> the one with ':=' was that you can't control reuse vs.
redeclaration in ':=' statements
09:50 < nsf> now you can
09:50 < Namegduf> Hmm
09:50 < Namegduf> Ban redeclaration entirely
09:50 < nsf> I did
09:51 < Namegduf> And permit not using an identifier
09:51 < Namegduf> And that could work, yeah.
09:51 < nsf> wait
09:51 < Namegduf> Go doesn't let you use anything not an identifier.
09:51 < nsf> yeah
09:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
09:51 < nsf> well, I've described my approach in that issue comment
09:51 < nsf> 1.  allow any addressable expression on the LHS
09:52 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
09:52 < nsf> 2.  disallow implicit reuse of variables
09:52 < Namegduf> Post to the mailing list?
09:52 < Namegduf> I think I like this idea
09:52 < nsf> uhm..
09:52 < nsf> I don't want to go to the ML :)
09:53 < nsf> http://code.google.com/p/go/issues/detail?id=377#c24
09:53 < nsf> My "proposal" is here in comment 24
09:53 < nsf> if you like it, you can post it on the ML :)
09:53 < nsf> I don't think it has any dark corners, it's pretty simple
anyway
09:55 < Namegduf> Writing x, (err) := is kinda weird.
09:55 < Namegduf> That's about it.
09:56 < Namegduf> For the added explictness, I feel it is easily worth it
09:56 < nsf> "Yes, it's a bit longer.  But keep in mind that the alternative
is typing 'var a Type', 'var b Type'.  Using parens is perfectly fine to me for
such a complex case."
09:56 < nsf> that's the alternative
09:56 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Ping timeout: 246
seconds]
09:57 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
09:57 < nsf> typing parens is easier than typing the whole 'var' declaraion
09:57 < nsf> for both x and err
09:58 < nsf> anyway, I hope we'll see how it works in practice, I will start
code generation for crawl soon
09:58 < nsf> of course bits are missing, but something will work )
09:58 -!- foocraft [~dsc@89.211.233.19] has joined #go-nuts
10:00 -!- wrtp [~rog@92.17.67.64] has joined #go-nuts
10:03 -!- shvntr [~shvntr@222.50.224.101] has joined #go-nuts
10:08 -!- shvntr [~shvntr@222.50.224.101] has quit [Ping timeout: 260 seconds]
10:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:10 -!- shvntr [~shvntr@116.26.143.3] has joined #go-nuts
10:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:17 -!- katakuna [pie@kjal.demon.co.uk] has joined #go-nuts
10:19 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
10:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:30 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
10:30 -!- wchicken [~chicken@c-24-7-112-207.hsd1.ca.comcast.net] has joined
#go-nuts
10:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:32 < wchicken> hey guys, decided to try out go on a whim today
10:33 < wchicken> if I have an array of strings and I want to change those
into an array of float64s, what's the easiest way to do that?  I have a for loop
but 6g is complaining
10:35 < wchicken> http://pastie.org/1782209 (6g says that line 17 "isn't
used")
10:35 < Namegduf> It isn't.
10:36 < Namegduf> == tests for equality.
10:36 < Namegduf> You then do nothing with that.
10:36 < wchicken> Namegduf: should I use := instead?
10:36 < hopso> Simply =
10:37 < wchicken> hopso: hey that works!  thanks!
10:38 -!- stalled [~stalled@unaffiliated/stalled] has quit [Read error: Connection
reset by peer]
10:39 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Ping timeout: 252
seconds]
10:42 < wchicken> if I allocate an array using make(), that gives me a
slice, correct?  and I can pass that slice to other functions and not worry about
needless copying?
10:43 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
10:43 -!- hopso [576c168c@gateway/web/freenode/ip.87.108.22.140] has quit [Ping
timeout: 252 seconds]
10:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:51 < wrtp> wchicken: yes, the data in a slice is passed by reference
10:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:56 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
10:59 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
11:00 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
11:00 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
11:03 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
11:04 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
11:04 -!- anticw_ [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has quit [Ping
timeout: 276 seconds]
11:04 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
11:09 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 258
seconds]
11:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:10 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
11:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:12 -!- saturnfive [~saturnfiv@222.90.91.181] has joined #go-nuts
11:12 -!- saturnfive [~saturnfiv@222.90.91.181] has left #go-nuts []
11:13 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
11:18 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
11:21 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has joined #go-nuts
11:22 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
11:28 -!- randfur [~androirc@58.145.148.89] has joined #go-nuts
11:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:31 -!- anticw [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has joined #go-nuts
11:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:46 -!- randfur [~androirc@58.145.148.89] has quit [Ping timeout: 252 seconds]
11:49 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:54 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts
12:05 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
12:09 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
12:09 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:33 -!- fhs [~fhs@pool-74-101-66-112.nycmny.east.verizon.net] has quit [Quit:
leaving]
12:38 -!- skejoe [~skejoe@188.114.142.217] has quit [Quit: Lost terminal]
12:44 -!- Scorchin [~Scorchin@host109-158-112-82.range109-158.btcentralplus.com]
has joined #go-nuts
12:47 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds]
12:50 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:51 < exch> For anyone working on Go's HTTP stuff:
http://www.conceivablytech.com/6696/products/google-chrome-gets-spdy-and-an-onscreen-keyboard
12:51 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:51 < exch> in particularly the bit about SPDY
12:52 -!- tensai_cirno [~cirno@195.19.62.212] has joined #go-nuts
12:54 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has joined #go-nuts
12:54 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has quit [Ping timeout: 252
seconds]
13:00 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
13:00 -!- crodjer [~rohanjain@203.110.240.205] has quit [Ping timeout: 252
seconds]
13:01 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
13:01 -!- artefon [~thiago@bananal.lbd.dcc.ufmg.br] has joined #go-nuts
13:08 < str1ngs> good read thanks
13:10 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
13:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
13:23 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:26 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
13:30 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
13:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
13:40 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
13:55 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 258 seconds]
13:55 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:59 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:04 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
14:08 -!- shvntr [~shvntr@116.26.143.3] has quit [Read error: Connection reset by
peer]
14:11 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 276 seconds]
14:12 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
14:13 -!- hopso [~hopso@a91-152-176-165.elisa-laajakaista.fi] has joined #go-nuts
14:21 -!- tensai_cirno [~cirno@195.19.62.212] has quit [Quit: Leaving]
14:21 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
14:31 -!- lmoura [~lauromour@187.113.73.226] has joined #go-nuts
14:31 < plexdev> http://is.gd/P8Z1PD by [Russ Cox] in go/ -- A+C: Luit van
Drongelen (individual CLA)
14:31 < plexdev> http://is.gd/RxuMUP by [Luit van Drongelen] in
go/src/pkg/asn1/ -- asn1: Implement correct marshalling of length octets
14:31 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
14:36 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
["Leaving"]
14:38 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
14:38 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
14:40 < nsf> uhm..
14:41 < nsf> I know there were some fuzz about alternative method syntax
14:41 < nsf> but nothing useful, what do you think about it?  Is the current
one good enough to forget about that idea?
14:41 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:41 < uriel> what alternative method syntax?
14:41 < nsf> maybe something like (random thought): func MethodX(receiver
*StructX: a, b, c int)
14:42 < uriel> all suggestions I have heard were by people that clearly had
not written any Go code in their lives
14:42 < nsf> instead of: func (receiver *StructX) MethodX(a, b, c int)
14:42 < exch> I find nothing wrong with the current implementation
14:42 < uriel> ugh
14:42 < nsf> too many parens is not an argument?  :)
14:42 < nsf> func (receiver) name(args) (return values)
14:42 < nsf> six of them!
14:42 < exch> any alternative is just an aeshetic concern.  It really has no
baering on making Go more useful or not
14:42 < nsf> yeah
14:43 < nsf> but in a spirit of removing parens from many statement
14:43 < nsf> why can't we apply it here?
14:43 < uriel> I didn't see any real benefit, aesthetic or not (and
aesthetics are important) from any of the sugggestions
14:44 < nsf> I'm just trying to be open minded, maybe there is a nice
unheard idea somewhere around :)
14:46 < nsf> I guess there is no such thing
14:46 < nsf> :)
14:48 < hopso> I like the current method syntax.
14:48 * taruti too
14:49 < nsf> of course I like it too, but there is nothing I can compare it
with
14:50 -!- delinka [~delinka@pidsley.praxxium.com] has joined #go-nuts
14:51 < nsf> no other strongly-typed language allows methods on
non-structure types, am I right?
14:51 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has joined
#go-nuts
14:51 < delinka> Go n00b here - reading through the tutorial and it just
keeps reminding me about semi-colons.  rather the fact that I don't need to type
them.  are there really people that are so semi-colon averse?
14:52 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts
14:52 < nsf> delinka: Go's tutorial has only one section on semicolons
14:52 -!- wrtp [~rog@92.17.67.64] has quit [Quit: wrtp]
14:52 < nsf> what's wrong with that?
14:53 < str1ngs> delinka: not adverse, simply you don't need them in go
14:53 < exch> delinka: you can type them if you want to.  but you don't have
to.  The compiler inserts em for you, because it can and so you don't have to
14:54 < nsf> I don't understand the complaint
14:54 < nsf> is it about tutorial or semicolons
14:54 < nsf> or maybe the whole Go community?  :)
14:54 < delinka> nsf: nothing wrong with it.  it's the second such section
I've read and feels like a Really Big Deal now that I've seen it mentioned.  it's
not a complaint, it's a question.
14:54 < nsf> ah, ok
14:54 < nsf> it's mentioned because Go's syntax has semicolons, but compiler
inserts them for you
14:55 < nsf> and it's important to understand how it does that cheating
14:55 < nsf> otherwise at some point you'll be surprised by some syntax
errors
14:55 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 240 seconds]
14:55 < str1ngs> that's a good point nsf
14:55 < uriel> nsf: it is not even that important to understand that, it
very rarely matters
14:56 < nsf> well it's not like a big deal rule, but you have to keep in
mind the principle of inserting semicolons
14:56 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
14:56 < delinka> I guess if I had a "complaint" it's that this particular
feature necessitates a bracing style that has ignited religious wars.  I'm
personally an opening-brace-same-line-as-if guy, but I've met people that Must
Have It The Other Way.  but I'm still not registering it as a compaint.  ;-)
14:57 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
14:57 < nsf> delinka: Go has a problem solver for that
14:57 < nsf> it's called gofmt
14:57 < nsf> it formats code for you
14:57 < nsf> and it has only one true style
14:57 < nsf> :)
14:57 < delinka> sensible
14:57 < str1ngs> which means we can fight less over tabs and spaces and
such.  and just fight over generics :P
14:58 * uriel is amazed at how much some people love to spend time arguing over
totally irrelevant crap
14:58 < str1ngs> one of the reason I like gofmt so much
14:59 < exch> ya.  it's genius
14:59 < delinka> I figure the Suits that seem to want to enforce style on
underlings should probably just use formatting tools to show them what they like.
then stfu and get some work done.  :-D
14:59 < skelterjohn> easier to write a formatting tool in go than some other
languages
15:00 < nsf> skelterjohn: I don't think it's true
15:00 < nsf> more like it's hard to write a formatting tool for C/C++
15:00 < nsf> because it has a preprocessor
15:01 < skelterjohn> nsf: all i have to do is come up with *one* language
for which it is harder, and then my statement is true
15:01 < nsf> ok
15:01 < nsf> :)
15:01 < exch> for some languages it makes no sense
15:01 < exch> to have a formatter that is
15:01 < nsf> like python :)
15:01 < skelterjohn> and i meant exactly what i said.  there are certainly
other languages that are also easy to write a formatter for, and i'm not talking
about those
15:01 < exch> concatenative languages like factor to
15:02 < nsf> lisp - doesn't matter how you format it, it's the same, lol
15:02 < nsf> :D
15:02 < exch> yea exactly
15:03 < exch> The one thing about factor that I don't like is that it causes
a syntax error when you use tabs instead of spaces.  Shit like that really
shouldn't be in the language design
15:03 < str1ngs> I totally agree
15:04 < nsf> haha, yaml disallows tabs as well
15:04 < nsf> but I like it
15:04 < nsf> I guess for a markup language it makes more sense
15:04 < exch> a language where you only have whitespace, it can be important
to I guess :p
15:06 < aiju> fucking around about syntaxes is a waste of time
15:06 < aiju> eventually you get used to all language syntaxes and they
became fine then
15:07 < aiju> except Haskell, that one sucks too much ;P
15:09 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Quit: WeeChat 0.3.4]
15:10 -!- reds [~reds@pool-74-101-147-57.nycmny.fios.verizon.net] has joined
#go-nuts
15:14 < skelterjohn> i concur, on both counts
15:14 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
15:15 -!- hopso [~hopso@a91-152-176-165.elisa-laajakaista.fi] has quit [Quit:
hopso]
15:16 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
15:25 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit:
*poof*]
15:28 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
15:28 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts
15:33 < plexdev> http://is.gd/ZOTw6L by [Mikkel Krautz] in
go/src/pkg/crypto/x509/ -- crypto/x509: expose complete DER data
15:36 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Quit:
Computer has gone to sleep.]
15:40 -!- mattn_jp [~mattn@112-68-78-114f1.hyg1.eonet.ne.jp] has joined #go-nuts
15:51 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Ping
timeout: 246 seconds]
15:53 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has quit [Quit: marten]
15:55 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
15:55 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat]
15:56 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has joined #go-nuts
15:58 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
16:00 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
16:00 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
16:00 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 246 seconds]
16:04 -!- artefon [~thiago@bananal.lbd.dcc.ufmg.br] has quit [Ping timeout: 240
seconds]
16:07 -!- artefon [~thiago@bananal.lbd.dcc.ufmg.br] has joined #go-nuts
16:07 -!- rurban [~demo@178-191-217-247.adsl.highway.telekom.at] has joined
#go-nuts
16:10 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
16:10 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
16:10 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:14 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
16:15 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
16:17 -!- rurban [~demo@178-191-217-247.adsl.highway.telekom.at] has quit [Ping
timeout: 276 seconds]
16:22 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
16:22 -!- rurban [~demo@178-191-217-247.adsl.highway.telekom.at] has joined
#go-nuts
16:23 -!- araujo [~araujo@190.38.51.34] has joined #go-nuts
16:23 -!- araujo [~araujo@190.38.51.34] has quit [Changing host]
16:23 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
16:23 -!- firwen [~firwen@adevlaptop.cern.ch] has left #go-nuts []
16:23 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping
timeout: 252 seconds]
16:24 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
16:27 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
16:31 -!- zimsim [~simon@87.72.77.195] has quit [Ping timeout: 276 seconds]
16:32 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has joined #go-nuts
16:35 -!- tensai_cirno [~cirno@80.250.216.102] has joined #go-nuts
16:42 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
16:45 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
16:48 < Glasswalker> Ok, I have a type, which has a Quit(bool) channel, and
it spawns off several goroutines (fixed number).  If I want all the goroutines to
quit, I need to send X values down that channel (one for each goroutine) correct?
16:48 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
16:48 < Glasswalker> Also I know the ones waiting on data from other
channels are easy, the multiplexing example covers that (use a select on the 2
channels, one on quit, one on the data)
16:49 < Glasswalker> But I have one goroutine that calls a function, which
returns 2 values (an actual return value, and a boolean "success" flag).  I want
to multiplex on that.  (so loop over that function over and over, but if something
comes in on the quit channel, then quit)
16:49 < Glasswalker> how do I handle that situation?
16:53 < skelterjohn> have the result of that function come in on a channel
16:53 < skelterjohn> and select on that channel and your quit channel
16:55 < exch> you can do a non-blocking read on the quit channel.  If it
yields anything, just quit.  otherwise the code just continues looping and yuo can
call whatever you need: for { if q, ok := <- quitchan; q || !ok {
exitGoroutine() }; doOtherStuff() }
16:56 < skelterjohn> "q, ok := <- quichan" is not a non-blocking read
16:56 < skelterjohn> you need to select for that
16:56 < exch> it is
16:56 < skelterjohn> it was
16:56 < exch> just tried it
16:56 < skelterjohn> it is no longer
16:56 < skelterjohn> it compiles
16:56 < skelterjohn> but ok now tells you if the chan closed in the meantime
16:56 < exch> it also runs in a loop
16:56 < skelterjohn> when was the last time you updated =[
16:56 < exch> few days ago
16:56 < skelterjohn> =[ -> =p
16:57 < exch> cd89452cfea3 weekly/weekly.2011-04-04
16:59 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
17:00 < skelterjohn> run this code http://pastebin.com/jPBSCVTn
17:00 < skelterjohn> if it was non-blocking, it would exit immediately
17:01 < skelterjohn> since it is not, it waits 5 seconds
17:01 < skelterjohn> if it exits immediately, then something is strange
because it waits 5 seconds on my machine
17:01 < skelterjohn> and i updated a day or two ago
17:01 < exch> oh dur.  nvm.  I put the test in my current project..  in a
function that is called repeatedly -.-
17:01 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
17:01 < skelterjohn> ^_^
17:02 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has quit [Remote
host closed the connection]
17:02 < skelterjohn> i couldn't find it anywhere in the spec, though :\
17:03 < skelterjohn> "receive" is overloaded
17:04 -!- carrus85 [~carrus85@64.0.193.15] has joined #go-nuts
17:04 -!- JusticeFries_
[~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts
17:06 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has quit [Ping timeout: 276 seconds]
17:07 -!- iocor [~sam@unaffiliated/iocor] has joined #go-nuts
17:07 < iocor> can you send a netchan over a netchan?
17:08 < nsf> yes
17:08 < nsf> ah, netcahn
17:08 < nsf> netchan*
17:08 < nsf> probably not :)
17:08 < nsf> channel over channel is possible
17:09 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 260 seconds]
17:09 < iocor> is there something special about netchans?
17:09 < skelterjohn> sending a netchan over a netchan would require some
pretty heavy-duty infrastructure to support TCP streams with more than two parties
17:09 -!- wrtp [~rog@92.17.67.64] has joined #go-nuts
17:10 < skelterjohn> it would be very difficult, for instance, to ensure
that only one machine that is reading from this chan received a value
17:10 < skelterjohn> distributed locks are very slow, and it's a good idea
to find a more appropriate solution
17:11 < skelterjohn> in other news, apparently this allowed:
http://code.google.com/p/go/issues/detail?id=1681
17:11 < Glasswalker> Ok, so for my above question, see
http://svn.makerengineering.com/filedetails.php?repname=SWARM&path=%2Ftrunk%2Fsrc%2Fdambs%2Fdambs_connection.go
17:12 < Glasswalker> in the function PacketRXHandler() I call the Read()
function
17:12 < Glasswalker> Err...  ReadPacket()
17:12 < Glasswalker> which returns a DAMBSPacket, and a bool...
17:12 < skelterjohn> you should move on from svn, but that's a different
issue
17:13 < skelterjohn> oh, you can use a select like that?
17:13 < Glasswalker> How I'm using it in the select obviously doesn't work,
so how do I pipe that into a channel to select on it?
17:13 < skelterjohn> oh
17:13 < skelterjohn> does that not compile?
17:13 < skelterjohn> hehe
17:13 < Glasswalker> nope :) does not compile
17:13 < skelterjohn> ok, not surprised
17:13 < skelterjohn> one sec, i can make a pastebin
17:13 < Glasswalker> trying to figure out how to get the functionality I'm
attempting there though
17:13 < Glasswalker> And what's wrong with SVN?  ;)
17:15 < skelterjohn> http://pastebin.com/aUfU05dn
17:15 < skelterjohn> it has fallen out of favor
17:16 < Glasswalker> so?  :)
17:16 < skelterjohn> i can discuss why, if you like
17:16 < skelterjohn> but let's focus on the go question first
17:16 < Glasswalker> lol yes
17:16 < skelterjohn> brb
17:17 < Glasswalker> Ahh
17:17 < Glasswalker> I think I see
17:17 < Glasswalker> and I wouldn't need to return a bool success/fail
17:17 < Glasswalker> internally if it fails just don't send it to the chan
17:18 -!- lazy1 [~miki@bzq-79-183-199-97.red.bezeqint.net] has joined #go-nuts
17:20 < skelterjohn> err
17:20 < skelterjohn> i guess
17:20 < skelterjohn> though that's kind of asking for trouble
17:20 < skelterjohn> if you need to inspect the error, i suggest having it
built into the thing you send on valChan
17:21 < skelterjohn> valChan := make(chan struct {p DAMBSPacket, ok bool})
17:21 < skelterjohn> or define the struct elsewhere
17:21 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Quit: Venom_X]
17:21 < skelterjohn> alternatively, you could have a separate chan fire if
there is an error
17:22 < Glasswalker> ok
17:22 < Glasswalker> now why are you firing a goroutine there immediately
before the select
17:23 < Glasswalker> and re-making the chan each iteration of the loop?
17:23 < skelterjohn> i didn't bother to remember the context
17:23 < skelterjohn> you wouldn't remake the chan each time
17:23 < Glasswalker> ok
17:23 < Glasswalker> as for the goroutine?  the source for the chan doesn't
NEED to be another thread does it?
17:23 < skelterjohn> and i'm firing a goroutine because chans for
communication are only viable when they go between goroutines
17:25 < skelterjohn> a better design might have a goroutine calling
ReadPacket() over and over again, pushing the results to a channel
17:25 < skelterjohn> and don't think of a goroutine as a thread
17:25 < Glasswalker> so if I feed something into a channel on line 1, and on
line 5 I read back out of that channel (within the same function) that won't work?
(I know it's a silly example)
17:25 < skelterjohn> it's much lighter weight than that
17:25 < skelterjohn> just think of it as a way to induce concurrency
17:25 -!- hopso [~hopso@a91-152-176-165.elisa-laajakaista.fi] has joined #go-nuts
17:25 < skelterjohn> Glasswalker: if you send something to a chan and
nothing is ready to receive, the send won't happen
17:25 < skelterjohn> the code will stall there
17:26 < skelterjohn> but - you could make it a buffered chan
17:26 < skelterjohn> in fact that might be a really nice solution for your
problem
17:26 < Glasswalker> wait that's what I missed
17:26 < skelterjohn> no extra goroutine required
17:26 < Glasswalker> I read it, but it hadn't sunk in
17:26 < Glasswalker> so normal chans are blocking
17:26 < Glasswalker> to the goroutine using them (Sender or reciever)
17:26 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
17:26 < skelterjohn> yes
17:26 < Glasswalker> unless it's buffered
17:26 < Glasswalker> or your using a select to check if it's still blocked
17:26 < Glasswalker> that makes MUCH more sense ;)
17:26 < skelterjohn> buffered chans can block too, if the buffer is full
(for a send) or empty (for a receive)
17:27 < Glasswalker> ok wait
17:27 < Glasswalker> the whole reason I'm trying to do this is so I can send
a remote kill to the channel which is looping
17:28 < Glasswalker> PacketRXHandler() is a goroutine which infinitely loops
polling the TCP connection for incoming "Packets" (formatted chunks of TCP data).
Using the ReadPacket function (which grabs bytes from the TCP buffer, and converts
to a "Packet")
17:29 < Glasswalker> I need a way for the Connection (which spawned the
PacketRXHandler) to kill it, so I implimented a quit channel.
17:29 < Glasswalker> but if the ReadPacket function is in it's own goroutine
looping, then how do I remote kill it then?
17:29 < Glasswalker> or am I missing something lol
17:29 < skelterjohn> it will lose the packet it's trying to read
17:29 < skelterjohn> you can't really avoid this issue
17:30 < skelterjohn> without inducing some sort of race condition
17:30 < skelterjohn> you aren't missing anything
17:30 < skelterjohn> (that i am not also missing)
17:30 < Glasswalker> :S
17:30 < kamaji> h shi
17:30 < kamaji> :|
17:31 < kamaji> half wrong window :D
17:31 < Glasswalker> So...  this solution just pushes the problem one layer
deeper in the stack
17:31 < Glasswalker> and doesn't really solve it
17:31 < Glasswalker> :)
17:31 < skelterjohn> Glasswalker: think about it - there is a point at which
your code will start reading the packet
17:31 < Glasswalker> is what your saying
17:31 < skelterjohn> if you try to stop after this happens, the packet will
be lost
17:31 < Glasswalker> oh I get that
17:32 < skelterjohn> unless, once a quit message is received, just don't
start trying to read any *new* packets
17:32 < skelterjohn> but you're allowed to finish the old oen
17:32 < skelterjohn> that is doable
17:32 < Glasswalker> right
17:32 < Glasswalker> that's what I'm going for
17:32 < skelterjohn> ok, what you want to do
17:32 < Glasswalker> but if I don't have some way to explicitly kill a
looping goroutine it will stay exeucting when the program dies
17:32 < skelterjohn> is right before you try to read a packet
17:32 < Glasswalker> hence the quit channel
17:32 < skelterjohn> select on the quitchan and on default
17:33 < skelterjohn> select { case <- quitChan: /*break out of the read
loop */ default: }
17:33 < skelterjohn> that is a non-blocking read of the quit channel
17:33 < skelterjohn> if there isn't anything read on it, default will fire
17:33 < Glasswalker> AHH
17:33 < skelterjohn> default only fires if non of the other channels have
something ready
17:33 < Glasswalker> that's what I was missing!
17:34 < skelterjohn> this is what exch was suggesting earlier, modulo syntax
17:34 -!- rurban [~demo@178-191-217-247.adsl.highway.telekom.at] has quit [Ping
timeout: 252 seconds]
17:34 < Glasswalker> yeah it just didn't *click* earlier :)
17:34 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
17:34 -!- rurban [~demo@178.191.217.247] has joined #go-nuts
17:35 -!- skelterjohn_ [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
17:36 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Read error:
Connection reset by peer]
17:36 < skelterjohn> flakey internet on campus, too?  i think my computer
needs an upgrade
17:36 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
17:37 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined
#go-nuts
17:37 < Glasswalker> nice!  that compiles :)
17:37 < Glasswalker> thanks!
17:38 < Glasswalker> Ok so my first question...
17:39 < Glasswalker> The Connection fires 4 goroutines (PacketTXHandler,
PacketRXHandler, MessageTXHandler, MessageRXHandler) (messages are broken into
packets, or encoded from packets)
17:39 < Glasswalker> so if I send Connection.Close() (which is what feeds
the quit chan) I need to send 4 values down the quit channel right?
17:39 < Glasswalker> so that all 4 goroutines get a flag and kill
themselves.
17:39 < skelterjohn> yes
17:40 < Glasswalker> perfect
17:40 < Glasswalker> but...
17:40 < skelterjohn> it's possibly to build a multiplexing channel, but it's
not default behavour
17:40 < Glasswalker> what if one of the goroutines fails?
17:40 < Glasswalker> (I mean the app will have broken badly at that point,
but that aside)
17:40 < Glasswalker> if it fails out, and isn't running
17:40 < Glasswalker> and I try and send 4 quit messages
17:40 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has quit [Read error: Connection reset by peer]
17:41 < skelterjohn> then one of them won't get read
17:41 < Glasswalker> won't the Close() function block on the "spare" quit
message?
17:41 < skelterjohn> yes
17:41 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has joined #go-nuts
17:41 < Glasswalker> so then Close() will never complete
17:41 < Glasswalker> and the app will lock up
17:41 < skelterjohn> not as written, no
17:41 < skelterjohn> correct
17:41 < Glasswalker> but like I said, if that happens I have other issues
too
17:41 < Glasswalker> lol
17:41 < Glasswalker> but still just trying to get my head around the
behavior
17:42 -!- tensai_cirno [~cirno@80.250.216.102] has quit [Quit: Leaving]
17:43 < skelterjohn> what have you ended up using as a build tool, btw?
17:43 < skelterjohn> not that it matters - both godag and gb are going to be
replaced by the inhouse update to gomake
17:44 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
17:46 -!- dfr|mac [~dfr|work@nat/google/x-ghoavuzfsuorlzil] has joined #go-nuts
17:52 -!- artefon [~thiago@bananal.lbd.dcc.ufmg.br] has quit [Quit: bye]
17:55 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
18:02 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has quit [Quit:
kaichenxyz]
18:02 -!- kaichenxyz [~kaichenxy@li261-87.members.linode.com] has joined #go-nuts
18:14 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
18:15 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 248 seconds]
18:18 -!- TheMue [~TheMue@p5DDF56C9.dip.t-dialin.net] has joined #go-nuts
18:19 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has quit [Ping timeout: 252 seconds]
18:20 -!- daharon [~daharon@173-11-102-86-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
18:26 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
18:29 < kamaji> Are double pointers possible?
18:29 <+iant> what is a double pointer?
18:29 < kamaji> a pointer to a pointer
18:29 < skelterjohn> var X **int
18:29 -!- rurban [~demo@178.191.217.247] has quit [Ping timeout: 258 seconds]
18:29 < skelterjohn> of course
18:29 <+iant> sure
18:30 < kamaji> next question: are they a good idea?  :P
18:30 < aiju> you can combine Go types in any way you can think of
18:30 < aiju> kamaji: i've used triple pointers in code
18:30 < kamaji> aiju: badass.
18:30 < aiju> i think quadruple pointers at some point
18:30 < aiju> in C, though
18:30 < kamaji> I used doubles in some logic simplifying code in C once
18:30 < kamaji> my head hurt :<
18:30 < skelterjohn> i don't think i have had reason to use more than a
double pointer, yet
18:30 < aiju> *[]*int is basically a triple pointer
18:30 < kamaji> hnnnnngggggggg
18:30 < aiju> skelterjohn: GCC performs really bad on 200 times indirected
pointers ;P
18:31 < kamaji> wait, aren't slices already reference types?
18:31 < aiju> kamaji: no
18:31 < kamaji> WAT
18:31 < aiju> i don't know why everyone is propagating this
18:31 < kamaji> ARE YOU FUCKING KIDDING ME
18:31 < kamaji> DAMMMITTTTTTTT
18:31 < skelterjohn> aiju: I imagine it's hard to get code using that many
redirects to be efficient
18:31 < aiju> skelterjohn: uh huh?
18:31 < kamaji> wait: I thought *slices* were, but arrays weren't?
18:31 < exch> a slice is a value type, but it contains a pointer to the
underlying array
18:31 < skelterjohn> slices are values, but ...  what exch said
18:31 < kamaji> ok right.  phew
18:31 < kamaji> you scared my balls off
18:31 < skelterjohn> so it's part reference type, part value type
18:31 < aiju> slices are just fancy pointers
18:31 < kamaji> it's like a pointer with extra stuff
18:32 < kamaji> ^
18:32 < skelterjohn> it's not like maps and chans, which are truly reference
types
18:32 < niemeyer> kamaji: They are reference types, yeah
18:32 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has joined #go-nuts
18:32 < skelterjohn> actually, i'm not sure what distinction i'm trying to
make here
18:33 < kamaji> ok question 3, since . is context aware, will
myDoublePointer.Value work?
18:33 < skelterjohn> w/e it's not an interesting conversation
18:33 < kamaji> skelterjohn: lol
18:33 < aiju> kamaji: i don't think so
18:33 -!- artefon [~thiago@189.59.135.192] has joined #go-nuts
18:33 < skelterjohn> kamaji: (*myDblPointer).thing
18:33 < kamaji> ok
18:33 < kamaji> maybe this is a bad idea :\
18:33 < skelterjohn> which is different than (**myDblPointer).thing
18:33 < skelterjohn> if you put it on the LHS, for instance
18:34 < kamaji> how is that different?
18:34 < kamaji> oh
18:34 < kamaji> can modify the second but not the first?
18:34 -!- krutcha [~krutcha@remote.icron.com] has joined #go-nuts
18:35 < skelterjohn> dereferencing a pointer into a value operates on a copy
of the value, i think
18:35 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection
reset by peer]
18:35 < skelterjohn> i should write a quick program to check that - i've
been proven wrong with go before
18:35 < skelterjohn> some things are a bit unintuitive (for me)
18:36 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
18:37 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
18:38 < skelterjohn> i'm wrong
18:38 < skelterjohn> http://pastebin.com/vM0JNd6m
18:38 < kamaji> both work
18:38 < kamaji> in modifying
18:38 < kamaji> I'm too slow again :P
18:40 -!- virtualsue [~chatzilla@nat/cisco/x-arrgrgutriitzmxl] has quit [Ping
timeout: 240 seconds]
18:40 < skelterjohn> go does a bunch of things with pointers vs values that
don't make sense to me
18:40 -!- snearch [~snearch@f053006112.adsl.alicedsl.de] has joined #go-nuts
18:40 < skelterjohn> but it never makes it harder for me to write actual
code, so it's easy to get over
18:42 < skelterjohn> a bit more informative as to why i thought it wouldn't
work the way it does: http://pastebin.com/RsiDh036
18:42 < skelterjohn> i guess i'm still in the C++ mindset where . and ->
mean different things
18:43 < skelterjohn> here they're kind of merged into one operator
18:43 -!- mattn_jp [~mattn@112-68-78-114f1.hyg1.eonet.ne.jp] has quit [Quit:
Ex-Chat]
18:45 -!- keithgcascio [~keithcasc@nat/google/x-sysnsudckfmeoevm] has joined
#go-nuts
18:46 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts
18:48 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has
joined #go-nuts
18:49 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection
reset by peer]
18:51 < krutcha> that code confuses my brain also
18:53 < skelterjohn> go does it correctly
18:53 < skelterjohn> i just had a momentary brain fart
18:54 -!- Project_2501 [~Marvin@82.84.88.129] has joined #go-nuts
18:54 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
18:57 < krutcha> yeah it makes sense
18:58 < krutcha> just feels wiggy if you think like C where pointers have to
be treated specially
18:58 -!- progettino [~Marvin@82.84.65.36] has quit [Ping timeout: 276 seconds]
18:58 < aiju> krutcha: it makes sense though
18:58 < krutcha> yep
18:59 < aiju> C style is context free
18:59 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
18:59 < skelterjohn> i don't like context
18:59 < skelterjohn> and implicit meaning
18:59 < aiju> context is quantum satis to me
18:59 < skelterjohn> i don't know what that means
18:59 < skelterjohn> "the only thing you need"?
18:59 < aiju> as little as possible, as much as needed
19:00 < skelterjohn> close neough
19:00 < aiju> at the end of the day HQ9+ is the only context free language
19:00 < nsf> hehe, I'm changing type cast syntax in crawl :\
19:00 < nsf> x := [type]y;
19:00 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:00 < nsf> does anyone think something about that?  :)
19:01 < nsf> the reason why previous <type>expr doesn't work is this
expression:
19:01 < nsf> a < <uint>b
19:01 < nsf> looks ugly
19:01 < nsf> a < [uint]b is better
19:01 < krutcha> skelterjohn: http://pastebin.com/khR5nibF makes it clear to
me, but still I find room to make a mental OOPS when dealing with pointers in GO,
correct or not
19:01 < skelterjohn> nsf: as long as types are not first class values, that
seems fine
19:02 < nsf> what do you mean first class values?
19:02 < skelterjohn> you can't say x := int
19:02 < skelterjohn> var y x
19:02 < nsf> of course you can't
19:02 < skelterjohn> since types aren't first class values
19:02 < skelterjohn> you can in some language
19:02 < skelterjohn> s
19:02 < skelterjohn> makes type checking NP-complete, i think
19:03 < nsf> I don't think compilation is even possible with that kind of
feature
19:03 < nsf> JIT only
19:03 < nsf> well, you can't hold the type in the var and use it
19:03 < skelterjohn> dynamic languages
19:03 < nsf> because compiler needs to know all the types
19:03 < skelterjohn> err
19:03 < nsf> yeah
19:04 < skelterjohn> interpretted languages with dynamic variables/types
19:04 < skelterjohn> i didn't expect you to say "oh, wait crawl does allow
types as first class values" :)
19:04 < nsf> :)
19:04 < aiju> this is reasonably possible in a static language
19:04 < nsf> aiju: but storage for that type will become dynamic
19:04 < skelterjohn> right
19:04 < aiju> how so?
19:04 < nsf> like the case with interfaces
19:04 < skelterjohn> if everything is a pointer
19:05 < nsf> because if your type is dynamic
19:05 < skelterjohn> aiju: because to know how much space something takes,
you have to know its type, and type inference is NP-complete in this context
19:05 < nsf> its size is dynamic
19:05 < aiju> 21:05 < skelterjohn> var y x
19:05 < aiju> oh yeah, in that situation
19:05 < aiju> just thought about x := int
19:05 < skelterjohn> also, you could pass a type to a function
19:05 < nsf> otherwise why do you need dynamic types?  :)
19:05 < aiju> for use with e.g.  interface type checking
19:06 < aiju> currently type switches are some kind of hack
19:06 < aiju> with this you could make them normal switches on a type()
function
19:06 < skelterjohn> call it with types of different size
19:06 < skelterjohn> then that function can't know the size of its variable
at compile time
19:06 < skelterjohn> unless you explode it to deal with all possibilities
19:06 < aiju> ofc i don't know whether that is actually useful
19:07 -!- skelterjohn_ [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
19:07 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error:
Operation timed out]
19:07 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
19:08 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Read error:
Connection reset by peer]
19:10 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
19:11 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Read error: Operation
timed out]
19:12 -!- wrtp [~rog@92.17.67.64] has quit [Quit: wrtp]
19:18 < krutcha> I spent a fair bit of time on friday banging my head
against empty interfaces/type assertions etc.  What's the big fuss about not
having generics?  They seem sufficient for the needs I had.
19:19 < cbeck> Because all that is runtime rather than compile time
19:21 < krutcha> but can't you use a non-empty interface to enforce
conformity at compile time?
19:22 < aiju> krutcha: generics are mainly a performance issue
19:22 < taruti> and type safety
19:23 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
19:23 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:24 < krutcha> fair enough I guess, I haven't gotten to the point of
caring about performance in that code yet
19:24 < krutcha> perhaps I'll find some bottleneck and curse the additional
legwork/assertions later
19:25 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
19:25 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Excess Flood]
19:27 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:27 < zimsim> Isn't it possible to change attributes for projects on
godashboard?
19:27 < zimsim> links, description etc?
19:28 < skelterjohn> probably
19:28 < skelterjohn> if you send a note to adg
19:28 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Excess Flood]
19:28 < zimsim> oh, right.  so all entries all manually checked?
19:29 < skelterjohn> yeah i don't think there is anything automated about it
19:29 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 276 seconds]
19:30 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has joined #go-nuts
19:30 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:32 < zimsim> I like the brevity of that index, but letting people change
attributes is probably ok for the future
19:33 < skelterjohn> invites spam
19:33 < zimsim> I especially like how goinstall adds a package to the index
if its installed from a public location.
19:33 < zimsim> Is spam a problem in for package index's?
19:33 < zimsim> I have no idea, just asking
19:33 -!- boscop_ [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:34 < skelterjohn> as in, there is no system in place to associate a
project with the person who created it
19:34 < skelterjohn> because it goes threw andrew first, he can verify that
the attributes suggested are reasonable
19:35 < zimsim> Fully understandable, I rest my case.
19:35 < skelterjohn> maybe if we had a file in the repos called
dashboard.txt that had the right information, that could work
19:35 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts
19:36 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
19:36 < zimsim> I think redis documentation and list of clients is organized
like that.
19:36 < iocor> do package names have to be unique to one file
19:36 < iocor> or can I have several files all with package "bees"
19:36 < zimsim> nope
19:36 < zimsim> unique as far as I know.
19:36 < skelterjohn> packages can ahve whatever name they like
19:37 < skelterjohn> no restrictions on uniqueness
19:37 < skelterjohn> except that any files that you compile together must
have teh same package name
19:37 < skelterjohn> best practice is to limit yourself to one set of files
per directory
19:37 < zimsim> I think I misunderstood.  I thought the question was about
godashboard.
19:37 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 252 seconds]
19:38 < zimsim> As I believe entering the same project name as a project in
the register will give you an err ..
19:38 -!- boscop_ [~boscop@g227114087.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
19:39 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:39 < skelterjohn> ah.  probably
19:39 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
19:42 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Excess Flood]
19:43 -!- huin [~huin@91.85.185.181] has joined #go-nuts
19:44 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
19:46 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
19:48 < Glasswalker> if I have a function which has multiple return values.
one of which is a "*mytype" and I want to assign that to a variable of type
"mytype" how do I go about dereferencing it?
19:48 < skelterjohn> x, y := foo(); z := *x
19:48 < skelterjohn> ie, you can only do this in two steps
19:49 < Glasswalker> ahh
19:49 < Glasswalker> ok that's what I thought, so use a temp variable.
19:49 < zimsim> or change the func to return the val
19:51 < Glasswalker> it's a standard go library function
19:51 < Glasswalker> so temp variable it is :)
19:52 < plexdev> http://is.gd/fjpOYl by [Fazlul Shahriar] in
go/src/pkg/syscall/ -- syscall: fix StartProcess in Plan 9
19:52 < Glasswalker> if I define a variable inside of an if conditional
block, does it carry out, or is it limited in scope to be only within the
conditional block?
19:53 < huin> limited in scope
19:53 -!- tensai_cirno [~cirno@77.232.15.216] has quit [Ping timeout: 260 seconds]
19:54 < gmilleramilar> what's the status of building CGO packages with
goinstall?  specifically if it doesn't pick up the Makefile in the package, how do
I specify CFLAGS, LDFLAGS, etc?
19:54 -!- Venom_X_ [~pjacobs@99.20.147.171] has joined #go-nuts
19:55 < skelterjohn> golang.org/cmd/cgo
19:55 < skelterjohn> tells you how
19:56 < gmilleramilar> ah, sorry I was looking at the docs for goinstall,
but not cgo
19:56 < gmilleramilar> thanks.
19:57 -!- Venom_X [~pjacobs@adsl-99-20-147-171.dsl.aus2tx.sbcglobal.net] has quit
[Ping timeout: 276 seconds]
19:57 < zimsim> Glasswalker, another thing to note about scope in if's is
that the following assignment might not do what you expect.
http://paste.pocoo.org/369887
19:58 < skelterjohn> page not found
19:58 < zimsim> http://paste.pocoo.org/show/369887/
19:58 < zimsim> sorry
19:59 -!- arun__ [~arun@i172010.upc-i.chello.nl] has joined #go-nuts
20:00 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
20:00 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 276 seconds]
20:01 < zimsim> Thats at least a case I've gotten wrong plenty of times when
doing res, err := foo() inside an if.
20:02 < skelterjohn> i'm actually not sure what will happen there
20:02 < skelterjohn> i used to think anything to the left of a := was
redeclared
20:02 < skelterjohn> but i'm wrong in some cases
20:02 < skelterjohn> and i forget which
20:02 < zimsim> output: 1 false\n 0
20:03 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
20:03 < zimsim> i is redeclared.
20:03 < skelterjohn> ok, that's what i would have originally thought
20:03 < skelterjohn> but i think if you have that outside the if, it works
differently
20:04 < skelterjohn> right
20:04 < skelterjohn> if it's declared in the same scope, it won't redeclare
20:04 < zimsim> correct
20:04 < zimsim> actually had to recompile to confirm myself
20:05 < Glasswalker> hmm, now I'm getting a ton of implicit assignment of
unexported field 'enc' of aes.Cipher in assignment
20:05 < Glasswalker> during compile
20:05 < zimsim> its easy to mixup and I have to re-read the docs for it.
20:05 -!- wchicken [~chicken@c-24-7-112-207.hsd1.ca.comcast.net] has quit [Quit:
leaving]
20:05 < skelterjohn> Glasswalker: just deal with *aes.Cipher instead of
aes.Cipher
20:05 < skelterjohn> don't dereference that pointer - you can't since it has
unexported things
20:05 < Glasswalker> oh
20:05 < Glasswalker> damn
20:06 < skelterjohn> it's designed so you work on the pointer
20:06 < Glasswalker> that flubs up my whole implimentation a bit
20:06 < Glasswalker> lol
20:06 * cbeck imagines "Don't dereference that pointer" to the tune of "Don't copy
that floppy"
20:06 < skelterjohn> someone made a song out of that?
20:07 < cbeck> Somewhere..
20:07 < skelterjohn> :)
20:07 < Glasswalker> because I have a type "CryptoProvider" which the server
has an instance of, then for each client, they get a copy of the servers
CryptoProvider but with a changed AES Cipher.
20:07 < Glasswalker> (so each client has it's own AES Cipher, but the rest
of the cryptoprovider is copied from the server)
20:08 < Glasswalker> because it impliments an RSA public/private key system
for handshaking the AES cipher
20:08 < Glasswalker> hmm
20:08 < plexdev> http://is.gd/Dkm6N7 by [Robert Hencke] in go/src/pkg/http/
-- http: fix incorrect prints found by govet
20:09 < skelterjohn> too bad - the information within is easily copied in a
meaningful way
20:09 < skelterjohn> indicates the API is poorly designed, in my opinion
20:09 -!- iant [~iant@216.239.45.130] has joined #go-nuts
20:09 -!- mode/#go-nuts [+v iant] by ChanServ
20:12 -!- zerosanity [~josh@8.20.178.82] has quit [Remote host closed the
connection]
20:12 < iocor> w00t
20:12 < iocor> first go file written
20:13 < iocor> https://github.com/samphippen/unstoppable
20:14 < skelterjohn> lol
20:14 < skelterjohn> all great journeys begin with a single step
20:14 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
20:14 < iocor> I should probably add getters and setters to that thing
20:15 < zimsim> too much Java ...
20:15 < skelterjohn> iocor: why
20:15 < skelterjohn> just make the fields exported
20:15 < exch> they are all private fields, so not very useful to the outside
world
20:15 < iocor> I know I know
20:16 < iocor> specifically some of those fields shouldn't be set directly.
Ie number and school need to be validated
20:18 < skelterjohn> i don't know how useful it is to treat a library the
same way you'd treat a GUI
20:18 < skelterjohn> that is, idiot-proof
20:19 < skelterjohn> but if they are things that don't change over the
course of the instance's lifetime, have them set in an initializer funciton
20:19 < zimsim> I'd rather write code which does something and add tests
which prove it does it, than writing code which does nothing.
20:19 < zimsim> getters and setter do nothing
20:20 < iocor> zimsim: they often validate.
20:20 < zimsim> why?
20:21 < skelterjohn> there is a good reason to do that, in many cases
20:21 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
20:21 < exch> in some case they can be useful
20:21 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Client
Quit]
20:21 < skelterjohn> if you have a well-used library without validation,
eventually some crafty dev will think up a way to change the struct fields in a
weird way
20:21 < zimsim> And in many cases it is not
20:21 < exch> dont think they should be considered a standard practise
though
20:21 < skelterjohn> then you change your definition a bit
20:21 < skelterjohn> and the crafty dev code breaks
20:21 < skelterjohn> and they get mad
20:21 < skelterjohn> and it's just not worth the aggravation
20:23 < skelterjohn> C# had a nice way of doing this, where it looked like
you just set a member variable, but it could run some validation code to check
20:23 < skelterjohn> but lots of people, quite rightly, don't like it when
code runs when no code should run
20:24 -!- tensai_cirno [~cirno@77.232.15.216] has joined #go-nuts
20:25 < zimsim> I just know from my two years of programming experience,
when writing Java I wrote the highest quantity of code doing nothing.
20:25 < zimsim> or just doing things like Setting and Getting a variable.
20:25 < hopso> Oh wow, I just created my first web page ever.  From making a
gui for go application to playing
20:25 < hopso> around to an actual website.  :O
20:26 -!- arun__ [~arun@i172010.upc-i.chello.nl] has quit [Quit: Leaving]
20:26 < skelterjohn> i wish there was a nice way to make go guis
20:26 < skelterjohn> i tried installing gtk, but it didn't work
20:26 < skelterjohn> <- os x
20:29 < hopso> Everyone loves guis, it probably would attract at least some
more developers to try Go.
20:29 < zimsim> thats a bold statement.  "Everyone" is who exactly?
20:30 < skelterjohn> a quantifier not worth arguing over, that's who =p
20:30 < KirkMcDonald> I for one hate coding GUIs.  :-)
20:30 < zimsim> I think many do.  I agree with skelterjohn though.  Dont
want to start an argument.
20:31 < skelterjohn> even if i could have a reliable way to put pixels on
the screen that would work for all platforms
20:31 < skelterjohn> (exp/draw/x11 does not count)
20:31 < skelterjohn> then at least i could try my hand at making a portable
gui library
20:32 < KirkMcDonald> SDL bindings might be a thing.
20:32 < skelterjohn> i've had horrible luck getting any of that stuff to
work
20:32 < skelterjohn> i hear it works great on linux though
20:32 < KirkMcDonald> I've used SDL on Windows mostly, but I'd expect it to
work anywhere.
20:33 < hopso> The Go-SDL bindings had some problems on windows last time I
tried.
20:33 < KirkMcDonald> I've never used SDL in Go.
20:33 < skelterjohn> yeah it's not SDL in general - i've used it before and
it's nice
20:33 < skelterjohn> it's SDL + go
20:34 < KirkMcDonald> But it doesn't really do anything particularly clever,
as a library.  It is a straightforward C API.
20:34 < skelterjohn> SDL doesn't play nicely in some important ways
20:34 < skelterjohn> having to do with threading
20:34 < KirkMcDonald> Such as?
20:34 < KirkMcDonald> Ah.
20:34 -!- TheMue [~TheMue@p5DDF56C9.dip.t-dialin.net] has quit [Quit: TheMue]
20:34 < KirkMcDonald> Of course it would be that.
20:34 < skelterjohn> it *must* occupy the primary thread
20:34 < KirkMcDonald> skelterjohn: Ah, that's what SDL_main was all about,
wasn't it.
20:34 < exch> GLFW + opengl works as well.  No need for sdl
20:34 < skelterjohn> you cannot write a C program that runs SDL in a thread
that isn't main's
20:35 < skelterjohn> exch: I'd love to see it working on my machine :)
20:35 < KirkMcDonald> Does GLFW give input events, too?
20:35 < dforsyth> are you actually going to give writing a portable gui
library a shot?
20:35 < skelterjohn> i would if i could get a portable drawing library
20:36 < KirkMcDonald> GUI libraries are hard, let's go shopping.
20:36 < skelterjohn> i don't know how good i would be at it
20:36 < skelterjohn> probably "not very"
20:36 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed
the connection]
20:36 < exch> glfw does window handling (resizing, etc() and has input
handling (kb, mouse, joysticks)
20:36 < exch> nothing more than that really
20:36 < KirkMcDonald> exch: Those are good things.
20:36 < skelterjohn> exch: are you going to make your bindings public soon
20:36 < skelterjohn> ?
20:36 < exch> it does create an opengl context you can use with the opengl
bindings
20:37 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
20:37 < hopso> Building a gui library could be pretty educational project.
20:37 < exch> skelterjohn: I can put em on github now, but Im not sure it'l
be very useful yet.  There are a few functions which require callbacks to work
from C ->Go.  You can use it without those, but having em would be even better
20:37 < skelterjohn> first i'd just want to make a library for drawing
primitives
20:37 < hopso> Especially using channels.
20:38 < skelterjohn> exch: it'd be nice to experiment with, in any case
20:38 < skelterjohn> and feedback is always helpful :)
20:38 < exch> fair enough
20:38 < skelterjohn> what platform do you develop on?
20:39 < exch> linux
20:39 < exch> 64 bit
20:40 < skelterjohn> then i can at least tell you if it works on os x
20:40 < exch> https://github.com/jteeuwen/glfw there ya go
20:40 < exch> have fun :p
20:40 < skelterjohn> os x has this "nice" feature where the kernel is in
32bit, but you can run code in 64bit
20:40 < skelterjohn> do i need to install something else first to make it
work?
20:40 < plexdev> http://is.gd/AscBO9 by [Luuk van Dijk] in go/src/cmd/ld/ --
ld: fix dwarf decoding of strings for struct's fieldnames
20:40 < exch> libglfw itself would be good
20:40 < skelterjohn> like, glfw?  heh
20:41 < exch> one of the examples also uses banthar's Go-OpenGL
20:41 < skelterjohn> nothing about os x on its website that I see :\
20:41 < exch> for the actual drawing and all :p
20:41 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
20:42 < exch> If anyone can get the callback bits working, by all means send
a pull request :)
20:43 < exch> I've tried reading through some examples, but my head almost
exploded
20:43 -!- huin [~huin@91.85.185.181] has quit [Quit: leaving]
20:45 < skelterjohn> "ld warning: in /usr/local/lib/libglfw.a, file is not
of required architecture"
20:45 < skelterjohn> after installing glfw for cocoa according to
instructions that came with the source download :\
20:45 < skelterjohn> i bet it's the 32bit/64bit thing
20:46 < exch> possibly :<
20:46 < skelterjohn> frickan macs
20:46 < skelterjohn> i've tried building go for 32bit, before, but that
didn't work at all
20:52 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:54 -!- eikenberry [~jae@68.118.117.234] has joined #go-nuts
20:54 -!- imsplitbit [~imsplitbi@66.78.236.243] has joined #go-nuts
20:58 < skelterjohn> well, i got libglfw on my ubuntu machine, and exch's
glfw built fine
20:58 < skelterjohn> but then i tried to install Go-OpenGL (so the examples
could build)
20:58 < skelterjohn> and it isn't up to date with tip
20:59 < skelterjohn> but simplewindow runs
20:59 < skelterjohn> a little strangely...
20:59 < skelterjohn> when i expand the window, it appears to reuse whatever
was in the vram already to fill it in
21:00 < skelterjohn> and i'm getting bits from various web pages all stuck
together
21:00 < exch> O.o
21:01 < mpl> graphical obfuscation, new technique!  :)
21:01 < exch> tryig it myself now.  resizing works fine here
21:02 < skelterjohn> *shrug* i'm sure if i wanted to write a program, i'd
clear the draw buffer before using it
21:02 -!- iocor [~sam@unaffiliated/iocor] has quit [Remote host closed the
connection]
21:02 < exch> yes, that would generally be a good thing to do
21:04 -!- imsplitbit [~imsplitbi@66.78.236.243] has quit [Quit: Linkinus is
updating...]
21:04 < exch> that would be a gl.Clear() call, but simplewindow uses no
opengl stuff
21:04 -!- imsplitbit [~imsplitbi@66.78.236.243] has joined #go-nuts
21:06 < skelterjohn> right
21:10 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined
#go-nuts
21:11 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving]
21:12 < skelterjohn> alright, got the fsaa example working
21:12 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the
connection]
21:12 < exch> yay
21:12 < skelterjohn> and resizing that window has no strangeness :)
21:13 < skelterjohn> says "Context reports FSAA is unsupported" though
21:13 < skelterjohn> but it brought up a pair of spinning squares
21:13 < exch> if your vidcard doesnt support GL_MULTISAMPLE_ARB, it'll
gracefully degrade to using no multisampling
21:13 < exch> so the program will still run
21:14 < skelterjohn> i am running this remotely over X on my mac
21:14 < skelterjohn> so no surprise there
21:14 < exch> multisampling should give the right quad smooth(er) edges if
it's > 0
21:15 -!- snearch [~snearch@f053006112.adsl.alicedsl.de] has quit [Quit:
Verlassend]
21:17 < skelterjohn> what does GLFW stand for?  i can't find it on their
site
21:18 < skelterjohn> presumably graphics library f____ window?
21:18 < skelterjohn> funky?
21:18 -!- hypertux [~hypertux@vps1.joelegasse.com] has quit [Ping timeout: 240
seconds]
21:19 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
21:19 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
21:19 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
21:19 < exch> no idea
21:20 < exch> presumably something like 'opengl framework'
21:20 < skelterjohn> exch: is it possible to use your glfw package to draw a
bitmap to screen without using Go-OpenGL?
21:20 < skelterjohn> or any direct gl call?
21:20 < mpl> can anyone remind me what's the common idiom when assigning
from map, to check that the assignment worked (ie the key was valid)?
21:20 < exch> As far as I can gather, the window specifically creates an
OpenGL context
21:21 < exch> mpl: v, ok := mymap[key]
21:21 < skelterjohn> mpl: val, ok := m[k]
21:21 < mpl> ah, the ok thing, wasn't sure anymore.  thanks.
21:21 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Quit:
Geek insindeĀ®]
21:21 < exch> skelterjohn: If you want to display an image, just load it up
as a texture and slap it onto a simple quad
21:22 < mpl> a shame that isn't either in the map section or in the
assignment section of the spec.
21:22 < skelterjohn> i'm familiar with working opengl, in general
21:22 < exch> glfw doesnt have anything to do with that.  Probably a good
idea to just look up some opengl tuts
21:22 -!- virtualsue [~chatzilla@nat/cisco/x-yckxhdgavbrkjrcx] has joined #go-nuts
21:22 < skelterjohn> just trying to see how much i can bypass for some
simple things
21:22 < exch> k
21:22 < mpl> it's in indexes section
21:22 < mpl> always forget about that...
21:23 < skelterjohn> exch: I just feel like it's a good idea to limit the
amount of cgo interaction, if possible
21:23 < skelterjohn> so a library that uses glfw to implement the interfaces
in exp/draw would be great
21:23 -!- wrtp [~rog@92.17.67.64] has joined #go-nuts
21:23 < skelterjohn> though the image interface there has a bit to be
desired
21:24 < exch> yea, would indeed be nice
21:25 < skelterjohn> i'll see if i can manage that
21:32 -!- yiyus [1242712427@je.je.je] has quit [Ping timeout: 276 seconds]
21:32 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:32 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:33 -!- yiyus [1242712427@je.je.je] has joined #go-nuts
21:33 -!- tobier [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
quit [Read error: Connection reset by peer]
21:35 -!- Venom_X [~pjacobs@99.20.147.171] has quit [Quit: Venom_X]
21:39 -!- hypertux [~hypertux@vps1.joelegasse.com] has joined #go-nuts
21:52 < matti__> hi guys, i have a newbie question
21:52 < exch> lo
21:52 < matti__> if i add an element to a List
21:52 < aiju> do you mean a slice?
21:52 < matti__> container/list
21:52 < matti__> and then i retrieve the element
21:53 < matti__> how can i print out the element?
21:53 < aiju> fmt.Println(x)
21:53 < matti__> right now im just getting addresses as output
21:53 < exch> fmt.Printf("%v\n" x)
21:54 < exch> %+v and %#v give progressively more verbose output
21:54 < krutcha> is the element a pointer?
21:54 < matti__> oh ok, let me try those
21:54 < matti__> the element is a string
21:54 -!- hopso [~hopso@a91-152-176-165.elisa-laajakaista.fi] has quit [Remote
host closed the connection]
21:55 < aiju> could, by chance, you be using println?
21:55 < matti__> YES, i was using println
21:55 < aiju> you shouldn't use println
21:55 < matti__> is there a difference?
21:55 < matti__> ohh
21:55 < aiju> println is not official part of Go
21:55 < matti__> doh
21:55 < KirkMcDonald> Println doesn't have an 'f' in it.
21:55 -!- lazy1 [~miki@bzq-79-183-199-97.red.bezeqint.net] has left #go-nuts
["Ex-Chat"]
21:55 < aiju> println != fmt.Println
21:55 < KirkMcDonald> Ah.
21:55 < KirkMcDonald> Crazy builtins.
21:56 < aiju> println is, yeah, a crazy builtin not meant for production use
21:56 < matti__> oh darn...  i had no idea
21:56 < KirkMcDonald> It still doesn't have an 'f' in it.  :-)
21:56 < aiju> KirkMcDonald: haha
21:56 < aiju> matti__: println does fine for most stuff ..  but it outputs
just addresses for more complicated things
21:57 < matti__> aiju: that is good to know..  thank you for the tip
21:57 < zimsim> who added println, was that ken?
21:58 < aiju> zimsim: println is for debugging the library and such
21:58 -!- imsplitbit [~imsplitbi@66.78.236.243] has quit [Quit: Leaving...]
21:58 < zimsim> ah, right.
21:59 < zimsim> so its independent of any std funcs
21:59 < aiju> println also writes to standard error
21:59 < mpl> I'm too lazy to type anything else so I always use println
everywhere for debugging :)
21:59 < aiju> mpl: me too ;P
22:00 < skelterjohn> if you just want to output a message to see if
something reached a point in code, println is fine
22:01 < skelterjohn> but they say println may go one day
22:03 < wrtp> matti__: use elem.Value
22:03 < wrtp> e.g.  list.Front().Value
22:03 < skelterjohn> exch: can glfw operate only on a single window at a
time?
22:04 < zimsim> In tests using `log` library is pretty nice
22:04 < exch> skelterjohn: as far as I know, yea
22:05 * wrtp thinks that print and println should be part of the runtime package
22:05 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the
connection]
22:05 < exch> Is it even possible to get multiple hardware graphics contexts
at the same time, in any lib?
22:05 < wrtp> that way people wouldn't be endlessly confused about what
they're for, perhaps
22:06 -!- scyth [~scyth@rots.in.rs] has joined #go-nuts
22:06 < wrtp> exch: why not?
22:06 < wrtp> if you've got more than one graphics card
22:06 < exch> fair enough
22:06 < skelterjohn> i'm pretty sure that you can have more than one window
open at a time, anyway :)
22:08 < skelterjohn> wrtp: it's nice to have a print function for which you
don't have to explicitly add an import (and remove when you don't want to print
anymore)
22:09 < wrtp> skelterjohn: why should print be special?
22:09 < skelterjohn> because people use one-off print statements for
debugging
22:09 < wrtp> "it's nice be able to do X without an import" for any X
22:09 < skelterjohn> i said i find it convenient
22:11 < wrtp> of course it's convenient - something that means you don't
have to use an import is more convenient than something that does, but that
doesn't mean it should be used.
22:11 < skelterjohn> so don't use it
22:12 < wrtp> personally i think it's better to use log for things like that
- that way i can delete the log import when i want to stop debugging and the
compiler will tell me where my debug prints are
22:12 < skelterjohn> a number of languages have found it useful to have
print functions be special cased
22:12 < scyth> I'm with sj here :) at least there should be -nostrict
compile time option
22:12 < wrtp> the main reason for removing it is that newcomers find it
confusing
22:12 < skelterjohn> no compiler warnings
22:12 < skelterjohn> if it's worth warning about, it's worth fixing
22:12 < wrtp> e.g.  matti__ above: "oh darn...  i had no idea"
22:14 < wrtp> it wouldn't be too hard to write a little tool which produced
code that turned unused variables & imports into non-errors
22:14 -!- artefon [~thiago@189.59.135.192] has quit [Quit: bye]
22:15 < wrtp> skelterjohn: most languages that special-case print functions
do it because of the variable argument syntax AFAIK
22:16 < skelterjohn> python *shrug*
22:16 < wrtp> skelterjohn: case in point
22:16 < skelterjohn> print format % args
22:16 < skelterjohn> ?
22:16 < wrtp> actually, i'm thinking of the % operator there
22:16 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts
22:16 < wrtp> yeah, print is a special function isn't it?
22:17 < skelterjohn> not with respect to %
22:17 < skelterjohn> x = format % args
22:17 < wrtp> no, but print itself is
22:17 < skelterjohn> works anywhere
22:17 < skelterjohn> right
22:17 < wrtp> yeah
22:17 < skelterjohn> or if you move to python 3, print(format % args)
22:17 < skelterjohn> though i don't believe python 3 is catching on
22:17 < wrtp> presumably in python 3, print is no longer special
22:17 < skelterjohn> you don't have to import anything to get it
22:18 < wrtp> that's the reason it's special - it's not really a good
reason, except for low level stuff
22:18 < wrtp> particularly in go
22:19 < wrtp> problem is that people coming into the language think that
it's the thing to use to print stuff
22:19 < skelterjohn> well
22:19 < skelterjohn> it *does* print stuff
22:19 < wrtp> yeah, but in a limited way
22:19 < wrtp> and to stderr only
22:20 < wrtp> so it's not the "thing to use"
22:21 < KirkMcDonald> print in Python 2 is a statement, not a "special
function."
22:21 < KirkMcDonald> And yes, the % operator is a sprintf analog.
22:22 < KirkMcDonald> In newer Pythons, strings have a .format() method,
too.
22:22 < KirkMcDonald> "{foo} {bar}".format(foo=12, bar=20) # for example
22:22 < wrtp> KirkMcDonald: i bet everyone still uses % though :-)
22:22 < nickbp> luv %
22:23 < KirkMcDonald> Or: "{} {}".format(1, 2)
22:23 -!- dfr|mac [~dfr|work@nat/google/x-ghoavuzfsuorlzil] has quit [Remote host
closed the connection]
22:23 < KirkMcDonald> Or: "{1} {0}".format('a', 'b') == 'b a'
22:23 < skelterjohn> that sounds perfectly reasonable and not at all
confusing
22:24 < KirkMcDonald> It is a rich tapestry.
22:24 -!- dfr|mac [~dfr|work@nat/google/x-mnaiohczekuemlqs] has joined #go-nuts
22:24 < KirkMcDonald> And I didn't even start getting into format
specifiers.
22:25 -!- itrekkie [~itrekkie@ip72-200-105-157.tc.ph.cox.net] has joined #go-nuts
22:27 < aiju> oh god this reminds me of COMMON LISP format
22:27 < aiju> which does everything
22:27 < aiju> including english numbers, roman numerals, taking out the dog
and pancakes
22:28 < aiju> it's probably turing complete
22:28 -!- dfr|mac [~dfr|work@nat/google/x-mnaiohczekuemlqs] has quit [Ping
timeout: 240 seconds]
22:30 < skelterjohn> don't you ever find yourself not able to pluralize
words on your own?
22:31 -!- Project-2501 [~Marvin@82.84.91.105] has joined #go-nuts
22:31 < wrtp> aiju: yeah CL format is horrible.  but python's format doesn't
look nearly as bad.
22:31 -!- Pie`` [~pie@kjal.demon.co.uk] has joined #go-nuts
22:31 -!- krutcha [~krutcha@remote.icron.com] has quit [Quit: Leaving]
22:32 -!- katakuna [pie@kjal.demon.co.uk] has quit [Ping timeout: 252 seconds]
22:34 -!- Project_2501 [~Marvin@82.84.88.129] has quit [Ping timeout: 240 seconds]
22:34 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
22:36 -!- Soultaker [~Soultaker@hell.student.utwente.nl] has quit [Read error:
Connection reset by peer]
22:36 -!- Soultaker [~Soultaker@130.89.161.226] has joined #go-nuts
22:42 -!- imsplitbit [~imsplitbi@66.78.236.243] has joined #go-nuts
22:43 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
22:44 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Remote host closed the
connection]
22:45 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has quit [Quit: marten]
22:45 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
22:57 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has quit [Quit:
leaving]
23:03 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has joined #go-nuts
23:08 -!- wrtp [~rog@92.17.67.64] has quit [Quit: wrtp]
23:08 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Read
error: Operation timed out]
23:09 -!- boscop_ [~boscop@g227141251.adsl.alicedsl.de] has joined #go-nuts
23:10 -!- scyth [~scyth@rots.in.rs] has quit [Read error: Operation timed out]
23:10 -!- scyth [~scyth@rots.in.rs] has joined #go-nuts
23:11 -!- boscop [~boscop@g227114087.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
23:12 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
23:18 -!- _xizor [~Xizor@aqu33-7-78-232-32-5.fbx.proxad.net] has quit []
23:27 < Glasswalker> what does "Cannot Refer to Unexported Name" mean
(referring to a function in a package I wrote).  I didn't know I had to explicitly
export things..
23:27 < Glasswalker> (the odd part is this worked before, but I reorganized
my folder structure, now it's throwing this...  Doesn't error on the import, but
throws that error instead)
23:28 < cbeck> Glasswalker: what's the name?
23:29 < exch> functions, types, fields, constants, etc all need to start
with a capital letter if you want them to be public (eg available from an external
package)
23:30 < Glasswalker> AHH
23:30 < Glasswalker> lmao that's a bit obscure, but good to know
23:30 < Glasswalker> :)
23:30 -!- jesusaurus [jesusaur@firefly.cat.pdx.edu] has left #go-nuts ["WeeChat
0.3.2"]
23:30 < Glasswalker> All of my "newSomething" functions (factories for my
types) are lower case n
23:30 < exch> It's very elegant really.  The name of a function not only
tells you the name, but immediately also tells you it's access modifiers
23:31 < exch> you dont have to look for silly keywords like public, private,
protected, and whatever other nonsense there is out there
23:33 -!- jgonzalez [~jgonzalez@173-14-137-134-NewEngland.hfc.comcastbusiness.net]
has quit [Ping timeout: 276 seconds]
23:36 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping
timeout: 246 seconds]
23:43 < Glasswalker> Here's another one...  So how do I convert an int
value, into it's numerical string equivalent?
23:43 < Glasswalker> I tried string(myint) but that gives me a random
character (assuming character value)
23:43 -!- lmoura [~lauromour@187.113.73.226] has quit [Read error: Connection
reset by peer]
23:44 -!- Project-2501 [~Marvin@82.84.91.105] has quit [Ping timeout: 240 seconds]
23:45 < Glasswalker> nevermind, just found strconv package
23:45 -!- lmoura [~lauromour@186.215.206.130] has joined #go-nuts
23:45 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
23:45 < exch> that converts strings to other types
23:45 < exch> fmt.Sprintf("%d", 1234) yields a string
23:50 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:50 < Glasswalker> Actually strconf includes conversion into string from
int
23:50 < Glasswalker> err conv
23:51 < Glasswalker> Another questin though, in this code:
http://www.pastie.org/1784908
23:51 < Glasswalker> it appears to be blocking on the read from the
server.Quit channel
23:52 < exch> try _, ok = <- server.Quit
23:52 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts
23:52 -!- daharon [~daharon@173-11-102-86-SFBA.hfc.comcastbusiness.net] has left
#go-nuts ["Leaving"]
23:52 < exch> actually.  not sure if that helps
23:52 < exch> it used to, but some of those mechanics have changed
23:52 < Glasswalker> Hmm
23:52 < exch> ok will tell you if the chan is closed or not
23:52 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Client
Quit]
23:53 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:53 < exch> the break is unneccesary btw
23:53 < Glasswalker> ?
23:53 < exch> *unnecessary
23:53 < Glasswalker> the break is meant to break out of the for
23:53 < Glasswalker> not the select
23:54 < exch> ah.  not sure if it will.  Chances are it only breaks out of
the select.  I should try
23:54 < Glasswalker> Hmm
23:54 < exch> you can do a labeled break.  put 'loop:' just above the 'for
{' bit and then use 'break loop'
23:54 < Glasswalker> so any thought on how I can achieve what I'm attempting
to do there?  (which is when signal received on the Quit channel, drop out of that
for loop, otherwise execute code in default:)
23:55 -!- foocraft [~dsc@89.211.233.19] has quit [Ping timeout: 240 seconds]
23:56 -!- imsplitbit [~imsplitbi@66.78.236.243] has quit [Quit: Bye!]
23:56 -!- vsayer [~vivek@c-98-248-228-200.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
23:57 -!- Scorchin [~Scorchin@host109-158-112-82.range109-158.btcentralplus.com]
has quit [Quit: Scorchin]
--- Log closed Tue Apr 12 00:00:50 2011