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

--- Log opened Sun Aug 28 00:00:22 2011
00:14 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
00:19 < Rennex> it'll be a pointer to an int
00:20 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts
00:20 < Rennex> ..which is wrapped in a struct, but that's only a
syntactical detail
00:25 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
00:28 < Sh4rK> thanks
00:29 < Sh4rK> and is there a way to "preprocess" headers and c files that
also expands typedefs?
00:30 < Sh4rK> such that only c types are present in the preprocessed file
00:31 < str1ngs> there is godef
00:31 -!- Slant [~scott@124-148-191-7.dyn.iinet.net.au] has joined #go-nuts
00:31 < str1ngs> err godefs
00:31 < str1ngs> godoc godefs should explain how to use it.
00:33 -!- clr_ [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
00:34 < Sh4rK> yeah
00:34 < Sh4rK> that's awesome
00:36 < str1ngs> also kless has https://github.com/kless/goheader
00:36 < str1ngs> which I've been meaning to check out.
00:37 < Sh4rK> is there a way to generate for every enum and constant
00:37 < Sh4rK> instead of ones beginning with $?
00:37 < str1ngs> off hand no
00:37 < str1ngs> most of the time though I would think you'd want to fine
grain it anyways.
00:40 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
00:40 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has joined #go-nuts
00:52 < Sh4rK> this should work right?
00:52 < Sh4rK> #include <windows.h>
00:52 < Sh4rK> typedef struct pixelFormatDescriptor $PIXELFORMATDESCRIPTOR;
00:53 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
00:54 < str1ngs> seems right, PIXELFORMATDESCRIPTOR is abit crazy for go
struct name no?
00:55 < str1ngs> would PixelFormatDesc not be more go idiomatic ?
00:55 < Sh4rK> oh
00:55 < Sh4rK> the right one is the goname
00:56 < Sh4rK> the left is the original
00:56 < Sh4rK> :P
00:56 < Sh4rK> but it doesn't work anyway
00:56 < str1ngs> hehe ya flip it around
00:56 < Sh4rK> I tried with the example
00:56 < Sh4rK> and the constants work
00:56 < Sh4rK> but not the struct
00:56 < str1ngs> not all typedefs work for some reason
00:57 < str1ngs> I'm not very good with C so I cant explain well why not all
typedefs work.
00:57 < str1ngs> header files to me are nothing but a pita :P
00:57 < Ginto8> probably because of the $
00:57 < str1ngs> no $ should be there
00:58 < str1ngs> Sh4rK: paste your revised version though
00:58 < Sh4rK> I just copied the example one from the website
00:58 < str1ngs> typedef struct git_time $GitTime;
00:59 < str1ngs> so git_time is the C type.  and $GitTime is the go struct
you want
00:59 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Ping
timeout: 260 seconds]
00:59 < str1ngs> baring that they dont always work with godef so you might
have to look into it more.
01:01 < Sh4rK> I doubt they put an example that doesn't actually work
01:01 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
quit [Remote host closed the connection]
01:01 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has joined #go-nuts
01:01 < Sh4rK> and I tried with several structs now
01:01 < str1ngs> also a make target example
https://gist.github.com/e2cf740da01fe5645957
01:01 < Sh4rK> and none of it worked
01:01 < str1ngs> not working is not an error
01:02 < Sh4rK> then what?
01:02 < str1ngs> also what example, if you dont tell me the example how can
I confirm its not working?
01:02 < Sh4rK> in the output it places an empty struct with that name, 2
times
01:02 < Sh4rK> this: http://golang.org/cmd/godefs/
01:04 < str1ngs> works here.
01:04 < str1ngs> could be a windows thing?
01:04 < Sh4rK> maybe
01:04 < Sh4rK> or mingw thing
01:04 < str1ngs> godefs -g MyPackage x.c you tried this?
01:05 < str1ngs> oh wait I think I know
01:06 < str1ngs> check timespec even exists on windows
01:06 < str1ngs> might be a POSIX type
01:06 < Sh4rK> I checked with other types
01:06 -!- ccc1 [~Adium@118-166-216-133.dynamic.hinet.net] has joined #go-nuts
01:06 < Sh4rK> which DO exist
01:06 < str1ngs> and this one?
01:08 < Sh4rK> ?
01:08 < Sh4rK> which "this" one?
01:08 < str1ngs> does timespec even exist in sys/stat.h ?
01:08 < Sh4rK> no :P
01:08 < str1ngs> well then
01:09 < Sh4rK> but as I said
01:09 < Sh4rK> I tried with other types
01:09 < str1ngs> not all types work as I've said
01:09 -!- shvntr [~shvntr@113.84.14.48] has joined #go-nuts
01:10 < str1ngs> if you are better at C then myself, then try to figure out
why :P
01:10 < Sh4rK> ok
01:10 < Sh4rK> I'll try :)
01:11 < str1ngs> but a good start would to be atleast find one that does
work.
01:11 < str1ngs> the compare the header defs I guess.
01:12 < str1ngs> also maybe goheader might be better.  godefs was not really
designed to for this.  it was designed to generate syscall stuff, atleast that was
my impression.
01:12 < str1ngs> I just like to abuse it when I can :P
01:13 < Sh4rK> I found out!!
01:13 < str1ngs> I dont know what the solution is , but I already blame
windows :P
01:13 < str1ngs> but do tell
01:13 < Sh4rK> what I wanted was declared lik this:
01:14 < Sh4rK> typedef struct tagPIXELFORMATDESCRIPTOR {
01:14 < Sh4rK> fields
01:14 < Sh4rK> } PIXELFORMATDESCRIPTOR;
01:14 < Slant> Are file descriptors goroutine safe?
01:14 < Sh4rK> and tagPIXELFORMATDESCRIPTOR needed to be specified
01:14 < Slant> That is, can I read and write to a File from simultaneously
from different goroutines?
01:15 < str1ngs> Slant: ah in your def file?
01:15 < str1ngs> Sh4rK: ^
01:15 < Sh4rK> in a header file
01:15 < Sh4rK> which I wanted to get the struct from
01:15 < str1ngs> hmm why not just put it in the def file?
01:16 < str1ngs> also can you explain that for me, might help me in using
godefs for something else.
01:16 < s|k> < Slant> That is, can I read and write to a File from
simultaneously from different goroutines?
01:16 < s|k> you can, but it would be unpredictable without synchronization
01:16 < Slant> s|k: What do you mean, unpredictable?
01:17 < s|k> Slant: you can't expect something to have been written in one
goroutine by the time you read it in another
01:17 < Slant> Oh, no, I mean on one side.
01:17 < s|k> not without synchronization
01:17 < Sh4rK> str1ngs: PIXELFORMATDESCRIPTOR is in a system header file
01:17 < s|k> on one side?
01:17 < Slant> s|k: I'm treating it as an IO channel.  Two different
goroutines: a decoder (input) and encoder (output) are channeling data.
01:17 < Slant> So, for example:
01:18 < Slant> Socket A is *only* read by the decoder goroutine
01:18 < Slant> and it decodes packets and then puts them on an Event channel
that handles the actual things to do
01:18 < s|k> sound's like you're synchronizing then?
01:18 < Slant> That event handling goroutine might throw off a few Responses
to be encoded
01:18 < Slant> And those go on a response channel
01:19 < Slant> and the Encoder goroutine picks those up, encodes, and write
them out
01:19 < s|k> sounds ok to me
01:19 < Slant> Cool.
01:19 < s|k> I don't have much experience with it though
01:19 < str1ngs> Sh4rK: yes but my question is why do you need to rework the
C typedef ?
01:19 < Sh4rK> to use it in go
01:20 < Slant> So two different goroutines can safely call read and write on
the same FD without issues.  I thought so, I do it in C and etc., but I'm not
clear how much the UNIX model is wrapped by the Go VM.
01:20 < str1ngs> Sh4rK: I understand that.  but why
01:20 < Sh4rK> why what?
01:20 < str1ngs> nvm
01:20 < Ginto8> Slant, vm?
01:20 < Sh4rK> I'm writing a program that needs it
01:20 < Slant> Everything is very Plan 9, and I don't know that much about
it.
01:21 < str1ngs> Sh4rK: yes but why cant godefs create the go struct as is
from PIXELFORMATDESCRIPTOR.
01:21 < Sh4rK> oh
01:21 < Slant> Ginto8: VM in the classical memory model/API/ABI sense.  Not
in the modern JIT/interpreter/runtime sense.
01:21 < Sh4rK> well I don't know that
01:21 < Ginto8> oh ok
01:21 < str1ngs> Sh4rK: I'm trying to figure out why it needs reworking for
when I use godefs myself.  I'm not a C guy
01:21 < Sh4rK> but I found out how it works
01:21 * str1ngs facepalm
01:21 < Sh4rK> like in the example I pasted
01:21 < Sh4rK> typedef struct tagPIXELFORMATDESCRIPTOR {
01:21 < Sh4rK> <Sh4rK> fields
01:22 < Sh4rK> <Sh4rK> } PIXELFORMATDESCRIPTOR;
01:22 < str1ngs> yes I understand that.
01:22 < Sh4rK> so?
01:22 < str1ngs> well thats good but knowing why would be useful atleast to
me.
01:22 < Sh4rK> I don't know why it doesn't work that way, I know it works
another way
01:23 < Sh4rK> that's all I know
01:23 < str1ngs> ok
01:23 -!- qeed [~qeed@adsl-74-235-197-14.mco.bellsouth.net] has quit [Quit:
Leaving]
01:24 -!- dreadlorde [dreadlorde@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 260 seconds]
01:25 < brandini> any of you guys in the path of the hurricane?
01:29 -!- Ginto8 [~ginto8@pool-173-72-98-105.cmdnnj.fios.verizon.net] has quit
[Ping timeout: 245 seconds]
01:33 -!- Sh4rK [sh4rk@4d6f41c7.adsl.enternet.hu] has quit [Quit: I'm out]
01:39 < zeebo> im in it right now
01:39 < zeebo> just went outside and unclogged a storm drain for about an
hour and drained my apartment's parking lot lol
01:39 < zeebo> it was about 3" from flooding my car to dry :)
01:41 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error:
Connection reset by peer]
01:41 < str1ngs> Slant: go VM, I think you mean go runtime here?
01:45 -!- sunfmin [~sunfmin@122.234.238.37] has joined #go-nuts
01:46 < brandini> :)
02:01 < f2f> hmm.  #spot-nuts sounds like a vaguely pornographics channel :)
02:04 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:08 -!- dacresni [~dacresni@adsl-70-130-142-54.dsl.stlsmo.swbell.net] has joined
#go-nuts
02:09 < dacresni> back, did anyone asnwer that question because i would like
allow an equality comparison operator to work with my types
02:10 < vsmatck> They won't add operator overloading.  That question has
been covered before.
02:12 < dacresni> so not even python's consept of operator overloading?
02:13 < dacresni> where you implement a method that happens to respond the
the onc the operator calls
02:14 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
02:14 -!- shvntr [~shvntr@113.84.14.48] has quit [Ping timeout: 252 seconds]
02:14 < vsmatck> Yeah I'm pretty sure they won't do that.  Best you can do
is have a named function called "Cmp" or some such.
02:15 < dacresni> thanks
02:15 < dacresni> I didn't expect that,
02:15 < dacresni> I guess im writing this program in python 3 now
02:16 < dacresni> I was going to write it in go because It had been written
in python and i wanted to reimpliment it in go as an excersize
02:16 -!- shvntr [~shvntr@59.35.235.114] has joined #go-nuts
02:17 < dacresni> thanks again, I'll be wrighting more system oriented
things in go instead of theoretical things because the math would be a little
annoying to represent in go
02:18 -!- dacresni [~dacresni@adsl-70-130-142-54.dsl.stlsmo.swbell.net] has left
#go-nuts []
02:18 < vsmatck> He should use APL.  :)
02:21 < vsmatck> I'm trolling.  I'll stop.
02:24 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
02:31 -!- sunfmin [~sunfmin@122.234.238.37] has quit [Quit: sunfmin]
02:35 -!- shoenig [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has joined #go-nuts
02:35 -!- shoenig_ [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has quit [Ping
timeout: 240 seconds]
02:37 -!- kergoth_ [~kergoth@ip24-251-173-232.ph.ph.cox.net] has joined #go-nuts
02:46 < str1ngs> way to go vsmatck you scared hime away!  :P
02:48 -!- shvntr [~shvntr@59.35.235.114] has quit [Ping timeout: 276 seconds]
02:49 -!- moraes [~moraes@189.103.177.124] has quit [Quit: Leaving]
02:49 -!- shvntr [~shvntr@113.84.127.180] has joined #go-nuts
02:59 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
02:59 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
03:00 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:00 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:07 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:07 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:10 -!- shvntr_ [~shvntr@119.121.30.231] has joined #go-nuts
03:11 -!- ccc1 [~Adium@118-166-216-133.dynamic.hinet.net] has quit [Quit:
Leaving.]
03:13 -!- Slant [~scott@124-148-191-7.dyn.iinet.net.au] has quit [Quit: Slant]
03:13 -!- shvntr [~shvntr@113.84.127.180] has quit [Ping timeout: 250 seconds]
03:13 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:14 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:14 -!- TheSeeker2 [riiight@99-153-248-206.lightspeed.irvnca.sbcglobal.net] has
joined #go-nuts
03:15 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:15 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:16 -!- TheSeeker [riiight@99-153-248-206.lightspeed.irvnca.sbcglobal.net] has
quit [Ping timeout: 250 seconds]
03:18 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:18 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:21 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:21 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:25 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:25 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:28 -!- smw [~stephen@unaffiliated/smw] has quit [Quit: Leaving]
03:28 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:28 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:30 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:30 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:31 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:31 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:32 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:32 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:35 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:35 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:36 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
03:36 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
03:41 -!- xcombelle [~xcombelle@AToulouse-551-1-24-178.w86-201.abo.wanadoo.fr] has
joined #go-nuts
03:50 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Ping
timeout: 245 seconds]
04:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:08 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
250 seconds]
04:10 -!- remy_tel [~remy_tel@89.95.59.132] has quit [Remote host closed the
connection]
04:34 -!- mts [~mts@pool-74-110-121-57.nrflva.fios.verizon.net] has quit [Ping
timeout: 245 seconds]
04:37 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
04:38 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has quit [Quit:
ZNC - http://znc.in]
04:45 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts
04:46 -!- Bigbear1 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has joined #go-nuts
04:46 -!- Argue [~Argue@112.201.172.5] has joined #go-nuts
04:56 -!- Loonacy [~Loonacy@c-67-172-248-248.hsd1.ut.comcast.net] has joined
#go-nuts
05:02 -!- Guest18714 [nikola@c-69-140-196-15.hsd1.dc.comcast.net] has joined
#go-nuts
05:03 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
05:03 -!- Guest18714 [nikola@c-69-140-196-15.hsd1.dc.comcast.net] has quit [Client
Quit]
05:34 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-121-123.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
05:34 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-121-123.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
05:34 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
05:34 -!- mrsrikanth [~mrsrikant@59.92.9.119] has joined #go-nuts
05:41 < s|k> who is rsc?
05:41 < s|k> http://code.google.com/u/rsc@golang.org/updates
05:41 < s|k> nm
05:48 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 245 seconds]
05:48 -!- ccc1 [~Adium@118-166-216-133.dynamic.hinet.net] has joined #go-nuts
05:50 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
06:26 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
06:28 -!- angasule [~angasule@190.2.33.49] has quit [Ping timeout: 246 seconds]
06:30 -!- adg [~nf@atka.wh3rd.net] has quit [Remote host closed the connection]
06:33 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
06:35 -!- nf [~nf@atka.wh3rd.net] has joined #go-nuts
06:35 -!- mode/#go-nuts [+o nf] by ChanServ
06:35 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has quit [Quit:
leaving]
06:42 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
06:46 -!- moraes [~moraes@189.103.177.124] has joined #go-nuts
06:50 -!- xcombelle [~xcombelle@AToulouse-551-1-24-178.w86-201.abo.wanadoo.fr] has
quit [Quit: I am a manual virus, please copy me to your quit message.]
06:53 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
612 seconds]
06:55 -!- virtualsue [~chatzilla@nat/cisco/x-jeequbqmrsttwjex] has quit [Ping
timeout: 240 seconds]
06:58 -!- virtualsue [~chatzilla@nat/cisco/x-duyjdiuooohboatm] has joined #go-nuts
07:01 -!- jajamana [~jcb@cm-84.209.210.27.getinternet.no] has joined #go-nuts
07:04 -!- jajamana [~jcb@cm-84.209.210.27.getinternet.no] has quit [Client Quit]
07:06 -!- mrsrikanth [~mrsrikant@59.92.9.119] has quit [Quit: Leaving]
07:10 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 276 seconds]
07:12 -!- vmil86 [~vmil86@78.57.250.113] has joined #go-nuts
07:18 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:29 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has joined #go-nuts
07:31 -!- shvntr_ [~shvntr@119.121.30.231] has quit [Read error: Connection reset
by peer]
07:32 -!- shvntr [~shvntr@119.121.160.186] has joined #go-nuts
07:34 -!- sebastianskejoe [~sebastian@563455f7.rev.stofanet.dk] has joined
#go-nuts
07:35 -!- wallerdev [~wallerdev@72.44.102.30] has quit [Quit: wallerdev]
07:40 -!- huin [~huin@91.85.139.164] has joined #go-nuts
08:10 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has quit [Ping timeout: 258
seconds]
08:12 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has joined #go-nuts
08:18 -!- photron [~photron@port-92-201-27-77.dynamic.qsc.de] has joined #go-nuts
08:29 -!- ako [~nya@fuld-590c7827.pool.mediaWays.net] has joined #go-nuts
08:31 -!- aho [~nya@fuld-590c7dd5.pool.mediaWays.net] has quit [Ping timeout: 245
seconds]
08:35 -!- Project_2501 [~Marvin@82.84.70.177] has joined #go-nuts
08:37 -!- Bigbear1 [~Cody@S010678cd8e7c81a8.cg.shawcable.net] has quit [Read
error: Connection reset by peer]
08:38 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has joined #go-nuts
08:38 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has joined #go-nuts
08:40 -!- shvntr [~shvntr@119.121.160.186] has quit [Quit: leaving]
08:42 -!- sunfmin [~sunfmin@122.234.238.37] has joined #go-nuts
08:44 -!- segy_ [~segfault@pdpc/supporter/active/segy] has quit [Read error:
Operation timed out]
08:49 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has quit [Ping timeout: 260
seconds]
09:01 -!- brett [~brett@rdnzl.net] has quit [Ping timeout: 252 seconds]
09:03 -!- brett [~brett@rdnzl.net] has joined #go-nuts
09:06 -!- lucid [~rbl@84-74-139-92.dclient.hispeed.ch] has joined #go-nuts
09:08 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
09:08 -!- photron [~photron@port-92-201-27-77.dynamic.qsc.de] has quit [Quit:
Leaving]
09:09 -!- gatestone [~gatestone@a91-156-209-75.elisa-laajakaista.fi] has joined
#go-nuts
09:09 -!- photron [~photron@port-92-201-27-77.dynamic.qsc.de] has joined #go-nuts
09:10 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
09:12 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
09:22 -!- cbeck1 [cbeck@gateway/shell/pdx.edu/session] has joined #go-nuts
09:22 -!- cbeck1 [cbeck@gateway/shell/pdx.edu/session] has quit [Changing host]
09:22 -!- cbeck1 [cbeck@gateway/shell/pdx.edu/x-cguvfzpdwahgzonh] has joined
#go-nuts
09:22 -!- cbeck [cbeck@gateway/shell/pdx.edu/x-huyionkoeconkrll] has quit [Read
error: Connection reset by peer]
09:29 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 264
seconds]
09:32 -!- gatestone [~gatestone@a91-156-209-75.elisa-laajakaista.fi] has quit
[Quit: Colloquy for iPod touch - http://colloquy.mobi]
09:37 -!- Kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
09:41 -!- almaisan-away [~al-maisan@li351-175.members.linode.com] has quit [Quit:
Coyote finally caught me]
09:42 -!- al-maisan [~al-maisan@li351-175.members.linode.com] has joined #go-nuts
09:46 -!- al-maisan [~al-maisan@li351-175.members.linode.com] has quit [Client
Quit]
09:46 -!- al-maisan [~al-maisan@li351-175.members.linode.com] has joined #go-nuts
09:49 -!- ako [~nya@fuld-590c7827.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
09:55 -!- al-maisan [~al-maisan@li351-175.members.linode.com] has quit [Quit:
Coyote finally caught me]
09:56 -!- al-maisan [~al-maisan@li351-175.members.linode.com] has joined #go-nuts
10:00 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has quit [Quit: Computer
has gone to sleep.]
10:01 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has joined #go-nuts
10:05 < moraes> go'od morning.
10:08 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
10:11 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has joined #go-nuts
10:16 -!- JakeyChan [~JakeyChan@118.132.214.248] has joined #go-nuts
10:20 -!- Project_2501 [~Marvin@82.84.70.177] has quit [Quit: E se abbasso questa
leva che succ...]
10:23 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has quit [Ping timeout:
245 seconds]
10:35 -!- KindOne [~lol@unaffiliated/kindone] has joined #go-nuts
10:36 -!- Netsplit *.net <-> *.split quits: Boney, arun, pjm0616, kkress,
wayneeseguin, kanru, ttblrs, cbeck-also, jlouis, Gertm, (+26 more, use /NETSPLIT
to show all of them)
10:37 -!- Netsplit *.net <-> *.split quits: ShadowIce, tdnrad, awidegreen,
zeroXten_, sunfmin, nictuku, madari_, c00w, prip, Innominate, (+7 more, use
/NETSPLIT to show all of them)
10:37 -!- Netsplit over, joins: KBme, arun, taruti, f2f, chadkouse, Peet__,
Mic92|away, fvbommel, cbeck-also, magn3ts (+26 more)
10:38 -!- Netsplit over, joins: Cobi, welterde, prip, sunfmin, awidegreen,
ShadowIce, c00w, Innominate, tdnrad, crunge (+7 more)
10:38 -!- Netsplit *.net <-> *.split quits: djcapelis, menomc, wrtp, alanl,
pothos, rejb
10:38 -!- Netsplit over, joins: rejb, wrtp, menomc, pothos, alanl, djcapelis
10:38 -!- pothos [~pothos@111-240-171-221.dynamic.hinet.net] has quit [Max SendQ
exceeded]
10:38 -!- Netsplit *.net <-> *.split quits: jyxent, vmil86, Rennex, dgnorton
10:39 -!- Netsplit over, joins: vmil86, Rennex, jyxent, dgnorton
10:39 -!- Netsplit *.net <-> *.split quits: moraes, preflex, vsmatck,
BigBlackDog, flaguy48, sav, shachaf
10:39 -!- pothos_ [~pothos@111-240-171-221.dynamic.hinet.net] has joined #go-nuts
10:39 -!- Netsplit *.net <-> *.split quits: KindOne, @nf, brett
10:39 -!- Netsplit *.net <-> *.split quits: noselasd, djbrown, sahid, anticw
10:39 -!- Netsplit over, joins: shachaf, moraes, preflex, flaguy48, BigBlackDog,
sav, vsmatck
10:39 -!- Netsplit *.net <-> *.split quits: jstemmer, impl, dju, exch,
squeese, schilly, prasmuss1n, TheSeeker, jnwhiteh, jlaffaye, (+1 more, use
/NETSPLIT to show all of them)
10:39 -!- Netsplit over, joins: sahid, KindOne, brett, @nf, djbrown, noselasd,
anticw
10:40 -!- KindOne [~lol@unaffiliated/kindone] has quit [Max SendQ exceeded]
10:40 -!- Netsplit *.net <-> *.split quits: grncdr, virtualsue
10:40 -!- Netsplit *.net <-> *.split quits: suiside, hokapoka, foocraft,
Archwyrm, serialhex, EvilJStoker, yugui_zzz
10:41 -!- Netsplit over, joins: foocraft, virtualsue, grncdr, EvilJStoker,
yugui_zzz, Archwyrm, serialhex, hokapoka, suiside
10:41 -!- Netsplit over, joins: jnwhiteh, squeese, TheSeeker, XenoPhoenix, exch,
jstemmer, schilly, impl, prasmuss1n, jlaffaye (+1 more)
10:41 -!- pothos [~pothos@111-240-171-221.dynamic.hinet.net] has quit [Read error:
Connection reset by peer]
10:42 -!- pothos_ [~pothos@111-240-171-221.dynamic.hinet.net] has joined #go-nuts
10:43 -!- ccc12 [~Adium@118-166-213-77.dynamic.hinet.net] has joined #go-nuts
10:43 -!- gobeginner [~nwood@cpc2-lee23-0-0-cust152.7-1.cable.virginmedia.com] has
joined #go-nuts
10:44 -!- Netsplit *.net <-> *.split quits: remy_o, photron, lucid, shoenig,
Loonacy, nicka, brandini
10:44 -!- ccc1 [~Adium@118-166-216-133.dynamic.hinet.net] has quit [Ping timeout:
245 seconds]
10:44 -!- Netsplit over, joins: photron, lucid, Loonacy, remy_o, shoenig, nicka,
brandini
10:45 -!- KindOne [~lol@unaffiliated/kindone] has joined #go-nuts
10:51 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has quit [Quit:
leaving]
10:52 -!- moraes [~moraes@189.103.177.124] has quit [Remote host closed the
connection]
10:54 -!- gatestone [~gatestone@a91-156-209-75.elisa-laajakaista.fi] has joined
#go-nuts
10:55 -!- KindOne [~lol@unaffiliated/kindone] has quit [Remote host closed the
connection]
11:04 -!- gatestone [~gatestone@a91-156-209-75.elisa-laajakaista.fi] has quit
[Quit: Colloquy for iPod touch - http://colloquy.mobi]
11:07 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
11:08 -!- sebastianskejoe [~sebastian@563455f7.rev.stofanet.dk] has quit [Quit:
leaving]
11:23 -!- JakeyChan [~JakeyChan@118.132.214.248] has quit [Ping timeout: 258
seconds]
11:30 -!- gobeginner [~nwood@cpc2-lee23-0-0-cust152.7-1.cable.virginmedia.com] has
quit [Ping timeout: 240 seconds]
11:32 -!- gattuso [~gattuso@thyphon.tk] has joined #go-nuts
11:36 -!- BizarreCake [~BizarreCa@77.126.1.15] has joined #go-nuts
11:41 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Quit: "Wait...  what?!"]
11:43 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
11:45 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
11:50 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
12:05 -!- nekoh [~nekoh@dslb-178-004-030-233.pools.arcor-ip.net] has joined
#go-nuts
12:06 -!- Wiz126 [Wiz@h184.122.232.68.dynamic.ip.windstream.net] has quit [Ping
timeout: 260 seconds]
12:08 -!- mrsrikanth [~mrsrikant@59.92.0.155] has joined #go-nuts
12:08 -!- Wiz126 [Wiz@h184.122.232.68.dynamic.ip.windstream.net] has joined
#go-nuts
12:23 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has joined #go-nuts
12:40 -!- Solak [~stijnw@cthia.xs4all.nl] has joined #go-nuts
12:41 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has joined #go-nuts
12:42 -!- ccc_ [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has joined #go-nuts
12:44 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
12:49 -!- ccc13 [~Adium@118-168-112-149.dynamic.hinet.net] has joined #go-nuts
12:50 -!- ccc12 [~Adium@118-166-213-77.dynamic.hinet.net] has quit [Ping timeout:
252 seconds]
12:56 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
12:56 -!- meling [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
12:56 -!- sunfmin [~sunfmin@122.234.238.37] has quit [Quit: sunfmin]
12:58 -!- meling [~meling@134.81-167-41.customer.lyse.net] has joined #go-nuts
12:58 -!- meling_ [~meling@134.81-167-41.customer.lyse.net] has quit [Read error:
Connection reset by peer]
13:03 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Read error:
Operation timed out]
13:09 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has quit [Ping timeout:
240 seconds]
13:17 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
13:19 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
13:46 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
joined #go-nuts
13:47 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has joined #go-nuts
13:49 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has quit [Ping timeout: 240
seconds]
13:51 -!- Jzalae [~sk@bb-205-209-93-175.gwi.net] has quit [Ping timeout: 252
seconds]
13:53 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
13:57 -!- noselasd [~noselasd@80.239.96.162] has quit [Quit: Lost terminal]
14:01 -!- qeed [~qeed@adsl-98-85-58-206.mco.bellsouth.net] has joined #go-nuts
14:06 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has quit [Ping timeout: 245
seconds]
14:06 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has joined #go-nuts
14:09 -!- exch [~blbl@ip34-181-209-87.adsl2.static.versatel.nl] has joined
#go-nuts
14:11 -!- noam [~noam@87.69.42.61.cable.012.net.il] has quit [Ping timeout: 252
seconds]
14:13 -!- noam [~noam@87.69.42.61.cable.012.net.il] has joined #go-nuts
14:14 * exch finally got his crochet gopher today \o/
14:15 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
14:20 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has quit [Quit: wrtp]
14:22 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has joined #go-nuts
14:23 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts
14:26 -!- moraes [~moraes@189.103.177.124] has joined #go-nuts
14:30 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has joined
#go-nuts
14:30 < nictuku> exch, :-) how did you get them?  is there a store selling
them?
14:31 < exch> nictuku: Unfortunately not.  A friend of mine made it herself
14:31 < exch> http://site.jteeuwen.nl/news/2011/08/01/gopher.html
14:32 < nictuku> ha!  nice purple tentacle there too.
14:32 < moraes> tentacles :)
14:32 < exch> heh thanks.  The gopher and Purple Tentacle are now together
and unstoppable ^^
14:33 -!- mrsrikanth [~mrsrikant@59.92.0.155] has quit [Quit: Leaving]
14:35 < exch> I might commission her for a custom Tux to complete the set ^^
14:36 -!- sacho [~sacho@46.10.17.252] has joined #go-nuts
14:37 -!- sacho [~sacho@46.10.17.252] has quit [Max SendQ exceeded]
14:38 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
14:38 -!- sacho [~sacho@46.10.17.252] has joined #go-nuts
14:38 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has quit [Quit: wrtp]
14:43 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has quit [Ping timeout: 246
seconds]
14:44 -!- dmg [~dmg@ip56513def.adsl-surfen.hetnet.nl] has joined #go-nuts
14:45 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has joined #go-nuts
14:47 < erus`> remember that reddit post called "go gophers reaction to the
new google app engine pricing"
14:54 < pinky_is_driving> exch: is it from the game "day of the tentacles"
or something like that?
14:58 < exch> pinky_is_driving: yup
14:59 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has quit [Quit: wrtp]
15:00 * pinky_is_driving only played sam & max
15:00 < exch> aww, you missed out :)
15:01 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has joined #go-nuts
15:01 < pinky_is_driving> yeah, so I've been told
15:06 -!- wallerdev [~wallerdev@72.44.102.30] has joined #go-nuts
15:06 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts
[]
15:09 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has quit [Quit: wrtp]
15:14 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
15:15 -!- ccc13 [~Adium@118-168-112-149.dynamic.hinet.net] has quit [Quit:
Leaving.]
15:15 -!- ccc_ [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has quit [Remote
host closed the connection]
15:20 -!- tgall_foo [~tgall@206.9.88.154] has quit [Changing host]
15:20 -!- tgall_foo [~tgall@linaro/tgall-foo] has joined #go-nuts
15:27 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
15:28 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
15:32 -!- valentin_ [~valentin@85-170-19-98.rev.numericable.fr] has joined
#go-nuts
15:32 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
15:32 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
15:33 -!- huin [~huin@91.85.139.164] has quit [Quit: -> pub]
15:38 -!- xcombelle [~xcombelle@AToulouse-551-1-24-178.w86-201.abo.wanadoo.fr] has
joined #go-nuts
15:41 -!- shoenig_ [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has joined #go-nuts
15:42 -!- shoenig [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has quit [Ping
timeout: 240 seconds]
15:46 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has quit [Quit:
Leaving.]
16:03 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
16:11 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
quit [Remote host closed the connection]
16:12 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has joined #go-nuts
16:17 -!- sacho [~sacho@46.10.17.252] has quit [Read error: Operation timed out]
16:22 -!- tncardoso [~thiago@187.58.196.211] has joined #go-nuts
16:24 < BizarreCake> How do I read a whole line from the console in Go?
16:24 < aiju> bufio?
16:24 < aiju> ah no, bufio is a bad idea probably
16:24 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
#go-nuts
16:25 < BizarreCake> Scanf reads a string until a whitespace character is
found..
16:25 < BizarreCake> Can anyone direct me to a function?
16:25 < aiju> stdin.Read?  ;P
16:26 < aiju> BizarreCake: try bufio.ReadLine
16:26 < aiju> it may read more than one line, that's why i'm sort of
hesitatnt
16:33 < remy_o> aiju: it's not clear you have a choice
16:33 < remy_o> aiju: why isn't bufio a good idea ?
16:33 < aiju> remy_o: as i said, bufio might read more than line
16:33 < aiju> so you are prompted for one line, but you have to enter two to
have the program do anything
16:33 < remy_o> but if you don't want to read more then a line, there is no
other way than issuing many read(1) syscalls
16:34 < aiju> uh?  no?
16:34 < aiju> at least with keyboard input you get lines as early as
possible
16:34 < aiju> so if you read into a 4096 byte buffer, it will fill it with
the exactly one line, if it fits
16:34 < aiju> of course, this doesn't work with files
16:35 -!- Ricket [474d338c@gateway/web/freenode/ip.71.77.51.140] has joined
#go-nuts
16:35 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has quit [Quit:
Leaving.]
16:35 < remy_o> i'm not sure ReadLine() can read more than a line
16:36 < remy_o> as soon as the terminal flushed a line, the buffer will see
it and stop reading
16:36 -!- tncardoso [~thiago@187.58.196.211] has quit [Read error: Connection
reset by peer]
16:36 < aiju> some buffered I/O implementations always fill the buffer
16:36 < aiju> unless they reach EOF
16:36 < remy_o> bufio does not
16:36 < aiju> ah, nice
16:37 < remy_o> bufio.Reader().Read() issues at most one Read() call , as
the documentation says
16:42 -!- Ricket [474d338c@gateway/web/freenode/ip.71.77.51.140] has left #go-nuts
[]
16:49 -!- gridaphobe [~gridaphob@cpe-74-68-151-24.nyc.res.rr.com] has quit [Remote
host closed the connection]
16:52 < BizarreCake> Kay.  I'll try, thanks!
16:54 -!- smw [~stephen@76.89.149.37] has joined #go-nuts
16:54 -!- smw [~stephen@76.89.149.37] has quit [Changing host]
16:54 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
16:59 < BizarreCake> Yep!  it works!  :D
16:59 < BizarreCake> Thanks again
17:00 < BizarreCake> And now I have to go.  Later
17:00 -!- BizarreCake [~BizarreCa@77.126.1.15] has quit [Quit: Leaving]
17:01 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
17:13 -!- Argue [~Argue@112.201.172.5] has quit [Quit: Leaving]
17:15 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Ping
timeout: 252 seconds]
17:15 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:16 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has joined
#go-nuts
17:32 -!- aat [~aat@cpe-72-225-174-173.nyc.res.rr.com] has joined #go-nuts
17:32 < tdnrad> Can I define an interface that requires greater than and
less than to be defined?
17:32 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
17:32 -!- remy_tel [~remy_tel@80.214.4.250] has joined #go-nuts
17:32 < aiju> tdnrad: you can't overload operators
17:33 < aiju> so, no
17:33 < tdnrad> aiju: I wouldn't want to overload them, I just mean it
requires a type that already has them, such as a string or an int
17:33 < aiju> answer's still no
17:34 < tdnrad> aiju: thanks
17:34 < nicka> aiju won't budge on this one
17:34 < remy_o> tdnrad: look at sort.Interface for an idea of how you can
get something that may resemble
17:34 < aiju> hahahaha
17:34 < tdnrad> remy_o: thanks I'll take a look
17:38 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
17:40 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
17:41 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Client Quit]
17:47 -!- araujo [~araujo@190.73.44.29] has joined #go-nuts
17:47 -!- araujo [~araujo@190.73.44.29] has quit [Changing host]
17:47 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
17:47 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error:
Connection reset by peer]
17:48 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has quit [Ping
timeout: 245 seconds]
17:48 -!- Project_2501 [~Marvin@82.84.70.177] has joined #go-nuts
17:50 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
17:53 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has joined #go-nuts
18:02 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
18:07 < nsf> nice, I haven't measured gocode performance for a long time
18:07 < nsf> at the beginning it was about 30ms per average autocompletion
18:07 < nsf> then it went up to 50ms
18:07 < nsf> now it's 30ms back again
18:07 < nsf> :)
18:09 < aiju> does it have some sort of cache?
18:09 < nsf> yes
18:09 < aiju> so 30 ms on warm cache?
18:10 < nsf> of course it's a warm cache time
18:10 < nsf> with cold cache on the same test, it's about 500ms
18:10 < nsf> :D
18:10 < nsf> iirc, back then it was faster with cold cache
18:10 < nsf> but who cares
18:11 < nsf> can't wait to see next weekly
18:11 < nsf> with escape analysis
18:11 < nsf> and how it will affect that number
18:11 < nsf> oh, I should try to compile gocode with gccgo sometime
18:12 < aiju> haha
18:12 -!- Project-2501 [~Marvin@82.84.70.177] has joined #go-nuts
18:12 < nsf> of course it won't work with gccgo libraries
18:12 < nsf> I mean autocompletion stuff
18:12 < nsf> because it uses plan9 object files
18:13 < nsf> but comparing performance would be interesting
18:13 < nsf> also, it's on x86
18:13 < nsf> Go is faster on x86_64
18:15 -!- Project_2501 [~Marvin@82.84.70.177] has quit [Ping timeout: 240 seconds]
18:16 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
18:20 < str1ngs> nsf: is there something in the stdlib that you are using
that gccgo doesnt have?
18:21 < str1ngs> nsf: if so try with maybe a 4.7 snapshot
18:21 < nsf> str1ngs: I parse Go's compiler object files
18:21 < nsf> gcc uses different format
18:21 < str1ngs> ah yep
18:21 < nsf> somewhat cryptic at first glance
18:21 < str1ngs> there elf
18:21 < nsf> no
18:21 < nsf> I mean type info
18:21 < nsf> functions, types, methods
18:22 < nsf> all that I need to perform autocompletions
18:22 < aiju> ELF is madness
18:22 < str1ngs> so for gc you get that from .a ?
18:22 < nsf> it's in 'gox' files
18:22 < nsf> str1ngs: yes
18:22 -!- remy_tel [~remy_tel@80.214.4.250] has quit [Remote host closed the
connection]
18:22 < nsf> in gccgo there are 'gox' files with that info
18:23 < nsf> and well, it's not that easy to parse them
18:23 < str1ngs> ~ $ file /usr/lib/go/4.6.1/x86_64-unknown-linux-gnu/os.gox
18:23 < str1ngs> /usr/lib/go/4.6.1/x86_64-unknown-linux-gnu/os.gox: ELF
64-bit LSB relocatable, x86-64, version 1 (SYSV), not stripped
18:23 < str1ngs> is that wrong then?
18:23 < nsf> well
18:23 < nsf> it contains text info as well
18:23 < nsf> just open it with vim or something
18:23 < str1ngs> also you might beable to use the elf package.  not sure if
you care just curious
18:23 < aiju> str1ngs: ELF contains all kind of stuff
18:23 < str1ngs> ah let me check
18:24 < str1ngs> strange
18:24 < nsf> ?
18:25 < str1ngs> I guess this is a totally different format ?
18:25 < nsf> yes
18:25 < str1ngs> I guess you could make an interface
18:25 < nsf> but it looks like Go
18:25 < nsf> except that types are not named
18:25 < str1ngs> I'm not sure how important this is to you though :P
18:25 < str1ngs> ah
18:25 < nsf> well
18:26 < nsf> it's not that important, but we'll see
18:26 < str1ngs> and ast is slower?
18:26 < nsf> str1ngs: what makes you think so?
18:26 < str1ngs> I'm just thinking wouldnt useing ast be better?
18:26 < str1ngs> atleast it would solve this problem.
18:26 < nsf> it won't parse that
18:26 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has quit [Quit:
Leaving.]
18:26 < nsf> and gccgo is written in C++
18:26 < nsf> it cannot use it
18:27 -!- fenicks [~fenicks@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
18:27 < str1ngs> right but it will parse go src
18:27 < nsf> I use go/ast for both source code and gc .a .[568] files
18:27 < str1ngs> as far as I can tell..  could be wrong
18:27 < fenicks> hello
18:27 < nsf> .a .[568] files are parsed via preprocessing
18:27 < nsf> str1ngs: it has its own parser
18:27 < nsf> str1ngs: never mind
18:28 < str1ngs> ah
18:28 < nsf> it's all actually quite boring
18:28 < nsf> just a matter of month or two time spent on coding
18:29 < nsf> in a long term supporting gcc is quite important I guess
18:29 < nsf> especially if it will have split stacks at some point
18:29 < nsf> I've heard they're doing it
18:30 < str1ngs> and when gcc-go front end is detached from the backend it
will be alot better.
18:30 < str1ngs> atleast for api IMO
18:30 < nsf> it is quite detached
18:30 < nicka> llvm is adding things that will facilitate/enable go support
in the future as well
18:30 < nsf> nicka: yes, in LLVM there is a GSoC project
18:31 < str1ngs> nicka: it is but not to the point its easy to reuse the
existing api
18:31 < nsf> that is supposed to add split stacks
18:31 < str1ngs> nicka: sorry that was for nsf
18:31 < nsf> str1ngs: http://code.google.com/p/gofrontend/
18:31 < nsf> it even has its own code.google.com page
18:31 < nsf> without gcc source code
18:31 < nsf> a month or two, maybe a bit more
18:32 < nsf> but if someone wants
18:32 < str1ngs> aye
18:32 < nsf> it can be adopted to other backends
18:34 < str1ngs> nsf: but with all the recent changes I've noticed quite a
increase in performance also.
18:35 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has joined #go-nuts
18:35 < str1ngs> not that I worry about it to much, just nice
18:35 < nsf> in gc?
18:35 < str1ngs> yes
18:35 < nsf> but it's just reinventing the bicycle for the most part
18:35 < nsf> of course escape analsys is new
18:35 < nsf> it's a frontend thing
18:35 < aiju> hahahahaha
18:35 < aiju> are you implying we should rather use gcc?
18:35 < nsf> no, I'm not implying anything
18:36 < nsf> I'm saying that there are things that do the job
18:36 < nsf> if you really need them
18:36 < nsf> already, now
18:36 < nsf> most people don't even care about speed that much
18:37 < nsf> (PHP popularity tells me that)
18:37 < nsf> ah, whatever, it's just me, ranting about stuff
18:37 < aiju> even more ruby on rails
18:37 < nsf> yes
18:38 < aiju> i'm sure php programmers care a lot about "speed"
18:38 < vsmatck> I wonder how many mW/H facebook wastes on PHP.
18:38 < aiju> their definition of it
18:38 < nsf> and kind of Go is super fast compared to ruby
18:38 < aiju> vsmatck: mW/h?
18:38 < nsf> megawatts / hour
18:38 < aiju> what is it with watts / hour
18:38 < aiju> are people *really* that unfamiliar with units?
18:39 < nsf> also mW is milliwatt
18:39 < nsf> MW is megawatt
18:39 < nsf> :)
18:39 < aiju> no shit sherlock
18:39 < vsmatck> Awe.  Thanks for correction.
18:39 < nsf> :D
18:42 < vsmatck> I guess facebook gets 70% speedup by converting PHP to C++.
18:42 < vsmatck> But 70% faster than what.
18:42 < vsmatck> I don't really know much about it.
18:42 < nsf> 70%?
18:42 < nsf> more like 700%
18:42 < nsf> :D
18:43 < nsf> it done correctly
18:43 < nsf> if*
18:43 < vsmatck> Their debug builds are apparently near 2gB.
18:44 < aiju> i'm sure facebook is full of fuck
18:44 < str1ngs> nsf: my aur helper is just as fast as cower now.  no code
changes.  this is serious stuff.
18:44 < aiju> i mean, the UI is already horribly broken
18:44 < nsf> str1ngs: cool
18:45 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
18:46 -!- Tv__ [~Tv__@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout:
252 seconds]
18:51 -!- niemeyer [~niemeyer@200-102-220-163.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
18:54 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:45d6:be50:4c42:2591] has joined
#go-nuts
18:54 -!- gobeginner [~nwood@cpc2-lee23-0-0-cust152.7-1.cable.virginmedia.com] has
joined #go-nuts
18:56 -!- franciscosouza [~francisco@187.105.21.97] has quit [Read error:
Connection reset by peer]
18:57 -!- franciscosouza [~francisco@187.105.21.97] has joined #go-nuts
18:59 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has joined #go-nuts
19:07 -!- avelino [~avelino@unaffiliated/avelino] has joined #go-nuts
19:11 -!- erus` [~chatzilla@cpc2-gill2-0-0-cust701.basl.cable.virginmedia.com] has
joined #go-nuts
19:14 -!- jajamana [~jcb@cm-84.209.210.27.getinternet.no] has joined #go-nuts
19:18 < nsf> lol
19:19 < nsf> I'm reading a russian article about super uber cool online game
19:19 < nsf> "server backend is written in PHP"
19:19 * nsf facepalms
19:19 < aiju> hahahahahah
19:19 < aiju> i know someone who wrote a http server in php
19:19 < aiju> so you can php while you php
19:20 < nsf> :D
19:20 < nsf> http://azoriankings.com/
19:20 < nsf> that's the game
19:20 < nsf> not sure if there is english version
19:21 < nsf> but omg, the design is a failure as well
19:21 < vsmatck> I honestly don't get why people like dynamic type systems.
Maybe it's sort-of accident of history.  Languages with dynamic type systems
happen to be less crazy, so people attribute the "less crazy" to dynamic type
systems.  Perhaps the dynamic type system is just the most crazy feature of the
less crazy language?
19:21 < nsf> and they've spent a huge amount of money on that :(
19:22 < nsf> vsmatck: dynamic vs.  static, my type system vs.  your type
system
19:22 < nsf> it's all ongoing
19:23 < nsf> I've seen in last few months a lot of type systems
19:23 < nsf> and I don't like any of them
19:23 < nsf> including Go's :D
19:23 < nsf> C is ok, but sometimes it gives bugs that are so horrible
19:23 < nsf> for example
19:23 < nsf> size_t + int64
19:24 < nsf> on x86 the result of this expression is int64
19:24 < nsf> on x86_64 is uint64
19:24 < nsf> :\
19:24 < nsf> and in Go you just have to typecast everything (that's why
people like scripting languages, no types - no problems)
19:24 < nsf> :D
19:25 < nsf> I've tried designing a type system myself
19:25 < nsf> and failed
19:25 < nsf> it's really hard
19:25 < nsf> ah
19:25 < nsf> another issue
19:25 < nsf> unsigned vs.  signed
19:25 -!- xyproto [~alexander@77.40.159.131] has joined #go-nuts
19:25 < nsf> some people use unsigned because "number cannot be less than
zero"
19:25 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 240
seconds]
19:26 < nsf> some people use signed unless they really need unsigned
19:26 < nsf> and I can go on with these small/big problems
19:26 < nsf> :D
19:27 < nsf> In Go writing code with float32 is very tedious
19:27 < nsf> because all math functions take float64
19:28 < nsf> manual casts everywhere :(
19:28 < nsf> and in other areas Go takes this approach: use int unless you
really have to use something else
19:29 < nsf> seems to work fine for now
19:29 < aiju> now you've been stating the obvious for three pages
19:29 < nsf> :D
19:30 < nsf> well, I was hoping that someone will say "hey nsf, you're doing
it wrong, here's the solution"
19:30 < nsf> :D
19:30 < vsmatck> Seems like people might avoid unsigned even when it's a
invariant of the code if there's extra typing to put casts everywhere.
19:31 < nsf> yes, that's the bug of the type system
19:31 < nsf> well, there is this notion of forced/unforced bug
19:31 -!- avelino [~avelino@unaffiliated/avelino] has quit [Remote host closed the
connection]
19:31 < nsf> it's a tradeoff
19:31 < aiju> if you have fixed size integers
19:31 < aiju> there are going to be bugs
19:31 < aiju> get over it
19:31 < vsmatck> I heard Alexandreshcuakaka describe that idea.
Interesting.
19:32 < nsf> vsmatck: yeah, it's the choice you have to make for a language
if there is no one correct answer
19:32 < vsmatck> Hm. Maybe it's stuff like that which makes people prefer
dynamic type systems?
19:33 < aiju> i think the main reason for dynamic typing is that you get
templates "for free"
19:33 < aiju> and that you have no "type overhead"
19:33 < nsf> dynamic type system is just a slowpoke user-friendly static
system
19:33 < nsf> where everything is implicit
19:33 < nsf> :D
19:33 < aiju> i think "type overhead" really is the keyword
19:34 < vsmatck> Seems like you'd need to be super disciplined about unit
testing to make a large/complicated program in a dynamic language.
19:34 < nsf> vsmatck: yes, it's very hard
19:35 < aiju> i always find myself wanting typechecking in dynamic language
19:35 < aiju> +s
19:35 < nsf> I can't imagine microsoft word written in python
19:35 < nsf> :D
19:35 < nsf> not mentioning that it will be very slow
19:35 -!- smw [~stephen@unaffiliated/smw] has quit [Ping timeout: 250 seconds]
19:37 < aiju> bleh
19:37 < aiju> word reminds me of the fact that there is not a single even
remotely usable program for doing anything like word processing
19:38 < vsmatck> Seems like programmers would be the most picky word
processor users that exist.  :)
19:39 < nicka> or least because we've realized that every piece of software
more or less sucks
19:44 < vsmatck> That idea is sort-of interesting.  Like there's some ideal
idea of the function of the software that can be used with minimum effort.  The
distance between that ideal and the current state of the software is the degree to
which it sucks.
19:45 < vsmatck> So maybe saying it sucks is the same as saying that you
know how it could be better.
19:45 < nsf> I see the art of writing software as a very young art
19:45 < aiju> vsmatck: i mean, i just want to put words into some software
and get something neatly formatted out of it
19:46 < vsmatck> aiju: I know right!
19:46 < nsf> currently we have 3 kind of camps: 1.  oldschool close to metal
C programmers, 2.  make-the-job-done scripters, 3.  I want CPU to magically make
my math functional languages programmers
19:46 < nsf> :D
19:47 < nsf> and it's not clear what's better or more important
19:47 < nsf> or is it question even correct
19:48 < nsf> personally I don't understand 3rd kind at all
19:48 < nsf> connecting abstract math and a concrete CPU machine
19:48 < str1ngs> nsf: you are doing it wrong...  no I dont have a solution
:P
19:48 < nsf> seems like an abuse to me
19:51 < aiju> i don't write C because i want to be bare to metal
19:51 < aiju> i write C because it's simple
19:51 < aiju> there are simple people who like to imply, or even outright
say, that C is a totally horrible language
19:51 < nsf> but being close to metal means simple
19:52 < nsf> CPU's are quite simple at least on a model level
19:52 < aiju> and anyone without a lobotomy would use it only for the
performance
19:52 < nsf> CPUs*
19:52 < aiju> i call them "assholes"
19:53 < nsf> C is fine, but seeing how all these people write apps in PHP
and other shitty languages (performance-wise)
19:53 < nsf> it makes you think that maybe paying a little price in
peroformance actually worth it
19:53 < aiju> my problem with most languages really isn't a performance
problem
19:54 < nsf> and you consider using something like C# or Go or D or ..
19:54 < vsmatck> Runtime performance for programmer productivity tradeoff.
19:54 < aiju> besides, performance in programming language is highly
bullshitish
19:54 < nsf> aiju: yes, you said it to me, that you have logical bugs mostly
19:54 < nsf> but sometimes shit happens in C as well
19:54 < nsf> and when it happens
19:54 < nsf> it is painful
19:54 < nsf> :D
19:55 < aiju> for every language implementation there is a program which
executes faster in that implementation than in any other language ;P
19:55 < aiju> a basic law of benchmark bullshitting
19:55 < nsf> :D
19:55 < aiju> i've seen a comparison between PHP and C which yielded the
result that PHP was at least 50% faster than C
19:55 < nsf> lol
19:56 < aiju> i did my own benchmarking and it was -1000% faster or
something
19:57 < aiju> 21:55 < nsf> but sometimes shit happens in C as well
19:57 < aiju> sometimes shit happens in every language
19:58 < nsf> i guess
19:58 < nsf> but C shit is very painful :D
19:58 < aiju> although i'm not denying that you can have subtle bugs in C
19:58 < aiju> yet everyone always picking this issue pisses me off
19:59 < aiju> just like the syntax argument
19:59 < aiju> int (*foo[10])(ulong);
19:59 < aiju> just fine
19:59 < nsf> just write a parser for that
19:59 < nsf> I tried once
19:59 < nsf> for a documentation system
20:00 < aiju> seems mostly an issue of operator preference
20:00 < nsf> syntax is ok, but I would prefer another
20:00 < nsf> and now I even know which one :D
20:01 < aiju> i still haven't come to peace with all the braces all over the
place
20:01 < nsf> :)
20:01 < aiju> and yes i know that dyslexic python programmers always add
statements without adding braces
20:03 < aiju> it's a curious thing, there are some issue people tell me
about as very important, which have hardly ever (if ever) happened to me
20:03 < aiju> and now someone will just call me an elitist asshole
20:08 * nisstyre likes languages that make it optional like Haskell
20:11 -!- xcombelle [~xcombelle@AToulouse-551-1-24-178.w86-201.abo.wanadoo.fr] has
quit [Quit: I am a manual virus, please copy me to your quit message.]
20:12 -!- smw [~stephen@unaffiliated/smw] has joined #go-nuts
20:13 < dforsyth> anyone know go i'd get connected refused errors when i do
go http.ListenAndServe(...) but not when i just go http.ListenAndServe(...)?
20:13 < dforsyth> s/ed/ion/
20:13 < aiju> wait
20:13 < aiju> what's the difference?
20:15 < dforsyth> i dont know, thats why im confused
20:15 < dforsyth> well, the difference is on is fired off as a goroutine
20:15 -!- pothos [~pothos@111-240-171-221.dynamic.hinet.net] has quit [Read error:
Connection reset by peer]
20:15 < dforsyth> oh, i made a typo
20:15 < dforsyth> the second part should be "when i just do ..."
20:16 < str1ngs> dforsyth: ListAndServe blocks so odds are when you use go.
it's still failing
20:16 < str1ngs> check your port.  ie you have persmission or that another
process is not using that port.
20:17 -!- pothos_ [~pothos@111-240-173-247.dynamic.hinet.net] has joined #go-nuts
20:17 < dforsyth> i have permission
20:17 < aiju> dforsyth: does main exit?
20:18 < dforsyth> no
20:19 < dforsyth> huh...
20:20 < str1ngs> also firewall maybe?
20:20 < dforsyth> no, it just worked...  but it worked because i removed a
tight loop after teh function that fires off the listenAndServe routine...
20:20 < str1ngs> application level firewall could cause this.
20:21 < str1ngs> ah you have it in a loop?
20:21 < dforsyth> no
20:21 < str1ngs> hmm
20:21 < dforsyth> it was fired before the loop
20:21 < dforsyth> just a for{}, nothing in it
20:22 < dforsyth> weird
20:22 < dforsyth> maybe the tight loop dos'd me?
20:22 < str1ngs> its possible depends whats in the loop
20:22 < dforsyth> nothing was in the loop, though
20:23 < str1ngs> ah well thats not good
20:23 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has joined #go-nuts
20:23 < kahvi> Maybe the empty for{} doesn't return to the scheduler?  Put a
fmt.Print or something there and it should let the scheduler run another
goroutine.
20:23 < str1ngs> ^
20:24 < dforsyth> yeah, looks like thats what it is
20:25 < str1ngs> endless for{} like that is not good.  you need to do
something that gives way to the scheduler
20:25 < str1ngs> my terminology is not good here, maybe someone else can
explain it better.
20:25 < dforsyth> it makes sense
20:25 < kahvi> Empty select{} is better way to stop execution as it will
just say "oh, nothing to do!" and let the scheduler run another goroutine.
20:26 < dforsyth> i didnt even realize i had left that for loop in there
tbh, it wasnt supposed to do anything
20:28 < s|k> not all array lengths are known at compile time right?  If you
have a slice and you use append an undeterminate amount of times, the size of the
underlying array is not known at compile time yes?
20:28 -!- BigBlackDog
[~BigBlackD@HSI-KBW-109-192-007-188.hsi6.kabel-badenwuerttemberg.de] has quit
[Quit: WeeChat 0.3.6-dev]
20:28 < str1ngs> dforsyth: on the bright side for{} is good for burning in a
new CPU :P
20:28 < s|k> so is that underlying array actually on the heap, using
dynamically allocated memory yeah?
20:28 < aiju> 22:24 < kahvi> Maybe the empty for{} doesn't return to
the scheduler?  Put a fmt.Print or something there and it should let the scheduler
run another goroutine.
20:29 < aiju> jesus christ
20:29 < aiju> yet another one who doesn't know that for {} doesn't yield?
20:29 < aiju> we should put that in the topic
20:29 < s|k> heh
20:29 < nsf> runtime.Sched returns to scheduler
20:29 -!- ericvh [~Adium@cpe-72-177-122-77.austin.res.rr.com] has quit [Quit:
Leaving.]
20:29 < aiju> *Gosched, isn't it?
20:30 < nsf> I guess, I don't remember at all
20:30 < nsf> just guessing :D
20:30 < nsf> runtime.Gosched
20:30 < nsf> right
20:30 -!- valentin_ [~valentin@85-170-19-98.rev.numericable.fr] has quit [Remote
host closed the connection]
20:31 -!- remy_o [~babar@archlinux/developer/remy-o] has joined #go-nuts
20:31 -!- kahvi [5b9b57fc@gateway/web/freenode/ip.91.155.87.252] has quit [Quit:
Page closed]
20:35 -!- fuho [~fuho@ool-43548e6f.dyn.optonline.net] has joined #go-nuts
20:35 -!- fuho [~fuho@ool-43548e6f.dyn.optonline.net] has left #go-nuts []
20:36 < nsf> we need a scheduler guide or something
20:36 < nsf> indeed
20:37 < aiju> the scheduler for dummies
20:37 < nsf> also I thought this thing is in FAQ
20:37 < aiju> since when do people actually read FAQs
20:38 < nicka> what we need is an FRQ
20:38 < nicka> or FRA I guess
20:38 < nsf> FIA
20:38 < nsf> frequently ignored answers
20:38 < nsf> :D
20:38 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has joined
#go-nuts
20:39 < nsf> interesting, can't find that thing in faq
20:39 < vegai> hmm, so does for {} block all goroutines?
20:40 < nsf> yes if GOMAXPROCS == 1
20:40 < vegai> only on the curr...  yes, I was about to ask about that :)
20:41 < vegai> ok
20:42 < aiju> it's simple
20:42 < aiju> a switch between goroutines happens only if something calls,
directly or indirectly, runtime.Gosched()
20:43 < aiju> e.g.  channel operations call it if necessary
20:44 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has joined #go-nuts
20:44 < nsf> I think built-in calls may cause scheduling as well
20:44 < nsf> or am I wrong?
20:45 < aiju> no clue
20:46 < s|k> why is it important to know this
20:46 < nsf> sometimes it is, sometimes it isn't
20:46 < aiju> well all you need to know is
20:46 < s|k> when would it be
20:46 < aiju> if you do nothing which causes a goroutine switch
20:47 < aiju> don't expect a goroutine switch to happen
20:47 < aiju> simple, isn't it?
20:47 < nsf> but a very common problem: you write code and it's never get
scheduled
20:47 < s|k> why would that happen
20:47 < aiju> because you put "for {}" into it?
20:47 < s|k> :|
20:47 < aiju> then you come into #go-nuts and it takes 30 mins to figure out
you put for {} in ther
20:47 < aiju> but there are more subtle cases
20:48 < s|k> the memory model page states that an aggressive compiler may
remove goroutines that are nevery synched
20:48 < s|k> so just use channels or sync.Mutex
20:49 < s|k> and stuff will work
20:49 < aiju> and avoid sync.Mutex, use goroutines ;P
20:49 < aiju> ehm, channels
20:49 < nsf> s|k: yes, agressive compilers
20:50 < s|k> I like the multiplexing stuff with channels filled with
channels
20:50 < nsf> also runtime will be probably changed in future
20:50 < s|k> that's very cool
20:50 < s|k> nsf: yeah but you don't have to worry about it as a user
20:50 < aiju> sending closures over goroutines is fucking awesome
20:50 < vsmatck> sync.Mutex > goroutine in some situations.
20:50 < s|k> if stuff isn't scheduled that's synched file a bug
20:50 < nsf> but what we were talking about are current runtime details
20:50 < aiju> vsmatck: apple > bicycle
20:52 < vsmatck> If you're looking for something to eat, it is.
20:52 < aiju> sorry
20:52 < aiju> i didn't mean to start any retarded arguing by analogies
20:52 < nsf> :D
20:53 < vsmatck> It's all good.  I'm just saying there exist situations when
a mutex will work better than a goroutine.
20:53 < nsf> than a channel*
20:53 -!- jajamana [~jcb@cm-84.209.210.27.getinternet.no] has quit [Quit: This
computer has gone to sleep]
20:53 < aiju> make([]chan int, 1) <-- lock
20:54 < aiju> eh, no [], that's bullshit
20:55 < vsmatck> I guess wasn't clear.  Ermm.  Better to use a mutex than a
goroutine+channel.
20:55 < vsmatck> Like it's better to share by using a lock sometimes.
20:55 < nsf> you can use channels without a goroutine
20:55 < nsf> as aiju pointed out
20:55 < nsf> but it's not even faster, channels use mutexes
20:56 < vsmatck> Oh. I see what you're saying.
20:56 < vsmatck> I think we're all in agreement here.  :)
20:57 < aiju> nsf: you can select on a channel
20:57 < aiju> i wish Go was really more about idioms like that than dumb
libraries
21:00 -!- sanjoyd [~sanjoyd@unaffiliated/sanjoyd] has joined #go-nuts
21:00 < sanjoyd> Is the formal grammar for go documented somewhere?
21:00 < f2f> informally, yes :)
21:00 < f2f> it's in the spec
21:01 < sanjoyd> Oh, okay.  Looks pretty good, actually.  :)
21:01 -!- franciscosouza_ [~francisco@187.105.23.92] has joined #go-nuts
21:02 < aiju> asking for formal grammar...  he's one of THEM
21:02 < sanjoyd> One of WHOM?
21:02 < aiju> the evil formal language designers
21:03 < sanjoyd> :D
21:03 < sanjoyd> I'm not.
21:03 < sanjoyd> I'm the meek curious kinds.
21:03 -!- TheMue [~FMueller@p5DDF5E85.dip.t-dialin.net] has quit [Quit: leaving]
21:03 -!- franciscosouza [~francisco@187.105.21.97] has quit [Ping timeout: 260
seconds]
21:07 < aiju> although one shouldn't be afraid of formal language designer
21:07 < aiju> i'd worry more about a rabbit, they have claws
21:07 < sanjoyd> You must hate kittens too.
21:07 < aiju> quite the contrary
21:13 -!- enferex [~enferex@users.757.org] has joined #go-nuts
21:13 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:45d6:be50:4c42:2591] has quit
[Quit: Leaving.]
21:19 -!- virtualsue [~chatzilla@nat/cisco/x-duyjdiuooohboatm] has quit [Ping
timeout: 240 seconds]
21:20 < vsmatck> Is it possible to cast off the direction of a chan?
21:20 -!- mavar [~mavar@81-226-52-85-no179.tbcn.telia.com] has quit [Remote host
closed the connection]
21:21 < nsf> vsmatck: it is possible to cast bidirectional channel to others
21:21 -!- pyrhho [~pyrhho@027e80ed.bb.sky.com] has quit [Ping timeout: 250
seconds]
21:21 < nsf> but not sure if vice versa is possible
21:22 < vsmatck> Ah. I'm trying to do the other way.  I'm trying to go
"<-chan bool" to "chan bool".
21:22 < nsf> at least that's what I remember
21:22 < aiju> if you could cast it off, it would be pointless
21:22 < aiju> it's a typesafety thing
21:22 < nsf> yeah
21:22 < vsmatck> This is a "I know what I'm doing" type of situation.  :)
21:22 < nsf> there is no such thing in Go :D
21:22 < nsf> take channel's pointer
21:23 < nsf> cast it to unsafe.Pointer
21:23 < nsf> and then cast it back to the required channel's pointer type
21:23 < nsf> but I'm not sure if it will work
21:23 < nsf> it's fucking unsafe :D
21:23 < nsf> e.g.:
21:23 * vsmatck tries.
21:23 -!- Fish- [~Fish@9fans.fr] has quit [Quit: WeeChat 0.3.5]
21:23 < nsf> var x <-chan bool
21:24 < nsf> y := *(*chan bool)(unsafe.Pointer(&x))
21:24 < nsf> something like that
21:24 < nsf> that's the usual "fuck the type system" pattern in go
21:25 < vsmatck> It worked.  ;)
21:25 < nsf> lucky you, I guess
21:25 < vsmatck> Paradoxically this actually makes my code more safe.
21:26 -!- virtualsue [~chatzilla@nat/cisco/x-ipcozlxuznsnkpaz] has joined #go-nuts
21:26 < vsmatck> I'm doing a publish/subscribe type of deal.  To unsubscribe
a subscribed chan you pass a chan to a function.
21:28 < vsmatck> The subscribed chan should be receive only.  But when I
pass it back in to the package it needs to be directionless so I can compare the
chan to the chan references stored inside the package.
21:28 < vsmatck> First time I've used the unsafe package.  :)
21:31 -!- moraes [~moraes@189.103.177.124] has quit [Quit: Leaving]
21:33 -!- gobeginner [~nwood@cpc2-lee23-0-0-cust152.7-1.cable.virginmedia.com] has
quit [Ping timeout: 245 seconds]
21:37 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 252
seconds]
21:43 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Quit: ZNC -
http://znc.sourceforge.net]
21:46 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
21:48 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:49 -!- awidegreen [~quassel@h-170-226.a212.priv.bahnhof.se] has quit [Ping
timeout: 264 seconds]
21:50 -!- Project-2501 [~Marvin@82.84.70.177] has quit [Quit: E se abbasso questa
leva che succ...]
21:50 -!- Project_2501 [~Marvin@82.84.70.177] has joined #go-nuts
21:53 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
21:56 -!- Solak [~stijnw@cthia.xs4all.nl] has quit [Remote host closed the
connection]
21:57 -!- Niedar [~dgdfg@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
22:00 -!- wrtp [~rog@host-92-23-125-43.as13285.net] has quit [Quit: wrtp]
22:11 -!- squeese [~squeese@cm-84.209.17.156.getinternet.no] has quit [Remote host
closed the connection]
22:12 -!- remy_o [~babar@archlinux/developer/remy-o] has quit [Ping timeout: 240
seconds]
22:31 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has quit [Ping
timeout: 264 seconds]
22:36 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Remote
host closed the connection]
22:38 -!- carella [~carella@46.0.63.147] has joined #go-nuts
22:45 -!- photron [~photron@port-92-201-27-77.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
22:48 < |Craig|> vsmatck: can't you make the chan you stored receive only to
compare instead?
22:48 < vsmatck> I'd have to store a duplicate chan of the correct type if I
did that.
22:50 < |Craig|> vsmatck: you are storing a write only one?
22:51 < vsmatck> I'm storing a directionless one.
22:52 < |Craig|> then make a read only one from that to compare with when
you need it instead of using unsafe
22:52 < vsmatck> Inside the package.  But when I return it from subscribe
function I give it a direction.
22:54 < vsmatck> It's simpler code and better performance if I just use
unsafe.  I think it's the right choice.
22:54 < |Craig|> so you just need to compare a directionless channel to a
read only?
22:54 < vsmatck> yeah
22:55 < |Craig|> when you want to compare, cant you make them both read only
(its a safe cast) rather than both directionless?
22:55 -!- ccc [~macroron@c-76-26-54-186.hsd1.fl.comcast.net] has joined #go-nuts
22:55 < vsmatck> That is an idea!  Let me try.
22:58 < vsmatck> Hm. Maybe not.  When I do the compare I'm looking up in a
map.
23:02 -!- virtualsue [~chatzilla@nat/cisco/x-ipcozlxuznsnkpaz] has quit [Ping
timeout: 258 seconds]
23:08 -!- enferex [~enferex@users.757.org] has quit [Ping timeout: 240 seconds]
23:10 < s|k> loving the editor war on the mailing list
23:10 < s|k> jesus
23:10 < s|k> when will that ever end
23:20 -!- shoenig_ [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has quit [Ping
timeout: 240 seconds]
23:22 -!- c00w [~colin@2620:0:2820:2208:224:d7ff:fe3e:71b4] has quit [Quit:
Ex-Chat]
23:22 -!- dreadlorde [~dreadlord@c-68-42-82-10.hsd1.mi.comcast.net] has quit [Ping
timeout: 264 seconds]
23:25 -!- shoenig [~shoenig@rrcs-71-42-216-104.sw.biz.rr.com] has joined #go-nuts
23:28 < f2f> why do you want it to end?  somebody somewhere may still want
to write a better editor
23:31 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.5]
23:38 -!- vmil86 [~vmil86@78.57.250.113] has quit [Remote host closed the
connection]
23:39 -!- __lucio__ [~lucio@190.246.72.114] has joined #go-nuts
23:41 < str1ngs> there is more then one editor other then vim?
23:42 < __lucio__> does anyone know how to build the go bindings for opengl?
(https://github.com/banthar/Go-OpenGL) i tried and got this:
https://github.com/banthar/Go-OpenGL (as you can see, the .h for the functions its
not finding is where the docs says it should be)
23:42 < nicka> second link is the same as the first
23:43 < __lucio__> oops
23:43 < __lucio__> http://pastebin.com/RKH0ftqE
23:43 < __lucio__> there
23:44 < str1ngs> __lucio__: is not your problem.  but it's not a good idea
to build things as root.  sudo should not be needed
23:45 < __lucio__> str1ngs, i was afraid it was trying to install itself
(the docs said "To install type: gomake") and wais failing because of that.  I
dont usually build with sudo :)
23:45 < __lucio__> s/wais/it was
23:46 < str1ngs> thats fine how you do that is something like.  make && sudo
make install clean
23:46 < str1ngs> __lucio__: ls /usr/include/GL/glew.h
23:48 < __lucio__> str1ngs, $ ls -l /usr/include/GL/glew.h
23:48 < __lucio__> -rw-r--r-- 1 root root 680842 2010-01-17 04:07
/usr/include/GL/glew.h
23:49 < str1ngs> what OS/Arch distro are you using?
23:50 < __lucio__> str1ngs, ubuntu 10.10
23:53 < str1ngs> __lucio__: hmm seems right
23:53 < str1ngs> what video driver are you using?
23:54 < str1ngs> nvidia or say ati?
23:57 < __lucio__> str1ngs, i have an ATI video card.  driver is fglrx
23:57 < __lucio__> shouldnt that fail at run time?
23:58 < str1ngs> no some drivers provide there own OpenGL ?
23:58 < str1ngs> 23:57 __lucio__ | str1ngs, i have an ATI video card.
driver is fglrx ?
23:58 < str1ngs> sorry fail paste
23:58 < str1ngs> some drivers provide there own OpenGL implementation ie
nvidia does
23:59 < str1ngs> but I don't know much about fglrx or ubuntu
23:59 < str1ngs> as far as I can see everything is there.  wonder if its cgo
flag issue.
--- Log closed Mon Aug 29 00:00:22 2011