--- 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