--- Log opened Sat Feb 12 00:00:05 2011
00:00 -!- pharris [~Adium@rhgw.opentext.com] has quit [Remote host closed the
00:17 -!- zweilever [~ziller@] has joined #go-nuts
00:19 < plexdev> http://is.gd/Vh4hTM by [Rob Pike] in go/src/pkg/strconv/ --
strconv/ftoa: avoid a double shift.  (shifts by variables are expensive.)
00:25 < plexdev> http://is.gd/HaMkMK by [Robert Griesemer] in
go/src/cmd/gofmt/ -- gofmt: exclude testcase with incorrect syntax
00:30 -!- zweilever [~ziller@] has left #go-nuts
00:38 -!- wrtp [~rog@] has quit [Quit: wrtp]
00:55 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Remote
host closed the connection]
01:02 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
01:02 -!- mode/#go-nuts [+v iant] by ChanServ
01:13 -!- saturnfive [~saturnfiv@] has joined #go-nuts
01:18 -!- JusticeFries_
[~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has joined #go-nuts
01:21 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has quit [Ping timeout: 260 seconds]
01:22 -!- JusticeFries_
[~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net] has quit [Ping
timeout: 240 seconds]
01:23 -!- vzx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping timeout: 250
01:23 -!- iant1 [~iant@] has joined #go-nuts
01:23 < rl> If you have some function publishing data and you want to have
the option to have multiple listeners what is the convention?  Does the publisher
provide a channel of channels which you can read from when you need a new channel
for a subscriber?
01:24 -!- boscop [~boscop@g225224043.adsl.alicedsl.de] has quit [Ping timeout: 240
01:24 < rl> i might just be looking for an excuse to make a channel of
01:25 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 240 seconds]
01:25 < KirkMcDonald> rl: Maybe have the publisher push the data to a
channel as normal, then something else which listens to that channel and
multiplexes it as you require.
01:26 -!- mode/#go-nuts [+v iant] by ChanServ
01:30 < cenuij> I don't see an obvious way using existing packages to chop a
word into a slice of bytes, should I just shift into each byte?
01:31 < rl> So I'd have to pass around some object which keeps track of it
anyway I guess
01:31 < KirkMcDonald> cenuij: []byte(s) should work.
01:31 < rl> I thought perhaps I could give a channel of channels to the
publisher and it would read from this
01:32 < rl> And any subscribers could publish the channel they listen on to
that channel
01:32 < rl> Or perhaps that was what you were thinking the something else
would do as well
01:33 < cenuij> rl, there's a few packages with a publish/subscribe
methodology using channels, http://code.google.com/p/go-router/ for one, there's
more I'm sure...  maybe the code will be useful
01:34 < rl> cool, I'll have a look
01:36 -!- vzx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
01:37 < cenuij> KirkMcDonald: yeah thanks, I guess just doing buf :=
make([]byte, x) ...  buf[i] = byte(val >> x) should be fast enough, just
didnt see anything specific but looking at the encoding/binary package it does a
lot of bit shifting in a similar fashion.
01:39 < rl> So if I have the choice between passing around an object which
has a Register(listener channel string, event Event), which will make the
publisher publish the given event type to that channel
01:39 < rl> Or passing around a channel which you can write objects that
contain the listener + event to
01:39 < rl> (Which, writing to, will have the same effect to on the
01:40 < rl> Ok, actually writing this I realize I'm asking a question to
which the answer is "it depends"
01:40 < cenuij> ^^
01:41 < rl> So I guess now that I have two possible ways of doing it I'll go
through the mental gymnastics of figuring out which works better in my case.
01:42 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 276
01:56 -!- dforsyth_ [~dforsyth@bastion.inap.yelpcorp.com] has quit [Quit: Computer
has gone to sleep.]
01:57 -!- tvw [~tv@e176000031.adsl.alicedsl.de] has quit [Ping timeout: 240
02:02 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
02:13 < erus`> about 8 hours into my interpretter and it doesnt print hello
world yet
02:15 -!- vice_virtue [~vice@220-253-14-193.VIC.netspace.net.au] has joined
02:16 < vice_virtue> Why does GOMAXPROCS default to 1?
02:17 < vice_virtue> on gc
02:24 -!- dforsyth [~dforsyth@ec2-184-72-3-134.us-west-1.compute.amazonaws.com]
has quit [Quit: leaving]
02:24 < cenuij> why would it not?
02:24 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
02:30 < cenuij> vice_virtue: depending on platform, you've a number of
options.  e.g.  linux: less /proc/cpuinfo
02:31 < cenuij> vice_virtue: also there's a package that will report your
cpu stats: http://bitbucket.org/jpoirier/cpu
02:31 < cenuij> but the performance of your app may or may not change
02:32 < cenuij> *shrug*
02:32 < vice_virtue> thanks, cenuij, it seems like the sort of thing which
should default to the number of CPU threads available
02:32 -!- mcspring [3dacf164@gateway/web/freenode/ip.] has joined
02:32 < vice_virtue> in a part of my app it is relevant
02:32 < vice_virtue> (computing some RSA and DSA key pairs simultaneously -
very CPU bound)
02:33 < Namegduf> There's no upper limit on "CPU threads available"
02:34 < Namegduf> Go spawns them up to the limit of GOMAXPROCS.
02:34 < Namegduf> You might mean "number of CPU cores".
02:34 < cenuij> logical i.e.  "available" cores
02:35 < vice_virtue> Namegduf, I would call those OS threads
02:35 < Namegduf> That's not what an OS thread is.
02:36 < vice_virtue> what's a better term for them?
02:36 < Namegduf> "CPU core"
02:36 < vice_virtue> mmm
02:36 < Namegduf> OS threads are the things scheduled by the OS on them
02:36 < vice_virtue> you might have one core which is hyperthreaded...  I'd
say you have two cpu threads
02:37 < Namegduf> You can say that if you like but that's not what "thread"
02:37 < Namegduf> "In computer science, a thread of execution is the
smallest unit of processing that can be scheduled by an operating system.  It
generally results from a fork of a computer program into two or more concurrently
running tasks."
02:38 < Namegduf> That's specific to OS threads (not true for userland
threads), but otherwise right enough
02:38 < Namegduf> Threads are the things scheduled on the CPU, not the CPU's
capability for simultaneous execution.
02:39 < cenuij> hence, I think as the local OS describes them "logical
cores" seem more appropriate
02:39 < mdxi> HT procs can't actually dispatch two contexts at exactly the
same time anyway.  they can just come REALLY CLOSE by having extra silicon to
store a lot of state.
02:39 < mdxi> i think, on average, you get about 1.6 contexts "concurrently"
on an HT core
02:39 < Namegduf> I'm not sure why Go doesn't default to that.  Hard to
02:40 < vice_virtue> logical cores works for me
02:40 < cenuij> without trying to stray too far from vice_virtue question:
there was some discussion on the list in the last while about how the runtime
schedules goroutines
02:40 < skelterjohn> I just set GOMAXPROCS to 2 in my .bashrc
02:40 < vice_virtue> I think HT comes close enough for one hyperthreaded
core to be considered two logical cores
02:41 < Namegduf> I think HT is exposed to the OS as two cores, so "two
logical cores" fits with that.
02:42 < skelterjohn> what is hyperthreading, anyway?
02:42 < skelterjohn> is it the interleaving of instructions from two
02:43 < skelterjohn> and taking advantage of the time it takes them to
complete, somehow?
02:43 < vice_virtue> I wonder if the Linux kernel treats hyperthreaded cores
differently...  there can be implications on cache thrashing.  The machine I'm on
has 4 hyperthreaded cores, it would be best for some apps to be on separate cores
entirely and some apps to be on the same core
02:43 < cenuij> vice_virtue: may be of interest given the current
02:43 < vice_virtue> skelterjohn, the way I understand it, Hyperthreading
essentially allows a CPU core to quickly switch between contexts
02:43 < vice_virtue> by storing two CPU contexts per core
02:43 < skelterjohn> i see.  also useful.
02:43 < vice_virtue> but...  I'll go look it up
02:44 < vice_virtue> yeah, seems to be correct
02:44 < vice_virtue> thanks, cenuij
02:45 < skelterjohn> at the bottom ian mentions that GOMAXPROCS will
probably go away at some point
02:45 < cenuij> makes sense
02:46 < cenuij> I'd assume the scheduler will improve
02:46 < skelterjohn> though...i like the ability to easily limit the number
of cores that my program will use at a given instant
02:47 < skelterjohn> without relying on extra code to do it
02:47 < cenuij> I think that can be done on most platforms anyway though
02:47 < skelterjohn> oh yeah?
02:47 < skelterjohn> how can you do it, for instance, on ubuntu
02:47 < skelterjohn> (the os of my lab's shared machine)
02:47 < mdxi> i wasn't trying to be distracting.  i just sat back down and
thought the conversation was more about hardware specifics.  for all practical
purposes, HT cores are "real" cores, yeah :)
02:49 < skelterjohn> apparently "ulimit"
02:50 < cenuij> skelterjohn: I assume Solaris & BSD derivations have the
equivalent of 'taskset'
02:50 < cenuij> from a linux pov
02:51 < cenuij> dunno about other nixes
02:55 -!- jumzi [~none@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts
03:07 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
03:09 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
03:10 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
03:13 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
03:13 -!- mcspring [3dacf164@gateway/web/freenode/ip.] has quit
[Quit: Page closed]
03:21 -!- erus` [~tommo@host86-135-162-107.range86-135.btcentralplus.com] has quit
[Ping timeout: 240 seconds]
03:36 -!- hcl2 [~akuma@] has quit [Ping timeout: 240 seconds]
03:59 -!- vice_virtue [~vice@220-253-14-193.VIC.netspace.net.au] has quit [Ping
timeout: 240 seconds]
04:03 -!- sav [~lsd@189001131052.usr.predialnet.com.br] has joined #go-nuts
04:07 < mdxi> i'm still in the process of slowly absorbing the Tutorial and
Effective Go (and, at times, the spec, which has been more helpful than either of
those in answering some of my questions)
04:07 < mdxi> but so far i'm really liking things
04:08 < jumzi> I felt like a child on christmas after reading the tutorial
and effective go
04:08 < cenuij> I felt like the smug bastard who hated on C++ and skipped
every lecture related to that
04:10 < cenuij> only to realise that my smugness is dwarfed by the
expressive go
04:14 -!- vice_virtue [~vice@220-253-14-193.VIC.netspace.net.au] has joined
04:15 < cenuij> Describe more with less, safe supposition for a language?
04:20 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
04:21 -!- vice_virtue [~vice@220-253-14-193.VIC.netspace.net.au] has quit [Ping
timeout: 240 seconds]
04:30 < mdxi> well, describing more with less (more syntactic sugar and work
on the runtime's part instead of mental overhead and work on the programmer's
part) is a defining design element of modern dynamic languages
04:30 < mdxi> and to me, Go looks an *awful* lot like a Python-flavored
update of C
04:31 < mdxi> so i agree
04:31 < plexdev> http://is.gd/aREpjZ by [Ken Thompson] in go/src/cmd/5l/ --
5ld: part of 64bit eor - forgot to check in.
04:31 < Namegduf> Go isn't very big on syntactic sugar
04:31 < Namegduf> And it isn't very fond of terseness over
clarity/simplicity, which is a big trend in modern "dynamic languages"
04:31 < Namegduf> So I don't agree, really.
04:32 < Namegduf> It seems like an update of C with simplicity and safety,
as well as speed, as goals, which implements things associated with higher level
languages when they have proven gain to those.
04:33 < Namegduf> "More with less" is overrated, IMO
04:34 < jumzi> i agree, its like object to some extent...  its been oversold
04:34 < Namegduf> There's more to readability than terseness.
04:35 < |Craig|> To me, Go feels like Cython, with one key difference.
Instead of tidy or fast, its tidy and fast.
04:35 < Namegduf> And most of the ways things tend to go for terseness
negatively impact readability in other ways.
04:36 < Namegduf> Go often forces more boilerplate or a few lines instead of
one, but it has much simpler syntax and blocks as a whole are more readable.
04:37 < Namegduf> I would call it "tidy"
04:37 < Namegduf> That's a nice way to put it.
04:39 < |Craig|> Go code is low in pointless stuff.  While some things are
several lines, those likes are short, and the line breaks are useful.  I haven't
seen a lot that actually adds a lot of needed characters.
04:40 < Namegduf> Yeah.
04:40 < Namegduf> It reduces length by removing meaningless stuff but not by
trying to compact stuff that has meaning.
04:41 < exch> ^perl
04:41 < jumzi> i never tooke
04:41 < jumzi> d the time to learn perl
04:42 < jumzi> but i've heard its no loss
04:42 < |Craig|> compared to my code in other languages, my code in Go tends
to have much shorter and more consistent line lengths.  I often had lines of
python code wrapped 5+ times though...
04:43 < jumzi> to call go pythonized c is abit of heresy
04:43 < exch> I recently read an old quote about perl that probably gets the
point across best "Perl: the only language that looks the same before and after
RSA encryption."
04:43 < Namegduf> TechCrunch described it as C++ meets Python.
04:43 < jumzi> goroutines and message passing ala csp doesn't exist in
04:43 < Namegduf> It was awful
04:44 < jumzi> c++ meets python?  :P they must have spent a whole 10 mins
with the language
04:44 < Namegduf> Less.
04:45 < Namegduf> Ten minutes is more Ars Technica level research.
04:47 < jumzi> does that even qualify to a blog post then?
04:47 < mdxi> i think anyone who's passably familiar with Python will see
its influence on syntax.  no semicolons.  "range" to loop over data.  the slice
syntax.  python-style map (aka dict) indexing.
04:47 < mdxi> rather fewer people are likely to notice that goroutines are
basically Modula-2's coroutine design (because it was a great one)
04:48 < Namegduf> Go originally had semicolons.
04:48 < mdxi> and that := for assignment is also Modula-2
04:48 < mdxi> go still does formally.
04:48 < Namegduf> And their removal was considered more in general.
04:48 < mdxi> what other language generally doesn't use them, though?
python.  what's used everywhere at google?  python.
04:48 < mdxi> it's not a dirty word :)
04:48 < Namegduf> Well, lesse.
04:49 < Namegduf> Ruby, Perl, optional in JavaScript...
04:49 < Namegduf> "Pretty much every 'dynamic' language"
04:49 < mdxi> Perl requires semicolons
04:49 < jumzi> 6
04:49 < Namegduf> Correction noted.
04:50 < |Craig|> in scheme and sml I don't remember very many semicolons
04:50 < Namegduf> I think they took some good ideas, fair enough
04:50 < Namegduf> While leaving bad ones, like dynamic typing
04:50 < Namegduf> And a complete lack of any static checking of anything
04:51 < Namegduf> Both of which are common in "dynamic" languages.
04:51 < davisp> who took good ones and left bad ones?
04:52 < Namegduf> Go.
04:52 < davisp> How do you mean complete lack of static checking?
04:56 < Namegduf> Pretty much what I said.
04:57 < davisp> I'm fairly new to Go, but this small program fails to
compile because of a cast error, am I missing something more subtle?
04:58 < mdxi> you're trying to assign a floating-point value to a variable
you've defined as type int
04:58 < mdxi> you can't do that in a strictly-typed language
04:58 < mdxi> you have to make the value types and variable types match up
04:58 < davisp> mdxi: Correct, but that's an assertion that Go is statically
04:59 < Namegduf> Right, it is.
04:59 < davisp> Which is what?
04:59 < mdxi> oh, sorry.  i didn't catch that this was related to the above.
i was just stoked that i could answer the question :)
04:59 < Namegduf> "I think [Go] took some good ideas...  while leaving bad
ones like...  a complete lack of any static checking"
04:59 < davisp> Namegduf: Maybe I misunderstood but I thought that you were
saying it lacked static checking
04:59 < Namegduf> Yes, you did.
05:00 < adu> davisp: try int(1.12)
05:00 < adu> or perhaps 1
05:00 < Namegduf> Sorry if it wasn't clear.
05:00 < |Craig|> is there a list of options for the compilers, 6g in my
case, somewhere.  I found -B mentioned somewhere, which does make a difference
(apparently it disables bounds checking, and makes my code a little bit faster),
but I can't find any official docs
05:01 < Namegduf> There is, but -B is undocumented.
05:02 < davisp> I know what I'm doing to cause that error, but I was asking
about the assertion that Go isn't statically type checked when everything I've
read made me think otherwise
05:02 < davisp> Makes me think I'm missing something important
05:02 < Namegduf> Go IS statically type checked.
05:02 < |Craig|> Namegduf: where?  http://golang.org/cmd/6c/ has none,
http://golang.org/cmd/cc/ also has none, and I see no man page
05:02 < Namegduf> I did not assert that
05:02 < Namegduf> You misread what I was saying
05:02 < davisp> Oh
05:02 < davisp> That's what I was asking
05:02 < davisp> What's missing static checking?
05:02 < Namegduf> Python.
05:03 < davisp> Ahhh
05:07 < jessta_> |Craig|: http://golang.org/cmd/6g/ " The flags are
documented in ../gc/doc.go."
05:07 < |Craig|> jessta_: ah, missed that skimming the page.  Thanks
05:08 < jessta_> |Craig|: hmmm...but that doesn't mention -B either
05:09 < jessta_> maybe it's hiding because it's generally a bad idea
05:09 < Namegduf> It isn't documented, yeah
05:11 < |Craig|> I wonder how they got "../gc/doc.go" for the path to
05:21 < jessta_> perhaps it movied
05:21 < jessta_> *movied
05:21 < jessta_> *moved, damn it
05:30 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu]
05:37 -!- niemeyer_ [~niemeyer@201-14-240-9.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
05:46 -!- 50UAACLHA [~keithcasc@nat/google/x-icpfibefxjbxigsb] has quit [Quit:
06:01 -!- aho [~nya@fuld-590c7c59.pool.mediaWays.net] has quit [Quit:
06:15 -!- Eko [~eko@c-24-5-127-87.hsd1.ca.comcast.net] has joined #go-nuts
06:17 < Eko> What's the easiest way to get the OS that a go app is running
06:17 < Eko> os.Environ and look for GOARCH?
06:18 < Eko> or Getenv, I guess
06:18 < Eko> Basically I'm trying to determine if I should be running
chromium-browser or /Applications/Google Chrome.app
06:20 < Namegduf> runtime.GOOS
06:22 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
06:24 -!- sav [~lsd@189001131052.usr.predialnet.com.br] has quit [Quit: Leaving]
06:55 -!- ExtraSpice [~XtraSpice@78-62-101-194.static.zebra.lt] has joined
06:58 < cenuij> [07:20] <Eko> Basically I'm trying to determine if I
should be running chromium-browser or /Applications/Google Chrome.app
06:59 < cenuij> Eko: yesterday I might say something different.
07:01 < cenuij> Eko: you want an "app store"
07:02 < cenuij> ?
07:02 -!- photron [~photron@port-92-201-24-107.dynamic.qsc.de] has joined #go-nuts
07:02 < cenuij> yes/no
07:02 < cenuij> maybe
07:03 < cenuij> well here's the the thing from my dev/culture shock.
07:03 < cenuij> any trollteck/.nokia?
07:03 < cenuij> so my take...
07:04 < cenuij> I will now never write anyting for your "platform"
07:04 < cenuij> I dont want silverlight
07:05 < cenuij> and 300k developers dont want silverlight
07:06 < cenuij> As far as I'm aware, the best thing should be share holder
07:06 < cenuij> elop is a fucking patssy
07:08 < cenuij> noki makes the best hardware in the world, why would you
pass that to the weat window mobile?>
07:08 < jumzi> hmm...  nokia is dead
07:08 < cenuij> no
07:09 < cenuij> Nokia will live
07:09 < jumzi> as a small shop in helsinki
07:09 < cenuij> for maybe 2 years
07:10 < cenuij> then MS will rape them in court
07:10 < jumzi> MS wont have to
07:10 < jumzi> they'll be dead in 2 years anyway
07:10 < cenuij> nobody wants to use windows
07:10 < cenuij> they have to use nokia to get there
07:10 < cenuij> its fuckginh pathetic
07:11 < cenuij> Hi Finland!
07:11 < cenuij> #
07:12 < cenuij> Do you welcome your dhitty r& d overl,ords?
07:14 < cenuij> might as well call your next "device": The volvo safety
07:14 < cenuij> who was it?  the norwegian or the sweedws thart kidnapped
07:15 < cenuij> who is the swedish prime minister?
07:16 < cenuij> why did sweden agreee to kidnap people outside of
international law?
07:17 < cenuij> Why was Sweden at the heart of the rendition process with no
judicial review?
07:18 < jumzi> i have no idea, and i live in Sweden
07:18 < jumzi> Well i know who the "prime minister" is
07:20 -!- davvid [~davvid@208-106-56-2.static.dsltransport.net] has joined
07:24 -!- Kashia [~Kashia@port-92-200-74-207.dynamic.qsc.de] has quit [Read error:
Operation timed out]
07:30 -!- Kashia [~Kashia@port-92-200-9-134.dynamic.qsc.de] has joined #go-nuts
07:34 * Eko points out that none of this is on topic.
07:35 < Eko> Namegduf: Thanks!  No idea how I missed that, lol
07:46 -!- gits [~gits@] has joined #go-nuts
07:48 < |Craig|> Go's png package gets better compression than apple's
preview application apparently.  Either that or preview is hiding other data in
07:48 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
07:58 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
08:04 -!- davvid [~davvid@208-106-56-2.static.dsltransport.net] has quit [Ping
timeout: 260 seconds]
08:06 -!- tensorpudding [~user@] has quit [Remote host closed the
08:09 -!- tensorpudding [~user@] has joined #go-nuts
08:16 -!- davvid [~davvid@208-106-56-2.static.dsltransport.net] has joined
08:27 -!- rlab [~Miranda@] has joined #go-nuts
08:40 -!- kashia_ [~Kashia@port-92-200-23-111.dynamic.qsc.de] has joined #go-nuts
08:42 -!- Kashia [~Kashia@port-92-200-9-134.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
08:44 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:57 -!- dRbiG [drbig@unhallowed.pl] has quit [Ping timeout: 276 seconds]
08:57 -!- gits [~gits@] has quit [Ping timeout: 265 seconds]
09:01 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
09:04 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has joined #go-nuts
09:13 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has joined
09:13 -!- dRbiG [drbig@unhallowed.pl] has joined #go-nuts
09:16 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
09:21 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
09:21 -!- sauerbraten [~sauerbrat@p508CEE97.dip.t-dialin.net] has joined #go-nuts
09:24 -!- rlab [~Miranda@] has quit [Ping timeout: 272 seconds]
09:25 -!- rlab [~Miranda@] has joined #go-nuts
09:27 < adu> are there any opengl bindings that aren't OOP'd?
09:30 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
09:41 -!- illya77 [~illya77@101-5-133-95.pool.ukrtel.net] has joined #go-nuts
09:44 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has quit [Ping
timeout: 255 seconds]
09:50 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has joined #go-nuts
09:50 -!- sauerbraten [~sauerbrat@p508CEE97.dip.t-dialin.net] has quit [Remote
host closed the connection]
10:02 -!- femtooo [~femto@95-89-248-108-dynip.superkabel.de] has joined #go-nuts
10:05 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has quit [Ping
timeout: 276 seconds]
10:10 < adu> so func F() is equivalent to cons F = func()?
10:10 < adu> s/cons/const/
10:12 < adu> hmm, const F = func() {...} complains
10:15 -!- museun [~what@c-98-252-140-73.hsd1.ga.comcast.net] has quit [Ping
timeout: 240 seconds]
10:20 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
10:23 -!- saturnfive [~saturnfiv@] has quit [Read error: Connection
reset by peer]
10:45 -!- museun [~what@c-98-252-140-73.hsd1.ga.comcast.net] has joined #go-nuts
10:53 -!- saturnfive [~saturnfiv@] has joined #go-nuts
10:55 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
10:59 -!- femtooo [~femto@95-89-248-108-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
11:00 -!- tvw [~tv@e176003116.adsl.alicedsl.de] has joined #go-nuts
11:02 -!- rlab [~Miranda@] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
11:03 -!- rlab [~Miranda@] has joined #go-nuts
11:07 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu]
11:08 -!- wrtp [~rog@] has joined #go-nuts
11:16 -!- tvw [~tv@e176003116.adsl.alicedsl.de] has quit [Remote host closed the
11:17 -!- wrtp [~rog@] has quit [Quit: wrtp]
11:31 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.5.16/20101130074220]]
11:31 -!- DerHorst [~Horst@e176096198.adsl.alicedsl.de] has joined #go-nuts
11:32 -!- illya77 [~illya77@101-5-133-95.pool.ukrtel.net] has quit [Quit: illya77]
11:35 < aiju> what
11:35 < aiju> they removed non-blocking send?
11:35 < user> guys, if I define an interface like say 'type foo interface {
update() }', can I create an array of pointers to types fitting this interface?
11:35 < aiju> user: sure
11:36 -!- dRbiG [drbig@unhallowed.pl] has quit [Ping timeout: 240 seconds]
11:36 < user> I tried var foos *[100]foo and then use foos[0] = new(fooo)
11:36 < aiju> you can't do new on an interface
11:36 < user> but when I call foos[0].update() it crashed
11:37 < user> ahh ok, reading the documentation right now and trying go out
11:37 < user> so how can I assign a compatible type to an interface pointer?
11:40 < Namegduf> Your syntax is wrong.
11:40 < Namegduf> var foos [100]*foo is a slice of pointers to foo.
11:40 < user> thanks, any pointers to how I should do it
11:40 < Namegduf> var foos *[100]foo is a pointer to a slice of foo.
11:41 < user> aha!
11:41 < Namegduf> You want the first.
11:41 < Namegduf> However, if foo is an interface, you probably don't WANT a
pointer to it.
11:41 < aiju> Namegduf: s/slice/array/g
11:41 < Namegduf> Pointers to interfaces are generally not useful.
11:42 < Namegduf> aiju: Yeah, yeah.
11:42 < Namegduf> user: So you probably just want [100]foo
11:42 < user> well I wanted an array with pointers to any type that fits an
11:42 < Namegduf> Have a pointer to the type be the thing that matches the
11:42 < Namegduf> And store the pointer in the interface.
11:42 < user> so that I can set the pointers to different types as long as
they have the member functionality that the interface defines
11:42 < aiju> select for non-blocking send/receive seems stupid to me
11:43 < Namegduf> user: When you store something in an interface, it's
11:43 < user> hohum...
11:43 < Namegduf> If you want to have an interface which can match any of a
number of pointers, then store the *pointers* in the interface.
11:43 < user> ahh ok
11:45 -!- boscop [~boscop@f055056054.adsl.alicedsl.de] has joined #go-nuts
11:45 -!- kashia_ [~Kashia@port-92-200-23-111.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
11:45 < Namegduf> You want an array/slice of interfaces, which each contain
a type which provides various methods, and methods on pointers to stuff
implementing that interface.
11:46 -!- rlab [~Miranda@] has quit [Ping timeout: 245 seconds]
11:48 < user> hmmm...  I though the point of interfaces was that they
provided access to any type fitting the interface definition
11:48 < aiju> yes
11:49 < Namegduf> Yes, that is the point.
11:49 < Namegduf> If said type is a pointer, then the pointer is stored in
the interface.
11:49 < Namegduf> And many-to-most interfaces are satisfied by pointers.
11:50 -!- shvntr [~shvntr@] has joined #go-nuts
11:51 < user> but if type isn't a pointer, but is allocated as a pointer,
can't I access it directly through the interface if the interface is declared as a
pointer and assigned to the allocated type?
11:52 < Namegduf> No.
11:52 < Namegduf> When you put something in an interface, it is copied.
11:53 < Namegduf> You also cannot modify something in an interface, because
it's passed by value to all its methods.
11:53 < user> I thouhg an interface was like an alias for any type that fits
the interface declarations
11:53 -!- dRbiG [drbig@unhallowed.pl] has joined #go-nuts
11:53 < Namegduf> I don't think you understand how pointers work.
11:53 < Namegduf> Values in Go are passed to functions by value.
11:54 < Namegduf> This includes things with methods on them.
11:54 < user> so if the interface declares a function named update, any type
that has the function update can be accessed through the corresponding interface
pointer as long as that interface pointer has been assigned a type
11:54 < Namegduf> A method on a type receives a COPY of whatever it's a
method of.  Just like if it was a regular parameter.
11:54 < Namegduf> As such, an "update" method that was actually intended to
modify the original thing
11:55 < Namegduf> Would need to be a method on a pointer to the type of the
original thing
11:55 < Namegduf> x.update(a, b) is similar to update(x, a, b)
11:55 < Namegduf> If x is not a pointer, then you're just copying it.
11:56 < Namegduf> And changing a copy.
11:58 < user> hmmm...  I think I need to read up more on interfaces and type
11:58 < Namegduf> No, you need to read up on pointers.
11:58 < Namegduf> Methods behave exactly like functions.
11:58 < Namegduf> func (f foo) update() { ...  } receives a copy of f
11:58 < Namegduf> Same way func update(f foo) { ...  } does
11:59 < Eko> Can you still get away with calling TypeName.Method(receiver,
args...)?  I think you could at one point if not now
11:59 < Namegduf> I don't know.
12:00 < Eko> Just to reinforce what you're saying about the receiver being a
parameter, and thus passed by value.
12:00 < Namegduf> user: It's called pass-by-value, and it's similar to C
12:00 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has joined #go-nuts
12:00 < Namegduf> Yeah.
12:00 < aiju> pass-by-value-return is the one true parameter pass mechanism
12:00 < Namegduf> Anyways, so, yes.  Go is pass by value, including for
method receivers.
12:01 < user> but a type method takes a 'reciever' with which to access the
type, which I assumed was a pointer to the type data rather than it actually
copying the entire type data to the stack
12:01 < Eko> aiju: I'm not sure what you mean by that
12:01 < Namegduf> The receiver behaves like a regular parameter.
12:01 < Namegduf> It is not a magic pointer thing.
12:01 < aiju> Eko: it's something ugly early Fortran compilers did
12:01 < aiju> Eko: i'm referencing "real programmers don't write Pascal"
12:02 < Namegduf> This means that whatever the receiver is, it's copied.
12:02 < Namegduf> Right?
12:02 -!- rlab [~Miranda@] has joined #go-nuts
12:02 < Eko> user: Go doesn't have a reference type.  Pointers are actually
just numbers, which is why passing them by value doesn't limit your ability to
access what the number refers to.
12:02 < Namegduf> If the receiver is a pointer to the type, the pointer is
copied and you work on the original instance of the type.
12:02 < aiju> maps are reference types :P
12:02 < Eko> aiju: shhhh
12:02 < Namegduf> If the receiver IS the type, the type itslf is copied.
12:02 < Eko> so are slices.
12:03 -!- Kashia [~Kashia@port-92-200-126-131.dynamic.qsc.de] has joined #go-nuts
12:03 < Namegduf> So, copying when something is stored in an interface
doesn't do anything, because it's copied whenever you call a method ayway.
12:03 * Eko points out that this all makes way more sense when you write some code
using it both ways and see that it works this way.
12:04 < Namegduf> There's only one piece of magic
12:04 < Namegduf> And that is that in:
12:04 < Namegduf> var f foo; f.update()
12:04 < Namegduf> It will be automatically read as (&f).update()
12:04 < Namegduf> If update is defined as func (f *foo) update() { ...  }
12:05 < Eko> The converse is not true, though: func (f foo) blah() {...}
cannot be called on a var f *foo
12:05 < Eko> which confused me for awhile.
12:05 < Namegduf> I think so, anyway.
12:05 < user> well, what I was trying to do was something like an array of
object pointers in c++, which can be assigned subclasses with virtual functions
which can be called through the object pointers of the super class
12:06 < Eko> user: think less about how to port C++ concepts and more about
how to design your program using Go paradigms
12:06 < Namegduf> That's a really bad way to think in general, because you
don't have superclasses
12:06 < Namegduf> You have subsets of functionality
12:06 < Namegduf> And they don't need to form a hierarchy
12:06 < Namegduf> But what you want is simple.
12:07 < Namegduf> You want to define methods on pointers to your type, so
they can modify your type
12:07 < Namegduf> Which will mean the interface is met BY pointers to your
12:07 < Namegduf> Then define []interface{update()}
12:07 < user> but if I want to call all types heeding to a certain interface
from an array, how would I do it in Go?
12:07 < Namegduf> You define an array of that interface.
12:08 < Eko> (probably a slice)
12:08 < Namegduf> You just need to remember that the thing that meets the
interface is the thing that is copied when passed to the method.
12:08 < Namegduf> Receivers are copied.
12:08 < Namegduf> You use a pointer to the type as your receiver if you want
to modify your type.
12:08 < user> but how can I assign different types to that array?
12:08 < Namegduf> You just ASSIGN them.
12:08 < aiju> foo[4] = bar
12:09 < user> aha!
12:09 < Namegduf> Using =
12:09 < Namegduf> The assigning thing
12:09 < Namegduf> The same way you put something in an interface value.
12:09 < Namegduf> It being an interface value in a slice doesn't change it.
12:09 < user> so no pointers are needed, just assign a type instance
directly to the interface array at position X
12:09 < Namegduf> The type that meets the interface, yes.
12:09 < user> yes of course
12:10 < Eko> Chances are your pointer type is what's going to meet the
interface though
12:10 < Namegduf> If the type that meets the intrface is a pointer, you
store the pointer
12:10 < Namegduf> A method that changes the type must receive a pointer to
the type
12:10 < Namegduf> Remember how "this" is a pointer in C++?
12:10 < user> yes sure
12:11 < Namegduf> func (this *foo) update() { ...  } is equivalent to a C++
12:11 < Namegduf> func (copy foo) update() { ...  } will receive a *copy* of
whatever it's called on.
12:12 < Namegduf> As such, for a type foo, methods are usually defined on
*foo unless you want that
12:12 < Namegduf> And *foo is what meets interfaces requiring those methods
12:12 < Namegduf> And thus is what needs to go in the interface value
12:13 < Eko> type X struct{a int}; func (x *X) Set(a int) {x.a=a}; type
SetInt interface{Set(int)}; settable := make([]SetInt,1); settable[0] = &X{1};
12:14 < user> ahh, I think I got it now...  thanks guys
12:15 -!- marksaitis [~MK@cpc1-pool5-0-0-cust249.15-1.cable.virginmedia.com] has
joined #go-nuts
12:15 < marksaitis> hey ;]
12:15 < Eko> sup
12:15 < marksaitis> can anybody tell me why would I use go instead of c
12:16 < Eko> marksaitis: I find that I can write a lot more go code a lot
faster and with a lot fewer bugs and with a lot fewer lines of code required
12:16 < Eko> without suffering the speed penalties of an interpreted
12:16 < Rennex> if you're sick of c
12:17 < aiju> i use both languages and find Go code cleaner
12:17 < marksaitis> well, I think that c syntax is bullshit :) too much shit
12:17 < marksaitis> now thats what I thought
12:17 < aiju> stop fucking around with syntax
12:17 < aiju> damnit
12:17 < Eko> the Go syntax is much more unambiguous
12:17 < marksaitis> I see
12:17 < aiju> i'm tired of syntax discussions
12:18 < Eko> then sleep through them, aiju :P
12:18 < marksaitis> how about go's libraries?  any good examples of great
systems done with go yet?
12:18 < aiju> syntax is perhaps one of the most overstated "issue" with
programming languages
12:18 < marksaitis> aiju, nobody is duscussing, I told it and thats the end
of the fact
12:18 < marksaitis> stop discussing it
12:18 < Eko> marksaitis: the #1 library you'll love if you're coming from C
is going to be the net library
12:18 < marksaitis> what about net library?
12:19 < aiju> Eko: s/coming from C/coming from shitty pathetic wannabe
12:19 < Eko> what used to take you 400 lines of boilerplate will now take
you about 3 lines of go.
12:19 < aiju> Eko: Plan 9 networking is just like Go networking
12:19 < aiju> with C
12:19 < marksaitis> plan 9?
12:19 < Eko> aiju: find me a company that will pay me to program on plan 9
12:19 < Namegduf> Go combines roughly the same level of abstraction as C,
with a simpler, more readable syntax, with type safety, with a rich and useful
12:20 < Eko> aiju: or find me a company that's making a real-time system on
plan 9 that is ready to fly to Mars
12:20 < aiju> haha
12:20 < aiju> Namegduf: Go has more abstractions than C imho
12:20 < Namegduf> Plus concurrency primitives for very simple concurrency.
12:20 < aiju> mainly interface types
12:20 < nsf> why no one did a nice C library for networking?
12:20 < Namegduf> aiju: I meant from the hardware
12:20 < aiju> nsf: there are nice C libraries for networking
12:20 < Eko> plan 9 is a research operating system and has never gained
12:20 < nsf> aiju: like?
12:20 < aiju> plan9ports
12:20 < nsf> p9p?
12:21 < nsf> lol
12:21 < nsf> no, thanks
12:21 < marksaitis> hmz
12:21 < Eko> networking libraries in C almost universally suck.
12:21 < Eko> Which is why I roll my own.
12:21 < Namegduf> Oh, yes, and Go has interfaces, and packages, for
effective management of program parts and APIs between them, and the ability to
have code operate on multiple types so long as those types provide the functions
it needs.
12:21 < Eko> beej's guide ftw.
12:22 < marksaitis> so, are there any good system examples coded in go???
12:22 < Namegduf> The stdlib is good
12:22 < Namegduf> For examples of Go, I mean.
12:22 < aiju> Pike wrote a pure networking library afaik
12:22 < Namegduf> Major things written in Go? Not sure.
12:22 < aiju> which provides dial() on UNIX
12:22 < Eko> marksaitis: there's probably some relatively interesting
example of whatever kind of system code you might be interested in looking at
12:23 < Eko> It all depends on your background and what you find interesting
what you may want to peruse as an example.
12:23 < nsf> aiju: then why no-one uses it
12:23 < marksaitis> I am totally coming from Delphi.  I want something new,
easier, but as efficient as possible!
12:23 < aiju> marksaitis: almost everything beats Delphi
12:23 < Eko> marksaitis: my suggestion: pick a project you consider "fun"
and just start hacking at it.
12:23 < Namegduf> Go considers performance and simplicity hits as big
things, and has as few as possible for as much gain
12:23 < Eko> Then, after awhile, scrap it and start from scratch
12:24 < Eko> and you'll see that you're starting to think like a go
12:24 < Namegduf> The result is that it "feels like a dynamic language but
very type safe"
12:24 < marksaitis> aiju: why delphi is so beaten?  It seems a lot easier
than most of other languages
12:24 < user> Again thanks for the help Namedguf and Eko, works like a
charm!  There's hope for me and Go yet ;D
12:24 < Namegduf> No problem, sorry I couldn't explain it clearer quicker.
12:24 < marksaitis> I am not a professional in programming, but I have
written mabye more than 30K lines of code with delphi
12:25 < marksaitis> and I tried many other languages.  I do not know which
one I want
12:25 < Eko> delphi is one of the few languages I've never even looked at,
let alone written.
12:25 < marksaitis> Eko, trust me, it is so easy
12:25 < marksaitis> compared to c for example
12:25 < Eko> so is go, so is python
12:26 < Eko> eh, almost nothing is easier for me than C, because I have been
programming it since I was 12
12:26 < marksaitis> but python is scripting
12:26 < marksaitis> I am only talking about real languages here
12:26 < Eko> python is a real language.
12:26 < Eko> Just because it's interpreted doesn't mean it's "fake"
12:27 < marksaitis> I like the code of python
12:27 < Eko> take Java, for instance.  (much to my dismay,) Lots of
companies have hundreds of thousands of dollars invested in Java code.
12:27 < marksaitis> looks way better than c
12:27 < marksaitis> but its performance is lower than delphi or c
12:27 < Eko> I actually hate python, because it enforces whitespace, but
love it for other reasons.
12:27 < marksaitis> "enforces whitespace"?
12:27 < Namegduf> I don't dislike Python, although I think it has a few more
gotchas than I'd like
12:28 < Namegduf> I'd want unit tests if I was working in it, though,
because trying to debug programs sans any static analysis is hard.
12:29 < Eko> lol, I wrote unit tests for flight software in python
12:29 < Eko> the flight software was in C.
12:30 < Eko> It was really convenient because it allowed me to write very
general code to test a wide variety of cases intelligently.
12:30 < marksaitis> Okay, this is what I want to have in my programming
language - quite a new language which will have a good future, easy syntax,
awesome and easy to use libraries, as much as efficient as C. WHAT WOULD YOU
12:30 < Eko> Not yelling.
12:31 < marksaitis> :)
12:31 < Eko> Go has familiar syntax for the most part if you've used C or
Java.  It has libraries that are functional yet concise.  It is very efficient.  I
can't speak to the future of the language; I hope it has a long, bright future,
but can't make any promises.
12:31 < Namegduf> Go.
12:31 < marksaitis> any other better choices?
12:31 < Namegduf> :P
12:31 < marksaitis> I am not really sure about this "go" thing
12:31 < Eko> marksaitis: Not that you'l hear in #go-nuts
12:31 < Namegduf> Not that I know of.  Most current languages basically
throw in all the features they can
12:32 < Namegduf> And are slow, bloated, and complicated as a result
12:32 < Eko> and are not a compiled, system language.
12:32 < Namegduf> Go is not; it aims to be efficient, safe, and "fun".
12:33 < Eko> and modern, supporting things that K+R had no way to plan for
when they designed C
12:33 < Namegduf> Ah, yes.
12:33 < marksaitis> so how does go work?  what is its code converted to in
order to compile executable?
12:33 < Namegduf> It's compiled to an executable binary.
12:33 < Eko> marksaitis: it's just like C. The code is compiled, assembled,
and linked.
12:33 < Namegduf> I'm not sure of many languages trying to strike a good
compromise, like Go.
12:34 < Eko> er, compiled, linked, and assembled?
12:34 * Namegduf shrugs
12:34 < Eko> in any case, when the compiler is done with your code, it's
machine code that runs natively on the processor.
12:34 < Namegduf> Right.
12:34 < aiju> 13:26 < marksaitis> aiju: why delphi is so beaten?  It
seems a lot easier than most of other languages
12:34 < Eko> None of this MSIL, .NET, Java Bytecode nonsense.
12:34 < marksaitis> I see
12:35 < aiju> Pascal is a terrible language, it lacks most features of any
real language
12:35 < Eko> +1
12:35 < marksaitis> what does it lack?
12:35 < marksaitis> :)
12:35 < marksaitis> never noticed
12:35 < jumzi> nah, pascal is a mans language
12:35 < Eko> marksaitis: recursion?  lol
12:35 < aiju> function pointers
12:35 < Namegduf> First class functions are nice
12:35 < aiju> trying to get any job done in Pascal makes me scream loudly
12:35 < aiju> also record oriented I/O
12:36 < marksaitis> when I have been programming with it, it didn't seem to
lack much
12:36 < Eko> oh god
12:36 < marksaitis> well I am not a pro though
12:36 < aiju> 13:28 < Eko> python is a real language.
12:36 < Eko> I had to program in "Interactive Test Pascal" for some of the
microcontroller testing I did
12:36 < aiju> hahahahahhahahahahahha
12:36 < jumzi> +1
12:36 < marksaitis> Eko, are you a fan of google?
12:36 < rm445> Don't worry, the guys are being a bit OTT.  Modern pascal in
Delphi had all sorts of modern features, didn't it?
12:36 < Eko> marksaitis: I kinda have to be, they're my employer
12:37 < Eko> but yes, I was even before that.
12:37 < marksaitis> any IDE examples for go?
12:37 < aiju> rm445: recent additions to languages only make it worse D:
12:37 < Eko> marksaitis: there's development on an Eclipse plugin
12:37 < aiju> marksaitis: "IDE features are language smells"
12:37 < rm445> In any case people built real software with Delphi, it was
moderately successful, the reasons it was never mega-popular are to do with
microsoft's ascendance and Borland's implosion.
12:37 < jumzi> pfft, since when do you have to be a fan of your employer!?
12:37 < aiju> rm445: people built real software with COBOL
12:37 < aiju> and COBOL lacks binary integers!
12:37 < Namegduf> Being a fan of Google isn't required to like Go
12:38 < Namegduf> You do have to lack irrational hatred of anything to do
with them
12:38 < aiju> i dislike Google, but still like Go
12:38 < Namegduf> But if that's a problem you should go back to commenting
on blogs
12:38 < Namegduf> :P
12:38 < Eko> lol
12:38 < aiju> most stuff by Google is utter crap
12:38 < Ina> I'm not a huge fan of Google, but I'm not a huge fan of MS and
Apple either.
12:39 < jumzi> sadly yes, google seem to produce a heck of allot of crap
12:39 < aiju> i probably dislike all IT companies
12:39 < jumzi> but that seem to be a must if you want something really good
to come out of a big company
12:39 < marksaitis> okay, lets say I want a simple app which would run on
windows and linux, how is that achieved using go?
12:39 < Ina> I dunno, I think Wave had promise, it just was released far too
12:39 < Eko> Google makes money hand over fist by selling ads and uses a
good amount of that money to have the best damn search engine in the history of
the planet...  Sure, some of the (free, I might add) services they offer aren't up
to what you may pay for in a desktop application, but that's a moot point.
12:39 < aiju> marksaitis: windows support is not all too great
12:40 < aiju> Eko: still most things suck
12:40 < aiju> like android *shudder*
12:40 < Eko> have you used a nexus S?
12:40 < jumzi> its the best phone os out there tough
12:40 < marksaitis> really, so I can't even write a simple app for windows
with go?
12:40 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
12:40 < aiju> marksaitis: you can
12:40 < Eko> marksaitis: of course.
12:41 < Ina> I prefer Android to iOS, really.
12:41 < Eko> marksaitis: you just can't use the win32 api.
12:41 < aiju> Ina: it's like saying you prefer gonorrhea to cancer
12:41 < fenicks> hello
12:41 < Eko> without a third party library, at least.
12:41 < aiju> i mean Java, SRSLY?
12:41 < Ina> Phone OSes are like GUI libs, they universally suck.
12:41 < marksaitis> why can I not use it?  what can I use then?  i would
like to code and app with some basic 3D in directx, networking and want it to be
stable, tell me if thats possible?  dats for win
12:41 < Eko> I happen to really like android from a developer standpoint and
iOS from a user standpoint.
12:42 < aiju> marksaitis: i don't think there is any directx support
12:42 < aiju> Eko: you like Java?
12:42 < Eko> there are opengl bindings, I think
12:42 < jumzi> do not use go for graphics atm
12:42 < aiju> Eko: not for windows
12:42 < Eko> aiju: not particularly, but the API they designed is still
pretty nice.
12:42 < rm445> aiju: okay, so you hate everything.  That's really cool and
edgy.  Now can you please stop replying to any mention of anything by saying you
hate it?
12:42 < jumzi> isn't that the mantra?
12:42 < marksaitis> Ina, iOS is awesome.  It's plain simple, you have these
icons and you just launch any you want.  thats all you need
12:42 < aiju> rm445: i don't hate anything
12:42 < Ina> Eko, but there's no cgo support for windows, so the OpenGL
bindings don't work.
12:42 < Eko> ah, right, forgot about cgo.
12:43 < Eko> Mostly because I use real operating systems ;-)
12:43 < aiju> marksaitis: no preemptive multitasking, srsly?
12:43 < jumzi> 
12:43 < marksaitis> ok, lets forget 3D.  Im good with plain 2D and some
networking.  how bout dat?
12:43 < Ina> Even the most recent versions of iOS's multitasking sucks.
12:44 < Namegduf> Go is very good at networking.
12:44 < marksaitis> aiju: what do you mean no preemtive multitasking?
12:44 < aiju> iOS multitasking is a lie
12:44 < Namegduf> Graphics libraries are missing.
12:44 < marksaitis> IOs multitasking is superb :)
12:44 < Ina> marksaitis, it has something that passes for multitasking.  It
has no preemptive multitasking.
12:44 < marksaitis> it just works
12:44 < Ina> Uhm, no.
12:44 < jumzi> lol
12:45 < aiju> marksaitis: i sincerely hope you're just trolling
12:45 < Eko> it doesn't have multitasking, it has ways for applications to
give you the same feel as if they were multitasking without actually doing it.
12:45 < marksaitis> what the hell is preemptive?
12:45 < marksaitis> :)
12:45 < Ina> marksaitis, ...
12:45 < Namegduf> http://en.wikipedia.org/wiki/Preemptive_multitasking
12:45 < Eko> lmgtfy
12:45 < jumzi> so...  anyhow phones sux
12:45 < aiju> according to Apple, preemptive multitasking is too complex or
12:45 < jumzi> all agreed?
12:45 < aiju> that's why it has been implemented on virtually every
processor in existance
12:45 < Ina> agreed
12:45 < aiju> even some with 128 bytes of RAM
12:46 < marksaitis> well, folks, I am not going in complexity with it.  But
all the users wanted on IOs, was a nice way to switch from one app to another
without having to close it - it works
12:46 < rm445> The iphone OS has multitasking, but it's not entirely exposed
to the application writer.  The OS and some privileged apps have access to proper
12:46 < Eko> aiju: no, they just think people can't use it responsibly and
developers can't be trusted to code for it responsibly and don't want their phone
to be blamed for being slow or having bad battery life because of things they
can't control.
12:46 < aiju> rm445: it's like saying there was freedom in third reich
12:46 < aiju> it just wasn't exposed to everyone
12:47 < Eko> wow, you just pulled out page 3 of the Book of Troll
12:47 < Ina> Anyway, let's end this debate?
12:47 < Eko> isn't there some usenix axiom somewhere that any conversation,
if left alone too long, will come back to hitler?
12:47 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 255 seconds]
12:47 < jumzi> godwins law?
12:47 < Namegduf> It was the worst thign Hitler did.
12:48 < Namegduf> Cause people to reference him.
12:48 < Eko> jumzi: that's it :D
12:48 < jumzi> usenet btw
12:48 < aiju> the go runtime should really compile with -FVw
12:48 < jumzi> aah, good ol -FVw
12:49 < Ina> We should run an obfuscated go contest.  :o
12:49 < marksaitis> so, what is the easiest language, with all the easy
libraries you need and native compiled code?
12:49 < jumzi> its more of a symbol of a sane enviroment imo
12:49 < Eko> gofmt rewrite rules :D
12:49 < aiju> marksaitis: christ, are you serious?
12:49 < jumzi> marksaitis: stop asking weird questions
12:49 < marksaitis> aiju, well that is all I am looking :)
12:49 < Namegduf> None.
12:50 < Eko> marksaitis: http://en.wikipedia.org/wiki/Tradeoff
12:50 < marksaitis> And I can't find one
12:50 < marksaitis> they all seem to have troubles
12:50 < aiju> instead of asking for easy language, actually learn the
12:50 < Namegduf> There isn't one.
12:50 < jumzi> personal taste maybe should go in there?
12:50 < Namegduf> Libraries are written in C/C++ generally.
12:50 < Ina> marksaitis, I believe you might want to go to college and
follow an education in software development
12:50 < jumzi> and yeah, actually learning to program somewhere
12:50 < Namegduf> Other languages will not have "all the easy libraries you
12:51 < Namegduf> And those do not meet your requirements
12:51 < Namegduf> You will have to compromise that.
12:51 < Eko> but may or may not provide the ability to plug into a c/c++
library that you picked up on the street corner somewhere.
12:51 < jumzi> and when things go haiwire its impossible to debug?
12:51 < aiju> jumzi: debugging is overrated
12:52 < marksaitis> ok, well that is all I wanted to know
12:52 < aiju> as every scripting language developer can tell you, real
programmers just don't put bugs in software in the first place
12:52 < Namegduf> Go permits implementing an interface to an arbitrary
library via cgo fairly easily.
12:52 < aiju> that's why they don't need "type safety" or other silly things
12:52 < marksaitis> i am still not too sure what language should I choose
after working with delphi
12:52 < Namegduf> It's about as good integration with C libraries as you
will get.
12:52 < aiju> marksaitis: if you don't mind windows support, really try go
12:52 < jumzi> aiju: damnit, i suck more then i tought
12:53 < Eko> marksaitis: If you want to try Go, stay here and ask sensible
questions as you try it out.  If not, we hope we've helped you on your way and ask
that you kindly stick to go-related topics or none at all.
12:53 * jumzi turns on invincibility mode
12:53 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
12:54 < jumzi> Eko: Oranges is allways ok
12:54 < nsf> marksaitis: you said about directx, I think Go is a bad choice
for game development
12:54 < jumzi> isn't every language a bad choice for game development
12:55 < Namegduf> nsf: Hmm, why?
12:55 < nsf> C/C++ isn't (even though C++ sucks)
12:55 < Eko> nsf: I disagree!  go has great networking for, which is all you
need to create the most epic MUDs evar.  Graphics are for wimps.
12:55 < marksaitis> ok, well lets forget directx.  I want something like
delphi, but with more integrity and more libraries
12:55 < nsf> Namegduf: the language isn't stable, garbage collector sucks,
scheduler is far from being optimal
12:55 < aiju> C++ is a bad choice for EVERYTHING
12:55 < Namegduf> I don't see how those are specific to games dev
12:56 < jumzi>
12:56 < aiju> games need superb performance
12:56 < jumzi> asm?
12:56 < aiju> to compensate the programmer's inability to write performant
12:56 < marksaitis> why nobody knows whats what and everybody just keeps
arguing :)
12:56 < Eko> aiju: you should be positive occasionally or I'll be tempted
replace you with a very small shell script :-P.
12:56 < aiju> Eko: i am positive about Go
12:56 < jumzi> cat-v does that to you
12:57 < nsf> marksaitis: why do you want something like delphi?  do you want
a programming language or do you want to write programs?
12:57 < Eko> aiju: ah, which is why I never see it.  The conversation in
here is so rarely about Go, lol
12:57 < nsf> Go is just another language with garbage collector
12:57 < rm445> marksaitis: I hope people don't think I'm trolling, but if
you're more interested in Windows development than otherwise, and you want RAD and
lots of libraries, you probably want C#/VB.NET
12:57 < nsf> ...  :)
12:58 < jumzi> nsf: !!!
12:58 < marksaitis> nsf :D what kinf of question is this.  I want one easy,
universal language
12:58 < Namegduf> VB == instant trolling
12:58 < aiju> hahahahhahahhahahahahahahhahahhahaha
12:58 < aiju> RAD
12:58 < Namegduf> It's not even current
12:58 < jumzi> marksaitis: stick to delphi
12:58 < nsf> marksaitis: there is no such thing
12:58 < jumzi> its awesome
12:58 < Ina> <nsf> marksaitis: there is no such thing <-- this
12:58 < aiju> RAD is so infinitely stupid
12:58 < nsf> a lot of projects are much better if some kind of domain
specific language is used
12:58 < Eko> marksaitis: http://en.wikipedia.org/wiki/Tradeoff <-- Read
this article.
12:58 < marksaitis> why is RAD stupid?  I think RAD is awesome
12:59 < marksaitis> it saves one very important thing - time
12:59 < jumzi> WHY DO WE LET HIM TROLL US!?
12:59 < nsf> and idea of a sinlge, universal language leads to C++/D
12:59 < nsf> who needs that?
12:59 < nsf> single*
12:59 < marksaitis> Eko, I read it
12:59 < Eko> jumzi: because we have nothing better to do
12:59 < Namegduf> marksaitis: Developing good code quickly is more important
as a goal than developing code quickly
12:59 < marksaitis> nsf, simple, not single :)
12:59 < Namegduf> marksaitis: RAD does the latter at the cost of the former
13:00 < nsf> marksaitis: they've tried to be simple
13:00 < jumzi> no, i have acme fired up in the background of this irc window
but i can't stop watching this window
13:00 < Eko> marksaitis: so, you understand that asking for a "universal
language" is like asking for a single piece of kitchenware that can prepare and
serve every meal in existence?
13:00 < jumzi> i would say addiction
13:00 < nsf> it turns out if you want something universal, it isn't simple
13:00 < Namegduf> Eko: I want one.
13:00 < nsf> simplicity is about simple things interacting with each other
13:00 < aiju> super specialized languages are worse than universal ones
13:00 < jumzi> aiju depends
13:00 < aiju> or rather super specialized general purpose languages lol
13:01 < nsf> but there is more than one simple thing usually
13:01 < Ina> marksaitis, I'd seriously recommend looking into .net.
Alternatively, FreePascal/Lazarus
13:01 < rm445> the problem in this channel, is if someone asks how to do
something, people will tell them not to do it.
13:01 < marksaitis> Eko, why not :) mabye not today, but definately in the
future.  I understand that there is too much fuss in todays programming world.
Too many different ways to process the same piece of information which is all
13:01 < nsf> rm445: it's not a problem at all
13:01 < nsf> a good advice
13:01 < aiju> rm445: most questions sound like "how can i make my horse go
13:01 < jumzi> a "super specialized language" is a program imo i start on
the shell or wherever
13:01 < aiju> when you actually want a car
13:01 < nsf> f**k it!  there is life out there
13:02 < marksaitis> :D
13:02 < nsf> throw a PC out of the window
13:02 < marksaitis> PC's and internet is starting to suck, isnt it?
13:02 < jumzi> i think this channel has inherited abit to much of the plan9
13:02 < rm445> Q. Is there a Go IDE?  A. You shouldn't want an IDE.  Q. How
do I install a Go syntax hilighting file?  A. You shouldn't want syntax
hilighting.  (I swear, someone went on an anti-syntax-hilighting rant the other
13:02 < marksaitis> everybody just keeps chatting about problems which would
not exist if there would be dominant standards for most of commond things today
13:02 < rm445> Q. I want something like Delphi.  A. You shouldn't.
13:02 < nsf> it sucks people's lives
13:02 < jumzi> i don't use syntax highlightning anymore
13:03 < nsf> jumzi: plan9 sucked your life
13:03 < Namegduf> rm445: "No" and "You get it from the main distribution"
13:03 < Ina> marksaitis, if you want something like Delphi, take a look at
13:03 < nsf> I think plan9 sucks
13:03 < Eko> marksaitis: there are two domains (among many others): system
programming and application programming, and they have completely different
domains.  It is next to impossible for anything to be both simple and functional
in both domains, and to expand into other, more speciailized domains without
compromising is ludicrous.
13:03 < nsf> and Go :)
13:03 < marksaitis> Ina, nobody is chatting with u :))) u didn't even
understand what I want.
13:03 < aiju> 14:05 < Ina> marksaitis, if you want something like
Delphi, take a look at Freepascal/Lazarus
13:03 < aiju> last time i looked freepascal was even worse than delphi
13:03 < Eko> marksaitis: you don't understand what you want.
13:04 < Namegduf> rm445: There are Go files for Vim and others, I think.
13:04 < nsf> marksaitis: I think _you_ don't understand what you want
13:04 < nsf> ;)
13:04 < Namegduf> They're in the main distribution.
13:04 < marksaitis> yeah, freepascal/lazarus is a piece of garbage
13:04 < Namegduf> So clearly Go is not officially against it.
13:04 < jumzi> nsf: NO PLAN9 CREATED MY LIFE
13:04 < Ina> aiju, well, true.
13:04 < Ina> But it is something like Delphi.
13:04 < marksaitis> jumzi, so that means u been born in plan9?
13:04 < marksaitis> :D
13:04 -!- niemeyer_ [~niemeyer@201-14-240-9.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
13:05 < jumzi> i'm just a rc script
13:05 < Eko> it's true, I had to reboot him the other day
13:05 < Ina> I don't think you can get 'something like delphi' without
FPC/Lazarus or Delphi itself.
13:05 < nsf> wait, Go is like Delphi
13:05 < aiju> i have yet to understand what "something like Delphi" means
13:05 < marksaitis> I have got another question.  Which of todays
programming languages has the best libraries?  (easy to use)?  Tell me at least 2
13:05 < nsf> so..  you wanted something like delphi
13:05 < nsf> you got it
13:05 < Eko> marksaitis: define "easy to use"
13:06 < aiju> marksaitis: what do you need libraries for?
13:06 < nsf> marksaitis: ruby, python and go
13:06 < marksaitis> nsf --- good point :) go is simmilar to delphi!
13:06 < marksaitis> thats why im here
13:06 < aiju> <insert long rant about ruby here>
13:06 < Ina> go is ...  superficially similar to Pascal.  It's not at all
similar to Delphi.
13:06 < nsf> aiju: what's wrong with ruby?  it's cool
13:06 < aiju> Go is not at all similar to Pascal
13:07 < nsf> for writing tiny scripts..
13:07 < jumzi> ruby might be good tough
13:07 < aiju> nsf: Ruby is the C++ of scripting languages
13:07 < Ina> aiju, it's superficially, because both use :=
13:07 < aiju> Ina: hahahaha
13:07 < rm445> I think something like Delphi means a fancy IDE and fancy GUI
builders and built-in libraries for databases and other things.  In which case he
wants either whatever remnant of Delphi is still kicking around, or visual studio
(unless he wants cross-platform, where the answer is harder)
13:07 < marksaitis> Eko - "Easy to use", easy syntax like delphi has, less
code to write, understandable and easy to remember function names
13:07 < Ina> aiju, superficial means it kind of looks like it, right?
13:07 < nsf> well, if you want IDE, it's a wrong irc channel for you
13:08 -!- Scorchin [~Scorchin@host86-145-18-139.range86-145.btcentralplus.com] has
joined #go-nuts
13:08 < Ina> Go doesn't even have a proper GUI library, let alone a Delphi
13:08 < nsf> marksaitis: try C#, seriously
13:08 < nsf> I know a lot of delphi programmers end up as a C# programmers
13:08 < marksaitis> no, IDE is not necesary
13:08 < marksaitis> :)
13:08 < Ina> Yes, C# is probably the best choice for marksaitis
13:08 < aiju> most C# code i have seen made me want to quit computing
13:09 * jumzi packs his bags and gets tha f**k out of here
13:09 < Ina> aiju, most pascal code did the same.
13:09 < marksaitis> well, i dont like C# because it has that runtime stuff
13:09 < Ina> To me, anyway.
13:09 < aiju> pascal is cute
13:09 < marksaitis> these framework
13:09 < nsf> personally
13:09 < marksaitis> live code
13:09 < nsf> I _hate_ C#
13:09 < marksaitis> nsf - Yeah
13:09 < Ina> nsf, me too.
13:09 < marksaitis> C# is a piece fo garbage
13:09 < nsf> but it's a good choice for you, marksaitis
13:09 < nsf> :)
13:09 < aiju> hahaha
13:09 < Eko> marksaitis: syntax is depentant on the language.  If you want
people abusing operator overloading, look to C++.  If you want fewer lines of
code, you're not talking about a library you're again talking about the language.
ALL libraries should lessen the number of lines of code.  Remembering function
names is a matter of familiarity, the real issue should be how well or centralized
the documentation is.
13:10 < nsf> no, it's not garbage
13:10 < nsf> .NET platfrom is nice
13:10 < nsf> MS implementation and Mono both are fine
13:10 < aiju> ALL libraries "should"
13:10 < marksaitis> not really, I looked at it :) I believe those Delphi
programmers who turn in to C# are lost
13:10 < aiju> almost none do
13:10 < nsf> good GC, big library (ugly though)
13:10 < nsf> but it works
13:10 < nsf> a lot of people know C#, a lot of libs are out ther
13:10 < nsf> there*
13:10 < Namegduf> C# is basically Java with broken portability
13:10 < Ina> Yeah, C# is a really good Java clone.
13:10 < marksaitis> well thats the thing, I donnt like big ugly libraries
13:11 < nsf> and for games there is a nice MS framework called XNA
13:11 < Eko> marksaitis: then program in assembly and never again use a
library in your life.
13:11 < Ina> Ugh, XNA.
13:11 < Namegduf> Windows-only, though.
13:11 < nsf> people sell XNA games for real
13:11 < aiju> libraries are the beginning of doom
13:11 < marksaitis> Eko - again, too much code to do
13:11 < nsf> games are buggy though
13:11 < marksaitis> :D
13:11 < nsf> but I don't know who's responsible for this
13:11 < Ina> nsf, not because of the library, sadly.
13:11 < nsf> stupid programmers or XNA
13:11 < aiju> nsf: probably both
13:11 < Ina> Because if it was the library, I could blame MS.
13:12 < Eko> marksaitis: how about you go make a spreadsheet of a few of the
languages we've suggested and list their pros and cons.  Then make a decision on
one to try, and stop dragging your feet about it.
13:12 < marksaitis> anyways, see you next time at some point, was nice to
chat, im unclear yet.  I am switching my PC off to go out to a real life
13:12 -!- marksaitis [~MK@cpc1-pool5-0-0-cust249.15-1.cable.virginmedia.com] has
quit [Remote host closed the connection]
13:12 < aiju> actually, MS implementations are not THAT bad
13:12 < aiju> it's just the design that sucks
13:12 < Eko> You probably could have written "Hello, world!" in 20 languages
in the time it's taken you to get the same answers out of us 10 times.
13:12 < Ina> C# is honestly a pretty good Java clone.
13:12 < aiju> C# is worse than Java
13:13 < nsf> yes, big company, has enough man power for maintaining crappy
13:13 < Ina> Clones always are, aiju
13:13 < exch> try all of them.  Since there no such thing as 'the best
language', it pays to broaden your knowledge.  The right tool for the right job.
13:13 < aiju> well, HE FUCKING LEFT
13:13 < nsf> :D
13:13 < Eko> darn, our troll is gone
13:13 < Namegduf> It's good aside the portability being deliberately broken,
in order to give a boost to Windows.
13:13 < aiju> rm445 is still here
13:13 < Eko> now what will I do with my evening
13:13 < exch> bummer
13:13 < Namegduf> As a clone of Java, that is.
13:13 < Namegduf> Which is awful anyway
13:13 < aiju> even though you don't meant the library, "BOOST" still made me
shudder IRL
13:14 < Eko> lol
13:14 < Ina> Ugh, Boost.
13:14 < Namegduf> Boost: Because C++ didn't have enough features
13:14 < Ina> You're talking the C++ library, right?
13:14 < nsf> Namegduf: but marksaitis plans to use DirectX
13:14 < Eko> I love boost :D
13:14 < nsf> it means he's a windows junkie
13:14 < Eko> because they can always come up with a much more convoluted way
to do something than I can
13:15 < aiju> i once looked at DirectX.  once and never again
13:15 < Eko> aiju: yeah.  I thought opengl was bad until I looked at dx.
13:15 < nsf> DirectX 10-11 are nice
13:15 < nsf> but
13:15 < nsf> I don't even have a working OS to test them
13:15 -!- illya77 [~illya77@101-5-133-95.pool.ukrtel.net] has joined #go-nuts
13:15 < nsf> I still use xp for games
13:15 < Ina> OpenGL used to be the market leader once.  Sadly, those days
are gone.
13:15 < nsf> :)
13:15 < aiju> windows APIs summed up: long functions names, thousands of
arguments, most of them NULL
13:16 < Eko> Ina: microsoft spent a lot of money to make that happen
13:16 < Ina> Eko, I know.\
13:16 < Eko> brilliant business move on their part, sucks for the rest of
13:16 < Eko> kinna like just about everything they do.
13:16 < aiju> CreateFileW(L"hello.txt", NULL, NULL, NULL, NULL, NULL, NULL,
13:16 < Namegduf> MS specialises in making people who don't care about
portability enough use their clones.
13:16 < aiju> ^- how i remember the windows api
13:16 < nsf> :D
13:17 < Eko> aiju: I think you're missing at least one NULL before the
13:17 < Eko> :D
13:17 < nsf> HRESULT
13:17 < nsf> lol
13:17 < Namegduf> XD
13:17 < aiju> #define interface struct
13:17 < aiju> sums up Windows abuse of C pretty well
13:17 < Eko> DWORD *HWIN WIN32 some_var
13:17 < aiju> LPFOO
13:18 < Eko> I always felt like I was yelling at the compiler with the win32
13:18 < Eko> or, contrariwise, being yelled at by the API and my code.
13:18 < Eko> and I basically had to program with an API reference open in a
browser and my win32 book open on my desk
13:18 < Eko> (like java, except worse)
13:19 < aiju> also, the reference is often wrong
13:19 < exch> that's how I felt when I wrote my first SQL code.  until I
found out that the whole CAPS THING is actually not required :p
13:19 < Eko> exch: lol.
13:19 < Eko> aiju: yeah, and you have to go to different versions of the API
to look up some things
13:19 -!- shvntr [~shvntr@] has quit [Quit: leaving]
13:19 < Eko> *shudder*
13:20 < aiju> SELECT bar.* FROM quz.foo WHERE x = 'y' AND z = 'bla' ACTIVATE
13:20 < Eko> I like having godoc --http=:8080 running all the time so I can
always see exactly what I'm compiling against, and an offline reference
13:20 < aiju> there were really cases where the library said one thing and
reality was another
13:20 < aiju> like "You need to do xyz" and you mustn't do it
13:21 < Eko> lol
13:21 < Eko> a friend of mine worked on the Excel team at Microsoft for
13:21 < Eko> apparently the code was discraceful
13:21 < jumzi> it worked!
13:21 < Eko> and there would be entire functions commented out and replaced
with a "return true;" because they couldn't figure out the bug.
13:22 < aiju> haha
13:22 < jumzi> hmm...
13:22 < Eko> the thought was, apparently, it'll break further down the line
13:22 < Eko> And I wondered why error messages in Windows are so unhelpful.
13:23 < aiju> there are literally about 15000 error codes with Windows
13:23 < aiju> even Linux has just about 100
13:23 < Eko> yet somehow, even with 15,000 error codes, they're supremely
unhelpful when you look them up
13:23 < aiju> yeah
13:24 < aiju> The specified namespace does not exist or is not accessible.
Contact your system administrator for further help.
13:24 < Namegduf> I've found they can be quite specific about what broke but
utterly useless for fidning out why.
13:24 < Namegduf> And thus fixing it.
13:24 < Eko> lol
13:24 < jumzi> Contact your system administrator for further help.<-- i
like that one
13:24 < jumzi> if only i could find that damn system administrator
13:24 < Eko> Error: Success
13:25 < Eko> that's my favorite.
13:25 < aiju> Eko: hahaha
13:25 < exch> keyboard error.  press F1 to continue.
13:25 < Eko> but it happens in linux too, so it's not just MS.
13:25 < aiju> exch: that's a BIOS message
13:25 < exch> ya
13:25 < Namegduf> It's a program bug, not an OS one.
13:25 < Namegduf> It indicates you decided an error happened and tried to
read errno, but errno was empty, usually
13:25 < aiju> the single piece of software worse than Windows
13:26 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has joined
13:26 < Eko> Namegduf: yeah, I know the reason for it, but its hilarious.
13:26 < aiju> one has to be deliberate to get that with Unix
13:27 < Eko> anyway, sleep is calling my name.  Yell for me if any trolls
come back :)
13:27 < Namegduf> Sleep well.
13:27 * aiju first thought he meant sleep(2)
13:27 < Eko> lol
13:27 < Ina> I thought sleep(Eko)
13:27 < Eko> clearly it.s Eko.Sleep()
13:28 < aiju> that was a manual page reference, not a function argument
13:28 < Eko> aiju: yeah, I got it.
13:28 < nsf> https://github.com/nsf/ccode
13:28 < nsf> btw, I've finished my C completion daemon
13:29 < aiju> i want a thought completion daemon
13:29 < nsf> :D
13:29 < aiju> which autocompletes my thoughts
13:29 < aiju> at least that one would actually help with programming
13:29 < aiju> Something that should look like a usage guide
13:29 < aiju> you should add ???, PROFIT
13:29 < nsf> :)
13:30 < aiju> Can be used to complete C++/ObjC, but I'm not targeting these
languages.  Don't report C++/ObjC specific bugs.
13:30 < nsf> :)
13:30 < aiju> seems impossible to me, given all the insanity of C++ syntax
13:30 < nsf> libclang supports it well
13:31 < nsf> all C++98 and bits of C++0x
13:31 < nsf> I've tested it a bit on STL
13:32 < nsf> works just fine
13:32 < aiju> hahaha STL
13:33 < nsf> anyways, I needed C autocompletion and here it is
13:33 < aiju> std::basic_ostream<_CharT, _Traits>::__ostream_type&
_Traits>::__ostream_type& (*)(std::basic_ostream<_CharT,
_Traits>::__ostream_type&)) [with _CharT = char, _Traits =
std::char_traits<char>, std::basic_ostream<_CharT,
_Traits>::__ostream_type = std::basic_ostream<char>]
13:33 < aiju> it copes with THAT?
13:34 < nsf> it's a gcc error message
13:34 < nsf> clang doesn't do that afaik
13:34 < aiju> yeah, but that's how things look like
13:34 < nsf> clang actually knows about typedefs and presents them nicely,
at least tries to do that
13:34 < aiju> you think it's an std::vector but it's a <insert twenty
lines of messy code here>
13:35 < nsf> I know that, and I'm not interested in C++
13:38 < cde> aiju: thus began skynet
13:39 < cde> we need to go back in time and kill stroustrup
13:39 < nsf> :)
13:40 < nsf> what about bill gates?
13:40 < nsf> :)
13:40 < nsf> same time..
13:41 < nsf> he needs at least one more pie in a face
13:42 < nsf> we need to go back in time and kill stroustrup, bill gates,
steve jobs, linus torvalds, richard stallman and see what will happen
13:42 < nsf> :P
13:42 < nsf> minix?  plan9?
13:42 < nsf> freebsd!
13:43 < Ina> NeXTStep?
13:43 < cde> yep everyone would be using bsd now
13:43 < Ina> Lisp-machines?
13:44 -!- dchest [~dchest@] has joined #go-nuts
13:47 -!- tensorpudding [~user@] has quit [Read error: Connection
reset by peer]
13:54 < skelterjohn> morning
13:56 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
14:01 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts
14:04 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has quit [Quit:
KVIrc Insomnia 4.0.2, revision: 4740, sources date: 20100627, built on: 2010-10-19
12:51:39 UTC http://www.kvirc.net/]
14:06 -!- niemeyer_ [~niemeyer@201-14-240-9.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
14:19 -!- gju_ [~gju@big1.hrz.fh-zwickau.de] has joined #go-nuts
14:20 -!- nictuku [~nicutku@cetico.org] has quit [Ping timeout: 240 seconds]
14:23 -!- nictuku [~nicutku@cetico.org] has joined #go-nuts
14:40 -!- phalax [~phalax@c213-100-72-128.swipnet.se] has joined #go-nuts
14:41 -!- femtoo [~femto@95-89-248-108-dynip.superkabel.de] has quit [Ping
timeout: 240 seconds]
15:03 -!- Kashia [~Kashia@port-92-200-126-131.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
15:05 -!- illya77 [~illya77@101-5-133-95.pool.ukrtel.net] has quit [Ping timeout:
255 seconds]
15:08 -!- lmoura [~lauromour@] has joined #go-nuts
15:17 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined #go-nuts
15:19 -!- phalax [~phalax@c213-100-72-128.swipnet.se] has quit [Ping timeout: 240
15:26 -!- erus` [~tommo@host86-173-0-78.range86-173.btcentralplus.com] has joined
15:29 < cenuij> [14:45] <cde> yep everyone would be using bsd now
15:30 < cenuij> noes!  we'd be running VMS on dec alpha's!
15:31 * cenuij curses HP and curses Itanic
15:32 < cde> cenuij: I used VMS at school, ten years ago.  it was a cool IS
15:32 < cde> *OS
15:32 < cenuij> yep, same we had a bunch of vax clusters
15:33 < jumzi> plan9?
15:33 < jumzi> anyone?
15:33 < cenuij> plan9 on DEC alphas?
15:34 < cenuij> might have saved the world a few trillion in cooling costs
alone ;)
15:34 < Namegduf> Yeah, but we'd have had to go back to filing paper until
it became production usable
15:34 < Namegduf> :P
15:34 < cenuij> heh :P
15:35 -!- hcl2 [~akuma@] has joined #go-nuts
15:38 < cenuij> i was working on unpacking blizzards MPQ archive format, I
think im about 380 lines of Go code to unpack/uncompress/unencrypt files from
these archives.  Took me about 1k+ in java & c++
15:40 < jumzi> woot, talk about self control
15:40 < cenuij> it's just something i've done before so it was a good self
exercise for comparison
15:41 < jumzi> i meanth about touching the blizzard mpq without getting
distracted and start playing computer games instead
15:41 < cenuij> oh haha
15:41 < cenuij> well it's primarily to be nerdy about starcraft2 stats
15:41 < cenuij> So i'll have to play some games as *ahem* research
15:47 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has quit [Read
error: Operation timed out]
15:47 -!- Scorchin [~Scorchin@host86-145-18-139.range86-145.btcentralplus.com] has
quit [Ping timeout: 240 seconds]
15:49 < aiju> VMS lol
15:54 -!- Project_2501 [~Marvin@] has joined #go-nuts
15:56 -!- DerHorst [~Horst@e176096198.adsl.alicedsl.de] has quit [Remote host
closed the connection]
15:56 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts
15:57 -!- Ina [~Ina@dsl-087-195-206-242.solcon.nl] has quit [Ping timeout: 245
15:57 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has quit [Max SendQ
15:57 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts
15:59 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has joined #go-nuts
15:59 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has left #go-nuts []
16:01 < cenuij> hey don't knock VMS, it had this tool called phone, was
pretty much like instant messaging for anything on a decnet
16:02 < cenuij> admitedly, we only used it to harrass admins cos the print
spool was always broken :(
16:03 -!- saturnfive [~saturnfiv@] has left #go-nuts []
16:04 < cenuij> but offtopic again, back to Go and games, *waves*
16:09 < fzzbt> why goinstall accepts only github/googlecode/bitbucket urls
and not just package names like for example python easy_install/pip?  i dont want
to tie my program into one of these SCMs.
16:11 < Ayoi> hi there, hmmm.  i have a problem understanding how can i get
a pointer to the http server object from the core package "http", usually we
create it with the http.ListenAndServe method, but it doesn't return an object but
only errors.
16:17 < exch> ListenAndServe is a blocking call.  You should call it in a
goroutine.  Actual requests are handled by the funciton you specified in
16:17 -!- sanjoyd [~sanjoy@unaffiliated/sanjoyd] has joined #go-nuts
16:18 < exch> http.HandleFunc("/", myHttpHandler); http.ListenAndServe(...);
16:18 < exch> myHttphandler will then be called everytime a new request
comes in
16:19 < cenuij> fzzbt: you can install a package from a local path with
goinstall, or just patch download.go from src/cmd/goinstall
16:19 < fzzbt> Ayoi: here is good example tutorial if you havent read it
already http://golang.org/doc/codelab/wiki/
16:22 < Ayoi> exch, thanksfor the explanation, fzzbt i'm gonna read that ,
16:23 < aiju> cenuij: UNIX had write(1)
16:24 < cenuij> aiju: yes but only on the same system, and no "address book"
16:24 < skelterjohn> fzzbt: I don't understand what alternative you're
suggesting for goinstall
16:24 < sanjoyd> Hi! I'm trying to build Go (not gccgo) behind an http
proxy, and when I run all.bash, the http tests fail.
16:24 < skelterjohn> (note, not saying you don't have a point)
16:24 < skelterjohn> sanjoyd: DISABLE_NET_TESTS=1
16:24 < sanjoyd> How can I fix this?
16:25 < sanjoyd> skelterjohn: is there any way I can get Go to use my http
16:25 < skelterjohn> DISABLE_NET_TESTS=1 ./all.bash
16:25 < sanjoyd> export http_proxy does not seem to work.
16:25 < skelterjohn> no idea
16:25 < skelterjohn> just don't run the net tests :)
16:25 * sanjoyd is doing that.
16:25 < skelterjohn> yeah i don't know much about proxies, etc.  i just know
the solution for that specific problem
16:25 < skelterjohn> (it comes up a lot)
16:25 < aiju> HTTP proxies cause nothing but trouble
16:26 < sanjoyd> Can't do much; proxied Internet is all what my university
16:26 < skelterjohn> are you in china?
16:26 < sanjoyd> No, India.
16:27 < cenuij> do you have control over the box?
16:27 < aiju> how do you IRC through a proxy?
16:28 < sanjoyd> I'm tunneling.  I generally use proxychains for IRC, git
etc.  but that does not work so well with build scripts.
16:28 < skelterjohn> super lame
16:28 < skelterjohn> stage a protest
16:29 < sanjoyd> I agree with the 'super-lame' part.  :)
16:29 < sanjoyd> Okay, builds.  Thanks!
16:29 < aiju> look how Gandhi did it
16:29 -!- artagnon [~artagnon@unaffiliated/artagnon] has joined #go-nuts
16:30 < jumzi> slept with allot of naked young women?
16:30 < sanjoyd> Ahimsa against Internet censorship?  Makes sense, actually.
16:31 < sanjoyd> Writing code is more fun that making salt, though.
16:31 < fzzbt> skelterjohn: well basically, i just don't like writing
'import "github.com/some/repo/package"' but rather 'import package'.  if github
ever goes down then everyone have to change it to 'import
"bitbucket.com/some/repo/packge"' etc.  i couldnt care less how the actual
installation process goes.
16:31 -!- artagnon [~artagnon@unaffiliated/artagnon] has left #go-nuts ["Killed
16:31 < skelterjohn> how would goinstall know where to get the package?
16:31 < KBme> but this way you can install dependencies automatically, which
is pretty nice
16:32 < cenuij> nice until you want to use your (more advanced) system
package manager for libraries
16:32 < skelterjohn> this is nice because google doesn't have to maintain a
repository of package locations
16:32 < cenuij> but I believe A Gerrand is making some changes on that front
16:34 < cenuij> I'd personnally like to see linux packagers get together and
work on goinstall to respect and work with .rpm .deb and their associated tools.
16:34 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 240 seconds]
16:35 < aiju> I'd personally like to see .rpm .deb and their associated
tools dead
16:35 < jumzi> well developers should be able to use goinstall tbh
16:35 < jumzi> aiju: you did it again
16:35 < skelterjohn> oops, he did it again?
16:35 < cenuij> why?  your system would be unusable unless you spent 99% of
your time maintaining and compiling packages and libs
16:35 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
16:36 < jumzi> i thinx
16:36 < skelterjohn> cenuij: why do you say that?
16:36 < aiju> you know that .rpm and .deb are not the only package formats
16:36 < cenuij> the rpm and deb toolchains provide very valuable sat-solvers
16:36 < cenuij> wihtout which most of your system wouldnt work
16:36 < aiju> cenuij: my system DOES work without rpm and deb
16:36 < skelterjohn> mine too
16:36 < skelterjohn> i've got a mac
16:36 < jumzi> praising pacman eh?
16:37 < cenuij> and im sure you never had dependancy problems?
16:37 < jumzi> yeah, i prefer an app store before deb anyday
16:37 < aiju> hahaha
16:37 < jumzi> anyhow, everything would be so nice if everyone could just
agree that static is tha shait
16:37 < skelterjohn> i haven't really had any dep issues that i can think of
16:37 < aiju> cenuij: we could also just get rid of dynamic linking and
largely simplify package maangement thus
16:37 < skelterjohn> though, i do have fink installed
16:37 < skelterjohn> and it's much the same thing
16:38 < jumzi> only thing i like with macs is that p9p works on it
16:38 < cenuij> only thing I like about macs is that I can install linux on
16:38 < jumzi> then it wouldn't be a mac
16:38 < cenuij> that would be the point
16:38 < jumzi> it would be an abomination
16:38 < aiju> that probably voids your warranty :P
16:38 < KBme> i love the one button mouse
16:39 < KBme> it's genious
16:39 < jumzi> yeah, who needs two or even three buttons!?
16:39 < jumzi> ppl without fingers would be left out
16:39 < cenuij> my mouse has 12 button numpad emulation on the right side
16:39 < cenuij> :(
16:39 < skelterjohn> sounds useful
16:39 < aiju> cenuij: haha
16:40 < KBme>
16:40 < aiju> numpad is an abomination
16:40 < cenuij> pretty nice for code macros
16:40 < jumzi> numpads are awesome, they take space
16:40 < aiju> jumzi: yeah, we can't figure out a better reason for all that
16:40 < jumzi> hmm...cup holder?
16:40 < aiju> s/reason/use
16:41 < skelterjohn> KBme: when is that from?
16:41 < skelterjohn> probably predates the ipad
16:41 < KBme> heh
16:41 < KBme> yeah i think so
16:42 < fzzbt> numpads would be okay if they were placed on the left side of
keyboard, so it wouldn't take space from the mouse.
16:42 < jumzi> what!?
16:42 < jumzi> they fulfill no use = not ok!
16:42 < jumzi> what am i saying
16:42 < cenuij> back on topic before we start discussing fixed width fonts
and dvorak kb layouts?
16:42 < jumzi> this is computers we're talking about
16:43 < KBme> cenuij: yeah, i love organic lettuce too
16:43 < jumzi> fixed width = overrated, dvorak = awesome
16:43 < jumzi> ops
16:43 * exch is kinda happy with his numpad cos he has all sorts of commands bound
to it in openbox
16:43 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has quit [Ping
timeout: 276 seconds]
16:43 < cenuij> razer naga is the mouse i use atm, and off to watch Scotland
whip Wales @ rugby
16:44 < jumzi> hmm gamer eh?
16:44 < KBme> really, someone should shoot hardware manufacturers for not
changing the keyboard layout
16:44 < cenuij> y, mostly mmo & rts
16:44 < jumzi> or just make the keys aligned?
16:44 < jumzi> not that groundbreaking
16:44 < cenuij> first person went down the shitter since doom3
16:44 < aiju> someone should shoot laptop manufacturers for CHANGING the
keyboard layout
16:44 < jumzi> aiju: huh?
16:44 < KBme> oh that too yeah
16:45 < KBme> each and every laptop has a slightly different layout
16:45 < jumzi> aah
16:45 < aiju> mine has the following layout in the lowest row
16:45 < skelterjohn> ah, the glory days of q3
16:45 < Namegduf> Mine has a regular full-size keyboard.
16:45 < skelterjohn> that was my game.
16:45 < Namegduf> With numpad.
16:45 < jumzi> i only go thinkpad :D
16:45 < aiju> ctrl, fn, alt, ^°, space, <>|, ins, del, alt gr
16:45 < KBme> -> go-nuts-social?
16:45 < Namegduf> Pff.
16:45 < jumzi> wousss talk
16:45 < Namegduf> It also has two HDDs and two fans and two GPUs
16:45 < aiju> channels unable to tolerate moderate levels of off topic suck
16:46 < Namegduf> So it's an atypical laptop
16:46 < KBme> ok, so my laptop is electrocuting me
16:46 < jumzi> any laptop that big is utterly useless
16:46 < KBme> is that normal?
16:46 < jumzi> you don't use a laptop as a desktop computer
16:46 < aiju> KBme: yeah
16:46 < aiju> mine does that do D:
16:46 < KBme> ok, cool
16:46 < Namegduf> Yes I do.
16:46 < aiju> *,too
16:46 < skelterjohn> jumzi: why not?  it's a desktop computer that isn't
chained to a desk
16:46 < Namegduf> I use it like a luggable.
16:46 < skelterjohn> how is that not useful?
16:46 < KBme> does it electrocute you?
16:47 < Namegduf> I have a tiny netbook I use like a regular laptop
16:47 < jumzi> well anything you can't take on the bus is just a glorified
desktop machine
16:47 < aiju> the case is at +230 V sometimes
16:47 < jumzi> and in your case an expensive one
16:47 < KBme> aiju: what brand?
16:47 < aiju> toshiba
16:47 < KBme> hmm, so it's not a dell thing
16:47 < cenuij> I guesss if you cba to service your computer then powerful
laptops are the way to go.
16:47 < aiju> it has a high impedance
16:47 < aiju> so it doesn't kill me
16:48 < jumzi> Namegduf: sry what!?  how can you not die from the strain
using one of those?
16:48 < KBme> i wonder if this is a feature or if I can call customer
support about this
16:48 < Namegduf> A netbook?
16:48 < Namegduf> Or a huge laptop?
16:48 < jumzi> a tiny netbook
16:48 < Namegduf> "tiny" == 9"
16:48 < Namegduf> Which fits in my coat pocket.
16:48 < Namegduf> I have big pockets.
16:49 < KBme> that's like as big as my phone
16:49 < skelterjohn> your phone is too big
16:49 < KBme> :)
16:49 < Namegduf> Yes, it is
16:49 < Namegduf> XD
16:49 < cenuij> speaking of phones, wtf nokia
16:49 < jumzi> FLAME NOKIA
16:49 < cenuij> really, i'm gutted
16:49 < jumzi> if they want to kill themself who are we to judgö?
16:49 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Remote
host closed the connection]
16:49 < cenuij> wanted to get a MeeGo phone
16:50 < Namegduf> I was hoping for MeeGo to be something good, yeah.
16:50 < KBme> jumzi: why, tho?
16:50 < KBme> symbian sucks, true dat
16:50 < skelterjohn> jumzi: reference to former nokia exec?
16:50 < Namegduf> A non-Java phone ould be good.
16:50 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-183-83.clienti.tiscali.it] has
joined #go-nuts
16:50 < Namegduf> But now we just have Android, WP7, and the iPhone, and 2/3
of those are closed platforms.
16:50 < aiju> Namegduf: wtf?  srsly?  how can you even THINK about a
telephone without Java?
16:50 < aiju> Namegduf: 3/3
16:50 < cenuij> why would you throw out your own platform and services and
use the one with the lowest market share instead?
16:51 < cenuij> unles Elop was taking hard cash?
16:51 < jumzi> java = closed
16:51 < jumzi> its impossible to read without anxiety attacks
16:51 < Namegduf> Reading comments on it, the suggestion is that they could
distinguish themselves by using the OS no one else is using.
16:51 < jumzi> KBme: what you mean why?
16:51 < cenuij> it's fucking insane
16:51 < Namegduf> Not that everyone else couldn't and wouldn't if it proved
16:51 < Namegduf> They just didn't want to
16:51 < fzzbt> Elop is a trojan horse :(
16:51 < KBme> jumzi: why flame them?
16:52 < aiju> WP7 is probably better than android and iOS
16:52 < cenuij> fzzbt: I think that is probably the case
16:52 < Namegduf> I think he was joking.
16:52 < jumzi> im to tired to code?
16:52 < KBme> aiju: srs?
16:52 < Namegduf> So what we need is a Go phone.
16:52 < jumzi> everything i write is just jibberish
16:52 < cenuij> and the worst part of this deal?  nokia gets no revenue from
apps, bing and other "services"
16:52 < Namegduf> Someone should start working on that right now.
16:52 < Namegduf> jumzi: Do some Perl instead
16:52 < Namegduf> :P
16:52 < KBme> jumzi: ohh nokia goind wp7?
16:52 < aiju> oh wait XNA and Silverlight only
16:53 < aiju> i take it back :P
16:53 < cenuij> aiju: haha
16:53 < aiju> all three are infinitely retarded
16:53 < cenuij> enjoy expression studio
16:53 < jumzi> Namegduf: :P
16:53 < cenuij> :(
16:53 -!- Project_2501 [~Marvin@] has quit [Ping timeout: 260 seconds]
16:53 < Namegduf> aiju: You should make a phone based on Go on Plan 9
16:54 < cenuij> with a DEC Alpha
16:54 < aiju> gofy going phone?
16:55 < cenuij> having said all this, i was kind of worried tho about these
intel cpus MeeGo was going to be running on
16:55 < cenuij> I don't need a pocket heater
16:55 < aiju> intel cpus ona phone?  :D
16:55 < aiju> wow
16:55 < aiju> even x86?
16:55 < cenuij> was supposedly new atom fab for the meggo handset
16:55 < aiju> hahahahahahahahahaha
16:56 < aiju> a phone based on x86, MMD
16:56 < cenuij> yeah, exactly
16:56 < jumzi> motorola f3 ftw
16:56 < cenuij> i had planned to buy 3 spare batteries
16:56 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has quit [Read
error: Connection reset by peer]
16:57 < Namegduf> You laugh now, but in two years phones will need to have
six cores and a battery life of three hours.
16:57 < cenuij> now i'll just be a sheep and get android, but meh java is an
utter snoozefest :(
16:58 < jumzi> well go for arm ftw!
16:58 < cenuij> bah rugby has started, off to watch the Welsh get trounced!
16:58 < jumzi> rugby?  oh my gad
17:04 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a4e2:a0fd:5b91:3ac9] has joined
17:08 -!- phalax [~phalax@c213-100-72-128.swipnet.se] has joined #go-nuts
17:11 -!- zweilever [~ziller@] has joined #go-nuts
17:13 < zweilever> Does anyone know if there is support for Go syntax
highlighting in nano yet?
17:13 < aiju> nano has syntax highlighting?
17:13 < zweilever> indeed
17:13 < jumzi> <insert rant about syntax highlighting>
17:13 < Namegduf> Does anyone know if there is support for Go syntax
highlighting in Windows notepad yet?
17:14 < jumzi> <insert another rant about nano>
17:14 < aiju> creeping feauritis
17:14 < aiju> *featuritis
17:14 < jumzi> <notepad>
17:14 < Namegduf> Sorry, couldn't help myself.  XD
17:14 < aiju> i always carry pencils with me to syntax highlight all books i
17:14 < sanjoyd> zweilever: Emacs.
17:14 < Namegduf> aiju: You think that's bad, I have to implement
autocompletion in my books.
17:15 < zweilever> sanjoyd: No. I like nano.
17:15 < aiju> i also have english language syntax highlighting for irssi
17:15 < aiju> how can you understand anything without syntax highlighting?
17:15 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts
17:15 < sanjoyd> Verbs and nouns?
17:15 < Namegduf> aiju: Can I have the file for that?
17:15 < jumzi> pfft only wousses still use irssi
17:15 < jumzi> real men uses filesystems
17:16 < aiju> i should really write this in Go and post it to reddit or
17:16 < Namegduf> I saw a client kinda like that.
17:16 < Namegduf> It was horrifying because you interacted with it via shell
17:16 < Namegduf> And it was primarily for writing IRC scripts in shell
17:16 < jumzi> filesystem irc client?
17:17 < Namegduf> http://tools.suckless.org/ii/
17:17 < jumzi> im actually using a irc client implemented as a filesystem
right now
17:17 < jumzi> its awesome
17:19 < kimelto> ii?
17:21 < jumzi> nop, its actually name ircfs
17:21 < aiju> inferno?
17:21 < jumzi> yep
17:22 < jumzi> atm i'm cheating abit and use wm/irc
17:39 < aiju> how do i assign to a function variable?
17:40 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:40 < skelterjohn> aiju: the '=' sign?
17:41 < aiju> method p.Block is not an expression, must be called
17:41 < skelterjohn> var x func(); x = func() {...}
17:41 < skelterjohn> pastebin?
17:41 < aiju> no way to assign functions directly?
17:41 < skelterjohn> oh - it's a function with a receiver type
17:42 < aiju> oh works with functions, but not with methods
17:42 < exch> I may be wrong here, but I dont believe that works for
methods, only functions
17:42 < skelterjohn> i think that's on the todo list
17:42 < skelterjohn> but don't take my word for it
17:42 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
17:43 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has joined #go-nuts
17:44 < skelterjohn> in the mean time you can do = func(Block's parameters)
(Block's return type) { return p.Block(params) }, but from what you said i think
you aren't realized that
17:45 -!- tvw [~tv@e176003116.adsl.alicedsl.de] has joined #go-nuts
17:47 < skelterjohn> aren't -> already
17:50 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
18:01 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-170-58.clienti.tiscali.it] has
joined #go-nuts
18:01 -!- htoothrot [~mux@66-169-185-121.dhcp.ftwo.tx.charter.com] has joined
18:04 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-183-83.clienti.tiscali.it] has
quit [Ping timeout: 276 seconds]
18:06 -!- sauerbraten [~sauerbrat@p508CEE97.dip.t-dialin.net] has joined #go-nuts
18:06 -!- Venom_X [~pjacobs@] has joined #go-nuts
18:08 -!- Venom_X [~pjacobs@] has quit [Client Quit]
18:10 -!- Project-2501 [~Marvin@] has joined #go-nuts
18:13 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-170-58.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
18:28 -!- TheMue [~TheMue@p5DDF4CB3.dip.t-dialin.net] has joined #go-nuts
18:40 < sanjoyd> n00b question about the codebase.  I see things like void
runtime·ifaceE2I(struct InterfaceType*, Eface, Iface*) in the runtime.h (and other
files).  Am I missing something, or is there some magic going on here?
18:40 < aiju> runtime.h is full of magic
18:40 < aiju> the whole runtime is a huge bunch of hacks
18:40 < aiju> what's with that particular example?
18:41 < sanjoyd> Nothing with that particular example, I'm looking at the
GC, and I see runtime·gc(int32 force); and I don't know that means.
18:41 < aiju> it's C
18:41 < sanjoyd> Is runtime.gc proper C syntax?
18:42 < aiju> oh you mean that
18:42 < aiju> it's ·
18:42 < sanjoyd> (In context to a function name).
18:42 < aiju> not .
18:42 -!- Project-2501 [~Marvin@] has quit [Quit: E se abbasso questa
leva che succ...]
18:42 < exch> it supports unicode identofiers
18:42 < exch> *identifiers
18:42 < aiju> the C compiler sees · just as a character
18:42 < sanjoyd> Oh, okay.
18:42 < aiju> like _
18:42 < sanjoyd> I confused with .
18:42 < sanjoyd> (As you said).
18:42 < aiju> it's a bit confusing
18:42 < aiju> sometimes . is used and sometimes ·
18:42 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has quit [Ping
timeout: 272 seconds]
18:43 < aiju> they seem to try to use the former whenever it is valid
18:43 < aiju> like in debugging information
18:43 < sanjoyd> Is it not a pain to type?
18:43 < exch> Not sure why they chose that middle fot over _ tbh
18:44 < exch> *dot
18:44 < exch> ffs, my typing is horrible today
18:48 -!- photron [~photron@port-92-201-24-107.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
18:49 -!- wtfness [~dsc@dyn-86-36-35-172.qatar.cmu.edu] has joined #go-nuts
18:49 -!- drhodes [~none@drhodes.xen.prgmr.com] has joined #go-nuts
18:50 -!- sauerbraten [~sauerbrat@p508CEE97.dip.t-dialin.net] has quit [Remote
host closed the connection]
18:54 < skelterjohn> because people use _ for other things
18:57 -!- wtfness [~dsc@dyn-86-36-35-172.qatar.cmu.edu] has quit [Ping timeout:
255 seconds]
18:58 < rm445> the middle dot is a bit cute, isn't it - basically it's a
kind of namespacing not enforced by the compiler.
18:59 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts
18:59 < rm445> I imagine everyone using it has it easily-reachable via a
compose key or some such
19:06 < KBme> yeah, compose is prety easy
19:07 < KBme> especially on plan9 tools, they have some awesome compose
19:07 -!- napsy [~luka@] has quit [Quit: leaving]
19:08 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
19:09 -!- dforsyth [~dforsyth@ec2-184-72-3-134.us-west-1.compute.amazonaws.com]
has joined #go-nuts
19:11 -!- napsy [~luka@] has joined #go-nuts
19:12 -!- napsy [~luka@] has quit [Client Quit]
19:12 -!- napsy [~luka@] has joined #go-nuts
19:12 -!- lmoura [~lauromour@] has quit [Read error: Connection
reset by peer]
19:14 -!- wtfness [~dsc@dyn-86-36-43-113.wv.qatar.cmu.edu] has joined #go-nuts
19:18 -!- lmoura [~lauromour@] has joined #go-nuts
19:22 -!- tvw [~tv@e176003116.adsl.alicedsl.de] has quit [Remote host closed the
19:33 -!- giolekva [4a7d7921@gateway/web/freenode/ip.] has joined
19:37 -!- zweilever [~ziller@] has left #go-nuts
19:39 -!- jodaro [~user@poquito.divinia.com] has joined #go-nuts
19:45 -!- giolekva [4a7d7921@gateway/web/freenode/ip.] has quit
[Quit: Page closed]
19:45 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 250 seconds]
19:50 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Ping timeout: 246 seconds]
19:57 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
20:00 -!- gid [~gid@220.253-195-125.VIC.netspace.net.au] has joined #go-nuts
20:04 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
20:20 -!- visof [~visof@unaffiliated/visof] has quit [Ping timeout: 260 seconds]
20:21 -!- illya77 [~illya77@214-95-133-95.pool.ukrtel.net] has joined #go-nuts
20:37 -!- lmoura [~lauromour@] has quit [Quit: Leaving]
20:39 -!- virtualsue [~chatzilla@nat/cisco/x-ixaxlfbuepxnptyr] has joined #go-nuts
20:47 -!- illya77 [~illya77@214-95-133-95.pool.ukrtel.net] has quit [Read error:
Connection reset by peer]
20:48 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
20:52 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined #go-nuts
21:03 < skelterjohn> for cgo pkgs, the makefile runs "CGOPKGPATH= cgo --
21:03 < skelterjohn> what is CGOPKGPATH for?
21:08 -!- virtualsue [~chatzilla@nat/cisco/x-ixaxlfbuepxnptyr] has quit [Ping
timeout: 240 seconds]
21:08 < erus`> main { main <- ".  Hello " <- main <- "Enter name:"
21:09 < erus`> thats part of my scripting language idea
21:09 -!- espeed [~espeed@] has joined #go-nuts
21:09 < erus`> based on go channels
21:13 < skelterjohn> I don't get it
21:15 < erus`> skelterjohn: can you help me with gb quickly
21:15 < skelterjohn> of course
21:16 < erus`> how can i use local packages
21:17 < erus`> without installing them into GOROOT
21:18 < skelterjohn> that's what gb is meant for
21:18 < skelterjohn> for example
21:18 < skelterjohn> if i make a dir "erus"
21:18 < skelterjohn> and put in it the "Tracer" and "s3dm" packages
21:18 < skelterjohn> i can run gb from erus and it will link Tracer and s3dm
against each other
21:19 < skelterjohn> (i have done this)
21:22 -!- phalax [~phalax@c213-100-72-128.swipnet.se] has quit [Ping timeout: 240
21:28 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:a4e2:a0fd:5b91:3ac9] has quit
[Quit: Leaving.]
21:36 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
21:36 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has quit [Quit:
21:37 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has joined #go-nuts
21:38 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So
Long, and Thanks for All the Fish]
21:39 < TheMue> so, the backends of my crontab package are now supervised
21:39 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has joined #go-nuts
21:40 -!- pothos_ [~pothos@111-240-166-1.dynamic.hinet.net] has joined #go-nuts
21:42 -!- pothos [~pothos@111-240-167-224.dynamic.hinet.net] has quit [Read error:
Connection reset by peer]
21:42 < skelterjohn> TheMue: what does that mean?
21:42 < TheMue> skelterjohn: Do you know Erlang?
21:43 < skelterjohn> nope
21:43 < TheMue> skelterjohn: It condains a module called supervisor.
21:43 < TheMue> skelterjohn: Here processes can monitor each other and
easily be restarted in case of an error.
21:43 < skelterjohn> gotcha
21:43 < TheMue> skelterjohn: Erlang processes = Go goroutines.
21:44 < TheMue> skelterjohn: So I've developed a mechanism which uses defer
and recover together with an interface.
21:46 < TheMue> skelterjohn: In case of a hard error inside a goroutine it
will be restarted.  The user of the supervisor can define what to do else, e.g.
for the consistency of the variables.
21:47 < TheMue> skelterjohn: See
http://www.tideland.biz/projects/tideland-cgl/utilities and
21:48 -!- aho [~nya@fuld-590c70af.pool.mediaWays.net] has joined #go-nuts
21:52 < zozoR> typedef unsigned VARNAME <-- is that an unsigned int?  o.o
21:52 < zozoR> in c that is
21:53 < nsf> uhm, is this a question?
21:53 -!- tensorpudding [~user@] has joined #go-nuts
21:53 < zozoR> yes
21:53 < zozoR> :3
21:53 < nsf> in C it is an int, yes
21:53 < nsf> default type is int
21:53 < nsf> signed a; unsigned b;
21:53 < nsf> both a and b are ints
21:53 < nsf> a is signed int and b is unsigned int
21:54 < nsf> :)
21:54 -!- erus` [~tommo@host86-173-0-78.range86-173.btcentralplus.com] has quit
[Ping timeout: 240 seconds]
21:54 < zozoR> thanks :)
21:54 -!- erus` [~tommo@host86-162-225-149.range86-162.btcentralplus.com] has
joined #go-nuts
21:54 < zozoR> disturbing you can omit the type like that ..
21:54 < nsf> C is weird
21:55 < nsf> llvm/clang guys don't use int with unsigned
21:55 < nsf> they simply write 'unsigned var;'
21:55 < nsf> personally I use 'unsigned int var;'
21:55 < aiju> i think it was BCPL which had only one type: machine word
21:55 < aiju> then those damn DEC engineers came up with byte instructions
21:55 < aiju> and they had to add a byte type
21:56 < zozoR> oh noes
21:56 < aiju> so they had int and char in C
21:56 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 240 seconds]
21:56 < nsf> what I don't like in C is this:
21:56 < aiju> int was/is optional
21:56 < nsf> unsigned long long var;
21:56 < aiju> foo(a) {return a;}
21:56 < zozoR> its very long
21:57 < aiju> nsf: yeah, that's some really ugly bits which were added later
21:57 < zozoR> would that be uint64?
21:57 < nsf> yes
21:57 < nsf> btw, no one uses unsigned long long
21:57 < nsf> #include <stdint.h> and uint64_t
21:57 < aiju> this happened when C left the 16-bit worldd
21:58 < aiju> types got ugly
21:58 < zozoR> lol talk about stubborness
21:59 < zozoR> but why do they have long ints..  when ints are just as long
21:59 < zozoR> : |
21:59 < nsf> on x86_64
21:59 < nsf> int is 32 bits
21:59 < aiju> zozoR: well, come back to 16-bit world
21:59 < aiju> so, they have 8-bit chars and 16-bit ints
21:59 < nsf> long int (or simply long) is 64 bits
22:00 < aiju> they added the 32-bit long type quite late
22:00 < zozoR> oh
22:00 < aiju> people used long for 32-bit
22:00 < nsf> btw, as far as I understand
22:00 < aiju> and when everything got 32-bit, they kept it
22:00 < nsf> the full name for that 64bit type is:
22:00 < nsf> unsigned long long int var;
22:00 < nsf> lol
22:01 < aiju> early C didn't have signed/unsigned
22:01 < aiju> want unsigned arithmetic?  use pointers
22:01 < aiju> it didn't have casts either, all casts were implicit
22:01 < aiju> even casts like int to struct
22:01 < zozoR> go <3
22:03 < aiju> this also explains the strange prefixes some people put in C
22:03 < aiju> those implicit casts forced structure member names to be
globally unique
22:06 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has joined #go-nuts
22:09 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
22:10 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has quit [Ping
timeout: 265 seconds]
22:13 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
22:19 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has quit [Ping timeout:
240 seconds]
22:19 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has joined #go-nuts
22:21 -!- Fish- [~Fish@bus77-2-82-244-150-190.fbx.proxad.net] has quit [Quit: So
Long, and Thanks for All the Fish]
22:23 -!- espeed [~espeed@] has quit [Ping timeout: 255 seconds]
22:24 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined #go-nuts
22:25 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has quit [Ping timeout:
250 seconds]
22:26 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has joined #go-nuts
22:26 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has quit [Client Quit]
22:27 -!- visof [~visof@unaffiliated/visof] has quit [Remote host closed the
22:28 -!- rlab [~Miranda@] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:31 -!- espeed [~espeed@] has joined #go-nuts
22:31 -!- espeed [~espeed@] has quit [Max SendQ exceeded]
22:31 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 240 seconds]
22:34 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
22:34 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
22:36 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
22:38 -!- reiddraper [~reid@rrcs-50-74-0-42.nyc.biz.rr.com] has left #go-nuts []
22:39 -!- espeed [~espeed@] has joined #go-nuts
22:42 -!- espeed [~espeed@] has quit [Max SendQ exceeded]
22:44 -!- TheMue [~TheMue@p5DDF4CB3.dip.t-dialin.net] has quit [Quit: TheMue]
22:45 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
22:45 -!- espeed [~espeed@] has joined #go-nuts
22:49 -!- espeed [~espeed@] has quit [Ping timeout: 240 seconds]
22:55 -!- Kashia [~Kashia@port-92-200-126-131.dynamic.qsc.de] has joined #go-nuts
22:55 -!- Zoopee [alsbergt@zoopee.org] has quit [Ping timeout: 245 seconds]
23:06 -!- norayr [~noch@host-] has joined #go-nuts
23:10 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has quit
[Ping timeout: 250 seconds]
23:10 -!- j3parker [j3parker@artificial-flavours.csclub.uwaterloo.ca] has joined
23:10 < cenuij> fucking wales
23:10 -!- DayS` [david@] has joined #go-nuts
23:11 < cenuij> well the bonus is some welsh dude want's to play bridge
23:11 < skelterjohn> what are they good for?
23:11 < cenuij> rugby
23:11 < skelterjohn> absolutely nothin
23:11 < skelterjohn> say it again!
23:11 < cenuij> US
23:11 < skelterjohn> whales
23:11 < skelterjohn> *huh!*
23:11 < skelterjohn> what are they good for, absolutely nothin!
23:11 < cenuij> US
23:12 < cenuij> bridge seems more interesting than poker
23:12 < skelterjohn> i started without knowing what was going on, and i'm
ending not knowing what's going on
23:12 < cenuij> skelterjohn: is there grain spirit involved?
23:12 < skelterjohn> the night is young
23:13 < cenuij> you are excused
23:13 < skelterjohn> and when i'm drunk, i make typos.  that's how you can
23:13 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has quit [Ping
timeout: 265 seconds]
23:13 -!- norayr [~noch@host-] has left #go-nuts []
23:14 -!- Ayoi [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined #go-nuts
23:15 < cenuij> so 52 cards and a 4 way even split, but there are apprently
rules(contracts) as to who can win a trick on a high card(or suit)
23:15 < cenuij> this beats poker big time
23:15 < skelterjohn> you might like euchre
23:15 < skelterjohn> poker is about knowing the odds and reading people
23:16 < cenuij> yes
23:16 < skelterjohn> euchre is kind of like a simplified bridge, though i'm
sure a euchre pro would cut me for saying that
23:17 -!- DayS` [david@] has quit [Ping timeout: 240 seconds]
23:17 -!- gid [~gid@220.253-195-125.VIC.netspace.net.au] has quit [Ping timeout:
255 seconds]
23:18 < cenuij> does euchre involve agreement between participants?
23:19 < cenuij> if there's no agreement, it's poker
23:23 -!- zweilever [~ziller@] has joined #go-nuts
23:25 < skelterjohn> err
23:25 < cenuij> skelterjohn: do you play poker, bridge, or "euchre"
23:25 < skelterjohn> well, it's 4 player, and you have a partner
23:25 < cenuij> sounds like bridge
23:25 < skelterjohn> i know how to play poker, i have played bridge but i
don't remember all the rules, and i play euchr
23:25 < skelterjohn> e
23:25 < skelterjohn> euchre is definitely closer to bridge than poker
23:26 < cenuij> i will investigate
23:26 < skelterjohn> games.yahoo.com/eu is a good spot to play euchre
23:26 < cenuij> do you play backgammon?
23:27 < skelterjohn> i have played once
23:27 < skelterjohn> i lost and i had no idea what i did wrong
23:27 < cenuij> I think you will play well, play more :P
23:30 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has quit [Quit:
Computer has gone to sleep.]
23:30 -!- sauerbraten [~sauerbrat@p508CEE97.dip.t-dialin.net] has joined #go-nuts
23:32 < cenuij> so back on topic /// goinstall; I understand may be getting
some work do that we can have local packages in our $HOME.  how can we work
goinstall to respect .rpm, .deb and whatever windows uses this year?
23:34 < cenuij> on linux i dont want goinstall grabbing the lates tip/head
23:35 < cenuij> I want it to check if that package is already installed
23:35 < dario_> '
23:35 < cenuij> if so: ignore or re-install
23:35 -!- maattd [~maattd@esc31-1-78-245-92-71.fbx.proxad.net] has joined #go-nuts
23:36 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
23:36 -!- vsayer [~vivek@c-76-102-205-58.hsd1.ca.comcast.net] has joined #go-nuts
23:36 < skelterjohn> what do you mean "have local packages in our $HOME"?
23:37 < cenuij> skelterjohn: install "Go" @ version 4th of january 2011
23:38 < skelterjohn> i don't understand your answer
23:38 < cenuij> install third party packages in my home
23:38 < cenuij> so I can develop against them, while my base system has a
23:39 < skelterjohn> ah
23:39 < skelterjohn> i wonder how he is going to do that, exactly
23:39 < cenuij> mee too
23:39 < skelterjohn> hopefully something like "goinstall -d
somethingNotGOROOT/pkg/ the.package.com"
23:40 < skelterjohn> though, you need to specify where to download the
source to, as well
23:41 < cenuij> whatever the result, i'd like to point out that sat-solvers
are alraeady available and heavily used (no idea about windows)
23:41 < skelterjohn> when you say sat-solver, do you mean just a dependency
23:41 < cenuij> yes
23:41 < skelterjohn> saying sat-solver makes me think of, eg, 3SAT
23:41 < skelterjohn> and other NP-complete problems
23:42 < cenuij> sepcifically for lib or package dependancies
23:42 < skelterjohn> do the developers of these tools call them sat solvers?
23:42 < cenuij> yes
23:42 < skelterjohn> weird
23:42 < cenuij> it's not a scientific issue
23:43 < skelterjohn> i google sat solver and i only find satisfiability
23:43 < cenuij> the software dependancy problem is now what you would
23:43 < cenuij> s/now/not
23:43 < skelterjohn> now = not?
23:43 < skelterjohn> i certainly believe that it's not trivial
23:43 < skelterjohn> i haven't tried to imagine what it might be, though
23:46 -!- rpdillon [~user@ip174-65-90-100.sd.sd.cox.net] has joined #go-nuts
23:46 < cenuij> my knowledge in this realm is specifically libzypp:
23:47 < rpdillon> simple question, but I've been having trouble finding an
answer: how do I initialize a multidimensional slice?  table := make([][]int,
10000)?  That doesn't seem to initialize the second dimension...
23:47 < cenuij> one of the reasons I'm gutted about the Nokia/MS marketing
23:47 < aiju> rpdillon: for loop
23:48 < rpdillon> ok
23:48 < rpdillon> that's what I'm using
23:48 < rpdillon> but the memory usage was insane
23:48 < rpdillon> and I thought I might be doing it wrong
23:48 < aiju> well, what do you expect?
23:48 < aiju> it's a multidimensional slice
23:48 < aiju> how large is it?
23:48 < rpdillon> about 4.7 million rows, each 75 wide
23:49 < rpdillon> I was expecting ~400MB, but got more like 3GB
23:49 < aiju> each slice adds 3 words overhead
23:49 < cenuij> the libzypp sat-solver is the fastest available for the
specific domain.
23:49 < cenuij> unless you consider the mini-sat for that problem set
23:49 < aiju> rpdillon: eh
23:49 < aiju> rpdillon: one int is 4 byte
23:50 < rpdillon> that'll do it
23:50 < aiju> 1410 GB just for the data
23:50 -!- zweilever [~ziller@] has left #go-nuts
23:50 < aiju> so you have 4.7 million slices?
23:50 < rpdillon> indeed =/
23:50 < aiju> hm that's just 56/112 MB overhead
23:51 < aiju> (32-bit vs 64-bit)
23:51 < aiju> where do the other 2 GB come from
23:51 < cenuij> as an outsider, i would imagine that libzypp sat-solver
would be *fucking useful* for intel and their hot atom chips on the MeeGo we will
never see.
23:51 < rpdillon> I only told you about half the data =) There's another
identical table I'm using as well
23:51 < aiju> rpdillon: you might want to rethink your memory data :P
23:51 < aiju> *model
23:52 < rpdillon> yeah...I'm going to take a look at it again...it is a sort
of HPC application, though.
23:52 < aiju> using a one dimensional slice might be a better idea
23:53 < aiju> it should make lookups faster
23:53 < rpdillon> good call
23:53 < rpdillon> the math is easy to do
23:54 < aiju> you might want to extend rows to 128
23:54 < aiju> but i'm clueless about multiplication performance on x86
23:54 < aiju> anyway, premature optimization probably
23:55 < rpdillon> yeah, I'll play around with it and see what I can do
23:55 < rpdillon> thanks for the help though...I didn't realize each int was
4 bytes for some reason
--- Log closed Sun Feb 13 00:00:05 2011