--- Log opened Wed Jun 22 00:00:14 2011 --- Day changed Wed Jun 22 2011 00:00 < kevlar_work> though you can use map[string]struct{} (I personally think it's ugly) 00:01 < kfmfe04> k - ty 00:02 < str1ngs> kfmfe04: I like to use map[string]bool 00:05 -!- taruti [~taruti@ultra.violetti.org] has joined #go-nuts 00:05 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined #go-nuts 00:08 -!- Aperculum [~lauri@kapsi.fi] has joined #go-nuts 00:13 <@adg> uriel: we have something coming this week 00:26 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 00:28 -!- tvw [~tv@e176004201.adsl.alicedsl.de] has quit [Ping timeout: 255 seconds] 00:36 < kfmfe04> regarding variadic arguments, is there a way to designate zero or one? if not, what is the proper way to handle zero or one argument in the implementation? 00:37 < kfmfe04> actually, what I really want is a default argument, but since that's not available, variadic seems like the next best bet 00:37 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has quit [Ping timeout: 255 seconds] 00:39 < skelterjohn> you can't specify that a variadic require up to a fixed number of arguments 00:40 < skelterjohn> if you have a complicated argument list, try a struct containing them all 00:41 < kfmfe04> that's a really good idea - I can have a struct or an interface as an argument as an alternative to variadic - lemme think about my problem some more - tyvm 00:44 -!- F [~f@unaffiliated/f] has quit [Ping timeout: 276 seconds] 00:48 -!- nesv [~nick@CPE98fc116ac79e-CM00222d67cb0d.cpe.net.cable.rogers.com] has joined #go-nuts 00:51 -!- F [~f@pool-96-255-203-102.washdc.fios.verizon.net] has joined #go-nuts 00:51 -!- va3atc [~va3atc@24-246-17-37.cable.teksavvy.com] has quit [Ping timeout: 255 seconds] 00:52 -!- bobbysworld [~bobbyswor@99-20-88-178.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 246 seconds] 00:57 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 00:57 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 00:59 -!- bobbysworld [~bobbyswor@99-20-88-178.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 01:00 < kfmfe04> just getting a handle on struct embedding - looks like powerful stuff allowing for very succinct code (relative to most OOP languages) - v.nice 01:00 < kevlar_work> kfmfe04, use with care. 01:01 < kfmfe04> any caveats? 01:02 < kevlar_work> it can tempt you to try to retrofit OOP concepts instead of thinking about the problem "the Go way" (e.g. the Communicating Sequential Processes way) 01:03 < skelterjohn> i was never quite sure why "type A { B }" gives A all of B's methods, but "type A B" does not 01:04 < skelterjohn> err, "type A struct { B }", for the first one 01:08 < kfmfe04> kevlar_work, I appreciate the warning on CSP - ty - reading up on it now - will try to shift from OOP to CSP 01:11 < kevlar_work> kfmfe04, that was an example of the go way; "the Go way" is also about using interfaces instead of inheritance 01:11 < skelterjohn> the basic gist is to not spend time worrying about code structure - just write the code 01:12 < kevlar_work> the CSP is more of how to structure your programs; interfaces is more about how to think about your data 01:13 -!- robteix_ [~robteix@host243.200-82-125.telecom.net.ar] has joined #go-nuts 01:14 < kfmfe04> the ideas behind CSP appear to be related to functional programming - almost seems like a special class of functional programming 01:15 < skelterjohn> when i first started idling here, i got confused sometimes when people talked about constraint satisfaction problem languages 01:16 < kevlar_work> skelterjohn, rofl 01:16 < skelterjohn> i felt like go could do so much more than CSPs 01:18 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #go-nuts 01:23 < kfmfe04> looks like time to stop coding and read Hoare http://usingcsp.com/cspbook.pdf 01:23 -!- bobbysworld [~bobbyswor@99-20-88-178.lightspeed.austtx.sbcglobal.net] has quit [Quit: bobbysworld] 01:24 < kfmfe04> skelterjohn, are there languages out there that implement CSP to a deeper extent? which ones? 01:24 < skelterjohn> no idea 01:24 < skelterjohn> i know almost nothing about the kind of CSP we're talking about 01:25 < skelterjohn> i was making a joke about CSP meaning more than one thing 01:26 < kfmfe04> hahaha - ok - just thought if there were purer CSP languages to play with, it'd be a good learning tool (as an analogy, in the early days of C++, I found it useful to play with Smalltalk to grasp the uses of OOP before returning to C++) 01:27 -!- nesv [~nick@CPE98fc116ac79e-CM00222d67cb0d.cpe.net.cable.rogers.com] has quit [Quit: Ex-Chat] 01:30 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts 01:31 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 01:36 < kfmfe04> hehehe - I like CSP notation - quite clever 01:39 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza] 01:50 -!- go_newbie [~chatzilla@anlextwls093-032.wl.anl-external.org] has joined #go-nuts 01:51 < go_newbie> Hey there I have a question about the http package 01:51 < go_newbie> how can you take data and pass it around the simple server class 01:51 < go_newbie> or for that matter how do you dereference a pointer? 01:52 < skelterjohn> same as in C/C++ 01:52 < skelterjohn> the * operator 01:52 < skelterjohn> for the last question 01:52 < skelterjohn> for the first question, i don't really understand your question 01:54 < go_newbie> I'm building a simple server with the http package using the listen and serve function 01:54 < go_newbie> you can define a handler but you can only have two arguments passed into the http.handle function 01:55 -!- franciscosouza [~francisco@187.105.24.41] has joined #go-nuts 01:55 < skelterjohn> i see 01:55 < go_newbie> I am trying to store data and pass it around saving the data from other functions for calculations in the handle functions 01:55 < skelterjohn> two major ways to share data 01:55 < skelterjohn> 1) global vars 01:55 < skelterjohn> 2) closures 01:55 < skelterjohn> though you can think of 1) as a special case of 2) 01:55 < go_newbie> I had read about closures but could not get them to work correctly because I was not sure when to pass the data 01:56 < skelterjohn> you don't do anything explicit with closures 01:56 < skelterjohn> you just refer to things and it will work 01:56 < go_newbie> I had overloaded the function with a closure but I could not find where to pass tht data afterward 01:56 < go_newbie> Can I post the short closure I rewrote? 01:57 < go_newbie> func makeHandler(fn func(http.ResponseWriter, *http.Request, *Request)) http.HandlerFunc { 01:57 < go_newbie> return func(w http.ResponseWriter, r *http.Request) { 01:57 < go_newbie> var req Request 01:57 < go_newbie> fn(w, r, req) 01:57 < skelterjohn> http://pastebin.com/faTPZ8wP 01:57 < go_newbie> } 01:57 < skelterjohn> don't write code in irc 01:57 < skelterjohn> read the topic 01:57 < skelterjohn> i posted an example of using a closure 01:57 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04] 01:57 < skelterjohn> bar has a closure that incldes the variable x 01:58 < go_newbie> Sorry new to irc. won't do that again 01:59 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 02:01 < go_newbie> I don't fully understand this closure thing 02:01 < go_newbie> So you can say that I can dereference a pointer the say way in c with the * operator 02:02 < go_newbie> When I do that it throws a problem when creating the var with the new operator 02:03 < str1ngs> go_newbie: can you paste some code will help 02:03 < str1ngs> go_newbie: using a paste service please 02:03 < kfmfe04> skelterjohn, what is the right way to think about x in your closure example? 02:03 < go_newbie> sure give me five secs 02:03 < skelterjohn> kfmfe04: what do you mean? it's an int 02:04 < kfmfe04> it's like a handle to the x on Line 6? 02:04 < go_newbie> http://pastebin.com/j0FPAqz2 02:04 < go_newbie> I posted some here 02:05 < str1ngs> kfmfe04: just think of x as being in scope still 02:05 < str1ngs> kfmfe04: even though its in a function 02:05 < kfmfe04> I mean, is it true that a closure allocates no new data/memory? it has to refer to something on the outside? 02:06 < go_newbie> so far call is just a function to handle different calls 02:06 < str1ngs> go_newbie: you mean fn? 02:06 < go_newbie> I thought fn was the function prototype i was trying to assign to 02:07 < str1ngs> yes I guess so but I dont see that code :P 02:07 < str1ngs> can you give error you are getting? 02:07 < skelterjohn> if something is referred to in a closure, it is put on the heap rather than the stack 02:07 < skelterjohn> since it can remain in scope after the stack frame is freed 02:08 < go_newbie> Thats just it, I'm not getting an error but I am trying to pass that request structure in so that I can use it 02:09 < kfmfe04> ty, skelterjohn, that explanation was v.helpful 02:09 < str1ngs> go_newbie: that looks ok 02:10 < str1ngs> go_newbie: but if there is your first go project. I might avoid this way for now 02:10 < go_newbie> well i was not sure how to do it any other way 02:10 -!- keithcascio [~keithcasc@nat/google/x-byviopauslxpawik] has quit [Quit: Leaving] 02:10 < go_newbie> all i am doing is sending that data structure into the caller 02:10 < go_newbie> but i can't do that 02:10 < str1ngs> just make handlers 02:10 < go_newbie> that is what the Request structure is 02:11 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has quit [Quit: EOF()] 02:11 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 02:11 < str1ngs> unless you really need /dump? 02:11 < go_newbie> I do for the program I am developing 02:11 < go_newbie> I have one for each call and call is the function they all convien in so far 02:12 < go_newbie> dump really just persists a json file back to the client for tracebacks 02:12 < go_newbie> which is why I also asked how to dereference pointers 02:13 < go_newbie> http://pastebin.com/iZt5uh6U 02:14 < go_newbie> here is the full projext I am trying to work out... 02:14 < skelterjohn> your code seems like a reasonable way to do it 02:14 < skelterjohn> err, didn't read the longer version 02:14 < go_newbie> I know. I just want to find a way to pass that structure to the calling function 02:14 < go_newbie> haha 02:14 < skelterjohn> (nor do i intend to :) ) 02:15 < go_newbie> haha 02:15 < go_newbie> id only focus on the call function and everyting below it 02:15 < str1ngs> go_newbie: Data_store goism is DataStore 02:16 < str1ngs> go_newbie: just a fyi 02:16 < str1ngs> or Datastore 02:16 < go_newbie> I was going to be go correct once it started to work haha 02:17 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined #go-nuts 02:17 < str1ngs> thats ok _ still works 02:18 < go_newbie> once i figure out the passing of that request structure to the call method correctly I should be able to flesh this out more 02:19 < go_newbie> That and get derference the pointers correctly so that I can json 02:19 -!- dlowe [~dlowe@c-66-30-116-162.hsd1.ma.comcast.net] has quit [Quit: *poof*] 02:22 < go_newbie> If anyone is still helping me I just want to say I'll be back in 5-10 minutes. Have to take care of someting. 02:22 < go_newbie> Thank you and i'll return 02:23 < str1ngs> still reading :P 02:24 -!- Aperculum [~lauri@kapsi.fi] has quit [Ping timeout: 240 seconds] 02:24 -!- allengeorge_ [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has joined #go-nuts 02:25 -!- Aperculum [~lauri@kapsi.fi] has joined #go-nuts 02:26 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 02:26 -!- go_newbie [~chatzilla@anlextwls093-032.wl.anl-external.org] has quit [Ping timeout: 240 seconds] 02:31 -!- go_newbie [~chatzilla@anlextwls093-032.wl.anl-external.org] has joined #go-nuts 02:31 < go_newbie> okay I'm back 02:31 < go_newbie> sorry about that 02:31 -!- xyproto [~alexander@77.40.159.131] has quit [Ping timeout: 240 seconds] 02:33 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host closed the connection] 02:34 < str1ngs> go_newbie: var req Request 02:34 < str1ngs> go_newbie: I think you probably want req := new(Request) here? 02:35 -!- xyproto [~alexander@77.40.159.131] has joined #go-nuts 02:35 < str1ngs> let recheck though 02:35 < str1ngs> ya pretty sure you want that 02:35 < str1ngs> you declare it but. you give it no value 02:35 < go_newbie> Ya that was the thing 02:36 < go_newbie> I wasn't sure how initialize it 02:36 < str1ngs> ah ok 02:36 < go_newbie> I wanted to pass leader into it 02:36 < go_newbie> which is of request type 02:36 < str1ngs> you can do composite or use new 02:36 < str1ngs> not sure what you mean by pass leaser 02:36 < str1ngs> leader8 02:37 < str1ngs> gah 02:37 < go_newbie> lol 02:37 < str1ngs> thats sleep time right there bro :P 02:37 < go_newbie> I meant in my main I created a path and a data variables that are then fed into a leader data structure 02:37 < go_newbie> lol ya 02:38 -!- Wiz126 [Wiz@h229.120.232.68.dynamic.ip.windstream.net] has joined #go-nuts 02:38 < go_newbie> so when I call http.Handle the call is made to the call function that also lets me pass that request structure (leader in this case) into the funcston 02:38 < str1ngs> ah I see that 02:38 < str1ngs> ya you'll probably need a closure like skelterjohn mentioned 02:39 < str1ngs> in which case you might not want makeHandler 02:39 < str1ngs> but I think either work. but theses nested func types are confusing 02:39 < go_newbie> ya 02:39 < go_newbie> that was my problem 02:40 < str1ngs> thats just me though. but I would simply it if you can 02:40 < go_newbie> I have been trying lol 02:40 < go_newbie> that was my simplification 02:40 -!- benjack [~benjack@bb119-74-99-26.singnet.com.sg] has joined #go-nuts 02:40 -!- sniper506th [~sniper506@cpe-098-122-081-186.sc.res.rr.com] has joined #go-nuts 02:40 < go_newbie> my other idea was to persist data to a temp json file 02:40 -!- sniper506th [~sniper506@cpe-098-122-081-186.sc.res.rr.com] has quit [Client Quit] 02:40 < go_newbie> but to do that I would have to know how to derference the data correctly 02:41 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04] 02:45 < go_newbie> is there any way to overload http.HandlerFunc to make it call a three or more variable functin? 02:45 < str1ngs> nope 02:46 < str1ngs> you need a closure 02:47 < go_newbie> well that just sucks because closures confuse the heck out o me 02:48 -!- robteix_ [~robteix@host243.200-82-125.telecom.net.ar] has quit [Quit: Computer has gone to sleep.] 02:48 < go_newbie> lol 02:53 < go_newbie> How about my second question. How do you derefernce a pointer so that it can create valid json 02:56 < exch> use the * to dereference a pointer 02:57 < exch> as in myval := *ptr 02:57 < go_newbie> what if you are setting it into a struct 02:57 < go_newbie> that would mean that myval.val = *val? 02:58 < exch> yes 02:59 < go_newbie> I was using that and it was not working. I'll try agian tho 03:02 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts 03:03 < go_newbie> that kind of worked. 03:03 < go_newbie> thanks 03:04 < kevlar> go_newbie: you shouldn't really have to mix pointers and non-pointers 03:04 < kevlar> if you need to copy a struct, you should write a function to do it 03:04 < go_newbie> I need to json and unjson 2 modules 03:04 < go_newbie> they do not allow pointer usage 03:05 < kevlar> json (un)marshall works fine on whatever 03:05 < kevlar> do you mean your "modules" don't allow pointer usage? 03:06 < go_newbie> Pointer values encode as the value pointed to. A nil pointer encodes as the null JSON object 03:06 < go_newbie> I figured the recieveing client would not know what the structures were if they were just memory locations on my machine 03:07 < go_newbie> and i am trying to implement "classes" by overloading modules and that requires a pointer 03:10 < go_newbie> but i could be wrong 03:10 < go_newbie> atleast about class implementation 03:14 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 03:19 < go_newbie> Thanks everyone forthe help. I'm going to go and hack some more out. 03:19 < go_newbie> later 03:19 -!- go_newbie [~chatzilla@anlextwls093-032.wl.anl-external.org] has quit [Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110518052719]] 03:22 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has joined #go-nuts 03:23 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote host closed the connection] 03:28 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 03:30 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 244 seconds] 03:41 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 03:49 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 244 seconds] 03:49 -!- wallerdev [~wallerdev@72.44.102.30] has joined #go-nuts 03:51 -!- message144 [~message14@pool-98-112-179-26.lsanca.fios.verizon.net] has quit [Quit: gone] 03:57 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 03:58 -!- F [~f@pool-96-255-203-102.washdc.fios.verizon.net] has left #go-nuts [] 03:58 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04] 04:00 -!- srid_ [~srid@S010678ca39ff0146.vn.shawcable.net] has joined #go-nuts 04:00 -!- srid_ [~srid@S010678ca39ff0146.vn.shawcable.net] has quit [Changing host] 04:00 -!- srid_ [~srid@unaffiliated/srid] has joined #go-nuts 04:03 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host closed the connection] 04:08 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services] 04:08 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 04:17 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts 04:18 -!- alkavan_ [~alkavan@IGLD-84-228-189-104.inter.net.il] has quit [Read error: Connection reset by peer] 04:24 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-gwebvgpxpuureecf] has quit [Read error: Connection reset by peer] 04:25 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-vocpvhilbxbsyuxa] has joined #go-nuts 04:26 -!- niemeyer [~niemeyer@187.53.255.234] has quit [Ping timeout: 240 seconds] 04:28 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 276 seconds] 04:29 -!- kfmfe04 [~kfmfe04@220-135-201-83.HINET-IP.hinet.net] has joined #go-nuts 04:30 -!- allengeorge_ [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has joined #go-nuts 04:32 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit [Read error: Connection reset by peer] 04:33 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has quit [Ping timeout: 250 seconds] 04:35 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has joined #go-nuts 04:37 < zozoR> i don't understand what godefs does that makes everything a better place : | 04:44 -!- ekontsev1y [~ekontsevo@209.20.66.251] has quit [Quit: leaving] 04:51 < zozoR> oh, found some usefullness for it :D 04:52 < dfc> it's like an apple corer, it's not much use most of the time 04:52 < dfc> but when you need it, it's exactly the right tool for the job 04:56 < zozoR> it makes the world a better place, when wrapping C code :D 04:57 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 04:58 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 05:04 -!- kfmfe04 [~kfmfe04@220-135-201-83.HINET-IP.hinet.net] has quit [Quit: kfmfe04] 05:06 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has joined #go-nuts 05:17 -!- _dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts 05:17 -!- _dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Client Quit] 05:18 -!- allengeorge_ [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has joined #go-nuts 05:20 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has quit [Ping timeout: 250 seconds] 05:20 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has joined #go-nuts 05:20 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping timeout: 240 seconds] 05:24 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has quit [Quit: eimantas] 05:25 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has quit [Client Quit] 05:26 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has joined #go-nuts 05:29 -!- bakedb [~kel@cpc4-lea21-0-0-cust755.6-3.cable.virginmedia.com] has joined #go-nuts 05:30 -!- Bigbear1 [~Cody@d75-158-128-4.abhsia.telus.net] has quit [Read error: Connection reset by peer] 05:30 -!- srid_ [~srid@unaffiliated/srid] has quit [Quit: Computer has gone to sleep.] 05:49 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has joined #go-nuts 05:57 -!- eimantas [~eimantas@88.118.232.38] has joined #go-nuts 06:19 -!- franciscosouza [~francisco@187.105.24.41] has quit [Ping timeout: 250 seconds] 06:21 -!- franciscosouza [~francisco@187.105.24.41] has joined #go-nuts 06:21 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 06:25 -!- photron [~photron@port-92-201-63-142.dynamic.qsc.de] has joined #go-nuts 06:25 -!- ewanas [~ewanas@78.101.173.176] has joined #go-nuts 06:27 -!- noodles775 [~michael@e178255213.adsl.alicedsl.de] has joined #go-nuts 06:27 -!- noodles775 [~michael@e178255213.adsl.alicedsl.de] has quit [Changing host] 06:27 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts 06:34 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Ping timeout: 264 seconds] 06:39 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 06:44 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 06:45 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts 06:47 -!- kris928 [~Adium@c-98-207-153-231.hsd1.ca.comcast.net] has joined #go-nuts 06:50 -!- wallerdev [~wallerdev@72.44.102.30] has quit [Quit: wallerdev] 06:57 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|] 06:57 -!- Project_2501 [~Marvin@82.84.66.71] has joined #go-nuts 06:58 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has joined #go-nuts 06:58 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has left #go-nuts [] 07:00 -!- bakedb [~kel@cpc4-lea21-0-0-cust755.6-3.cable.virginmedia.com] has quit [Ping timeout: 255 seconds] 07:02 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 276 seconds] 07:08 -!- Tv [~Tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240 seconds] 07:15 -!- ctimmerm [~ctimmerm@83.150.80.193] has joined #go-nuts 07:26 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 07:27 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252 seconds] 07:28 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 07:32 -!- kris928 [~Adium@c-98-207-153-231.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 07:34 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 07:35 -!- fvbommel [~fvbommel_@131.155.245.231] has joined #go-nuts 07:36 -!- sttmjoc0 [~lutz@et-1-4.gw-nat.bs.ka.oneandone.net] has joined #go-nuts 07:36 -!- fvbommel_ [~fvbommel_@dyn070071.nbw.tue.nl] has joined #go-nuts 07:37 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 07:39 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has joined #go-nuts 07:40 -!- fvbommel [~fvbommel_@131.155.245.231] has quit [Ping timeout: 276 seconds] 07:41 -!- GeertJohan [~Squarc@clal-0-148.eduroam.inholland.nl] has quit [Client Quit] 07:41 -!- cw [~anticw@parsec.stupidest.org] has quit [Read error: Operation timed out] 07:42 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts 07:45 -!- virtualsue [~chatzilla@host81-148-52-109.in-addr.btopenworld.com] has joined #go-nuts 07:47 -!- eimantas_ [~eimantas@78-60-134-80.static.zebra.lt] has joined #go-nuts 07:49 -!- eimantas_ [~eimantas@78-60-134-80.static.zebra.lt] has quit [Client Quit] 07:51 -!- eimantas [~eimantas@88.118.232.38] has quit [Ping timeout: 240 seconds] 07:52 -!- bakedb [~kel@188.28.150.197.threembb.co.uk] has joined #go-nuts 07:58 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has joined #go-nuts 08:01 -!- kfmfe04 [~kfmfe04@60-251-136-139.HINET-IP.hinet.net] has quit [Quit: kfmfe04] 08:04 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Ping timeout: 250 seconds] 08:13 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 08:13 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts 08:21 -!- m4dh4tt3r1 [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined #go-nuts 08:21 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Read error: Connection reset by peer] 08:25 -!- sttmjoc0 [~lutz@et-1-4.gw-nat.bs.ka.oneandone.net] has quit [Quit: leaving] 08:31 -!- franciscosouza [~francisco@187.105.24.41] has quit [Read error: Connection reset by peer] 08:33 -!- franciscosouza [~francisco@187.105.24.41] has joined #go-nuts 08:39 -!- napsy [~luka@193.2.66.6] has joined #go-nuts 08:40 -!- pjm0616 [~user@114.200.203.101] has quit [Ping timeout: 258 seconds] 08:45 -!- cw [~anticw@parsec.stupidest.org] has joined #go-nuts 08:46 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has quit [Ping timeout: 240 seconds] 08:48 -!- virtualsue [~chatzilla@host81-148-52-109.in-addr.btopenworld.com] has quit [Ping timeout: 250 seconds] 08:51 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts 08:55 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has joined #go-nuts 08:55 -!- virtualsue [~chatzilla@nat/cisco/x-qbsmdbjmlqkjwawn] has joined #go-nuts 09:00 < zippoxer> how can I temporarily set the GOOS environment variable to windows, in linux. 09:00 < zippoxer> ? 09:01 < dario> just the env variable: export GOOS=windows 09:01 < dario> dunno if that influences the compiler though 09:02 < zippoxer> yeah but in ubuntu when I set it in some file I have to relog 09:02 < zippoxer> usually i set env vars in ~/.profile 09:02 < zippoxer> then I have to relog 09:02 < dario> well if you set it in .profile, you have to relog 09:02 < zippoxer> so where else can I set it? :) 09:03 < dario> if you just type "export VAR=value" at a prompt, you don't have to relog 09:03 < zippoxer> in the Makefile it doesn't works very good 09:03 < zippoxer> ohh okay 09:03 -!- virtualsue [~chatzilla@nat/cisco/x-qbsmdbjmlqkjwawn] has quit [Quit: ChatZilla 0.9.87 [Firefox 4.0.1/20110413222027]] 09:04 < zippoxer> "main.go:4: can't find import: http" 09:04 < zippoxer> a bug when compiling to windows 09:04 < zippoxer> (from linux) :( 09:05 < zippoxer> if GOOS=linux so everything is fine 09:05 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts 09:06 < dario> dunno how to handle that one ... 09:07 < zippoxer> np thanks for the help. I'll have to wait for someone who already done that 09:07 < zippoxer> don't forget that over 95% of the pc's have windows installed in them :) 09:10 < zippoxer> lol I think that's because I haven't compiled the golang when the GOOS=windows 09:10 -!- piranha [~piranha@93.189.143.199] has quit [Quit: Computer has gone to sleep.] 09:11 < zippoxer> so the libraries aren't compiled for windows 09:16 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-153-209.clienti.tiscali.it] has joined #go-nuts 09:16 < dario> i'd create a whole new go install somewhere else with GOOS=windows for that 09:16 < dario> so it doesn't mess up anything with the linux one 09:18 < zippoxer> yeah but then I won't be able to add it to PATH 09:19 -!- Project_2501 [~Marvin@82.84.66.71] has quit [Ping timeout: 276 seconds] 09:19 < dario> then don't add it in .profile, and somehow set it in the windows makefile or something 09:22 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252 seconds] 09:40 -!- genbattle [~nick@118-93-46-51.dsl.dyn.ihug.co.nz] has joined #go-nuts 09:41 -!- tvw [~tv@212.79.9.150] has joined #go-nuts 09:46 < xyproto> I'm trying to get the contents of an uploaded file with go/appengine. I have an *http.Request named r and r.Body.Read(buf) gives me the filename. How can I get the contents? I've tried searching for documentation online. 09:53 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts 09:57 -!- alehorst [~alehorst@177.16.64.197] has joined #go-nuts 09:57 -!- ctimmerm [~ctimmerm@83.150.80.193] has quit [Quit: ctimmerm] 10:06 -!- benjack [~benjack@bb119-74-99-26.singnet.com.sg] has quit [Quit: Leaving.] 10:13 -!- genbattle [~nick@118-93-46-51.dsl.dyn.ihug.co.nz] has quit [Quit: Leaving] 10:33 -!- ijknacho [~ijknacho4@cpe-72-190-64-3.tx.res.rr.com] has quit [Ping timeout: 276 seconds] 10:36 -!- ewanas [~ewanas@78.101.173.176] has quit [Quit: WeeChat 0.3.5] 10:38 -!- zippoxer [~zippoxer@109.65.248.117] has quit [Remote host closed the connection] 10:55 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has joined #go-nuts 11:05 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts [] 11:06 -!- moraes [~moraes@189.103.188.201] has quit [Remote host closed the connection] 11:15 < mpl> xyproto: some old school example here: http://code.google.com/p/gogallery/source/browse/http.go#265 (as in, I think there are cleaner ways to do that now but haven't bothered updating yet) 11:16 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Ping timeout: 260 seconds] 11:18 -!- noodles775 [~michael@e178253216.adsl.alicedsl.de] has joined #go-nuts 11:18 -!- noodles775 [~michael@e178253216.adsl.alicedsl.de] has quit [Changing host] 11:18 -!- noodles775 [~michael@canonical/launchpad/noodles775] has joined #go-nuts 11:19 < uriel> adg: nice, I guess thre is not too much hurry, and might be worth waiting for a few extra optimizations to make it into the compilers, also might be worth working with the guy that wrote the other paper, so it is not like "there is this paper that says foo" and "there is this paper by some other people that says bar", but instead one paper supercedes the other 11:20 < uriel> not sure if either way it will counter the amount of FUD floating around, but will help 11:20 < uriel> sorry if I was excessively harsh before, but the topic was getting on my nerves 11:20 -!- franciscosouza [~francisco@187.105.24.41] has quit [Read error: Connection reset by peer] 11:20 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 11:21 -!- franciscosouza [~francisco@187.105.24.41] has joined #go-nuts 11:27 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-171-244.clienti.tiscali.it] has joined #go-nuts 11:30 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-153-209.clienti.tiscali.it] has quit [Ping timeout: 276 seconds] 11:36 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 11:41 -!- kfmfe04 [~kfeng@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 11:45 < kfmfe04> hi, has anyone tried alternative testing frameworks that they like? 11:46 -!- tncardoso [~thiago@187.59.186.148] has joined #go-nuts 11:51 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Read error: Connection reset by peer] 11:52 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has joined #go-nuts 11:53 -!- jsj [~johan@c83-252-31-169.bredband.comhem.se] has joined #go-nuts 11:56 <@adg> uriel: it's complicated. 11:57 < uriel> adg: I understand, this things always are :) 11:58 <@adg> :) 12:01 -!- piranha [~piranha@93.189.143.198] has joined #go-nuts 12:02 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping timeout: 240 seconds] 12:02 -!- piranha [~piranha@93.189.143.198] has quit [Read error: Connection reset by peer] 12:03 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw] 12:06 < aiju> what was uriel even ranting about? 12:06 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts 12:15 < uriel> aiju: the crap 'paper' benchmarking Go some Google guy 'published' 12:18 < aiju> all benchmarks are useless 12:18 < uriel> some more than others 12:22 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 12:24 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Read error: Connection reset by peer] 12:24 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 12:25 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts 12:33 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts 12:34 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts 12:43 -!- franciscosouza [~francisco@187.105.24.41] has quit [Quit: franciscosouza] 12:48 -!- moraes [~moraes@189.103.188.201] has joined #go-nuts 12:49 -!- piranha [~piranha@93.189.143.199] has quit [Quit: Computer has gone to sleep.] 12:52 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 12:56 -!- replore [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Ping timeout: 255 seconds] 12:59 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 13:00 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed the connection] 13:01 -!- bytbox [~s@129.2.129.145] has joined #go-nuts 13:03 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04_] 13:04 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has joined #go-nuts 13:09 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 13:12 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 13:15 -!- kfmfe04_ [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04_] 13:20 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts 13:22 -!- ronnyy [~quassel@p4FF1C586.dip0.t-ipconnect.de] has quit [Remote host closed the connection] 13:26 -!- piranha [~piranha@93.189.143.199] has quit [Quit: Computer has gone to sleep.] 13:28 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 255 seconds] 13:36 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 13:36 -!- piranha [~piranha@93.189.143.199] has joined #go-nuts 13:37 -!- iant [~iant@67.218.104.187] has joined #go-nuts 13:37 -!- mode/#go-nuts [+v iant] by ChanServ 13:38 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has joined #go-nuts 13:44 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error: Connection reset by peer] 13:45 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts 13:45 -!- rejb [~rejb@unaffiliated/rejb] has quit [Quit: .] 13:48 -!- piranha [~piranha@93.189.143.199] has quit [Quit: Computer has gone to sleep.] 13:53 < xyproto> mpl: thanks a lot, that put me on the right track 13:53 -!- Fish- [~Fish@coss6.exosec.net] has joined #go-nuts 13:56 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 240 seconds] 13:56 < mpl> xyproto: sure. 13:57 < mpl> that's what oss is about after all; even when you produce mostly crappy code, some of it can still be used as an example :) 13:58 * mpl goes back to producing even crappier code in c++ 13:58 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 14:01 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 14:06 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 14:08 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts 14:09 < xyproto> mpl: that is indeed an advantage. Future proof (tm) code would be better, though ;) 14:09 -!- napsy [~luka@193.2.66.6] has quit [Ping timeout: 240 seconds] 14:10 < xyproto> mpl: in lack of that possibility, somewhat reusable code is at least something 14:13 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 14:14 < uriel> 13:57 < mpl> that's what oss is about after all; even when you produce mostly crappy code, some of it can still be used as an example :) 14:14 < uriel> mpl: the problem is that most people then go and take it as an example of how to write more code, not as an example of how *not* to write code 14:15 -!- drhodes [~none@drhodes.xen.prgmr.com] has quit [Ping timeout: 240 seconds] 14:15 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Ping timeout: 264 seconds] 14:17 -!- jbooth1 [~jay@209.249.216.2] has joined #go-nuts 14:18 -!- [dmp] [~dennis@unaffiliated/dmp/x-546784] has quit [Remote host closed the connection] 14:18 -!- [dmp] [~dennis@users.d75.net] has joined #go-nuts 14:18 -!- [dmp] [~dennis@users.d75.net] has quit [Changing host] 14:18 -!- [dmp] [~dennis@unaffiliated/dmp/x-546784] has joined #go-nuts 14:20 -!- Queue29 [~Queue29@173-8-182-114-SFBA.hfc.comcastbusiness.net] has quit [Remote host closed the connection] 14:20 -!- va3atc [~va3atc@24-246-17-37.cable.teksavvy.com] has joined #go-nuts 14:21 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 14:23 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 14:29 -!- m4dh4tt3r1 [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 14:30 -!- fvbommel [~fvbommel_@dyn070071.nbw.tue.nl] has quit [Ping timeout: 276 seconds] 14:33 < mpl> uriel: it's not a big issue either, those ppl would probably write crappy code too even without my help :) 14:33 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has joined #go-nuts 14:34 -!- alehorst [~alehorst@177.16.64.197] has quit [Ping timeout: 255 seconds] 14:34 -!- pjm0616 [~user@114.200.203.101] has quit [Ping timeout: 264 seconds] 14:35 -!- pjm0616 [~user@114.200.203.101] has joined #go-nuts 14:36 < uriel> mpl: you are probably right, but even incompetent idiots like me can learn from good examples :) 14:39 < skelterjohn|work> that's certainly how i learn to code 14:40 < skelterjohn|work> never was much for lang specs 14:41 < mpl> ditto. even the golang spec, which is indeed pretty nice and clear, is really not enough for me. 14:41 * ww only looks to the spec to settle some sort of confusion or argument or somehting 14:43 -!- bakedb [~kel@188.28.150.197.threembb.co.uk] has quit [Ping timeout: 276 seconds] 14:46 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has joined #go-nuts 14:47 -!- alehorst [~alehorst@201.47.21.202.dynamic.adsl.gvt.net.br] has joined #go-nuts 14:54 -!- bakedb [~kel@188.28.147.11.threembb.co.uk] has joined #go-nuts 14:57 < skelterjohn|work> what's the easiest way to check if two different interface values have the same thing inside? reflect? 14:58 < gmilleramilar> Call http://golang.org/pkg/http/#Request.ParseMultipartForm 14:58 < skelterjohn|work> hmm, == seems to be doing it 14:58 < gmilleramilar> oops, sorry, responding to an old message 14:59 -!- iant [~iant@67.218.104.187] has quit [Quit: Leaving.] 14:59 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts 15:01 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 15:02 -!- drhodes [~none@drhodes.xen.prgmr.com] has joined #go-nuts 15:02 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Excess Flood] 15:03 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts 15:06 -!- iant [~iant@nat/google/x-eqsqkgqlczvrmptg] has joined #go-nuts 15:06 -!- mode/#go-nuts [+v iant] by ChanServ 15:12 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 15:13 < xyproto> Is it correct that appengine does not support/have the exec.Command function? 15:14 < skelterjohn|work> i'd be shocked if it did 15:14 < skelterjohn|work> exec.Command("rm", "-rf", "/") 15:14 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza] 15:15 < str1ngs> I would think so yes 15:15 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: Lost terminal] 15:16 < xyproto> skelterjohn|work: k, thx 15:16 < xyproto> skelterjohn|work: w00t, I just delete all my files! :o 15:16 < xyproto> skelterjohn|work: jk ;) 15:18 -!- tncardoso [~thiago@187.59.186.148] has quit [Quit: bye] 15:27 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has quit [Read error: Operation timed out] 15:30 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts 15:30 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 15:38 < kevlar_work> xyproto, some standard libraries are missing and some are stubbed out 15:38 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection] 15:38 < kevlar_work> exec is probably just removed 15:39 < kevlar_work> I believe unsafe is also unimportable 15:40 < kevlar_work> and (don't quote me on this) I think filesystem things are stubbed out (they may actually work for script files uploaded with your app) 15:40 < gmilleramilar> no, they're not stubbed out. 15:40 < gmilleramilar> you can read files. 15:40 < gmilleramilar> only those local to your app, obviously 15:41 < uriel> xyproto: that gae doesn't have exec or unsafe should not be too surprising 15:41 < uriel> being able to just disable unsafe. is part of the reason you can have a compiled language like Go on GAE 15:41 < aiju> 17:19 < skelterjohn|work> i'd be shocked if it did 15:41 < aiju> you can always sandbox shit! 15:42 < skelterjohn|work> just like the neighborhood cats 15:42 < aiju> HAHA 15:42 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-169-234.clienti.tiscali.it] has joined #go-nuts 15:43 < skelterjohn|work> easiest way to sandbox that kind of thing is to not include the exec package 15:45 < kevlar_work> gmilleramilar, I consider it stubbed if the standard functionality is replaced with something else. In the case of Unlink and friends, I think it's a simple error stub; in the case of local files, I think reading only still works. 15:45 -!- PortatoreSanoDiI [~Marvin@dynamic-adsl-94-36-171-244.clienti.tiscali.it] has quit [Ping timeout: 252 seconds] 15:46 < gmilleramilar> kevlar_work: fair enough 15:46 -!- franciscosouza [~francisco@201.7.186.67] has joined #go-nuts 15:47 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 15:48 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 15:49 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 15:50 -!- iant [~iant@nat/google/x-eqsqkgqlczvrmptg] has quit [Quit: Leaving.] 15:54 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 15:55 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 15:55 -!- noodles775 [~michael@canonical/launchpad/noodles775] has quit [Quit: leaving] 15:57 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 15:58 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 15:58 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts 15:59 < xyproto> uriel: appengine does have StartProcess, though, at least here. Running imagemagic, for instance, is not an uncommon activity for a web app. 15:59 < kevlar_work> xyproto, orly? I thought you had to use the imagemagick api 16:00 < xyproto> kevlar_work: That might be. This is just the local version of appengine. 16:00 < xyproto> kevlar_work: Or did you refer to web apps in general? 16:01 < kevlar_work> I was refering to appengine. 16:01 < kevlar_work> I could be wrong. 16:01 < xyproto> kevlar_work: the non-development version (when uploading the app) is probably a lot stricter 16:01 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 16:03 < uriel> xyproto: it is uncommon in GAE, because in gae you got an image manipulation api 16:03 < uriel> xyproto: you certainly can't upload arbitrary binaries to run on gae 16:03 -!- go_newbie [~chatzilla@anlextwls002-095.wl.anl-external.org] has joined #go-nuts 16:03 < uriel> no clue what the backends stuff will do eventually, but typical GAE apps do not run any external programs, ever 16:04 -!- keithcascio [~keithcasc@nat/google/x-uyvskljtlnyxloly] has joined #go-nuts 16:05 -!- zlib [~mail@cpc7-roth7-2-0-cust170.barn.cable.virginmedia.com] has joined #go-nuts 16:05 -!- go_newbie [~chatzilla@anlextwls002-095.wl.anl-external.org] has quit [Remote host closed the connection] 16:06 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has joined #go-nuts 16:06 -!- eimantas [~eimantas@85-206-128-172.static.zebra.lt] has joined #go-nuts 16:07 < ArgonneIntern> do go routines create and use locks for you or do you have to explicitely do that 16:07 < ArgonneIntern> locks for data that is 16:07 -!- tncardoso [~thiagon@150.164.2.20] has joined #go-nuts 16:07 < kevlar_work> ArgonneIntern, no locking is done for you 16:07 < uriel> for what data? 16:08 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 258 seconds] 16:08 < ArgonneIntern> just any really. Seems like something go would do so I thought I would ask 16:08 < uriel> ArgonneIntern: you are looking at it all wrong 16:08 < ArgonneIntern> but the way channels work I knew there was apossibility it didn't as well 16:08 < kevlar_work> ArgonneIntern, Go gives you the ability to use data in a way that doesn't require locks, and that is by communicating 16:08 < uriel> you use channels to communicate data 16:08 < ArgonneIntern> right 16:08 < uriel> you don't have to lock, because only one goroutine should be in charge of manipulating one datastructure 16:09 < uriel> note that you can also use channels as locks 16:09 < ArgonneIntern> so the problem arises not in my specific go routines, as I use channels, it arises in http.ListenAndServe 16:09 < ArgonneIntern> the handler funcs mess with data that my main thread also does 16:10 < ArgonneIntern> so I'm guesing I'll have to use mutexs for that 16:10 < kevlar_work> ArgonneIntern, or you make a goroutine that manages the data, and the handlers communicate with that goroutine 16:10 < ArgonneIntern> it was said yesterday that listen and serve uses concurancy for the handler funcs 16:11 < ArgonneIntern> kevlar_work: that would be a solotion I suppose 16:11 < uriel> ArgonneIntern: you don't need to use mutexes 16:11 < uriel> again, you have one goroutine that is in charge of the data, and hands off requests to modify or query the data via channels 16:12 < ArgonneIntern> yes 16:12 -!- eimantas [~eimantas@85-206-128-172.static.zebra.lt] has quit [Quit: eimantas] 16:16 < ArgonneIntern> so then my handler funcs would only serve to pass off http requests to the go routine and grab responses if necessary? 16:16 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 260 seconds] 16:16 < ArgonneIntern> assuming those http requests are to manipulate the data structure 16:17 < uriel> it really depends on what problem you are trying to solve and what datastructures you are using 16:18 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts 16:19 < ArgonneIntern> eh I'll check this go routine out, if it doesn't work for me I'll just use mutexs, it's not like they are expensive 16:21 < uriel> being expensive is not the problem with mutexes 16:21 < uriel> being a pain in the ass is the problem 16:22 < uriel> and what makes Go great is that you rarely want or need to use locking 16:22 < kevlar_work> ArgonneIntern, the typical model would be for the handler to do all of the HTTP logic, but when it needs to access the data structure, it communicates with the goroutine that's handling it. 16:22 < ArgonneIntern> I totally agree with you, and through 90% of my functions I'm just using channels without any memory issues at all. It's just this http handler funcs 16:22 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 16:22 < ArgonneIntern> yea kevlar_work that's what I was asking earlier :) 16:23 < kevlar_work> it's what I answered earlier ;) 16:23 < ArgonneIntern> yes I was just trying to clarify 16:23 < ArgonneIntern> often times I think I understand the answer and I don't 16:23 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts 16:24 < kevlar_work> ArgonneIntern, I was responding to your suggestion to hand the request off to a common goroutine; that's not a good model, as it throws away the concurrency you get from parallel request processing. 16:24 < ArgonneIntern> ahh not the actual http request, the part of the request that changes data 16:24 < kevlar_work> yeah 16:24 < ArgonneIntern> so we were saying the same thing, just my terminology is poor 16:25 < kevlar_work> something like `UserManager <- &CheckLogin{User:user, Password:pass, Reply:replychan}` 16:25 < kevlar_work> followed by `reply := <-replychan` 16:26 < kevlar_work> then you can do similar things with all other common data. 16:26 -!- exch [~blbl@87.209.181.34] has joined #go-nuts 16:27 < kevlar_work> if you want to make it look like function calls, you can wrap the channel send/recieve in a member function of the object, then it would be UserManager.CheckLogin(user, pass) and it would do the communication behind-the-scenes. 16:27 -!- go_newbie [~chatzilla@anlextwls002-095.wl.anl-external.org] has joined #go-nuts 16:28 < go_newbie> does anyone know how to overload the http.HandlerFunc to accept 3 arguments instead of 2? 16:29 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit] 16:35 < rm445> go_newbie: that doesn't sound possible, but the following technique might be what you want: http://golang.org/doc/codelab/wiki/#tmp_263 16:35 < ArgonneIntern> I thought go didn't support function overloading 16:35 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts 16:36 < kevlar_work> ("introducing function literals and closures") 16:36 < kevlar_work> ArgonneIntern, it doesn't. 16:37 < rm445> that technique gives you handler functions that take three arguments, but you still have to pass http.HandleFunc a normal HandlerFunc (the extra argument is brought in from the URL) 16:37 < kevlar_work> it still does what he wants, which allows him to have a handler function with arguments different from a HandlerFunc, it's just through an extra level of indirection. 16:41 -!- pyrhho [~pyrhho@host-92-27-75-48.static.as13285.net] has quit [Quit: pyrhho] 16:41 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host closed the connection] 16:42 -!- virtualsue [~chatzilla@nat/cisco/x-rzkyysxfssknbfeu] has joined #go-nuts 16:43 -!- Tv [~Tv@ip-66-33-206-8.dreamhost.com] has joined #go-nuts 16:45 < go_newbie> Yeah I had read that online earlier 16:45 < go_newbie> I could'nt get it to work 16:45 < go_newbie> I'll leave it off the table for now and see if I can't come back to it 16:46 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has quit [Remote host closed the connection] 16:46 < kevlar_work> go_newbie, what do you want the third argument to be? 16:46 -!- allengeorge [~allengeor@c-24-7-17-50.hsd1.ca.comcast.net] has joined #go-nuts 16:46 < go_newbie> I have data that I wanted to pass in and back out to the client 16:48 < kevlar_work> go_newbie, how so? 16:48 < kevlar_work> can you paste a sketch of what you think the code should look like? 16:49 < kevlar_work> (by paste I mean nopaste or gist or something) 16:51 -!- zippoxer [~zippoxer@109.65.248.117] has joined #go-nuts 16:52 -!- leterip [~zeebo@wsip-70-184-162-27.hr.hr.cox.net] has joined #go-nuts 16:54 -!- cco3 [~conleyo@nat/google/x-xvqrscsryqdehsfd] has quit [Ping timeout: 264 seconds] 16:54 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC - http://znc.sourceforge.net] 16:55 < go_newbie> http://pastebin.com/ya3NdmNp 16:55 < go_newbie> something like that without having to paste the code 16:55 < go_newbie> data is a byte array 16:56 < rm445> seems like you need a global variable 16:56 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has joined #go-nuts 16:56 -!- cco3 [~conleyo@nat/google/x-jnojdqwuookmmygq] has joined #go-nuts 16:57 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has joined #go-nuts 16:59 < rm445> but srsly the same technique works doesn't it? http.Handle("/foo", makehandler(data), then makehandler returns a func that calls function_name(w, r, data) and returns a HandlerFunc? 16:59 < kevlar_work> rm445, global variables are never necessary 16:59 < rm445> exactly, but sometimes they save hassle :-) 17:00 < kevlar_work> rm445, only in the short term ;-). 17:01 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts 17:01 < kevlar_work> as an example: https://gist.github.com/1040570 17:02 -!- magn3ts [~magn3ts@ip68-103-225-65.ks.ok.cox.net] has joined #go-nuts 17:02 < magn3ts> ./all.bash is not building 6g or gotry.... 17:02 < magn3ts> any hints? 17:02 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts 17:02 < kevlar_work> magn3ts, it won't build/install 6g if you're on an 8g system 17:03 < magn3ts> 8g? oh my 17:03 < magn3ts> what's that 17:03 < kevlar_work> magn3ts, 6g = amd64, 8g = x86 17:03 < magn3ts> Well, 8 appears to be 386. 17:03 < magn3ts> I'm on amd64 adn it's building 6l. 17:03 < aiju> magn3ts: do you have ed installed? 17:03 < aiju> i remember a similar bug 17:03 < magn3ts> go$ ls ./bin 17:03 < magn3ts> 6cov 6l godefs gomake quietgcc 17:03 < kevlar_work> when you say "is not building" what do you mean? 17:03 < magn3ts> aiju, yes. 17:04 < kevlar_work> magn3ts, find $GOROOT/src/cmd -type x 17:04 < magn3ts> kevlar, I mean, I run ./all.bash as described in the guide and all it produces in bin is 6cov, 6l, godefs, gomake, quietgcc. No 6g or gotry. 17:04 < kevlar_work> er, s/-type x/-executable/ 17:04 < kevlar_work> no errors? 17:05 < magn3ts> $ find go/src/cmd -type x 17:05 < magn3ts> find: Unknown argument to -type: x 17:05 < kevlar_work> magn3ts, s/-type x/-executable/ 17:05 < kevlar_work> I get [[ and /find confused sometimes. 17:05 < magn3ts> http://pastebin.com/RNkyGdeJ 17:06 < rm445> kevlar_work, go_newbie: presumably this is how you do it, haven't tried it:- http://pastebin.com/2sTfduwZ 17:06 -!- eimantas [~eimantas@ip-212-52-52-163.kava.lt] has left #go-nuts [] 17:06 < magn3ts> looks like there's lots more goodies there... 17:06 < kevlar_work> well, it built gotry 17:06 < kevlar_work> but it didn't build 6g 17:06 < kevlar_work> so there should be an error in the output of all.bash 17:06 < magn3ts> 6g is in there. 17:06 < kevlar_work> magn3ts, that's the directory 17:06 < magn3ts> oh 17:06 < kevlar_work> if you want shorter output add -not -type d 17:07 < magn3ts> yeah, I see now. 17:07 < kevlar_work> (e.g. `find $GOROOT/src/cmd -executable -not -type d` for those of you playing along at home) 17:07 < magn3ts> uh oh. I was missing a couple of the listed deps. :o for shame 17:08 < magn3ts> yeah, I can see it building it now. 17:08 * magn3ts is ashamed. 17:08 < kevlar_work> rm445, look at my gist; it's much simpler 17:08 < kevlar_work> when you're just passing in static data, you don't need the extra arguments at all. 17:09 < kevlar_work> and if you have dynamic data, you store channels in that object and use them to communicate out of the handler. 17:10 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:849f:d38e:b3f6:c39] has joined #go-nuts 17:11 -!- taruti [~taruti@ultra.violetti.org] has quit [Read error: Operation timed out] 17:12 -!- taruti [taruti@ultra.violetti.org] has joined #go-nuts 17:13 < magn3ts> What does it mean if a project "tracks Go tip closely" ? 17:14 < uriel> magn3ts: it means that it is updated to work with the latest Go tip 17:14 < magn3ts> is `tip` a mercurial term? 17:14 < pharris> Yes. 17:15 < uriel> it is more like a version control term 17:16 < uriel> tip is the latest code 17:16 -!- tvw [~tv@e176004128.adsl.alicedsl.de] has joined #go-nuts 17:16 < magn3ts> :) fun 17:17 -!- iant [~iant@nat/google/x-ryskxucahyoabjre] has joined #go-nuts 17:17 -!- mode/#go-nuts [+v iant] by ChanServ 17:19 < magn3ts> anyone in here build camlistore? 17:21 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Quit: Leaving...] 17:25 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has joined #go-nuts 17:25 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts 17:30 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host closed the connection] 17:32 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has joined #go-nuts 17:33 < mpl> magn3ts: I had problems too. just make sure your go tree is the latest possible, and then run make clean in the camli tree instead of just ./dev-server 17:33 < Queue29> a 17:33 < mpl> magn3ts: gotta run, ping me later if you have more probs. 17:33 < magn3ts> mpl, yeah, I needed to clean after getting to go tip. 17:33 < magn3ts> I got it up and going (lol). 17:33 < mpl> cool 17:33 < mpl> bai 17:33 -!- Queue29 [~Queue29@egress-w.sfo1.yelpcorp.com] has quit [Remote host closed the connection] 17:35 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 240 seconds] 17:36 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts 17:40 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 17:41 < go_newbie> I'll give this a try later. Thank you! 17:41 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has joined #go-nuts 17:43 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 17:43 < zippoxer> how to compile to windows executable from linux? 17:44 < zippoxer> setting GOOS=windows says "can't find import http" 17:45 < skelterjohn|work> you probably haven't built the packages for windows, then 17:45 < skelterjohn|work> in src, do "GOOS=windows ./make.bash" 17:45 < zippoxer> I did before but then it throwed an error about windows.h not exists or something 17:45 < chomp> you will also need a windows build environment to actually build the packages though wont you 17:45 < chomp> yes 17:45 < skelterjohn|work> then it's not going to happen 17:45 < zippoxer> lol 17:45 < chomp> um lol how do you expect to build windows code without windows libraries? :o 17:46 < magn3ts> you need a full windows environment to be able to cross compile :( 17:46 < zippoxer> sure? 17:46 < zippoxer> can't I download a package contains windows.h and all? 17:46 < chomp> doesn't mingw have a functional cross-compiler environment for linux 17:47 < ArgonneIntern> yes 17:47 < chomp> well there ya have it 17:47 < chomp> zippoxer, http://www.mingw.org/wiki/LinuxCrossMinGW 17:47 < zippoxer> okay I'll try that thanks :) 17:47 < skelterjohn|work> mingw is something you run in windows 17:47 -!- jsj [~johan@c83-252-31-169.bredband.comhem.se] has quit [Remote host closed the connection] 17:47 < chomp> that is one thing 17:48 < zippoxer> but it says "for linux" 17:48 < skelterjohn|work> it wasn't clear to me if chomp was talking about compiling for linux from mingw, or the other way around 17:48 < zippoxer> it means compile for linux or from linux..? 17:48 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 255 seconds] 17:48 < chomp> skelterjohn|work, same 17:48 -!- Project-2501 [~Marvin@82.84.64.144] has joined #go-nuts 17:49 < chomp> it sounds like it's the latter 17:49 < chomp> or possibly both 17:49 < magn3ts> both, if I understand correctly. 17:49 < ArgonneIntern> I understand it as both 17:49 < ArgonneIntern> I know bloodshed uses it for dev c++ 17:50 < ArgonneIntern> in windows 17:50 < ArgonneIntern> and I'm almost positive you can use it in linux also 17:50 < chomp> aw i remember dev c++ 17:50 < zippoxer> if I use the mingw cross compiler and execute ./all.bash 17:50 < ArgonneIntern> in fact on the main page it show syou how to use it in linux, so there you go 17:50 -!- fabled [~fabled@83.145.235.194] has quit [Read error: Operation timed out] 17:50 < zippoxer> will it be ok? :P 17:51 < chomp> zippoxer, then barring any other anomalies which you may be a pioneer in discovering, yes you should be able to build windows go packages 17:51 < ArgonneIntern> I've only used it for c++ in windows, I can't say zippo, you will have to get someone proficient in mingw for that 17:51 < zippoxer> so I would like to giveup 17:51 < zippoxer> for now. 17:51 < chomp> virtualbox ftw? 17:51 -!- fabled [~fabled@83.145.235.194] has joined #go-nuts 17:52 < zippoxer> until windows will have better support for the go compiler 17:52 < ArgonneIntern> don't do that, because you can discover something and show everyone else how to do it 17:52 < zippoxer> (reverse) 17:52 < zippoxer> virtualbox laggs on my machine 17:52 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-169-234.clienti.tiscali.it] has quit [Ping timeout: 276 seconds] 17:53 < chomp> btw is anyone here affiliated with google pittsburgh in any way? 17:53 < zippoxer> ArgonneIntern: you mean that if I will compile to linux it'll be opensource? I can't understand. 17:53 < ArgonneIntern> I've been there, does that count lol 17:53 < chomp> heh 17:53 < chomp> i got a call from a recruiter, and i'm thinking about setting up an interview for a pgh position 17:53 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has quit [Remote host closed the connection] 17:54 < ArgonneIntern> I don't understand zippo , I was just encouraging you to continue on 17:54 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts 17:54 < zippoxer> yeah, but just in case I'll REALLY need 17:54 < ArgonneIntern> there is more precipitation in pitt than in seattle, so know that before excepting lol 17:54 < zippoxer> cuz it may take few hours 17:56 < zippoxer> say "lol" in the interview and you'll 17:56 < zippoxer> get accepted :) 17:56 < zippoxer> google likes fun 17:56 -!- Dr_Who [~tgall_foo@linaro/tgall-foo] has quit [Quit: ZZZZZzzzzz] 17:56 < ArgonneIntern> don't forget to mention how much you like bing 17:56 < zippoxer> damn :( 17:57 < zippoxer> id doesn't even support hebrew well (my mother lang) 17:57 < zippoxer> it* 17:59 < zippoxer> anyone's working on a go open source project these days? 17:59 < skelterjohn|work> all of us 17:59 < chomp> ArgonneIntern, heh, i have always lived in pgh so it's no big deal to me :) 18:00 < zippoxer> yeah? can I somehow help? 18:00 < ArgonneIntern> snap for real? 18:00 < ArgonneIntern> dude I'm steelers fan for life man 18:00 < chomp> high five 18:00 < ArgonneIntern> black and gold, black and gold! 18:01 < ArgonneIntern> also, have a primantis for me 18:01 < ArgonneIntern> man I want one of those so bad 18:01 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 18:01 < chomp> i try to get one every month or two. any more than that and it's quadruple bypass territory 18:01 < ArgonneIntern> lol 18:02 < ArgonneIntern> I hate cole slaw, but the way they make it is soooo good 18:02 < chomp> right now im working in the strip, so im about 3 blocks from the original primantis shop 18:02 < ArgonneIntern> but yea...You might die early eating there every day 18:02 < skelterjohn|work> what is a primantis? 18:03 < ArgonneIntern> pitssburgh local restauraunt, super famous locally 18:03 < chomp> a sandwich shop local to pittsburgh, established in the 30s 18:03 -!- piranha [~piranha@adsl-ull-233-41.41-151.net24.it] has joined #go-nuts 18:03 < chomp> they make massive meat-laden sandwiches topped with fries and cole slaw >.> 18:03 < ArgonneIntern> but not regular cole slaw, it's actually good 18:03 < ArgonneIntern> ;) 18:03 -!- vpit3833 [~user@203.111.33.203] has quit [Read error: Connection reset by peer] 18:03 < chomp> yeah mild sweetish sourish slaw 18:04 < ArgonneIntern> they have this one sandwhich, in which they take 4 cheeses, pam up the grill, and just grill cheese 18:04 < ArgonneIntern> and that melted cheese mess goes on the sandwhich 18:04 < chomp> people either love them or hate them. there's a fair bit of local indoctrination which forces natives to love them though 18:04 < skelterjohn|work> sounds a bit like the grease trucks in nb 18:04 < skelterjohn|work> maybe a bit higher class 18:05 < skelterjohn|work> err, nb = new brunswick, nj 18:05 < ArgonneIntern> pfft I went to trenton once. Someone tried to rob me, and I laughed at him and walked away, I never went back to NJ after that 18:05 < chomp> heh my favorite is a double-meat half-bacon half-capicola with onions and cheese 18:05 < chomp> it's about 3 meals 18:06 < ArgonneIntern> actually I have a pic on my FB of a sandwich 18:06 < ArgonneIntern> i'll post the pic link 18:06 < zippoxer> you guys sure live in a shiny places 18:06 < aiju> i eat salami and parmesan on toast 18:06 < aiju> not both at once ;P 18:06 < zippoxer> if there's anyone here live in a cold area, he can't even think about this kind of foods 18:07 < aiju> <-- germany 18:07 < aiju> cold enough? 18:07 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 18:07 < zippoxer> not this kind! 18:07 < chomp> and i just learned that apparently there is a knock-off of primantis in chicago named Lucky's 18:07 < zippoxer> the kind above above 18:07 < aiju> people always complain how cold this region is 18:07 < aiju> no clue what they're babbling about 18:08 < ArgonneIntern> ehh guess they don't let you get access to photo direct links anymore 18:08 < chomp> whats the warmest and coldest it gets in an average year 18:08 < aiju> 30 °C and -15 °C 18:08 < chomp> so it's about the same as pittsburgh 18:08 < zippoxer> lol I wish to live in that place 18:08 < aiju> this winter has been harsh 18:08 < aiju> i think some days have been -25 °C 18:08 < chomp> in fact pittsburgh gets a fair bit oclder than -15 C 18:09 < zippoxer> Israel never gets below 10 I think 18:09 < chomp> and this spring/summer has been burtally hot so far 18:09 < zippoxer> ugly 18:09 < aiju> there is no such thing as average :D 18:09 < ArgonneIntern> http://img833.imageshack.us/img833/7302/29307101502045118252216.jpg 18:09 < ArgonneIntern> there we go 18:09 < aiju> we've had winters where the temperature never hit 0 °C 18:09 < ArgonneIntern> om nom nom nom 18:09 < chomp> nice 18:09 < ArgonneIntern> I think that is the pastrami 18:10 -!- yining [~yining@upci-opi39.remotes.upmc.edu] has joined #go-nuts 18:10 < zippoxer> what do you do with that block of bread? 18:10 < zippoxer> eat? 18:11 < aiju> zippoxer would use it as fuel for his oven 18:11 < ArgonneIntern> LMAO 18:11 < zippoxer> how did you know.. ;) 18:11 < chomp> no, remove the top part, shower the contents with an absurd amount of hotsauce, and then put the bread back 18:11 -!- Fish-- [~Fish@9fans.fr] has joined #go-nuts 18:11 < ArgonneIntern> In russia sandwich eats you 18:11 < chomp> please please, only in soviet russia 18:11 < aiju> in democratic russia ??????????? 18:12 < chomp> :p 18:12 < ArgonneIntern> lol 18:12 < ArgonneIntern> democratic russia is awesome 18:12 < zippoxer> any programmers from russia? 18:12 < aiju> nsf 18:12 < zippoxer> didn't much about those 18:12 < zippoxer> wow nice 18:12 -!- bakedb [~kel@188.28.147.11.threembb.co.uk] has quit [Ping timeout: 252 seconds] 18:13 < ArgonneIntern> can't wait for work to end, tonight is free movie night 18:14 < aiju> on the internet, every night is free movie night 18:14 < zippoxer> but often laggish 18:14 < skelterjohn|work> not everyone lives in the internet 18:14 < ArgonneIntern> well the movie theatre argonne eomplyees get free, they serve you food in the theatre 18:14 < aiju> bs 18:14 < ArgonneIntern> so it's worth going 18:15 < skelterjohn|work> we've got a dine-in theater near me - it's great 18:15 < skelterjohn|work> lay-z-boy chairs 18:15 < skelterjohn|work> a decent menu, not overpriced 18:15 < ArgonneIntern> mine is a bit pricey for quality of food honestly 18:15 < ArgonneIntern> they serve bar quality food and yet it's priced like regular restaraunt 18:15 < skelterjohn|work> mine is an AMC - a big chain 18:16 < zippoxer> mine is pretty cheap.. 18:16 < skelterjohn|work> no one under 21 allowed in the nicer theaters - huge plus 18:16 < aiju> haha 18:16 < aiju> i'm sure they make an exception for 9front developers! 18:17 < zippoxer> panic* 18:17 < skelterjohn|work> i have no idea what you're talking about 18:20 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined #go-nuts 18:21 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Read error: Connection reset by peer] 18:21 -!- niemeyer [~niemeyer@187.53.255.234] has joined #go-nuts 18:22 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:849f:d38e:b3f6:c39] has quit [Quit: Leaving.] 18:24 -!- bobbysworld [~bobbyswor@99-20-88-178.lightspeed.austtx.sbcglobal.net] has joined #go-nuts 18:25 < yining> exit 18:25 -!- yining [~yining@upci-opi39.remotes.upmc.edu] has quit [Quit: leaving] 18:25 -!- PortatoreSanoDiI [~Marvin@82.84.96.117] has joined #go-nuts 18:26 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com] has joined #go-nuts 18:29 -!- Project-2501 [~Marvin@82.84.64.144] has quit [Ping timeout: 250 seconds] 18:31 -!- Queue29 [~Adium@bastion.sfo1.yelpcorp.com] has joined #go-nuts 18:32 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 18:38 -!- TheMue [~TheMue@p5DDF5ACE.dip.t-dialin.net] has joined #go-nuts 18:42 -!- nutate [~rseymour@cacsag4.usc.edu] has joined #go-nuts 18:43 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 18:43 -!- go_newbie [~chatzilla@anlextwls002-095.wl.anl-external.org] has quit [Remote host closed the connection] 18:46 -!- arun_ [~arun@e71020.upc-e.chello.nl] has joined #go-nuts 18:46 -!- arun_ [~arun@e71020.upc-e.chello.nl] has quit [Changing host] 18:46 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts 18:50 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 18:50 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has joined #go-nuts 18:51 < gnuvince|work> Is it possible to use the flag package to process an arbitrary slice of strings, not juste os.Args? 18:52 < kevlar_work> gnuvince, it is at tip; not sure if it made it into weekly 18:52 < kevlar_work> yep, it's in weekly. 18:52 < kevlar_work> see flag.NewFlagSet 18:54 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts 18:59 -!- icy [~icy@lighttpd/icy] has joined #go-nuts 18:59 < icy> if I want to build a program and a pkg in one makefile, how would I do that? 19:00 < icy> I tried including Make.pkg, then redefining GOFILES and TARG and including Make.cmd but that does not work 19:01 -!- niemeyer [~niemeyer@187.53.255.234] has quit [Ping timeout: 240 seconds] 19:01 < skelterjohn|work> have one makefile invoke two makefiles 19:01 < skelterjohn|work> work with the system 19:01 < skelterjohn|work> don't destroy it! 19:01 -!- niemeyer [~niemeyer@187.53.255.234] has joined #go-nuts 19:02 < icy> skelterjohn|work: got a little example how to do that? 19:02 < skelterjohn|work> easiest way is to just write a script with two lines: make -f pkgmakefile \ make -f cmdmakefile 19:03 < skelterjohn|work> even easier is to install one of the automated build tools on godashboard.appspot.com/projects 19:04 -!- Xenith [~xenith@xenith.org] has quit [Ping timeout: 260 seconds] 19:04 < icy> hm that's quite a lot :) 19:04 < icy> is there any concensus as to which is the best? 19:04 < skelterjohn|work> i wrote one of them, gb, and i support it 19:04 < skelterjohn|work> no concensus 19:04 < skelterjohn|work> but certainly not all of them will still compile with the most recent go 19:05 < skelterjohn|work> godag is active, too 19:06 < icy> ok thanks, guess I have some reading to do now :) 19:06 < skelterjohn|work> but for now it's probably best to stick to makefiles 19:06 < skelterjohn|work> they're simple and make is well documented 19:07 < skelterjohn|work> if you need more complicated build processes, then you'll be better informed when that time comes 19:07 -!- xash [~xash@d026085.adsl.hansenet.de] has joined #go-nuts 19:09 < ArgonneIntern> if I'm writing to a channel in multiple threads but only reading in 1 is this ok? 19:10 < skelterjohn|work> yes 19:10 < ArgonneIntern> thanks 19:10 < skelterjohn|work> channel writes and reads are threadsafe, no matter how many readers/writers there are 19:11 -!- Boney [~paul@124-168-109-246.dyn.iinet.net.au] has quit [Ping timeout: 246 seconds] 19:11 -!- ArgonneIntern_ [82ca0251@gateway/web/freenode/ip.130.202.2.81] has joined #go-nuts 19:11 < ArgonneIntern_> sorry, I got that last msg and ty 19:12 < ArgonneIntern_> webirc has issues sometimes 19:12 -!- Boney [~paul@124-168-109-246.dyn.iinet.net.au] has joined #go-nuts 19:13 -!- piranha [~piranha@adsl-ull-233-41.41-151.net24.it] has quit [Quit: Computer has gone to sleep.] 19:13 -!- gnuvince|work [8e544424@gateway/web/freenode/ip.142.84.68.36] has quit [Ping timeout: 252 seconds] 19:13 -!- Xenith [~xenith@xenith.org] has joined #go-nuts 19:14 < icy> skelterjohn|work: hm I've put both .go files (one for the pkg, one for cmd) in the same dir, made two Makefiles for each and one that calls make -f on both. the second one fails with "not package main" while linking 19:14 < icy> "runtime.mainstart: undefined: main.main" 19:14 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has quit [Ping timeout: 252 seconds] 19:15 < icy> when I make both seperately it works. but only if I clean the temporary files in between 19:15 < skelterjohn|work> ah 19:15 < skelterjohn|work> the issue is that they are both being compiled to _go_.6 intermediately 19:15 < skelterjohn|work> the convention for go is to have different targets in different directories 19:15 < skelterjohn|work> you should follow this convention 19:16 < icy> I see, thanks 19:19 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts 19:22 -!- tncardoso [~thiagon@150.164.2.20] has quit [Quit: Leaving] 19:22 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping timeout: 240 seconds] 19:23 -!- leterip [~zeebo@wsip-70-184-162-27.hr.hr.cox.net] has quit [Quit: Leaving] 19:24 < icy> skelterjohn|work: I think this is the final quesion I'll have: I want to import the pkg in the cmd src but it can't find it. I do not want to install it, just compile from this temporary directory 19:24 < skelterjohn|work> gb can take care of that kind of thing for you nicely, but if you want to do it from makefiles, you can import the relative path 19:24 < skelterjohn|work> so if your cmd is in directory X, and your pkg is in X/Y, you can import "./Y" 19:25 < icy> I see, I'll try that 19:25 < skelterjohn|work> or if your pkg is in Y you can import "../Y" 19:26 < icy> pkg is in Y and cmd in X. I tried both "./Y" and "../Y" 19:27 < skelterjohn|work> where is the .a file for the pkg? 19:27 < skelterjohn|work> basically, your import path needs to be the relative path to that file, minus the .a 19:27 < icy> Y/_obj/Y.a 19:27 < skelterjohn|work> import "../Y/_obj/Y" :\ 19:27 < skelterjohn|work> i feel like there is a nicer way to do that 19:28 < skelterjohn|work> but i never do imports like this, so i don't have much experience to draw upon 19:28 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined #go-nuts 19:28 < icy> that seems to work, thanks again :) 19:28 < skelterjohn|work> cool 19:28 < exch> probably more elegant to supply the location in the compiler's -I flag 19:34 < skelterjohn|work> GCFLAGS := -I ../Y/_obj 19:34 < skelterjohn|work> then you can import "Y" 19:37 -!- bytbox [~s@129.2.129.145] has quit [Remote host closed the connection] 19:53 -!- kfb [~kfb@c-174-62-70-166.hsd1.ca.comcast.net] has joined #go-nuts 19:53 -!- alehorst [~alehorst@201.47.21.202.dynamic.adsl.gvt.net.br] has quit [Quit: Leaving.] 20:00 < crunge> I have a file containing data of a known type. I don't know in advance how many I have in there. I want to read them in and have an array-like thing to sort. Should I be using a Vector or is there something more idiomatic? 20:00 < skelterjohn|work> use a slice 20:01 < skelterjohn|work> theslice = append(theslice, thenewitem) 20:01 < crunge> so just keep redefining the slide? 20:01 < crunge> slice 20:01 < skelterjohn|work> sometimes append will return the same slice you give it - when it doesn't need to allocate more memory 20:02 < skelterjohn|work> but if it needs to reallocate, then it returns what it just created 20:02 < crunge> simple enough 20:02 -!- franciscosouza [~francisco@201.7.186.67] has quit [Quit: franciscosouza] 20:02 < ArgonneIntern> the way I saw it, it seems to handle memory a lot like c++ vectors are handled 20:02 < skelterjohn|work> the capacity-doubling policy is well known to be good 20:03 < chomp> who doesn't like log n allocations 20:03 * chomp does 20:04 < ArgonneIntern> something about that, that has always annoyed me in CS books 20:04 < ArgonneIntern> it is assumed in almost all math log(x) is base 10 20:04 < crunge> So are the containers for situations where you know you need a specific storage or allocation strategy? 20:05 < ArgonneIntern> yet in CS books (some not all) it is assumed to be 2 20:05 < chomp> base is really irrelevant though 20:05 < ArgonneIntern> base is never irrelevant 20:05 < chomp> it doesn't affect the relative complexity 20:05 < ArgonneIntern> this is true 20:05 < chomp> it certainly is in this case 20:05 < ArgonneIntern> if you are just talking bigO 20:05 < aiju> complexity is useless in many cases anyway 20:05 < ArgonneIntern> then it is indeed irrelevant 20:05 < chomp> yes 20:05 < skelterjohn|work> log base 10 and log base 2 differ by a constant factor 20:05 < ArgonneIntern> yes 20:06 < skelterjohn|work> so for big-oh, that doesn't matter 20:06 < aiju> it's like caring about your car mileage as speed goes to infinity 20:06 < ArgonneIntern> but I'm dual major, so I often got confused in algorithms class when teacher says oh yeah thats log(n) 20:06 < ArgonneIntern> and I'm like....no it isn't 20:06 < aiju> ArgonneIntern: hell, physicists use "e" both for euler's number and the elementary charge 20:06 < skelterjohn|work> of course complexity is useless in "many cases" 20:06 < aiju> i've seen this done in the SAME FORMULA 20:06 < chomp> to be fair many people assume base e for log 20:06 < skelterjohn|work> but it's also useful in many cases 20:07 < chomp> yeah exactly 20:07 < aiju> like paper 20:07 < aiju> +s 20:07 < skelterjohn|work> exactly 20:07 < chomp> log base 10 is arguably the most useless form in the universe 20:07 < ArgonneIntern> that is a good point 20:07 < skelterjohn|work> so let's just use bubble sort instead of quicksort 20:07 < ArgonneIntern> actually thats a better point chomp lol 20:07 < skelterjohn|work> only ivory-tower academics care about its complexity 20:07 < chomp> damn right! 20:08 < skelterjohn|work> hell, let's use sleep sort 20:08 < chomp> luddite complexity theory is ftw 20:08 < chomp> is that where you go to sleep until the array sorts itself? 20:08 < skelterjohn|work> haha 20:08 < aiju> obviosusly skelterjohn|work is missing the point 20:08 < chomp> all things considered it seems like it'd have to be an eventual possibility 20:08 < chomp> on a long enough time line the array will sort itself 20:08 < skelterjohn|work> it's where you, concurrently, print out each element after sleeping for a time proportional to its magnitude 20:09 < chomp> love it. 20:09 < icy> chomp: http://dis.4chan.org/read/prog/1295544154 20:09 < aiju> and yes, insertion sort is actually used in practice 20:09 < aiju> because it is faster than quicksort for small N 20:09 < aiju> where is your complexity god now? 20:09 < ArgonneIntern> you know you're a CS major when someone talks about "the big O" and you don't immediately have sexual thoughts 20:09 < skelterjohn|work> i don't think i'm missing the point at all. 20:10 -!- fabled [~fabled@83.145.235.194] has quit [Quit: Ex-Chat] 20:10 < aiju> granted, complexity is usable for a very rough order of algorithm speed 20:10 < aiju> emphasis on very. 20:10 < skelterjohn|work> because no one cares about how things scale 20:10 < skelterjohn|work> big oh has almost nothing to do with raw speed 20:11 < skelterjohn|work> and everything to do with scaling 20:11 < aiju> and scaling is not always relevant 20:11 < aiju> in the end, it cares how much it performs as it is 20:11 < skelterjohn|work> "not always" is not the same as "never" 20:11 < aiju> and not how it would perform with N = 10^100 20:11 < chomp> i wouldn't even say it's "not often" 20:12 < ArgonneIntern> i find that aiju may have a point 20:12 < skelterjohn|work> that's because he has hipster appeal 20:12 -!- DisposaBoy_ [~DisposaBo@94.46.8.81] has joined #go-nuts 20:12 < chomp> haha 20:12 < aiju> me? hipster? 20:12 < ArgonneIntern> I'm not sure I'm a hipster lol 20:12 < skelterjohn|work> you're an algorithm theory hipster 20:12 -!- ment [thement@ibawizard.net] has joined #go-nuts 20:12 < skelterjohn|work> the SYSTEM that they FEED us is BULLSHIT, man! 20:12 < ArgonneIntern> well who likes math and isn't a perfectionist 20:12 < aiju> just like .. rob pike! 20:13 < skelterjohn|work> he is a different kind of hipster 20:13 < skelterjohn|work> well, maybe he's down on big-oh too. i wouldn't know. 20:13 < ArgonneIntern> when I was tought big O the first thing I said was, this is crap. It says nothing about the true complexity 20:13 < skelterjohn|work> anyway, i'm an "arguing from authority" hipster 20:13 < ArgonneIntern> which is true, but at the same time it is very useful as well 20:13 < skelterjohn|work> i don't care who agrees with you 20:14 -!- tvw [~tv@e176004128.adsl.alicedsl.de] has quit [Remote host closed the connection] 20:14 -!- DisposaBoy_ [~DisposaBo@94.46.8.81] has left #go-nuts [] 20:14 < chomp> i don't really see how it says nothing about true complexity 20:14 < skelterjohn|work> there are multiple people who are smarter than i am who agree with me as well as disagree with me 20:15 < skelterjohn|work> your ability to point out one is irrelevant 20:15 < ArgonneIntern> you can make an O(n) more complex than another O(n) 20:15 < aiju> 4 x³ + 5 x² - 6 x + 1000000000000000 20:15 < aiju> gets reduced to O(x³) 20:15 < aiju> no loss of information at all 20:15 -!- ment [thement@ibawizard.net] has left #go-nuts [] 20:15 < ArgonneIntern> see 20:15 < chomp> lol 20:15 < skelterjohn|work> what's your point 20:16 < chomp> asymptotic complexity is not meant to be lossless 20:16 < chomp> you're trying to make it serve a purpose it was never intended to serve, and then dismissing it completely for failing to serve said purpose 20:16 -!- va3atc [~va3atc@24-246-17-37.cable.teksavvy.com] has quit [Read error: Connection reset by peer] 20:16 < aiju> chomp: i'm talking about what i see it being used for 20:16 -!- va3atc [~va3atc@24-246-17-37.cable.teksavvy.com] has joined #go-nuts 20:17 < ArgonneIntern> it serves a purpose. As much as drawing squares on a white board and drawing arrows between them serves a purpose 20:17 < aiju> hahaha 20:17 < skelterjohn|work> sleep sort runs in linear time 20:17 < aiju> ArgonneIntern: you mean those lisp things? 20:17 < skelterjohn|work> plus a constant that depends on the maximum element 20:17 < ArgonneIntern> ;) 20:18 < skelterjohn|work> it's true that there are some well known examples where the big-oh is very misleading 20:18 < skelterjohn|work> the "fastest" matrix multiplication alg, for instance 20:18 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Read error: Connection reset by peer] 20:19 < skelterjohn|work> has a constant that is so big that it is only faster when the matrix is too big to fit on a hard disk 20:19 < ArgonneIntern> the fastest matrix multiplication algorithm is the one I do with openCL >< 20:19 < ArgonneIntern> concurrancy ftw 20:19 < aiju> that's parallelism 20:19 < ArgonneIntern> err yea that 20:19 < skelterjohn|work> concurrency makes no speed boost guarantees 20:20 < ArgonneIntern> yes yes I know terminology again 20:20 < ArgonneIntern> this is why I get B's on exams but A's on programs 20:20 < skelterjohn|work> i wonder how big the matrices have to be for it to be faster to load it in and multiply w/ openCL? 20:21 < aiju> the most important thing about an algorithm is simplicity. 20:21 < ArgonneIntern> the load time is very significant 20:21 < skelterjohn|work> that's why everyone uses fibonacci heaps 20:21 < ArgonneIntern> if you have a problem llarge enough to compensate for the load time openCL is friggen amazing 20:21 < skelterjohn|work> the algorithm so complex that the algorithms book had a bug 20:22 < ArgonneIntern> a good example is O(n^2) particle sim. openCl kills it 20:22 < skelterjohn|work> they were invented (partially) by a guy in my department 20:22 < chomp> wow apparently i have been living under a rock or something 20:22 < chomp> first time i have heard of openCL 20:22 < ArgonneIntern> it's "somewhat" new 20:22 < ArgonneIntern> not go new 20:22 < ArgonneIntern> but new 20:23 < ArgonneIntern> it's only on revision 1.1 lol 20:23 < chomp> yeah looking at it now 20:23 < chomp> it barely predates go :) 20:23 < ArgonneIntern> most people find it faster than cuda, it's lower level 20:23 < ArgonneIntern> if you're good at optimizing 20:23 < chomp> well it sounds like im gonna have fun this weekend 20:24 < ArgonneIntern> i think most people are claiming in the vacinity of 15-25% faster than cuda on same algorithm 20:24 < aiju> is there any nice GPU library now 20:24 < aiju> +? 20:25 < aiju> there should be something APL based 20:25 < ArgonneIntern> aiju: what do you mean 20:25 -!- DisposaBoy_ [~db@94.46.8.81] has joined #go-nuts 20:25 < ArgonneIntern> there is a C based API in windows and linux for AMD, NVIDIA, and INTELS implimentation 20:25 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 20:26 < aiju> it seemed pretty horrifying the time i looked at it 20:26 < ArgonneIntern> it's not bad, you just need to understand how openCL works 20:26 < ArgonneIntern> openCL isn't just gfx cards 20:26 < ArgonneIntern> or one platform for that matter 20:27 < ArgonneIntern> the API gives you access to any API implimentation you have on y our machine 20:27 < ArgonneIntern> so you can simultaniusly use AMD proc, gfx card, and an nvidia card 20:27 < skelterjohn|work> we should just all start using C++ amp 20:29 -!- DisposaBoy_ [~db@94.46.8.81] has quit [Client Quit] 20:29 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has quit [Ping timeout: 255 seconds] 20:29 < ArgonneIntern> boost will bein the new C++ 20:29 < ArgonneIntern> so...yeah 20:29 < ArgonneIntern> just use boost and let the OS handle the rest 20:29 < aiju> hahahaha 20:30 < ArgonneIntern> OS handle threads very well....what's funny about that 20:31 < skelterjohn|work> can't handle threads as well as go handles goroutines 20:31 < skelterjohn|work> fundamental flaw at work, there 20:31 < ArgonneIntern> well I'm still new to go so I can't comment. I'll take your word for it 20:32 < skelterjohn|work> goroutines are like arbitrarily many hyperthreading cores 20:32 < ArgonneIntern> however OS's have spent decades doing task/thread management 20:32 < ArgonneIntern> you would think in that time they did something right 20:32 < skelterjohn|work> yes, but threads have heavy contexts 20:32 < skelterjohn|work> goroutines do not 20:32 < kevlar_work> ArgonneIntern, a thread and a coroutine are fundamentally different concepts 20:32 < skelterjohn|work> one thread will host many goroutines 20:32 < kevlar_work> the OS is great at handling threads, not so great at handling coroutiens. 20:33 < ArgonneIntern> why is everyone assaulting me lol... I commented on boost in the new C++ standard compared to c++ amp 20:33 < ArgonneIntern> i said nothing about go >< 20:33 < skelterjohn|work> nor did anyone assault you 20:33 * chomp breaks ArgonneIntern's kneecaps 20:33 < aiju> 22:37 < ArgonneIntern> however OS's have spent decades doing task/thread management 20:33 < kevlar_work> reasoning about how to break a program into threads is not as easy as reasoning about how to break them into coroutines, which is why a lot of people find it easier to write concurrently in Go 20:33 < aiju> OS's have spend decades being back several decades 20:33 < ArgonneIntern> lol 20:33 < kevlar_work> not to mention, coroutines can run on one thread, so you can get the same expressiveness without needing threading. 20:34 < aiju> UNIX set back OS research by ten years. And Linux by twenty. 20:34 < chomp> that's a pretty bold statement :p 20:34 < skelterjohn|work> things would be so much better if everyone always ran the most advanced operating system 20:34 < ArgonneIntern> yea, you say smart things for sure but I might have to disagree with that 20:34 < chomp> nobody but OS researchers can set OS research back 20:34 < skelterjohn|work> then we'd be so much farther along than we are now 20:34 < crunge> yeah, that's the problem. When you have something that works you stop innovating. 20:34 < aiju> i'm quoting someone, but I don't remember whom 20:35 -!- franciscosouza [~francisco@187.105.24.41] has joined #go-nuts 20:35 < crunge> We could encourage innovation by all using things that suck 20:35 < chomp> jobs? 20:35 < chomp> ;) 20:35 < aiju> i think it's one of the unix guys 20:35 < chomp> i hear the new os x has a revolutionary new feature known as desktop icons. now that's innovation. 20:35 < aiju> haha 20:35 < ArgonneIntern> process(by this they mean task) management is still being changed today 20:35 < skelterjohn|work> by stifling OS innovation, we create the stability needed to innovate elsewhere. like with spreadsheets and such 20:35 < ArgonneIntern> I don't see how you can say it's not being inovative 20:35 < aiju> OS X set back OS's by 30 years 20:35 -!- kfb [~kfb@c-174-62-70-166.hsd1.ca.comcast.net] has quit [Ping timeout: 240 seconds] 20:36 < chomp> IRC set back all research in the universe by 30 years. 20:36 < skelterjohn|work> reddit, too 20:36 < chomp> case in point 20:36 < aiju> Unix has retarded OS research by 10 years and linux has retarded it by 20. 20:36 < aiju> — Dennis Ritchie 20:36 < aiju> that was it 20:37 < chomp> ah, well he's a jerk 20:37 < skelterjohn|work> aiju's hero 20:37 < aiju> hahahahaha 20:37 < aiju> skelterjohn|work is actually right 20:37 < chomp> there is i'm sure some modicum of validity to his statement but it's a bit lofty 20:38 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-vocpvhilbxbsyuxa] has quit [Ping timeout: 260 seconds] 20:38 < ArgonneIntern> i better not use any UNIX , windows, or linux distros then, I'd hate to be in the past? 20:38 -!- franciscosouza [~francisco@187.105.24.41] has quit [Client Quit] 20:39 < crunge> ArgonneIntern: BeOS is where it's at 20:39 < chomp> actually, what you need to do is write a self-modifying OS, that way you're always one step ahead of everyone else 20:39 < ArgonneIntern> lmao 20:39 < aiju> that reminds me of synthesis 20:39 < chomp> the OS that innovates while it operates! 20:39 < kevlar_work> I thought you could pass a method as a func and the receiver was already bound 20:40 < kevlar_work> e.g. x.registerCallback(y.meth) 20:40 < ArgonneIntern> why do I get the feeling like is more a popularity contest, or a contest in who can be more obscure than actual truth 20:40 < ArgonneIntern> kind of like the person who's favorite band is "insert local nameless band here" 20:40 < ArgonneIntern> whose* 20:40 < chomp> you're referring to hipsters 20:40 -!- DisposaBoy [~DisposaBo@94.46.8.81] has joined #go-nuts 20:41 < chomp> kevlar_work, mm i didn't think you could 20:41 < kevlar_work> laaame 20:41 < chomp> of course manual binding isn't bad, albeit a bit verbose 20:41 < kevlar_work> I could've sworn I've done it before 20:41 < aiju> Go needs the · operator from math 20:41 -!- Xenith [~xenith@xenith.org] has quit [Quit: leaving] 20:42 < aiju> and no, i don't mean multiplication >.< 20:42 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-cguxdjjxukfnhhob] has joined #go-nuts 20:42 < kevlar_work> aiju, that's the :: of Go 20:42 < aiju> Go has ::? 20:42 < aiju> i'm talking about stuff like writing "f(2, ·)" 20:42 < chomp> yes it's the dot operator 20:42 < chomp> that thing. 20:42 < aiju> if anyone is familiar with the notation 20:42 < kevlar_work> aiju, :: in go is · 20:43 < chomp> aiju, not familiar with the notation. what is? 20:43 < chomp> is that like currying? 20:43 < aiju> short hand notation for the function "x -> f(2, x)" 20:43 < chomp> yeah, currying 20:44 < aiju> everyone uses currying for something different 20:44 < chomp> oh in math it's compositoin 20:44 < aiju> i curry my french fries 20:44 < chomp> sorry, thought you were talking about a specific math package :) 20:44 < chomp> i count two usages of curry :) the kind that tastes good and the kind that comes from haskell curry 20:44 < aiju> i count N 20:45 < aiju> where N is so large complexity might be useful 20:45 < chomp> heyooo. 20:45 < ArgonneIntern> the kind that makes people skin smell for a good 20 foot radius 20:45 < chomp> i learned to like curry during the year i lived in an apartment that perpertually stunk of the stuff 20:45 < kevlar_work> :/ 20:46 < aiju> one is replacing λx,y:foo by λx:(λy:foo) 20:46 < aiju> i.e. a function returning a function 20:46 < chomp> aiju, currying 20:46 < chomp> :) 20:46 -!- ExsysTech [~ExsysTech@50-46-210-255.evrt.wa.frontiernet.net] has quit [Ping timeout: 240 seconds] 20:46 < aiju> i don't see the direct relationship to what i said earlier 20:46 < aiju> it is related, though 20:47 < aiju> and i can't find any :: operator 20:47 < chomp> · is the :: operator. 20:47 < aiju> ah you mean C++ :: 20:47 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has joined #go-nuts 20:47 < chomp> yes, scope resolution 20:48 < chomp> or really i guess namespace resolution in this case 20:48 < aiju> C++ is not my native language 20:48 < ArgonneIntern> go makes me believe that other programming langauges besides c++ don't suck 20:49 < ArgonneIntern> I honestly can't stand programming in python and java 20:49 < bartbes> aiju: would be weird if it was 20:49 < bartbes> new Dad()->poke(); 20:50 < skelterjohn|work> · just replaces . when you're writing C code referring to go code 20:50 < ArgonneIntern> LMAO 20:50 < aiju> C++ and "not sucking" in one sentence? 20:50 < ArgonneIntern> heh I'll take my punishment. I <3 C++ 20:51 < bartbes> I could make a joke about nut sucking, but I won't 20:51 < bartbes> imo it sucks less than some other languages 20:51 < bartbes> (looking at you, java) 20:51 < aiju> ArgonneIntern: how are your protected abstract virtual base pure virtual private destructors doing? 20:51 < skelterjohn|work> both C++ and java have their places 20:51 < chomp> how broken would a person's brain be if c++ were their first language 20:51 < skelterjohn|work> i'm comfortable coding with either 20:51 < aiju> skelterjohn|work: yes. 20:51 < skelterjohn|work> though i prefer go 20:51 < aiju> in hell. 20:51 < icy> sync/atomic has no get/set methods, any idea why there is only Add and CAS? 20:51 < dforsyth> chomp: i started with c++ :| 20:51 < bartbes> chomp: the lack of garbage collection makes for an awesome memory 20:52 < chomp> dforsyth, before english? :) 20:52 < dforsyth> ha 20:52 < dforsyth> not quite 20:52 < bartbes> that is, if you don't get floating pointers 20:52 < ArgonneIntern> I can't believe ACM still lets java in the international program comp 20:52 < aiju> icy: what is an atomic get? 20:52 < ArgonneIntern> they have a .dothis for everything 20:52 < skelterjohn|work> only for simple things that you don't really need to waste your time on 20:52 < kfmfe04> the one good thing about C++ is, other languages seem so much easier when you switch to something else ( I started in C, C++, then others) 20:52 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has quit [Ping timeout: 258 seconds] 20:52 < ArgonneIntern> is that even possible aiju 20:52 < chomp> icy, all snychronous operations can be built on those two primitives 20:52 < aiju> ArgonneIntern: it's an explicit language feature 20:53 < icy> chomp: hm yea guess I can do an Add(0) 20:53 < ArgonneIntern> There is no need for private destructors 20:53 < ArgonneIntern> err virtual 20:53 < ArgonneIntern> is what I meant to say 20:53 < chomp> icy, yup 20:53 < aiju> ArgonneIntern: i have no clue what it is 20:53 < ArgonneIntern> yea what you said doesn't make sense lol 20:54 < aiju> ArgonneIntern: it exists 20:54 < aiju> i didn't make it up 20:54 < skelterjohn|work> there is some talking-past going on here 20:54 < aiju> It is a pure virtual private destructor that is inherited from a protected abstract virtual base. In other words, a destructor function that can only be called by members or friends of the class (private), and is assigned a 0 (pure virtual) in the base class (abstract base) that declares it, and will be defined later / overriden in a derived class that shares the multiply-inherited base (virtual base) in a protected way. 20:54 < ArgonneIntern> you are refering to an abstract base class with pure virtual destructor 20:54 < aiju> that doesn't make any sense to me 20:54 < skelterjohn|work> tl;dr 20:55 < aiju> it's C++-ish 20:55 < aiju> i can read C++ code and tell it's really horrible 20:55 < aiju> that's enough 20:55 < ArgonneIntern> in a pure virtual base you don't need to define the destructor as virtual or = 0 20:55 < ArgonneIntern> it happens automatically 20:56 < skelterjohn|work> why are you telling us how to write C++ code 20:56 < skelterjohn|work> did i miss something? 20:56 < ArgonneIntern> he brought it up 20:56 < ArgonneIntern> :P 20:56 < skelterjohn|work> royal "you" 20:56 < ArgonneIntern> :'( 20:57 -!- TheMue [~TheMue@p5DDF5ACE.dip.t-dialin.net] has quit [Quit: TheMue] 21:00 < ArgonneIntern> in go terms, what I said is in C++ because of security. You can't just arbitrailly add methods to structures anytime you want 21:00 < ArgonneIntern> sometimes on large project this can be a good thing 21:01 < aiju> projects which have grown so large that nobody really knows how anything works and everyone is just randomly hacking on it? 21:01 < skelterjohn|work> yes 21:01 < chomp> well in go, structures don't have methods at all. 21:01 < ArgonneIntern> that can happen. But the idea is someone is responsibe for every bit of the project 21:01 -!- jeremy_c [~jeremy@cowgar.com] has quit [Ping timeout: 240 seconds] 21:02 < ArgonneIntern> and their parts are secure with defined interfaces to it 21:02 < skelterjohn|work> chomp: i tend to call functions with receivers "methods", but i guess that's just vocabulary 21:02 < chomp> yeah i do too, but just speaking in the C++ terms i imagine arg is familiar with 21:02 < chomp> there are no "proper" methods 21:02 < ArgonneIntern> I use method as a general term 21:03 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller, Faster, Easier. http://miranda-im.org] 21:03 < chomp> the distinction is important here, because you can't just arbitrarily extend types however you please 21:03 < ArgonneIntern> I like go alot, and I'll drop the c++ talk but I'll politely disagree with your criticisms 21:03 < aiju> luckily, there are no really large programs in Plan 9 21:04 * chomp has no idea what's going on 21:04 < aiju> ArgonneIntern likes the 5% of C++ he knows 21:04 < ArgonneIntern> wow... 21:04 < ArgonneIntern> for real 21:05 < ArgonneIntern> it doesn't get more childish than that 21:05 < skelterjohn|work> don't take aiju seriously 21:05 < skelterjohn|work> but i'm pretty sure that no one knows more than 5-10% of C++ 21:05 < ArgonneIntern> I'd find it hard for him to interpret anyones knowlege in it as he admitted to not having himself 21:05 -!- kfb [~kfb@c-174-62-70-166.hsd1.ca.comcast.net] has joined #go-nuts 21:06 < chomp> So! about that go language. 21:06 < aiju> C++ is the one language i don't know despite having written thousands of lines in it 21:06 < photron> but it's true you need to ignore 90% of c++ spec to write somewhat sane code 21:07 < photron> ArgonneIntern: did you ever read the c++ spec about what you can do with templates? 21:07 < chomp> that might be a bit of an overstatement :p it's probably more like 50%. 21:07 < skelterjohn|work> yeah - it's not a bad thing that people don't know all of C++ 21:07 < chomp> assuming you've touched template metaprogramming at least a little 21:07 < skelterjohn|work> knowing (and using) all of C++ would be a horrible thing 21:07 < ArgonneIntern> photron: I know how to use templates, and what they do 21:07 < chomp> templates are far more complicated than just about every use case suggests 21:08 < chomp> sorry, every (sane) use case 21:08 < photron> ArgonneIntern: really? read the spec you can do mroe insane stuff than the common c++ book tells you 21:08 < photron> s/mroe/much more/ 21:08 < ArgonneIntern> the one thing I hate about templates is that you can't seperate the definition from the implimentation when using them in classes 21:09 < chomp> still one of my favorite examples of c++ ridiculousness: http://weegen.home.xs4all.nl/eelis/analogliterals.xhtml 21:09 < chomp> or power, depending on your perspective :p 21:09 < aiju> chomp: that's just cute 21:10 < ArgonneIntern> o.O 21:10 < chomp> completely useless and barely touches on the real power of templates 21:11 < chomp> but also far beyond the average template use 21:11 < skelterjohn|work> completely useless?? 21:11 < chomp> haha 21:11 < chomp> i mean, incredibly useful! 21:11 < aiju> templates are like the evil twin of LISP macros 21:11 < chomp> with an extra chromosome 21:11 < aiju> not just one 21:12 < ArgonneIntern> unsigned int b = I---------I; id idn't even know you could do that lol 21:13 < skelterjohn|work> it's part of the 90% 21:13 < photron> ArgonneIntern: see, you never end with learning c++ 21:13 < skelterjohn|work> you don't even need to do templates for that one - just operator overloading 21:14 < ArgonneIntern> I never claimed to know everything, when aiju said 5% I don't think he was being literal, I think it was just meant to insult me in a childish manner 21:14 < chomp> it's true 21:14 < ArgonneIntern> at least thats how I perceived it 21:14 < chomp> thicker skin is a good thing 21:14 < chomp> it's the internets 21:14 < skelterjohn|work> you can either get pissed off at aiju, or you can exist happily in irc 21:14 < aiju> haha 21:14 < skelterjohn|work> because there's one of him in every channel 21:15 < dforsyth> normally more than one 21:15 < photron> :) 21:15 < chomp> aiju is tame in comparison, as is this channel 21:15 < skelterjohn|work> yes - we've got both aiju and dforsyth here 21:15 < aiju> ArgonneIntern: "By contrast, if I write in C++ I probably don't use even 10% of the language, and in fact the other 90% I don't think I understand." -- bwk 21:15 < aiju> a reference to these quotes 21:15 -!- sniper506th [~sniper506@rrcs-70-61-192-18.midsouth.biz.rr.com] has quit [Quit: Leaving...] 21:15 < skelterjohn|work> who is bwk 21:15 < aiju> brian w. kernigham 21:16 < chomp> he had something to do with C but i just can't put my finger on it 21:16 < skelterjohn|work> one of the C gurus, right? 21:16 < aiju> he's the "K" in K&R 21:16 < chomp> creators wasnt it 21:16 < aiju> also he created AWK 21:16 -!- NiteRain [~kvirc@c-98-254-236-21.hsd1.fl.comcast.net] has joined #go-nuts 21:16 < chomp> ohhh has he apologized? 21:16 < skelterjohn|work> i think i actually do use all of go on a regular basis 21:16 < aiju> hahahaha 21:16 < aiju> you mean, has he got the turing prize for it yet? 21:16 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 21:17 * skelterjohn|work scans the lang spec 21:17 < ArgonneIntern> I'm having more fun learning go than I did C++ 21:17 < ArgonneIntern> err the parts that I know that is 21:17 < ArgonneIntern> since I have to be explicit now :P 21:18 < dforsyth> the c++ dudes i know here at work seem to like go 21:18 < chomp> c++ dudes all long for a better language to come along some day 21:19 < skelterjohn|work> parts of the go spec that i don't use regularly: complex numbers, cap(), iota, fallthrough 21:19 < dforsyth> well, they still love their c++ 21:19 < skelterjohn|work> i think it says a lot that i can actually make that list 21:19 < dforsyth> theyve tought me a lot about c++, which has been pretty cool 21:19 < aiju> skelterjohn|work: you're missing something with iota 21:19 < skelterjohn|work> i have used it, but not regularly 21:19 -!- r_linux [~r_linux@static.200.198.180.250.datacenter1.com.br] has quit [Quit: Lost terminal] 21:19 < chomp> i have used and loved/hated C++ for over a decade. the day i can stop writing C++ code without feeling guilty will be a happy day. 21:19 < chomp> i think go is getting me to that point 21:20 < aiju> i quit writing C++ as i learned writing C 21:20 -!- napsy [~luka@88.200.96.18] has joined #go-nuts 21:20 < ArgonneIntern> I'm a novice for sure but I feel like I can use go for a vast majority of things I use C++ for 21:20 < ArgonneIntern> which makes it appealing 21:20 < ArgonneIntern> and I can do it MUCH faster 21:20 < chomp> hell i like C# just because it's basically removed all the useless cruft from C++ without being terribly alien in syntax 21:20 < skelterjohn|work> i only write go code right now. only tough bit is i often have to write the libraries that i would otherwise google for 21:21 < skelterjohn|work> but then i publish them on the dashboard 21:21 < chomp> yeah, it's all good 21:21 < aiju> i almost like C++ better than C# 21:21 < skelterjohn|work> anyway, going home 21:21 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed the connection] 21:21 < aiju> but my C# experience has been very limited 21:21 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-168-215.clienti.tiscali.it] has joined #go-nuts 21:22 < ArgonneIntern> is C# anything like objective C? 21:22 < aiju> no 21:22 < chomp> finally getting a change set into tip for session control in syscall.StartProcess, my terminal i/o library can be cleaned up 21:22 < aiju> C# is Microsoft's Java 21:22 < ArgonneIntern> so it's dirty then 21:22 < chomp> that's a dubious analogy 21:22 < aiju> both languages feel similar 21:23 < Tonnerre> You need to read it like an electrotechnician 21:23 < Tonnerre> Then it means C Negated, or C NOT 21:23 -!- kfb [~kfb@c-174-62-70-166.hsd1.ca.comcast.net] has quit [] 21:23 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has quit [Ping timeout: 240 seconds] 21:24 -!- Fish-- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 21:24 -!- PortatoreSanoDiI [~Marvin@82.84.96.117] has quit [Ping timeout: 244 seconds] 21:24 < chomp> especially with linq, i actually really like c#. a functional flavor on top of a c++ish language. 21:25 < chomp> just too bad the platform support is lacking, even with mono 21:25 < Tonnerre> chomp: did you do Objective C yet? 21:25 < chomp> only a handful of times, a few years ago 21:25 < chomp> i wasn't particularly a fan of the conventions i saw, iirc 21:25 < chomp> while conceptually it seemed nice 21:25 < aiju> objective C combines the memory safety of C with the speed of smalltalk 21:26 < Tonnerre> Well, it's quite objectionable, as the name indicates 21:26 < Tonnerre> But it's a nice brainfuck 21:26 < chomp> heh 21:26 < chomp> i'd rather just write haskell code for that 21:26 < aiju> i'm not a friend of just having language fornicate 21:27 < aiju> paradigms switches every three lines don't make for particularly readable code 21:27 < chomp> wrong 21:27 < chomp> the right paradigm at the right moment makes everything more readable imho 21:27 < chomp> of course it is just that, opinion 21:27 < aiju> but I find the maintainability of functional code not really overwhelming 21:28 < Tonnerre> If Python was a hammer, every problem would be your thumb 21:28 < aiju> Tonnerre: haha 21:28 < ArgonneIntern> lo 21:28 < dforsyth> python is fine as long as people the people who are writing it really understand it 21:28 < dforsyth> unfortunately this is often not the case 21:28 < aiju> python is fine until the program reaches 1 KLOC 21:29 < Tonnerre> dforsyth: yeah but as far as I know there's only one implementatio 21:29 < Tonnerre> n 21:29 < aiju> Tonnerre: there are multiple 21:29 < ArgonneIntern> dforsyth: do you mean understand whats happening underneath, or just understand the language 21:29 < aiju> and he didn't mean it that way 21:29 < aiju> Tonnerre: cpython, jpython, pypy 21:29 < Tonnerre> Oh right, Jython 21:29 < dforsyth> you can build large applications, but the documentation that needs to be there is often now there because people dont understand what it really means to be working in a language like python 21:30 < dforsyth> ArgonneIntern: the language and what it means to start building something huge with it 21:30 < aiju> the required amounts of LSD should not be underestimated 21:31 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has joined #go-nuts 21:31 < dforsyth> i work in a python shop and we have a fairly large app, you can tell that the code has gotten a lot better as people have started to understand what really needs to be documented for more people to work on it 21:31 < ArgonneIntern> I don't code in python but I thought it was supposed to be fairly easy to read 21:32 < dforsyth> it is easy to ready, but when there are no types on your function arguments sometimes its hard to follow whats actually going on :) 21:32 < aiju> no static type checking makes refactoring really fun 21:32 < aiju> i had to refactor my PDP-11 javascript emulator 21:33 < aiju> it's less than 2 KLOC and it was a mess 21:33 < ArgonneIntern> well with go I feel like I don't ever have to learn that language. If I want to go true object oriented I can just do some Ruby 21:33 < aiju> if x.nonzero? 21:33 < aiju> ruby's extensive stdlib 21:33 < ArgonneIntern> well it's not python 21:34 < dforsyth> i definately prefer go to python right now 21:34 < ArgonneIntern> I have tried several times to force myself to learn python, as everyone uses it, it just my brain resists it so hard 21:35 < chomp> i like python for quick and dirty scripts and that's about it 21:35 < aiju> i occasionally use python for fucking with algorithms 21:35 -!- virtualsue [~chatzilla@nat/cisco/x-rzkyysxfssknbfeu] has quit [Ping timeout: 246 seconds] 21:35 < ArgonneIntern> for instance I'm working on an http interface between go and a python daemon that uses json files, and I had to learn about dictionaries and how python deals with json fiels and all that and I just wanted someone else to do it. 21:36 < ArgonneIntern> I don't see the intuitiveness everyone else does 21:36 < chomp> my biggest problem is the weak typing 21:36 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 252 seconds] 21:36 < ArgonneIntern> json packages*, sorry, again my terminology sucks 21:36 < chomp> same reason i have issues with js 21:37 < kevlar_work> I hate that I can have a program that runs for 72 hours and then crashes because of a typo a compiler could've found. 21:37 < kevlar_work> (in Python) 21:37 < chomp> yeah 21:37 < chomp> or maybe you don't find it until you've shipped 21:37 -!- ExtraSpice [XtraSpice@78-57-204-104.static.zebra.lt] has quit [Quit: Leaving] 21:38 < dforsyth> kevlar_work: write some tests :) 21:38 < ArgonneIntern> well go errors are sometimes kinda non explanitory lol 21:38 < ArgonneIntern> I love the can't assign x to y 21:38 < ArgonneIntern> doesn't say why at all 21:38 < ArgonneIntern> just says nope, can't do it 21:39 < dforsyth> it generally says something like cant assign *x to x, right? 21:39 < chomp> if "x" and "y" are two different types then i think it's pretty explanatory 21:39 < ArgonneIntern> those errors exist, but there is a very general error that just says can't assign something to something else 21:39 < kfmfe04> anything better than C++ template error messages :P 21:39 < kevlar_work> dforsyth, this was a test. It used python objects that were created on-the-fly by the thing under test. 21:39 < ArgonneIntern> and it's not a type problem 21:39 < ArgonneIntern> skelterjohn|work: helped me work through one the other day 21:40 < ArgonneIntern> if you make a map[something]something and try to assign map[key] = something, it will toss a can't assign at you 21:40 < kevlar_work> dforsyth, and we actually had a lint-style thing that would find a lot of problems, but it couldn't find issues with data model crap or duck typing. 21:40 < ArgonneIntern> I know why now, but from someone who doesn't it's erroneous 21:40 < chomp> ArgonneIntern, ah it's if you use the := operator 21:40 < ArgonneIntern> no 21:40 < ArgonneIntern> you need to make map[something]*something 21:40 < chomp> uh ... huh. 21:40 < ArgonneIntern> oh well yes 21:40 < ArgonneIntern> sorry 21:40 < ArgonneIntern> if I want to replace the entire something 21:41 < ArgonneIntern> but if I want to modifiy one field 21:41 < chomp> oh like map[foo].bar = something 21:41 < ArgonneIntern> yes 21:41 < ArgonneIntern> it tosses "can't assign something to map[foo].bar" 21:41 < ArgonneIntern> with no reasoning lol 21:41 < ArgonneIntern> if it wasn't for skelterjohn|work i would still be pondering it 21:42 < chomp> it does make sense because map[foo] returns a temporary copy of the contents of map[foo]... but yeah an explanation would be nice there :) 21:42 < ArgonneIntern> yes in retrosepct it makes a lot of sense 21:42 < chomp> cannot assign to temporary or somesuch 21:42 < chomp> or it could be like C++ and not give you an error at all 21:42 < ArgonneIntern> seg fault! 21:42 < chomp> just let you toss your assignment into the abyss and have an aneurysm wondering why 21:43 -!- pjacobs [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 252 seconds] 21:43 < chomp> nope, no crash. just no apparent side effect at all! 21:43 < ArgonneIntern> yea the best is when there is clearly an assignment problem but you own the memory and it lets it go 21:43 < kevlar_work> okay, I have a ton of things (interacting with processes and files) that are running in essentially infinite loops in their own goroutines, without any incoming channel operations to synchronize on. What's the best way to signal them that it's time to exit the very next time they loop? Currently, it looks like the easiest way is to wrap a "running" boolean with a mutex. 21:43 -!- pjacobs [~pjacobs@66.54.185.130] has joined #go-nuts 21:44 < kevlar_work> I tried a synchronous channel in a non-blocking select, but that didn't seem to work. 21:44 < chomp> kevlar_work, what i've done is use a buffered quit channel where everyone selects on it and writes back to it when they get the recv 21:44 < chomp> but i seem to remember a utility package that makes this easier 21:44 < chomp> in the stdlib 21:45 -!- Queue29 [~Adium@bastion.sfo1.yelpcorp.com] has quit [Quit: Leaving.] 21:45 < kevlar_work> they're all separate and don't use the same quit signal 21:45 < chomp> ah 21:46 -!- jbooth1 [~jay@209.249.216.2] has left #go-nuts [] 21:46 < chomp> um well, how evil would it be to just have a bool for each goroutine 21:46 < chomp> i assume there is some context attached to each one? 21:46 -!- kfmfe04 [~kfeng@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04] 21:46 -!- Queue29 [~Adium@bastion.sfo1.yelpcorp.com] has joined #go-nuts 21:47 < kevlar_work> I tried having a bool in the for loop, but because I'm in one thread and it's looping, it never leaves that goroutine to pick up the new value 21:47 < kevlar_work> or something. 21:47 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has joined #go-nuts 21:47 < chomp> who can signal the goroutines to quit 21:47 < kevlar_work> some external event (a method on the object that owns the looping goroutine) 21:48 < chomp> weird that a simple bool wouldn't work. i'm confused 21:48 < chomp> are the goroutines actually ever yielding 21:49 < chomp> i mean if they aren't doing any i/o or allocation or anything, they might not be right? 21:49 < kevlar_work> correct. 21:50 -!- ArgonneIntern [82ca0251@gateway/web/freenode/ip.130.202.2.81] has quit [Ping timeout: 252 seconds] 21:50 < chomp> try calling runtime.Gosched() after each iteration? 21:50 < kevlar_work> didn't seem to work. 21:50 < chomp> ah 21:50 < chomp> missing something here :P 21:50 < kevlar_work> (I suspect that there are enough of them running that the probability of getting to the one goroutine that's stopping things just hasn't come up) 21:51 < chomp> that would sound like a scheduling bug though 21:51 < kevlar_work> I suspect it's a bug in my code. 21:51 < kevlar_work> I'm going to go back to the select-on-synchronous-channel method and see if I can get that working again 21:51 < kevlar_work> it seems like the "right" solution. 21:52 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Quit: leaving] 21:53 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection reset by peer] 21:53 < chomp> i wonder, do the goroutines get their signals if you use a blocking select 21:53 < chomp> obviously that breaks other things 21:54 -!- piranha [~piranha@adsl-ull-233-41.41-151.net24.it] has joined #go-nuts 21:55 < chomp> ah well, gotta jet. good luck 21:55 -!- chomp [~chomp@dap-209-166-184-50.pri.tnt-3.pgh.pa.stargate.net] has quit [Quit: Leaving] 21:58 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 21:59 -!- piranha [~piranha@adsl-ull-233-41.41-151.net24.it] has quit [Quit: Computer has gone to sleep.] 22:07 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.] 22:15 < kevlar_work> oh, this is fun. 22:15 < kevlar_work> is there a way to prevent a signal to my process from hitting my children? 22:15 < Tonnerre> Yes, keep them away from your computer 22:21 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has joined #go-nuts 22:22 -!- gmilleramilar [~gmiller@pool-74-101-133-165.nycmny.fios.verizon.net] has quit [Quit: Leaving.] 22:24 -!- synx` [~dhorn@unaffiliated/synx/x-4957395] has joined #go-nuts 22:25 -!- Chronicler [~mserrano@99-92-91-37.lightspeed.sntcca.sbcglobal.net] has joined #go-nuts 22:25 < synx`> mjard you son of a bitch. 22:25 -!- synx` [~dhorn@unaffiliated/synx/x-4957395] has left #go-nuts [] 22:25 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has joined #go-nuts 22:26 < mjard> :'( 22:26 -!- Adys [~Adys@unaffiliated/adys] has quit [Read error: Connection reset by peer] 22:27 -!- message144 [~message14@pool-98-112-179-26.lsanca.fios.verizon.net] has joined #go-nuts 22:27 < kevlar_work> :o 22:28 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts 22:34 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Read error: Operation timed out] 22:43 -!- Xenith [~xenith@2001:470:1:25f::1001] has joined #go-nuts 22:48 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts 22:56 -!- kfmfe04 [~kfmfe04@host-58-114-183-56.dynamic.kbtelecom.net] has quit [Quit: kfmfe04] 23:04 -!- fvbommel [~fvbommel_@86.86.15.250] has quit [Remote host closed the connection] 23:05 -!- zlib [~mail@cpc7-roth7-2-0-cust170.barn.cable.virginmedia.com] has quit [] 23:09 -!- fvbommel [~fvbommel_@86.86.15.250] has joined #go-nuts 23:11 -!- chomp [~chomp@c-67-186-35-69.hsd1.pa.comcast.net] has joined #go-nuts 23:12 -!- photron [~photron@port-92-201-63-142.dynamic.qsc.de] has quit [Ping timeout: 255 seconds] 23:13 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-168-215.clienti.tiscali.it] has quit [Quit: E se abbasso questa leva che succ...] 23:18 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has joined #go-nuts 23:19 -!- Bigbear1 [~Cody@d75-158-128-4.abhsia.telus.net] has joined #go-nuts 23:20 -!- replore_ [~replore@ntkngw256114.kngw.nt.ftth.ppp.infoweb.ne.jp] has quit [Remote host closed the connection] 23:20 -!- iant [~iant@nat/google/x-ryskxucahyoabjre] has quit [Ping timeout: 252 seconds] 23:22 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has quit [Ping timeout: 240 seconds] 23:28 -!- bugQ [~bug@c-71-195-206-249.hsd1.ut.comcast.net] has joined #go-nuts 23:30 -!- iant [~iant@67.218.104.187] has joined #go-nuts 23:30 -!- mode/#go-nuts [+v iant] by ChanServ 23:34 -!- asldkfjalsdkf [~dan@pool-71-108-246-180.lsanca.dsl-w.verizon.net] has joined #go-nuts 23:35 -!- xash [~xash@d026085.adsl.hansenet.de] has quit [Quit: Lost terminal] 23:40 -!- ukai_ [~ukai@nat/google/x-mknhsxsrdtjsfcwd] has quit [Ping timeout: 252 seconds] 23:40 -!- ukai_ [~ukai@nat/google/x-dhxjplmdbuqkyzcl] has joined #go-nuts 23:54 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has quit [Quit: Leaving.] --- Log closed Thu Jun 23 00:00:53 2011