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

--- Log opened Wed May 04 00:00:50 2011
00:01 -!- Kafo [~Henry@a91-152-179-101.elisa-laajakaista.fi] has quit [Read error:
Connection reset by peer]
00:02 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
00:21 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
00:34 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
Leaving...]
00:36 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
00:43 -!- foocraft [~ewanas@89.211.248.245] has quit [Quit: Leaving]
00:49 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has joined
#go-nuts
00:49 -!- mikespook [~mikespook@119.131.233.224] has joined #go-nuts
00:52 -!- iant [~iant@67.218.107.213] has quit [Quit: Leaving.]
00:53 -!- l00t [~i-i3id3r_@189.105.102.222] has joined #go-nuts
00:54 -!- foocraft [~ewanas@89.211.248.245] has joined #go-nuts
00:57 < TMKCodes> suggestion to write codewalk on how to handle FormValues,
Cookies and File uploads
01:04 -!- skelterjohn [~jasmuth@c-24-0-97-7.hsd1.nj.comcast.net] has joined
#go-nuts
01:08 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
01:09 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
01:11 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
01:19 -!- Joshwa [~Joshwa@h18.214.213.151.dynamic.ip.windstream.net] has joined
#go-nuts
01:21 -!- Joshwa [~Joshwa@h18.214.213.151.dynamic.ip.windstream.net] has quit
[Client Quit]
01:21 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
01:25 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat
0.3.4]
01:26 -!- skelterjohn [~jasmuth@c-24-0-97-7.hsd1.nj.comcast.net] has quit [Ping
timeout: 248 seconds]
01:34 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:57 -!- ab3 [~abe@ip-83-134-160-54.dsl.scarlet.be] has joined #go-nuts
01:57 -!- cco3 [~conleyo@nat/google/x-gsfwkjlrsehsvinc] has quit [Read error:
Connection reset by peer]
01:58 -!- niemeyer [~niemeyer@189.27.154.170.dynamic.adsl.gvt.net.br] has joined
#go-nuts
02:02 -!- aho [~nya@fuld-590c62ea.pool.mediaWays.net] has quit [Quit: foo]
02:23 -!- niemeyer [~niemeyer@189.27.154.170.dynamic.adsl.gvt.net.br] has quit
[Ping timeout: 240 seconds]
02:28 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
02:29 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
02:40 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
02:40 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
02:41 -!- soapy_illusions [~alex@modemcable005.105-177-173.mc.videotron.ca] has
quit [Quit: Leaving]
02:52 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
02:53 -!- PJRobins [~kvirc@184-100-100-163.mpls.qwest.net] has quit [Quit: KVIrc
4.1.1 Equilibrium http://www.kvirc.net/]
02:54 -!- angasule [~angasule@190.2.33.49] has quit [Remote host closed the
connection]
02:54 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
02:54 -!- niemeyer [~niemeyer@200-102-196-125.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
03:02 -!- Bigbear11 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
03:03 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Ping timeout:
260 seconds]
03:11 -!- Bigbear11 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
03:12 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
03:19 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
03:19 -!- Bigbear11 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
03:24 -!- foocraft [~ewanas@89.211.248.245] has quit [Quit: Leaving]
03:28 -!- fmoo [~Adium@66.220.144.74] has quit [Quit: Leaving.]
03:28 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
03:28 -!- mode/#go-nuts [+v iant] by ChanServ
03:39 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
["Leaving"]
03:40 -!- Bigbear11 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
03:41 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has joined #go-nuts
03:50 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 260 seconds]
03:51 -!- iant [~iant@216.239.45.130] has joined #go-nuts
03:51 -!- mode/#go-nuts [+v iant] by ChanServ
03:54 -!- Bigbear1 [~Cody@d173-181-58-84.abhsia.telus.net] has quit [Ping timeout:
260 seconds]
03:55 -!- niemeyer [~niemeyer@200-102-196-125.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
04:01 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has quit [Quit:
leaving]
04:01 -!- djcapelis [~djc@blender/coder/DJCapelis] has quit [Read error: Operation
timed out]
04:01 -!- comex [comex@c-67-188-10-190.hsd1.ca.comcast.net] has quit [Quit: ZNC -
http://znc.sourceforge.net]
04:02 -!- comex [comex@c-67-188-10-190.hsd1.ca.comcast.net] has joined #go-nuts
04:03 -!- djcapelis [~djc@capelis.dj] has joined #go-nuts
04:03 -!- djcapelis [~djc@capelis.dj] has quit [Changing host]
04:03 -!- djcapelis [~djc@blender/coder/DJCapelis] has joined #go-nuts
04:13 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has joined #go-nuts
04:13 -!- keithgcascio [~keithcasc@nat/google/x-mnjomyekysqubonm] has quit [Quit:
Leaving]
04:13 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
04:17 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:17 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:32 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has quit [Ping
timeout: 240 seconds]
04:34 -!- Garen [noway@69.76.18.3] has quit [Remote host closed the connection]
04:40 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
04:40 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has joined #go-nuts
04:46 -!- steven [~steven@unaffiliated/steven] has joined #go-nuts
04:46 < steven> hahahhah
04:46 < steven> guys
04:46 < steven> the Tree Comparison sample on the home page of golang.org is
broken :D
04:47 <+iant> argh
04:48 < steven> i was trying to fix it but its kind of a complex example
04:49 < steven> and i kinda forgot how the comma-ok pattern works in channel
ops
04:49 <+iant> v, ok = <-c now sets ok to true if it got a value or false
if it did not get a value because the channel is closed
04:49 < steven> oh right.  duh.
04:51 < steven> and to think, im giving a talk on go in 2 weeks
04:51 < steven> :)
04:54 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has joined #go-nuts
04:55 -!- boscop_ [~boscop@g227007087.adsl.alicedsl.de] has joined #go-nuts
04:57 -!- boscop [~boscop@f055014043.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
04:59 < Bigbear1> where?
04:59 < steven> i thought i had a fix but i guess i did it wrong because it
keeps saying [process took too long]
04:59 < steven> oh, im giving my talk in mchenry il
04:59 < steven> its a small group of people
04:59 < Bigbear1> on anything particular?
05:00 < steven> nah, general overview of the pros and cons, and depending on
how quick the crowd is to pick it up, we might touch on channels and goroutines
05:00 < steven> http://scmcmay2011.eventbrite.com/
05:01 < Bigbear1> What are the cons?
05:01 < steven> well it kinda sucks
05:01 -!- enherit [~enherit@24-176-217-66.dhcp.lnbh.ca.charter.com] has joined
#go-nuts
05:03 -!- foocraft [~ewanas@89.211.248.245] has joined #go-nuts
05:03 < Bigbear1> how so?
05:03 < steven> just a lot of little things
05:04 < steven> for one thing, no generics, so we cant write things like
append() ourselves, or map() or reduce() etc
05:04 < steven> which is a big punch in the stomach
05:05 < Bigbear1> because you cannot use the names?
05:05 < steven> um, type names?
05:05 < steven> what?
05:05 < Bigbear1> why can't you write append()
05:06 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: Quit]
05:06 < steven> because you have to write it for every type you will need it
for.
05:06 < Bigbear1> sorry I'm new to Go and *nix for that matter can't even
get Go installed
05:06 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
05:06 < steven> oh.
05:06 < Bigbear1> as apposed to doing what?
05:06 < steven> then you might wanna come to my talk :)
05:07 < Bigbear1> come to Canada
05:07 < steven> fly me there :)
05:07 < Bigbear1> I'm coming from a C/c++ background
05:07 < steven> http://golang.org/doc/go_for_cpp_programmers.html
05:07 < steven> read that, you will enjoy it
05:07 < Bigbear1> yeah I am actually
05:07 < Bigbear1> from your other link
05:08 < Bigbear1> in C++ every class you would have would need an append
function
05:08 < Bigbear1> right?
05:08 < Bigbear1> wether you overload an operaor or w/e
05:08 < steven> the analogy in C++ to the append() function in Go, is an
append() function in C++
05:08 < steven> still just a function, maybe in its own namespace though
05:09 < Bigbear1> yeah I'm not sure
05:09 < Bigbear1> you mean a function which you pass the object that will be
appended and the other object to append to
05:10 < Bigbear1> and it works for all cases?
05:10 < steven> in Go, yes.
05:12 < taruti> Has anyone hacking on the toolchain stumbled on recursive
imports failing?  (importing all the recursively needed packages makes the bug go
away)
05:12 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:15 -!- mikespook [~mikespook@119.131.233.224] has quit [Read error: No route to
host]
05:15 < Bigbear1> steven are they going to fix those small things eventually
05:15 < Bigbear1> or are they like that because of something else
05:15 <+iant> doing something about generics is on the roadmap
05:15 -!- mikespook [~mikespook@119.131.233.224] has joined #go-nuts
05:17 < taruti> so e.g.  importing fmt panics during initialization, but
importing all the packages fmt depends on works, although syscall is not required.
05:19 < steven> Bigbear1: thats something only time will answer for you
<3
05:19 < steven> god bless you all, good night.
05:19 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has joined #go-nuts
05:20 < Bigbear1> what does fmt stand for?
05:26 < Bigbear1> so I installed it but I need to set the $GOROOT
05:26 < Bigbear1> how do I access my .profile
05:27 < zozoR> fmt = format
05:47 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
05:49 -!- tvw [~tv@e176004041.adsl.alicedsl.de] has joined #go-nuts
06:05 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Read error:
Operation timed out]
06:16 -!- ab3 [~abe@ip-83-134-160-54.dsl.scarlet.be] has quit [Ping timeout: 252
seconds]
06:17 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
06:24 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:32 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has quit [Quit:
Leaving.]
06:32 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has joined #go-nuts
06:46 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has joined #go-nuts
07:00 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts
07:03 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
07:05 -!- enherit [~enherit@24-176-217-66.dhcp.lnbh.ca.charter.com] has quit
[Quit: leaving]
07:07 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has quit [Read error:
Connection reset by peer]
07:10 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has quit [Read
error: Operation timed out]
07:11 < vegai> I really kinda wish they changed the name of the language,
though
07:12 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-80.clienti.tiscali.it] has
joined #go-nuts
07:16 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has joined
#go-nuts
07:22 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has joined
#go-nuts
07:25 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 264 seconds]
07:31 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has quit [Read
error: Operation timed out]
07:35 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has quit [Quit:
leaving]
07:36 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has joined
#go-nuts
07:37 -!- dropdrive [~dropdrive@cpe-72-227-159-70.nyc.res.rr.com] has joined
#go-nuts
07:41 -!- Kafo [~Henry@a91-152-179-101.elisa-laajakaista.fi] has joined #go-nuts
07:49 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:50 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
07:52 -!- foocraft [~ewanas@89.211.248.245] has quit [Quit: Leaving]
07:57 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has joined #go-nuts
08:04 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has quit [Read error:
Operation timed out]
08:04 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has joined #go-nuts
08:09 -!- benjack [~benjack@bb121-6-49-43.singnet.com.sg] has quit [Quit:
Leaving.]
08:12 -!- foocraft [~ewanas@89.211.224.113] has joined #go-nuts
08:12 -!- napsy [~luka@193.2.66.6] has joined #go-nuts
08:17 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has quit [Quit:
leaving]
08:19 -!- mikespook [~mikespook@119.131.233.224] has quit [Ping timeout: 240
seconds]
08:25 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-lnyorbccbikywdqh]
has quit [Ping timeout: 248 seconds]
08:26 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-ylsyyynhnxegxavn]
has joined #go-nuts
08:31 -!- mikespook [~mikespook@119.131.233.224] has joined #go-nuts
08:35 -!- foocraft [~ewanas@89.211.224.113] has quit [Quit: Leaving]
08:40 -!- foocraft [~ewanas@89.211.224.113] has joined #go-nuts
08:42 -!- foocraft [~ewanas@89.211.224.113] has quit [Client Quit]
08:43 -!- sebastianskejoe [~sebastian@188.114.142.217] has joined #go-nuts
08:48 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
joined #go-nuts
08:52 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
09:10 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
09:20 -!- sebastianskejoe [~sebastian@188.114.142.217] has quit [Read error:
Operation timed out]
09:29 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has joined #go-nuts
09:30 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has quit [Client Quit]
09:30 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has joined #go-nuts
09:33 -!- mikespook [~mikespook@119.131.233.224] has quit [Quit: Leaving.]
09:41 < Sebastian_> taruti: occasionally that might be caused by wrong order
of imports
09:41 < Sebastian_> tho that would really be a bug in the package(s) you
import
09:45 -!- edsrzf [~edsrzf@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
10:02 -!- Stiletto [7f000001@69.195.144.4] has quit [Ping timeout: 250 seconds]
10:08 -!- Stiletto [7f000001@69.195.144.4] has joined #go-nuts
10:15 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has quit [Ping timeout:
240 seconds]
10:20 -!- napsy [~luka@193.2.66.6] has quit [Quit: leaving]
10:26 -!- wrtp [~rog@92.17.111.113] has joined #go-nuts
10:30 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 260
seconds]
10:36 < ognom> If I have a string that I wish to manipulate by adding a '/'
after every 4th character, what would be the easiest solution to accomplish that?
10:38 -!- Sep102_ [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has joined
#go-nuts
10:42 -!- Sep102 [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has quit [Ping
timeout: 260 seconds]
11:00 < Kafo> Simple http://pastie.org/1863695 comes first to my head
11:01 < Kafo> ognom: But I guess it fails with non-ascii characters.
11:02 < ognom> Kafo: Thanks, I'll check it out
11:15 < ognom> Kafo: Works like a charm, many thanks!
11:18 < Kafo> No problem :)
11:21 -!- l00t [~i-i3id3r_@189.105.102.222] has quit [Quit: Leaving]
11:30 -!- prip [~foo@host91-196-dynamic.17-79-r.retail.telecomitalia.it] has quit
[Ping timeout: 260 seconds]
11:33 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
11:41 -!- artefon [~thiago@187.58.4.179] has joined #go-nuts
11:44 -!- prip [~foo@host200-120-dynamic.42-79-r.retail.telecomitalia.it] has
joined #go-nuts
11:47 -!- artefon [~thiago@187.58.4.179] has quit [Ping timeout: 240 seconds]
11:53 -!- Project-2501 [~Marvin@82.84.64.230] has joined #go-nuts
11:56 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-80.clienti.tiscali.it] has
quit [Ping timeout: 246 seconds]
11:59 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts
11:59 -!- artefon [~thiago@189.59.133.187] has joined #go-nuts
12:02 -!- prip [~foo@host200-120-dynamic.42-79-r.retail.telecomitalia.it] has quit
[Ping timeout: 276 seconds]
12:09 -!- PJRobins [~kvirc@184-100-100-163.mpls.qwest.net] has joined #go-nuts
12:15 -!- prip [~foo@host33-131-dynamic.47-79-r.retail.telecomitalia.it] has
joined #go-nuts
12:23 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
12:40 -!- ab3 [~abe@ip-83-134-160-54.dsl.scarlet.be] has joined #go-nuts
12:40 -!- niemeyer [~niemeyer@200-102-196-125.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
12:40 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Remote host closed
the connection]
12:40 < exch> Kafo: ranging over a string yields unicode rune indices
instead of bytes.  So that should work for multibyte characters as well
12:41 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
12:41 < wrtp> exch: i don't think it will, because the character count will
be wrong
12:41 < wrtp> here's a version that works with unicode (and might be a bit
more efficient too): http://pastie.org/1863924
12:42 < exch> http://pastie.org/1863931
12:46 < wrtp> actually this should be better
12:46 < wrtp> http://pastie.org/1863940
12:46 < wrtp> (more efficient, i mean)
12:46 < wrtp> exch: the specification for the problem was that a '/' should
be inserted after every 4th *character*, not byte
12:47 < exch> I know
12:47 < wrtp> Kafo's solution above inserts after every byte, which can
split unicode characters
12:47 < wrtp> so it won't work properly with multibyte characters
12:50 < wrtp> the main efficiency problem with Kafo's solution is that it is
O(n^2) - it reallocates the string for each character
12:50 < wrtp> oh yeah, and it will lose bytes too
12:51 < xyproto> how many functions does a garbage collector consist of?
Would it be possible to unsafe.SetMyGCFuncMalloc(f) etc?  :P
12:56 < skelterjohn> never build a string with += on a string type
12:57 < wrtp> never say never...  sometimes it really doesn't matter
12:57 < skelterjohn> xyproto: if you are asking if it's possible to specify
your own allocator, no it isn't
12:57 < skelterjohn> but i have confidence that one day it wil be
12:57 < xyproto> skelterjohn: I'm asking if it should/could be a possibility
:)
12:57 < skelterjohn> wrtp: sure, sometimes clarity reigns
12:57 < xyproto> skelterjohn: and I agree on the += vs buffers standpoint.
Perhaps compiler can optimize += for strings to use buffers, somehow?
12:58 < wrtp> xyproto: it can't do that
12:58 < skelterjohn> of course it can - the compiler can make any changes to
the code it wants to
12:58 < wrtp> unless strings were changed to include cap as well as len
12:58 < skelterjohn> as long as it has the same behaviors
12:58 < skelterjohn> wrtp: it would just use a []byte instead of a string
12:59 < wrtp> i suppose it could for local variables
12:59 < skelterjohn> now, it's a difficult optimization and one i never hope
to see in go :)
13:00 < xyproto> skelterjohn: not even if it was a different operator for
it?  like .= or something?  :P
13:00 < wrtp> a more useful optimisation (and an equivalent one, i think)
would be to avoid the allocation when doing string([]byte)
13:00 < skelterjohn> then that wouldn't be a compiler optimization
13:00 < xyproto> skelterjohn: true, true
13:00 < skelterjohn> it would be a new language feature
13:00 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
13:01 < skelterjohn> wrtp: i bet that will happen one day - if the []byte
can be shown to never be modified
13:01 < wrtp> yup
13:01 < xyproto> wrtp: and just use the allocated []byte directly?
13:01 < wrtp> yes
13:01 < xyproto> wrtp: sounds smart to me
13:01 < wrtp> escape analysis will enable a lot of cool optimisations in go
13:02 < skelterjohn> at the moment i think they're trying to keep too much
analysis out of the compiler
13:02 < skelterjohn> analysis hurts compilation time
13:02 < wrtp> they're definitely going to do some escape analysis in the
future
13:02 < wrtp> it's been mentioned quite a few times
13:02 < skelterjohn> i think a good easy one would be seeing when var
addresses actually escape
13:03 < wrtp> yeah, but to do it right you have to do it across function
calls
13:03 < wrtp> when you can do that, you can avoid many allocations
13:03 < xyproto> nice
13:03 < wrtp> (at least, you can stack allocate rather than heap allocate)
13:06 -!- Project-2501 [~Marvin@82.84.64.230] has quit [Quit: E se abbasso questa
leva che succ...]
13:08 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has joined #go-nuts
13:12 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 252 seconds]
13:18 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:30 -!- iant [~iant@216.239.45.130] has quit [Ping timeout: 276 seconds]
13:40 -!- iant [~iant@67.218.109.241] has joined #go-nuts
13:40 -!- mode/#go-nuts [+v iant] by ChanServ
13:48 < chressie> using bytes.Buffer usually leads to a clean solution when
you have to deal with a lot of string concats..
13:48 < chressie> http://pastie.org/1864157
13:57 -!- Simiolus [~simiolus@p578ED202.dip.t-dialin.net] has joined #go-nuts
13:57 < xyproto> chressie: why len(s)*2 ?
13:58 < chressie> it might be possible that we add as much / as the string
has characters
13:58 < chressie> this avoids reallocation of the internal buffer
13:58 < chressie> (i hope :) )
14:00 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
14:10 -!- Simiolus [~simiolus@p578ED202.dip.t-dialin.net] has left #go-nuts ["Once
you know what it is you want to be true, instinct is a very useful device for
enabling you to know that it is"]
14:10 < exch> there will be only runecount(s)/n number of slashes
14:12 < wrtp> len(s) * 2 is easier to say than len(s) + ((len(s) + n - 1) /
n) * n
14:13 < wrtp> and it doesn't matter too much because the buffer will be
thrown away anyway
14:13 < exch> not len(s).  that yields bytes, not runes
14:13 < wrtp> chressie: BTW you can use b.String() rather than
string(b.Bytes())
14:13 < wrtp> exch: we want an overestimate, so len(s) is fine
14:14 < exch> why overestimate when you can have the precise length?
14:14 < wrtp> you can't have a precise length without counting the
characters in s, for which you have to traverse the whole string
14:14 < wrtp> which is unnecessary
14:14 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Ping
timeout: 260 seconds]
14:15 < wrtp> chressie: BTW i like your solution
14:15 < exch> there is an expensive string -> []int conversion in that
loop anyway.  Might as well use it
14:15 < exch> http://pastie.org/1864250
14:16 < wrtp> exch: where's the string -> []int conversion?
14:16 < exch> the range statement
14:16 < wrtp> that doesn't convert to []int
14:17 < exch> it loops over runes
14:17 < wrtp> it gives each character in turn
14:17 < wrtp> no allocation involved
14:17 < exch> mm
14:18 < wrtp> converting string to []int does the loop twice, once to
determine the number of characters; next to actually put them into the []int
14:18 < exch> fair enough
14:18 < chressie> wrtp: b.String() that's right..  i forgot about that
14:21 < chressie> i think it's easier and more readable to allocate *the*
upper bound, if there's any
14:21 < chressie> forget 4 gb strings ;)
14:21 < wrtp> chressie: do you mean "least upper bound"?
14:22 < wrtp> there are many upper bounds...
14:23 < chressie> yeah, the size that any result will fit in, but not more
14:23 < wrtp> i think that len(s)*2 is just fine - it's obviously right, and
the extra space is unlikely to be a problem
14:24 < chressie> i agree
14:26 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
14:28 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts
14:29 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
skelterjohn]
14:30 -!- uiltrix [~uiltrix@c9345547.virtua.com.br] has joined #go-nuts
14:30 -!- virtualsue [~chatzilla@nat/cisco/x-bqgbgkrtpgjnjzuy] has quit [Ping
timeout: 240 seconds]
14:38 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
14:55 -!- iant [~iant@67.218.109.241] has quit [Quit: Leaving.]
14:57 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 240
seconds]
15:04 -!- GeertJohan [~Squarc@ip4da06866.direct-adsl.nl] has quit [Quit: Leaving.]
15:05 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
15:07 -!- iant [~iant@216.239.45.19] has joined #go-nuts
15:07 -!- mode/#go-nuts [+v iant] by ChanServ
15:09 -!- artefon [~thiago@189.59.133.187] has quit [Quit: bye]
15:12 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
15:16 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the
connection]
15:17 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 276 seconds]
15:18 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
15:18 -!- Wiz126 [Wiz@h187.120.232.68.ip.windstream.net] has quit []
15:23 < vegai> anyone working on an openbsd port?
15:28 < xyproto> wrtp: thanks for the len(s)*2 explanation
15:30 -!- iant [~iant@216.239.45.19] has quit [Ping timeout: 252 seconds]
15:31 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
15:31 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
15:32 < xyproto> wrtp: you never fail to write good, knowledgeable and
insightful stuff.  You're the closest thing to a Go oracle I know of.  Really.
(Just to build up some expectations ;) )
15:33 < mpl> vegai: if anyone is, I'd say devon o'dell.
15:33 < mpl> I don't think he hangs around here though.
15:33 < mpl> oh he is.
15:34 < mpl> evildho: 17:27 < vegai> anyone working on an openbsd
port?
15:34 < vegai> :)
15:34 * wrtp blushes.
15:35 < wrtp> xyproto: thanks - but the real go oracle is probably rsc...
15:35 * mpl jumps on the opportunity
15:35 < aiju> 16:25 < chressie> forget 4 gb strings ;)
15:35 < xyproto> wrtp: :)
15:35 < mpl> wrtp: if I may ask, what do you do for a living?
15:35 < aiju> as a fun side note, some x86 CPUs freeze if you try to work
with strings larger than 4 GB
15:36 < aiju> (using string instructions, that is)
15:36 < wrtp> mpl: look for jobs, currently :-)
15:36 < mpl> heh.  that may be the best "job" to give one enough time to
play with go during the day ;)
15:37 < wrtp> :-)
15:37 < aiju> Go code in production ...
15:42 -!- iant [~iant@nat/google/x-bovfoopcylzpyaqq] has joined #go-nuts
15:42 -!- mode/#go-nuts [+v iant] by ChanServ
15:45 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
15:46 -!- petrux_ [~petrux@host16-224-static.53-82-b.business.telecomitalia.it]
has joined #go-nuts
15:46 -!- petrux_ [~petrux@host16-224-static.53-82-b.business.telecomitalia.it]
has quit [Client Quit]
15:48 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
15:49 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
quit [Ping timeout: 276 seconds]
15:49 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
15:49 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Read error:
Connection reset by peer]
15:58 -!- cco3 [~conleyo@nat/google/x-srcennqevhqvtwjf] has joined #go-nuts
16:11 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
16:11 -!- artefon [~thiago@dhcp17.usuarios.dcc.ufmg.br] has joined #go-nuts
16:12 -!- enherit [~enherit@205.147.6.118] has joined #go-nuts
16:12 -!- enherit [~enherit@205.147.6.118] has quit [Client Quit]
16:13 -!- enherit [~enherit@205.147.6.118] has joined #go-nuts
16:15 -!- enherit [~enherit@205.147.6.118] has quit [Client Quit]
16:16 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
16:17 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
16:17 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
16:18 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
16:24 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
16:28 -!- zozoR2 [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
16:30 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 258
seconds]
16:31 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
16:33 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
16:35 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has joined #go-nuts
16:41 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
16:42 < jeremy_c> Is there a ChangeLog document for various releases?  I
upgraded to the latest release and my Open() code ceased to work.  That's fine,
just wondering if there is a heads up doc somewhere.
16:43 < mpl> jeremy_c: hg log ?
16:43 < pharris> jeremy_c: There is.  While we're looking for it, "gofix ."
in your project should fix it up.
16:43 < mpl> jeremy_c: besides, gofix may fix that.
16:43 < pharris> That's one of the more useful things that's new in this
release.
16:44 < jeremy_c> mpl: sure, that will work but pretty hard to find
something.  would be nice to have a change log: Bugs Fixed: 123, 456, New
features: ABC, XYZ, API Breaks: XXX, YYY.
16:45 < jeremy_c> pharris: I did read about gofix, but my project is small,
only had two compile errors.  Wanted to go to the docs anyway to see how it
changed to learn the new API.
16:46 < pharris>
http://go.googlecode.com/hg/doc/devel/weekly.html#2011-04-27
16:46 < jeremy_c> pharris: thanks!
16:47 < mpl> jeremy_c: btw, the changelogs are usually posted to the ml at
each release, so you can also find them on google groups.
16:48 -!- flaguy48 [~gmallard@user-0c6s350.cable.mindspring.com] has left #go-nuts
[]
16:48 < Bigbear1> I followed the installation guide but 6g is an unknown
command
16:48 < Bigbear1> I think I have to set my path variables but I am not sure
how
16:49 < Soultaker> Bigbear1: which OS?
16:49 < Bigbear1> Ubuntu
16:49 < Soultaker> Ok. Where did you install 6g?
16:49 < Bigbear1> I put it in Document/go
16:49 < jeremy_c> I use MicroEmacs (www.jasspa.com) and recently wrote a
mode for Go for it (syntax highlighting, folding and function browsing).  Is that
of interest to the people maintaining the misc/* stuff?
16:49 < Bigbear1> but then I tried to put it in home/go and it failed to
pass all the tests
16:50 < Soultaker> hmm.  can you call it directly?  e.g.  with
$HOME/go/bin/6g?
16:52 < Bigbear1> so what would my full path be?
16:52 < Bigbear1> in Documents/go
16:53 < Bigbear1> ok so I call it and it says "it is a directory"
16:54 < Bigbear1> my full path for the install that passed all test was
home/cody/Documents/go 6g
16:54 < Soultaker> does /home/cody/Documents/go/bin/6g work?
16:55 < Bigbear1> a bunch of flags pop up
16:56 < Soultaker> so that command does work right?  it says something like:
"usage: 6g file.go"?
16:56 < Soultaker> in that case, you just need to add that directory to your
path
16:56 < mpl> then all you need is 'export
PATH=$PATH:/home/cody/Documents/go/bin'
16:57 < Soultaker> yup.  put that at the bottom of /home/cody/.bashrc if
that exists.
16:57 < Soultaker> then restart your shell, and you should be good to go.
16:58 < Bigbear1> I don't understand what you mean by put that at the bottom
of .bashrc
16:59 -!- gedevan [~gedevan@83.167.106.253] has joined #go-nuts
17:00 < mpl> Bigbear1: he meant add the line I gave you to the end of that
file, then save it.
17:00 < mpl> that file is read everytime you open a new shell.  hence you
can set there whatever you want to be done for any new shell you open.
17:01 -!- Bigbear11 [~Cody@d75-158-140-53.abhsia.telus.net] has joined #go-nuts
17:01 -!- Bigbear1 [~Cody@d75-158-140-53.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
17:01 < Bigbear11> so it does not exist so I have to make it?
17:02 < Bigbear11> ok I guess it does when I opened it
17:02 -!- uiltrix [~uiltrix@c9345547.virtua.com.br] has quit [Quit: Leaving]
17:03 -!- keithgcascio [~keithcasc@nat/google/x-wauebsfgsqjwykty] has joined
#go-nuts
17:08 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
17:23 -!- Project_2501 [~Marvin@82.84.82.119] has joined #go-nuts
17:23 < Bigbear11> does go have syntax highlighting?
17:24 < Soultaker> (filenames that start with a dot are "hidden"; they are
not displayed by ls unless you add the -a option.  this is probably why you didn't
see it)
17:24 < Soultaker> Bigbear11: depends entirely on which editor you use :)
17:25 < Bigbear11> I am using nano because I only know of that and vi
17:25 < Bigbear11> and I don't know how to exit vi
17:25 < mpl> :q to quit, :wq to save and quit in vi.
17:25 < Soultaker> Have a look here: http://go-lang.cat-v.org/text-editors/
17:25 < Soultaker> there are probably better ways to start than with nano
17:25 < mpl> afaik there's a syntax highlighting conf file for vi.
17:26 < Soultaker> for vim, yes.
17:26 < Soultaker> vi does not do any syntax highlighting.
17:26 < mpl> true.
17:27 < Bigbear11> I rember vi doing syntax for c++ no?
17:27 < Bigbear11> these editors are not from the terminal though?
17:27 <+iant> good random number generator: start up vi for somebody who
doesn't know it and record the keystrokes they use to get out of it
17:27 < mpl> iant: :D
17:27 < mpl> q
17:28 < mpl> ^C
17:28 < mpl> quit damnit
17:28 < Bigbear11> would you guys suggest GolangIDE?  or gogo?
17:28 < mpl> etc...
17:28 < mpl> ;)
17:28 < mpl> I'd suggest acme, but it's not a popular choice here.
17:28 < Soultaker> I like Kate, but ymmv
17:29 < Soultaker> it has a good editor and a terminal window to run the
compiler in.
17:30 < mpl> Bigbear11: gedit is probably installed by default on your
ubuntu, you could start with that.
17:30 -!- Fish [~Fish@88.162.170.133] has joined #go-nuts
17:31 < Bigbear11> mpl ok cool now how do I get syntax highlighting
17:31 < Bigbear11> also why doesn't the website have syntax highlighitng?
17:31 < Bigbear11> also how do I change my resolution
17:32 < mpl> no idea, I don't use it.  go through the menus.
17:32 < mpl> http://go-lang.cat-v.org/text-editors/gedit/
17:37 < Bigbear11> why can't I graphically copy and paste it in that folder
17:42 -!- TheMue [~TheMue@p5DDF4D69.dip.t-dialin.net] has joined #go-nuts
17:43 < mpl> Bigbear11: probably because you can't do it as a regular user.
17:44 < Bigbear11> yeah I sudo made a new and copied and pasted
17:44 < mpl> lol
17:44 < Bigbear11> :)
17:44 < mpl> you could have sudo mv it
17:44 < Bigbear11> I'm brand new to *nix
17:44 -!- tvw [~tv@e176004041.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
17:45 < Bigbear11> so I thought to declare a stuct in Go you say var myVar
struct
17:45 < Bigbear11> but in the wiki codelab it has type Page struct {
17:46 <+iant> use "var" to name a variable, use "type" to name a type
17:49 < Bigbear11> also it has the line ending in a {
17:49 < Bigbear11> which then adds a semicolon
17:49 < Bigbear11> that is also ok?
17:49 <+iant> a semicolon is not added to a line which ends in {
17:50 < Bigbear11> oh ok
17:54 < Kafo> Creating new types in Go always makes me smile.
17:54 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
17:54 -!- Kafo [~Henry@a91-152-179-101.elisa-laajakaista.fi] has left #go-nuts []
17:55 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
17:55 -!- Kafo [5b98b365@gateway/web/freenode/ip.91.152.179.101] has joined
#go-nuts
17:55 < Bigbear11> seems wierd to have the type both infront and behind
17:56 < Bigbear11> also if a func has no parameters why do we need ()
17:58 <+iant> the type is not both in front and behind, not sure what you
mean by that
17:58 <+iant> the parentheses are optional for the result parameters, so
they can not also be optional for the regular parameters
18:02 < Bigbear11> in the same example
18:02 < Bigbear11> Title string
18:02 < Bigbear11> no var
18:03 <+iant> sorry, I don't know what you mean
18:03 <+iant> I don't know what example you are referring to
18:04 < Bigbear11> http://golang.org/doc/codelab/wiki/
18:04 <+iant> Where I see "Title string" it is a field in a struct
18:05 <+iant> not a variable
18:05 <+iant> the type is "string" and it appears in only one place
18:05 <+iant> the name of the struct field is "Title"
18:05 < Bigbear11> ok
18:05 <+iant> that segment defines "Page" as a type which is a struct with
two fields
18:06 < Bigbear11> also fmt.Println(string(p2.Body)) is type first because
it is a pointer?
18:07 <+iant> the occurrence of "string" is a type conversion
18:07 <+iant> it is converting p2.Body, of type []byte, to type string
18:08 <+iant> because Println treats values of type []byte differently from
values of type string
18:09 -!- photron_ [~photron@port-92-201-85-162.dynamic.qsc.de] has joined
#go-nuts
18:10 < Bigbear11> ok how come that line prints more than one line
18:10 < Bigbear11> and if there is no newline character at the end it adds
one
18:11 <+iant> if the string passed to fmt.Println has any newline
characters, then fmt.Println will print multiple lines
18:11 <+iant> and fmt.Println always prints a newline at the end
18:11 < Kafo> C++ is pretty damn annoying after using Go for few months
18:11 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has joined #go-nuts
18:12 <+iant> http://golang.org/pkg/fmt/#Println
18:12 < Kafo> Compile times feel like forever
18:13 < Kafo> I have time to get a new cup of coffee during compiling though
18:14 -!- nkdnstbr [~nkdnstbr@li118-64.members.linode.com] has quit [Quit:
leaving]
18:22 < aiju> haha
18:22 < aiju> Kafo: try using Verilo
18:22 < aiju> +g
18:22 < aiju> with the Xilinx tools, compiling times are about 5 minutes or
more for *100 lines of code*
18:23 < skelterjohn> or try K, where just looking at one line of code takes
about ten minutes
18:23 < aiju> hahahahahahahahahaha
18:24 < aiju> skelterjohn: being good at it reduces to time to five minutes
18:24 < aiju> gcd:{[a]{[b]*{:[x[1];(x[1]),x[0]!x[1];x]}/(a,b)}}
18:25 < aiju> c'mon, it's bloody damn obvious
18:25 < Kafo> skelterjohn: Isn't K similar to APL?
18:25 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has joined
#go-nuts
18:25 < aiju> Kafo: yes
18:25 < skelterjohn> i don't know APL
18:25 < aiju> Kafo: http://aiju.de/code/k/
18:25 < skelterjohn> in git, if i have two branches, release and master, how
to i push master into release?
18:25 < Kafo> It's interesting one.  Maybe not suitable for my head but I
find it really interesting.  :D
18:26 < aiju> Kafo: look at my tictactoe program
18:26 < skelterjohn> aiju: if you're not careful, your K tic tac toe program
will become the defining contribution of your life
18:26 < aiju> hahahahahaha
18:27 < aiju> i'll be in encyclopedias nevertheless
18:27 < aiju> aiju (n.): guy who wrote a tictactoe program in the K
programming language and saved humanity from extinction thereby
18:29 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
#go-nuts
18:30 < Kafo> aiju: I should rewrite my brain to interpret K.
18:31 < Kafo> Maybe some day I'll understand what saved the humanity from
extinction.
18:31 < aiju> hahahaha
18:34 < Kafo> What languages are capable of doing cross-platform game-like
program without much problems?
18:35 < aiju> none
18:35 < Kafo> Game-like as in 3D and audio
18:35 < aiju> C is close
18:35 < Namegduf> C with appropriate library selection is best for complex
games, out of what I know of.
18:36 < Kafo> Aren't C++ and Java decent for that too?
18:36 < Namegduf> Python is also an option.
18:36 < skelterjohn> not really
18:36 < aiju> C++ and Java are decent for fucking your brain
18:36 < skelterjohn> using java for cross platform 3D stuff is hugely
painful
18:36 < aiju> s/for.*stuff//
18:36 < Namegduf> Java is pretty awful and runs slow.  It *works* maybe.
18:36 < Namegduf> C++ can be used if you need to talk to a C++ library, but
C is less horribly complex.
18:37 < aiju> libraries: opengl period
18:37 < Soultaker> Namegduf: but Minecraft!
18:37 < aiju> minecraft is the best example why you don't write games in
java
18:37 < skelterjohn> minecraft is a great idea, not a great code base
18:37 < Soultaker> ok, that airplane game then?
18:37 < aiju> skelterjohn is being way too nice with that statement
18:37 < skelterjohn> it's important to not confuse the too
18:38 < skelterjohn> well, i've never played minecraft.  i just know it's
very popular, so i'm assuming it's a great idea.
18:38 < aiju> the idea is okay
18:38 < aiju> the implementation is HORRIBLE
18:38 < aiju> i had my inventory contents randomly disappearing
18:39 -!- jyxent [~jyxent@129.128.191.96] has quit [Quit: leaving]
18:39 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
18:40 < aiju> 20:40 < Namegduf> Python is also an option.
18:40 < aiju> python for gamedev?
18:40 < skelterjohn> yes
18:40 < skelterjohn> python + pygame
18:40 < skelterjohn> for simple stuff
18:40 < Soultaker> this is also Java:
http://www.youtube.com/watch?v=Cqh2VXQ99mo
18:40 < aiju> tictactoe
18:40 < skelterjohn> can easily do 2d sprite games
18:40 < aiju> Soultaker: given enough thrust even a brick will fly
18:40 < aiju> 20:39 < Kafo> Game-like as in 3D and audio
18:40 < skelterjohn> anything complex (gamedev or not) and i wouldn't use
python
18:41 < Soultaker> in fact, it runs in your browser:
http://altitudegame.com/playnow
18:41 < aiju> not in mine
18:41 < KirkMcDonald> http://blip.tv/file/4882916
18:41 < KirkMcDonald> (On the subject of 3D in Python.)
18:41 < Soultaker> but anyway, that was not 3d.
18:42 < Soultaker> (still a pretty cool game, and it doesn't even run as
crappy as Minecraft)
18:42 < aiju> KirkMcDonald: hell, you can use BASIC for 3D
18:42 < aiju> and again
18:42 < aiju> 20:44 < aiju> Soultaker: given enough thrust even a
brick will fly
18:42 < skelterjohn> i find python code to be too free-form for complex
projects
18:42 < skelterjohn> i know i can enforce structure on my own
18:42 < skelterjohn> but it's too easy to forget
18:43 < Namegduf> Soultaker: "People use it" is not a legitimate argument
for why it is good for something.
18:43 < KirkMcDonald> Mandatory code reviews are a good thing.
18:43 < KirkMcDonald> (I work on a large Python code base for a living.)
18:43 * aiju pats KirkMcDonald
18:43 -!- jyxent [~jyxent@129.128.191.96] has quit [Client Quit]
18:44 -!- jyxent [~jyxent@129.128.191.96] has joined #go-nuts
18:44 < uriel> 18:38 < aiju> the implementation is HORRIBLE
18:44 < uriel> hey, it is java, what did you expect?
18:44 < Kafo> There should be some cross-platform miracle that would fix all
problems in the world.
18:45 < skelterjohn> i think cross-platform-ability is overrated
18:45 < aiju> uriel: not something THAT horrible
18:45 < skelterjohn> just pick your demographic and get over it
18:45 < uriel> in any case, if somebody is interested, they are working on a
minecraft multi-player server written in Go: https://github.com/huin/chunkymonkey
18:45 < aiju> but i don't expect much from a guy who calls git "evil"
18:45 < Soultaker> as Unix/Linux user I do like cross-platform-abilitity
18:45 < aiju> skelterjohn: ack
18:45 < Soultaker> because without it everybody would develop for Windows
and I'd be screwed.
18:46 < skelterjohn> i wouldn't
18:46 < aiju> i just run windows for games
18:46 < aiju> (if i play any games at all)
18:46 < skelterjohn> i used to, until my windows machine committed seppuku
18:46 < Kafo> It kinda stinks that I use mostly Linux but almost everyone
using my programs use Windows.
18:46 < aiju> Kafo: games?  ;P
18:47 < skelterjohn> porn chatrooms, i'm guessing
18:47 -!- awidegreen_ [~quassel@178.63.120.5] has joined #go-nuts
18:47 -!- artefon [~thiago@dhcp17.usuarios.dcc.ufmg.br] has quit [Quit: bye]
18:47 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Ping
timeout: 240 seconds]
18:47 < Kafo> aiju: Those too.
18:48 < aiju> Kafo: C + OpenGL + SDL (glue)
18:48 < aiju> should work on Windows, Linux, OS X
18:49 < aiju> you have to do some hacks for Windows, though
18:51 < aiju> contrary to popular (academic?) opinion, C code can be very
portable if you do it right
18:51 < skelterjohn> man, SDL cracks me up sometimes
18:51 < aiju> even more portable than Java and what not
18:51 < skelterjohn> with their "#define main SDL_main"
18:52 < skelterjohn> what's great is when you use two libraries that do this
18:52 < aiju> skelterjohn: SDL is stupid, yeah
18:52 -!- Sep102_ [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has quit [Quit:
Leaving]
18:52 < aiju> GLUT or something might be a better idea; i haven't tried
18:53 < skelterjohn> exch is working on glfw
18:53 < skelterjohn> which is like glut but without all the horribleness
18:53 < Kafo> I think SFML is similar to SDL
18:53 < KirkMcDonald> So clearly what we need is an SDL replacement written
in Go.
18:53 < Kafo> And it looks decent.
18:54 < exch> there's not much work to be done on glfw.  The only thing it
currently needs to be finished is working callbacks from c -> go
18:54 -!- Sep102 [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has joined
#go-nuts
18:54 < skelterjohn> exch: you should try to push it to the main repository
18:55 < skelterjohn> we need to get visual stuff in the distribution
18:55 < skelterjohn> and not exp/draw/x11
18:55 < skelterjohn> that is horrible
18:55 < exch> it is pure Go though.  glfw isn't.  I'm not sure how the go
team feels about having C bindings in the standard lib
18:57 < skelterjohn> it also depends on the Go-OpenGL project, if i remember
right
18:57 < exch> only if you want to actually draw stuff :p
18:57 < exch> opening a window will work fine without opengl
18:58 < skelterjohn> oh right
18:58 < skelterjohn> so, not a direct dependence
18:58 < exch> but considering the window is created with an opengl context,
it wont be of much use for anything else
18:59 -!- ab3 [~abe@ip-83-134-160-54.dsl.scarlet.be] has quit [Ping timeout: 240
seconds]
19:00 < uriel> skelterjohn: what is wrong with exp/draw/x11?
19:00 < skelterjohn> can't resize the window, for one
19:00 < uriel> exp/draw is much nicer than most other drawing libs
19:01 < uriel> skelterjohn: is there an issue for that?
19:01 < aiju> i'd expect exp/draw to be broken
19:01 < skelterjohn> i dunno
19:01 < skelterjohn> also, on my computer (a mac) it starts the x11
application and looks stupid
19:01 < skelterjohn> x11 is not the way to go for multi-platform drawing
19:01 < uriel> skelterjohn: then write exp/draw/osx or whatever
19:01 < skelterjohn> i was just scrolling through developer.apple.com
references
19:02 < uriel> skelterjohn: that is why exp/draw exists
19:02 < skelterjohn> looking for stuff on 2d drawing
19:02 < aiju> uriel: you'd need to link to objective C or so
19:02 < aiju> objective-cgo!
19:02 < skelterjohn> aiju: you can do anything with regular C
19:02 < aiju> okay
19:02 < skelterjohn> it's just not as well documented
19:02 < aiju> haha
19:02 < aiju> i love how OS X identifiers start with NS
19:02 < exch> exp/draw/x11 has no facility to specify the initial window
size.  which is pretty gay tbh.
19:02 < skelterjohn> next step here we go
19:02 < aiju> that abbreviation is used in germany for national socialism
19:02 < aiju> fits perfectly
19:03 < skelterjohn> yeah - x11 clearly is attracted to other drawing API's
of the same gender =p
19:03 < aiju> skelterjohn: gay is another meaning
19:03 < aiju> x11 is pretty happy
19:03 < aiju> s/is/has
19:03 < skelterjohn> that's where the new meaning came from, originally
19:03 < aiju> i know
19:04 < skelterjohn> it used to be that an unmarried older man was referred
to as gay because he was happy (presumably because he had no wife to bring him
down)
19:04 < skelterjohn> but the term was subvereted
19:04 < skelterjohn> subverted
19:07 < skelterjohn> however, i love my wife dearly (this last bit in case
she feels like nosing through my IRC logs)
19:11 -!- zozoR2 [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Read error:
Connection reset by peer]
19:12 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
19:17 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Remote host closed
the connection]
19:17 -!- zozoR2 [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
19:17 -!- skelterjohn_ [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
19:17 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Read error:
Connection reset by peer]
19:19 < skelterjohn> i'm finding it very difficult to locate an example of a
C program that pops up a window on os x
19:19 < aiju> popping up windows considered harmful
19:20 -!- ww [~ww@2.98.88.157] has joined #go-nuts
19:21 -!- foocraft [~ewanas@78.100.176.128] has joined #go-nuts
19:21 < pharris> skelterjohn: The C API has been deprecated.  They really
want you to use ObjC.
19:21 < skelterjohn> perhaps go to C to ObjC is the answer
19:22 * ww thinks of matrioshka doll
19:23 -!- cenuij [~cenuij@93.26.130.28] has joined #go-nuts
19:23 -!- cenuij [~cenuij@93.26.130.28] has quit [Changing host]
19:23 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
19:32 -!- foocraft_ [~ewanas@89.211.208.39] has joined #go-nuts
19:35 -!- foocraft [~ewanas@78.100.176.128] has quit [Ping timeout: 240 seconds]
19:37 -!- artefon [~thiago@189.59.133.187] has joined #go-nuts
19:50 < skelterjohn> god, the os x APIs are garbage
19:51 < skelterjohn> i hate t
19:51 < skelterjohn> heir
19:51 < skelterjohn>
19:51 < skelterjohn> wtf
19:51 < skelterjohn> i hate their whole system of doing things
19:53 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
19:57 * uriel just hates Apple and all that is Apple-related, specially
apple-fanboys
20:03 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
20:04 -!- pothos_ [~pothos@111-240-168-232.dynamic.hinet.net] has joined #go-nuts
20:04 -!- zerosanity [~josh@8.20.178.82] has quit [Remote host closed the
connection]
20:05 -!- pothos [~pothos@111-240-171-155.dynamic.hinet.net] has quit [Ping
timeout: 240 seconds]
20:09 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts
20:10 -!- zerosanity [~josh@8.20.178.82] has quit [Remote host closed the
connection]
20:14 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has joined #go-nuts
20:14 -!- xash [~xash@d062194.adsl.hansenet.de] has joined #go-nuts
20:17 -!- zerosanity [~josh@8.20.178.82] has joined #go-nuts
20:18 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has left #go-nuts []
20:18 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
20:18 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has left #go-nuts []
20:18 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
20:19 < Bigbear11> are there any problem exercises
20:19 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
20:20 < Bigbear11> I learn best by trying
20:20 < kamaji> project euler :D
20:20 < kamaji> it's not go-specific
20:20 < kamaji> but it's superfuntimes
20:20 < Bigbear11> there should be some on the website
20:21 < kamaji> there are, www.projecteuler.net ~~
20:23 < Bigbear11> k well I had an account and I forgot my username which is
required for a password reset
20:23 < Bigbear11> and don't really help you learn to program
20:23 < kamaji> you kidding?
20:23 < kamaji> project euler rules
20:23 < kamaji> Recommended by Google
20:24 -!- foocraft_ [~ewanas@89.211.208.39] has quit [Ping timeout: 252 seconds]
20:24 < kamaji> Could always make up a project and do it
20:24 -!- photron_ [~photron@port-92-201-85-162.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
20:24 -!- foocraft_ [~ewanas@78.100.172.205] has joined #go-nuts
20:26 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust61.haye.cable.virginmedia.com] has joined #go-nuts
20:29 < Bigbear11> fine I guess I will make a new account
20:29 -!- chimes [~chimes@24.104.130.118] has quit [Quit: chimes]
20:29 < kamaji> *grumble grumble* :P
20:29 < kamaji> How far did you get before?
20:29 < kamaji> Someone told me "topcoder" is also good, plus they give out
cash prizes
20:29 < kamaji> I've not used it tho
20:30 < kamaji> oh actually it looks pretty good
20:30 -!- alanliang [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has joined
#go-nuts
20:32 < mpl> kamaji: project euler is fun in itself but not so great for
learning a new language, because it doesn't really push you to use the language
particularities.
20:33 < kamaji> I dunno, I was thinking about that, but I found it useful to
learn haskell
20:33 < kamaji> although I guess in haskell you can get away with not really
doing much 'real-world' stuff, so maybe that's true
20:33 -!- zozoR2 [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 260
seconds]
20:34 < kamaji> ok yeah, point taken.
20:34 < mpl> I doubt one would naturally come to use Interfaces or
goroutines while solving some project euler stuff
20:34 < mpl> unless they already know it and in that case the point is moot
;)
20:34 < kamaji> Ok position reversed :D
20:35 < kamaji> In that case: make a chat server
20:35 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
20:35 < kamaji> seems like a good application :3
20:35 -!- awidegreen_ [~quassel@178.63.120.5] has quit [Ping timeout: 252 seconds]
20:35 < tux21b> There is also a website called
http://www.pythonchallenge.com/ which has some nice tasks (and most of them are
highlighting features of python).  You do not need any math/algorithm background
for that (unlike project euler and topcoder)
20:35 < mpl> Bigbear11: isn't there anything easy that you need for
yourself.  I always find it more motivating to code things I actually need :)
20:35 < kamaji> Things you need is definitely the best way to go
20:36 < Namegduf> Things you need or want, yeah.
20:36 < kamaji> I always end up writing bad chat servers though
20:36 < kamaji> and I neither need nor want them :D
20:38 < Bigbear11> mpl well that would be remaking things I have already
made
20:38 -!- zerosanity [~josh@8.20.178.82] has quit [Read error: Connection reset by
peer]
20:41 -!- TheMue [~TheMue@p5DDF4D69.dip.t-dialin.net] has quit [Quit: TheMue]
20:44 < Bigbear11> What is the syntac for modulo?
20:45 < xash> %
20:49 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has joined #go-nuts
20:49 -!- nictuku [~yvesj@84-72-7-79.dclient.hispeed.ch] has quit [Changing host]
20:49 -!- nictuku [~yvesj@unaffiliated/nictuku] has joined #go-nuts
20:50 -!- artefon [~thiago@189.59.133.187] has quit [Quit: bye]
20:57 < Bigbear11> to output a integer does this work?
20:57 < Bigbear11> fmt.Printf((string)count)
20:57 -!- dlowe [~dlowe@ita4fw1.itasoftware.com] has quit [Quit: Leaving.]
20:59 < kamaji> Is it possible to switch/case on a string?
21:00 < aiju> ofc
21:00 < nictuku> Bigbear11, fmt.Println(count) is enough
21:01 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
21:04 -!- hcatlin_ [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
21:07 < alanliang> you could contribute to open source go projects
21:07 < Bigbear11> says it is not a string
21:07 < alanliang> i wonder how many there are
21:07 -!- lnostdal [~Lars@213.80-202-59.nextgentel.com] has quit [Read error:
Connection reset by peer]
21:08 < Bigbear11> not many
21:08 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Ping
timeout: 276 seconds]
21:10 < Kafo> Bigbear11: fmt.Printf("%d", count)
21:11 < Kafo> Printf's first argument is the format string
21:11 < Kafo> fmt.Print(count) and fmt.Println(count) do not need the format
string.
21:12 < kamaji> Bigbear11: you can also just use "%v" as the format string
for any type
21:12 < Bigbear11> ugg not C style
21:13 < kamaji> nor is built-in concurrency :P
21:13 -!- Fish [~Fish@88.162.170.133] has quit [Quit: So Long, and Thanks for All
the Fish]
21:13 < Bigbear11> What is wrong with :
21:13 < Bigbear11> return fib (n-1) + fib(n-2)
21:14 < tux21b> I'm also highly interested in some open-source projects
(preferable web applications).  porting my own projects to Go is not yet possible
since there are still many things missing in Go, but when we work together (on
some web projects) we might produce a lot of useful code (or even libraries)...
21:15 < aiju> Bigbear11: everything
21:16 < fzzbt> it's super inefficient
21:16 < Bigbear11> syntax wise though?
21:17 -!- boomtopper
[~boomtoppe@cpc12-nrte22-2-0-cust249.8-4.cable.virginmedia.com] has quit [Ping
timeout: 260 seconds]
21:17 < Kafo> Have you declared the return type?
21:17 < Bigbear11> func int fib (n int) {
21:18 < Bigbear11> also tried (int)
21:18 < Bigbear11> I know it is inefficient
21:19 < kamaji> Bigbear11: return type comes after
21:19 < kamaji> Bigbear11: func fib(n int) int {
21:19 < kamaji> same with vars :)
21:21 < Bigbear11> wait why not
21:21 < Bigbear11> func (n int) fib (int) {
21:22 < aiju> that's illegal
21:22 < Bigbear11> thought what is takes is before the identifier
21:22 < aiju> you need to list parameters
21:22 < aiju> even if you don't have any
21:22 < aiju> and you can't define a method on int
21:22 < kamaji> func name(arg1 type1, arg2 type2, ...) (ret1 rtype1, ...) {
...  }
21:22 < aiju> only on types you define in the same package
21:22 < aiju> func fib() (n int) {
21:22 < aiju> ehm
21:23 < aiju> bs
21:23 -!- napsy [~luka@88.200.96.18] has quit [Quit: Lost terminal]
21:23 -!- wrtp [~rog@92.17.111.113] has quit [Quit: wrtp]
21:23 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!]
21:23 < aiju> func fib(n int) int {
21:23 < aiju> is probably what you want
21:23 < Bigbear11> from the wiki codelab
21:23 < Bigbear11> func (p *Page) save() os.Error{
21:23 < Bigbear11> why is that before
21:25 < tux21b> fib() in your example is a function, which mean you can call
it like " fib(3) ", but save() on the other hand is a method (which is a function
which belongs to an object).  therefore you can only write " page.save() " (and
not just "save()")
21:25 < kamaji> Bigbear11: p behaves like the "this" pointer in that case
21:26 < aiju> Bigbear11: it is a method
21:26 < kamaji> you have to explicitly say it's there tho
21:26 -!- niemeyer [~niemeyer@200-102-196-125.pltce701.dsl.brasiltelecom.net.br]
has quit [Ping timeout: 240 seconds]
21:31 < Bigbear11> not that it has anything to do with Go but how do you end
something that is running in the terminal
21:31 < Bigbear11> my program is not exiting for some reason
21:32 < kamaji> Ctrl+C
21:32 < Bigbear11> tyvm
21:32 < kamaji> np
21:32 < ww> or Ctrl-\ if you want to be brutal
21:32 < kamaji> ww: SIGKILL?
21:32 < kamaji> just curious
21:32 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-171.clienti.tiscali.it] has
joined #go-nuts
21:33 < ww> don't know off the top of my head - usually causes a core-dump
and can't normally be ignored
21:33 < kamaji> lol
21:33 < tux21b> Bigbear11, you are probably missing some kind of: if n <=
1 { return 1 }
21:33 < kamaji> that doesn't seem to work on mine
21:33 < kamaji> oh no that worked.
21:33 < ww> sigquit
21:33 < ww> i thin
21:33 < ww> k
21:34 -!- gedevan [~gedevan@83.167.106.253] has quit [Quit: Leaving...]
21:34 < tux21b> oh, wait.  if n == 0 { return 0 } else if n == 1 { return 1
} should be correct.
21:34 < Bigbear11> I got if n ==0 || n==1 {
21:34 < Bigbear11> return n
21:34 < Bigbear11> }
21:34 < kamaji> if n <= 1 { return n }
21:35 < kamaji> do expressions like that need parentheses?
21:35 < kamaji> I always put them in because i'm paranoid
21:35 -!- Project_2501 [~Marvin@82.84.82.119] has quit [Ping timeout: 276 seconds]
21:35 < KirkMcDonald> The logical operators have a pretty low precedence.
21:36 < pharris> When I'm unsure, I put parentheses everywhere and let gofmt
strip out the unnecessary ones.
21:36 < tux21b> Bigbear11, ok, how big is n in your example, then?  :D
21:37 < kamaji> what about negative n?
21:37 < tux21b> fib isn't defined for negative ones, is it?
21:37 < Bigbear11> I changed it to n<=1
21:38 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
21:38 < kamaji> tux21b: nope, but if fib(n) calls fib(n-1) + fib(n-2) then
it might go negative
21:38 < kamaji> or WILL IT
21:38 < kamaji> no
21:38 < kamaji> .....  hehe
21:39 < tux21b> kamaji, not if you call it with non-negative n's (preferable
using an uint here) and when you provide 2 values as base (0 and 1)
21:39 < Bigbear11> var count int = 0
21:39 < Bigbear11> is legal?
21:39 < kamaji> Bigbear11: yep
21:40 < Bigbear11> why ins't it := 0
21:40 < kamaji> can also do "count := 0"
21:40 < kamaji> := is like "define type and assign value"
21:40 < kamaji> var is for explicitly defining type
21:40 < Bigbear11> var count int := 0
21:40 < alanliang> what services at Google use Go?
21:40 < Bigbear11> is illegal though
21:40 < skelterjohn> := is an abbreviation for code you could already write
with more typing
21:40 < kamaji> Bigbear11: because you've already specified type
21:40 < Bigbear11> var count := 0 is legal?
21:40 < skelterjohn> alanliang: golang.org :) and they say they haveinternal
things
21:41 < kamaji> Bigbear11: don't think so
21:41 < kamaji> just do count := 0 :p
21:41 < skelterjohn> Bigbear11: saying "var x = y" is th esame as saying "x
:= y"
21:41 < Bigbear11> no var?
21:41 < Bigbear11> it doesn't have to be declared?
21:41 < skelterjohn> "var x := y" is not legal
21:41 < kamaji> Bigbear11: := is the "definition" operator
21:41 < Bigbear11> makes no sense
21:41 < alanliang> skelterjohn, lol at least they eat their dogfood
21:41 < kamaji> it defines type and value
21:41 < skelterjohn> Bigbear11: the rules are clear
21:42 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Remote
host closed the connection]
21:43 -!- foocraft_ [~ewanas@78.100.172.205] has quit [Remote host closed the
connection]
21:44 < Bigbear11> here is my code http://pastebin.com/gBMmc2ur
21:45 < tux21b> Bigbear11, 40000 is a huge even for very efficient fib
implementations
21:46 < skelterjohn> it would be far more efficient to use some kind of
memoization
21:46 < tux21b> and your's is quite slow, so do not call it with values
greater than ~20.
21:47 < skelterjohn> most easily done by calculating the fib numbers
starting at 0 going to 40000
21:47 < Bigbear11> ahh ok
21:48 < tux21b> it's also possible to express fib(2*n) and fib(2*n+1) which
is far more efficient than memorization and also quite short to write
21:48 < aiju> Bigbear11: read the tutorial or something
21:49 < tux21b> and there is an explicit formula too, which is able to
calculate fib(40000) without any immediate values, but the formula looks quite
ugly ;)
21:49 < skelterjohn> memoization wasn't a typo O:-)
21:49 < aiju> there is an explicit formula?  have i missed something?  ;P
21:49 < kamaji> tux21b: no way!
21:49 < skelterjohn> yes, there is
21:49 < aiju> unless you mean stirling's formula
21:49 < kamaji> you fucking what
21:49 < skelterjohn> involves square roots
21:49 < tux21b> kamaji, hmm?
21:49 < kamaji> I didn't know there was a formula
21:50 < kamaji> :D
21:50 < aiju> i'm sure they are refering to stirling's formula
21:50 < skelterjohn> http://en.wikipedia.org/wiki/Fibonacci_number
21:50 < skelterjohn> binet's formula
21:50 < tux21b> there definitely is, but its extremely ugly.  Therefore I
prefer the fib(2*n) and fib(2*n+1) approach which is O(log(n))
21:50 < skelterjohn> did stirling do more than the log gamma function?
21:51 < kamaji> http://www.physicsforums.com/showthread.php?t=61235
21:51 < aiju> oh right
21:51 < kamaji> is that it?
21:51 < aiju> i use a lookup table for factorials, O(1) ;P
21:51 -!- virtualsue
[~chatzilla@cpc6-haye15-0-0-cust61.haye.cable.virginmedia.com] has quit [Ping
timeout: 240 seconds]
21:51 < kamaji> oh right that's Binet
21:51 < kamaji> aiju: lol
21:51 < kamaji> the Engineer's Method
21:52 < skelterjohn> gamma function is not limited to integers
21:52 < aiju> the Person's Who Actually Writes Programs, Not Papers Method
21:52 < skelterjohn> <- writes papers backed by programs?
21:53 < kamaji> oh shit son!
21:53 < kamaji> it's ON
21:53 * kamaji gets popcorn
21:53 < Bigbear11> what is MAX_INT in Go ?
21:53 < aiju> Bigbear11: 2^31 - 1
21:53 < aiju> just like everywhere else
21:53 < skelterjohn> Bigbear11: depends if you mean uint, uint64, int,
int64, etc
21:53 < mpl> funny how papers and programs are interchangeable in that
sentence :)
21:54 < kamaji> mpl: woah :D
21:56 * mpl sadly, does not have any popcorn
21:57 < kamaji> I need a USB microwave and some mini-popcorn bags for
moments like these
21:57 < kamaji> Do I smell a business idea!?
21:57 < kamaji> I'm sure you can microwave on 5v
21:57 < kamaji> and.....  notverymany amps
21:57 < skelterjohn> i don't think it's the voltage that's the problem
21:58 < kamaji> Stupid USB
21:59 * mpl remembers the meme/hoax about the mobile phones wicrowaving popcorn
21:59 < Bigbear11> so I am on problem 3 of Project Euler, I can write the
code in C++ no problem but in Go it says constant 600851475143 overlows int
21:59 < skelterjohn> Bigbear11: use uint64
22:00 < skelterjohn> max value for int type is 2^31-1
22:00 < skelterjohn> max value for uint64 is 2^64-1
22:00 < skelterjohn> which is 18446744073709551615
22:00 < skelterjohn> somewhat larger than your problem value
22:01 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:02 < Bigbear11> in C++ I am not using a long int or anything though
22:02 < Bigbear11> what is the difference?
22:03 < skelterjohn> in C++ you don't realize that your code won't work due
to int capacity problems
22:03 < skelterjohn> either that or the int type you're using is actually 64
bits
22:03 < skelterjohn> (the latter is probably true)
22:04 < Bigbear11> I am using Visual Studio and it is a Win32 console
application
22:04 < skelterjohn> that means nothing to me
22:04 < Bigbear11> but I am on 64 bit architexture
22:04 < skelterjohn> i can help you fix your go code
22:04 < skelterjohn> i can't tell you how or why microsoft does anything it
does
22:06 < Bigbear11> http://pastebin.com/RQwzyW0R
22:07 < skelterjohn> thank you.
22:08 < KirkMcDonald> Curiously, a "long" in Windows is always 32 bit.
22:09 -!- aho [~nya@fuld-590c65e6.pool.mediaWays.net] has joined #go-nuts
22:09 < tux21b> haha.  I've just tried to implement fib myself, but fib(94)
is already large than uint64 :D
22:10 < tux21b> i think i will try out the big package now
22:10 < tux21b> s/large/larger/
22:16 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat
0.3.4]
22:18 -!- xash [~xash@d062194.adsl.hansenet.de] has quit [Quit: Lost terminal]
22:19 < KirkMcDonald> My favorite number sequence goes, 1, 2, fib(720).
22:19 < KirkMcDonald> Er.
22:19 < KirkMcDonald> Not fib().
22:19 < KirkMcDonald> factorial.
22:21 -!- angasule [~angasule@190.2.33.49] has joined #go-nuts
22:24 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
22:25 < Bigbear11> skelterjohn: any ideas?
22:25 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Quit:
Geek insindeĀ®]
22:28 -!- jbooth1 [~jay@209.249.216.2] has quit [Quit: Leaving.]
22:28 < Bigbear11> I mean I know the answer from Wolfram but still want this
to work
22:30 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
22:33 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
22:35 < Project-2501> BW-HAHAHAHAHAAAAAAAAaaaaaaaaaaaaaaaa!!!
22:36 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-170-171.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
22:36 < kamaji> the fuck?
22:37 -!- lucid [~rbl@84-74-142-37.dclient.hispeed.ch] has joined #go-nuts
22:38 -!- rl [~rbl@84-74-142-37.dclient.hispeed.ch] has quit [Ping timeout: 250
seconds]
22:39 * ww tries to compute the golden ratio by continued fractions...  makes a
mistake...  discovers what's called the silver ratio according to wikipedia...
22:40 < ww> func golden(n) ratio float64 { for i=0; i<n; i++ { ratio =
float64(1) / ( 1 + ratio ) }; return 1 + ratio }
22:40 < ww> func silver(n) ratio float64 { for i=0; i<n; i++ { ratio = 1
+ float64(1) / ( 1 + ratio) }; return 1 + ratio }
22:41 < kamaji> continued fractions are awesome
22:43 -!- tylerl [~tylerl@ip24-251-232-171.ph.ph.cox.net] has joined #go-nuts
22:49 < ww> am thinking of using successive approximations of the GR as
software version numbers
22:49 < ww> is it too weird that it goes 1, 2, 1.5, 1.666666, 1.6....
22:49 < ww> ?
22:50 < kamaji> How many versions will it take before storage of the version
number exceeds that of the program?
22:51 < ww> always compute, never store?  :P
22:55 < jeremy_c> How can I determine the amount free on a disk?  (Windows)
22:57 < jeremy_c> Guess I have to revert to writing some C code (assuming)
22:58 < tux21b> kamaji, skelterjohn: dealing with the big package is quite
error prone, however here it is: http://pastie.org/1866080 :)
23:02 < kamaji> tux21b: is that really your last name?
23:03 < kamaji> because that's kinda awesome :D
23:03 < kamaji> Nominative Determinism strikes again!
23:04 < tux21b> hehe, but yes, it is *g*
23:04 -!- fmoo [~Adium@66.220.144.74] has joined #go-nuts
23:04 < tux21b> I guess I just was lucky and got the right job for my name
23:08 < tux21b> The snipped might be a good candidate for a codewalk about
the big package, but unfortunately my English isn't that good :/
23:12 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
23:12 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
23:20 -!- Bigbear11 [~Cody@d75-158-140-53.abhsia.telus.net] has quit [Read error:
Connection reset by peer]
23:21 -!- iant [~iant@nat/google/x-bovfoopcylzpyaqq] has quit [Quit: Leaving.]
23:21 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts
23:25 -!- exch [~exch@c74149.upc-c.chello.nl] has quit [Read error: Operation
timed out]
23:25 -!- exch [~exch@c74149.upc-c.chello.nl] has joined #go-nuts
23:31 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:32 -!- iant [~iant@216.239.45.19] has joined #go-nuts
23:32 -!- mode/#go-nuts [+v iant] by ChanServ
23:32 -!- iant1 [~iant@67.218.107.213] has joined #go-nuts
23:36 -!- iant [~iant@216.239.45.19] has quit [Ping timeout: 240 seconds]
23:39 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Read error: Connection
reset by peer]
23:45 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
23:45 -!- mode/#go-nuts [+v iant] by ChanServ
23:46 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
23:47 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Client
Quit]
23:48 -!- ab3 [~abe@ip-83-134-160-54.dsl.scarlet.be] has joined #go-nuts
--- Log closed Thu May 05 00:00:50 2011