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

--- Log opened Sat Jul 02 00:00:46 2011
--- Day changed Sat Jul 02 2011
00:00 -!- dfr|mac [~dfr|work@nat/google/x-vfqjmidwsevspwxf] has quit [Ping
timeout: 240 seconds]
00:07 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
00:08 < kergoth__> stupid question, but how is equality handled for structs,
is there a Comparable interface or something?
00:08 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host
closed the connection]
00:13 < serialhex> kergoth__ i don't believe equality is defined for
structs, so you'd have to define it for yourself...
00:13 < serialhex> i think i read something about that while they were
tlkaing about maps in the docs...  though i can't remember exactly
00:15 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has quit [Quit: Linkinus
is updating...]
00:15 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has joined #go-nuts
00:17 -!- robteix [~robteix@host243.200-82-125.telecom.net.ar] has joined #go-nuts
00:18 < kergoth__> serialhex: k, was wondering if that was the case, thanks
00:19 < kergoth__> guh, how long before it actually sinks in my damn head to
not use a pointer to an interface?
00:19 * kergoth__ mutters
00:29 -!- ijknacho [~goofy@cpe-72-190-64-3.tx.res.rr.com] has joined #go-nuts
00:43 -!- yogib [~kaiser@dslb-178-009-072-121.pools.arcor-ip.net] has quit [Remote
host closed the connection]
00:47 -!- ponce [~ponce@rps7623.ovh.net] has joined #go-nuts
00:54 -!- nekoh [~nekoh@dslb-178-004-027-126.pools.arcor-ip.net] has quit [Quit:
nekoh]
00:57 < kergoth__> https://gist.github.com/1059642 - could someone tell me
what i'm missing here?  where is this int coming from?
00:58 < exch> O_o
00:59 -!- iant [~iant@67.218.104.187] has quit [Quit: Leaving.]
00:59 < chomp> wont range give an index?
00:59 < chomp> for index,node := range nodes
00:59 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
00:59 -!- kamaji_ [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
00:59 < kergoth__> oh, right, i'm a moron, thanks
00:59 < kergoth__> i knew it'd be something stupid
00:59 < kergoth__> first time trying to do anything from scratch, rather
than copying and pasting bits and pieces :P
01:00 < kergoth__> wait, no
01:01 < kergoth__> range doesn't return a key on a channel, just on a
map/array, no?
01:01 < kergoth__> so i'm still confused
01:01 < chomp> nodes is a slice though
01:01 < kergoth__> oh, right
01:01 < kergoth__> yeah, the first one was fine, the second one wasn't :)
01:01 < kergoth__> thanks guys
01:01 < chomp> :)
01:01 < kergoth__> now if only i'd stop using pythonisms in go
01:01 < kergoth__> range, range, range, not "in"
01:06 * kergoth__ re-reads effective go again
01:10 -!- sjbrown [~sjbrown@c-98-210-195-242.hsd1.ca.comcast.net] has joined
#go-nuts
01:18 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error:
Connection reset by peer]
01:19 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
01:20 -!- robteix [~robteix@host243.200-82-125.telecom.net.ar] has quit [Quit:
Leaving...]
01:25 -!- kfmfe04 [~kfeng@114-32-57-164.HINET-IP.hinet.net] has quit [Quit:
WeeChat 0.3.0]
01:32 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
01:32 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Ping
timeout: 240 seconds]
01:39 -!- ccc1 [~Adium@118-166-231-248.dynamic.hinet.net] has quit [Quit:
Leaving.]
01:39 -!- sjbrown [~sjbrown@c-98-210-195-242.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
01:45 < brandini> godoc -http:=6060 is the new standard for "docs"
01:57 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
02:05 < brandini> what happens during compilation versus linking?
02:15 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has joined #go-nuts
02:18 -!- franciscosouza [~francisco@177.19.166.49] has joined #go-nuts
02:35 < serialhex> ok, where is the best place to go to learn how to make
makefiles...?  (interp't'd langs dont need no stinkin' comp'ler)
02:36 -!- franciscosouza [~francisco@177.19.166.49] has quit [Read error:
Connection timed out]
02:38 -!- franciscosouza [~francisco@177.19.166.49] has joined #go-nuts
02:40 < |Craig|> serialhex: if its for go, I'd recommend gb instead of hand
written makfiles (or use it to generate your make files):
https://github.com/skelterjohn/go-gb
02:40 < dtm_> I was just going to say that.  And by the way, compiled
languages don't have to have makefiles either, they just haven't added the
features to the Go compiler yet.  Pascal never had makefiles.
02:41 < serialhex> yeah, i'm just sick of typing 8g ........  8l ..........
02:41 < serialhex> i'll take a look at that |Craig|
02:43 -!- `micro` [~quassel@96-42-218-124.dhcp.roch.mn.charter.com] has quit [Read
error: Operation timed out]
02:50 < gnuvince> gb is pretty nice to use
02:57 -!- franciscosouza [~francisco@177.19.166.49] has quit [Read error:
Connection timed out]
02:58 -!- franciscosouza [~francisco@177.19.166.49] has joined #go-nuts
03:12 -!- pjz [~pj@place.org] has joined #go-nuts
03:13 < pjz> anyone have a good debug statement pattern?
03:17 < pjz> right now I'm doing debug(func() string { return "debuginfo" })
; then set the debug routine to either print or not
03:18 < pjz> this way if the computation of debuginfo is complex it doesn't
happen when debug is off
03:20 -!- franciscosouza [~francisco@177.19.166.49] has quit [Read error:
Connection timed out]
03:22 -!- franciscosouza [~francisco@177.19.166.49] has joined #go-nuts
03:23 < KirkMcDonald> I remember that the D language has a "debug" statement
were you can say e.g: debug writefln("blah blah blah");
03:24 < KirkMcDonald> Then the statement will be compiled in or not
depending on whether you give the compiler the -debug flag.
03:25 -!- nocarrot [~antonio@218.241.169.34] has joined #go-nuts
03:26 < nocarrot> hello, is the latest release of go not building for anyone
else ?
03:33 < nocarrot> heh, ignore me, I didn't have bison installed on this
machine
03:34 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read
error: Connection reset by peer]
03:41 -!- franciscosouza [~francisco@177.19.166.49] has quit [Read error:
Connection timed out]
03:41 -!- foocraft [~ewanas@178.152.87.54] has quit [Quit: So long, and thanks for
all the fish!]
03:49 < skelterjohn> serialhex: I recommend gb too O:-) though if you just
want to run a single source file and not worry about separating things into
different directories, there are some nice tools available on
godashboard.appspot.com/project in the dev tools section
03:49 < skelterjohn> goscript, gorun, etc
03:49 < skelterjohn> i've never used any of them so i can't recommend one,
but they seem useful
03:50 * pjz is using gorun a lot
03:50 < serialhex> ok, i'll have to take a look into that skelterjohn,
though i dont mind stinking things into diff dirs if it makes my life easier :D
03:50 < pjz> it's nice to be able to treat go like a scripting language
03:50 < serialhex> yeah...  stinking things...  :P
03:50 < skelterjohn> gb won't be happy if you have a bunch of source files
for different projects in the same directory
03:51 < serialhex> i don't usually do that anyway
03:51 < skelterjohn> but something that lets you say "gorun mysource1.go"
and then "gorun mysource2.go" seems useful for testing and experimenting
03:51 < serialhex> hmm...  so gorun is like ruby's irb or soemthing???
03:52 < skelterjohn> don't know much about ruby
03:52 < serialhex> (damn my spelling is bad now...  mabe cause i'm oin the
fone )
03:52 < pjz> oh, no, gorun is: #!/usr/bin/gorun
03:52 < pjz> at the top of your main code
03:52 < pjz> and then it compiles the rest of the file as go code
03:53 < serialhex> and then i just run foo.go and it works?
03:53 < pjz> yup
03:53 < pjz> make it +x, of course :)
03:53 < serialhex> sweet!  you got linkage??
03:53 < skelterjohn> seems neat
03:53 < pjz> https://wiki.ubuntu.com/gorun
03:53 < skelterjohn> and gustavo (gorun author) is good at keeping his tools
up to date
03:54 < serialhex> eww ubuntu!!!!  :P
03:56 < serialhex> better linkage: https://launchpad.net/gorun :D
03:56 < serialhex> no...  :P
03:58 -!- gnuvince [~vince@ip-96-43-233-174.dsl.netrevolution.com] has quit [Ping
timeout: 252 seconds]
04:00 < serialhex> SWEET!!!
04:01 < pjz> ?
04:03 < serialhex> i got it running, it works nicely!!
04:06 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:06 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:09 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
04:09 -!- mode/#go-nuts [+v iant] by ChanServ
04:17 -!- foocraft [~ewanas@178.152.87.54] has joined #go-nuts
04:18 -!- dfr|mac_ [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote
host closed the connection]
04:21 -!- anticide [~textual@46.138.166.118] has joined #go-nuts
04:24 -!- anticide [~textual@46.138.166.118] has quit [Read error: Connection
reset by peer]
04:29 -!- gnuvince [~vince@ip-96-43-233-174.dsl.netrevolution.com] has joined
#go-nuts
04:42 -!- john [~john@pool-173-52-118-107.nycmny.fios.verizon.net] has joined
#go-nuts
04:42 < serialhex> whutev john
04:42 < john> serialhex, u smel
04:43 < serialhex> --> john
(~john@pool-173-52-118-107.nycmny.fios.verizon.net) has joined #go-nuts
04:44 < john> how far have you gotten on your learning 7 languages?
04:47 -!- john [~john@pool-173-52-118-107.nycmny.fios.verizon.net] has quit [Quit:
Leaving]
04:56 -!- anticide [~textual@46.138.166.118] has joined #go-nuts
04:59 -!- anticide [~textual@46.138.166.118] has quit [Read error: Connection
reset by peer]
04:59 < Varriount> It's sometimes unfortunate that go has such a..  Common
name, it makes looking for tutorials or blog posts hard
05:04 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has quit [Quit: Slant]
05:04 < smw> Varriount, that is why golang will eventually become its full
name.
05:05 < foocraft> golang FTW
05:05 < smw> Actually, I have already seen blog posts use the long form so
that it is searchable
05:05 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has joined #go-nuts
05:05 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
05:06 < foocraft> yeah searching for "Go" is pretty much getting you nowhere
05:12 < jessta> foocraft: searching for "C" has the same problem
05:13 < jessta> searching for "python" should get you snakes
05:13 < jessta> and "java" should get you coffee
05:14 < jessta> Varriount: if you give the term a context you'll get
something, eg.  search for "go programming"
05:14 < smw> jessta, sometimes you can't find something even in context :-\
05:16 < foocraft> next programming language: programming
05:17 < smw> ooh, I know, lets call it A Programming Language!
05:17 < Varriount> jessta: The java and python terms only hold true if those
languages were not popular
05:17 < Varriount> Or, more widespread
05:17 < Varriount> *less widespread
05:17 < foocraft> that would screw up everyone :)
05:18 < smw> yeah, why not name it something like perl.  It would be
impossible to confuse it
05:18 < smw> (not kidding)
05:18 < smw> I know the Google Programing Language (GPL)
05:18 < foocraft> the programming programming language
05:19 < smw> GPL, no one would ever confuse that!
05:19 < jessta> Varriount: indeed, and Go is not popular
05:19 -!- anticide [~textual@46.138.166.118] has joined #go-nuts
05:20 < Varriount> Well, not /yet/ anyway
05:21 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
05:21 < kergoth> gah, i just love it when adding fmt.Printf()'s changes the
unit test results
05:21 * kergoth mutters
05:22 -!- anticide [~textual@46.138.166.118] has quit [Read error: Connection
reset by peer]
05:22 < smw> I really want go to run go on the nvidia gpu.  That is one
place where only C works and a "nice" compiled language like go can kill the
competition :-)
05:23 -!- anticide [~textual@46.138.166.118] has joined #go-nuts
05:24 < Varriount> ^
05:25 < Varriount> Considering a GPU is good at small, but massively
repetitive tasks, And go has goroutines..
05:25 < smw> exactly
05:25 -!- anticide [~textual@46.138.166.118] has quit [Read error: Connection
reset by peer]
05:25 < serialhex> ++ GPU & go
05:26 < smw> and currently the only option is C
05:26 < smw> but I am not nearly capable of making a decent library let
alone porting go :-P
05:26 < serialhex> well then we need to find a person who is capable and
annoy them until they give in to our demands!!!
05:27 < serialhex> :D
05:27 < smw> also, I am reading this:
http://groups.google.com/group/golang-nuts/msg/eeed6fb9b8f6d0b3 . What is the
difference between a multi-dimensional array and an array of arrays?
05:28 < |Craig|> I'm guessing its extremely impractical and wouldn't perform
well.  A go like language might work though
05:28 < smw> |Craig|, why wouldn't it?
05:28 < |Craig|> smw: memory layout, and perhaps the requirement of matching
lengths between the rows
05:29 < smw>
http://groups.google.com/group/golang-nuts/browse_thread/thread/f0e27a7ad765e966
05:30 < smw> "Wouldn't it be cool to start a goroutine on a GPU and
communicate with it via channels?"
05:31 < |Craig|> smw: I don't really know how the sync primitives on the GPU
DSPs work, but I think a more fork/join approach better matches their design.
Getting the runtime on the GPU seems like it would perform things like garbage
collection poorly.  A library/language extension to send special go routines off
on the GPU makes more sense to me.
05:32 < smw> |Craig|, probably.  It can have its own runtime of course.  I
am talking about the language and not the implementation :-P
05:33 < serialhex> hmm...  if that was done then we could take advantage of
both the gpu & cpu...
05:33 < smw> |Craig|, actually, I am really just dreaming :-)
05:33 < |Craig|> smw: the language can't be on the GPU, only an
implementation can :).  I agree though, it would be very cool
05:34 < |Craig|> I just think "porting go to GPU" is not really a good
approach to use the GPU from go
05:35 < smw> |Craig|, let me rephrase.  All I want is to be able to program
on the gpu in Go
05:35 < smw> implementation does not matter :-P
05:37 < |Craig|> I write python code that writes code for the GPU (in the
form of shaders) and runs it :)
05:39 < Varriount> |Craig|: Tell me, how do you manage memory and
concurrency in a gpu?
05:40 < |Craig|> Varriount: I only use the standard rendering pipeline, and
I let Panda3D manage it.  All my output is in the form of textures or other image
buffers
05:41 < |Craig|> not general purpose GPU computing.  Thats beyond me
05:41 < serialhex> that sounds pretty cool |Craig|, so are you a 3d modeler
or something??
05:41 < |Craig|> I do things like terrain generation that way
05:41 < serialhex> cool cool
05:42 < Varriount> For instance, if I have, say, a shader function that
takes a pixel, and checks the pixels around it, and then changes it's pixel to the
average color, how would concurrency issues be handled?
05:42 < |Craig|> Varriount: you don't do that.  Everything is done in
passes.  I take some input images, and a function is run for each pixel in the
output image that can sample the input images
05:43 < |Craig|> basically everything is immutable
05:43 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:43 < |Craig|> its basically a big parallel map pattern
05:43 < Varriount> I see, I think
05:44 < Varriount> So you create a new output, instead of modifying the
input?
05:44 < |Craig|> yes
05:45 < Varriount> Interesting..
05:45 < Varriount> |Craig|: I only ask, as I wonder how OpenCL/CUDA would be
done for something like powder game /falling sand games
05:45 < |Craig|> there are some tricks around that, like you can
cumulatively render into a single buffer, but you can't read the buffer you are
rendering into
05:46 < |Craig|> I've never used OpenCL/CUDA, so I don't know how many of
these restrictions apply
05:46 < magn3ts> It's a scary small world some times.
05:47 < |Craig|> As I mentioned, I've only played with the rendering
pipeline, not any of the real general purpose GPU stuff.  I assume the limitations
are somewhat related though
05:48 < Varriount> magn3ts: Hm?
06:05 -!- smw [~stephen@unaffiliated/smw] has quit [Read error: Connection reset
by peer]
06:08 -!- sacho [~sacho@46.10.23.185] has joined #go-nuts
06:09 -!- yiyus [1242712427@server1.bouncer4you.de] has quit [Ping timeout: 276
seconds]
06:13 -!- yiyus [~124271242@je.je.je] has joined #go-nuts
06:28 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
06:31 < zozoR> chan chan chan chan chan chan int
06:31 < zozoR> : |
06:32 < serialhex> is that a new mantra or soemthing zozoR?
06:34 < zozoR> yeah
06:35 < serialhex> hey, how do you do type conversion for ints ->
float32?  float32(int)???
06:36 < str1ngs> serialhex: yep
06:36 < serialhex> ok, just making sure, thanks!
06:37 < str1ngs> some case obviously that does not work.  ie
float32("3333.3") you need strconv
06:39 < serialhex> ok, but for num(onum) it'll work right?
06:41 < serialhex> wow, ok, i think it's sleep time...  2:45am here :-/
06:45 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has quit [Quit: Slant]
06:53 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
07:02 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-172-229.clienti.tiscali.it] has
joined #go-nuts
07:04 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:12 < magn3ts> Is there much of an overhead with netchan?
07:12 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
07:14 < magn3ts> I guess netchan uses `gob`.  Hm, I wonder what overhead gob
causes with a byte slice
07:16 < str1ngs> define overhead
07:16 < magn3ts> I'm dealing with high speed(ish) udp packets and want to
amke sure they're as light as possible
07:17 < magn3ts> The data in them is already in compressed bytes.
07:23 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Quit:
Leaving]
07:27 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has quit [Quit:
leaving]
07:31 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has joined #go-nuts
07:33 -!- justinlilly [justinlill@70.32.34.100] has quit [Quit: Hosted by rdlBNC
(Server 2 - United States of America)]
07:40 -!- justinlilly [justinlill@70.32.34.100] has joined #go-nuts
07:56 -!- `micro` [~quassel@96-42-218-124.dhcp.roch.mn.charter.com] has joined
#go-nuts
07:59 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
08:00 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
08:02 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has quit [Ping
timeout: 250 seconds]
08:11 -!- pamera [~Pam@c-71-198-205-77.hsd1.ca.comcast.net] has left #go-nuts []
08:25 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
08:27 -!- Project-2501 [~Marvin@82.84.77.149] has joined #go-nuts
08:29 -!- photron [~photron@port-92-201-27-49.dynamic.qsc.de] has joined #go-nuts
08:31 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-172-229.clienti.tiscali.it] has
quit [Ping timeout: 276 seconds]
08:36 -!- huin [~huin@91.85.188.1] has joined #go-nuts
08:37 -!- anticide [~textual@46.138.166.118] has joined #go-nuts
08:39 -!- anticide [~textual@46.138.166.118] has quit [Read error: Connection
reset by peer]
08:43 -!- Loonacy [~loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
08:55 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
09:00 < nocarrot> how do you use labels in for statements ?
09:01 < nocarrot> is it something like label: for {if foo continue label} ?
09:01 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
09:05 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping
timeout: 240 seconds]
09:14 -!- hcatlin [~hcatlin@host86-161-237-3.range86-161.btcentralplus.com] has
joined #go-nuts
09:14 -!- hcatlin [~hcatlin@host86-161-237-3.range86-161.btcentralplus.com] has
quit [Changing host]
09:14 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
09:25 -!- foocraft [~ewanas@178.152.87.54] has quit [Ping timeout: 252 seconds]
09:27 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
09:27 -!- foocraft [~ewanas@89.211.215.70] has joined #go-nuts
09:43 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has joined #go-nuts
09:48 -!- yogib [~kaiser@dslb-178-009-068-104.pools.arcor-ip.net] has joined
#go-nuts
09:53 < nocarrot> http://pastie.org/2153893
09:53 < nocarrot> i guess i'm not using the slices crrectly
09:53 < nocarrot> can someone put me out of my misery ?
09:53 < nocarrot> it explodes on line 16
09:53 < nocarrot> with index out of range
09:54 < nocarrot> but i thought that append would add more space to the
slice
09:55 < nocarrot> oops
09:55 < nocarrot> disregard, i'm a moron
10:00 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has quit [Quit: Slant]
10:01 -!- nekoh [~nekoh@dslb-178-004-031-128.pools.arcor-ip.net] has joined
#go-nuts
10:03 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has quit [Ping timeout:
255 seconds]
10:03 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has joined #go-nuts
10:06 -!- nocarrot [~antonio@218.241.169.34] has quit [Quit: Leaving]
10:07 -!- Project-2501 [~Marvin@82.84.77.149] has quit [Quit: E se abbasso questa
leva che succ...]
10:21 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has joined
#go-nuts
10:24 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has joined #go-nuts
10:25 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping
timeout: 240 seconds]
10:37 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has quit [Quit: Leaving.]
10:37 -!- dzderic [~dzderic@162.42.233.220.static.exetel.com.au] has joined
#go-nuts
10:45 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has quit [Ping
timeout: 255 seconds]
10:47 -!- dzderic [~dzderic@162.42.233.220.static.exetel.com.au] has quit [Remote
host closed the connection]
10:51 -!- virtualsue [~chatzilla@nat/cisco/x-akcklpmpnfvtxatm] has joined #go-nuts
10:55 -!- aeter [~adr@93-152-185-81.ddns.onlinedirect.bg] has joined #go-nuts
11:02 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
11:20 -!- zippoxer [~zippoxer@bzq-79-177-194-103.red.bezeqint.net] has quit [Ping
timeout: 240 seconds]
11:35 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has quit [Ping
timeout: 276 seconds]
11:52 -!- nekoh [~nekoh@dslb-178-004-031-128.pools.arcor-ip.net] has quit [Quit:
nekoh]
11:53 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts
11:56 -!- nekoh [~nekoh@dslb-178-004-031-128.pools.arcor-ip.net] has joined
#go-nuts
11:59 -!- robteix [~robteix@host243.200-82-125.telecom.net.ar] has joined #go-nuts
12:00 < brandini> What's the rule on running the weekly versus release?
12:16 -!- robteix [~robteix@host243.200-82-125.telecom.net.ar] has quit [Quit:
Computer has gone to sleep.]
12:21 -!- Fish-- [~Fish@coss6.exosec.net] has joined #go-nuts
12:24 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 252 seconds]
12:32 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
12:33 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
12:34 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
12:50 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has joined #go-nuts
12:50 < pjz> they're parallel branches; theoreticalystuffin weekly will
eventually make it into release
12:55 -!- franciscosouza [~francisco@201.7.131.3] has joined #go-nuts
12:55 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
12:59 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
13:00 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
13:01 < brandini> so it's safe to use?
13:02 -!- franciscosouza_ [~francisco@201.7.131.3] has joined #go-nuts
13:02 -!- franciscosouza [~francisco@201.7.131.3] has quit [Read error: Connection
reset by peer]
13:02 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
13:03 < jessta> brandini: safe?
13:04 -!- ijknacho [~goofy@cpe-72-190-64-3.tx.res.rr.com] has quit [Ping timeout:
240 seconds]
13:04 < brandini> I'm just trying to get a sense of where new features come
in, bugfixes live and what a developer should use for standard dev
13:05 < fvbommel> weeklies are little less polished, usually.
13:05 < jessta> a release is just a weekly that is a few weeks old
13:05 < brandini> :)
13:05 < jessta> picked for it's general lack of bugs
13:06 < brandini> so there is a monthly release basically?
13:06 < jessta> there is a release when the devs think a weekly was stable
enough to be a release
13:06 < brandini> ok
13:07 < brandini> so releases happen often
13:08 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has joined #go-nuts
13:09 < jessta> it's usually best to use the weeklies, and update your code
for each weekly, but tag version that work with releases
13:09 < brandini> ok
13:10 < brandini> I'm on release now, and I'm happy to run that so long as
releases don't take a year between :)
13:13 < brandini> I never learned C, I've written mostly java and python,
what happens during compilation and linking?
13:16 < jessta> compilation turns text in to packages, linking links
packages together in to a program
13:18 -!- darkhelmetlive [u1769@gateway/web/irccloud.com/x-lgbaspucqicinoje] has
quit [Quit: Connection closed for inactivity]
13:18 -!- franciscosouza [~francisco@201.7.131.3] has quit [Quit: franciscosouza]
13:28 -!- zippoxer [~zippoxer@bzq-79-181-208-126.red.bezeqint.net] has joined
#go-nuts
13:36 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:43 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
13:48 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
13:50 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
13:51 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
13:56 -!- franciscosouza [~francisco@201.7.131.3] has joined #go-nuts
13:58 -!- franciscosouza [~francisco@201.7.131.3] has quit [Client Quit]
13:59 -!- moraes [~moraes@189.103.188.201] has quit [Ping timeout: 250 seconds]
14:01 -!- franciscosouza [~francisco@201.7.131.3] has joined #go-nuts
14:11 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
14:26 -!- goon12 [~goon12@71-87-215-29.dhcp.oxfr.ma.charter.com] has joined
#go-nuts
14:31 -!- foocraft_ [~ewanas@78.101.87.58] has joined #go-nuts
14:31 -!- foocraft [~ewanas@89.211.215.70] has quit [Ping timeout: 246 seconds]
14:33 -!- Dr_Who [~tgall_foo@206.9.88.154] has joined #go-nuts
14:34 -!- Dr_Who [~tgall_foo@206.9.88.154] has quit [Changing host]
14:34 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
14:35 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has joined
#go-nuts
14:35 < GeertJohan> goowd mornin
14:45 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
14:47 -!- franciscosouza [~francisco@201.7.131.3] has quit [Quit: franciscosouza]
14:49 -!- bug- [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
14:50 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
244 seconds]
14:52 -!- franciscosouza [~francisco@201.7.131.3] has joined #go-nuts
14:54 -!- aeter [~adr@93-152-185-81.ddns.onlinedirect.bg] has quit [Quit:
Leaving.]
14:57 -!- zaero [~eclark@173-28-217-101.client.mchsi.com] has quit [Quit: ZNC -
http://znc.sourceforge.net]
14:58 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has joined #go-nuts
15:01 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts
15:01 -!- zaero [~eclark@servo.m.signedint.com] has joined #go-nuts
15:06 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
15:12 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 255 seconds]
15:13 -!- lucian_ [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
15:13 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
15:20 -!- Phelps [~benphelps@2001:470:1f0f:2fa:223:dfff:fe86:95ae] has joined
#go-nuts
15:21 -!- tncardoso [~thiago@189.59.129.72.dynamic.adsl.gvt.net.br] has joined
#go-nuts
15:23 -!- franciscosouza [~francisco@201.7.131.3] has quit [Quit: franciscosouza]
15:24 < huin> what are peoples' experiences with writing network protocol
libraries?  when it comes to talking on a TCP connection with a protocol that has
"packets" flowing over it in both directions, how many goroutines get used, what
sort of program structure is used?
15:25 < Phelps> zippoxer: you around ?
15:25 < aiju> huin: move the procession part underground to protect it from
attacks by the RAF
15:25 * huin nods wisely
15:27 < mpl> implement sirens and bomb shelters too.
15:28 < brandini> nothing like async network calls in .net
15:28 < brandini> ;)
15:28 < brandini> what a pile of crap
15:28 < huin> heh
15:28 < aiju> async network calls are the bombs of software engineering
15:29 < brandini> .net is bawls
15:30 < huin> to kick some *sensible* ;) discussion off here, i started
implementing a protocol that chats both ways, where both sides can issue "packets"
at any time
15:30 < huin> i've initially gone down the route of having two goroutines.
one for outgoing, one for incoming.  and the incoming also handles the "control"
of the protocol
15:31 < huin> however, this naturally leads to the situation where the
control can be blocked on receiving a full message from the peer
15:31 < huin> so i've been pondering a 3rd goroutine to handle control
15:32 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
15:32 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
15:32 < huin> which would chat between several channels between the
incoming/outgoing goroutines, and the application code utilizing the protocol
15:33 < huin> i'm wondering how sane that seems
15:33 < brandini> sounds wrong
15:33 < huin> cool :) - why?
15:34 < aiju> seems good to me
15:35 < huin> for my part, it seems like an elegant way to handle it, leads
to not blocking on things that shouldn't be blocked on, and nicely divides
concerns
15:35 < huin> i guess the only complaint i can level at it is that per
connection it's using 3 goroutines...  but given their cheapness i think that that
concern is invalid
15:36 < brandini> when you say outgoing, incoming are you talking across one
socket?
15:36 < huin> yes
15:37 < huin> that is: a goroutine handles reading from the socket, and
another goroutine handles writing to it
15:38 < brandini> but sockets block by default?
15:38 < huin> yup
15:39 < huin> really i'm not specifically using a TCPConn for this, i'm
using ReadWriter interface
15:40 < aiju> async/nonblocking communication is good for one thing --
making a giant mess out of your code
15:41 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
15:42 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has quit [Quit:
Leaving.]
15:43 < huin> it makes sense when you don't have light threading like stuff
like goroutines if you want any kind of scalability
15:44 < huin> but i'm glad to be away from that
15:45 < aiju> it gets worst when you some sort of interrupts, like SIGIO
15:47 < huin> i haven't met that one
15:47 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has quit [Quit: Leaving.]
15:48 < huin> anyway, that was for an SSH library i was casually
implementing at work
15:48 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 276 seconds]
15:48 < huin> transport layer basically works, but there's niggling details
that just don't sit right with the 2-goroutine method
15:50 < brandini> well I guess I need to build more interesting stuff with
go :)
15:51 -!- Phelps [~benphelps@2001:470:1f0f:2fa:223:dfff:fe86:95ae] has quit [Quit:
Linkinus - http://linkinus.com]
15:51 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts
15:51 < huin> i've been hacking on a minecraft server in Go for the last few
months, which i guess has given me a bit more appreciation for Go
15:52 < brandini> :)
15:52 < huin> to the point where for writing real programs i'm preferring it
over Python
15:52 < brandini> I just want to use it to build useless webapps :)
15:52 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So
Long, and Thanks for All the Fish]
15:52 < huin> although for scripting and other misc stuff i'm still happy
with python
15:52 < brandini> I'm coming from python as well
15:53 < huin> i did hear that Go was appealing to the dynamic language crowd
15:53 < aiju> they keep flooding this channel
15:53 * huin hopes he isn't flooding
15:56 * kergoth uses python and C normally, so Go is a lovely compromise
16:01 < brandini> I'm still trying to figure out why I left python and the
web framework I love :)
16:01 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has joined #go-nuts
16:02 < exch> You can always go back :p
16:04 -!- kamaji_ [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
16:05 -!- Bigbear1 [~Cody@d75-158-128-85.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
16:05 < kergoth>
https://github.com/kergoth/go-play/blob/master/schedule/schedule.go - thoughts?
first thing i've really written from scratch in go, experimenting with execution
of steps with dependencies.  extremely basic, just wondering if there's anything
obvious i should do differently
16:08 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts
16:09 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
16:10 -!- mattn_jp [~mattn@112-68-51-170f1.hyg1.eonet.ne.jp] has joined #go-nuts
16:21 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 250 seconds]
16:23 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has joined
#go-nuts
16:23 -!- ronnyy [~quassel@p4FF1C1F8.dip0.t-ipconnect.de] has quit [Remote host
closed the connection]
16:36 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
16:39 -!- Locke23rus [~locke23ru@2.93.237.138] has joined #go-nuts
16:40 -!- adlan [~adlan@175.140.33.26] has joined #go-nuts
16:48 -!- cco3 [~conleyo@nat/google/x-jnojdqwuookmmygq] has quit [Ping timeout:
260 seconds]
16:49 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz]
16:53 -!- mattn_jp [~mattn@112-68-51-170f1.hyg1.eonet.ne.jp] has quit [Quit:
Ex-Chat]
16:58 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has joined #go-nuts
17:03 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
17:04 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit
[Client Quit]
17:05 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
17:10 -!- tncardoso [~thiago@189.59.129.72.dynamic.adsl.gvt.net.br] has quit [Read
error: Connection reset by peer]
17:13 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
17:14 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
17:20 < serialhex> can maps be used as map keys??
17:20 < serialhex> really...  no...  ok, i messed up, my bad :P
17:21 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has quit
[Quit: pvarga]
17:21 < gnuvince> serialhex: no
17:21 < serialhex> but they can be used as values
17:21 < serialhex> ???
17:21 < gnuvince> "The comparison operators == and != (§Comparison
operators) must be fully defined for operands of the key type;"
17:22 < serialhex> ok
17:22 < serialhex> well i thought about it and i need a: `map[int]
map[string] string` :P
17:22 < serialhex> is that how i would declare it as the func return type?
17:23 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Quit:
twolfe18]
17:23 < gnuvince> not 100% sure about the syntax
17:23 < gnuvince> but that looks right
17:23 < serialhex> ok...  i'll try it and see if it complains on compiling
17:24 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has joined
#go-nuts
17:27 < aiju> "gnuvince", is that a portmonteau of GNU and convince
17:27 < aiju> +?
17:28 < gnuvince> no
17:28 < gnuvince> My name is Vincent
17:28 < gnuvince> just something I whipped up back in 2000 when I needed a
username for a Linux help forum.
17:28 < aiju> heh
17:28 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has quit
[Ping timeout: 255 seconds]
17:29 -!- nekoh [~nekoh@dslb-178-004-031-128.pools.arcor-ip.net] has quit [Ping
timeout: 240 seconds]
17:31 -!- virtualsue [~chatzilla@nat/cisco/x-akcklpmpnfvtxatm] has quit [Quit:
ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]]
17:32 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has quit [Ping
timeout: 276 seconds]
17:34 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
17:35 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Ping
timeout: 240 seconds]
17:35 -!- adlan [~adlan@175.140.33.26] has quit [Quit: Leaving]
17:39 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
17:40 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:40 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has quit [Quit: Leaving.]
17:47 -!- nekoh [~nekoh@dslb-178-004-074-226.pools.arcor-ip.net] has joined
#go-nuts
17:48 -!- yogib [~kaiser@dslb-178-009-068-104.pools.arcor-ip.net] has quit [Remote
host closed the connection]
17:49 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has joined #go-nuts
17:53 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has joined
#go-nuts
17:55 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Read error:
Operation timed out]
17:57 < serialhex> ok, i'm having trouble declaring something of type
`map[int] map[uint8] string[]` my code thus far is here:
https://gist.github.com/1061466
17:57 < serialhex> any help is greatly appreciated!
17:57 < serialhex> ...or even help in making something that dosn;t have so
many nested data structures...  :P
18:00 < gnuvince> wouldn't that be map[int]map[uint][]string?
18:00 < serialhex> gnuvince: yeah, it would be...  ffs!
18:00 < serialhex> lemme try that
18:02 < aiju> that's not a particularly complicated datastructure
18:02 < serialhex> ok, it's killing me on this line: `words := make(map[int]
make(map[uint8] []string) )`
18:02 < aiju> serialhex: make(type)
18:02 < aiju> not whatever you're doing
18:02 < serialhex> with this error: `social_distance.go:68: syntax error:
unexpected ), expecting {`
18:02 < aiju> make(map[int] map[uint8] []string)
18:02 < aiju> you'll need to make each of the maps in the second level
manually
18:03 < serialhex> ahh, ok
18:03 < serialhex> but the first level make would be..?  make(map[int] map)`
???
18:04 -!- Project_2501 [~Marvin@82.84.77.149] has joined #go-nuts
18:05 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
18:06 < exch> make(map[int] map[uint8] []string)
18:06 -!- Slant [~scott@124-148-170-52.dyn.iinet.net.au] has quit [Quit: Slant]
18:07 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has quit [Quit:
Leaving...]
18:07 < serialhex> exch: when i do that it compiles, but running it gives
me: panic: runtime error: lookup in nil map
18:08 < exch> that's because the second level map has not been created
18:09 < exch> m := make(map[int] map[uint8] []string); m[123] =
make(map[uint8] []string)
18:09 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has joined #go-nuts
18:09 < serialhex> ok, i feel the idiot :P
18:09 < serialhex> thanks!
18:12 -!- foocraft_ [~ewanas@78.101.87.58] has quit [Read error: Connection reset
by peer]
18:14 -!- foocraft [~ewanas@78.100.167.96] has joined #go-nuts
18:18 < serialhex> with a little debugging i give you: sorting words by
letters & beginning letter - https://gist.github.com/1061466
18:19 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
18:19 < exch> cool :) I wonder if it can be made faster/more memory
efficient if the maps are replaced with nested slices
18:21 < serialhex> possibly...  but for now this is good enough for me
18:21 < serialhex> maybe later when i try to make the whole thing faster
i'll try it, thanks :)
18:23 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
quit [Remote host closed the connection]
18:23 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined
#go-nuts
18:27 < serialhex> any way to easily break out of a nested loop?  besides
breaking out of the first then the second??
18:28 < |Craig|> serialhex: sure, break can take a label can't it?
18:28 < fvbommel> Yes it can.
18:28 < exch> give the loop a label and a named break: myloop: for ...  {
break myloop; }
18:29 < serialhex> ahh, sweet!
18:29 < |Craig|> you can also goto, but avoid that unless you really have a
reason
18:30 -!- ccc1 [~Adium@118-166-210-41.dynamic.hinet.net] has quit [Quit: Leaving.]
18:30 < serialhex> |Craig|: personally i avoid `goto` like the plague :D
18:39 < jessta> serialhex: I avoid 'goto' like my extended family.  Only a
few times a year.
18:40 < serialhex> :P
18:40 < serialhex> there don't happen to be default arguments for functions?
18:42 < jessta> nope
18:42 < jessta> just make a wrapper
18:44 < serialhex> ok
18:44 -!- zcram [~zcram@77-233-65-87.cdma.dyn.kou.ee] has joined #go-nuts
18:48 -!- Lysandros [~Lysander@unaffiliated/lysandros] has joined #go-nuts
18:48 -!- Lysandros [~Lysander@unaffiliated/lysandros] has left #go-nuts ["just
passing by"]
18:49 -!- kergoth [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Ping
timeout: 252 seconds]
18:49 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Ping
timeout: 240 seconds]
18:50 -!- Project-2501 [~Marvin@82.84.96.169] has joined #go-nuts
18:53 -!- Project_2501 [~Marvin@82.84.77.149] has quit [Ping timeout: 258 seconds]
18:53 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit
[Remote host closed the connection]
18:54 -!- bytbox [~s@96.26.105.154] has joined #go-nuts
18:55 < |Craig|> serialhex: the one place you do get defaults is zero values
when making structs
18:55 < serialhex> ok
18:56 < |Craig|> you can have variable numbers of arguments and work out
some scheme that way though
18:56 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
18:58 < serialhex> hmm...  i don't think i'll have to do something like
that, but maybe another project, thanks!
19:00 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
19:02 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
19:04 -!- twolfe18_ [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
19:04 < exch> mm the slice approach is a bit more involved, but it is
consistently 4 times faster than the map version.  On my machine anywAYS
19:04 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Ping
timeout: 252 seconds]
19:13 < exch> serialhex: check out the comment on your gist :)
19:20 < exch> The slice version can probably be made even faster if you
already know the length of the longest word in the dictionary.  That allows
initializing of the top-level slice before the loop and should save a number of
copy()'s
19:21 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Quit:
twolfe18]
19:25 -!- Adys [~Adys@83.166.219.214] has joined #go-nuts
19:26 -!- Guest42447 [~Adys@83.166.219.214] has quit [Remote host closed the
connection]
19:36 -!- lucian_ [~lucian@78-86-217-168.zone2.bethere.co.uk] has quit [Remote
host closed the connection]
19:37 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
19:38 -!- photron [~photron@port-92-201-27-49.dynamic.qsc.de] has quit [Ping
timeout: 246 seconds]
19:56 -!- Natch| [~natch@46.246.126.14] has joined #go-nuts
20:00 -!- kergoth__ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Read
error: Connection reset by peer]
20:03 < serialhex> exch: hey, thanks for that i'll check it out!
20:04 < serialhex> i dont think memory usage will be muh of a problem, the
dict i'm using is ~270k words, avg length of 9 letters, so it'll easily fit in my
gig of ram, (plus slices and whatnot) thoughthe speed will be needed!
20:14 < serialhex> any easy way to benchmark a program?
20:14 < gnuvince> serialhex: what are you writing?
20:14 < gnuvince> serialhex: testing.B
20:14 < serialhex> ahh,ok...  i was looking under 'benkmark' and
'profileing' in the package thing
20:15 -!- brad_ [~brad@cpe-098-026-120-155.nc.res.rr.com] has quit [Ping timeout:
250 seconds]
20:15 -!- crazy2be [~crazy2be@d75-152-167-124.abhsia.telus.net] has joined
#go-nuts
20:16 < serialhex> i'm writing a program to A) learn go and B) find words
that are 'friends' with each other...  check out this for the
source:https://github.com/serialhex/causes_problem
20:16 < serialhex> the main problem to be solved & some of my thoughts are
in social_distance.go
20:16 < crazy2be> how can you increment a pointer in go?
20:16 < aiju> *x++
20:17 < crazy2be> it's obviously designed to be difficult, but does the
unsafe package allow it?
20:17 < aiju> or do you mean the pointer itself?
20:17 < zippoxer> the address or the value?
20:17 -!- DisposaBoy [~DisposaBo@79.142.65.32] has joined #go-nuts
20:17 < crazy2be> the pointer itself, not what it points to
20:17 < crazy2be> as in to access the next element in a C-style array
20:17 < aiju> x = (*int)(unsafe.Pointer(4+uintptr(unsafe.Pointer(x))))
20:17 < aiju> something along that
20:18 < aiju> cast to uintptr via unsafe.Pointer, do arithmetic, cast back
20:18 < zippoxer> nice ;p
20:18 < aiju> use a slice man
20:18 < gnuvince> serialhex: ah yeah, I saw that
20:18 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
20:18 < aiju> you can handcraft a slice using reflect / unsafe
20:19 < serialhex> cool gnuvince, i know it's probably late to get the job
(it's no longer posted) but i figure i'll finish & send it to em anyway
20:19 < gnuvince> Of course
20:20 < gnuvince> then when an other offer comes up, you apply for it too
20:20 < serialhex> very true!
20:20 -!- sacho [~sacho@46.10.23.185] has quit [Read error: Connection reset by
peer]
20:21 < crazy2be> aiju: I have a go function called from C that gets passed
an array and it's length.  Is there a better way to make a go-style array than
constructing it manually?
20:23 < aiju> what's wrong about manually constructing it
20:23 < aiju> it's like four lines
20:23 < crazy2be> well that's what I'm doing
20:24 < crazy2be> but you said you can handcraft a slice using
reflect/unsafe
20:24 < crazy2be> btw, is this correct?  https://gist.github.com/1061617
20:24 < serialhex> shouldn't one use unsafe...  because it's unsafe???
20:24 < serialhex> err, ^not use
20:25 < crazy2be> serialhex: Little choice when interfacing with C code
20:25 < serialhex> hmm, ok
20:25 < crazy2be> and the library i'm hacking on uses it EVERYWHERE
20:25 < crazy2be> which i'm trying to calm down a little
20:25 < serialhex> well if it's between being unsafe and not getting it
done...  then be undafe!  :P
20:26 < serialhex> oh...  wow
20:26 < crazy2be> serialhex: e.g.  see https://gist.github.com/1057936
20:26 < aiju> 22:29 < crazy2be> but you said you can handcraft a slice
using reflect/unsafe
20:26 < aiju> yeah
20:27 < crazy2be> what do you mean handcraft?
20:27 < aiju> you take reflect.SliceHeader or similar and cast an empty
slice pointer to it
20:27 < aiju> then assign the values
20:27 < aiju>
http://groups.google.com/group/golang-nuts/browse_thread/thread/d3338d9dbc308475
20:27 < aiju> second message
20:28 < serialhex> wow crazy2be...  that's insane, 7 args...  just wow over
the whole thing
20:28 < serialhex> i feel sorry for you
20:33 < crazy2be> 7 args that are all unsafe.Pointer :P
20:35 < serialhex> yeah exactly...
20:36 < aiju> and whoever wrote this even repeated the type every time
20:36 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Quit:
Geek insinde®]
20:43 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
20:54 -!- huin [~huin@91.85.188.1] has quit [Quit: bedtime]
20:54 < brandini> so I found the yubikey code for go, but is there a go auth
server as well?
20:55 < brandini> it's really hard to find stuff on the internet for "go" :)
20:55 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has quit
[Quit: pvarga]
20:55 < gnuvince> search for "golang"
20:55 < gnuvince> works everytime
20:56 < brandini> ok
20:58 -!- bakedb [~kel@cpc4-lea21-0-0-cust755.6-3.cable.virginmedia.com] has
joined #go-nuts
21:01 -!- Bigbear1 [~Cody@d75-158-128-85.abhsia.telus.net] has joined #go-nuts
21:01 < brandini> this andradeandry has a lot of userful things in github
21:12 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has quit [Read error:
Connection reset by peer]
21:13 -!- kamaji [~kamaji@handtomouse.demon.co.uk] has joined #go-nuts
21:14 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has quit [Ping timeout:
264 seconds]
21:15 -!- Bigbear1 [~Cody@d75-158-128-85.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
21:15 < crazy2be> brandini: link?
21:15 -!- Project-2501 [~Marvin@82.84.96.169] has quit [Ping timeout: 258 seconds]
21:16 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
21:16 < crazy2be> also, what do you mean by an auth server?
21:17 < aiju> plan 9 auth
21:17 < aiju> i assume
21:17 < aiju> or hope, rather ;P
21:19 -!- bugQ [~bug@c-71-195-207-34.hsd1.ut.comcast.net] has joined #go-nuts
21:20 < crazy2be> ah
21:20 < crazy2be> I was thinking like http auth server
21:20 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
21:21 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has quit [Remote host
closed the connection]
21:22 -!- pothos [~pothos@111-240-171-213.dynamic.hinet.net] has quit [Read error:
Connection reset by peer]
21:22 < aiju> i don't think there is such a thing
21:24 -!- pothos_ [~pothos@111-240-169-24.dynamic.hinet.net] has joined #go-nuts
21:29 < crazy2be> I have an openid server module that runs as a seperate
process, so I would count that as an "http auth server"
21:30 < crazy2be> I was thinking of that and wondering if perhaps someone
else had a similar idea :P
21:33 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has quit [Remote host
closed the connection]
21:34 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
21:36 < crazy2be> also, is it just a restriction of cgo that go functions
called from c will have arguments of entirely unsafe.Pointer?
21:37 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
21:37 < crazy2be> because changing them to the actual C types yeilds strange
errors about *ast.ArrayType
21:37 -!- bakedb [~kel@cpc4-lea21-0-0-cust755.6-3.cable.virginmedia.com] has quit
[Ping timeout: 240 seconds]
21:37 < crazy2be> "unrecognized Go type *ast.ArrayType"
21:38 -!- virtualsue [~chatzilla@nat/cisco/x-wunlpoectcbsjwix] has joined #go-nuts
21:38 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Quit:
twolfe18]
21:40 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has quit [Remote host
closed the connection]
21:41 -!- zcram [~zcram@77-233-65-87.cdma.dyn.kou.ee] has quit [Ping timeout: 240
seconds]
21:42 < exch> I havnt had any problems using explicit C types
21:42 < exch> only void* is generally passed as unsafe.Pointer
21:45 -!- thomas___ [~thomas@50.55.235.119] has joined #go-nuts
21:48 -!- bytbox [~s@96.26.105.154] has quit [Ping timeout: 240 seconds]
21:48 -!- bytbox [~s@96.26.105.154] has joined #go-nuts
21:49 < crazy2be> hmm
21:51 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
21:52 < exch> Not sure if it'll help, but here's one of the callback bits I
use https://github.com/jteeuwen/glfw/blob/master/callback.go
21:52 < exch> the goXXXCB() functions are the ones called from C
21:53 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Client
Quit]
21:57 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has joined
#go-nuts
21:57 -!- twolfe18 [~twolfe18@c-71-61-180-11.hsd1.pa.comcast.net] has quit [Client
Quit]
22:00 < crazy2be> exch: Where do you call them?
22:07 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has joined
#go-nuts
22:13 -!- pvarga [~pvarga@pool-71-172-108-117.nwrknj.east.verizon.net] has quit
[Quit: pvarga]
22:13 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has quit [Read error:
Connection reset by peer]
22:13 -!- Jessica_Lily [~Jessica@unaffiliated/xray7224] has joined #go-nuts
22:20 -!- nekoh [~nekoh@dslb-178-004-074-226.pools.arcor-ip.net] has quit [Ping
timeout: 252 seconds]
22:27 -!- nekoh [~nekoh@dslb-188-107-170-024.pools.arcor-ip.net] has joined
#go-nuts
22:28 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has joined #go-nuts
22:28 < crazy2be> exch: What does the extern void goxxx() do?
22:31 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection]
22:36 < crazy2be> at the top
22:36 < ampleyfly> crazy2be: it tells the c compiler that the definition is
in another castle
22:38 -!- bytbox [~s@96.26.105.154] has joined #go-nuts
22:40 < crazy2be> ampleyfly: Is in necessary in a cgo file?
22:41 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping
timeout: 240 seconds]
22:41 < ampleyfly> the comments?
22:43 < ampleyfly> I'm not actually sure where the extern is necessary,
whether it is to avoid warnings from the c compiler or to prevent linker problems
22:43 < crazy2be> hmm
22:43 < ampleyfly> but I think the comments are just there to show what the
signatures look like in c
22:43 < ampleyfly> (ie what would be in a header file)
22:44 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection]
22:48 -!- ponce [~ponce@rps7623.ovh.net] has left #go-nuts []
22:48 -!- virtualsue [~chatzilla@nat/cisco/x-wunlpoectcbsjwix] has quit [Ping
timeout: 240 seconds]
22:49 -!- bytbox [~s@96.26.105.154] has joined #go-nuts
22:52 -!- bytbox [~s@96.26.105.154] has quit [Remote host closed the connection]
22:54 < vsmatck> http://pastie.org/2156230 What happens when you mix IO
intensive task with CPU intensive task.  The Go people already know about this.
Just thought I'd share tho.  :)
22:55 < crazy2be> vsmatck: where's the punchline?
22:56 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has joined
#go-nuts
22:56 < crazy2be> is that a very low number of requests per second?
22:57 -!- franksalim [~frank@64-71-23-250.static.wiline.com] has joined #go-nuts
22:57 < vsmatck> Look at correlation between GOMAXPROCS and comp1/comp9.
22:58 < crazy2be> well higher GOMAXPROCS == higher number of requests per
scond on both of them, but I suppose the gap increases as well
22:58 < crazy2be> *second
22:59 < vsmatck> It would be counter-intuitive for people who don't know how
goroutine scheduling works.
22:59 < vsmatck> People might think that higher number of OS threads would
be slower because of increased context switch overhead.
23:00 < dforsyth> is the debug/proc stuff being used for anything?
23:00 < vsmatck> What is happening is that when go-routines get caught on a
CPU intensive task they aren't able to go start another blocking IO job.
23:04 -!- DisposaBoy [~DisposaBo@79.142.65.32] has quit [Ping timeout: 246
seconds]
23:04 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
23:15 -!- nekoh [~nekoh@dslb-188-107-170-024.pools.arcor-ip.net] has quit [Quit:
nekoh]
23:19 -!- Locke23rus [~locke23ru@2.93.237.138] has quit [Remote host closed the
connection]
23:30 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
23:35 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust125.haye.cable.virginmedia.com] has quit [Ping
timeout: 255 seconds]
23:38 -!- gnuvince [~vince@ip-96-43-233-174.dsl.netrevolution.com] has quit [Quit:
Lost terminal]
23:39 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
23:45 -!- lucian [~lucian@78-86-217-168.zone2.bethere.co.uk] has joined #go-nuts
23:55 -!- goon12 [~goon12@71-87-215-29.dhcp.oxfr.ma.charter.com] has quit [Ping
timeout: 255 seconds]
23:57 -!- moraes [~moraes@189.103.188.201] has quit [Remote host closed the
connection]
23:58 -!- goon12 [~goon12@71-87-215-29.dhcp.oxfr.ma.charter.com] has joined
#go-nuts
23:59 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
#go-nuts
--- Log closed Sun Jul 03 00:00:54 2011