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

--- Log opened Tue May 25 00:00:21 2010
--- Day changed Tue May 25 2010
00:00 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode]
00:03 -!- scm [justme@80.171.57.77] has quit [Remote host closed the connection]
00:05 -!- scm [justme@80.171.57.77] has joined #go-nuts
00:09 < plexdev> http://is.gd/cnODm by [Christopher Wedgwood] in
go/src/pkg/net/ -- net: udp, implement BindToDevice
00:09 < plexdev> http://is.gd/cnODt by [Russ Cox] in 4 subdirs of go/ -- gc:
bug281 - bad overlap in stack copy
00:09 < plexdev> http://is.gd/cnODH by [Russ Cox] in 3 subdirs of go/ -- gc:
fix shift/reduce conflict in go.y export syntax
00:09 < plexdev> http://is.gd/cnODZ by [Russ Cox] in go/src/pkg/syscall/ --
fix build - nacl stubs
00:09 < plexdev> http://is.gd/cnOEc by [Russ Cox] in 2 subdirs of go/ -- gc:
more accurate error description
00:10 -!- Piglet [~Piglet@93-136-58-123.adsl.net.t-com.hr] has quit [Quit:
Leaving]
00:11 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
00:13 -!- photron [~photron@port-92-201-4-198.dynamic.qsc.de] has quit [Ping
timeout: 264 seconds]
00:22 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
00:25 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
00:25 < plexdev> http://is.gd/cnPzn by [Russ Cox] in 2 subdirs of go/ -- 8g:
out of register bug
00:29 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has quit [Ping
timeout: 245 seconds]
00:34 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
00:37 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 240 seconds]
00:46 -!- ikke [~ikke@unaffiliated/ikkebr] has quit []
00:52 -!- viirya [~viirya@cml506-25.csie.ntu.edu.tw] has joined #go-nuts
00:52 -!- ikke [~ikke@unaffiliated/ikkebr] has joined #go-nuts
00:56 -!- ikke [~ikke@unaffiliated/ikkebr] has quit [Client Quit]
01:08 -!- micrypt [~micrypt@94-195-127-212.zone9.bethere.co.uk] has joined
#go-nuts
01:09 < micrypt> Looking for a Go equivalent of Python's standard library
urllib.urlencode()
01:10 < exch> the http package has Url (en/de)code functions
01:11 < micrypt> exch: Thanks.
01:16 -!- kota1111 [~kota1111@gw2.kbmj.jp] has joined #go-nuts
01:17 -!- fernan [~ca7a95c3@gateway/web/freenode/x-dlnzwhkcfnijdneq] has joined
#go-nuts
01:24 -!- gnuvince_ [~vince@70.35.162.12] has joined #go-nuts
01:27 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
01:28 -!- zyichi [~zyichi@124.205.180.154] has joined #go-nuts
01:34 -!- MizardX [~MizardX@unaffiliated/mizardx] has quit [Ping timeout: 276
seconds]
01:43 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts
01:44 -!- alexbobp [~alex@adsl-75-34-101-206.dsl.austtx.sbcglobal.net] has joined
#go-nuts
01:55 -!- meatmanek [~meatmanek@c-76-21-205-249.hsd1.va.comcast.net] has quit
[Ping timeout: 265 seconds]
02:02 -!- meatmanek [~meatmanek@c-76-21-205-249.hsd1.va.comcast.net] has joined
#go-nuts
02:19 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
02:20 -!- ender2070 [~ender2070@bas5-hamilton14-1279279469.dsl.bell.ca] has joined
#go-nuts
02:30 -!- diabolix [~jordan@c-98-236-142-92.hsd1.pa.comcast.net] has joined
#go-nuts
02:31 -!- diabolix [~jordan@c-98-236-142-92.hsd1.pa.comcast.net] has left #go-nuts
["Leaving"]
02:36 -!- BrowserUk [~irc1_20_B@92.15.74.184] has left #go-nuts []
02:42 < plexdev> http://is.gd/cnZqU by [Nigel Tao] in
go/src/pkg/exp/draw/x11/ -- Optimize exp/draw/x11 flusher inner loop.
02:44 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping
timeout: 276 seconds]
02:48 -!- Nola [Nola@76.91.62.8] has joined #go-nuts
02:49 < Nola> why is Go (6g 8g) slower tha Luajit, and Lua is a damn dynamic
language?
02:49 < Nola> ...
02:50 -!- froyo [~chatzilla@74.86.0.138] has quit [Ping timeout: 272 seconds]
02:52 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 240
seconds]
02:53 < ender2070> because Lua sucks
02:53 < Nola> That's not an answer to my question
02:54 < Nola> I asked why Go is slower (and Go is a statically compiled
language)
02:54 < Namegduf> Nola: Slower in what benchmarks?
02:54 < Nola> all of them
02:54 < kimelto> Lua rocks
02:54 < ender2070> Go does a hell of a lot more than Lua
02:54 < Nola> ~3 times slower
02:54 < Namegduf> WHICH specific benchmarks?
02:54 < ender2070> Lua is for bullshit WOW addons
02:55 < exch> lua is actually quite a nice language
02:56 < kimelto> it's nice to embed a scripting langage in your C program.
02:56 < ender2070> python > lua
02:57 -!- kota1111 [~kota1111@gw2.kbmj.jp] has quit [Quit: Leaving...]
02:58 < Nola> "Go does a hell of a lot more than Lua"
02:58 < Nola> example?
02:58 < Namegduf> Do you mean the Shootout benchmarks?
02:58 < Nola> Namegduf: That's one set of benchmarks showing Go is slower
than dynamic languages, Yes
02:58 < Namegduf> Nola: What does dynamic vs static have to do with speed?
02:58 < Nola> In my own benchmarks for my target application and domain
(music and DSP audio) -- go was 3 to 10 times slower than Lua
02:58 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has joined
#go-nuts
02:59 -!- kota1111 [~kota1111@gw2.kbmj.jp] has joined #go-nuts
02:59 < Nola> Namegduf: It has to do with the fact that I expect a static
language to *at least* be much faster
02:59 < exch> would be interesting to see the code you used for those tests
02:59 < Namegduf> Nola: Then your assumption is flawed
03:00 < Nola> its reasonable assumption
03:00 < Namegduf> Not really
03:00 < Nola> Then why would I use a static language?
03:00 < Namegduf> Type safety is a feature
03:00 < Namegduf> Not a drawback.
03:00 < Nola> umm
03:00 < Nola> type safety doesnt require execution time
03:00 < Nola> Its not like lua would be slower if it had "type safety"
03:00 < Namegduf> No, I didn't say it did.
03:01 < Nola> THen what are you saying
03:01 < ender2070> Nola - i'm sure there are tests where Go would be 3 to 10
times faster than Lua
03:01 < Namegduf> I said the feature that statically typed languages offer
which dynamically typed languages do not
03:01 < ender2070> right tool for the right job
03:01 < Nola> Its ok that Go is slow ..  because it has type safety ? Lol?
03:01 < Namegduf> No?
03:01 < Namegduf> No, I don't think I said that at all
03:01 < Namegduf> At any rate, the answer is obvious
03:02 < ender2070> Nola, does Lua support concurrency and garbage
collection?
03:02 < Namegduf> LuaJIT successfully JITs Lua to achieve C-like speed
03:02 < Namegduf> Go's compilers have yet to be nearly that optimised
03:02 < Namegduf> Go is a young language and the compilers are not very
heavily optimised at all
03:03 < ender2070> not only that
03:03 < ender2070> hes comparing apples and oranges
03:03 < Namegduf> Additionally, specifiic things like the regex library are
unoptimised
03:04 < Namegduf> It's most likely a compiler optimisation difference.
03:06 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.2]
03:08 < Nola> It's pretty simple
03:08 < d_m> according to http://tinyurl.com/37s8sbj go is mostly faster
than lua in execution time (faster on pidigits, slower on almost everything else).
that said, implementation != language, and lua is nice, so use it if you want.
03:08 < Nola>
http://shootout.alioth.debian.org/u32/benchmark.php?test=all&lang=go&lang2=gpp
03:08 < Nola> 3 to 34 times slower than C++
03:08 < Nola> so its useless
03:08 < exch> nobody is forcing you to use it :p
03:09 < exch> Lua and c/c++ have had years to mature.  Go is barely out of
the womb
03:10 < Nola> ok
03:10 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
03:12 < ender2070> he already sounded like a troll
03:13 < Nola> That's not what they're billing the language as
03:14 < Nola> From the front page of golang.org, it says "Go compilers
produce fast code fast.  Typical builds take a fraction of a second yet the
resulting programs run nearly as quickly as comparable C or C++ code."
03:14 < Nola> So I looked into it, and it's not true
03:14 < Namegduf> Go's principle feature *at present* is not speed.  It is
the ease of producing *safe* and elegant code in a relatively simple to reason
with language.
03:15 < Namegduf> However, it is much closer to C/C++ than many newer,
interpreted often, languages are, at least normally.
03:15 < ender2070> Nola - I heard the creator of Go boast mostly about
garbage collection and concurrency
03:15 < ender2070> Lua doesn't even have garbage collection
03:15 < Namegduf> Python, PHP, Perl, Ruby, are all a nice set of common ones
which make 3x slower look like nothing
03:15 < Namegduf> Java is as fast as C (almost) but uses much, much more
memory and has horrible startup times, compared to Go
03:16 < KirkMcDonald> No one seems to remember D in these comparisons.
03:16 < Namegduf> C++ could get faster, perhaps, but it'll never be close to
as fast to write fast and good reliable code in.
03:17 < Namegduf> KirkMcDonald: I always thought it was implicitly "C++ but
actually worse"
03:17 < KirkMcDonald> heh
03:17 < KirkMcDonald> It may be shit, but it is reasonably performant shit,
modulo the GC.
03:17 < Nola> D is "C++ but you cant implement realtime stuff"
03:18 < KirkMcDonald> Sure you can do realtime stuff, you just need to know
how to convince the GC to do what you want.
03:18 < Nola> That doesn't work Kirk
03:18 < Nola> There's no way to control stopping the GC on a per-thread
basis
03:18 < Nola> And collection is stop-the-world
03:18 < Namegduf> Nola: Anyways, the "nearly as fast" is at present a "to be
implemented" thing.
03:18 < KirkMcDonald> By "convince the GC" I mean "preallocate and disable
the GC."
03:18 < Nola> Doesn't work, kirk
03:18 < Namegduf> Abysmal cases like 34x slower aren't a language problem,
they're a library problem
03:19 < Nola> If you disable the GC because your audio thread needs realtime
performance, now you've got a non-working GC for your GUI
03:19 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
03:19 < KirkMcDonald> Nola: It worked for the Deadlock team.
03:20 < Nola> anything they did would be a hack/workaround/evil deed
03:20 < KirkMcDonald> Yes, I think that goes without saying.  :-)
03:20 < Nola> surreptitiously "hiding" a thread from the GC
03:20 < Nola> without language support
03:21 < exch> if it does what you need it to do, then does it really matter
if it's 'evil'?  :p It's just a tool for a job
03:21 < Nola> and since when do you say D is shit?
03:21 < Nola> you've been a D evangelist
03:21 < KirkMcDonald> Nola: I like D-the-language reasonably well.
03:22 < KirkMcDonald> Nola: D-the-actual-reality-of-the-toolchain has some
severe issues.
03:22 -!- ender2070 [~ender2070@bas5-hamilton14-1279279469.dsl.bell.ca] has quit
[Ping timeout: 245 seconds]
03:23 < Nola> heh, LuaJit is almost as fast as DMD
03:23 < KirkMcDonald> Though admittedly the last time I seriously wrote
something in D was about three years ago, however, I do not believe the situation
has fundamentally changed in that time.
03:24 < manveru> i wish 'type' wasn't a keyword...
03:24 < KirkMcDonald> manveru: Call it "kind" instead.
03:25 < manveru> yeah...
03:25 < manveru> just requires some silly mindbending
03:25 -!- babusri [~E50138@122.174.108.85] has joined #go-nuts
03:27 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
03:29 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit
[Ping timeout: 272 seconds]
03:33 < fernan> so why is go slower than lua??  :P
03:35 < Nola> probably cuz of 6g 8g
03:35 < KirkMcDonald> A vast communist conspiracy to sap and impurify our
precious processor cycles.
03:36 < Nola> idunno what kinda apps you make Kirk, but I'm constantly out
of cycles.
03:37 < Nola> my job for today: drink some heavy coffee and try to make
something fast enough to be usable
03:37 < Nola> that's an average day
03:46 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
03:56 -!- ampleyfly [~ampleyfly@h-149-63.A163.priv.bahnhof.se] has quit [Ping
timeout: 265 seconds]
03:58 < exch> Would be nice if goinstall uses the makefiles that come with a
remote code repository.  Or at the very least traverse subdirectories of a repo
for any go files that should be included in the build
03:59 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts
04:02 < exch> I suppose the ability to put shell scripts in a makefile makes
it insecure, but then the actual go source being built can contain all sorts of
creepyness
04:07 -!- ampleyfly [~ampleyfly@h-149-63.A163.priv.bahnhof.se] has joined #go-nuts
04:24 < fernan> thats like having a package manager and a code builder
04:26 < fernan> that is creepy
04:26 < exch> well it generates it's own Makefile, so it already is both
04:26 < exch> just not correctly
04:29 < plexdev> http://is.gd/co5w5 by [Robert Griesemer] in go/doc/ -- go
spec: minor fix, to match conversion rules 4 and 5
04:32 -!- i3d [~i3d@unaffiliated/i3dmaster] has joined #go-nuts
04:32 < yebyen> hmmm
04:43 -!- noam_ [~noam@77.127.205.252] has joined #go-nuts
04:46 -!- noam [~noam@77.127.205.252] has quit [Ping timeout: 245 seconds]
04:58 -!- i3d [~i3d@unaffiliated/i3dmaster] has quit [Quit: i3d]
05:01 -!- scm [justme@80.171.57.77] has quit [Ping timeout: 276 seconds]
05:01 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 240
seconds]
05:02 -!- scm [justme@d135209.adsl.hansenet.de] has joined #go-nuts
05:03 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
05:09 -!- Kashia [~Kashia@port-92-200-204-24.dynamic.qsc.de] has quit [Ping
timeout: 260 seconds]
05:09 -!- Nola [Nola@76.91.62.8] has left #go-nuts []
05:13 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has joined #go-nuts
05:14 -!- Kashia [~Kashia@port-92-200-76-15.dynamic.qsc.de] has joined #go-nuts
05:14 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has quit [Remote
host closed the connection]
05:18 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
05:18 -!- eikenberry [~jae@mail.zhar.net] has quit [Ping timeout: 276 seconds]
05:30 -!- yashi [~yashi@dns1.atmark-techno.com] has quit [Remote host closed the
connection]
05:34 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has joined #go-nuts
05:36 -!- pmyshkin [~a@unaffiliated/pmyshkin] has quit [Quit: pmyshkin]
05:37 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 264
seconds]
05:43 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
05:54 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
05:57 -!- yashi [~yashi@dns1.atmark-techno.com] has joined #go-nuts
05:57 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has joined
#go-nuts
05:58 -!- yashi [~yashi@dns1.atmark-techno.com] has quit [Remote host closed the
connection]
05:59 -!- path[l] [UPP@120.138.102.34] has quit [Quit: path[l]]
06:01 -!- Boney [~paul@124-168-65-117.dyn.iinet.net.au] has quit [Ping timeout:
240 seconds]
06:05 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has quit
[Ping timeout: 265 seconds]
06:07 -!- Boney [~paul@210-84-19-202.dyn.iinet.net.au] has joined #go-nuts
06:10 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
06:13 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 258 seconds]
06:16 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
06:18 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
quit [Ping timeout: 264 seconds]
06:20 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
joined #go-nuts
06:26 -!- kel__ [~kel@cpc2-leat2-0-0-cust98.hers.cable.ntl.com] has joined
#go-nuts
06:26 -!- Boney [~paul@210-84-19-202.dyn.iinet.net.au] has quit [Ping timeout: 252
seconds]
06:27 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
quit [Ping timeout: 240 seconds]
06:28 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
joined #go-nuts
06:32 -!- Boney [~paul@124-168-85-82.dyn.iinet.net.au] has joined #go-nuts
06:34 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]]
06:34 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts
06:38 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:38 -!- yashi [~yashi@dns1.atmark-techno.com] has joined #go-nuts
06:47 -!- MizardX [~MizardX@unaffiliated/mizardx] has joined #go-nuts
06:50 -!- ktg1 [~idr@g225064225.adsl.alicedsl.de] has joined #go-nuts
06:55 -!- diegoviola [~diego@adsl-143-18.click.com.py] has left #go-nuts []
06:59 -!- TR2N [email@89-180-188-173.net.novis.pt] has left #go-nuts []
06:59 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping
timeout: 264 seconds]
06:59 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
07:02 -!- ssb [~ssb@213.167.39.150] has quit [Ping timeout: 258 seconds]
07:03 -!- froyo [~chatzilla@222.73.189.45] has joined #go-nuts
07:08 -!- Boney [~paul@124-168-85-82.dyn.iinet.net.au] has quit [Ping timeout: 240
seconds]
07:14 -!- froyo [~chatzilla@222.73.189.45] has quit [Ping timeout: 248 seconds]
07:21 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has
joined #go-nuts
07:22 -!- andrewh_ [~andrewh@89.193.66.60] has joined #go-nuts
07:23 -!- tibshoot [~tibshoot@gw-puteaux.linagora.com] has joined #go-nuts
07:25 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has quit
[Remote host closed the connection]
07:28 -!- andrewh_ [~andrewh@89.193.66.60] has quit [Quit: Leaving]
07:30 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
07:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 245 seconds]
07:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
07:35 -!- bmizerany [~bmizerany@c-24-6-37-113.hsd1.ca.comcast.net] has joined
#go-nuts
07:48 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
07:52 -!- senneth [senneth@irssi/staff/senneth] has quit [Read error:
error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number]
07:57 -!- senneth_ [senneth@irssi/staff/senneth] has joined #go-nuts
07:57 -!- path[l] [UPP@120.138.102.34] has quit [Quit: path[l]]
07:58 -!- senneth_ [senneth@irssi/staff/senneth] has quit [Client Quit]
08:02 -!- ssb [~ssb@213.167.39.150] has joined #go-nuts
08:10 -!- Kashia [~Kashia@port-92-200-76-15.dynamic.qsc.de] has quit [Quit: This
computer has gone to sleep]
08:13 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
08:13 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
08:14 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
08:19 -!- ShadowIce [shadowice@unaffiliated/shadowice-x841044] has joined #go-nuts
08:31 -!- nighty^ [~nighty@210.188.173.245] has joined #go-nuts
08:31 -!- ShadowIce [shadowice@unaffiliated/shadowice-x841044] has quit [Ping
timeout: 245 seconds]
08:35 -!- tux21b [~tux21b@90.146.60.30] has joined #go-nuts
08:38 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has joined
#go-nuts
08:38 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
08:50 -!- ikaros [~ikaros@f052059020.adsl.alicedsl.de] has joined #go-nuts
08:53 -!- photron [~photron@port-92-201-4-198.dynamic.qsc.de] has joined #go-nuts
08:59 -!- GoBIR [~gobir@76.252.29.235] has joined #go-nuts
09:00 -!- Boney [~paul@124-168-84-11.dyn.iinet.net.au] has joined #go-nuts
09:08 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
09:12 -!- path[l] [~path@122.182.0.38] has joined #go-nuts
09:15 -!- Boney_ [~paul@124-168-70-104.dyn.iinet.net.au] has joined #go-nuts
09:16 -!- Boney [~paul@124-168-84-11.dyn.iinet.net.au] has quit [Read error:
Operation timed out]
09:19 -!- babusri [~E50138@122.174.108.85] has quit [Ping timeout: 272 seconds]
09:19 -!- fernan [~ca7a95c3@gateway/web/freenode/x-dlnzwhkcfnijdneq] has quit
[Quit: Page closed]
09:26 -!- plh [plh@gateway/shell/rootnode.net/x-sftodhwwstbxnyfl] has quit [Quit:
emacs]
09:27 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
09:32 -!- Boney_ [~paul@124-168-70-104.dyn.iinet.net.au] has quit [Ping timeout:
265 seconds]
09:32 -!- Agon-laptop
[~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has joined
#go-nuts
09:34 -!- Boney [~paul@210-84-17-210.dyn.iinet.net.au] has joined #go-nuts
09:54 -!- tibshoot [~tibshoot@gw-puteaux.linagora.com] has quit [Read error:
Connection reset by peer]
09:56 -!- tibshoot [~tibshoot@gw-puteaux.linagora.com] has joined #go-nuts
09:56 -!- aho [~nya@e179176127.adsl.alicedsl.de] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
10:00 < micrypt> How does setting defaults in type structs work?
10:02 < wrtp> micrypt: the default is zero.
10:03 < bortzmeyer> micrypt: "Otherwise, each variable is initialized to its
zero value.  " http://golang.org/doc/go_spec.html
10:04 < micrypt> wrtp: Thanks.  Would something like this work?
http://pastebin.com/gfv8ZyFT
10:04 < micrypt> bortzmeyer: Thanks.
10:07 < wrtp> micrypt: no, that's a syntax error
10:08 < wrtp> zero values are quite a fundamental part of go.  it's worth
working with them, rather than struggling against them...
10:08 < micrypt> wrtp: Okay, so I ought to pass them in at creation.
10:09 < wrtp> micrypt: not necessarily.  you could just set them in the
NewClient function
10:10 < micrypt> wrtp: Yeah, that's what I meant.  Thanks a lot.
10:10 < wrtp> and then let the user of the API change them if it needs to
10:10 < wrtp> micrypt: to avoid setting all the fields individually, you can
have a global var that holds all the fields and their default values
10:11 < wrtp> so below your type Client, you'd have var defaults =
Client{URL = SANDBOX_PATH, Client = DEFAULT_CLIENT, ...  }
10:16 < micrypt> wrtp: Thanks, I'll look into that.
10:21 < wrtp> micrypt: oops, s/=/:/g in my line above
10:21 < wrtp> as in, the '=' characters should be ':' characters
10:21 < wrtp> apart from the first one, obviously :-)
10:22 < micrypt> wrtp: I noticed.  :P
10:30 -!- Agon-laptop
[~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has quit [Ping
timeout: 258 seconds]
10:35 -!- Agon-laptop
[~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has joined
#go-nuts
10:37 -!- wayneeseguin [~wayneeseg@rrcs-72-45-208-165.nys.biz.rr.com] has quit
[Ping timeout: 252 seconds]
10:38 -!- wayneeseguin [~wayneeseg@rrcs-72-45-208-165.nys.biz.rr.com] has joined
#go-nuts
10:54 -!- Boney [~paul@210-84-17-210.dyn.iinet.net.au] has quit [Ping timeout: 260
seconds]
10:55 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
10:55 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
joined #go-nuts
10:56 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
10:56 -!- noam_ [~noam@77.127.205.252] has quit [Read error: Connection reset by
peer]
10:57 -!- noam_ [~noam@77.127.205.252] has joined #go-nuts
10:59 < micrypt> What might be wrong with this?  I keep getting the errors
"resp declared and not used" "err declared and not used"
http://pastebin.com/Z2bCk0j6
11:00 < micrypt> Nevermind, fixed.
11:02 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
11:06 -!- Boney [~paul@210-84-3-228.dyn.iinet.net.au] has joined #go-nuts
11:26 -!- noam_ [~noam@77.127.205.252] has quit [Read error: Connection reset by
peer]
11:26 -!- noam_ [~noam@77.127.205.252] has joined #go-nuts
11:27 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Quit: WeeChat
0.3.2]
11:30 -!- froyo [~chatzilla@222.73.189.45] has joined #go-nuts
11:43 -!- crashR [~crasher@codextreme.pck.nerim.net] has joined #go-nuts
11:44 -!- alehorst [~alehorst@187.59.16.173] has quit [Ping timeout: 248 seconds]
12:01 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
12:01 -!- alehorst [~alehorst@189.114.191.106] has joined #go-nuts
12:06 < wrtp> another little gem i hadn't appreciated, from the go manual:
In general, a conversion succeeds if the value of x is assignment compatible with
type T, or if the value would be assignment compatible with type T *if the value's
type, or T, or any of their component types were unnamed*.  (emphasis mine)
12:09 -!- alehorst [~alehorst@189.114.191.106] has quit [Ping timeout: 248
seconds]
12:10 < wrtp> that means i can put my own methods on some other package's
types, if i want...
12:10 -!- zyichi [~zyichi@124.205.180.154] has left #go-nuts []
12:13 -!- BrowserUk [~irc1_20_B@92.15.74.184] has joined #go-nuts
12:19 -!- vdrab [~vdrab@cap012-251.kcn.ne.jp] has joined #go-nuts
12:19 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
12:19 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
12:25 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 260 seconds]
12:25 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
12:26 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
12:26 -!- alehorst [~alehorst@201.22.41.93.dynamic.adsl.gvt.net.br] has joined
#go-nuts
12:27 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has quit [Ping
timeout: 258 seconds]
12:32 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
12:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
12:34 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
12:38 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 276 seconds]
12:40 -!- nighty^ [~nighty@210.188.173.245] has quit [Quit: Disappears in a puff
of smoke]
12:41 < wrtp> darn, it doesn't work on interface types.  i reckon that's a
compiler bug.
12:42 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has joined
#go-nuts
12:43 < BrowserUk> I got junk.go:13: must call x.Test?ÀTest I know how to
fix it (add ()), but what are the hieroglyphics?
12:45 < BrowserUk> The line of code was x.Test; And shoudl be x.Test();
12:59 -!- BrowserUk [~irc1_20_B@92.15.74.184] has left #go-nuts []
13:01 -!- Boney [~paul@210-84-3-228.dyn.iinet.net.au] has quit [Ping timeout: 240
seconds]
13:03 -!- Boney [~paul@124-168-55-132.dyn.iinet.net.au] has joined #go-nuts
13:05 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
13:08 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
13:08 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
13:09 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
13:10 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has joined
#go-nuts
13:12 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
13:15 -!- ponce [~ponce@paradisia.net] has joined #go-nuts
13:28 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
13:29 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Read
error: Operation timed out]
13:29 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
13:30 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
13:30 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
13:40 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:41 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
13:41 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
13:44 -!- saerith [~saerith@dhcp193-136.wireless.buffalo.edu] has joined #go-nuts
13:45 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
13:45 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
13:52 -!- photron [~photron@port-92-201-4-198.dynamic.qsc.de] has quit [Ping
timeout: 260 seconds]
13:53 -!- cmarcelo [~cmarcelo@200.184.118.130] has joined #go-nuts
13:53 -!- cmarcelo [~cmarcelo@200.184.118.130] has quit [Changing host]
13:53 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
13:54 -!- saerith [~saerith@dhcp193-136.wireless.buffalo.edu] has quit [Ping
timeout: 248 seconds]
13:59 -!- iant [~iant@67.218.105.3] has joined #go-nuts
13:59 -!- mode/#go-nuts [+v iant] by ChanServ
14:01 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
14:01 -!- zyichi [~zyichi@117.79.83.167] has joined #go-nuts
14:01 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
14:04 -!- photron [~photron@port-92-201-9-141.dynamic.qsc.de] has joined #go-nuts
14:04 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has joined #go-nuts
14:04 -!- iant [~iant@67.218.105.3] has quit [Ping timeout: 258 seconds]
14:08 -!- iant [~iant@67.218.105.3] has joined #go-nuts
14:08 -!- mode/#go-nuts [+v iant] by ChanServ
14:14 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
14:19 -!- rimmmer [~5908a584@gateway/web/freenode/x-kvijmgphnukknkey] has joined
#go-nuts
14:22 -!- mbarkhau [~koloss@dslb-084-059-167-248.pools.arcor-ip.net] has joined
#go-nuts
14:37 -!- eikenberry [~jae@mail.zhar.net] has joined #go-nuts
14:46 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
14:47 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
14:48 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
14:55 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has joined #go-nuts
14:55 -!- leimy [~user@h-67-102-171-242.sttnwaho.static.covad.net] has joined
#go-nuts
14:55 -!- kota1111 [~kota1111@gw2.kbmj.jp] has quit [Quit: Leaving...]
15:01 -!- iant [~iant@67.218.105.3] has quit [Ping timeout: 276 seconds]
15:05 -!- ikaros [~ikaros@f052059020.adsl.alicedsl.de] has quit [Quit: Leave the
magic to Houdini]
15:09 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
15:10 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
15:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
15:12 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
15:15 -!- Project_2501 [~Marvin@82.84.74.54] has joined #go-nuts
15:17 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
15:17 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has joined
#go-nuts
15:21 < manveru> i don't get it...  why do imports have to be in $GOROOT?
15:22 -!- rimmmer [~5908a584@gateway/web/freenode/x-kvijmgphnukknkey] has quit
[Quit: runs with his ass covered]
15:22 < manveru> i have a lib in another directory, but 6l complains it
cannot find /usr/lib/go/pkg/linux_amd64/myimport.a even after it built fine with
6l -I /where/myimport/is
15:22 < manveru> err
15:22 < manveru> 6g built, not 6l :)
15:23 < manveru> 6l obviously doesn't take -I...
15:23 < exch> import "../mylibdir/mylib"
15:23 -!- g0bl1n [~anonymous@a213-22-77-195.cpe.netcabo.pt] has quit [Quit:
g0bl1n]
15:23 < manveru> i have to hardcode that?
15:23 -!- BrowserUk [~irc1_20_B@92.15.74.184] has joined #go-nuts
15:23 < exch> ya
15:24 < manveru> that's gross :(
15:24 < exch> or get the lib in the GOROOT package dir
15:24 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
15:24 < manveru> yeah, but i don't want libs to mess with my go install
15:24 < exch> then you're stuck with the path
15:25 < manveru> ok
15:25 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
15:25 < manveru> when is this gonna be fixed?
15:26 < manveru> i still don't get why goinstall doesn't just install
somewhere in $HOME if it doesn't have root rights
15:26 < leimy> If it's determined to be a real problem for enough people I
guess it will be fixed.
15:26 < leimy> I have my go installation in my home directory
15:27 < exch> I personally have no problem with hardcoding the path.  It has
to be in a fixed location anyways for the build output of those packages
15:27 < manveru> yeah...  that seems the only sane way
15:27 < leimy> global installation of go doesn't seem like it's that
advantageous as the go installation is only good for developers not runtime
15:27 < leimy> in fact, go binaries have no runtime deps, so why do a global
install?
15:27 * exch has Go in his home dir to
15:27 < manveru> go binaries have runtime deps...  no?
15:27 < leimy> nope :-)
15:27 < exch> nope
15:27 < leimy> the kernel
15:27 < manveru> if i like against sdl or opengl?
15:28 < leimy> but that's it :-)
15:28 < manveru> *link
15:28 < exch> if you link against c libs, then obviously you need those libs
15:28 < leimy> and only if you don't link against them statically :-)
15:28 < manveru> i wouldn't even know how to tell go to link static
15:28 < leimy> gcc -static
15:28 < manveru> all those 6g/6l flags are cryptic
15:28 < leimy> if tat's your linker :-)
15:29 < manveru> no, i heard gccgo isn't quite here yet
15:29 < manveru> anyway, this really makes distributing my stuff hard
15:29 < leimy> fair enough
15:30 < leimy> Why?!
15:30 < leimy> how could it be easier with no dependencies?
15:30 < leimy> you'll never have to support an end user having a wrong .so
lib
15:30 < leimy> EVER
15:30 < leimy> :-)
15:31 < leimy> I mean this might give a system administrator heartburn
15:31 < leimy> as the don't know what's got what linked to what.
15:31 < manveru> http://paste.pocoo.org/show/218104/
15:31 < leimy> yep I've got a go binary running right now that when I do
"ldd" on it it just says "statically linked"
15:32 < manveru> so if i distribute that, i have to tell people to goinstall
Go-SDL and Go-OpenGL, then go in their directories and run a manual `make` as root
because goinstall messes up...
15:32 < leimy> Once you start walking the path of C interoperability, you
pull in the evil world of shared libs :-)
15:32 < manveru> and all that without knowing that those libs don't mess up
the go install itself
15:32 < leimy> nope...  you need them to have exactly those libraries you
got from ldd
15:32 < manveru> well, there are no alternatives to C
15:33 < leimy> and the go install is not needed on the machine you want to
run go programs on.
15:33 < leimy> just the files listed there.
15:33 < manveru> but how do they build it then?
15:33 < leimy> You said "distribute" not "distribute source"
15:33 < manveru> well, that's the same
15:34 < manveru> at least if you think of gentoo or archlinux
15:34 < leimy> See this: http://5ttt.org/
15:34 < leimy> That's a go social networking application for 3 different
programs, distribtued as 64bit binaries, and you don't need Go to run it as far as
I can tell.
15:34 < leimy> This guy is "distributing a go program" :-)
15:35 < manveru> yeah, the freenet alternative?
15:35 < leimy> he chose not to release any source at all.
15:35 < leimy> I have no idea, I've never run it :-)
15:35 < manveru> so what about 32bit guys?
15:35 < leimy> he'd have to make you a build
15:35 < manveru> exactly
15:36 < leimy> Well his life is simplified in that he only supports the
builds he's done :-)
15:36 < manveru> i can't stand closed source anymore...  waiting for adobe
and skype to get their act together for 6 years already is enough
15:36 -!- Mopman [~sam@208.43.68.131] has quit [Changing host]
15:36 -!- Mopman [~sam@unaffiliated/mopman] has joined #go-nuts
15:36 < Mopman> thinly veiled FOSS argument presented as a technical one...
is thinly veiled :P
15:36 < leimy> well you're talking about a different problem
15:36 < leimy> I was talking about distribution
15:37 < leimy> If you want to distribute the source, go for it, that's a
nice thing to do and bless you for doing so.
15:37 < leimy> but if you don't, oh well.  Some people might still find that
binary useful :-)
15:37 < manveru> i have never released anything without source
15:37 < leimy> Yeah, tonika has no runtime deps other than the kernel
15:38 < manveru> oh well
15:38 < leimy> I have but I've worked for commercial software companies that
weren't hot on giving source away
15:38 -!- Venom_X [~pjacobs@71.20.102.220] has joined #go-nuts
15:39 < manveru> i just try to make it easy for other people to build it,
either to just run it or to contribute
15:39 < leimy> yeah, and sharing source is the way to go there.  :-)
15:39 < leimy> I'm not saying it's bad to share source, in many cases it's
the only way to go.
15:39 < manveru> obviously someone can provide binary versions from that
easily
15:39 < leimy> exactly
15:39 < leimy> but you have less to support if you don't :-)
15:40 < leimy> or you can give the source and say "I only support my builds"
15:40 < manveru> oh well
15:41 < manveru> i just miss some easy alternative to ruby's $RUBYLIB that
allows you to influence the load path
15:41 < leimy> LD_LIBRARY_PATH ?
15:41 < leimy> that's what ELF platforms use right?
15:41 < manveru> i guess, i don't know c that much
15:41 < leimy> Yeah, that's the runtime linker's library path
15:41 < leimy> you can override system defaults with it.
15:42 < manveru> is there something like that for go?
15:43 < manveru> i could adjust the import path and bundle the libraries i
use
15:44 < manveru> that's how many larger apps do it anyway
15:45 < manveru> and if i wrap the calls to that library i can localize the
import to a single file
15:46 < manveru> i'm still puzzled over why go requires you to import
libraries per file and not per package
15:47 < yebyen> ?
15:47 < yebyen> you don't
15:48 < yebyen> you compile a package into a standalone .a
15:48 < yebyen> and then you link that in
15:48 < yebyen> but, you can only link it in to a go program
15:48 < manveru> if you use the math package in a.go and b.go, both
belonging to package x, you have to import "math" in both files
15:49 < yebyen> manveru: of course, that's what you mean
15:49 < yebyen> doesn't that make sense?
15:49 < yebyen> if the symbol "math" is in this file, there should be an
explanation in this file of what it means
15:49 < yebyen> import "math"
15:49 < manveru> it might make sense as an option, but i think it's
cumbersome
15:49 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has joined
#go-nuts
15:50 < manveru> if my compiled app has the math lib anyway, i might as well
refer to it from elsewhere
15:50 < yebyen> or var math
15:50 < yebyen> hmm
15:50 < yebyen> i see what you're saying
15:50 < yebyen> if i'm declaring a global variable
15:50 < yebyen> i only need to do it in one file for the whole package
15:50 < yebyen> but, if it's a package...
15:50 < manveru> right now i have to toggle stuff like import . "fmt" over
various files if i use debugging output
15:51 -!- zyichi [~zyichi@117.79.83.167] has left #go-nuts []
15:51 < yebyen> you can easily invent a better way to do debugging output
15:51 < manveru> even if i use it all the time in other parts of the package
15:51 < exch> you are saying that if a and b import math..  and then a and b
get linked into c, c will contain all math code twice?
15:51 -!- barismetin [~barismeti@kde/developer/baris] has joined #go-nuts
15:51 < exch> there's bound to be some issues there with duplicate symbol
definitions
15:51 < yebyen> exch: no, we're saying that it's kind of arbitrary to have
global variables that you can define once anywhere in the package
15:51 < manveru> exch: i don't think so
15:51 < exch> right, fair enough
15:51 < yebyen> and then turn around and say, the package import statement
must be specified in every file in the package
15:52 < exch> I suppose that's a bit odd
15:52 < yebyen> global variables are a bad policy anyway
15:52 < manveru> but i also cannot say something like: import(mymath
"math"); math = mymath
15:52 -!- emiel_ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has
quit [Read error: Operation timed out]
15:52 < manveru> and use math that way
15:52 < yebyen> if you're holding them up as your example of "why to do
something this way"
15:52 -!- emiel_ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
15:52 < yebyen> yeah, they're not proper symbols like in lisp either
15:52 < yebyen> just name spaces
15:53 < yebyen> are there operations you can perform on a package name?
15:53 < manveru> not that i know of
15:53 < yebyen> for reflection, list the methods it owns, something like
that
15:53 -!- Kashia [~Kashia@port-92-200-76-15.dynamic.qsc.de] has joined #go-nuts
15:54 < yebyen> if the package is not an object, i guess it would have no
reflection of any kind
15:54 < manveru> so right now go drives me towards wrapping all calls to
other libraries into in-package functions just so i don't have to import all over
my files the same libs
15:54 < yebyen> import neutrino
15:54 < manveru> Kashia: oi
15:55 < manveru> i don't see how this has anything to do with global
variables though
15:55 < Eko> manveru: contrariwise, go gives you the ability to only import
the necessary packages to compile each individual file
15:56 < manveru> uhm
15:56 < yebyen> manveru: if you're debugging one file, you only need to add
the import statement for your debugging/logging package in that one file
15:56 < manveru> if they belong to the same package, it usually means you
have to compile _all_ files anyway since they depend on each other
15:56 < yebyen> manveru: if you're debugging multiple files in one package,
try making your debug statement a closure
15:57 < manveru> of course i could put all code into a single file, that
would solve it....  :P
15:57 < yebyen> manveru: and assign it to the global variable somewhere in
your package
15:57 < yebyen> then, your other package files in the package won't need to
import anything, just call the closure variable
15:57 < yebyen> it's kind of a bastardized use of closures
15:58 < yebyen> but it exploits the fact that global variables are declared
semantically different from package imports
15:58 < yebyen> manveru: do you know what i mean?
15:58 < manveru> yeah
15:58 < manveru> and i don't think i like that much better
15:58 < yebyen> well
15:59 < manveru> sorry to be all ranty today :)
15:59 < Eko> if you're talking about debugging, I have an elog package that
I wrote which allows me to send all of my logging to a Logger object and it
filters the output based on the level I associate with it; so when I'm done with
debugging, I can set the filter level up and only get warning and error messages.
15:59 < yebyen> Eko: great, you can pass that logging object around, or put
it somewhere in scope of the closure that we're talking about, and pass that
closure around
15:59 < yebyen> that's really more what you should be doing
16:00 < Eko> I've been conditioned to not use globals, so I pass it around
or store it in objects, lol
16:00 < manveru> i usually just use Println statements to narrow down weird
behaviour, when i'm done with that i remove them, and of course have to remove the
import as well
16:00 < yebyen> manveru: right...  so, have this in some file
16:01 < yebyen> import "fmt"; var dbg=func(d string) { fmt.Println(d) }
16:01 < yebyen> then, anywhere in your package, you can call dbg("the
message")
16:01 < Eko> I've learned to write debug statements (using level FINEST)
that are meaningful enough that I don't feel the need to remove them, but I don't
feel bad leaving them in the code when I can't ever see its output when I set the
filter up.
16:01 < yebyen> with no adornments
16:01 < manveru> Eko: but that affects the performance
16:02 < manveru> yebyen: that only works for strings
16:02 < manveru> Println is nice because it uses the ...interface{} thingy
16:02 < yebyen> import "fmt"; var dbg=func(d interface{}) {...}
16:02 < manveru> which is kinda hard to wrap
16:02 < Eko> then make a func(f string, a ...interface{}) { fmt.Printf(fmt,
a) }
16:03 < Eko> er
16:03 < Eko> f,a
16:03 < yebyen> ...interface{} is really the syntax for that?
16:03 < yebyen> does it come back in an array of interface{}
16:03 < Eko> yep.  and it can be passed straight back into the fmt.*print*
functions
16:03 < yebyen> i know my professor had a pack of slides that explained how
to use ...
16:04 < yebyen> you need to know about reflection if you plan to do anything
with the contents of that array?
16:04 < yebyen> or just type assertion
16:04 < Eko> I'm not actually sure how to use the value that you get out of
...interface{}, I just know I can pass it to the fmt commands lol
16:04 < manveru> it's type []interface{}
16:04 < yebyen> and switch .(type)
16:04 < manveru> so you can range and use reflect
16:04 < manveru> which is what fmt does
16:04 < Eko> I figured as much; it's just never come up.
16:05 < yebyen> yeah you probably don't try to write code like that
16:05 < manveru> heh
16:05 < yebyen> generally
16:05 < Eko> I've been coding Go for 48 hours now and am really, really
enjoying it.
16:05 < yebyen> types are good
16:05 < Eko> it's got all of my favorite aspects of C, Java, and Ruby.
16:05 < yebyen> i would like to chat with a ruby person about ruby
16:06 < yebyen> i've been coding go for 11 weeks
16:06 < manveru> i have code like this: http://paste.pocoo.org/show/218115/
16:06 < Eko> and as for the performance hit of having a dedicated logger,
manveru, with a language whose inner loop time is 10% off of C, I don't really
worry about the performance hit of having debuggable code.
16:06 < yebyen> and it seems like it doesn't have half as many fancy tricks
as ruby
16:07 < Eko> it doesn't have as many fancy tricks, but it has closures and
another neat data structure (channels) that let you do a lot of really neat things
16:07 -!- vdrab [~vdrab@cap012-251.kcn.ne.jp] has quit [Quit: vdrab]
16:07 < manveru> yeah
16:08 < Eko> once more packages start implementing things like strings.Map,
it'll start to have more ruby-like trickiness
16:08 < manveru> go certainly isn't bad, just from time to time it rubs me
the wrong way because it's still pretty raw
16:09 < Eko> I've always liked it a little rough ;)
16:09 < Eko> I think it's definitely a step in the right direction as far as
languages go.
16:10 < manveru> hehe
16:10 < manveru> my co-worker still mocks me for learning go...  he loves
his sbcl
16:10 < Eko> rofl
16:10 < taruti> :D
16:10 < taruti> give him some extra parens to make amends?
16:10 < Eko> common lisp is neat, but...  functional programming has its
place, and it's not as a general purpose programming language
16:11 < ThunderChicken> Heh.
16:11 < ThunderChicken> FP is best as a sublanguage used to solve very
specific subproblems.
16:11 < Eko> hehe.
16:11 < manveru> :)
16:11 < manveru> i don't mind lisp, just not something i wanna do all day
16:12 < Eko> GoBIR: bye
16:12 -!- GoBIR [~gobir@76.252.29.235] has quit [Quit: SIGINT: interrupt]
16:12 < manveru> you end up trying to wrap everything into neat lists
16:12 < Eko> yeah
16:12 < taruti> btw CL is not functional but multiparagdim
16:12 < Eko> and then when you get really hard-pressed, you make it into a
record and have lists of records
16:12 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 260 seconds]
16:13 < taruti> well there is a rich object system too
16:13 < Eko> meh; I find that life is a lot better when you don't use the
imperative things in CL
16:14 < manveru> taruti: but you can't deny that lisp is viral, kinda like
haskell
16:14 < Eko> as in, it gets into your head and does a lot of damage before
you even know what's going on?  lol
16:14 < taruti> manveru: I like my Haskell without lisp, thank you very much
:)
16:14 < manveru> you try to interface with something, see it doesn't exactly
map as nicely with your language as it should, and try to rewrite it
16:15 < manveru> or maybe that's just me
16:15 < taruti> Is there a good writeup on the "correct" way to handle
closing channels / stopping go-routines in Go?
16:15 < manveru> i prefer pragmatic over pure
16:16 < manveru> hmm
16:16 < manveru> effective go?
16:16 < taruti> I think of Haskell is very intuitive, but it might have
eaten my brain already many years ago
16:16 < manveru> yeah, haskell these days is better
16:16 < taruti> manveru: nope
16:17 < manveru> mostly because it now has a vast amount of libraries
16:17 -!- barismetin [~barismeti@kde/developer/baris] has quit [Quit: Leaving...]
16:17 < manveru> hmm
16:18 < manveru> then there is not much about it, i'm afraid...  maybe some
snippets on the ML
16:18 -!- emiel__ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
16:18 < manveru>
http://groups.google.com/group/golang-nuts/browse_thread/thread/2389c05ba1d510e3
16:19 < manveru> now, where was i...
16:19 < manveru> right, making improvments to go-sdl
16:19 < manveru> bbl
16:19 < taruti> just that it is a tricky subject (I am teaching someone Go
and she has issues with channels and I am thinking of what to give her for
reading).
16:19 -!- narsil [~Narsil@rke75-4-82-234-110-106.fbx.proxad.net] has quit [Read
error: No route to host]
16:20 -!- emiel_ [~emiel@c-3d4071d5.610-2-64736c10.cust.bredbandsbolaget.se] has
quit [Ping timeout: 240 seconds]
16:21 < manveru> so
16:21 < manveru> i see make creates a file in ttf/_obj/sdl/ttf.a for example
16:22 < manveru> i wonder what the _obj is about
16:24 < kmeyer> just a build directory that tries to not conflict with any
dirname you would use
16:28 < BrowserUk> How do you do the equivalent of C<for( i = 0, j=0; i
< n; ++i, ++j )>?
16:29 < manveru> for i := 0; i < n; i++, j++ {} ?
16:29 < manveru> err
16:29 < manveru> for i, j := 0, 0; i < n; i++, j++ {} ?
16:31 < wrtp> manveru: just glanced at your code
(http://paste.pocoo.org/show/218115/) -- why not just use interfaces?  they'll be
much more efficient, i'd guess.
16:31 < manveru> wrtp: because then i'd have to implement those functions in
lots of different places
16:32 < manveru> all i care about are these fields
16:32 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
16:32 < manveru> and interfaces cannot cover fields
16:32 -!- iant [~iant@nat/google/x-ktrrbwjgyuyymyfl] has joined #go-nuts
16:32 -!- mode/#go-nuts [+v iant] by ChanServ
16:33 < manveru> so yeah, it's not performant, but it's fast enough and a
whole lot more comfortable
16:33 < wrtp> manveru: you don't have to implement those functions in lots
of different places - just include a single struct that implements the functions
required
16:34 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Read error: Connection
reset by peer]
16:34 < manveru> BrowserUk: i just checked the spec, it seems like there is
no equivalent in go
16:34 < kmeyer> manveru: not quite
16:34 < kmeyer> i and j will only exist for that scope in Go ; in C they are
defined outside the loop and therefore exist after the loop ends
16:34 < kmeyer> :)
16:35 < wrtp> e.g.  type DrawablesId struct {d Drawable}; func (d
DrawabelsId) GetDrawable() Drawable; type DrawableInterface interface
{GetDrawable() Drawable}
16:35 < BrowserUk> manveru: Indeed, Best I came up with was go<for i,j :=
0,0; i < 10; i++ { println( i, j ); j++; }>
16:35 < manveru> the postcondition can only be a simple statement
16:35 < kmeyer> ah
16:35 < kmeyer> well
16:35 < kmeyer> ok
16:36 < kmeyer> i, j = i+1, j+1 ?
16:36 < manveru> the other point is valid too, but i don't think that's what
he cared about
16:36 < wrtp> then in any struct, just include it: e.g.  type SomeStruct
{DrawblesID; anotherField int}
16:36 < manveru> kmeyer: let's try :)
16:36 -!- froyo [~chatzilla@222.73.189.45] has quit [Ping timeout: 240 seconds]
16:36 < kmeyer> :P
16:37 < manveru> for i, j := 0, 0; i < n; i, j = i+1, j+1 {
16:37 < wrtp> kmeyer: yes
16:37 < manveru> this compiles
16:37 < BrowserUk> kmeyer: that works.
16:37 < kmeyer> neat
16:37 < kmeyer> kind of gross, but neat
16:37 < manveru> hmm
16:37 * BrowserUk nods...
16:37 < wrtp> but in general it's better to have one controlling variable,
and increment the other outside the loop header
16:37 < manveru> i, j += 1, 1 would be neat :)
16:38 < wrtp> i still really want to be able to have a two-statement for
claus
16:38 < wrtp> e
16:38 -!- Venom_X_ [~pjacobs@66.54.185.131] has joined #go-nuts
16:38 < wrtp> how about...  it gets called "while" ?!
16:39 < wrtp> while n, err := fd.Read(buf); n > 0 {
16:39 < wrtp> }
16:39 < manveru> and ignore err?  :)
16:39 < manveru> sorry, red herring
16:40 < manveru> doesn't need a new keyword anyway, since binary
for-statement still has no spec
16:41 -!- tibshoot [~tibshoot@gw-puteaux.linagora.com] has quit [Quit: Quitte]
16:41 < wrtp> manveru: i agree.  but it's confusing to use for, because the
meaning of the first statement changes
16:41 -!- Venom_X [~pjacobs@71.20.102.220] has quit [Ping timeout: 240 seconds]
16:42 < manveru> i don't see why that would be an argument
16:42 < manveru> unary for statemnt differs from the first clause in ternary
too
16:43 -!- Venom_X_ [~pjacobs@66.54.185.131] has quit [Ping timeout: 258 seconds]
16:43 <+iant> the unary for statement looks clearly different; I would be
concerned that a two clause for statement would look a lot like a three clause
statement but behave significantly differently
16:43 < manveru> for n > 0 {} has only the middle statement in common
with for n := 0; n < 10; n++ {}
16:43 < wrtp> that is true.  but one more rule may be one too many
16:44 -!- Venom_X [~pjacobs@66.54.185.131] has joined #go-nuts
16:44 < wrtp> iant: yes.  that's why i though one could just call it "while"
16:44 < wrtp> s/though/thought/
16:44 < manveru> i'd rather see stuff like 1.upto(10, func(n int){}) :)
16:45 -!- piglet_ [~piglet@93-136-61-105.adsl.net.t-com.hr] has joined #go-nuts
16:45 < manveru> fd.ReadWith(buf, func(...){})
16:46 < manveru> less pollution outside libraries...
16:56 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
16:56 -!- carllerche [~carllerch@208.87.61.203] has joined #go-nuts
16:57 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
16:57 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:318f:e5c7:6583:bc1b] has joined
#go-nuts
17:02 -!- path[l] [~path@122.182.0.38] has quit [Quit: path[l]]
17:09 -!- Xurix [~Luixsia@AToulouse-254-1-27-90.w81-250.abo.wanadoo.fr] has joined
#go-nuts
17:10 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
17:17 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Quit: Lost terminal]
17:18 -!- micrypt [~micrypt@94-195-127-212.zone9.bethere.co.uk] has quit [Quit:
Leaving.]
17:21 < manveru> given i have a uint8 where every bit stands for a boolean
17:21 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has quit [Quit: Disappears
in a puff of smoke]
17:22 < manveru> the way to test for them is flags & 0x2 (checking for 3rd
bit on), right?
17:22 < manveru> doesn't even need the 0x part...
17:23 -!- ikaros [~ikaros@f052059020.adsl.alicedsl.de] has joined #go-nuts
17:23 < photron> flags & 4 tests for the 3rd bit
17:24 < wrtp> flags & (1 << n) is probably the nicest way to write it
17:25 < wrtp> actually flags&(1<<n) != 0
17:25 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
17:26 < manveru> n is?
17:26 < photron> the bit position starting from 0
17:26 < wrtp> yup
17:26 < manveru> ok...
17:27 < manveru> that works nicely, thanks :)
17:27 < manveru> proof of concept: >> (0..7).map{|n| 0b10101101 &
(1<<n) != 0 }
17:27 < manveru> => [true, false, true, true, false, true, false, true]
17:27 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
17:27 < manveru> thanks
17:28 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
17:31 < kmeyer> I think you might want #ruby-lang ;)
17:32 < manveru> lol
17:32 -!- aho [~nya@f051154225.adsl.alicedsl.de] has joined #go-nuts
17:32 < manveru> nah, it's just that i'm still waiting for igo
17:33 < manveru> go isn't exactly a language for oneliners either...
17:38 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
17:38 < MizardX> well...  linbreaks aren't required :P
17:39 * wrtp thinks it would be nice if go supported binary constants
17:41 < BrowserUk> manveru: When you're just testing syntax and have a few
variables declared but as unused, you can shut the compiler up with func use( ...
) {} ...  use( unusedVarOfAnyType, unused2 );
17:44 < KirkMcDonald> wrtp: As in 0b0101010?
17:45 -!- Venom_X_ [~pjacobs@71.20.102.220] has joined #go-nuts
17:48 -!- Venom_X [~pjacobs@66.54.185.131] has quit [Ping timeout: 252 seconds]
17:49 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
host closed the connection]
17:50 -!- Kashia [~Kashia@port-92-200-76-15.dynamic.qsc.de] has quit [Quit:
Leaving]
17:51 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
17:53 < wrtp> KirkMcDonald: yes
17:59 -!- name [~name@sburn/devel/name] has joined #go-nuts
18:12 -!- Xurix [~Luixsia@AToulouse-254-1-27-90.w81-250.abo.wanadoo.fr] has quit
[Ping timeout: 240 seconds]
18:18 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
18:20 -!- slashus2 [~slashus2@65.197.8.82] has joined #go-nuts
18:20 -!- path[l] [UPP@120.138.102.34] has joined #go-nuts
18:26 -!- Gianna_Parry [~gabrielb@c-68-80-9-150.hsd1.nj.comcast.net] has joined
#go-nuts
18:26 -!- Gianna_Parry [~gabrielb@c-68-80-9-150.hsd1.nj.comcast.net] has left
#go-nuts []
18:32 -!- slashus2 [~slashus2@65.197.8.82] has quit [Quit: slashus2]
18:41 -!- cmarcelo [~cmarcelo@200.184.118.130] has joined #go-nuts
18:41 -!- cmarcelo [~cmarcelo@200.184.118.130] has quit [Changing host]
18:41 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
18:42 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
18:44 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
18:45 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
18:52 -!- plainhao [~plainhao@mail.xbiotica.com] has joined #go-nuts
18:56 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
18:58 -!- peterdn_ [~peterdn@cpc1-oxfd18-2-0-cust512.4-3.cable.virginmedia.com]
has joined #go-nuts
18:58 -!- peterdn_ [~peterdn@cpc1-oxfd18-2-0-cust512.4-3.cable.virginmedia.com]
has quit [Client Quit]
19:00 -!- peterdn [~peterdn@cpc1-oxfd18-2-0-cust914.4-3.cable.virginmedia.com] has
quit [Ping timeout: 245 seconds]
19:00 -!- zcram [~zcram@133.193.159.217.dyn.estpak.ee] has joined #go-nuts
19:03 -!- tvw [~tv@e176008001.adsl.alicedsl.de] has joined #go-nuts
19:12 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined
#go-nuts
19:13 -!- michael| [~maikeru@unaffiliated/maikeru/x-7708887] has quit [Ping
timeout: 248 seconds]
19:18 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has quit [Ping
timeout: 260 seconds]
19:21 -!- zcram [~zcram@133.193.159.217.dyn.estpak.ee] has quit [Quit: Leaving]
19:24 -!- BrowserUk [~irc1_20_B@92.15.74.184] has quit [Quit: BrowserUk]
19:26 -!- plainhao [~plainhao@mail.xbiotica.com] has quit [Quit: plainhao]
19:26 -!- zcram [~zcram@133.193.159.217.dyn.estpak.ee] has joined #go-nuts
19:33 -!- michael| [~maikeru@unaffiliated/maikeru/x-7708887] has joined #go-nuts
19:35 -!- michael|_ [~maikeru@24-107-56-173.dhcp.stls.mo.charter.com] has joined
#go-nuts
19:37 -!- michael|_ [~maikeru@24-107-56-173.dhcp.stls.mo.charter.com] has quit
[Client Quit]
19:39 -!- tvw [~tv@e176008001.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
19:43 < Eko> what happens if a channel has multiple listeners and you <-
something into it?
19:48 < exch> first come, first serve I suppose
19:49 < Eko> that wouldn't happen to be specific to, for instance, NOT
signal.Incoming?  >_<
19:50 < Eko> I'm trying to figure out exactly how signal dispatching works,
as I am trapping a signal in my read loop and my main loop appears to be dying
before it notices that the read loop is telling it it's over (different packages,
different goroutines)
19:51 < exch> it's a channel :p So if something reads from it, it no longer
yields said signal to any subsequent readers
19:51 < exch> which one may get that signal is prolly unpredictable
19:53 -!- Venom_X_ [~pjacobs@71.20.102.220] has joined #go-nuts
19:53 < Eko> so, I get to make my own signal dispatcher?  yay
19:56 -!- Venom_X [~pjacobs@71.20.102.220] has quit [Ping timeout: 276 seconds]
19:58 -!- leimy [~user@h-67-102-171-242.sttnwaho.static.covad.net] has quit [Ping
timeout: 260 seconds]
19:58 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Quit: Lost terminal]
19:59 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
19:59 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
20:00 -!- fhs [~fhs@pool-71-167-84-226.nycmny.east.verizon.net] has joined
#go-nuts
20:05 -!- bizzone_marc [~marc@38.109.164.242] has joined #go-nuts
20:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
20:12 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
20:16 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 258 seconds]
20:17 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
20:17 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has joined
#go-nuts
20:18 < Eko> looks like my problem was fixed by switching what routine was
in main.main and what routine was run in a goroutine =D
20:18 < Eko> hmm, nope.
20:19 < Eko> I thought when main() exited, the whole program went byebye
20:20 < Eko> oh, it does...  it would help if I close()d the chan, lol.
20:26 -!- zcram [~zcram@133.193.159.217.dyn.estpak.ee] has quit [Quit: Leaving]
20:27 -!- scherkus [~scherkus@74.125.59.73] has joined #go-nuts
20:29 -!- mhi_ [~mhi@home.zedat.fu-berlin.de] has joined #go-nuts
20:32 -!- yebyen [~yebyen@harrydavis.csh.rit.edu] has quit [Remote host closed the
connection]
20:32 -!- ktg1 [~idr@g225064225.adsl.alicedsl.de] has quit [Remote host closed the
connection]
20:34 -!- tux21b [~tux21b@90.146.60.30] has quit [Read error: Connection reset by
peer]
20:36 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Ping timeout:
276 seconds]
20:37 -!- mbarkhau [~koloss@dslb-084-059-167-248.pools.arcor-ip.net] has quit
[Quit: Leaving.]
20:37 -!- zozoR [~zozoR@0x5da69cf2.cpe.ge-0-1-0-1105.hsnqu1.customer.tele.dk] has
quit [Quit: Morten.  Desu~]
20:38 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has quit [Quit:
Leaving]
20:40 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has joined #go-nuts
20:40 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has quit [Remote
host closed the connection]
20:41 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has joined #go-nuts
20:42 -!- samferry [sam@atheme/member/samferry] has quit [Read error: Operation
timed out]
20:42 -!- samferry [sam@atheme/member/samferry] has joined #go-nuts
20:42 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
20:42 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit:
skelterjohn]
20:43 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
20:56 -!- Ginto8 [~Ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has joined
#go-nuts
20:57 -!- ikaros [~ikaros@f052059020.adsl.alicedsl.de] has quit [Quit: Leave the
magic to Houdini]
21:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
21:16 -!- MizardX- [~MizardX@unaffiliated/mizardx] has joined #go-nuts
21:16 -!- noam_ [~noam@77.127.205.252] has quit [Read error: Connection reset by
peer]
21:17 -!- noam_ [~noam@77.127.205.252] has joined #go-nuts
21:17 -!- MizardX [~MizardX@unaffiliated/mizardx] has quit [Read error: No route
to host]
21:17 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the
connection]
21:22 < plexdev> http://is.gd/cp2PV by [Andrew Gerrand] in
go/misc/dashboard/godashboard/ -- godashboard: change behaviour of top button
21:24 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has joined
#go-nuts
21:24 -!- tabo [~tabot@camelot.tabo.pe] has joined #go-nuts
21:25 -!- napsy [~luka@88.200.96.14] has joined #go-nuts
21:30 -!- Project_Moon [~Marvin@82.84.74.54] has quit [Quit: E se abbasso questa
leva che succ...]
21:32 -!- Xurix [~Luixsia@AToulouse-254-1-12-237.w83-203.abo.wanadoo.fr] has
joined #go-nuts
21:34 -!- slashus2 [~slashus2@74-141-108-109.dhcp.insightbb.com] has quit [Quit:
slashus2]
21:37 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
21:38 -!- tvw [~tv@e176008001.adsl.alicedsl.de] has joined #go-nuts
21:41 -!- bizzone_marc [~marc@38.109.164.242] has left #go-nuts ["Leaving"]
21:42 -!- kel__ [~kel@cpc2-leat2-0-0-cust98.hers.cable.ntl.com] has quit [Ping
timeout: 245 seconds]
21:45 < KirkMcDonald> Let's say I have two goroutines which both have a
reference to the same slice.
21:46 < KirkMcDonald> The slice is a slice of pointers.
21:46 < KirkMcDonald> One of the goroutines iterates over the slice
repeatedly, doing stuff with each element.
21:47 < KirkMcDonald> The other periodically reassigns specific elements of
the slice.
21:47 < KirkMcDonald> Is that assignment atomic?  Do I require an explicit
mutex?
21:48 < jessta> KirkMcDonald: have you read,
http://golang.org/doc/go_mem.html
21:48 <+iant> the assignment is not atomic, and you do need an explicit
mutex
21:48 < KirkMcDonald> Thank you.
21:49 < Ginto8> pointer copying isn't atomic?  interesting
21:49 < Ginto8> I thought pointers were word-size
21:49 <+iant> they are, and if you want to rely on processor behaviour you
can
21:49 < Ginto8> oh
21:49 <+iant> but Go does not do any explicit memory lock operations
21:50 < Ginto8> it just can't be guaranteed that it's atomic?
21:50 <+iant> we may have a "very safe" mode at some point which makes those
operation atomic
21:50 < Ginto8> one of those "it might be on some systems, might not be on
others" sort of thing?
21:50 <+iant> right
21:51 < KirkMcDonald> So it will be atomic on (say) x86, but correct code
will use an explicit mutex.
21:51 < Ginto8> yes
21:51 <+iant> yes, for some definition of atomic; on an SMP system different
processors can see inconsistent data
21:51 <+iant> that is, inconsistent ordering of changes to the data
21:51 < Ginto8> yep
21:51 <+iant> which may not matter for your use case
21:52 < KirkMcDonald> It doesn't, in this case.
21:52 < Ginto8> channels may or may not work better than a slice in your
case
21:52 < KirkMcDonald> Ginto8: They won't.
21:52 < Ginto8> ok then
21:52 < KirkMcDonald> I require random access.
21:52 < Ginto8> well take a look at RWMutex
21:52 < Ginto8> more flexible than normal Mutex
21:54 < KirkMcDonald> I don't think I require that flexibility.
21:54 < KirkMcDonald> There is precisely one reader, and precisely one
writer.
21:54 < Ginto8> ok cool then
21:56 -!- ikke [~ikke@unaffiliated/ikkebr] has joined #go-nuts
22:01 -!- wrtp [~rog@89.242.170.31] has quit [Quit: wrtp]
22:01 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:05 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
22:10 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has joined #go-nuts
22:10 -!- Boney_ [~paul@124.168.124.27] has joined #go-nuts
22:10 -!- napsy [~luka@88.200.96.14] has quit [Ping timeout: 276 seconds]
22:12 -!- Boney [~paul@124-168-55-132.dyn.iinet.net.au] has quit [Ping timeout:
264 seconds]
22:14 -!- b00m_chef [~watr@d64-180-45-230.bchsia.telus.net] has quit [Ping
timeout: 258 seconds]
22:15 -!- skelterjohn [~jasmuth@c-76-124-23-140.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
22:15 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has quit [Quit:
Leaving]
22:18 -!- aho [~nya@f051154225.adsl.alicedsl.de] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
22:22 -!- piglet_ [~piglet@93-136-61-105.adsl.net.t-com.hr] has quit [Quit:
Leaving]
22:23 -!- carllerche [~carllerch@208.87.61.203] has quit [Quit: carllerche]
22:27 -!- vdrab [~vdrab@cap002-140.kcn.ne.jp] has joined #go-nuts
22:29 -!- Piglet [~Piglet@93-136-61-105.adsl.net.t-com.hr] has joined #go-nuts
22:29 -!- MizardX [~MizardX@unaffiliated/mizardx] has quit [Ping timeout: 276
seconds]
22:31 -!- Piglet [~Piglet@93-136-61-105.adsl.net.t-com.hr] has quit [Client Quit]
22:31 -!- Piglet [~Piglet@93-136-61-105.adsl.net.t-com.hr] has joined #go-nuts
22:38 -!- smw [~smw@pool-96-232-88-231.nycmny.fios.verizon.net] has joined
#go-nuts
22:40 -!- kingfishr [~kingfishr@71-222-226-71.albq.qwest.net] has joined #go-nuts
22:43 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit
[Quit: rhelmer]
22:45 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:52 -!- rhelmer_ [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has joined
#go-nuts
22:52 -!- jingzuo [~brandon@h159.123.255.206.cable.thlq.cablelynx.com] has joined
#go-nuts
22:54 -!- rhelmer [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit
[Ping timeout: 276 seconds]
22:56 -!- name [~name@sburn/devel/name] has quit [Read error: Connection reset by
peer]
22:57 -!- Boney_ [~paul@124.168.124.27] has quit [Ping timeout: 258 seconds]
22:57 -!- yashi [~yashi@dns1.atmark-techno.com] has quit [Ping timeout: 260
seconds]
22:57 -!- jingzuo [~brandon@h159.123.255.206.cable.thlq.cablelynx.com] has left
#go-nuts []
23:07 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
23:07 -!- unhygienix [~unhygieni@host86-181-15-94.range86-181.btcentralplus.com]
has joined #go-nuts
23:08 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
23:10 -!- rlab [~Miranda@91.200.158.34] has quit [Client Quit]
23:11 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
23:14 -!- Boney [~paul@210-84-51-236.dyn.iinet.net.au] has joined #go-nuts
23:17 -!- Venom_X [~pjacobs@71.20.102.220] has quit [Quit: Venom_X]
23:18 -!- Venom_X [~pjacobs@71.20.102.220] has joined #go-nuts
23:21 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
23:22 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
23:24 -!- Venom_X [~pjacobs@71.20.102.220] has quit [Quit: Venom_X]
23:28 -!- tvw [~tv@e176008001.adsl.alicedsl.de] has quit [Ping timeout: 260
seconds]
23:28 -!- iant [~iant@nat/google/x-ktrrbwjgyuyymyfl] has quit [Ping timeout: 272
seconds]
23:32 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
23:33 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has joined #go-nuts
23:35 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
host closed the connection]
23:37 -!- rhelmer_ [~rhelmer@adsl-69-107-89-5.dsl.pltn13.pacbell.net] has quit
[Quit: rhelmer_]
23:47 -!- vsayer [~vivek@c-76-103-244-154.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
23:50 -!- vdrab [~vdrab@cap002-140.kcn.ne.jp] has quit [Quit: vdrab]
23:54 -!- iant [~iant@67.218.102.208] has joined #go-nuts
23:54 -!- mode/#go-nuts [+v iant] by ChanServ
23:55 -!- Ideal [~Ideal@ideal-1-pt.tunnel.tserv6.fra1.ipv6.he.net] has quit [Quit:
Ideal]
23:58 -!- Xera^ [~brit@87-194-208-246.bethere.co.uk] has quit [Read error:
Connection reset by peer]
--- Log closed Wed May 26 00:00:47 2010