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

--- Log opened Mon Jun 13 00:00:07 2011
--- Day changed Mon Jun 13 2011
00:00 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has joined #go-nuts
00:03 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
00:08 -!- nictuku [~nict@unaffiliated/nictuku] has quit [Remote host closed the
connection]
00:09 -!- nictuku [~nict@unaffiliated/nictuku] has joined #go-nuts
00:09 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
00:15 -!- dshep` [~user@c-76-103-91-143.hsd1.ca.comcast.net] has quit [Ping
timeout: 258 seconds]
00:21 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has joined #go-nuts
00:24 -!- thakis_ [~thakis@216.239.45.130] has joined #go-nuts
00:29 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts
00:29 -!- bytbox [~s@96.26.105.154] has quit [Read error: Connection reset by
peer]
00:31 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 240 seconds]
00:34 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error:
Connection reset by peer]
00:35 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts
00:36 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
00:42 -!- foocraft [~ewanas@78.100.200.92] has quit [Quit: if you're going....to
san.  fran.  cisco!!!]
00:48 < message144> Is it expensive to iterate through a loop many times and
call append() on a slice with each iteration?
00:58 < exch> when a slice reaches maximum capacity, append will double it's
capacity instead of just resizing to the size required to hold the new data
00:59 < Tv> message144: should be relatively cheap; if you know the eventual
size, preallocate it
00:59 < Tv> or even have a good guess
00:59 < message144> exch, tv, ok that helps.  thanks
00:59 < Tv> but this is seriously stuff most non-C programmers wouldn't even
know about ;)
01:02 < message144> haha
01:02 < message144> I am trying very hard to not think about C as I am
learning this
01:03 -!- foocraft [~ewanas@78.100.200.92] has joined #go-nuts
01:06 -!- ghais [~ghais@c-68-32-79-77.hsd1.ga.comcast.net] has joined #go-nuts
01:09 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping timeout:
240 seconds]
01:10 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts
01:10 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
01:14 -!- bill_h [~bill_h@c-66-177-105-100.hsd1.fl.comcast.net] has quit [Read
error: Operation timed out]
01:14 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 260 seconds]
01:23 -!- bill_h [~bill_h@c-66-177-105-100.hsd1.fl.comcast.net] has joined
#go-nuts
01:23 -!- foocraft [~ewanas@78.100.200.92] has quit [Quit: leaving]
01:29 -!- ghais [~ghais@c-68-32-79-77.hsd1.ga.comcast.net] has quit [Quit:
Computer has gone to sleep.]
01:31 -!- bobody [~alexc@unaffiliated/alexc] has quit [Quit: WeeChat 0.3.4]
01:35 -!- franciscosouza_ [~francisco@187.105.18.105] has joined #go-nuts
01:36 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error:
Connection reset by peer]
01:39 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has joined #go-nuts
01:39 < exch> I managed to hack exp/gui/X11 to generate window resize events
and allow a window to be launched with a custom initial size
01:39 < exch> The resize event is a bit problematic though
01:41 < exch> The gui api suggests that the resize event causes the
underlying image buffer to be regenerated to the right size.  But X issues a
billion resize events when you resize a window.  This means it'll destroy and
recreate an equal amount of large image buffers.
01:41 < exch> Is it acceptable to slap a timer on here?  to ensure it only
actually recreates the image buffer once every x milliseconds?
01:48 -!- bill_h [~bill_h@c-66-177-105-100.hsd1.fl.comcast.net] has quit [Quit:
leaving]
01:49 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has joined #go-nuts
01:50 < str1ngs> exch: possibly.  is gui/x11 using xlib or xdg?
01:50 < exch> A go implementation of xcb
01:50 < str1ngs> ok xcb
01:51 < str1ngs> umm I'm not sure I'll assume this is in a select?  because
I have the behaviour in another event driven situation.  and I can not figure how
to throttle it either
01:53 < str1ngs> but you could say use time.Tick and nest the select in that
01:53 < str1ngs> ie tick = time.Tick(1e09) then case <-tick: you get the
idea
01:54 < exch> the ResizeRequest event comes in from the X server and parsed
bythe go lib.  For every one of them, it pushes a gui.ConfigEvent in to
window.EventChannel.The timer would have to be at this level and ensure that we
only send into EventChannel once every x millisecs
01:54 -!- franciscosouza [~francisco@187.105.18.105] has quit [Quit:
franciscosouza]
01:54 < exch> not difficult to do, just wondering if there would be a more
elegant way to handle this
01:55 < str1ngs> ya if its buffered tick might not help
01:55 < exch> i'm not particularly familiar with xcb or the plans there may
be for the gui package
01:55 < str1ngs> I'm checking my toywm see how I handled it there
01:56 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Ping timeout: 276 seconds]
01:56 -!- nannto [~nanto@pee5b70.tokyff01.ap.so-net.ne.jp] has joined #go-nuts
01:56 < str1ngs> hmm seem I didnt need to throttle but I can see where the
ResizeRequest could need it
01:57 < str1ngs> but I used x-go-binding.googlecode.com/hg/xgb not gui/xlib
01:58 < exch> there is a different way to handle it.  Just send the
ConfigEvent to the channel as it comes in, but don't recreate the image buffer and
leave that up to the host application/ It will require an extra public method on
the gui.Window interface though.  One that explicitely allows resizing of the
image buffer
01:58 -!- benjack [~benjack@bb219-74-12-152.singnet.com.sg] has joined #go-nuts
02:00 < exch> mm that might cause confusion..  win.Resize(w, h) wouldmake
ont hink it is used to resize the actual window and not the image buffer
02:00 < exch> s/ont hink/one think/
02:00 -!- tildeleb [~leb@c-24-7-85-179.hsd1.ca.comcast.net] has quit [Read error:
Connection reset by peer]
02:01 -!- tildeleb [~leb@c-24-7-85-179.hsd1.ca.comcast.net] has joined #go-nuts
02:07 -!- jemeshsu [~jemeshsu@bb220-255-88-127.singnet.com.sg] has quit [Quit:
jemeshsu]
02:08 -!- robteix [~robteix@host16.190-230-219.telecom.net.ar] has quit [Quit:
Leaving...]
02:29 -!- srid [~srid@unaffiliated/srid] has joined #go-nuts
02:32 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
02:41 -!- JhonnyEverson [~khronnuz@187.65.20.163] has joined #go-nuts
02:43 < JhonnyEverson> Good night.  Does someone know how to build Go on Mac
OSX 10.6.7?I am getting a error on NET packages.  I have been googling all day.
02:44 < str1ngs> JhonnyEverson: during tests?
02:45 < JhonnyEverson> install
02:45 < str1ngs> can you paste the error?
02:45 < JhonnyEverson> cgo_bsd.go:5[_obj/cgo_bsd.cgo1.go:8]: undefined:
_Cconst_AI_MASK
02:45 < JhonnyEverson> cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined:
_Cconst_AI_ALL
02:45 < JhonnyEverson> cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined:
_Cconst_AI_V4MAPPED
02:45 < JhonnyEverson> cgo_unix.go:69[_obj/cgo_unix.cgo1.go:72]: undefined:
_Cconst_AI_CANONNAME
02:45 < JhonnyEverson> make[1]: *** [_go_.6] Error 1
02:45 < JhonnyEverson> make: *** [net.install] Error 1
02:46 < JhonnyEverson> tried many times, weekly and release.  386 and amd64.
same result;
02:47 < JhonnyEverson> I am using Xcode 4.2 btw
02:47 < str1ngs> ya sorry I dont use mac enough . more a linux guy.  if
someone here doesnt know try the ML
02:48 < JhonnyEverson> There's a open question about it on stackoverflow.
I'll try the list if someone here doesn't know.  Thanks
02:49 < str1ngs> ML is your best bet
03:03 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
03:04 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
This computer has gone to sleep]
03:06 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has quit [Quit:
TheCritic]
03:14 -!- JhonnyEverson [~khronnuz@187.65.20.163] has quit [Quit: JhonnyEverson]
03:16 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has joined
#go-nuts
03:19 < manveru> anybody here into namecoins?
03:19 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts
03:19 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
03:19 < manveru> just wrote a simple dns proxy that handles .bit domains by
looking up namecoind records: https://github.com/manveru/godns
03:37 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Quit: Leaving]
03:48 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
03:51 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts
03:51 -!- stalled [~stalled@unaffiliated/stalled] has quit [Quit: ...]
03:52 -!- benjack [~benjack@bb219-74-12-152.singnet.com.sg] has quit [Quit:
Leaving.]
03:53 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined
#go-nuts
03:57 -!- djbrown_ [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit
[Read error: Operation timed out]
03:57 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Ping timeout: 276
seconds]
03:58 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has joined
#go-nuts
03:58 -!- djbrown [~djbrown@h236n2-g-va-a12.ias.bredband.telia.com] has quit
[Changing host]
03:58 -!- djbrown [~djbrown@unaffiliated/djbrown] has joined #go-nuts
04:00 -!- benjack [~benjack@bb219-74-12-152.singnet.com.sg] has joined #go-nuts
04:05 -!- pjm0616 [~user@110.8.235.86] has quit [Ping timeout: 252 seconds]
04:07 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
04:08 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
04:09 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:10 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:15 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
04:20 -!- bobody [~alexc@unaffiliated/alexc] has joined #go-nuts
04:20 -!- srid [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to
sleep.]
04:25 -!- Project-2501 [~Marvin@82.84.83.251] has joined #go-nuts
04:26 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts
04:29 -!- PortatoreSanoDiI [~Marvin@82.84.83.251] has joined #go-nuts
04:30 -!- Project-2501 [~Marvin@82.84.83.251] has quit [Read error: Connection
reset by peer]
04:38 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has quit [Quit:
TheCritic]
04:41 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-149-42.clienti.tiscali.it] has
joined #go-nuts
04:42 < manveru> damn, working with json can be tough...
04:43 < manveru> got a triple nested type switch...
04:45 -!- PortatoreSanoDiI [~Marvin@82.84.83.251] has quit [Ping timeout: 255
seconds]
04:47 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has joined #go-nuts
04:49 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
04:53 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
05:11 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving]
05:14 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
05:14 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
05:16 -!- bobody [~alexc@unaffiliated/alexc] has quit [Quit: WeeChat 0.3.4]
05:25 -!- yiyus [1242712427@je.je.je] has quit [Ping timeout: 240 seconds]
05:39 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has quit [Quit:
leaving]
05:42 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts
05:46 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
05:54 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Connection reset by peer]
05:54 -!- sacho [~sacho@90.154.206.145] has quit [Ping timeout: 255 seconds]
05:57 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
06:00 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has quit [Quit:
This computer has gone to sleep]
06:03 -!- coderendezvous [~coderende@adsl-98-66-2-41.mem.bellsouth.net] has joined
#go-nuts
06:06 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
06:22 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
06:22 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
06:31 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
06:33 -!- sacho [~sacho@91.139.247.244] has joined #go-nuts
06:35 -!- sacho [~sacho@91.139.247.244] has quit [Max SendQ exceeded]
06:39 -!- sacho [~sacho@91.139.247.244] has joined #go-nuts
06:39 -!- sacho [~sacho@91.139.247.244] has quit [Max SendQ exceeded]
06:42 -!- sacho [~sacho@91.139.247.244] has joined #go-nuts
06:46 -!- ijknacho [~goofy@cpe-72-190-64-3.tx.res.rr.com] has joined #go-nuts
06:47 < str1ngs> I need to satisfy this C signature,
https://gist.github.com/08efd20c77f61a4702dd , I have most of the gtk stuff worked
out.  but I'm haveing trouble with the char **argv
06:49 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Read
error: Operation timed out]
06:55 -!- sacho [~sacho@91.139.247.244] has quit [Ping timeout: 260 seconds]
06:55 < hallas> Im wondering, is what should I call my my source file if it
should represent something that is spelled out in two words?  Like Pull Request?
06:56 < hallas> pull_request.go?  pullrequest.go?  Whats the general way to
do it?
06:56 < hallas> I know it doesnt matter but still :-)
06:56 < str1ngs> generally one word.  like foo.go
06:56 < str1ngs> accept for test which would be foo_test.go
06:56 < hallas> ye^
06:56 < str1ngs> and arch foo_linux.go
06:57 < str1ngs> I think that last one is right
06:57 < hallas> thanks :)
06:57 < str1ngs> so odds are you might want request.go?
06:58 < hallas> Depends, I can figure that out later, just wanted to clarify
that whole underscore deal
06:58 < message144> Just discovered named results in Go..  Very cool :)
06:58 < hallas> message144: yes its very nice syntax
06:59 < str1ngs> hallas: however I do see some foo_bar.go in the go source
so pull_request.go could work
06:59 < hallas> message144: its one of the features in Go, I wonder why I
havent seen before
06:59 < message144> hallas, yeah it actually made me smile
06:59 < hallas> alot of things about go will make you smile indeed
07:01 < message144> hallas, i sat down this weekend determined to learn
it...  I am definitely foreseeing myself phasing C in the coming years for this
07:01 < hallas> message144: dont delay!
07:02 < message144> hallas, my big issue is that to use it for my Real Work,
I need to be able to build shared objects, which I understand is still iffy
07:03 < str1ngs> message144: its not so bad if you use gccgo.  but its still
not fully shared
07:03 < str1ngs> message144: more like the stdlib is shared
07:04 < str1ngs> libgo sorta thing
07:04 < message144> str1ngs, yeah, i didnt have luck getting gccgo working
on Ubuntu 10.04..  But I assume all these things will be ironed out with time.  In
the mean time I may as well learn and practice, so when they are ready, I can use
it for my real work
07:05 < str1ngs> message144: gc is good for now ya.
07:05 < message144> I could make a very strong argument in favor of using
Go, if I could seamlessly access shared objects from our other languages...  That
way there is nothing to lose and everything to gain
07:06 < message144> ...  in regards to my work
07:07 < str1ngs> you can in away atleast with C. useing cgo
07:07 < message144> oh, i didnt know that..  ill look into that..  thanks
07:08 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
07:08 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
07:08 < message144> str1ngs, you think gc will support shared objects in the
next year or so
07:08 < str1ngs> if you are use to C then should not bad that bad.  I
struggle with it only because well I'm not a C programmer
07:09 < str1ngs> message144: I would say no.  but static binaries can be
useful to.  ie easy to distribute..  compile once sorta thing
07:10 < str1ngs> cross compiling is also trivial in go.  often over looked
07:10 < message144> yeah, i havent gotten that far yet
07:11 < str1ngs> imo dont sweat it right now.  often go does things in away
you dont expect.  but it rather refreshing
07:13 < message144> yeah..  just discovered "defer"..  another one of those
weird things that completely makes perfect sense
07:13 < message144> heh
07:13 < str1ngs> yes close files close to where you open them makes it more
readable.
07:13 < str1ngs> has other intresting uses also
07:14 < hallas> many interesting uses :D
07:14 < message144> yeah, seems like one could have fun with that
07:15 < hallas> message144: anyway, C is very old, Go is new, nothing odd
about it being crazily better :P
07:15 -!- yiyus [1242712427@je.je.je] has joined #go-nuts
07:15 -!- mgray [~mgray@li226-224.members.linode.com] has joined #go-nuts
07:16 < message144> hallas, oh yeah I definitely agree
07:16 < hallas> Alot of experience gone into the melting pot this time, and
its definately the right people who decided which mold to use
07:16 < str1ngs> agreed.  I cant stand how C handles strings
07:16 < message144> funny thing is that Go seems to actually address every
single thing i hate about C
07:16 < message144> well except for one
07:16 < message144> heh
07:16 < str1ngs> whats that?
07:16 < hallas> str1ngs: funny your name is strings anyway, but what cant
you stand about it?
07:17 < message144> str1ngs, pointer declaration syntax (using *)
07:17 -!- sacho [~sacho@90.154.206.145] has joined #go-nuts
07:17 < hallas> message144: pointers are distinct types, how would you else
specify their type?
07:18 < hallas> is the symbol wrong?  or would you rather not have it
07:18 < hallas> ?
07:18 < str1ngs> hallas: ah my name is more guitar related.  I cant stand
working with strings in C ie concatenation.  memory handling
07:18 < message144> hallas, well my issue is that it can be confusing on
quick glance sometimes..  since it serves two purposes
07:19 < str1ngs> hallas: I find pointers in go much saner
07:19 < str1ngs> but I'm still weak with them but that due to lack of C
skills
07:19 < message144> hallas, what i mean is that in C, ther asterisk can be
used for pointer declaration, but also for indirection
07:19 < hallas> str1ngs: it must be because you are not that well versed in
C, because in my mind abstraction its close to the same
07:19 < message144> which i feel can be confusing occasionally
07:19 < hallas> but thats just me
07:20 < str1ngs> hallas: ya actually think I learned more about C us go then
before.  I've been more script languaged orient.  thing go is a nice mix
07:20 < str1ngs> think*
07:20 < hallas> str1ngs: ruby and stuff :P ?
07:20 < str1ngs> message144: you can use new() also if that helps?
07:20 < str1ngs> hallas: aye
07:20 < hallas> ah hehe alright
07:21 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 246 seconds]
07:21 < hallas> well Go is definately the best way to meet memory handling
:)
07:21 -!- sacho [~sacho@90.154.206.145] has quit [Read error: Connection reset by
peer]
07:21 < message144> hallas, so in go: 'var s *string; s = &a; *s = "foo"' ..
Two different uses of asterisk
07:21 < str1ngs> with speeds close to C. with lots of romm to improve
07:23 < hallas> message144: I dont follow you 100%
07:23 < str1ngs> message144: not sure if string is a good an example.  must
times s := "bar" is all you need
07:23 < str1ngs> pointer might be over kill
07:24 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 260
seconds]
07:24 < message144> hallas, oh i just mean one declares a pointer..  the
other does pointer indirection..  i just feel like they should have a different
operator since they are different types of tasks..
07:25 < message144> str1ngs, true..  perhaps string wasnt best example
07:25 < hallas> message144: alright, string is a really bad example hehe
07:25 < hallas> it wouldnt work with *s = "asf"
07:26 < message144> hallas, doh yeah...  an array would have been better
07:28 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
07:28 < str1ngs> speaking of pointers...  and C.. I need to convert a go
string to this char **argv
07:28 < str1ngs> which is an array?
07:28 < hallas> its an array of strings
07:28 < str1ngs> what I thought
07:28 < hallas> hehe
07:28 < hallas> fucked up type :P
07:29 < str1ngs> but how hard to convert say a slice or something to that
07:29 < hallas> but still kinda of cool, makes you think about what computer
science really is
07:29 < str1ngs> ie string{"/bin/bash","bash"}
07:29 < hallas> I guess a char is a byte?
07:30 < str1ngs> I thought *char was a string
07:31 < str1ngs> so **char would be an array of strings
07:31 < str1ngs> but to convert to that I have no clue
07:31 < hallas> Yes but only because *char is the start of a string
07:31 < hallas> So I'd guess youd have to align your go slices like that in
memory
07:31 < hallas> you'd*
07:32 < str1ngs> ah ya, that makes sense
07:33 < hallas> I dont think to this day that C has real strings
07:33 < hallas> Its been a while :-)
07:33 < hallas> But you can do char name[] = "Hallas";
07:34 -!- Adys [~Adys@cpc8-chap8-2-0-cust224.aztw.cable.virginmedia.com] has
joined #go-nuts
07:34 < hallas> ehm, with a lenght in that array ofc
07:34 -!- Adys [~Adys@cpc8-chap8-2-0-cust224.aztw.cable.virginmedia.com] has quit
[Changing host]
07:34 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
07:34 < |Craig|> str1ngs: if your go strings have a null at the end, you can
just take the pointers out of the string struct and load them into an array with a
null at the end, and get the address of the array and use as a C char **?
07:35 < hallas> |Craig|: why null at the end??
07:35 < |Craig|> hallas: endless strings are fun, but not useful.  Go
strings have lengths, C strings don't
07:35 < |Craig|> same for the array
07:36 < hallas> |Craig|: you're not making sense, why would they be endless?
07:36 < hallas> sense to me I mean
07:36 < vsmatck> Array bounds checking puts the kibosh on buffer overrun
exploits.  I like that.
07:36 < |Craig|> hallas: you iterate until you get a null, so if you leave
it off, you will wonder off into other memory thinking its a string
07:37 < str1ngs> |Craig|: do you have an example would help me understand
better
07:37 < str1ngs> |Craig|: but ya basicallly I need a char **
07:37 < |Craig|> str1ngs: nope, I have no example.  I've never used char **,
or used C with go :)
07:37 < hallas> str1ngs: In order for your C program to handle the **char
data you would have to sort of encode the strings in the memory
07:38 < str1ngs> so probably useing unsafe.Pointer
07:38 < str1ngs> ok I'll sort though matts gtk stuff bet he has something
like this already
07:39 < |Craig|> str1ngs: by the way, my suggestion of how to do it relies
really heavily on implementation specific stuff, and is prabably wrong as I don't
really know the implementation very well.  Making a copy in real C data
datastructures is prabably a better idea
07:41 < hallas> str1ngs: http://en.wikipedia.org/wiki/C_string
07:41 < str1ngs> noramally I can just use C.CString("blah") but this case
does not apply
07:41 < str1ngs> since really what I want iirc is
[]string{"/bin/bash","bash"} sorta thing
07:42 < str1ngs> hallas: that link is helpful thanks
07:43 < hallas> []string{"/bin/bash","bash"} must become /bin/bash\0bash\0\0
in memory as far as I can see to be a **char
07:43 < |Craig|> This is wrong, but indicates close to what you might need:
[]C.CString{C.CString("/bin/bash"),C.CString("bash")}
07:43 < |Craig|> hallas: nope
07:43 < hallas> Ah well
07:43 < hallas> its pointer to pointer
07:43 < hallas> so...  :P
07:43 < hallas> my bad
07:43 < |Craig|> it needs to be pointers to null terminated strings.  What
you showed could not be indexed into
07:43 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
07:44 < hallas> Mine would be char *argv[] ?
07:44 < hallas> Oh no
07:44 < hallas> !!!
07:45 -!- coderendezvous [~coderende@adsl-98-66-2-41.mem.bellsouth.net] has quit
[Quit: This computer has gone to sleep]
07:45 < hallas> str1ngs: I hope I dont confuse you too much
07:45 < |Craig|> hallas: yours is still char*, just a non standard use of
one
07:46 < |Craig|> well, a pointer to its first byte would be char*....
07:55 < hallas> This is weird, I have a file foo.go and a file foo_test.go,
gotest says I dont have foo_test.go :-(
07:56 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
07:59 < str1ngs> its a package right?
08:00 < hallas> ye
08:00 < hallas> but I think I figured it out
08:00 < str1ngs> also case sensative etc
08:01 < hallas> me and gotest misunderstood eachother
08:01 < str1ngs> http://golang.org/doc/code.html might help
08:01 < str1ngs> mainly testing section for this
08:04 < hallas> thx
08:04 -!- adlan [~adlan@175.144.46.123] has joined #go-nuts
08:07 < str1ngs> that does not cover benchmarks but godoc testing . will
have an benchmark example
08:07 -!- mgray [~mgray@li226-224.members.linode.com] has quit [Quit: Lost
terminal]
08:08 < message144> So, I know that new() would be more appropriate for
this, but I am curious what is the reasoning as to why this is not possible: `var
v *[]int = &make([]int, 100)` ?
08:09 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
08:10 < jnwhiteh> message144: assign it to a variable and you can
08:10 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
08:10 < jnwhiteh> you just can't do it inline like that
08:11 < jnwhiteh> message144:
http://golang.org/doc/go_spec.html#Address_operators explains when you can use the
Address operator, and that's not one of the cases
08:12 < message144> jnwhiteh, oh ok that clears it up.  thank you
08:12 < jnwhiteh> np!
08:12 -!- wrtp [~rog@92.30.144.148] has joined #go-nuts
08:12 < hallas> message144: Or
08:12 < hallas> My little magic trick
08:13 < hallas> var v *[100]int = &[100]int{}
08:13 < hallas> Use composite literals
08:13 < jnwhiteh> but then you have to slice that to use it anywhere
08:13 < jnwhiteh> which is not always a problem
08:13 < jnwhiteh> but []int, 100 is a different type from [100]int =)
08:13 < message144> jnwhiteh, so to slice it would be: `var v *[]int =
&[100]int{}[:]` ?
08:14 < jnwhiteh> that might work, yes
08:14 < message144> heh, that looks like something you might see in perl :)
08:14 < hallas> it doesnt work :-(
08:14 < jnwhiteh> a slice is already a reference type, though
08:14 < message144> hallas, although, yes I do tend to like the composite
literal syntax for some strange reason
08:14 < jnwhiteh> is there much need for this?
08:15 < message144> jnwhiteh, no need for me..  just excersizes in
curiosity..  thats all
08:15 < hallas> message144: an yreason int[100] wont do when make([]int,
100) does?  - in your case?
08:15 < jnwhiteh> =)
08:16 < message144> hallas, I am just poking around, being curious...  so
yeah they both will do the job at this point
08:16 < hallas> Otherwise, the empty slice would probably work aswell, now
with append
08:21 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
08:21 < message144> ok folks, thanks for the help...  I'm sad this can only
be a weekend hobby for now :(
08:22 < message144> ill see you guys next weekend
08:22 < str1ngs> later
08:22 -!- message144 [~message14@cpe-75-83-155-145.socal.res.rr.com] has quit
[Quit: gone]
08:24 -!- ijknacho [~goofy@cpe-72-190-64-3.tx.res.rr.com] has quit [Read error:
Operation timed out]
08:26 < wrtp> hallas: var v = new([100]int) is equivalent to your line
08:29 < wrtp> > I am curious what is the reasoning as to why this is not
possible: `var v *[]int = &make([]int, 100)` ?
08:29 < wrtp> oh, they've left
08:29 < hallas> wrtp: well composite literals are definately only useful
when you put values in whatever your allocating as well
08:29 < hallas> in comparison to make, new
08:30 < wrtp> yeah, i tend to use new(T) rather then &T{} although they're
equivalent
08:31 < hallas> I use composite literals if I want slices with stuff in it,
like []int{5, 6} but for structs I find it cleaner to do v := new(T), v.X = 1 etc
08:32 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 244 seconds]
08:34 < str1ngs> hallas: thats my rule of thumb also
08:34 < wrtp> hallas: i prefer composite literals for structs.  i like v :=
&T{A: foo, B: bar, Etc: etc}
08:34 < wrtp> here's an evil little snippet:
08:34 < wrtp> var x = &(&struct{X []int}{make([]int, 100)}).X
08:34 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
08:35 < hallas> wrtp: evil but i'd love to see a good purpose for it :D
08:35 < wrtp> one liner for t := make([]int, 100); x := &t
08:35 < hallas> thats a one liner too :D
08:36 < wrtp> i.e.  it's a way of "taking the address" of any
non-addressable value
08:36 < wrtp> hallas: not if you run gofmt on it :-)
08:36 < hallas> hehe
08:38 -!- Sisten [~Sisten@s213-103-208-147.cust.tele2.se] has joined #go-nuts
08:41 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:47 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Remote
host closed the connection]
08:53 -!- tildeleb [~leb@c-24-7-85-179.hsd1.ca.comcast.net] has quit [Quit:
tildeleb]
09:17 -!- benjack [~benjack@bb219-74-12-152.singnet.com.sg] has quit [Ping
timeout: 250 seconds]
09:20 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has joined #go-nuts
09:25 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
09:28 -!- n____ [~alouca@212.50.97.8] has joined #go-nuts
09:32 < n____> Whats wrong with this one?  http://pastie.org/2060035
09:33 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
09:44 -!- virtualsue [~chatzilla@nat/cisco/x-mmbwcvalgtcwhdjv] has joined #go-nuts
09:47 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has quit [Ping timeout:
240 seconds]
09:48 < hallas> n____: your "x" is a struct of the wrong type, inside your
struct the right type is, reference that inside your struct instead
09:48 < hallas> x.X
09:49 < n____> i have embedded the websocket inside by struct
09:49 < n____> i used io.ReadWritter interface instead, works fine now
09:49 < n____> thanks
09:50 -!- ahf [ahf@irssi/staff/ahf] has quit [Read error: Operation timed out]
10:01 -!- adlan [~adlan@175.144.46.123] has quit [Remote host closed the
connection]
10:02 -!- n____ [~alouca@212.50.97.8] has quit [Quit: n____]
10:11 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has quit []
10:25 -!- Beldur [~Miranda@cable-87-79-206-223.netcologne.de] has joined #go-nuts
10:26 < Beldur> Can someone explain to me, why a simple Hello World http
server in nodejs serves 7400 req/sec and the same server in googles GO only serves
1800 req/sec ?
10:28 -!- alehorst [~alehorst@186.212.212.206] has joined #go-nuts
10:30 -!- rejb [~rejb@unaffiliated/rejb] has quit [Quit: .]
10:33 < mnemoc> Beldur: V8 is *very* smart
10:35 <@adg> Beldur: what's the benchmark?
10:35 < Namegduf> Beldur: The library not being very optimised (for that use
case), your code not being very optimised, take your pick.  Doesn't mean much on a
wider scale.
10:36 * adg sets up an impromptu benchmark :)
10:37 < Beldur> hmm
10:37 < Beldur> I tried the basic helelo world example
10:38 < Beldur> and made "ab -n 5000 -c 10"
10:38 <@adg> same server or different server?
10:38 < Beldur> same
10:38 < Beldur> both programs on on the same machine
10:38 <@adg> did all the requests complete?
10:38 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
10:38 < Beldur> one on port 8080 the other on 8081
10:39 < Beldur> yes
10:39 < wrtp> Beldur: i saw report somewhere that go was being slow,
ironically, because it was serving the requests too fast
10:39 < Beldur> func handler(w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "Hello, world"); }
10:39 < Beldur> func main() { http.HandleFunc("/", handler);
http.ListenAndServe(":8080", nil); }
10:39 < wrtp> which meant that there was lock contention going on
10:39 < Beldur> is there a basic error?
10:39 < Beldur> this was my GO code
10:40 < Namegduf> That's possible.
10:40 < wrtp> the problem might actually be in ab
10:40 < Namegduf> If Go's being more multithreaded then you would see poorer
performance for trivial cases like that.
10:40 < Beldur> I tested it on my laptop.
10:40 < Beldur> hm
10:41 < hallas> try with stay alive connections
10:41 < Beldur> ahh
10:41 < Beldur> ye
10:41 < Beldur> nodejs makes keep alive cons as standard
10:41 < hallas> ye i saw this nodejs hype before :D
10:41 <@adg> weird, compiling node.js on my freebsd machine i get an odd
compile error
10:41 <@adg> # Fatal error in CALL_AND_RETRY_0
10:41 <@adg> # Allocation failed - process out of memory
10:42 <@adg> "out of memory" doesn't seem likely in this case
10:43 <@adg> Beldur: yeah, try ab -k
10:44 < aiju> adg: isn't it C++ code?
10:44 <@adg> aiju: yes, this is part of the v8 build
10:44 < aiju> "out of memory" + compiling C++ seems natural to me
10:44 < hallas> shouldnt that depend on the compiler?
10:45 < hallas> lets hear it, what does ab -k give us :D ?
10:46 < Beldur> nodejs 5000/sec go 1800/sec :/
10:46 < Beldur> but
10:46 < Beldur> nodejs sends a keep alive header automatically
10:46 < Beldur> where as go does not
10:46 < aiju> what are you even benchmarking?
10:46 < aiju> HTTP?
10:46 < Beldur> ye
10:46 -!- MaL0 [~ircd@unaffiliated/mal0] has quit [Remote host closed the
connection]
10:46 < hallas> You can enable it via golang.Transporter I think
10:46 < hallas> lol
10:46 < hallas> http.Transport even
10:47 < str1ngs> hallas: 2 to beam up
10:47 < Namegduf> Funny that Go doesn't default to keep alive.
10:47 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
10:47 <@adg> bartbes: what version of Go?
10:47 < Namegduf> Perhaps a possible improvement?
10:47 < hallas> str1ngs: what u mean :D ?
10:47 < jnwhiteh> HTTP/1.1 it does
10:47 < jnwhiteh> HTTP/1.0 doesn't really have protocol-level support for
keep-alive
10:47 < jnwhiteh> and ab uses 1.0
10:47 < str1ngs> hallas: Transporter..  star trek :P
10:47 < Namegduf> Ah, I see.
10:47 <@adg> the http package as of release seems to have keepalive enabled
by default http://golang.org/pkg/http/#Transport
10:47 < jnwhiteh> keep-alive was grafted on top of HTTP/1.0
10:47 < jnwhiteh> adg: for HTTP/1.1 =)
10:48 <@adg> jnwhiteh: strange that ab has a -k (keepalive) flag
10:48 < jnwhiteh> and that's the correct behaviour
10:48 < Namegduf> Beldur: Try a benchmark program which uses a similar
version of HTTP to that used by all modern browsers
10:48 <@adg> jnwhiteh: know of a better benchmarking program?
10:48 < jnwhiteh> I prefer httperf
10:48 < jnwhiteh> to say the least =)
10:49 < jnwhiteh> you can always dump the protocol/headers to see what ab is
sending
10:50 <@adg> jnwhiteh: i'll tryp httperf :)
10:50 < wrtp> Beldur: i wonder what happens if you put time.Sleep(40000)
inside your hello world handler
10:50 < jnwhiteh> Beldur: have the Hello World node.js handler
10:50 < jnwhiteh> i'll run tests locally and see if I can figure anything
out
10:50 < jnwhiteh> given that this relates to my research quite heavily, its
not even really a distraction :P
10:50 < jnwhiteh> nvm found one.
10:51 < Beldur> hm?
10:51 < Beldur> my nodejs is
10:51 < Beldur> http.createServer(function(req, res) {
10:51 < Beldur> res.writeHead(200, {'Content-Type': 'text/plain;
charset=utf-8'});
10:51 < Beldur> res.end('Hello, world');
10:51 < Beldur> }).listen(8081);
10:51 < jnwhiteh> k
10:52 < Beldur> hmm with httperf i get 7700/sec on GO and 16800/sec for
nodejs
10:52 -!- franciscosouza [~francisco@187.105.18.105] has quit [Read error:
Connection reset by peer]
10:53 < Namegduf> Wouldn't Go be spawning and killing goroutines very
rapidly here?
10:53 < Beldur> httperf --server=localhost --port=8080 --uri=/
--num-conns=10 --num-calls=10000
10:53 -!- franciscosouza [~francisco@187.105.18.105] has joined #go-nuts
10:53 < wrtp> Namegduf: that should not be a problem
10:53 < jnwhiteh> Beldur: you're testing the wrong thing
10:54 < Beldur> :(
10:54 < jnwhiteh> you're testing 10 connections, with 10,000 requests per
connectin
10:54 < jnwhiteh> that's not a useful benchmark
10:54 < jnwhiteh> =)
10:54 < wrtp> jnwhiteh: regardless, it should still be as fast as node.js,
right?
10:54 < jnwhiteh> well, its useful for *something*
10:54 < jnwhiteh> wrtp: not necessarily
10:54 < Beldur> ah so conns=10000 and calls=10 ?
10:54 < jnwhiteh> and event dispatch model is quite different from whats
being used here
10:54 < Namegduf> Concurrency has costs.
10:55 < aiju> the price of sanity
10:55 < jnwhiteh> they're both concurrency =)
10:55 < wrtp> The cost shouldn't be that high...
10:55 < aiju> node.js isn't concurrent, node.js is insane
10:55 < jnwhiteh> aiju: truth!
10:55 < Namegduf> wrtp: It's a "hello world" server
10:55 < jnwhiteh> I'm installing node now
10:55 < wrtp> Beldur: did you try that Sleep?
10:56 < aiju> asynchronous I/O / callbacks become a horrible mess when you
try to do anything even remotely serious with it
10:56 < Namegduf> So it wouldn't be massively surprising if concurrency
overhead dominated execution time if there was a lot of it.
10:56 < Beldur> wrtp: no
10:56 < Beldur> wrtp: what do you mean
10:56 < wrtp> put time.Sleep(40000) inside your hello world method.
(actually, <-time.After(40000) might be better)
10:57 < wrtp> i just wondered about the lock contention hypothesis
10:57 * Namegduf doesn't understand why time.Sleep isn't just implemented as the
latter
10:57 < wrtp> Namegduf: because time.Sleep can be faster
10:57 < wrtp> Namegduf: and time.After uses time.Sleep to implement
itself...
10:57 < wrtp> kinda
10:58 < aiju> performance optimized sleeping?
10:58 < Namegduf> Well, what Sleep does could become an internal function.
10:58 < Namegduf> aiju: Sleep does a syscall and will block an entire
thread.
10:58 < jnwhiteh> Beldur: you shouldn't be using fmt
10:58 < jnwhiteh> use io.WriteString, for one
10:58 < wrtp> in not too long, timeouts will be integrated into the language
10:58 < jnwhiteh> but i'l looking at it now.
10:58 < Beldur> wrtp: Im very new to GO. Do I need to import "time" ? And
then use time.After(40000) in my handler function ?
10:58 < wrtp> Beldur: yes
10:58 < aiju> 13:03 < wrtp> in not too long, timeouts will be
integrated into the language
10:58 < aiju> wtf?
10:59 < wrtp> note: the "<-" before time.After
10:59 < wrtp> aiju: russ has mentioned it a few times
10:59 < aiju> wow
10:59 < wrtp> select should allow a timeout
10:59 < Namegduf> Why do you need them?  <-time.After(<timeout>) is
nice and pretty.
10:59 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts
10:59 < wrtp> Namegduf: it's not close to optimal
10:59 < aiju> Namegduf: that's what i heard pike saying about the topic
10:59 < wrtp> and it accumulates garbage
10:59 < Namegduf> wrtp: In what way?
10:59 < wrtp> unless you use time.NewEvent
10:59 < Namegduf> And why can't the time package be improved to avoid it?
11:00 -!- tgall_foo [~tgall@206.9.88.154] has quit [Ping timeout: 240 seconds]
11:00 < wrtp> Namegduf: time.After adds an event to the queue.  if the
timeout is not triggered, then the event remains in the queue.
11:00 < wrtp> (i.e.  it's garbabe)
11:00 < wrtp> s/abe/age/
11:00 < Beldur> wrtp: no difference
11:01 < Namegduf> wrtp: So the problem is that .Stop() isn't called on the
timer?
11:01 < hallas> Beldur: how many requests and how many conns u use with AB?
11:01 -!- zcram [~zcram@77-233-75-171.cdma.dyn.kou.ee] has joined #go-nuts
11:02 < Beldur> ab -n 50000 -c 10
11:03 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
11:04 < hallas> I can do 2999/s
11:04 < hallas> without fmt
11:06 < wrtp> Namegduf: yes
11:06 < Namegduf> That makes sense.
11:06 < wrtp> Beldur: ok, interesting
11:07 < Namegduf> Annoying overhead to have it in the language just so
select can be implicitly called, but ah well.
11:07 < Namegduf> Er, so Stop can be.
11:07 < wrtp> Namegduf: and as someone pointed out on reddit the other day,
there's no need for a global lock for timeouts - you can have a lock per processor
11:07 < wrtp> i.e.  no lock necessary
11:08 < wrtp> i think that could speed things up considerably
11:08 < Namegduf> Ah.
11:08 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has quit [Quit:
Leaving.]
11:08 < Namegduf> I still think time.Sleep should probably not be optimised
for the tiny-sleep-time scenario at the cost of spawning massive numbers of
threads in typical usage.
11:08 < wrtp> Namegduf: why would it have that cost?
11:09 < Namegduf> wrtp: It currently does, I thought?
11:09 < jnwhiteh> My results are much closer
11:09 < wrtp> oh i see, you mean threads not goroutines
11:09 < Namegduf> Thus why you use <-time.After()
11:09 < Namegduf> Yes
11:09 < jnwhiteh> 8623.4 req/s for Go, and 9539.6 req/s for Node
11:09 < aiju> as soon as you enter the OS scheduler, you're fucked anyway
11:09 < aiju> when it comes to tiny sleeps
11:10 < jnwhiteh> which is what I'd expect
11:10 < Beldur> hm
11:10 < vegai> are people expecting for some reason for Go to beat Node.js
on V8?
11:10 < jnwhiteh> and Go is actually sending more data
11:10 < jnwhiteh> than the equivalent node program
11:10 < jnwhiteh> likely due to some header included by the defaulmuxserv
11:11 < Beldur> jnwhiteh: can you show me your code?
11:11 < jnwhiteh> Go source: http://paste.pocoo.org/show/406052/ Node
source: http://paste.pocoo.org/show/406053/
11:11 < aiju> vegai: from my experience JS is, even with V8, still horribly
slow
11:11 < jnwhiteh> Commandline: httperf --uri / --num-conns 10 --rate 10
--num-calls 10000 --server localhost --port 8080
11:11 < jnwhiteh> the rate isn't strictly necessary, I was running other
tests as well, that's just the test that's the same as your ab test
11:12 < jnwhiteh> yeah ab is screwed
11:12 < jnwhiteh> it just hangs at 15000 requests for me
11:13 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has joined #go-nuts
11:13 < aiju> this benchmark since rather meaningless to me
11:13 < jnwhiteh> ofc =)
11:13 < jnwhiteh> but its what the node.js guys love to test =)
11:14 < aiju> yeah
11:14 -!- benjack [~benjack@bb121-6-49-120.singnet.com.sg] has quit [Client Quit]
11:14 < aiju> test what you're good at
11:14 < aiju> that's how Intel sells CPUs ;P
11:14 * Namegduf would find one that did some more realistic work more
interesting.
11:14 < jnwhiteh> I have them, but they are for an older version of Go
11:14 < jnwhiteh> which had some severe bugs in it
11:14 < jnwhiteh> I need to get my test environment back together to get new
numbers
11:15 < jnwhiteh> benchmarking http servers is very very difficult
11:15 < Namegduf> Go spawns a goroutine per connection, I think.  That's not
going to be a fast way to just write "hello world" and return.
11:15 < jnwhiteh> if you're running the benchmark and the server on the same
machine you've already lost
11:15 < Namegduf> OTOH it'll be fast when you're actually doing something.
11:15 < jnwhiteh> Namegduf: if you remove the goroutines, Go only loses by a
small fraction, as I've shown
11:16 < jnwhiteh> the program/benchmark above doesn't have any goroutine
creation overhead
11:16 < jnwhiteh> I *believe* if it does, that's even better
11:16 * jnwhiteh checks
11:16 < Namegduf> I thought ListenAndServe called handler in a new
goroutine.
11:17 < Beldur> jnwhiteh: I used the same code and same httperf and i get
9200/sec for GO and 15800/sec for node
11:17 < Beldur> na I dont understand
11:17 < jnwhiteh> Namegduf: it does, calls go c.serve()
11:17 * aiju finds that the Go library bloat is growing out of hand
11:17 < Namegduf> Yeah, it does.
11:17 < jnwhiteh> but c.serve loops on every request on that connection
11:17 < jnwhiteh> so, no overhead
11:17 < jnwhiteh> it only spawns 10 goroutines at the start
11:17 < jnwhiteh> Beldur: how are you compiling Go?
11:17 < Namegduf> Hmm, in that case, yeah.
11:18 < Namegduf> With lots of requests over few connections.
11:18 < jnwhiteh> how are you compiling Node?
11:18 < jnwhiteh> all of this matters =)
11:18 < jnwhiteh> Namegduf: indeed, Its a useless benchmark, but I was just
reproducing what he wanted
11:18 < Beldur> im compiling with http://golang.org/doc/install.html
11:18 < jnwhiteh> 8g or 6g?
11:18 < Beldur> 8g
11:18 < jnwhiteh> perhaps that makes a difference, I don't know =)
11:18 < Namegduf> It will
11:18 < Beldur> wich node version do you use
11:18 < Namegduf> 8g is significantly slower than 6g
11:19 < jnwhiteh> mine was 6g
11:19 * wrtp likes the fact that the increasing range of go's libraries makes it a
more compelling language.
11:19 < jnwhiteh> node-0.4.7
11:19 < Beldur> ah
11:19 < Namegduf> aiju: Anything in particular?  The stdlib doesn't seem to
have gotten that much bigger.
11:19 < Beldur> mine is 0.5pre
11:19 < Beldur> hm
11:19 < Beldur> well
11:19 < Beldur> it doesnt matter
11:19 < jnwhiteh> not really, no
11:19 < Beldur> I will learn go anyway :)
11:20 < jnwhiteh> Go is a language
11:20 < jnwhiteh> Node isn't =)
11:20 < Beldur> yea
11:20 < aiju> Namegduf: i just find that there is lots of stuff i just can't
imagine using
11:20 < jnwhiteh> Node can optimise for many things that you can't just do
in a language
11:20 < jnwhiteh> you will find Go more than capable of almost anything you
want to throw at it
11:20 < aiju> like crypto seems to contain every encryption algorithm known
to man
11:20 < aiju> or at least aspires to contain them all
11:22 <@adg> aiju: actually, we've knocked back quite a few proposed
additions to crypto/
11:23 < jnwhiteh> I really need to re-run my tests to see how Go does
without the artificial connection limits I had to give it =)
11:25 < jnwhiteh> Beldur: output, btw: Go/Node:
http://paste.pocoo.org/show/406061/ and http://paste.pocoo.org/show/406060/
11:25 < jnwhiteh> sorry to jump in, but I'm presenting a paper that includes
this stuff in a week so I'm prepping the presentation now :P
11:25 < aiju> or stuff like container/list
11:26 < hallas> Is there anyway I can make json.Unmarshall ignore missing
fields in the json object?  In relation to the struct Im trying to use it on?
11:28 < Namegduf> I thought it did?
11:29 < Beldur> jnwhiteh: This is my output: Node:
http://paste.pocoo.org/show/406063/ and Go: http://paste.pocoo.org/show/406064/
11:29 < Namegduf> Did last I used it, anyway.
11:30 < hallas> Namegduf: The problem is that it cant make something that
isnt there into an empty string, only null and string in Go cant be null ? I think
11:30 < hallas> GetGistMetadata
11:30 < hallas> woops
11:30 < hallas> json: cannot unmarshal null into Go value of type string
11:30 < hallas> Thats my error
11:30 < Namegduf> That's not "missing"
11:30 < Namegduf> Missing is "not stated"
11:31 < Namegduf> If you have control of the input, either specify that one
as an empty string, or don't specify it at all, and it'll work fine.
11:31 < hallas> I dont have control
11:31 < Namegduf> That's tricky.
11:31 < hallas> and I meant missing as in stated as null then :P
11:31 -!- tncardoso [~thiago@189.59.201.216] has joined #go-nuts
11:31 < Namegduf> I guess you'll need to use interface{} and type assert?
11:32 < hallas> Yup
11:35 < hallas> But thats really annoying :P its such a little thing to
treat null as "" when its a string type
11:35 < hallas> Wouldnt it still be valid?  Or does that compromise
something else?
11:51 -!- icy [~icy@lighttpd/icy] has left #go-nuts []
11:53 < cenuij> oh nice, http://httpbin.org/
11:53 < cenuij> convenient POST testing
12:00 < jnwhiteh> Beldur: again, 6g will beat 8g =)
12:02 < hallas> cenuij: would be cool to have the domain bin.org and then
provide for all sorts of protocols :-)
12:02 < cenuij> ah yes :)
12:03 -!- virtualsue [~chatzilla@nat/cisco/x-mmbwcvalgtcwhdjv] has quit [Ping
timeout: 260 seconds]
12:06 -!- virtualsue [~chatzilla@nat/cisco/x-xwmetuixvoceiqmg] has joined #go-nuts
12:07 -!- tncardoso [~thiago@189.59.201.216] has quit [Ping timeout: 255 seconds]
12:10 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-149-42.clienti.tiscali.it] has
quit [Read error: Connection reset by peer]
12:23 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts
12:24 -!- tgall_foo [~tgall@206.9.88.154] has quit [Changing host]
12:24 -!- tgall_foo [~tgall@linaro/tgall-foo] has joined #go-nuts
12:26 -!- franciscosouza [~francisco@187.105.18.105] has quit [Quit:
franciscosouza]
12:27 -!- angasule [~angasule@190.2.33.49] has quit [Read error: Connection reset
by peer]
12:33 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
12:40 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-89.clienti.tiscali.it] has
joined #go-nuts
12:40 -!- niemeyer [~niemeyer@200-163-166-19.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
12:41 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
12:44 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
12:47 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
12:55 -!- TheCritic [~TheCritic@c-24-30-34-40.hsd1.ga.comcast.net] has joined
#go-nuts
12:58 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts
12:59 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
13:00 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the
connection]
13:02 -!- boscop_ [~foo@f055210210.adsl.alicedsl.de] has joined #go-nuts
13:03 -!- boscop [~foo@g225234195.adsl.alicedsl.de] has quit [Ping timeout: 255
seconds]
13:04 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
13:09 -!- TheMue [~TheMue@p5DDF5EB7.dip.t-dialin.net] has joined #go-nuts
13:20 -!- mkrautz [~mkrautz@enchantment.sasquash.dk] has quit [Changing host]
13:20 -!- mkrautz [~mkrautz@poipu/developer/krejler] has joined #go-nuts
13:21 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
13:23 -!- mkb218 [~mkb@pool-96-233-4-238.bstnma.east.verizon.net] has joined
#go-nuts
13:26 -!- robteix [~robteix@nat/intel/x-twgidsuymqbvwwaj] has joined #go-nuts
13:27 -!- foocraft [~ewanas@78.100.200.92] has joined #go-nuts
13:28 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 244 seconds]
13:29 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
13:29 -!- photron [~photron@port-92-201-15-244.dynamic.qsc.de] has joined #go-nuts
13:29 -!- alehorst [~alehorst@186.212.212.206] has quit [Ping timeout: 255
seconds]
13:30 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Read
error: Connection reset by peer]
13:31 -!- lmov [555b8fe6@gateway/web/freenode/ip.85.91.143.230] has joined
#go-nuts
13:32 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts
13:34 -!- alehorst [~alehorst@186.212.212.206] has joined #go-nuts
13:39 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-158-89.clienti.tiscali.it] has
quit [Ping timeout: 252 seconds]
13:40 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts
13:42 -!- alehorst [~alehorst@186.212.212.206] has quit [Ping timeout: 255
seconds]
13:46 -!- mertimor [~mertimor@p5DC1C862.dip.t-dialin.net] has joined #go-nuts
13:46 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
13:46 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
13:47 -!- coderendezvous [~coderende@adsl-98-66-2-41.mem.bellsouth.net] has joined
#go-nuts
13:56 -!- alehorst [~alehorst@189.114.184.56] has joined #go-nuts
14:01 -!- shvntr [~shvntr@113.84.125.87] has joined #go-nuts
14:01 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
14:11 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost
terminal]
14:18 -!- thakis [~thakis@216.239.45.130] has quit [Quit: thakis]
14:22 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds]
14:27 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 276 seconds]
14:27 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
14:31 -!- lmov [555b8fe6@gateway/web/freenode/ip.85.91.143.230] has quit [Quit:
Page closed]
14:37 -!- foocraft [~ewanas@78.100.200.92] has quit [Ping timeout: 240 seconds]
14:41 -!- thakis_ [~thakis@66.109.105.30] has joined #go-nuts
14:41 -!- nekoh [~nekoh@dslb-178-004-064-219.pools.arcor-ip.net] has joined
#go-nuts
14:45 -!- Argonnepeoples [82ca0251@gateway/web/freenode/ip.130.202.2.81] has
joined #go-nuts
14:46 < Argonnepeoples> wow more people in here than I was expecting
14:47 < theSlowMan> in any case I'm having trouble getting my go compiler to
compile 32 bit binaries.  So if anyone knows about how to do this message me
please.
14:48 < str1ngs> theSlowMan: as in cross compile?
14:50 -!- foocraft [~ewanas@78.101.217.21] has joined #go-nuts
14:53 -!- ronnyy [~quassel@p4FF1C6A4.dip0.t-ipconnect.de] has joined #go-nuts
14:53 -!- ronnyy [~quassel@p4FF1C6A4.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
14:54 < theSlowMan> well I have the 64bit go compiler and it works fine, but
I want to compile a 32 bit executable to squash into a tinycore FS to install with
ramdisc
14:55 -!- ronnyy [~quassel@p4FF1C6A4.dip0.t-ipconnect.de] has joined #go-nuts
14:55 < str1ngs> ok so build go again with GOARCH=386 ./make.bash
14:55 < str1ngs> then when you wan to build your go program build with
GOARCH=386
14:55 < theSlowMan> so Iw ould have to rebuild go entirely with that
environment variable?
14:56 < str1ngs> assuming OS stays the same
14:56 < str1ngs> yes
14:56 < theSlowMan> yea OS would be the same
14:56 < str1ngs> but only once
14:56 < theSlowMan> pretty sure tinycore is still linux :P
14:56 < str1ngs> after that you can build with amd64 or 386
14:56 < theSlowMan> how so?
14:57 < theSlowMan> wouldn't I have to rebuild again with amd64
14:57 < str1ngs> when you build with go you are always cross compiling based
on GOARCH
14:57 < str1ngs> no once you build the go 386 you can cross build 386 just
by changing GOARCH
14:59 < theSlowMan> maybe in the future there will just be a command line
option :P
14:59 < str1ngs> no
14:59 < theSlowMan> awwwww
14:59 < str1ngs> enviroment variables work well ehere
14:59 < str1ngs> here*
15:00 < str1ngs> also easier to have many tools use it ie goinstall etc
15:05 -!- coderendezvous [~coderende@adsl-98-66-2-41.mem.bellsouth.net] has quit
[Quit: Leaving]
15:07 -!- napsy [~luka@193.2.66.6] has quit [Read error: Operation timed out]
15:07 < str1ngs> theSlowMan: alos to clarify why flags wont work ..  8g vs
6g
15:07 < str1ngs> or say 5g.  already implies what you want to build
15:08 -!- shvntr [~shvntr@113.84.125.87] has quit [Ping timeout: 252 seconds]
15:15 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
15:16 -!- srid [~srid@unaffiliated/srid] has joined #go-nuts
15:17 -!- srid [~srid@unaffiliated/srid] has quit [Client Quit]
15:22 < theSlowMan> so witht he new environment variable and building go
again it will install 8g?
15:23 < theSlowMan> and then I can use both 6g and 8g
15:23 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
15:25 -!- jemeshsu [~jemeshsu@bb220-255-88-127.singnet.com.sg] has joined #go-nuts
15:28 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts
15:29 < str1ngs> right
15:32 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
15:39 -!- sav [~lsd@peirce.xored.org] has quit [Remote host closed the connection]
15:42 < hallas> Anywhere I can see 100% up 2 date package docs without
hosting my own?
15:42 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined
#go-nuts
15:42 < aiju> golang.org/pkg?
15:42 -!- sav [~lsd@peirce.xored.org] has joined #go-nuts
15:44 < hallas> aiju: its not up to date, atleast for me
15:44 < rejb> tip.goneat.org/pkg/
15:44 < hallas> aiju: I want a hosted tip doc :P
15:44 -!- thakis_ [~thakis@66.109.105.30] has quit [Quit: thakis_]
15:45 < hallas> exactly, thanks rejb
15:45 -!- fhs [~fhs@2001:0:4137:9e76:3458:6fb3:93f1:4624] has quit [Quit: leaving]
15:51 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
15:59 < str1ngs> hallas: I like to use godoc from terminal.  not for
everyone I know
16:00 < hallas> str1ngs: Yeah, definately makes sure the docs are 100% true
16:00 < hallas> :D
16:01 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has quit [Ping
timeout: 276 seconds]
16:04 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined
#go-nuts
16:04 < str1ngs> I do use godoc -http , but very rare
16:07 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
16:10 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
connection]
16:11 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
16:19 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
16:22 -!- Fish-- [~Fish@9fans.fr] has joined #go-nuts
16:24 -!- Fish [~Fish@9fans.fr] has quit [Ping timeout: 240 seconds]
16:25 -!- gonutter [4f4d7835@gateway/web/freenode/ip.79.77.120.53] has joined
#go-nuts
16:30 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has left
#go-nuts []
16:30 -!- gonutter [4f4d7835@gateway/web/freenode/ip.79.77.120.53] has left
#go-nuts []
16:43 -!- foocraft_ [~ewanas@89.211.107.185] has joined #go-nuts
16:46 -!- foocraft [~ewanas@78.101.217.21] has quit [Ping timeout: 240 seconds]
16:46 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
16:47 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
16:58 -!- Project-2501 [~Marvin@82.84.85.206] has joined #go-nuts
17:11 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-181-70.clienti.tiscali.it]
has joined #go-nuts
17:13 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:14 -!- Project-2501 [~Marvin@82.84.85.206] has quit [Ping timeout: 244 seconds]
17:15 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
17:22 -!- jrabbit [~babyseal@unaffiliated/jrabbit] has quit [Ping timeout: 240
seconds]
17:31 -!- ijknacho [~goofy@cpe-72-190-64-3.tx.res.rr.com] has joined #go-nuts
17:34 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 255
seconds]
17:37 -!- Project-2501 [~Marvin@82.84.97.115] has joined #go-nuts
17:40 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-181-70.clienti.tiscali.it]
has quit [Ping timeout: 255 seconds]
17:46 -!- jrabbit [~babyseal@unaffiliated/jrabbit] has joined #go-nuts
18:01 -!- alkavan [~alkavan@IGLD-84-229-168-152.inter.net.il] has quit [Read
error: Operation timed out]
18:01 -!- dfr|mac [~dfr|work@nat/google/x-ycrhpxrciitmleqa] has joined #go-nuts
18:03 -!- dfr|mac [~dfr|work@nat/google/x-ycrhpxrciitmleqa] has quit [Remote host
closed the connection]
18:04 -!- dfr|mac [~dfr|work@nat/google/x-vngqzbiabykbxpxd] has joined #go-nuts
18:04 -!- alkavan [~alkavan@IGLD-84-229-168-152.inter.net.il] has joined #go-nuts
18:05 -!- _inforwarrior_ [~OHM@180.183.111.142] has joined #go-nuts
18:12 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 244 seconds]
18:13 -!- _inforwarrior_ [~OHM@180.183.111.142] has quit [Ping timeout: 260
seconds]
18:14 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
#go-nuts
18:17 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
18:18 -!- _inforwarrior_ [~OHM@180.183.137.71] has joined #go-nuts
18:22 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
18:22 -!- theSlowMan [82ca0251@gateway/web/freenode/ip.130.202.2.81] has quit
[Quit: Page closed]
18:24 -!- _inforwarrior_ [~OHM@180.183.137.71] has quit [Ping timeout: 252
seconds]
18:26 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
18:30 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
18:33 -!- alehorst [~alehorst@189.114.184.56] has quit [Ping timeout: 255 seconds]
18:33 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
18:35 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 246 seconds]
18:41 -!- keithgcascio [~keithcasc@nat/google/x-iwpbyhqvrwspirzd] has joined
#go-nuts
18:48 -!- dju_ [dju@fsf/member/dju] has joined #go-nuts
18:48 -!- alehorst [~alehorst@200.146.83.46.dynamic.adsl.gvt.net.br] has joined
#go-nuts
18:49 -!- photron [~photron@port-92-201-15-244.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
18:51 -!- dju [~dju@fsf/member/dju] has quit [Ping timeout: 240 seconds]
18:51 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has joined #go-nuts
19:08 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 244 seconds]
19:08 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
19:09 -!- jpiche [~jpiche@173-160-113-212-Minnesota.hfc.comcastbusiness.net] has
joined #go-nuts
19:14 -!- huin [~huin@91.85.188.1] has joined #go-nuts
19:22 -!- virtualsue [~chatzilla@nat/cisco/x-xwmetuixvoceiqmg] has quit [Ping
timeout: 276 seconds]
19:22 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
19:25 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has
joined #go-nuts
19:26 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Quit:
twolfe18]
19:28 -!- micromatikal [~quassel@96-42-218-124.dhcp.roch.mn.charter.com] has
joined #go-nuts
19:30 -!- dgrijalva [~dgrijalva@173.227.61.3] has joined #go-nuts
19:31 < dgrijalva> is anybody having issues with 6prof on mac?
19:31 < dgrijalva> my app crashes right after i connect 6prof to it
19:32 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit
[Remote host closed the connection]
19:38 -!- artefon [~thiago@187.59.187.8] has joined #go-nuts
19:40 -!- tncardoso [~thiagon@150.164.2.20] has quit [Remote host closed the
connection]
19:40 -!- dfr|mac [~dfr|work@nat/google/x-vngqzbiabykbxpxd] has quit [Ping
timeout: 258 seconds]
19:59 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts
19:59 -!- araujo [~araujo@190.73.44.29] has quit [Changing host]
19:59 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
20:02 -!- _andre [~andre@fosforo.f2.k8.com.br] has joined #go-nuts
20:02 < _andre> hi
20:02 < _andre> what's the proper way to send a new patch to an open issue
without creating a new issue?
20:04 <+iant> the patch review system and the issue system are not tightly
linked
20:04 <+iant> you should propose a patch, and in the description write
"Fixed issue NNN"
20:05 <+iant> sorry, s/Fixed/Fixes/
20:05 <+iant> then if you like you can add a note to the issue linking to
the patch
20:05 < _andre> but i created the issue originally, and sent a patch for
review, got a comment back and now i'm trying to update it
20:06 <+iant> update the issue or update the patch?
20:06 < _andre> the patch
20:06 <+iant> to update the patch, just change the files and run "hg upload"
20:06 -!- virtualsue [~chatzilla@nat/cisco/x-hrxeeeckwlnthtjq] has joined #go-nuts
20:06 <+iant> hg upload NNN
20:06 < _andre> oh nice
20:06 < _andre> hm
20:06 < _andre> "no files in change list" :s
20:07 <+iant> what does "hg pending" print
20:07 <+iant> are you using the same directory as the one in which you
originally ran "hg mail"?
20:08 < _andre> no, i'm on a different machine
20:08 < _andre> hg pending shows the issue description
20:10 <+iant> does "hg pending" show anything in the list of files?
20:10 <+iant> if you are on a different machine you have to move the patch
over to the new machine one way or another
20:12 < _andre> no, i created the original patch yesterday, and ran "hg
mail"
20:12 < _andre> now i'm on a different machine, with a new patch
20:13 <+iant> if you want your new patch to be part of the code review
stream for the existing patch, then you need to get the existing patch onto your
new machine
20:13 <+iant> which you can do using "hg clpatch NNN"
20:13 <+iant> I think
20:13 <+iant> or you could just abandon the old patch and start a new patch,
of course
20:15 < _andre> so the new patch must be created against the old one?
20:15 < _andre> or against the original code?
20:15 <+iant> If I understand your question correctly, the answer is that it
is created against the original code
20:16 <+iant> the code review system is simple but it may not be what you
expect
20:16 <+iant> when you run "hg mail" it uploads the files and the
description and creates a patch on the codereview site
20:16 <+iant> then people comment on it, etc.
20:16 <+iant> at any time you can run "hg upload" to upload new versions of
the files you are changing
20:16 <+iant> the whole file is uploaded, not a diff
20:17 <+iant> on your local machine, the codereview extension is tracking
the correspondence between your local changes and the codereview system
20:17 <+iant> so when you moved to a new machine, that information on your
local machine is lost
20:18 <+iant> if you want to "hg upload" to the same patch, you need to
recreate that local information on your new machine
20:18 <+iant> I think "hg clpatch" will do that but I have not tried it
myself
20:18 < _andre> i'm trying that now
20:18 < _andre> cleaned the tree, ran hg clpatch and re-did the new edits
20:18 < _andre> so now hg upload should work right?
20:18 <+iant> hope so
20:18 < _andre> :)
20:18 <+iant> "hg pending" should show the patch and the list of changed
files
20:19 <+iant> if it does, then "hg upload" should work
20:19 < _andre> it's showing the list of changed files
20:19 <+iant> try the "hg upload" then
20:20 < _andre> seems to have worked :)
20:20 < _andre> thanks
20:20 <+iant> sure
20:20 < _andre> wish i hadn't created a new issue by accident :(
20:20 < _andre> i thought you were supposed to run "hg change" every time
20:20 <+iant> you can delete it using "hg change -d"
20:21 < _andre> yeah, did that
20:21 < _andre> it's showing on the code review tool as "closed recently"
20:23 -!- alehorst [~alehorst@200.146.83.46.dynamic.adsl.gvt.net.br] has quit
[Quit: Leaving.]
20:26 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 240 seconds]
20:28 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined
#go-nuts
20:28 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 255
seconds]
20:28 -!- r_linux [~r_linux@189.38.220.35] has joined #go-nuts
20:30 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
20:34 -!- _andre [~andre@fosforo.f2.k8.com.br] has quit [Quit: leaving]
20:35 -!- r_linux [~r_linux@189.38.220.35] has quit [Ping timeout: 240 seconds]
20:36 -!- franciscosouza [~francisco@201.7.186.67] has quit [Ping timeout: 258
seconds]
20:37 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
20:38 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
20:41 -!- mertimor [~mertimor@p5DC1C862.dip.t-dialin.net] has quit [Quit:
mertimor]
20:41 -!- mertimor [~mertimor@p5DC1C862.dip.t-dialin.net] has joined #go-nuts
20:43 -!- danilo04 [~danilo04@66.44.225.80] has joined #go-nuts
20:45 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 240 seconds]
20:49 -!- ronnyy [~quassel@p4FF1C6A4.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
20:50 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:51 -!- mertimor [~mertimor@p5DC1C862.dip.t-dialin.net] has quit [Quit:
mertimor]
20:51 -!- r_linux [~r_linux@smtp.mandique.com.br] has joined #go-nuts
20:53 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has quit [Ping timeout:
240 seconds]
20:57 -!- sacho [~sacho@90.154.206.145] has joined #go-nuts
21:00 -!- r_linux [~r_linux@smtp.mandique.com.br] has quit [Ping timeout: 246
seconds]
21:00 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.]
21:00 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined
#go-nuts
21:02 -!- message144 [~message14@pool-98-112-179-26.lsanca.fios.verizon.net] has
joined #go-nuts
21:03 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping
timeout: 240 seconds]
21:06 -!- danilo04 [~danilo04@66.44.225.80] has quit [Quit: Leaving]
21:09 -!- Nisstyre [~nisstyre@109.74.204.224] has quit [Ping timeout: 250 seconds]
21:10 -!- huin [~huin@91.85.188.1] has quit [Quit: bedtime]
21:10 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
21:11 -!- TheMue [~TheMue@p5DDF5EB7.dip.t-dialin.net] has quit [Quit: TheMue]
21:12 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts
21:14 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Read
error: Connection reset by peer]
21:16 -!- jpiche [~jpiche@173-160-113-212-Minnesota.hfc.comcastbusiness.net] has
quit [Quit: Leaving]
21:18 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined
#go-nuts
21:19 -!- robteix [~robteix@nat/intel/x-twgidsuymqbvwwaj] has quit [Quit: Leaving]
21:27 -!- message144 [~message14@pool-98-112-179-26.lsanca.fios.verizon.net] has
quit [Ping timeout: 246 seconds]
21:30 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 255 seconds]
21:30 -!- iant [~iant@216.239.45.130] has joined #go-nuts
21:30 -!- mode/#go-nuts [+v iant] by ChanServ
21:31 -!- xb95 [~xb95@qq.is] has quit [Changing host]
21:31 -!- xb95 [~xb95@dreamwidth/staff/mark] has joined #go-nuts
21:32 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
21:35 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit
[Ping timeout: 244 seconds]
21:35 -!- Fish-- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:38 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
21:40 -!- message144 [~message14@pool-71-107-21-93.lsanca.fios.verizon.net] has
joined #go-nuts
21:52 -!- dfr|mac [~dfr|work@nat/google/x-vppqucsnihiudtoa] has joined #go-nuts
21:57 -!- dfr|mac [~dfr|work@nat/google/x-vppqucsnihiudtoa] has quit [Ping
timeout: 252 seconds]
21:59 -!- blb [~blb@c-24-11-236-117.hsd1.il.comcast.net] has joined #go-nuts
22:03 -!- Nisstyre [~nisstyre@109.74.204.224] has joined #go-nuts
22:10 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Operation timed out]
22:15 -!- Beldur [~Miranda@cable-87-79-206-223.netcologne.de] has quit [Quit:
Miranda IM! Smaller, Faster, Easier.  http://miranda-im.org]
22:17 -!- message144 [~message14@pool-71-107-21-93.lsanca.fios.verizon.net] has
quit [Quit: gone]
22:22 -!- thakis_ [~thakis@nat/google/x-lhubsoqbpiqghoqt] has joined #go-nuts
22:29 -!- zcram [~zcram@77-233-75-171.cdma.dyn.kou.ee] has quit [Quit: Leaving]
22:33 -!- virtualsue [~chatzilla@nat/cisco/x-hrxeeeckwlnthtjq] has quit [Ping
timeout: 255 seconds]
22:42 -!- Project-2501 [~Marvin@82.84.97.115] has quit [Quit: E se abbasso questa
leva che succ...]
22:43 -!- wrtp [~rog@92.30.144.148] has quit [Quit: wrtp]
22:44 -!- dfr|work [~dfr|work@nat/google/x-inssfgjezjmyxvbg] has quit [Read error:
Connection reset by peer]
22:47 -!- dfr|mac [~dfr|work@nat/google/x-lokgfgpampndsacu] has joined #go-nuts
22:50 -!- qeed [~qeed@adsl-98-85-155-163.mco.bellsouth.net] has joined #go-nuts
22:56 -!- thakis_ [~thakis@nat/google/x-lhubsoqbpiqghoqt] has quit [Quit: thakis_]
22:57 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has joined #go-nuts
22:57 -!- Bigbear1 [~Cody@d75-156-128-238.abhsia.telus.net] has left #go-nuts []
22:59 -!- kr [~Keith@204.14.152.118] has joined #go-nuts
23:00 -!- vpit3833 [~user@203.111.33.203] has quit [Remote host closed the
connection]
23:03 -!- nekoh [~nekoh@dslb-178-004-064-219.pools.arcor-ip.net] has quit [Quit:
nekoh]
23:07 -!- djbrown [~djbrown@unaffiliated/djbrown] has quit [Ping timeout: 276
seconds]
23:09 -!- kr [~Keith@204.14.152.118] has quit [Ping timeout: 276 seconds]
23:10 -!- kr [~Keith@204.14.152.118] has joined #go-nuts
23:12 -!- artefon [~thiago@187.59.187.8] has quit [Quit: bye]
23:20 -!- vpit3833 [~user@203.111.33.203] has joined #go-nuts
23:31 -!- dju_ [dju@fsf/member/dju] has joined #go-nuts
23:33 -!- dju [dju@fsf/member/dju] has quit [Ping timeout: 252 seconds]
23:33 -!- jlouis [jlouis@horus.0x90.dk] has quit [Ping timeout: 240 seconds]
23:33 -!- jlouis [jlouis@horus.0x90.dk] has joined #go-nuts
23:34 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 260 seconds]
23:39 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
23:45 -!- _dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:57 -!- Sisten [~Sisten@s213-103-208-147.cust.tele2.se] has quit [Quit: Lämnar]
23:58 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza]
--- Log closed Tue Jun 14 00:00:53 2011