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

--- Log opened Thu Jun 09 00:00:53 2011
00:01 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Ping timeout: 255 seconds]
00:04 < _nil> hey andrew
00:05 -!- tvw [~tv@e176006185.adsl.alicedsl.de] has quit [Remote host closed the
connection]
00:08 < _nil> adg: working on finishing up go for jslinux stuffs
00:08 < _nil> it's a mess.
00:10 < skelterjohn> why does jslinux exist?
00:12 < _nil> ?
00:12 < _nil> seriously?
00:13 < _nil> i'm way to sick to answer that atm
00:13 < _nil> haha
00:13 -!- niemeyer [~niemeyer@201-40-174-53.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
00:13 -!- niemeyer [~niemeyer@201-11-242-14.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
00:14 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
00:15 -!- mehalelal [~mehalelal@76.103.175.11] has joined #go-nuts
00:24 -!- foocraft_ [~ewanas@89.211.214.224] has quit [Quit: Leaving]
00:27 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
00:29 -!- shvntr [~shvntr@119.121.31.56] has quit [Quit: leaving]
00:32 -!- xash [~xash@d025196.adsl.hansenet.de] has quit [Quit: Lost terminal]
00:33 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has quit [Quit:
Leaving...]
00:34 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has joined #go-nuts
00:35 -!- SirPsychoS [~sp@64.80.128.39] has joined #go-nuts
00:37 < SirPsychoS> Is the lack of dynamic linking in the Go compiler/tools
a conscious decision based on the sorts of things described here:
http://harmful.cat-v.org/software/dynamic-linking/ ?
00:39 < SirPsychoS> (especially since Rob Pike, author of the first
anti-dynamic-linking post on that page, is one of the main people behind Go)
00:46 < str1ngs> SirPsychoS: I think you are taking that out of context
00:46 < str1ngs> SirPsychoS: please see
http://golang.org/doc/go_faq.html#Why_is_my_trivial_program_such_a_large_binary
00:47 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
00:47 -!- franciscosouza [~francisco@187.105.21.125] has quit [Read error:
Connection reset by peer]
00:47 < str1ngs> SirPsychoS: which is under Implementation.  if you would
like some limited dynamic linking support you can use gccgo
00:47 < str1ngs> which is another implementation if you will
00:47 -!- chomp [~chomp@c-67-186-35-69.hsd1.pa.comcast.net] has joined #go-nuts
00:48 < SirPsychoS> str1ngs: I'm not asking for dynamic linking - in fact
after reading around I'm becoming monotonically more convinced that it's not a
good thing
00:48 -!- franciscosouza [~francisco@187.105.21.125] has joined #go-nuts
00:48 < str1ngs> understand
00:48 < str1ngs> I*
00:48 < SirPsychoS> (previously I was perfectly unopinionated on it, other
than the default "oh, it's everywhere, so it must be fine")
00:49 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
00:51 < skelterjohn> imagine everything in /usr/bin built with static
linking
00:51 < str1ngs> I'm not really for or against either.  but It's quite
possible that as the language matures static binaries my not scale that well
00:51 < skelterjohn> how big would that directory be?
00:52 < chomp> but i want 5000 copies of libc
00:52 < SirPsychoS> skelterjohn: there _would_ be a lot of duplication - but
apparently Plan9's cat (statically linked) weighs in at 22K compared to GNU
dymically linked cat at 20K
00:53 < skelterjohn> cat is not an awesome example
00:53 < SirPsychoS> chomp: only the code you actually use gets copied into
the binary in static linking
00:53 < skelterjohn> it doesn't really need much in the way of libs
00:53 < SirPsychoS> skelterjohn: very true
00:53 < chomp> SirPsychoS, aye, was just kidding.  i like static linking
00:53 < SirPsychoS> k
00:53 < skelterjohn> i think static linking is a good thing, and i don't
mind even having it as the default
00:54 < chomp> releasing a dynamically linked windows app can be a nightmare
00:54 < SirPsychoS> skelterjohn: also, GNU cat has way more {feature bloat,
useful things} than plan9 cat
00:54 < skelterjohn> but (i believe) either go will always be experimental,
or it will get dynamic linking one day
00:54 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has quit [Ping timeout: 255
seconds]
00:55 < SirPsychoS> I feel like dynamic linking could be made non-evil, if a
few geniuses threw themselves behind a good implementation
00:55 < SirPsychoS> but I'm getting the impression that everything we have
right now is voodoo magic
00:57 < skelterjohn> doesn't seem very voodooey to me
00:57 < skelterjohn> not doing things like dynamic linking keeps it very
simple
00:58 -!- iant [~iant@67.218.107.72] has quit [Quit: Leaving.]
00:59 < SirPsychoS> I meant the current implementation of dynamic linking
01:00 < skelterjohn> oh gotcha
01:00 < SirPsychoS> yeah there's no voodoo in Go whatsoever
01:00 < SirPsychoS> that's why I love it
01:04 -!- rcrowley [~rcrowley@208.106.28.36] has quit [Quit: Computer has gone to
sleep.]
01:10 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
01:11 -!- chomp [~chomp@c-67-186-35-69.hsd1.pa.comcast.net] has quit [Quit:
Leaving]
01:21 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
01:23 -!- dj2 [~dj2@CPE001f5b35feb4-CM0014048e0344.cpe.net.cable.rogers.com] has
joined #go-nuts
01:30 -!- mehalelal [~mehalelal@76.103.175.11] has quit [Remote host closed the
connection]
01:41 -!- Bigbear1 [~Cody@d173-181-43-12.abhsia.telus.net] has joined #go-nuts
01:43 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
01:48 -!- Zoopee [alsbergt@zoopee.org] has quit [Ping timeout: 252 seconds]
01:51 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
02:02 < tav> jnwhiteh: sorry, hadn't noticed it wasn't being synced.
usually, some people email me and i tend to fix it.  thanks for the heads up!
it's running again now
02:04 -!- niemeyer [~niemeyer@201-11-242-14.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
02:08 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Read error:
Operation timed out]
02:12 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts
02:20 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 255
seconds]
02:25 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
02:30 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
02:55 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has quit [Quit:
Leaving...]
02:57 -!- Bigbear1 [~Cody@d173-181-43-12.abhsia.telus.net] has left #go-nuts []
03:11 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has joined
#go-nuts
03:15 -!- chaos95 [chaos95@mafianode.com] has quit [Remote host closed the
connection]
03:16 -!- ptrb [~peter@archimedes.bourgon.org] has quit [Ping timeout: 244
seconds]
03:16 < manveru> anybody around who can help me with bit fiddling?
03:16 -!- chaos95 [~chaos95@mafianode.com] has joined #go-nuts
03:16 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 255 seconds]
03:17 < manveru> i've got a []int8 slice and need to extract data from that
03:19 < manveru> http://tools.ietf.org/html/rfc1035#section-4.1.1
03:19 < manveru> that's the layout
03:20 < manveru> so to get the id, i use `var id int32; err =
binary.Read(reader, binary.LittleEndian, &id)`
03:20 < manveru> uh, that should be int16...
03:21 < manveru> maybe uint16 even
03:21 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
03:22 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
03:22 < manveru> but for the next data, i think i need something like
bitmasks
03:22 < manveru> or is there a more straight-forward way to read a single
bit as an int?
03:23 < kevlar> hey.  give me a sec to read up.
03:23 < manveru> sure :)
03:23 < kevlar> okay, so for one, don't use int* for bit twiddling
03:23 < kevlar> sign bits are nasty
03:24 < manveru> i switched to uint16
03:24 < kevlar> works
03:24 < manveru> can't be negative anyway
03:24 < kevlar> well, it's doing shifts and masks with sign extension that
gets nasty
03:25 < kevlar> you can assign to a signed int later if the value itself is
supposed to be signed and do the sign conversion yourself if it's a bigger int
than the value.
03:25 -!- ptrb [~peter@archimedes.bourgon.org] has joined #go-nuts
03:25 < manveru> right
03:25 < manveru> is using encoding/binary the right way to read this in the
first place?
03:25 < kevlar> so, actually, I would personally read in a [6*2]uint8
03:26 < kevlar> ID isn't an integer, so you don't really want/need
encoding/binary
03:27 < manveru> ok
03:28 -!- keithcascio [~keithcasc@nat/google/x-odmhkbsnufsnzddl] has quit [Quit:
Leaving]
03:29 < manveru> but to get QR?
03:30 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has joined
#go-nuts
03:30 < manveru> i assume i have to get that with encoding/binary and shr 7?
03:30 < manveru> in an uint8
03:32 < manveru> but i was thinking i need masks since i don't know how to
get opcode using shifts
03:33 -!- Transformer [~Transform@ool-4a59e397.dyn.optonline.net] has left
#go-nuts []
03:33 < kevlar> I'd go with something like this:
03:33 < kevlar> https://gist.github.com/1016001
03:34 < manveru> uhm
03:34 < manveru> they're bits, not bytes
03:34 < manveru> one line in the diagram is 16 bit
03:35 -!- Cork[home] [Cork@firefox/community/cork] has quit [Disconnected by
services]
03:35 -!- unCork[home] [Cork@h83n1c1o1042.bredband.skanova.com] has joined
#go-nuts
03:35 < manveru> unless i missed the way your code works
03:36 < kevlar> refresh
03:36 < kevlar> we're not making a bitmapped struct like in C, you just want
to make the most efficient use of your memory
03:37 < kevlar> the things that aren't byte-aligned just get extracted.
03:37 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has quit
[Quit: Textual IRC Client: http://www.textualapp.com/]
03:37 < manveru> oh, k
03:38 < kevlar> oh, I added in the last flag.  I thought there were more,
lol.
03:38 < manveru> and another thing
03:38 < kevlar> what's this decoding, anyway?
03:38 < kevlar> doesn't Go already have DNS?
03:39 < manveru> it's for a tiny dnsd i need
03:39 < manveru> hm, no idea
03:40 < |Craig|> http://golang.org/src/pkg/net/dnsmsg.go
03:41 < manveru> wow
03:41 < |Craig|> see the net package for docs and some other stuff:
http://golang.org/pkg/net/
03:42 < manveru> would be neat to have that in a separate package
03:43 < manveru> it doesn't show up in the net docs at all
03:44 < manveru> it's all private
03:45 < manveru> wtf
03:45 < kevlar> manveru: those are used for the Lookup* functions
03:45 < manveru> yeah
03:45 < manveru> but they even say in the docs that this should be its own
package
03:46 < kevlar> write up a CL :D
03:46 < manveru> common lisp?
03:46 < kevlar> change list.
03:47 < manveru> what's that?
03:47 < kevlar> you make a change to the Go source and then the changes get
gathered up and sent to the developers for review, and if they like it they
include it.  (there's some back-and-forth in between that's been elided for
brevity)
03:47 < manveru> oh, a patch?
03:48 < kevlar> more or less
03:48 < kevlar> (more, actually.)
03:48 < kevlar> it includes the files, descriptions of the change,
reviewers, and then comments go back and forth from the code review server and you
can make changes to your changes.
03:48 < manveru> meh, can't they just use github :P
03:49 < kevlar> googlecode, actually.
03:49 < kevlar> and reitveld for code reviews.
03:49 < kevlar> getting pull requests from all of the developers on github
would be impossible.
03:50 < manveru> yeah, i'll just file an issue and let them do it
03:50 < dforsyth> last night i asked if something like func fn(p structT)
*structT { return &p } is safe and someone told me they thought it was
03:50 < kevlar> that probably means it won't get done, lol
03:50 < manveru> http://golang.org/doc/contribute.html looks just crazy
03:50 < kevlar> dforsyth: it depends what you mean by safe
03:51 < kevlar> the struct you're addressing won't get garbage collected, if
that's what you're asking
03:51 < dforsyth> kevlar: as in, can i rely on the returned pointer forever.
i assume no
03:51 < kevlar> but you can't use the returned pointer in more than one
goroutine without locking it.
03:51 < manveru> dforsyth: as long as you have the pointer, the object you
point to won't be GC'd
03:52 < dforsyth> so that copy is not on the stack, its allocated and left
to be cleaned up by the gc?
03:52 < kevlar> technically it's neither
03:52 < manveru> :)
03:52 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts
03:53 < kevlar> the reference is collected in the closure, which points to
the struct, so it won't be garbage collected until all instances of the closure
are collected
03:53 < kevlar> as well as all of the references you got by calling the
closure
03:53 < kevlar> basically, everything you allocate is left on the heap
03:53 < kevlar> the only time it isn't is when it's allocated and its
address is never taken
03:54 < dforsyth> so if i was to call this like: p := fn(s), i would get a
copy of s that would be reliable?
03:54 < kevlar> of course.
03:54 < kevlar> Unless you're using cgo or unsafe, never worry about the GC
deleting something you're using.
03:55 -!- message144 [~message14@pool-98-112-179-26.lsanca.fios.verizon.net] has
quit [Quit: gone]
03:55 < kevlar> just trust.
03:55 < dforsyth> well i was more worried about losing it to teh stack after
returning from the function
03:56 < kevlar> like I said
03:56 < kevlar> don't worry about it.
03:56 < dforsyth> :)
03:56 < kevlar> If you're using it, no matter how you get it, it will work.
03:56 < kevlar> It's not like C.
03:56 < dforsyth> which is where im getting my reference from
03:56 < dforsyth> cool
03:56 < dforsyth> i am happy \o/
03:56 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
03:58 < dforsyth> thanks kevlar
03:58 < kevlar> no problem :)
03:59 < |Craig|> dforsyth: as long as you don't use the unsafe package, or
have concurrent reads and writes things containing pointers, you will have memory
safety
04:00 < kevlar> |Craig|: also, cgo.
04:02 < |Craig|> and hardware failure...
04:03 < dforsyth> im just sort of weirded out because im not explicitly
allocating this
04:03 < dforsyth> how does go know not to put this on the stack?
04:03 < |Craig|> dforsyth: its clever :)
04:03 < |Craig|> anything you take the address of gets heap allocated I
think
04:03 < dforsyth> fancy
04:04 < |Craig|> not performance optimal in all cases, but it will never
cause memory safty issue
04:04 < dforsyth> i dig it
04:08 -!- bytbox [~s@96.26.105.154] has quit [Read error: Connection reset by
peer]
04:08 -!- bytbox [~s@96.26.105.154] has joined #go-nuts
04:10 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:10 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:13 -!- SirPsychoS [~sp@64.80.128.39] has quit [Ping timeout: 260 seconds]
04:19 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has joined
#go-nuts
04:26 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
04:31 -!- elimisteve [~elimistev@ec2-50-16-219-29.compute-1.amazonaws.com] has
quit [Remote host closed the connection]
04:33 -!- elimisteve [~elimistev@ec2-50-16-219-29.compute-1.amazonaws.com] has
joined #go-nuts
04:37 -!- boscop [~boscop@f055129094.adsl.alicedsl.de] has quit [Ping timeout: 255
seconds]
04:38 -!- boscop [~boscop@unaffiliated/boscop] has joined #go-nuts
04:47 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has quit
[Quit: Computer has gone to sleep.]
04:47 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Ping
timeout: 240 seconds]
04:47 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
04:47 -!- mode/#go-nuts [+v iant] by ChanServ
04:48 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 252 seconds]
04:53 < jessta_> dforsyth: you'll notice that Go doesn't actually have the
concepts of a stack and heap
04:54 < vsmatck> Go people should just forget about heap vs stack.  It's
going to depend on how smart the compiler is and if you care about that level of
performance you should use C++.
04:54 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
04:54 * vsmatck goes to sleep.
04:55 -!- alc [~arx@222.128.151.100] has joined #go-nuts
04:56 < jessta_> there is a call stack, but in terms of data there is no
mention of heap and stack in the spec
04:56 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts
04:56 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
04:59 -!- alc [~arx@222.128.151.100] has quit [Remote host closed the connection]
05:00 -!- rputikar [~240182H@134.7.204.73] has joined #go-nuts
05:00 -!- rputikar [~240182H@134.7.204.73] has quit [Client Quit]
05:02 -!- alc [~arx@222.128.151.100] has joined #go-nuts
05:02 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 258 seconds]
05:03 -!- iant [~iant@216.239.45.130] has joined #go-nuts
05:03 -!- mode/#go-nuts [+v iant] by ChanServ
05:03 -!- alc [~arx@222.128.151.100] has quit [Client Quit]
05:05 -!- alc [~arx@222.128.151.100] has joined #go-nuts
05:05 -!- alc [~arx@222.128.151.100] has quit [Client Quit]
05:05 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 250 seconds]
05:06 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
05:06 -!- alc [~arx@222.128.151.100] has joined #go-nuts
05:07 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:21 -!- danilo04 [~danilo04@66.44.228.140] has joined #go-nuts
05:21 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Read error:
Connection reset by peer]
05:22 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
05:26 -!- danilo04 [~danilo04@66.44.228.140] has quit [Ping timeout: 240 seconds]
05:29 < meatmanek> dforsyth: donut-force?
05:54 < dforsyth> meatmanek: i am
05:55 < meatmanek> funny running into you here
05:55 < dforsyth> not really
05:55 < dforsyth> who are you.
05:55 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
05:55 < meatmanek> Evan Krall
05:56 < dforsyth> jessta_: from "go for cpp programmers": "Go has a builtin
function new which takes a type and allocates space on the heap"
05:56 < dforsyth> stop following me evan
05:56 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
05:57 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts
06:10 < jessta_> dforsyth: but that's not in the spec, new() isn't required
to do that
06:11 < jessta_> new() could allocate space anywhere
06:11 < meatmanek> it couldn't realistically allocate space on the stack
06:12 < jessta_> it could if the allocation doesn't escape
06:15 < dforsyth> jessta_: yeah, i get what you're saying.  i was just sort
of making assumptions from previous knowledge.  i dont have a problem with the way
any of this works, i just wanted to make sure the stuff i had played around with
was actually working and i wasnt just getting lucky
06:17 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
06:18 < jessta_> just pointing out that the reason it works is that the spec
gives no reason why it shouldn't work
06:18 -!- vpit3833 [~user@203.111.33.203] has quit [Remote host closed the
connection]
06:19 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has quit [Ping timeout:
260 seconds]
06:28 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has joined #go-nuts
06:36 -!- noodles775 [~michael@e178252125.adsl.alicedsl.de] has joined #go-nuts
06:36 -!- noodles775 [~michael@e178252125.adsl.alicedsl.de] has quit [Changing
host]
06:36 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
06:40 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has joined #go-nuts
06:41 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection]
06:44 -!- photron [~photron@port-92-201-79-87.dynamic.qsc.de] has joined #go-nuts
06:49 -!- alehorst [~alehorst@187.58.246.160] has quit [Quit: Leaving.]
06:58 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has joined #go-nuts
07:05 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
07:07 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
07:08 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:09 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has quit [Quit:
rputikar]
07:12 -!- ronnyy [~quassel@p4FF1C419.dip0.t-ipconnect.de] has joined #go-nuts
07:14 -!- ronnyy [~quassel@p4FF1C419.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
07:16 -!- segy [~segfault@pdpc/supporter/active/segy] has quit [Ping timeout: 276
seconds]
07:17 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-168-114.clienti.tiscali.it] has
joined #go-nuts
07:34 -!- harblcat [harblcat@c-76-23-80-99.hsd1.in.comcast.net] has joined
#go-nuts
07:35 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Remote host closed the
connection]
07:41 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds]
07:47 -!- prip [~foo@host92-220-dynamic.45-79-r.retail.telecomitalia.it] has quit
[Ping timeout: 260 seconds]
07:49 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
07:57 -!- harblcat [harblcat@c-76-23-80-99.hsd1.in.comcast.net] has left #go-nuts
[]
08:07 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 260 seconds]
08:09 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
08:16 -!- marko__ [~marko@marko.isti.cnr.it] has joined #go-nuts
08:16 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 250 seconds]
08:18 -!- mikespook1 [~mikespook@219.137.255.110] has quit [Quit: Leaving.]
08:18 -!- noodles775 [~michael@g225132174.adsl.alicedsl.de] has joined #go-nuts
08:18 -!- noodles775 [~michael@g225132174.adsl.alicedsl.de] has quit [Changing
host]
08:18 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
08:21 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping
timeout: 255 seconds]
08:29 -!- edwin [~edwin@79.114.67.91] has joined #go-nuts
08:31 < edwin> hi, is it a known bug that gccgo doesn't compile the last
example in effective go?
08:31 < edwin> http://paste.debian.net/119282/
08:31 < edwin> is it a bug in the example, or a bug in gccgo?
08:32 < str1ngs> edwin: what version of gccgo?
08:32 < str1ngs> 4.6?
08:33 < edwin> 4.6.1
08:33 < edwin> gcc version 4.6.1 20110604 (prerelease) (Debian 4.6.0-11)
08:34 < edwin> I think thats the latest, isn't it?
08:35 < str1ngs> yes but it probably lags behind the 4.7 snapshot.  which
seems to have more upto date stdlib
08:38 < edwin> ah its using a different stdlib than golang?
08:39 < edwin> so should I use 6g/6l while learning Go, and wait for gccgo
4.7 to start using gccgo?
08:39 < str1ngs> no same just lags behind some.  there are some tweaks but
not many
08:39 < str1ngs> gc otherwise know as 6g is always more upto date
08:41 < edwin> ok, will use that and come back to gccgo later
08:41 -!- wrtp [~rog@92.23.127.186] has joined #go-nuts
08:41 < str1ngs> I have a package for gcc 4.7 but wont help you much its for
archlinux
08:42 < edwin> does it compile that code correctly?
08:42 < str1ngs> not sure I need to rebuild that package.  but my guess is
it would
08:43 < uriel> edwin: you might want to check with iant, he is usually
around here
08:44 < str1ngs> edwin: if you get the source for 4.6.1 and check the
libgo/MERGE . it will give you an idea
08:45 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
08:45 < str1ngs> edwin: the MERGE contains the sha1 from the go hg repo its
synced from
08:46 < edwin> 559f12e8fcd5
08:46 < str1ngs> so around January
08:47 < str1ngs> which in go terms is along time ago :P
08:47 < vegai> why not use 6g/6l and not gcc at all?  :P
08:47 < edwin> thats what I'll do for now, but I was also curious about how
fast/slow Go is
08:48 < edwin> where I'd expect gcc to be better
08:48 < vegai> what are coding, if I may ask?
08:50 < edwin> I just started reading the tutorial
08:50 -!- virtualsue [~chatzilla@nat/cisco/x-wojgnparaeaoobag] has joined #go-nuts
08:50 < edwin> so really just trying out what Go can do, and what its good
for
08:50 < squeese> tutorial now, singularity next!!
08:51 < edwin> btw the various docs/tutorials could use some syntax
highlighting for the Go code, or at least making the keywords/braces etc.  bold to
make it easier to "visually parse"
08:52 < edwin> does godoc support that?
08:52 < str1ngs> edwin: 4.7 is sync to around May 09
08:52 < str1ngs> so its quite abit closer to gc
08:53 < str1ngs> edwin: syntax highlighting no
08:54 < str1ngs> you could possibly make your own filter though.  I just got
use to using at is
08:55 -!- micrypt [~micrypt@02ddac93.bb.sky.com] has quit [Ping timeout: 240
seconds]
08:58 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has quit [Ping timeout: 244
seconds]
09:03 -!- fvbommel [~fvbommel_@131.155.71.82] has joined #go-nuts
09:04 < edwin> yikes, Go's http server just crashed on the wiki tutorial
09:04 < edwin> http://paste.debian.net/119286/
09:05 < edwin> thats with 2011.06.02 version
09:05 < edwin> http://paste.debian.net/119287/
09:05 < edwin> and with golang 57.1
09:09 < str1ngs> ie http://localhost:8080/doc/codelab/wiki ?
09:09 < str1ngs> that the right link?
09:13 < edwin> http://golang.org/doc/codelab/wiki/
09:13 < edwin> "Using http to serve wiki pages"
09:13 < edwin> http://golang.org/doc/codelab/wiki/part2.go
09:14 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
09:14 < str1ngs> I'm useing tip doesnt crash here
09:15 < str1ngs> well panic I should say :P
09:15 < edwin> panics when I go to http://localhost:8080/view/test
09:15 < edwin> echo "Hello world" > test.txt
09:15 < edwin> and did that too
09:15 < edwin> with 6g btw, not 8g
09:15 < str1ngs> this is your own code?
09:16 < str1ngs> main.viewHandler /home/edwin/gotut/wiki/wiki.go:34
09:17 < edwin> wiki.go is part2.go
09:17 < edwin> let me try using exactly part2.go
09:17 < str1ngs> p, _ := loadPage(title)
09:18 < str1ngs> change that to p, err := loadPage(title)
09:18 < edwin> ok, remove test.txt from the directory
09:18 < edwin> and then it panics
09:18 < edwin> if test.txt is there it doesn't
09:18 -!- mnemoc [~amery@shell.opensde.net] has joined #go-nuts
09:18 < str1ngs> read what I said
09:18 < str1ngs> then check err
09:19 < str1ngs> p, err := loadPage(title); if err != nil {
fmt.Fprintf(w,err.String()); return }
09:19 < edwin> os.PathError open test.txt: no such file or directory
09:19 < str1ngs> something like that
09:20 < edwin> ok so it was lack of error checking in this part of tutorial
(guess it adds eror checking later)
09:20 < str1ngs> possibly or its left out for simplicty
09:21 < str1ngs> rule of thumb for you though.  is alwasy handle err :P
09:21 < edwin> yep :)
09:21 < edwin> so that runtime panic is just like a NullPointerException in
Java
09:21 < edwin> its not a bug in Go
09:22 < edwin> its a bug in the program
09:22 < str1ngs> its not a bug no
09:22 < str1ngs> you can handle panics.  but generally the come from things
like this were something is nil.  where a err is not being handled
09:23 < str1ngs> you will get use to it.
09:25 < edwin> yeah will probably have to handle it for a real webapp
09:25 < edwin> so a panicing page doesn't take down entire server
09:25 < str1ngs> right see recover for that
09:26 < str1ngs> recover*
09:26 < str1ngs> but like I said if you handle err properly its rare you
will get them.
09:29 < mpl> edwin: adg addressed that issue (on how to handle those errors)
in there: http://golang.org/doc/talks/io2011/Writing_Web_Apps_in_Go.pdf
09:30 < edwin> thanks
09:30 < mpl> basically he panics everywhere there's an error and then send
that to a wrapping func that checks if it can be recovered or not.
09:32 < mpl> edwin: it's exactly what I did for my app with those changes:
http://code.google.com/p/gogallery/source/detail?r=c0357e0e2edad395080d534d3edd3794da03cee2
09:36 < str1ngs> mpl:
http://code.google.com/p/gogallery/source/browse/main.go#375 you declare err
further up.  and I guess db somewhere else?
09:38 < str1ngs> http://code.google.com/p/gogallery/source/browse/sql.go#15
09:38 < str1ngs> mpl: ya so there both declared already.  why you cant use
:+
09:38 < str1ngs> :=
09:39 < str1ngs> you might have figured that out.  just stumbled on the
comment
09:39 < mpl> hmm
09:39 < mpl> that seems obvious but at the time I wrote it I think something
else was bothering me
09:40 < mpl> ah yes now I remember
09:40 < str1ngs>
http://code.google.com/p/gogallery/source/browse/main.go#367 err is declared there
09:40 < mpl> str1ngs: I declared err above _because_ I got an error when
trying to use :=, not the other way around.
09:40 < str1ngs> right
09:41 < str1ngs> sometimes you have to declare like that it is rare though
09:41 < mpl> so my question still stands
09:43 -!- kevlar [~kevlar@unaffiliated/eko] has quit [Quit: This computer has gone
to sleep]
09:43 < mpl> if I comment out the err declaration and try to use := below,
I'll get an error, that's what I don't get.
09:43 < str1ngs> because db is already declared
09:44 < mpl> so what, I thought as long as at least one of them was not, one
could use :=, no?
09:46 < str1ngs> tends to be the case but not always.
09:46 < str1ngs> scope can be a factor also
09:47 < str1ngs> I cant seem to replicate it in a simple test ;(
09:48 < mpl> yeah nm.  I try not to use := with multiple vars anymore
anyway, shadowing is too dangerous imho.
09:49 < str1ngs> ya might be for the best.  but there are case where you
cant use := anyways just cant thing of a better situation
09:50 < str1ngs> I'll be falling asleep and something will come to mind
watch :P
09:57 -!- shvntr [~shvntr@119.121.31.56] has joined #go-nuts
10:04 -!- sacho [~sacho@90.154.206.145] has joined #go-nuts
10:14 -!- franciscosouza [~francisco@187.105.21.125] has quit [Read error:
Connection reset by peer]
10:15 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has joined #go-nuts
10:18 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
10:20 -!- prip [~foo@host80-120-dynamic.42-79-r.retail.telecomitalia.it] has
joined #go-nuts
10:21 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 244 seconds]
10:24 -!- franciscosouza [~francisco@187.105.21.125] has joined #go-nuts
10:35 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
10:41 -!- Sisten [~Sisten@s213-103-208-147.cust.tele2.se] has joined #go-nuts
10:51 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
10:53 -!- alehorst [~alehorst@187.58.246.160] has joined #go-nuts
11:10 -!- jemeshsu [~jemeshsu@bb220-255-88-127.singnet.com.sg] has quit [Quit:
jemeshsu]
11:19 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
11:34 -!- sacho [~sacho@90.154.206.145] has quit [Read error: Connection reset by
peer]
11:36 -!- tncardoso [~thiago@189.59.160.5] has joined #go-nuts
11:39 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
11:44 -!- creack [~charme_g@163.5.84.203] has quit [Ping timeout: 246 seconds]
11:49 -!- segy [~segfault@mail.hasno.info] has joined #go-nuts
11:49 -!- segy [~segfault@mail.hasno.info] has quit [Changing host]
11:49 -!- segy [~segfault@pdpc/supporter/active/segy] has joined #go-nuts
11:58 -!- creack [~charme_g@163.5.84.203] has joined #go-nuts
12:03 < xyproto> wrtp: thanks a lot for the tip about the CIE colorspace and
the updated color-mix code.  I'll take a look at both :)
12:06 < wrtp> xyproto: having read a bit more about it, i'm no longer sure
about the CIE colorspace...
12:07 < wrtp> xyproto: as the reply to your stackoverflow question says,
there's not really a good way of doing what you're after
12:07 < wrtp> blue + yellow does not mix to green...
12:08 < wrtp> (even with paint)
12:08 < wrtp> what are you trying to do anyway?
12:12 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Quit: "Wait...  what?!"]
12:17 -!- franciscosouza [~francisco@187.105.21.125] has quit [Read error:
Connection reset by peer]
12:17 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:18 -!- rputikar [~240182H@203-206-21-179.dyn.iinet.net.au] has joined #go-nuts
12:19 -!- franciscosouza [~francisco@187.105.21.125] has joined #go-nuts
12:26 < xyproto> wrtp: blue + yellow does mix to green with paint, I can
give you a link to a (cheesy) youtube-video
12:29 < xyproto> wrtp: I didn't find the one I had in mind, but here's
another, demonstrating the mixing of blue and yellow:
http://www.youtube.com/watch?v=NYwvCbaGzKc
12:31 < xyproto> wrtp: I'm trying to make a program in Go, for my little
sister, who has just completed a master in visual arts.
12:33 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
12:34 < wrtp> xyproto: it's not pure green though - it's a bit muddy, as the
guy on stackoverflow said
12:35 < xyproto> wrtp: yes, that is true
12:35 < xyproto> wrtp: (still some sort of green, though)
12:36 < wrtp> maybe that's a bit pedantic, but if you're trying to simulate
paint mixing, it's important
12:36 < wrtp> i don't know "somewhere between average and max" would end up
at though :-)
12:36 < xyproto> wrtp: I guess so.  I saw there was a mention of an
algorithm that took into account how tiny particles in paint were reflected.  It
seemed hard to implement, though.
12:37 < wrtp> it would be :-)
12:37 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 258 seconds]
12:38 -!- noodles775 [~michael@g225134025.adsl.alicedsl.de] has joined #go-nuts
12:38 -!- noodles775 [~michael@g225134025.adsl.alicedsl.de] has quit [Changing
host]
12:38 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
12:39 < ww> sanity check please:
12:39 < xyproto> wrtp: It's called the "Kubelka-Munk equations", and was
implemented in Krita in 2007
12:40 < ww> given, type EnglishString string; type FrenchString string.
12:40 < ww> 1.  is "chat" a string?
12:40 < xyproto> http://commit-digest.org/issues/2007-08-12/
12:40 < ww> 2.  is EnglishString("chat") a string?
12:40 < ww> 3.  is FrenchString("chat") a string?
12:40 < ww> 4.  is EnglishString("chat") == FrenchString("chat")
12:41 -!- franciscosouza [~francisco@187.105.21.125] has quit [Quit:
franciscosouza]
12:41 < xyproto> ww: I would say yes to all of those :) (without having
tested those specific lines of code)
12:42 < wrtp> 1.  yes.  2.  yes (but not of type string).  3.  ditto.  4.
they're of different types so you can't compare them
12:42 < ww> wrtp: that's what i think too
12:43 < wrtp> ww: for 2 and 3 you could say that the underlying type is
string (similar to: type SomeInt int)
12:44 -!- photron [~photron@port-92-201-79-87.dynamic.qsc.de] has quit [Quit:
Leaving]
12:44 < ww> sure, i 'm not really concerned about the go-specific details,
more the intuition of programmers about the behaviour of these types of things
12:44 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
12:45 < ww> i'm discussing right now 2,3 and i've someone (a widely
respected logician) trying to convince me that by adding some extra information
(e.g.  knowledge about the language, however encoded) that somehow
FrenchString("chat") is a completely different and unrelated thing to "chat"
12:45 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
12:46 < ww> which seems bogus to me.  obviously they're different but not
completely unrelated as long as french uses characters that can be put in a
certain sequence...  i.e.  strings
12:48 < wrtp> well, you can index it, range on it, add string constants to
it etc
12:49 < wrtp> i can have both french and english in the same sentence
12:50 -!- hcatlin [~hcatlin@c-24-127-228-41.hsd1.fl.comcast.net] has joined
#go-nuts
12:50 -!- hcatlin [~hcatlin@c-24-127-228-41.hsd1.fl.comcast.net] has quit
[Changing host]
12:50 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
12:52 < wrtp> xyproto: that link looks exactly like what you're looking
for...
12:53 < wrtp> xyproto: it'd be great if you could port that colour space
code to go and make it available as a package.
12:54 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has joined
#go-nuts
12:54 < xyproto> wrtp: yes, I want to make a colorspace package :)
12:56 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has quit [Quit: Silly man, I
am a Baron!]
12:56 < wrtp> xyproto: if you follow the way that i modified your code, it
would fit nicely into the existing structure and be useable with all the other
image stuff
13:01 < xyproto> wrtp: are you thinking for other systems than hsl as well?
13:05 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has joined #go-nuts
13:08 -!- robteix [~robteix@nat/intel/x-mfuyczgrvnvskiot] has joined #go-nuts
13:08 -!- edwin [~edwin@79.114.67.91] has quit [Remote host closed the connection]
13:09 < wrtp> xyproto: i was thinking if you did that kubelka-monk colour
space, it would a great.  hsl is really just good for colour wheels.
13:09 < wrtp> s/a great/great/
13:11 < mpl> s/a great/be great/ ?
13:12 < wrtp> yeah
13:14 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping
timeout: 240 seconds]
13:14 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:17 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts
13:17 -!- niemeyer [~niemeyer@201-11-242-14.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
13:19 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
13:21 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
13:22 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 258 seconds]
13:24 -!- abrookins [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has quit
[Quit: Textual IRC Client: http://www.textualapp.com/]
13:29 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
13:30 < skelterjohn|work> morning
13:31 < ww> 'morning skelterjohn|work
13:33 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 255
seconds]
13:33 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts
13:34 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 252 seconds]
13:36 -!- alehorst [~alehorst@187.58.246.160] has quit [Quit: Leaving.]
13:36 -!- angasule_ [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
13:37 -!- alehorst [~alehorst@187.58.246.160] has joined #go-nuts
13:37 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 260 seconds]
13:38 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts
13:38 -!- iant [~iant@67.218.109.241] has joined #go-nuts
13:38 -!- mode/#go-nuts [+v iant] by ChanServ
13:40 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
13:41 -!- irr [~irocha@200-221-128-52.corp.uolinc.com] has joined #go-nuts
13:42 -!- abrookin_ [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has joined
#go-nuts
13:43 -!- abrookin_ [~abrookins@c-76-105-144-173.hsd1.or.comcast.net] has quit
[Client Quit]
13:47 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
13:51 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
13:54 -!- irr [~irocha@200-221-128-52.corp.uolinc.com] has quit [Remote host
closed the connection]
13:55 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:05 < skelterjohn|work> huh - i actually have a good reason to use a
linked list
14:05 < skelterjohn|work> first time that has happened in a while
14:19 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error:
Operation timed out]
14:20 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has quit [Ping timeout:
260 seconds]
14:23 -!- kevlar [~kevlar@unaffiliated/eko] has joined #go-nuts
14:24 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
14:29 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 260 seconds]
14:31 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
14:34 -!- PortatoreSanoDiI [~Marvin@82.84.65.39] has joined #go-nuts
14:35 -!- fvbommel [~fvbommel_@131.155.71.82] has quit [Ping timeout: 276 seconds]
14:37 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has quit [Quit: Silly man, I
am a Baron!]
14:38 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
14:38 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-168-114.clienti.tiscali.it] has
quit [Ping timeout: 260 seconds]
14:43 -!- photron [~photron@92.201.79.87] has joined #go-nuts
14:44 < manveru> anybody used http.Client.Post ?
14:44 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
14:45 < manveru> according to tcpdump it doesn't send my body
14:46 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
14:46 < ww> manveru: i've used the lower level http.Client.Do and
constructed a post myself
14:47 -!- fvbommel [~fvbommel_@ip212-238-79-63.hotspotsvankpn.com] has joined
#go-nuts
14:47 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
14:48 < ww> here, for example,
https://bitbucket.org/ww/gold/src/521430a6b45a/garlik/4store.go#cl-96
14:49 <+iant> another program named gold
14:49 < ww> iant: :) it's some sort of a contraction of geographical linked
data
14:50 < manveru> hm
14:50 < ww> not my choice exactly, but not a bad choice :)
14:50 < manveru> what's the difference between []byte(foo) and []byte{foo} ?
14:51 < ww> the vormer is a type coercion, the second is an initialisation
14:51 < ww> s/initialisation/instantiation/
14:52 < icey> is there a generally recommended postgresql library?  (i've
seen go-pgsql, pgsql.go and go-pg, but they seem to have around the same level of
activity)
14:53 < manveru> ooh
14:53 < manveru> ok, got it :)
14:56 -!- pjacobs [~pjacobs@66.54.185.130] has joined #go-nuts
14:56 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Quit: leaving]
14:57 -!- iant [~iant@67.218.109.241] has quit [Quit: Leaving.]
14:57 -!- robteix [~robteix@nat/intel/x-mfuyczgrvnvskiot] has quit [Quit: Leaving]
14:57 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
14:59 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 252 seconds]
15:02 -!- fvbommel [~fvbommel_@ip212-238-79-63.hotspotsvankpn.com] has quit [Ping
timeout: 276 seconds]
15:02 < manveru> for some reason the request seems to have lots of garbage
in the packages...
15:02 < manveru> not sure what to make of it
15:03 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
15:05 < manveru> maybe it just uses really tiny packages?
15:11 < manveru> let's see if i can make it not use chunked encoding...
15:12 < ww> manveru: i think setting the content-lenght has the side-effect
of preventing chunked
15:13 < bartbes> ww: yeah, afaik they are mutually exclusive in the protocol
15:16 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has joined #go-nuts
15:26 -!- robteix [~robteix@nat/intel/x-klmexecugvbmmbnu] has joined #go-nuts
15:30 -!- piranha [~piranha@D57D1AB3.static.ziggozakelijk.nl] has quit [Quit:
Computer has gone to sleep.]
15:34 < manveru> omfg
15:34 < manveru> ok, solved it :)
15:42 -!- tncardoso [~thiago@189.59.160.5] has quit [Ping timeout: 255 seconds]
15:43 -!- Project-2501 [~Marvin@82.84.85.49] has joined #go-nuts
15:47 -!- PortatoreSanoDiI [~Marvin@82.84.65.39] has quit [Ping timeout: 268
seconds]
15:50 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
15:50 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
15:51 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
15:53 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-157-117.clienti.tiscali.it]
has joined #go-nuts
15:55 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Quit:
leaving]
15:55 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
15:56 -!- Project-2501 [~Marvin@82.84.85.49] has quit [Ping timeout: 244 seconds]
15:56 -!- Project-2501 [~Marvin@82.84.98.178] has joined #go-nuts
15:58 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-157-117.clienti.tiscali.it]
has quit [Ping timeout: 240 seconds]
15:59 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
16:05 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
16:06 -!- alehorst [~alehorst@187.58.246.160] has quit [Ping timeout: 255 seconds]
16:06 -!- PortatoreSanoDiI [~Marvin@82.84.74.221] has joined #go-nuts
16:09 -!- Project-2501 [~Marvin@82.84.98.178] has quit [Ping timeout: 240 seconds]
16:10 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 244
seconds]
16:11 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 246 seconds]
16:11 -!- r_linux [~r_linux@smtp.mandique.com.br] has joined #go-nuts
16:12 -!- Project-2501 [~Marvin@82.84.98.100] has joined #go-nuts
16:14 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
16:14 -!- PortatoreSanoDiI [~Marvin@82.84.74.221] has quit [Ping timeout: 240
seconds]
16:16 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
16:17 -!- r_linux [~r_linux@smtp.mandique.com.br] has quit [Ping timeout: 260
seconds]
16:17 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
16:17 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has joined #go-nuts
16:18 -!- PortatoreSanoDiI [~Marvin@82.84.84.187] has joined #go-nuts
16:19 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
16:21 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
16:22 -!- Project-2501 [~Marvin@82.84.98.100] has quit [Ping timeout: 252 seconds]
16:25 -!- Project-2501 [~Marvin@82.84.70.97] has joined #go-nuts
16:26 -!- alehorst [~alehorst@189.114.187.67] has joined #go-nuts
16:27 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has joined #go-nuts
16:28 -!- PortatoreSanoDiI [~Marvin@82.84.84.187] has quit [Ping timeout: 260
seconds]
16:30 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
16:30 -!- iant [~iant@nat/google/x-bxmowmbnbevxvhky] has joined #go-nuts
16:30 -!- mode/#go-nuts [+v iant] by ChanServ
16:31 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-149-240.clienti.tiscali.it]
has joined #go-nuts
16:34 -!- Project-2501 [~Marvin@82.84.70.97] has quit [Ping timeout: 244 seconds]
16:34 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Quit: Ex-Chat]
16:36 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Ping
timeout: 276 seconds]
16:37 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-199.clienti.tiscali.it] has
joined #go-nuts
16:41 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-149-240.clienti.tiscali.it]
has quit [Ping timeout: 240 seconds]
16:47 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
16:47 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
16:48 -!- robteix [~robteix@nat/intel/x-klmexecugvbmmbnu] has quit [Quit: Leaving]
16:51 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts
16:51 -!- enquora [~davidr@S010600131035e588.cg.shawcable.net] has joined #go-nuts
16:52 < enquora> Is there a postgresql driver for the language?
16:52 < jlaffaye> yes
16:53 < enquora> is there a url for it?
17:00 -!- shvntr [~shvntr@119.121.31.56] has quit [Ping timeout: 244 seconds]
17:01 < skelterjohn|work> you can find a lot of 3rd party projects at
godashboard.appspot.com/projects
17:01 -!- shvntr [~shvntr@119.121.31.56] has joined #go-nuts
17:06 -!- electro [electro@c-bef570d5.033-10-67626721.cust.bredbandsbolaget.se]
has quit [Ping timeout: 260 seconds]
17:07 < elimisteve> I've tried installing two different sqlite drivers for
Go, and I get the same error trying to goinstall either:
http://pastebin.com/mczn39ZF
17:08 < elimisteve> any ideas?
17:09 < skelterjohn|work> do a clean build of go
17:09 < elimisteve> enquora: I haven't used it but it looks up to date:
https://github.com/jbarham/pgsql.go
17:10 < enquora> great.  thks
17:10 < elimisteve> skelterjohn|work: k thanks
17:15 < TheCritic> so, inotify, any chance of getting a os x and windows
version?
17:15 <+iant> do they have inotify?
17:15 < TheCritic> nope, but they have similar functionality in their
respective os api
17:16 < TheCritic> go should sport a generic that works on the major systems
17:16 < TheCritic> *should* :)
17:17 <+iant> sure, go for it
17:18 < skelterjohn|work> what's inotify?
17:18 < TheCritic> it lets you put a watch on a file or directory
17:18 < TheCritic> when something changes, your code is called
17:18 <+iant> so you know when the file changes
17:19 < mpl> usefull to implement loggers for example
17:20 < TheCritic> my project is a file sync tool...  just something to
learn the language...  and inotify would rock...  but I am a mac user :(
17:22 -!- rutkowski [~adrian@078088212023.walbrzych.vectranet.pl] has joined
#go-nuts
17:22 -!- marko__ [~marko@marko.isti.cnr.it] has quit [Ping timeout: 255 seconds]
17:24 -!- TheMue [~TheMue@p5DDF7DDE.dip.t-dialin.net] has joined #go-nuts
17:25 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined
#go-nuts
17:27 -!- cenuij [~cenuij@103.184.122.78.rev.sfr.net] has joined #go-nuts
17:27 -!- cenuij [~cenuij@103.184.122.78.rev.sfr.net] has quit [Changing host]
17:27 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
17:27 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
17:30 -!- robteix [~robteix@192.55.54.36] has joined #go-nuts
17:31 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
17:39 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
17:39 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
17:39 -!- jstemmer [~cheetah@mrpwn.stemmertech.com] has joined #go-nuts
17:44 < zanget> 13:25 < TheCritic> my project is a file sync tool...
just something to learn the language...  and inotify would rock...  but I am a mac
user :( <= I haven't used it but I'm pretty sure go has kqueue which is for
freebsd and osx
17:45 < TheCritic> nice!  Ill read up on it, thanks zanget
17:46 < zanget> no problem and it's in syscall
17:48 < KirkMcDonald> Spawn rsync as a subprocess?  :-)
17:49 -!- Tori274 [~Tori@ip-33.net-81-220-152.grenoble.rev.numericable.fr] has
joined #go-nuts
17:51 -!- Tori274 [~Tori@ip-33.net-81-220-152.grenoble.rev.numericable.fr] has
left #go-nuts []
17:56 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 276 seconds]
17:57 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
17:58 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
18:00 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving]
18:03 -!- robteix [~robteix@192.55.54.36] has quit [Quit: Leaving]
18:12 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-199.clienti.tiscali.it] has
quit [Read error: Connection reset by peer]
18:14 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has quit [Remote host closed the
connection]
18:14 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit:
wallerdev]
18:14 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has joined #go-nuts
18:16 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined
#go-nuts
18:17 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit
[Client Quit]
18:22 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
18:28 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
18:28 -!- CoverSlide [~richard@pool-108-38-148-191.lsanca.fios.verizon.net] has
joined #go-nuts
18:29 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Remote host closed the
connection]
18:33 -!- dlowe [~dlowe@63.107.91.99] has joined #go-nuts
18:50 -!- fhs [~fhs@2001:0:4137:9e76:3458:6fb3:93f1:4624] has joined #go-nuts
18:57 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has joined
#go-nuts
19:03 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has joined #go-nuts
19:06 -!- wallerdev [~wallerdev@c-68-60-43-43.hsd1.mi.comcast.net] has quit [Quit:
wallerdev]
19:14 -!- Knirch [fatal@debian.as] has quit [Read error: Operation timed out]
19:14 -!- neshaug [~oyvind@213.239.108.5] has quit [Read error: Operation timed
out]
19:15 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has quit [Ping
timeout: 252 seconds]
19:15 -!- Knirch [fatal@debian.as] has joined #go-nuts
19:15 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has joined
#go-nuts
19:15 -!- neshaug [~oyvind@213.239.108.5] has joined #go-nuts
19:17 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 252 seconds]
19:25 -!- alc [~arx@222.128.151.100] has quit [Quit: Bye!]
19:29 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
19:35 -!- virtualsue [~chatzilla@nat/cisco/x-wojgnparaeaoobag] has quit [Ping
timeout: 250 seconds]
19:38 -!- Ekspluati [~Ekspluati@a91-154-13-178.elisa-laajakaista.fi] has joined
#go-nuts
19:47 -!- saml [~sam@adfb12c6.cst.lightpath.net] has joined #go-nuts
19:47 < saml> hey is go web scale?
19:47 < aiju> define web scale
19:47 < aiju> you can certainly use it for web development
19:51 -!- keithcascio [~keithcasc@nat/google/x-gifrxjltqaqnuyge] has joined
#go-nuts
19:51 < Tv> go has very few rabid rails programmers vouching for it, so i
would guess no ;)
19:52 < saml> can you do fancy type stuff like haskell?
19:52 < aiju> no, but you can write code
19:52 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
19:53 < saml> cool.  so i'll learn go
19:55 < skelterjohn|work> is "web scale" an an adjective?
19:56 < saml> no, an adverb.  you can say web scaleley large
19:56 < saml> anyone works in google?  how is today's doodle encoded?  the
?tune= parameter
19:57 < crunge> I'm not sure go is very buzzword compliant
19:57 < saml>
http://www.google.com/webhp?tune=IAYwCJhkEoSck4FyQFgFuWYoZIjDjgFEbMgBQxiEkOOCE-xEDzCjCITQU4JzoHg*
19:57 < saml> that's base64 of midi?
19:57 < wrtp> saml: anything can be web scale if you have enough computers
and network bandwidth :-)
19:57 < saml> how would you decode that in go and print hex or binary?
19:58 < saml> in python, it's [hex(ord(x)) for x in base64.decodestring(s if
not s.endswith('*') else s + '==')]
19:58 < elimisteve> Tv: you can use Go for web dev.  There's web.go and now
Go for App Engine if you get an invite
19:59 < saml> can you develop 3d games in go and android app?
19:59 < saml> and any ide autocompletion?  or ctags work?
19:59 < CoverSlide> you can download go for appengine now
19:59 < Tv> elimisteve: that's not what "web scale" means
20:00 < saml> web scale means it has mongodb driver
20:00 < aiju> web scale means "hyped"
20:00 -!- rutkowski [~adrian@078088212023.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
20:00 < Tv> web scale also means it keeps persistent data in ram ;)
20:00 * wrtp can't get the tunes to play in his web browser.  :-( (it works
otherwise though)
20:01 < Tv> wrtp: yeah mine's silent too
20:01 < Tv> ahh blocked flash plugin
20:01 < saml> no..  data is always in the wire.  things are constantly
replicated, transmitted over bittorrent
20:02 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:02 < wrtp> Tv: mine's not silent - just "prerecorded" tunes don't seem to
work
20:02 < wrtp> unless there's a button i haven't found yet to play it
20:02 < aiju> google doodles have grown way out of hand
20:03 < wrtp> aiju: :-)
20:03 < aiju> they'll soon take over the world
20:03 < aiju> also, there was no doodle on hitler's birthday
20:03 < aiju> google disappointed me
20:03 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has joined
#go-nuts
20:04 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
20:06 < Tv> google
20:06 < Tv> "
20:06 < Tv> i guess the leading spaces got trimmed
20:06 < Tv> you get the idea
20:06 -!- pharris [~Adium@rhgw.opentext.com] has quit [Client Quit]
20:07 < skelterjohn|work> i don't
20:09 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
20:09 < Tv> " as moustache
20:10 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
20:14 -!- robteix [~robteix@nat/intel/x-stixqxuovjwiemrc] has joined #go-nuts
20:14 < skelterjohn|work> oh
20:14 < skelterjohn|work> don't encourage aiju
20:15 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
20:15 * aiju is now known as
aiju|fuckwhydopeoplehavetoputallkindofcrapintotheirnicks
20:18 -!- alehorst [~alehorst@189.114.187.67] has quit [Quit: Leaving.]
20:20 -!- alehorst [~alehorst@189.114.187.67] has joined #go-nuts
20:21 -!- tvw [~tv@e176003139.adsl.alicedsl.de] has joined #go-nuts
20:36 -!- TheMue [~TheMue@p5DDF7DDE.dip.t-dialin.net] has quit [Quit: TheMue]
20:37 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
20:37 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
20:38 -!- robteix [~robteix@nat/intel/x-stixqxuovjwiemrc] has quit [Quit: Leaving]
20:39 -!- Spacenick [~niklas@stgt-4d02dd1e.pool.mediaWays.net] has joined #go-nuts
20:39 < Spacenick> Hi all, I'm seeing a huge performance difference between
gccgo and 6g/l
20:39 <+iant> that certainly happens for some kinds of code
20:40 -!- huin [~huin@82.153.193.223] has joined #go-nuts
20:40 < Spacenick> it's a program loading a textfile of about 1 GB
describing a graph as one node/edge per line first nodes then edges, I read using
bufio.ReadLine()
20:41 < Spacenick> ah it's you iant, I remember you^^
20:41 < ww> was somebody else here the other day talking about doing what
sounds exactly the same
20:42 < Spacenick> yeah it was me just a different nick
20:42 < Spacenick> forgot I got a registered one over here
20:42 < ww> oh!
20:42 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has quit [Ping timeout:
260 seconds]
20:43 < Spacenick> So I added gomake Makefiles and tried compiling with 6g,
now for the 48 million edges, 24 million nodes graph reading it in takes about 3
times as long, though it uses a little bit less RAM but still >1450 MB
20:44 < Spacenick> however the DFS became MUCH slower while with gccgo it
explores 23 million vertices in 9 seconds, the gc version takes >250 seconds!
20:45 <+iant> that is a larger difference than I would expect; that's hard
to understand
20:46 < Spacenick> Yes that's why I'm here again, I'd have expected
something like 60 to 200% slower but this is crazy
20:47 < Spacenick> If anyone were interested I could provide the Code on
github or something but I'm not entirely sure it's a goog testcase
20:48 < vegai> is it a large program?
20:48 < Tv> Spacenick: if you could isolate like one operation that works
without a huge dataset that shows the difference..
20:48 <+iant> Spacenick: for 6g you can do runtime profiling using
http://golang.org/pkg/runtime/pprof/
20:49 < Spacenick> iant: it works quite ok with smaller graphs..  but I will
see what I can do
20:49 < ww> personally i'd be more interested in the dataset (perhaps make
entry on ckan.net for the data)
20:50 < ww> s/more//
20:52 < Spacenick> I'm not sure what permissions I have there it's based on
OSM so it will be free in the future but it's generated by some colleague as a
university project, what kind of instituion are you working for, I could give you
the mail address of the supervising professor
20:53 < Spacenick> He's quite a nice and Open Source minded guy and
definetly knows what the rules are
20:53 -!- Loonacy [~zephyros@Loonacy.broker.freenet6.net] has joined #go-nuts
20:53 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has joined #go-nuts
20:54 < Spacenick> they have some Contraction Hiearchies for OSM data lying
around as well which they eventually plan on releasing as far as I know
20:54 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
20:54 < ww> Spacenick: not really for work as such, just sounds like a good
dataset to add to the corpus of graph data sets to experiment with
20:55 -!- ronnyy [~quassel@p4FF1C419.dip0.t-ipconnect.de] has joined #go-nuts
20:55 < ww> for me that's spare time stuff at the moment...
20:55 < Spacenick> Ok, I will ask around what the plans are especially for
the software used to generate this graph data from OSM
20:57 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
20:57 < ww> (to answer your question though, i'm working with edina.ac.uk
and inf.ed.ac.uk at the moment)
20:57 < Spacenick> I know however that our project which will use that data
will be licenced by the Apache license
20:58 -!- huin [~huin@82.153.193.223] has quit [Quit: bedtime]
20:59 < Spacenick> Sounds interesting, which line of research are you into?
21:00 -!- marko__ [~marko@host124-196-dynamic.43-79-r.retail.telecomitalia.it] has
joined #go-nuts
21:00 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
21:01 < ww> churning out linked data...  trying to mind things like
provenance...
21:02 -!- dlowe [~dlowe@63.107.91.99] has quit [Quit: Leaving.]
21:02 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has joined #go-nuts
21:03 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
612 seconds]
21:03 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
21:03 < ww> interested in reasoning about the data, actually, but we're
generally still collecting basic ground facts in a uniform way...  (this is why i
was interested in aiju's experiments with prolog-like constructs in go)
21:06 < ww> so i'm also interested in good ways to store and query graphical
data
21:06 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 246
seconds]
21:06 < Spacenick> What's you favorite graph representation then?
21:07 < Spacenick> I'd guess this reasoning stuff is mnostly about triples
right?
21:07 < ww> G=(V,E) :P
21:07 < ww> but i'm intrigued by these column storage techniques, actually
21:08 -!- Cork[home] [Cork@h83n1c1o1042.bredband.skanova.com] has quit [Changing
host]
21:08 -!- Cork[home] [Cork@firefox/community/cork] has joined #go-nuts
21:08 < Spacenick> c: E -> R and all will be good right
21:09 < ww> yes, mostly triples...  i guess traditional areas like path
traversal algorighms only have an obvious interpretation in specific cases...
21:10 -!- ronnyy [~quassel@p4FF1C419.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
21:10 < ww> but there are some very strong ties to things like type
inference
21:11 < Spacenick> yeah, hmm I really wonder what makes the gc compiled
version this slow, maybe because my simple DFS is recursive
21:11 < Spacenick> I could try my Dijkstra that's not recursive
21:13 -!- jstemmer [~cheetah@mrpwn.stemmertech.com] has quit [Quit: leaving]
21:15 < ww> i wonder if it would blow up if you did the recursion in a
goroutine, e.g.  go DFS(...)
21:16 < ww> would need some mutex sort of things on the visited array...
21:16 < Baughn> What type inference algorithm is there anyway, simple
hindley-milner?
21:16 < Spacenick> the array should be fine it's static
21:16 < Baughn> Though I haven't spotted any parametric typing..
21:16 < ww> but the goroutines should each be pretty short lived so
shouldn't pile up...
21:17 < Spacenick> ah you mean in the DFS directly
21:17 < Spacenick> yeah inetresting but better to first know what makes it
so slow now
21:19 -!- wrtp [~rog@92.23.127.186] has quit [Quit: wrtp]
21:20 -!- Nitro [~Nitro@unaffiliated/nitro] has quit [Ping timeout: 244 seconds]
21:20 < ww> Baughn: actually we're trying something related, in the "given a
bunch of data, try to infer an ontology (loosely, class hierarchy)" vein
21:21 < Spacenick> Like in DBPedia?  Have you tried this query language they
use?
21:22 < ww> Spacenick: you mean sparql?  yes, have worked with it a lot
21:22 -!- mkb218 [~mkb@pool-71-174-16-245.bstnma.east.verizon.net] has quit [Read
error: Connection reset by peer]
21:22 < Baughn> ww: Hm~
21:22 < Baughn> ww: Well, the type system isn't really where my problem with
Go lies anyway.  I'll stick to haskell.  :P
21:22 < Spacenick> yeah Sparql, didn't look enough into it just typed some
queries into dbpedia, it's a bit weired at first
21:23 < Baughn> 'twas a nice experiment, though.
21:23 -!- mkb218 [~mkb@pool-71-174-31-217.bstnma.east.verizon.net] has joined
#go-nuts
21:24 < ww> Baughn: we're talking at cross purposes i think, i'm not talking
about types in go, but about types in rdf, though using go to do some analysis
21:24 < Baughn> ..right.
21:24 < ww> Spacenick: sparql's like sql only different :)
21:24 < Baughn> I was thinking about go, though.  Am I correct in thinking
that it has only concrete types?
21:25 < Baughn> I.e.  no parametric typing?
21:25 < Spacenick> Yeah and one needs to know what kind of data is there
21:25 < Baughn> I may have missed something subtle..
21:25 < KirkMcDonald> Baughn: Correct, no generics, no templates.
21:25 < KirkMcDonald> Baughn: It does have interfaces.
21:25 < Spacenick> it has Interfaces which are used for generic programming
21:25 < Baughn> KirkMcDonald: Type-classes are orthogonal
21:26 < KirkMcDonald> Okay.
21:26 < ww> Spacenick: right, so that's a common problem - how can one
introspect the data to find what types are there?
21:26 < Baughn> As far as I can tell interfaces are just single-parameter
type-classes
21:26 < ww> particularly when not all types will be explicitly stated
21:26 < KirkMcDonald> Baughn: I have no idea what you mean by that.
21:26 -!- jrabbit [~babyseal@unaffiliated/jrabbit] has quit [Ping timeout: 260
seconds]
21:27 < Baughn> KirkMcDonald: I guess it doesn't make that much sense
outside my own mind.  I tend to compare type systems to haskell's, since /usually/
they turn out to be a subset of that.
21:27 < Baughn> KirkMcDonald: It has something called type-classes, which..
hum, from your POV I guess they'd be interfaces on steroids.  :P
21:27 < KirkMcDonald> Baughn: I would argue that is not a useful model when
attempting to evaluate a language on its own merits.
21:28 < Baughn> KirkMcDonald: Oh, I'm not evaluating the /language/.  Just
the type algebra.
21:28 < KirkMcDonald> Baughn: Yes.  That is precisely the thing that I mean.
:-)
21:30 -!- mnoel_ [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has joined #go-nuts
21:30 < ww> i guess with go the position is that parametric types are not
out of the question, just that you can get a lot of mileage without them and we
want to do them right if/when they are added to the language
21:30 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 252 seconds]
21:31 < ww> haskell is brilliant, but understanding the type system is a
steep learning curve - i don't think go wants steep learning curves
21:31 <+iant> I don't think Go's interfaces are quite the same thing as
Haskell's type classes
21:31 <+iant> though they clearly have some similarities
21:31 < Baughn> ww: So don't include type-classes, then, or the extensions.
Simple parametric typing seems..  well, simple enough.
21:31 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has quit [Ping
timeout: 255 seconds]
21:31 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:32 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
21:35 < TheCritic> ok, http://golang.org/src/pkg/net/fd_freebsd.go "Waiting
for FDs via kqueue/kevent." What is a FD?
21:35 <+iant> a file descriptor
21:36 <+iant> it's the sysfd field of a netFD
21:36 < ww> Baughn: well, do write up a proposal for how you think it
could/should be done, it'll likely be vigorously debated on the list, and we'll
see where it goes
21:38 < Baughn> ww: As someone who used go only a few hours as an experiment
for an internal monitoring system that I'm now rewriting in python, I don't think
there's any point.  Anyway, the type system /isn't/ why the switch..
21:40 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
21:40 -!- pharris [~Adium@rhgw.opentext.com] has quit [Ping timeout: 252 seconds]
21:40 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 268 seconds]
21:40 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
21:44 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has joined #go-nuts
21:45 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
21:45 -!- jrabbit [~babyseal@unaffiliated/jrabbit] has joined #go-nuts
21:46 < ww> I'm curious - why the switch then (I've mostly gone in the
opposite direction, writing things in Go that I'd normally write in python)
21:46 < Baughn> Hm
21:46 < Baughn> Two reasons.
21:47 < Baughn> First off, although Go /is/ officially supported, nobody
else on my team - or in my department - use it, so getting code reviews is hard.
21:47 -!- wchicken [~chicken@c-24-7-112-207.hsd1.ca.comcast.net] has quit [Ping
timeout: 252 seconds]
21:48 < Baughn> Second, I found the pointer/value distinction mildly
confusing and incoherent
21:48 < Baughn> Admittedly I don't seem to have that problem with C++, but
there you go.  Presumably experience would help, but as it is it isn't identical.
21:48 <+iant> in what way is it not identical?
21:49 < Baughn> It mixes with point three, mainly..
21:49 < Baughn> It's possible to construct a map that's invalid, etc.
21:49 < Baughn> C++ constructors /work/, I didn't find a similar system in
go
21:49 <+iant> it is possible to construct a map that is nil, if that is what
you mean
21:49 <+iant> but that is not a pointer/value issue
21:49 < Baughn> No, it's possible to construct a map that /contains/ nil
21:50 < ww> I can sympathise with the first point.  For the moment I've
worked around that by making my deliverables data rather than code
21:50 < KirkMcDonald> What, it's not possible to break C++ ctors?  :-)
21:50 < Baughn> Inside a struct somewhere
21:50 < Baughn> KirkMcDonald: It's not the default outcome.  :P
21:50 < KirkMcDonald> Baughn: And it's wrong to contain nil?
21:50 <+iant> a map that contains nil is not invalid
21:50 < Baughn> KirkMcDonald: Yes.  If I want nil, I'll use a nil instead of
a map.
21:50 < KirkMcDonald> Baughn: I'm not sure what you mean.
21:50 < Baughn> Fourth, I guess, the type inference is insufficient.  I had
to write out the type of the map in order to call make.
21:51 < Baughn> Fifth, I can't define an implementation of make for my own
types..  that special-casing thing.  Maybe I just didn't figure out how?
21:51 < Baughn> Sixth, the obligatory braces makes my code look ugly.  ;)
21:51 < ww> fourth doesn, make sense to me, type Foo map[string]string;
make(Foo) works for me
21:51 <+iant> you can't call make with your own types, no, though of course
you can write your own function which does the same thing for your type
21:51 <+iant> I still don't see what you mean by pointer/value, though
21:51 <+iant> or by a map containing nil
21:52 < Baughn> ww: I wanted to say something like "x := make()"
21:52 < KirkMcDonald> Baughn: And what would the type of x be?
21:52 < Baughn> ww: The language should already /know/ what type x is, from
inference or me specifying it elsewhere
21:52 <+iant> KirkMcDonald: he wants fancy type inferencing as in Haskell
21:52 <+iant> Go doesn't work that way
21:52 < KirkMcDonald> Yeah, I figured.
21:53 < Baughn> Or just simple inference, as in initializing a structure
21:53 < Baughn> At which point I'm back to constructors..
21:53 < Baughn> Yeah, I could make my own functions to do that, and
obviously I did.
21:53 < Baughn> It's just, having a special-case make construct for just a
few built-in types doesn't sit well with me, especially as map looks like it
belongs in a library
21:53 <+iant> but I think the original question was not why Haskell instead
of Go, but why Python instead of Go
21:54 < exch> x := make() makes no sense
21:54 < Baughn> iant: Code got more concise.
21:54 < Baughn> exch: Bad example, though it /could
21:54 < Baughn> exch: More like "Foo { x = make() }", for some struct Foo
21:55 < KirkMcDonald> That...  still makes no sense.
21:55 < KirkMcDonald> Oh, I see.
21:55 < exch> if field x is defined to be map[T]T, then it does make sense
21:55 < KirkMcDonald> It infers from the type of x.
21:55 < Baughn> Right.
21:55 < ww> var x Foo; x = make()
21:55 <+iant> yeah, it's a case where Go does require an unnecessary type to
be written down
21:56 < Baughn> With just x := make() it'd need to infer from how I use x
/later in the code/, which would be harder and would definitely slow down the
compiler.  I can understand why it wouldn't do /that/.
21:56 <+iant> it's like the ones in composite initializers that we got rid
of a while back
21:56 <+iant> I don't even think supporting x := make() would be a good idea
21:56 < KirkMcDonald> Baughn: So, you call NewFoo() instead.
21:56 <+iant> even if it could work efficiently in the compiler
21:57 < Baughn> KirkMcDonald: Right.  My beef with that is that I have to
call NewFoo for my own types, and make() for built-in ones, and I dislike the
distinction.
21:57 < Baughn> It's just a wart.
21:57 < KirkMcDonald> It's not the only such distinction.
21:57 < ww> on constructors, sometimes i've missed them.  but then i found
that very very often i wanted a "constructor" like func NewFoo() (Foo, os.Error)
21:58 -!- aat [~aat@rrcs-184-75-54-130.nyc.biz.rr.com] has quit [Ping timeout: 255
seconds]
21:58 < ww> which isn't quite a constructor...
21:58 < jnwhiteh> make(T) is explicit, I like it
21:58 < exch> there was some talk of merging new() and make() together, ut
unfortunately that got shelved
21:58 <+iant> I think we all got too confused
21:58 < KirkMcDonald> Baughn: For my part I've seen what resulted in C++
when they attempted to remove the distinction.
21:58 < KirkMcDonald> And I don't like it.  :-)
21:58 -!- b33p [~mgray@li226-224.members.linode.com] has quit [Ping timeout: 252
seconds]
21:58 < Baughn> KirkMcDonald: Well, I'm not saying C++ does it terribly well
either.  :P
21:59 -!- b33p [~mgray@li226-224.members.linode.com] has joined #go-nuts
21:59 < Baughn> Really, I'd be fine with removing make() entirely.
21:59 < KirkMcDonald> And relying only on literals?
21:59 < Baughn> Make it an interface instead
21:59 < Baughn> ..oh, wait.  No return-value polymorphism.  Never mind.  :/
22:00 < Baughn> That's right, didn't the documentation state make was
implemented specifically /because/ of that?
22:00 <+iant> no....
22:00 <+iant> I don't think so....
22:00 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Quit: Lost terminal]
22:00 < Baughn> Well, there was some kind of reason for why it wasn't just a
function..
22:01 < KirkMcDonald> It takes a type as an argument.
22:01 < Baughn> I don't see the issue
22:01 < ww> where a constructor just allocates memory that's one thing.  if
it does anything else it needs a way to signal a proper error
22:01 <+iant> you can't pass a type to an ordinary functoin
22:01 < Baughn> You can pass a nil of that type, effectively doing the same
thing
22:01 < Baughn> For picking instances, at least
22:01 <+iant> that seems more awkward rather than less
22:02 <+iant> and there is no overloading anyhow
22:02 < Baughn> It'd be hard for me to decide.  You'd /really/ want
return-value polymorphism.
22:02 < KirkMcDonald> Then we have copy(), append()...
22:02 < Baughn> ..what are interfaces if not overloading?
22:02 < Baughn> KirkMcDonald: *sigh*.  Don't remind me.
22:02 <+iant> interfaces aren't overloading at all
22:02 < Baughn> I just wanted to mutate a splice..
22:02 < KirkMcDonald> s/splice/slice/ ?
22:03 < Baughn> ..yeah
22:04 < Baughn> I guess what I'm really saying is that Go seems like a
low-level language, which is not what I wanted.  I wanted a high-level language
with powerful types.
22:04 < Baughn> I'm sure it still has its uses, just..  not for what I was
trying to do.
22:04 <+iant> but that's not really Python either
22:04 < Baughn> Yeah.  :/
22:04 < Baughn> Python or C++.  Which would /you/ pick?
22:04 <+iant> Nobody is going to question why you would use Haskell instead
of Go
22:05 <+iant> but I think it's reasonable to discuss why you would use
Python instead of Go
22:05 < Baughn> Haskell isn't a supported language.  I do all my /own/
programming in it, sure.
22:05 < Baughn> Otherwise it's C++, Python or, conceivably, Go.
22:05 < KirkMcDonald> What, no Java?
22:05 < KirkMcDonald> (I kid, I kid.)
22:05 < cenuij> wash your mouth out
22:05 < Baughn> ..Java is also officially supported.
22:05 < cenuij> ;)
22:06 < Baughn> But I don't think /anyone/ I've met uses it.  ^_^
22:06 -!- Spacenick [~niklas@stgt-4d02dd1e.pool.mediaWays.net] has quit [Read
error: Operation timed out]
22:06 < Baughn> The android folks, presumably.
22:06 < jnwhiteh> Java is still used quite heavily
22:06 < jnwhiteh> but then again, so is C++
22:06 -!- Spacenick [~niklas@stgt-5f7011df.pool.mediaWays.net] has joined #go-nuts
22:06 < cenuij> offtopic, I see Google Inc.  was the only dissenting vote on
java SE 7
22:06 < Baughn> All our high-performance servers are written in C++.  Which
is somewhat reasonable.
22:07 < KirkMcDonald> Baughn: I hear the YouTube uses a bit of Python.
22:07 < Baughn> KirkMcDonald: That may be true
22:08 < jnwhiteh> quite a bit of Google uses python =)
22:09 < Baughn> Most sysadmin tools are written in it.  I might as well
follow the tradition.  >_>
22:10 < Baughn> As I said..  C++, Python or Go. I'd have a hard time
convincing people Go is a good idea.  Otherwise I'm 60/40 in favor of Python..
for a system that's really very much not suited to go's target.
22:10 < Baughn> Really, that's praise.  :P
22:10 < ww> my beefs with python are bloated test suites to check what a
half-decent compiler could do
22:10 < Baughn> So. Very.  Agreed.
22:10 < KirkMcDonald> Bah, push it live.  There's your test.
22:10 < ww> and terrible, terrible unicode support (which bites me because i
see a lot of natural language text)
22:10 < jnwhiteh> meh, testing is for losers =)
22:11 < elimisteve> ww: Python has terrible Unicode support?
22:11 < KirkMcDonald> ww: Terrible?
22:11 < KirkMcDonald> Python's unicode support is extensive.
22:11 < KirkMcDonald> Moreso than dang near anything.
22:11 < crunge> I think he means that the fact that it supports unicode is
terrible
22:11 < KirkMcDonald> That is a valid argument, actually.
22:11 < elimisteve> Is it?
22:11 < ww> in my experience it always ends up blowing up in random
unexpected places
22:12 * Baughn prefers /explicit/ unicode when possible
22:12 * Baughn also doesn't do a lot of text munging
22:12 < KirkMcDonald> elimisteve: There are two ways of doing Unicode,
really.  One is to speak UTF-8 and nothing else.  This is what Go does, among
others.
22:12 <+iant> and the other way is not as good as the first way
22:12 < KirkMcDonald> And the other...  well, Python.
22:12 < elimisteve> I see
22:13 < crunge> The other is to say, "I support Unicode provided the
characters you're using fit neatly into 7 bits"
22:13 < KirkMcDonald> heh
22:14 < elimisteve> Re Python: u"string" != "string" can be frustrating, but
it gave me a very explicit warning when that happened, which was nice
22:14 < KirkMcDonald> Python 3 is somewhat better.
22:14 < Baughn> Then there's "I support utf-7, utf-16, ucs-4 and even ucs-2.
Waddayawant?"
22:14 < KirkMcDonald> It is far, far more explicit about converting between
unicode strings and bytestrings, and unicode strings are the default.
22:14 < KirkMcDonald> On the other hand, no one uses Python 3.
22:15 -!- saml [~sam@adfb12c6.cst.lightpath.net] has quit [Quit: Leaving]
22:15 -!- enquora [~davidr@S010600131035e588.cg.shawcable.net] has quit [Quit:
enquora]
22:15 < KirkMcDonald> (Also it supports unicode identifiers, for whatever
that's worth.)
22:16 -!- mkb218 [~mkb@pool-71-174-31-217.bstnma.east.verizon.net] has quit [Ping
timeout: 244 seconds]
22:17 < KirkMcDonald> The downside to Python's approach is that you need to
know quite a bit.  #python is constantly getting people complaining about
UnicodeDecodeErrors or what-have-you.
22:17 < ww> actually i guess it's brittleness when you don't reliably know
the encoding of random source data
22:17 < KirkMcDonald> And that is definitely a problem.
22:17 < ww> and then something somewhere will try to do something that
usually involves a unicode conversion, and it breaks
22:17 < KirkMcDonald> Yes, though if you do it properly, you can at least
handle such malformed input more or less sensibly.
22:17 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
22:18 < KirkMcDonald> It's the fact that you need to "do it properly" which
is concerning.
22:18 -!- AmourDeZombi [~jphillips@c-76-112-223-150.hsd1.mi.comcast.net] has
joined #go-nuts
22:18 < ww> sensibly usually involves just treating it as a sequence of
bytes and not care
22:18 < KirkMcDonald> On the other hand, with Go, if you attempt to throw
your malformed bytes into a string, and then assume it's UTF-8...
22:18 < KirkMcDonald> Same problem, really.
22:19 < KirkMcDonald> Yeah, bytes-is-bytes can be the thing to do.
22:19 < elimisteve> Baughn: I'm loving Go because it's brilliantly simple,
yet very powerful.  I love Python too but Go is just so much faster...  plus its
concurrency primitives are so simple.
22:19 < KirkMcDonald> But it does depend on the problem at hand.
22:19 < elimisteve> Never thought I could tolerate a statically-typed
language, that's for sure.  I hate Java with a passion; it's literally painful for
me to code in Java.
22:20 < crunge> elimisteve: that's where I'm at.  I used to do a ton of
perl.  People come into the channel saying, "I have this problem with threads."
The response would be, "There's your problem"
22:20 < Baughn> elimisteve: If you like the typing and concurrency, you
should try haskell sometime.  :P
22:20 < ww> yes.  for me the problem at hand usually doesn't involve caring
about the content of the string, but does involve not producing spurious
backtraces :)
22:20 < crunge> I never bothered trying to do concurrency in python
22:21 < KirkMcDonald> crunge: Technically threads in Python are just
threads.
22:21 < KirkMcDonald> crunge: They just suck, because of the lock.
22:21 < KirkMcDonald> The GIL.
22:21 < crunge> KirkMcDonald: Right...  helpful for blocking stuff
22:21 < KirkMcDonald> Yeah.
22:21 < CoverSlide> haskell is awesome
22:21 < elimisteve> At Maker Faire, the main people I talked to who used
Python for robotics said they had to rewrite some of it in C++ because it's too
slow
22:22 -!- photron [~photron@92.201.79.87] has quit [Ping timeout: 258 seconds]
22:22 < CoverSlide> just need some mindfucking if you're coming from
imperative languages
22:22 < icey> are there many people doing robotics with go?
22:22 < ww> for that sort of thing, cython/pyrex is very nice
22:22 < elimisteve> icey: can't use Go on an 8-bit microcontroller so I
think not
22:23 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
22:23 < KirkMcDonald> Pyrex isn't even really a thing any more, is it?
22:23 < KirkMcDonald> It's call Cython now.
22:23 < KirkMcDonald> all*
22:23 < elimisteve> I recently looked at notes I found outlining how I'd go
about starting this distributed computing project.  I wanted to use Python but
that'd be way too slow.  Didn't have a non-painful alternative...  until Go, of
course
22:23 < ww> KirkMcDonald: yeah, but pyrex was a better name
22:23 < KirkMcDonald> heh
22:23 < Baughn> CoverSlide: To be fair, haskell is a great imperative
language too.  Post-mindfuck.  :P
22:25 < crunge> Interesting thing about perl is that a lot of its warts go
away when you use functional style where possible
22:25 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has left #go-nuts []
22:25 < crunge> "Higher Order Perl" by Conway being a good guide
22:25 < elimisteve> Functional programming is cool.  I was experimenting
more with Clojure than with Go for a while
22:26 < elimisteve> excellent concurrency support...  and like 4 types of
concurrency primitives (agents, refs...).  Pretty confusing
22:26 < icey> elimisteve: What made you decide to spend more time with Go?
(I'm doing the big language tour right now)
22:26 < icey> hah, answered my question before i could even ask it, well
done
22:26 < elimisteve> enormous language by my standards
22:27 < elimisteve> :-) yes, overly complicated was part of it
22:27 < elimisteve> I'm becoming a bit skeptical of the cult of Lisp too
22:28 -!- wchicken [~chicken@66-117-135-135.rdsl.lmi.net] has joined #go-nuts
22:28 < elimisteve> I know there's a lot of brilliance to Lisp and Haskell,
but you'd think they'd be used all over the freaking place if they really gave you
the advantages adherents claim they do.  I don't know...
22:29 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 268 seconds]
22:29 < elimisteve> Composing 5 functions to do something complex in a
totally stateless manner is super fun.
22:30 -!- vpit3833 [~user@203.111.33.203] has joined #go-nuts
22:31 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has quit [Ping
timeout: 240 seconds]
22:31 < elimisteve> icey: I can simply get stuff done in Go. If I wanted to
create something ridiculous, like self-improving AI, I'd start with Clojure...
and probably never finish the alpha.
22:32 < icey> *chuckle*
22:32 < elimisteve> Rich Hickey packed a lot of great ideas into Clojure,
but Google's backing of Go also gives me confidence that it'll survive.  I'm not
sure Lisp will ever take off.
22:33 < CoverSlide> elimisteve: looked at racket?
22:33 < Tv> elimisteve: you had me at "no jvm"
22:33 < elimisteve> take off as a top 10 language I should say
22:33 < elimisteve> Tv: using all of Java's libraries is a huge advantage
that Clojure has over Go
22:33 < CoverSlide> also a disadvantage
22:35 < elimisteve> To have that kind of library support for free, and
without giving into Java's verbosity, is pretty sweet
22:35 < icey> i dunno, having access to tons and tons of libraries is pretty
nice
22:35 < crunge> InputStream is = new BufferedinputStream(new
InputStreamReader(new FileInputStream("putaguninmymouth.txt")));
22:36 < elimisteve> haha I know
22:36 < crunge> or whatever.  I know it's better now
22:36 < crunge> Java 6 helped with some of the that suck
22:36 < elimisteve> icey: this too was damning --
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=clojure&lang2=go
22:36 < Tv> my favorite so far:
contrib/piggybank/java/src/main/java/org/apache/pig/piggybank/evaluation/util/apachelogparser/SearchEngineExtractor.java
22:36 < Tv> and that's not even talking about the code itself, just the
culture
22:37 < elimisteve> Compared to Clojure, Go is twice as fast, uses 1/10th
the memory, and is more succinct.  Ouch.
22:38 < elimisteve> ...or 1/100 the memory, depending on the benchmark
22:38 -!- mnoel [~mnoel@c-75-65-250-60.hsd1.la.comcast.net] has quit [Ping
timeout: 255 seconds]
22:39 < elimisteve> If Clojure was as fast as Haskell, or Haskell had 5% the
library support of Clojure/Java, that would make for an interesting combination
22:40 < CoverSlide> why's the b-tree program slower on go?
22:40 < elimisteve> no idea, but yeah Clojure is a bit faster on 3 of the 10
benchmarks
22:41 < icey> i'm not a big clojure guy, but evidently performance is
significantly improved in their next version (1.3)
22:41 < crunge> Is Clojure billed as a performant language?
22:42 <+iant> regex-dna is just going to be a regexp issue, but I do wonder
about binary-tree
22:42 < icey> crunge: i don't think it is
22:42 < icey> crunge: but the idea is that they are improving type hinting
support in order to make it more performant
22:42 < elimisteve> crunge: Rich Hickey brags about log_32(n) data
structures, saying that's basically constant time
22:43 < CoverSlide> scala seems to outperform clojure
22:43 < elimisteve> he tries to make a case for it being almost as fast as
Java
22:43 < elimisteve> it definitely does
22:43 < elimisteve> as does Java
22:43 < CoverSlide> i hear lots of buzz around scala, never looked into it
tho
22:44 < crunge> I do think the most important criteria for language
selection is team efficiency
22:44 < elimisteve> It's a step in the right direction for Java programmers,
but god
22:44 < elimisteve> "Java done right" still isn't very good in my opinion
22:44 < icey> there is a lot of "cleverness" to be found in scala code
22:44 < elimisteve> crunge: any good studies/data on that?
22:45 < elimisteve> on which languages maximize team efficiency?
22:45 -!- hcatlin [~hcatlin@c-24-127-228-41.hsd1.fl.comcast.net] has joined
#go-nuts
22:45 -!- hcatlin [~hcatlin@c-24-127-228-41.hsd1.fl.comcast.net] has quit
[Changing host]
22:45 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
22:45 < elimisteve> and at which team sizes
22:45 < crunge> elimisteve: ESR talks it up a lot in "The Art of Unix
Programming"
22:46 < crunge> elimisteve: Dunno.  I think that's why makes Java excel for
huge projects.  Java code is so terribly terribly consistent that, while it's slow
to program in, it makes your programmers an interchangeable commodity
22:47 < crunge> ESR's argument is that compute resources are always cheaper
than developers.  Although he may be thinking of talented developers
22:47 < elimisteve> And you're saying having interchangeable programmers
significantly impacts team efficiency?  Hmm
22:47 < crunge> elimisteve: Well, perceived efficiency, of which cost is a
component
22:47 < Tv> crunge: ESR also talks about picking up women..
22:47 < ww> java's success is down to it being used as a teaching language,
i think.  hordes of people learned it in school
22:48 < crunge> ww: Pascal's also a teaching language
22:48 < elimisteve> I'm easily picturing 5 devs all with unique knowledge of
the codebase and still being crazy fast/efficient as a team.  That can happen
right?
22:49 < elimisteve> I do think learning Java first is a fine idea
22:49 < crunge> elimisteve: In my Java scenario, I'm thinking about hundreds
of University of Phoenix programmers all working on some DoD contract project
22:49 < elimisteve> I know a guy who started with Python and is having
trouble with the strictness of Java
22:49 < crunge> Everyone should learn Logo first
22:50 -!- dfc [~dfc@124-149-49-45.dyn.iinet.net.au] has quit [Quit: dfc]
22:50 < Tv> elimisteve: he might find a way through __slots__ and thinking
of properties & setters for every attribute
22:56 -!- Venom_X [~pjacobs@66.54.185.130] has quit [Quit: Leaving]
23:03 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Remote
host closed the connection]
23:06 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
23:07 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Read
error: Connection reset by peer]
23:10 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Ping timeout: 255 seconds]
23:10 -!- franciscosouza [~francisco@187.105.21.125] has joined #go-nuts
23:10 -!- niemeyer [~niemeyer@201-11-242-14.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
23:11 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
23:11 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
23:12 -!- Spacenick [~niklas@stgt-5f7011df.pool.mediaWays.net] has quit [Quit:
leaving]
23:14 -!- shvntr [~shvntr@119.121.31.56] has quit [Ping timeout: 255 seconds]
23:18 -!- AmourDeZombi [~jphillips@c-76-112-223-150.hsd1.mi.comcast.net] has left
#go-nuts []
23:19 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.]
23:21 -!- marko__ [~marko@host124-196-dynamic.43-79-r.retail.telecomitalia.it] has
quit [Ping timeout: 255 seconds]
23:21 -!- shvntr [~shvntr@119.121.31.56] has joined #go-nuts
23:21 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
23:23 < str1ngs> crunge: I started with logo :P
23:23 -!- purplegrape [~baalsoffi@cm133.gamma204.maxonline.com.sg] has quit [Ping
timeout: 276 seconds]
23:24 < skelterjohn> me too!  that and hypertalk
23:24 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
23:24 < skelterjohn> learn java first?  *shudder*
23:24 -!- iant [~iant@nat/google/x-bxmowmbnbevxvhky] has quit [Ping timeout: 260
seconds]
23:24 < crunge> It's seriously the best first language.  It's all
programming concepts and syntax.  No API, not design concepts, etc
23:25 < skelterjohn> and you never think about memory for the rest of your
life
23:26 -!- shvntr [~shvntr@119.121.31.56] has quit [Ping timeout: 240 seconds]
23:28 < KirkMcDonald> I started with BASIC back in the day, and then QBASIC.
23:29 < elimisteve> fumbled around with Perl in HS before learning Java and
C in college
23:29 < elimisteve> then Python toward the end of college (on my own) and
since
23:31 -!- iant [~iant@nat/google/x-xrmftinkrebpdvob] has joined #go-nuts
23:31 -!- mode/#go-nuts [+v iant] by ChanServ
23:31 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has joined #go-nuts
23:32 -!- iant1 [~iant@67.218.107.72] has joined #go-nuts
23:33 < |Craig|> ah, hypertalk.  Learning to program on something that
disappeared completely within 5 years.  Its good to learn language independence
early.
23:35 -!- iant [~iant@nat/google/x-xrmftinkrebpdvob] has quit [Ping timeout: 240
seconds]
23:35 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
23:36 < skelterjohn> hehe
23:36 -!- shvntr [~shvntr@119.121.31.56] has joined #go-nuts
23:36 < skelterjohn> i actually was too young to really get the actual
language
23:36 < skelterjohn> but i'd make flashcard games
23:37 -!- tvw [~tv@e176003139.adsl.alicedsl.de] has quit [Ping timeout: 255
seconds]
23:37 -!- boscop_ [~boscop@f055253043.adsl.alicedsl.de] has joined #go-nuts
23:38 < |Craig|> I made some buttons move around in different patterns, and
something that generated sentences (just swapped a few nouns I think)
23:38 -!- boscop [~boscop@unaffiliated/boscop] has quit [Read error: Connection
reset by peer]
23:41 -!- shvntr [~shvntr@119.121.31.56] has quit [Ping timeout: 276 seconds]
23:42 -!- alkavan [~alkavan@IGLD-84-228-126-217.inter.net.il] has quit [Ping
timeout: 252 seconds]
23:42 -!- Nitro [~Nitro@unaffiliated/nitro] has quit [Ping timeout: 276 seconds]
23:42 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
23:43 -!- boscop [~boscop@f055253043.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
23:43 -!- alkavan [~alkavan@IGLD-84-229-168-152.inter.net.il] has joined #go-nuts
23:44 -!- boscop [~boscop@unaffiliated/boscop] has joined #go-nuts
23:46 -!- wchicken [~chicken@66-117-135-135.rdsl.lmi.net] has quit [Ping timeout:
252 seconds]
23:46 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
23:47 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
23:47 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:54 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
23:55 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
23:56 -!- Bigbear1 [~Cody@d173-181-44-106.abhsia.telus.net] has joined #go-nuts
23:57 < dforsyth> meatmanek: lets think of a way to get go into our tree
23:57 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
23:59 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
--- Log closed Fri Jun 10 00:00:53 2011