--- Log opened Thu Dec 16 00:00:01 2010
00:02 -!- d_m [d6@faeroes.freeshell.org] has quit [Read error: Connection reset by
peer]
00:06 < KirkMcDonald> So I've been reading about this:
http://apenwarr.ca/log/?m=201012#14
00:06 < KirkMcDonald> It is a new build system, a make replacement, more or
less.
00:07 < KirkMcDonald> It has some compelling ideas in there, and some things
which limit its utility to Go.
00:07 < KirkMcDonald> However, I was wondering: Is there a way to get gc to
output which other packages were imported when compiling a package?
00:08 < KirkMcDonald> Actually, I'm not sure that would actually help.
00:09 < kimelto> "So I wrote it" :)
00:10 < KirkMcDonald> I was thinking it would be useful to extend the way
redo automatically tracks dependencies on header files in C code to dependencies
on other packages in Go code, but that won't actually work.
00:10 < KirkMcDonald> (Since packages are generated files.)
00:11 < kimelto> KirkMcDonald: how redo achieve this?
00:12 < KirkMcDonald> kimelto: It uses gcc's -MD -MF options to generate a
list of the files included by the preprocessor.
00:12 < KirkMcDonald> This list is then stored in a sqlite database.
00:12 < KirkMcDonald> And used for future dependency checks.
00:13 < kimelto> eww!  why a sqlite database?
00:13 < KirkMcDonald> kimelto: Because the current version is a quick hack
written in Python, and Python has sqlite in the standard library.
00:13 < kimelto> it is cheap to run -MM
00:14 < KirkMcDonald> kimelto: -MM requires parsing the .c file, yes?
00:14 < kimelto> yep
00:14 < KirkMcDonald> Looking up a previously-stored dependency list is
going to be quite a lot faster than that.
00:15 < kimelto> but gcc does that when it compiles the .c in .o, so it is
not an extra job.
00:15 < kimelto> I guess
00:15 < KirkMcDonald> kimelto: It's actually very clever.
00:15 < KirkMcDonald> The first time you compile the .c into the .o, there
is no dependency information.
00:16 < KirkMcDonald> So it compiles it, and during compilation, remembers
which header files it depended on.
00:16 < kimelto> but we dont care as we want to compile anyway
00:16 < kimelto> and if we need to update the deps, we also want to
recompile
00:16 < KirkMcDonald> Yeah.
00:17 < kimelto> the sqlite is imho, to read a single file instead of 10k
mysourcefile.dep
00:17 < kimelto> svn proved it wrong :-)
00:18 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has joined
#go-nuts
00:18 < kimelto> KirkMcDonald: in fact I was planning to write a similar
tool in C with the "Makefile" in Lua
00:19 < nsf> hm..  redo looks interesting
00:19 < nsf> kimelto: bad idea
00:19 < KirkMcDonald> Anyway, I was evaluating how redo would apply to Go.
00:19 < KirkMcDonald> There are a few shortcomings.
00:19 < kimelto> nsf: because?
00:20 < nsf> because no one wants to learn another programming language
00:20 < nsf> even if it's as simple as lua
00:20 < KirkMcDonald> The main one is that every target has its own .do
file, which takes the name of targetname.do.
00:20 < KirkMcDonald> But in Go, the name of the target depends on the
architecture.
00:20 < KirkMcDonald> So you might end up with foo.6.do, foo.5.do,
foo.8.do...
00:21 < KirkMcDonald> So, as redo is currently written, there isn't a
sensible solution for that.
00:21 < nsf> redo is written in python :(
00:21 < KirkMcDonald> It is.
00:21 < nsf> it is a failure
00:21 < nsf> :)
00:21 < Namegduf> I'm pretty sure you could just not have the name of the
target depend on the architecture
00:21 < KirkMcDonald> Heh
00:21 < nsf> one of the most important make features is availability
00:21 < nsf> it just exists on every nix machine
00:21 < KirkMcDonald> Namegduf: That would require changing Go, wouldn't it?
00:22 < Namegduf> I don't think so.
00:22 < KirkMcDonald> Namegduf: Since gc looks up package names like that?
00:22 < Namegduf> WhyUnless I missed something.
00:22 < Namegduf> *Unless I missed something.
00:22 < kimelto> nsf: my point, if the Foofile is written in Lua it is not
another format/language
00:22 < Namegduf> It definitely doesn't look up package names like that.
00:22 < Namegduf> Those aren't package names, they're object files.
00:22 < kimelto> nsf: the language part is for the extensibility of the tool
00:23 < nsf> kimelto: it will be in lua..  because it will be parsed by lua
00:23 < KirkMcDonald> Namegduf: Oh, right.
00:23 < nsf> lua's syntax is not something like ruby's where (like in rake)
you can write stuff which doesn't even look like ruby
00:23 < KirkMcDonald> Namegduf: I am mixing up my Go stuff.
00:23 < KirkMcDonald> Namegduf: Right, your targets for Go would look like
foo.a.do
00:23 < KirkMcDonald> So that's okay.
00:23 < nsf> and there is a tool that uses makefiles in lua
00:23 < nsf> called premake
00:24 < nsf> nah..  redo is crap too
00:25 < KirkMcDonald> Still, I'm pretty sure that there isn't a sensible way
to automatically determine dependencies for Go packages.
00:25 < nsf> every target has its own .do file...  good bye
00:25 < KirkMcDonald> nsf: Well, not *every* target.
00:25 < KirkMcDonald> nsf: With respect to C code, you usually just define a
default.o.do file which handles everything.
00:25 < KirkMcDonald> nsf: And then (say) an all.do which links all the .o
files.
00:26 < nsf> two of them
00:26 < nsf> it's already more than I want
00:26 -!- iant [~iant@nat/google/x-skgkabbbygbxefzh] has quit [Read error:
Operation timed out]
00:26 < KirkMcDonald> In Go, you'd define one .do file for each package, and
another to link an application.
00:26 < KirkMcDonald> Which is basically how the Makefile stuff already
works.
00:27 < nsf> I should finish my non-recursive templates for make definitely
00:27 < kimelto> nsf: premake is yet another makefile generator (erk!)
00:27 < nsf> kimelto: it doesn't matter really
00:28 < nsf> it uses make for one purpose: use deps tree to build and
rebuild stuff
00:28 < nsf> it can be written manually not a big deal
00:28 < nsf> the biggest part of the build system are build config files
00:29 < nsf> their maintainance, integration with other tools, etc.
00:29 -!- xash [~xash@d142043.adsl.hansenet.de] has quit [Ping timeout: 255
seconds]
00:30 < nsf> make is so cool, because it uses shell commands for build
recipes
00:30 < nsf> (let's forget about windows at this point)
00:30 -!- alkavan [~alkavan@IGLD-84-228-133-229.inter.net.il] has joined #go-nuts
00:30 < kimelto> I like their lua format <3
00:30 < nsf> there were a lot of tries to propose something different
00:30 < nsf> scons, waf, premake, cmake, etc.
00:31 < nsf> nothing beats simplicity of make
00:31 < nsf> even though gnu make is far from simple now
00:31 < nsf> the problem with current make stuff is that it lacks the design
goal
00:31 < nsf> people just add features on top of other features
00:32 < nsf> there is an interesting project which tries to fix it
00:32 < nsf> called makepp
00:32 < nsf> but..  in the end
00:32 < nsf> make still wins
00:33 < nsf> because it's everywhere
00:33 < KirkMcDonald> nsf: Also, there is this:
http://cr.yp.to/redo/honest-script.html
00:33 < kimelto> there is an attempt for FreeBSD JBuild
00:33 < kimelto> based on bsdmake
00:33 < kimelto> iirc it tracks system() calls or something like that
00:34 < nsf> KirkMcDonald: makepp fixes that as well
00:34 < nsf> it tracks build commands and if the build command changes (due
to env vars or something) it is considered as out-of-date
00:34 < nsf> s/changes/is changed/
00:35 -!- artefon [~thiago@187.59.187.20] has quit [Quit: bye]
00:35 -!- iant [~iant@67.218.104.35] has joined #go-nuts
00:35 -!- mode/#go-nuts [+v iant] by ChanServ
00:35 < nsf> but I'm not suggesting to use makepp, just saying that there
are ways to fix make and what's more important all of them are known
00:35 < nsf> all make flaws are known
00:35 < nsf> it's like C
00:36 < nsf> we all know problems with C
00:36 < nsf> preprocessor, ugly declarations syntax
00:36 < nsf> but still no one wants to fix it
00:36 < nsf> backward compatibility tales, etc
00:36 < nsf> :\
00:37 < kimelto> C is fine :)
00:37 < nsf> no it's not
00:38 < nsf> slightly changing declarations syntax we will be able to speed
up build times massively
00:38 < nsf> and conversion can be automated to some point actually
00:39 < nsf> but people are afraid to do this
00:39 < nsf> for some reason, I don't know
00:40 < nsf> btw, its syntax is freaking unreadable
00:41 < nsf> C: int (*(*ptr)[10])()
00:41 < nsf> Go: var ptr *[10]func() int
00:41 < nsf> simple example
00:41 < nsf> a pointer to an array (10 elements) of function pointers which
point to a funtion with no arguments and returning int
00:41 < nsf> try read the C version :)
00:43 < nsf> I know why people can't fix it
00:44 < nsf> everytime someone wants to do this, there is a temptation to
add new features
00:44 < nsf> and we end up with stuff like Java, C++, D, C#, etc.
00:44 < nsf> Go is a miracle in that sense
00:44 < kimelto> C++ ...  :-)
00:46 < nsf> well, C++'s creator hasn't tried to fix C actually
00:46 < nsf> so it's worse than others
00:47 < nsf> Java is one of the best examples as a matter of fact
00:48 < nsf> it's the only widely adopted language that has a _lot_ of
development tools
00:48 < nsf> static analyzers, cool IDEs, refactoring tools, etc.
00:48 < KirkMcDonald> An uncharitable person would say that is because it
requires all of these things.  :-)
00:48 < nsf> and almost all of that is a result of a nice syntax
00:50 < nsf> I don't know, maybe it requires them, ok
00:50 < nsf> but it also shows how language should be designed in order to
be able to have all this stuff
00:51 < KirkMcDonald> I would certainly agree that a sensible syntax makes
writing tools ever so much easier.
00:51 < nsf> bad syntax and preprocessor crap should be eliminated
00:51 < kimelto> KirkMcDonald:
http://www.bsdcan.org/2010/schedule/events/198.en.html sounds hack-ish :-) but the
make tool does not need compiler support to track dependencies
00:52 < KirkMcDonald> Oof.
00:52 < kimelto> nsf: the daily nightmare in C is headers crap.  especially
the scope of the headers included in a header.
00:53 < kimelto> nsf: but the other features of the preprocessor are cool :p
00:53 < nsf> it's a major design flaw of the language
00:53 < nsf> lack of modules system
00:53 < KirkMcDonald> If there's one thing D proved, it's that the stuff in
the preprocessor is much better when it is actually part of the language.
00:54 < KirkMcDonald> See also: static if
00:54 < nsf> KirkMcDonald: I disagree, but maybe
00:54 < KirkMcDonald> And when you use a module system instead of #include,
of course.
00:54 < nsf> the code with lots of static ifs is still hard to read
00:54 -!- watr_ [~watr@66.183.100.58] has quit [Ping timeout: 240 seconds]
00:55 < nsf> have you seen coolish GNU projects where the source code
contains tons of ifdefs
00:55 < KirkMcDonald> nsf: It depends.  Certainly any compile-time chicanery
should be done with care.
00:55 < nsf> static ifs is just the same stuff
00:55 < nsf> take a look at vim's source code for example
00:55 < nsf> it's horrible
00:55 < KirkMcDonald> nsf: There is one important difference.
00:55 < nsf> yes, static ifs are part of the syntax
00:55 -!- nettok [~quassel@200.119.164.238] has joined #go-nuts
00:56 < KirkMcDonald> nsf: #ifdefs are strictly textual...  yeah, that.
00:56 < nsf> but it's a show stopper for tool writers
00:56 < nsf> mostly
00:56 < nsf> when the conceptual existance of ifdefs or static ifs in the
code is a problem for code readers
00:56 < KirkMcDonald> nsf: The other key thing is that static if can access
template parameters.
00:56 < KirkMcDonald> D unifies many of these things into the single concept
of a compile-time value.
00:57 < nsf> existence*
00:57 < kimelto> quick go question: if I have a 1MB string and only a slice
which ref 10bytes, the whole string will remain in memory till the slice is not
reachable?
00:57 < cbeck> kimelto: Yes
00:57 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
00:57 < nsf> KirkMcDonald: I understand, but it doesn't change anything for
me..  static ifs just make code really hard to read
00:57 < KirkMcDonald> nsf: So certain kinds of code that you'd write in C++
using a lot of template specializations can become very simple uses of static if
on D.
00:57 < KirkMcDonald> s/on/in/
00:58 < nsf> I don't know
00:58 < nsf> I haven't written code like that in C++
00:58 < nsf> templates were useful for containers, that's for sure
00:59 < KirkMcDonald> My experience with D is perhaps colored by writing
what was essentially a massive metaprogramming exercise in it.
00:59 < nsf> in C++ metaprogramming is a huge pain
00:59 < nsf> in C++0x it's the same
00:59 < KirkMcDonald> In D, it was almost pleasant.
00:59 < nsf> http://www.gamedev.ru/community/nsfgd/blog/?id=5018
01:00 < KirkMcDonald> Like, look at this:
http://dsource.org/projects/pyd/browser/trunk/infrastructure/pyd/func_wrap.d#L94
01:00 < KirkMcDonald> That function may not be immediately obvious, but it's
brilliant.
01:00 < nsf> my try of C++0x usage :D
01:00 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined
#go-nuts
01:00 < KirkMcDonald> It calls a D function with the arguments provided by a
Python tuple.
01:01 < KirkMcDonald> And it's, what, 30 lines long?
01:01 < nsf> well, yeah, D is better than C++
01:01 < nsf> I'm sure
01:01 < nsf> but is C++ good in any way?
01:01 < KirkMcDonald> I have long asserted that C++ is terrible in every
sense of the word.
01:01 -!- tvw [~tv@e176003040.adsl.alicedsl.de] has quit [Remote host closed the
connection]
01:02 < nsf> and D is better than terrible?  :) in what direction?
01:02 < nsf> better at being terrible?  :)
01:02 < nsf> or..
01:02 < KirkMcDonald> D is certainly different.
01:02 < KirkMcDonald> D's issues are not the same as C++ issues, to be sure.
01:02 < KirkMcDonald> C++'s*
01:02 < nsf> I hope so
01:03 < exch> http://www.openanimals.com/ these guys need a gopher
01:03 < nsf> open animals..
01:03 < nsf> what a name
01:03 < exch> :P
01:04 < kimelto> D issuues are (or were, I dont know if they are fixed): the
lack of a good open source compiler, the standard lib mess
01:04 < nsf> lack of a valid specification
01:06 < nsf> maybe it sounds strange, but after some time of Go usage..  I
tend to appreciate the fact that it doesn't have generics
01:06 < nsf> at least general kind of generics
01:06 < nsf> sure, there are built-in generic types and functions
01:06 < nsf> but that's fine
01:06 < KirkMcDonald> The built in maps, arrays, and slices help.
01:06 < nsf> yeah
01:06 < nsf> in fact they are all you need for containers
01:07 < KirkMcDonald> Well.  Mostly.
01:07 < nsf> other data structures are pointer based anyway
01:07 < KirkMcDonald> Yeah.
01:07 < KirkMcDonald> Oh, also channels.
01:07 < KirkMcDonald> Can't forget those.
01:07 < nsf> I don't use them much
01:07 < KirkMcDonald> And of course the func type gives you closures.
01:08 < nsf> all I want from Go now is the good GC
01:08 < nsf> and it will be a really good language for me
01:08 < kimelto> same here
01:09 < KirkMcDonald> That has always been one of D's weaker parts.
01:09 < kimelto> maybe shared standard lib?  2.6M is ridiculous for a hello
world :p
01:09 < KirkMcDonald> Its GC fairly well sucks.
01:09 < nsf> kimelto: it's fine
01:09 < exch> KirkMcDonald: so does go's :p
01:09 < nsf> for big projects shared libs hurt more than give anyway
01:09 < KirkMcDonald> exch: Right.  But Go, at least, has some hope of
improving it.
01:09 < nsf> I have bad experience with them
01:10 < exch> true
01:10 < KirkMcDonald> exch: I can see Go moving to a compacting collector at
some point in the future, say.
01:10 < nsf> especially in linux environment
01:10 < nsf> where each distro has different versions of libraries :)
01:10 < nsf> possibly with patches
01:10 < nsf> it's a nightmare
01:10 < KirkMcDonald> I am a fan of static binaries.
01:10 < KirkMcDonald> Particularly in a production environment.
01:10 < nsf> me too..  recently though
01:10 < kimelto> KirkMcDonald: compacting?
01:11 < KirkMcDonald> kimelto: A moving collector.
01:11 < kimelto> KirkMcDonald: kind of copy-on-write?
01:11 < kimelto> or copy-on-free should I ay
01:11 < KirkMcDonald> A collector which is able to move allocated memory
around.
01:11 < nsf> KirkMcDonald: I don't think that compacting collector is
currently possible in Go
01:11 < nsf> because they want to keep stack scanning conservative
01:11 < kimelto> like garbage first from java?
01:11 < nsf> it means there is no way to detect a pointer 100%
01:12 < KirkMcDonald> Ahh.
01:12 < nsf> and moving GC has to change pointers
01:12 < KirkMcDonald> The D collector is about a conservative as it gets.
01:12 < KirkMcDonald> as*
01:12 < nsf> but maybe it's possible to keep stack objects pinned
01:12 < nsf> I don't know
01:13 < KirkMcDonald> And given the extent to which D can interact with C
code, moving to a non-conservative collector is highly unlikely.
01:13 < nsf> I mean objects which have a pointer to them on the stack
01:13 < KirkMcDonald> Or, at least, moving to a moving collector.
01:13 < KirkMcDonald> nsf: Yes.
01:13 < nsf> moving collectors are fine
01:13 < nsf> Mono has one
01:13 < nsf> you just need to provide an interface for pinning
01:13 < KirkMcDonald> Right.
01:14 < KirkMcDonald> And in fact D has a pinning API for its GC, it just
doesn't do all that much.
01:14 < nsf> and in the machine there are things like this one:
http://en.wikipedia.org/wiki/Translation_lookaside_buffer
01:14 < nsf> which make moving collector a sensible choice
01:14 < nsf> imho
01:14 < nsf> I don't know, I'm not a big specialist in that :)
01:15 * kimelto reads mono sgen-gc whitepaper
01:15 < KirkMcDonald> The main reason to prefer a moving collector, as I
understand it, is that it can vastly speed up allocations.
01:15 < nsf> and well..  provide memory locality
01:15 < nsf> :)
01:15 < KirkMcDonald> Yes, that too.
01:15 < KirkMcDonald> Also good.
01:16 < nsf> the biggest problem for GC is to minimize runtime impact on the
app itself
01:16 < nsf> pauses should be minimal
01:16 < nsf> and the total collection time should be minimal as well
01:16 < nsf> quite hard to achieve
01:17 -!- InaVegt [~InaVegt@dsl-087-195-206-242.solcon.nl] has quit [Read error:
Connection reset by peer]
01:17 -!- InaVegt [~InaVegt@dsl-087-195-206-242.solcon.nl] has joined #go-nuts
01:17 < nsf> with many cores we can actually forget about collection time
problem
01:17 < nsf> I mean "time" as "CPU time"
01:18 < exch> dedicate a single core to nothing but GCing
01:18 < nsf> yeah
01:18 < nsf> but still, there will be impact on the app itself
01:18 < KirkMcDonald> Don't you need to lock things at some point?
01:18 < nsf> yes
01:18 < nsf> that's another problem :)
01:19 < nsf> there are few papers for that
01:19 < nsf>
http://research.microsoft.com/en-us/um/people/simonpj/papers/parallel-gc/index.htm
01:19 < nsf> this one iirc
01:20 -!- kkress [~kkress@kkress2.xen.prgmr.com] has quit [Ping timeout: 250
seconds]
01:20 < nsf> I think the only thing they use
01:20 < nsf> is a write barrier
01:21 < nsf> but it's the only paper I've seen that descibes nice parallel
GC
01:21 < nsf> maybe there are others, I don't know
01:23 < nsf> ah..  wait
01:23 < nsf> it's not a concurrent GC
01:23 < nsf> where mutator and collector run at the same time
01:23 < nsf> it simply allows to parallelize GC work
01:24 < nsf> mutator should be paused still
01:24 < nsf> :(
01:24 < nsf> no magic
01:26 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 276
seconds]
01:26 < kimelto> what are "pinned" objects you were refering to?
01:27 < bawr> Objects which can't be mofred by the GC. basically.
01:28 < bawr> *moved, even
01:28 < plexdev> http://is.gd/iOGg5 by [Alex Brainman] in 4 subdirs of
go/src/pkg/ -- runtime: move windows goargs implementation from runtime and into
os package
01:28 < nsf> yeah
01:28 < plexdev> http://is.gd/iOGga by [Alex Brainman] in go/src/cmd/ld/ --
8l: remove unneeded windows check
01:29 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has quit [Quit:
leaving]
01:30 < nsf> "for sgen, objects pointed to by stack values will remain
pinned, fragmenting the nursery and hurting collector performance."
01:30 < nsf> yeah, as it was expected
01:30 < nsf> then moving GC can be true for Go too
01:30 < nsf> with that exception
01:33 -!- kkress [~kkress@kkress2.xen.prgmr.com] has joined #go-nuts
01:40 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
01:45 < plexdev> http://is.gd/iOIV6 by [Andrew Gerrand] in 2 subdirs of go/
-- release.2010-12-15
01:47 -!- rejb [~rejb@unaffiliated/rejb] has quit [Quit: .]
01:47 -!- felipe [~felipe@my.nada.kth.se] has quit [Remote host closed the
connection]
02:01 -!- l00t [~i-i3id3r_@187.127.167.73] has joined #go-nuts
02:01 < plexdev> http://is.gd/iOLJ2 by [Andrew Gerrand] in go/ -- tag
release.2010-12-15
02:01 < plexdev> http://is.gd/iOLJe by [Andrew Gerrand] in go/doc/devel/ --
doc/devel: release notes tweak
02:07 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts
02:07 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host]
02:07 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined
#go-nuts
02:08 -!- shvntr [~shvntr@113.84.150.147] has joined #go-nuts
02:28 -!- iant [~iant@67.218.104.35] has quit [Quit: Leaving.]
02:29 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Ping timeout: 240
seconds]
02:41 < nsf> os/inotify..  nice :)
02:42 < nsf> and of course cgo
02:42 < nsf> let's see how it works with my bindings
02:51 -!- jartur [~jartur@81-045-adsl.vntc.ru] has joined #go-nuts
02:55 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
#go-nuts
02:58 < nsf> CGO_DEPS was removed from the Make.pkg :(((
03:00 -!- boscop [~boscop@g230090153.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
03:00 -!- boscop [~boscop@g227142020.adsl.alicedsl.de] has joined #go-nuts
03:02 < nsf> damn, I was linking my code to cgo_*.so statically..  now it
will be a problem
03:09 <@adg> nsf: explain more
03:09 < nsf> I'm writing the question to the ML now
03:15 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit:
adu]
03:15 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
03:17 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has quit
[Ping timeout: 265 seconds]
03:18 < nsf> adg: well, previously there were:
03:18 < nsf> mylib.a
03:18 < nsf> cgo_mylib.so
03:18 < nsf> mylib.so
03:19 < nsf> mylib.a contains Go glue to cgo_mylib.so which contains glue to
mylib.so :)
03:19 < nsf> it was possible to remove mylib.so and link the library
directly to cgo_mylib.so
03:19 < nsf> (who needs two dlls anyway)
03:19 < nsf> and that's what I was doing for termbox bindings and llvm
bindings
03:20 < nsf> the problem is
03:20 < nsf> now there is no cgo_mylib.so
03:20 < nsf> it's in mylib.a now, because linker now can link that
relatively simple glue code
03:21 < nsf> my library is also simple and I want it to include in the
mylib.a as well
03:21 < nsf> the question is..  is it possible?  :)
03:21 < drd> so..  has there been a lot of changes to the linker lately?
03:21 < nsf> mostly in the cgo area
03:22 < drd> for instance, i don't see the cgo.so files being generated with
a fresh install of go..  and
03:22 < drd> yeah
03:22 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined
#go-nuts
03:22 < nsf> it has limited capabilities to link ELF and O-Mach files
03:22 < nsf> now
03:22 < drd> i'm getting some weird errors which lead me to believe that
there may be some problems with that capability :)
03:22 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Read error: Operation timed out]
03:22 < nsf> that is gcc/linux's and mac's object files
03:23 < drd> nsf: do you know when that functionality got added, i'd like to
test this further to confirm my suspiscions
03:23 < nsf> well, I use release branch of go
03:24 < nsf> it was added in the release today
03:24 < nsf> so..  it was added somewhere in between 2010-12-15 and
2010-12-08
03:24 -!- ath [ath@omega.lambda.fi] has quit [Ping timeout: 250 seconds]
03:24 < drd> nsf: ok, i can work with that..  thanks!
03:25 -!- ath [ath@omega.lambda.fi] has joined #go-nuts
03:26 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
03:27 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
#go-nuts
03:28 -!- InaVegt [~InaVegt@dsl-087-195-206-242.solcon.nl] has quit [Ping timeout:
240 seconds]
03:32 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
03:33 < plexdev> http://is.gd/iP0oW by [Russ Cox] in go/src/cmd/ld/ -- ld:
text segment should not be writable
03:44 -!- keithcascio [~keithcasc@nat/google/x-pdhorcybrxipaswg] has quit [Quit:
Leaving]
03:46 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
03:46 -!- mode/#go-nuts [+v iant] by ChanServ
03:49 -!- Chopinn [~Chopin@ti0018a380-dhcp1590.bb.online.no] has joined #go-nuts
03:50 < plexdev> http://is.gd/iP2TV by [Andrew Gerrand] in go/ --
release.2010-12-15.1
03:50 < plexdev> http://is.gd/iP2U2 by [Andrew Gerrand] in go/ -- tag
release.2010-12-15.1
03:50 < nsf> hehe
03:50 < nsf> one liner release
03:52 <@adg> :)
03:52 <@adg> one _character_ release ;)
03:52 < nsf> indeed
03:53 <@adg> rsc just corrected me: a 1-bit release
03:53 < nsf> :D
03:53 < drd> lol
03:53 < drd> we just had that conversation
04:04 <@adg> who's we?
04:07 < drd> a bunch of college students working on an audio pipeline in go
04:08 < drd> and in my case, possibly running into linker problems on darwin
64
04:08 < drd> but i may just be doing something stupid, too :)
04:09 < drd> http://code.google.com/p/go-fightclub/ if you're interested
04:11 <@adg> hey cool, i've been working on something similar
04:12 <@adg> similar but much simpler :)
04:12 < drd> adg, cool.  it's been fun learning how to wrap libav* and
portaudio w/ cgo
04:13 <@adg> i've been writing a synthesizer but it merely outputs wav files
04:13 < TheSeeker> tag and release?
04:13 < drd> adg, nice..  it wouldn't be too hard to co-opt portaudio to do
direct output
04:17 < drd> what kind of synthesizer?
04:21 < plexdev> http://is.gd/iP79K by [Nigel Tao] in go/src/pkg/exp/draw/
-- exp/draw: remove Border function.
04:24 <@adg> drd: just a simple one, it generates sine waves at the moment
04:24 <@adg> drd: but i'm experimenting with the design
04:24 <@adg> i'm interested in the idea of passing around []byte audio
buffers via channels
04:24 <@adg> and also sending instructions to each module via channels
04:24 <@adg> but it's a complicated thing
04:25 < cbeck> We're using two channels, one for header info, one for audio
buffers
04:25 < drd> adg: yeah i've been wondering about how to do something like
lfo's with the design we have
04:27 <@adg> the concept i'm thinking about now is that each instruction has
a time span associated with it
04:28 <@adg> so each unit won't process the next instruction until it's
finished with the current one
04:29 <@adg> but that has limitations, and requires some intermediatry layer
to serialize instructions that overlap
04:30 -!- oldumy [~oldumy@2001:da8:204:1191:21f:16ff:fe1f:5819] has joined
#go-nuts
04:30 <@adg> old-school trackers used to break everthing down into single
note periods, and each channel would get a complete instruction on every 'tic'
04:30 -!- sav [~lsd@jagat.xored.org] has left #go-nuts ["ERC Version 5.3 (IRC
client for Emacs)"]
04:31 <@adg> i'll have to take a closer look at your code :)
04:31 < cbeck> Constructive criticism very welcome
04:42 -!- james [~espeed@63.246.231.57] has joined #go-nuts
04:42 < oldumy> Is there a way to use the buffer in C code directly?
04:43 -!- tav [~tav@92.7.114.67] has quit [Quit: tav]
04:46 < cbeck> oldumy: Yes, you just pass &buffer[0], it gets ugly with 2d
slices though
04:50 < oldumy> cbeck: thanks
04:59 -!- foocraft [~dsc@89.211.165.246] has quit [Read error: Operation timed
out]
05:02 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
05:33 -!- felipe [~felipe@my.nada.kth.se] has joined #go-nuts
05:41 -!- fabled [~fabled@mail.fi.jw.org] has joined #go-nuts
05:49 -!- foocraft [~dsc@89.211.188.252] has joined #go-nuts
05:51 -!- Wiz126 [~Wiz@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts
06:02 -!- Garen [noway@cpe-69-76-18-3.natnow.res.rr.com] has quit []
06:10 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
06:31 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 276
seconds]
06:31 -!- Nitro [~Nitro@unaffiliated/nitro] has quit [Quit: This computer has gone
to sleep]
06:55 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Ping timeout: 264
seconds]
07:00 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
07:05 -!- Kashia [~Kashia@port-92-200-39-124.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
07:11 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has joined #go-nuts
07:11 -!- Kashia [~Kashia@port-92-200-39-124.dynamic.qsc.de] has joined #go-nuts
07:17 -!- nettok [~quassel@200.119.164.238] has quit [Ping timeout: 272 seconds]
07:18 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
07:20 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Read error:
Connection reset by peer]
07:34 -!- hagna [~hagna@74-92-245-181-Utah.hfc.comcastbusiness.net] has quit [Ping
timeout: 276 seconds]
07:35 -!- hagna [~hagna@74-92-245-181-Utah.hfc.comcastbusiness.net] has joined
#go-nuts
07:44 -!- sofire [~sofire@220.181.147.2] has joined #go-nuts
07:46 -!- sofire [~sofire@220.181.147.2] has quit [Client Quit]
07:47 -!- sofire [~sofire@220.181.147.2] has joined #go-nuts
07:48 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
07:59 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:59 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
07:59 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Client Quit]
08:01 -!- Chopinn [~Chopin@ti0018a380-dhcp1590.bb.online.no] has quit [Quit:
Leaving]
08:01 -!- alkavan [~alkavan@IGLD-84-228-133-229.inter.net.il] has quit [Quit:
Leaving]
08:09 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR]
08:12 -!- photron_ [~photron@port-92-201-133-149.dynamic.qsc.de] has joined
#go-nuts
08:13 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
08:18 -!- tav [~tav@92.7.114.67] has joined #go-nuts
08:18 -!- mcot__ [~mcot@pool-71-171-113-161.clppva.fios.verizon.net] has quit
[Quit: Leaving]
08:19 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
08:21 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
08:27 -!- sofire [~sofire@220.181.147.2] has quit [Ping timeout: 240 seconds]
08:30 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Max SendQ exceeded]
08:31 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
08:33 -!- Kashia [~Kashia@port-92-200-39-124.dynamic.qsc.de] has quit [Quit:
Leaving]
08:34 -!- ios_ [~ios@180.191.131.10] has joined #go-nuts
08:37 -!- SoniaKeys [Alliebloom@c-24-91-112-191.hsd1.ma.comcast.net] has joined
#go-nuts
08:55 -!- wrtp [~rog@92.17.83.201] has joined #go-nuts
08:59 -!- serbaut [~joakims@88.80.182.68] has quit [Read error: Connection reset
by peer]
09:07 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has quit [Quit:
adu]
09:08 -!- actress [~robert@79.117.176.253] has joined #go-nuts
09:12 -!- actress [~robert@79.117.176.253] has left #go-nuts []
09:12 -!- actress [~robert@79.117.176.253] has joined #go-nuts
09:30 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit:
DarthShrine]
09:30 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts
09:30 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host]
09:30 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined
#go-nuts
09:31 -!- Kashia [~Kashia@port-92-200-39-124.dynamic.qsc.de] has joined #go-nuts
09:37 -!- actress_ [~robert@79.117.156.23] has joined #go-nuts
09:39 -!- actress [~robert@79.117.176.253] has quit [Ping timeout: 240 seconds]
10:01 -!- espeed [~espeed@63.246.231.57] has quit [Read error: Connection reset by
peer]
10:14 -!- jartur [~jartur@81-045-adsl.vntc.ru] has quit [Ping timeout: 240
seconds]
10:23 -!- actress [~robert@79.117.156.23] has quit [Quit: actress]
10:24 < mpl> hello
10:25 < mpl> how does one remove an entry from a map?
10:27 < SoniaKeys> It's in the spec under "Indexes"
10:27 < DarthShrine> mpl: yourmap[foo] = nil, false, I'd say
10:29 < KBme> nil, false?
10:29 < KBme> it seems to work fine with nil
10:30 < mpl> nil should be enough, but it can't hurt to set the ok to false,
can it?
10:31 < SoniaKeys> mpl.  no.  it's the false that's important.  the nil is
actually ignored.
10:31 < mpl> good, thx
10:31 < KBme> what?
10:32 * KBme calls bullsh*t
10:32 < SoniaKeys> yeah, it's one of go's quirks, that you are required to
supply a value that will be ignored in this case.
10:32 < SoniaKeys> it's in the name of orthogonality
10:33 < KBme> that's fine, imagine a map of booleans, if you just did
map[key] = false it wouldn't work
10:33 < KBme> butµ...more to the point: i do map[key] = nil and it works
fine.
10:33 < KBme> s,butµ,but,
10:34 < cde> "in the name of orthogonality"
10:34 < cde> that sounds so religious ;)
10:35 -!- artefon [~thiago@187.59.187.20] has joined #go-nuts
10:37 -!- kanru [~kanru@61-30-10-70.static.tfn.net.tw] has quit [Ping timeout: 255
seconds]
10:38 < KBme> where is this in the spec?
10:42 < Namegduf> cde: I prefer "By the power of othogonality"
10:43 < Namegduf> KBme: If you set it to nil, it will be set to nil.
10:43 < Namegduf> This will look like no entry, as looking up a value that
doesn't exist gets the zero type, which is nil for all types where nil is valid.
10:43 < Namegduf> But it is not no entry.
10:44 < wrtp> Namegduf: +1
10:45 < Namegduf> http://golang.org/doc/go_spec.html#Indexes <- Has the
stuff for removing an entry from a map.
10:46 < Namegduf> "Similarly, if an assignment to a map has the special form
"a[x] = v, ok" and boolean ok has the value false, the entry for key x is deleted
from the map; if ok is true, the construct acts like a regular assignment to an
element of the map."
11:00 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
11:04 -!- homa_rano [~erice@hmsvelociraptor.csail.mit.edu] has quit [Read error:
Operation timed out]
11:05 -!- artefon [~thiago@187.59.187.20] has quit [Quit: bye]
11:06 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
11:06 -!- homa_rano [~erice@hmsvelociraptor.csail.mit.edu] has joined #go-nuts
11:08 -!- wrtp [~rog@92.17.83.201] has quit [Ping timeout: 260 seconds]
11:12 -!- shawn [~shawn@208-78-98-92.slicehost.net] has quit [Ping timeout: 265
seconds]
11:12 -!- wrtp [~rog@92.17.83.201] has joined #go-nuts
11:21 < fuzzybyte> let's say i have made a go library program.  how could I
make it possible to call functions in my library from Python program?  are there
cgo like programs for other languages as well?  or should i just port it first to
C and then to Python.
11:22 < fuzzybyte> I have not done anything yet.  I'm just curious to know
what would be simplest way to do something like that.
11:24 -!- l00t [~i-i3id3r_@187.127.167.73] has quit [Remote host closed the
connection]
11:28 -!- oldumy [~oldumy@2001:da8:204:1191:21f:16ff:fe1f:5819] has left #go-nuts
[]
11:31 -!- sauerbraten [~sauerbrat@p508CEC25.dip.t-dialin.net] has joined #go-nuts
11:32 < fuzzybyte> oh, looks like SWIG supports go now.
11:39 * TheSeeker ditches cygwin in favor of msys ...  hopes things work a little
better.
11:42 -!- virtualsue [~chatzilla@nat/cisco/x-xqwfzkvelshbyopx] has joined #go-nuts
11:59 < wrtp> fuzzybyte: not easily
12:01 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-152-169.clienti.tiscali.it] has
joined #go-nuts
12:06 < KBme> oh i see
12:06 -!- kanru [~kanru@61-231-53-154.dynamic.hinet.net] has joined #go-nuts
12:07 < KBme> Namegduf: so i can have map["foo"] = type{anything}, false and
it will delete the entry?
12:07 < Namegduf> Believe so.
12:09 < KBme> cool i have to change my code
12:09 < KBme> thankfully only at one place ☺
12:11 < Namegduf> x = v, v != nil is a fun thing.
12:21 < KBme> what does it doN
12:21 < KBme> ?
12:21 < Namegduf> Er, I mean x[foo] = v, v != nil
12:21 < Namegduf> Sets x[foo] to v if v isn't nil, otherwise deletes it.
12:22 < KBme> huh?  so nil or false sets it to nil?
12:22 < KBme> er
12:22 < KBme> s,sets it to nil,deletes it,
12:30 < mpl> Namegduf: ah thx, I had missed that sentence in the spec.
12:33 < fuzzybyte> wrtp: swig looks pretty easy..  not that i have any
experience
12:34 -!- gnuvince [~vince@64.235.203.1] has quit [Quit: Lost terminal]
12:37 < wrtp> fuzzybyte: i think swig works the other way around - for
calling C from another language
12:37 < fuzzybyte> oh
12:40 < fuzzybyte> really?  their page and wikipedia seems to suggest that
is not true
12:41 < fuzzybyte> or hmm..
12:42 < fuzzybyte> ah i guess no..  blah..
12:43 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has joined #go-nuts
12:47 < fuzzybyte> maybe one day there will a goSWIG then
12:50 -!- DerHorst [~Horst@e176101254.adsl.alicedsl.de] has joined #go-nuts
12:55 < wrtp> fuzzybyte: it's quite a hard problem, as a) the type systems
don't match well and b) the concurrency systems don't match well
13:04 < fuzzybyte> i see
13:06 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
13:14 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit:
DarthShrine]
13:25 -!- shvntr [~shvntr@113.84.150.147] has quit [Ping timeout: 265 seconds]
13:31 -!- shvntr [~shvntr@222.50.230.212] has joined #go-nuts
13:52 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:59 -!- kanru [~kanru@61-231-53-154.dynamic.hinet.net] has quit [Ping timeout:
250 seconds]
14:03 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
14:12 < mpl> will it go ok, if I do something like this: for k,v := range
amap { if string.Contains(k¸ "foobar") { amap[k] = whatev, false } } ?
14:13 < mpl> i.e, can I remove some elements of the map while going through
the whole range?
14:13 < mpl> or should I first collect all the elements that match and
remove them directly ?
14:16 < wrtp> "The iteration order over maps is not specified.  If map
entries that have not yet been reached are deleted during iteration, the
corresponding iteration values will not be produced.  If map entries are inserted
during iteration, the behavior is implementation-dependent, but the iteration
values for each entry will be produced at most once."
14:16 < wrtp> mpl: in http://golang.org/doc/go_spec.html#For_statements
14:17 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has quit [Ping timeout: 260
seconds]
14:17 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has joined #go-nuts
14:19 < mpl> well I delete an iteration after I've reached it, not before.
14:20 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
14:20 < mpl> I was just worried that it could somehow stop the iteration
process.
14:34 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has quit [Ping timeout: 250
seconds]
14:37 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving]
14:45 -!- d_m [d6@SDF.ORG] has joined #go-nuts
14:47 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
14:51 < wrtp> mpl: although it doesn't say so explicitly, i'm sure that
would be ok
14:53 -!- linnk [~linnk@ip-56-115.bnaa.dk] has joined #go-nuts
14:54 < mpl> yes, looks that way.
14:54 < linnk> hey
14:55 < linnk> what's the "idiomatic" way of reading a file line by line in
Go?
14:56 < SoniaKeys> linnk: bufio.ReadString
14:57 < linnk> SoniaKeys: doesn't that only read the first line?  with '\n'
as delimiter?
14:58 < SoniaKeys> no, it "consumes" the data from the buffer, so you can go
through all the data line by line.
14:58 < linnk> SoniaKeys: ah, okay, I misunderstood the docs then
14:58 < linnk> thanks :)
15:02 -!- kanru [~kanru@118-160-164-24.dynamic.hinet.net] has joined #go-nuts
15:09 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
15:20 -!- IRWolfie1 [irwolfie@ircnoob.com] has quit [Quit: leaving]
15:24 < uriel> fuzzybyte: there is go support in the latest SWIG
15:26 < uriel> oh, sorry, I'm an idiot for not reading the whole backlog,
nevermind
15:28 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
15:33 -!- femtoo [~femto@95-89-196-48-dynip.superkabel.de] has joined #go-nuts
15:34 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts
15:34 -!- emjayess [~emjayess@pix1.i29.net] has joined #go-nuts
15:36 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
15:46 < plexdev> http://is.gd/iQL0x by [Adam Langley] in
go/src/pkg/crypto/tls/ -- crypto/tls: check in support code.
15:47 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
15:57 < cde> btw, now would be a good time to insert a backdoor in Go's
crypto code
15:57 * cde notifies the FBI
15:57 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
15:58 -!- coldturnip [~COLDTURNI@118-166-67-82.dynamic.hinet.net] has quit [Ping
timeout: 264 seconds]
15:59 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
15:59 -!- plainhao [~plainhao@208.75.85.237] has joined #go-nuts
16:00 -!- bjarneh [~bjarneh@1x-193-157-207-177.uio.no] has joined #go-nuts
16:03 -!- Venom_X [~pjacobs@99-8-218-190.lightspeed.hstntx.sbcglobal.net] has
joined #go-nuts
16:10 -!- niemeyer [~niemeyer@201-2-134-72.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
16:10 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-135.clienti.tiscali.it] has
joined #go-nuts
16:11 -!- coldturnip [~COLDTURNI@114-136-238-165.dynamic.hinet.net] has joined
#go-nuts
16:13 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-152-169.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
16:18 < tav> cde: hehe
16:19 < tav> the openbsd mail was hilarious though
16:24 < wrtp> tav: what openbsd mail?
16:24 < pingveno> Poor OpenBSD
16:24 < pingveno> wrtp: Did you hear about the thing with OpenBSD?
16:25 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
16:25 < kimelto> that's bullshit imho.  FUD.
16:25 -!- coldturnip [~COLDTURNI@114-136-238-165.dynamic.hinet.net] has quit [Read
error: Connection reset by peer]
16:25 < skelterjohn> openbsd is open source, right?
16:26 < skelterjohn> if people are looking for this backdoor and cannot find
it, it's probably apocryphal
16:26 < kimelto> sure it is.
16:27 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-148-120.clienti.tiscali.it] has
joined #go-nuts
16:27 < pingveno> skelterjohn: It's possible to hide subtle things in
complex code.
16:27 -!- jcouture [~jcouture@142.213.178.125] has joined #go-nuts
16:27 < wrtp> pingveno: no
16:27 < _sl> why on earth would anyone assume that this kind of thing
doesn't go on all the time, with all operating systems?  if we accept the
plausibility of the openbsd story, it stands to reason more popular operating
systems have also been targeted.  <- that's just logical; but it's well known
that backdoors have shipped in all sorts of operating systems without becoming
known to the general public.
16:27 < skelterjohn> all generalizations are false
16:28 < SoniaKeys> lol
16:28 < wrtp> pingveno: a casual google doesn't find me anything; got a
link?
16:28 < _sl> the backlash is predictable: "i'll stop using openbsd." <-
and use what instead?  haha.
16:30 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-169-135.clienti.tiscali.it] has
quit [Ping timeout: 250 seconds]
16:30 < kimelto> someone wanted a free audit of the openbsd code, that's all
:)
16:30 < pingveno> http://marc.info/?l=openbsd-tech&m=129236621626462&w=2
16:30 < pingveno> That's the link from #openbsd's topic
16:30 < skelterjohn> http://news.cnet.com/8301-31921_3-20025767-281.html
16:32 < skelterjohn> for a newsy article instead of the email text
16:32 < wrtp> the original mail was good thanks
16:32 < tav> thanks for linking pingveno
16:32 < wrtp> obviously go already has the backdoors :)
16:32 < tav> hehe
16:33 < tav> adam's been putting in the backdoors from the start
16:33 < pingveno> I'm still amused by the one-bit release :)
16:33 < skelterjohn> what is the one-bit release?
16:33 < kimelto> the 15.1 one
16:33 < pingveno> A bug fix release
16:34 < kimelto> check the diff of ld ;)
16:34 < pingveno> If you're measuring things by the change of the actual
character byte, it was a two-bit release
16:34 -!- femtoo [~femto@95-89-196-48-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
16:36 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-tcdwdptakprmsreh]
has quit [Quit: leaving]
16:37 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: leaving]
16:38 -!- rejb [~rejb@p5B05A0AE.dip.t-dialin.net] has joined #go-nuts
16:38 -!- kanru [~kanru@118-160-164-24.dynamic.hinet.net] has quit [Ping timeout:
272 seconds]
16:38 -!- rejb [~rejb@p5B05A0AE.dip.t-dialin.net] has quit [Changing host]
16:38 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
16:39 < skelterjohn> is there an easier way to write negative infinity in
the code than math.Log(0)?
16:40 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-cnzaozsywcdegkdp]
has joined #go-nuts
16:40 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has joined #go-nuts
16:49 -!- shvntr [~shvntr@222.50.230.212] has quit [Quit: leaving]
16:55 < skelterjohn> ok
16:55 < skelterjohn> wrong window
16:59 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Operation timed out]
16:59 -!- coldturnip [~COLDTURNI@118-166-67-82.dynamic.hinet.net] has joined
#go-nuts
17:02 < wrtp> skelterjohn: i reckon you should be able to do 1/0.0 but it
doesn't allow it, although var x = 1.0; var inf = 1.0 / x; is fine
17:02 -!- coldturnip [~COLDTURNI@118-166-67-82.dynamic.hinet.net] has quit [Read
error: Connection reset by peer]
17:04 -!- jcouture [~jcouture@142.213.178.125] has quit [Quit: jcouture]
17:06 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
17:13 < exch> Have there been attempts or plans to improve the formatting of
the flags package's usage() output?
17:15 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
17:16 < exch> hmm seems they expect a user to do formatting themselves if
needed.  Usage() is a variable which cna be reassigned to a custom function
17:16 < exch> oh well.  i'll keep using my own package then
17:17 -!- coldturnip [~COLDTURNI@118-166-67-82.dynamic.hinet.net] has joined
#go-nuts
17:22 -!- coldturnip [~COLDTURNI@118-166-67-82.dynamic.hinet.net] has quit [Read
error: Connection reset by peer]
17:23 -!- coldturnip [~COLDTURNI@118-166-65-180.dynamic.hinet.net] has joined
#go-nuts
17:27 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has joined
#go-nuts
17:32 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
17:34 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Read error:
Connection reset by peer]
17:34 -!- coldturnip1 [~COLDTURNI@118-166-65-63.dynamic.hinet.net] has joined
#go-nuts
17:34 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 260 seconds]
17:35 -!- coldturnip [~COLDTURNI@118-166-65-180.dynamic.hinet.net] has quit [Ping
timeout: 260 seconds]
17:39 -!- ios_ [~ios@180.191.131.10] has quit [Quit: Leaving]
17:40 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
17:44 -!- sauerbraten [~sauerbrat@p508CEC25.dip.t-dialin.net] has quit [Remote
host closed the connection]
17:44 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping
timeout: 260 seconds]
17:46 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Remote host closed the connection]
17:47 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:50 -!- ildorn [~ildorn@dslb-188-099-193-011.pools.arcor-ip.net] has joined
#go-nuts
17:52 -!- xash [~xash@d201237.adsl.hansenet.de] has joined #go-nuts
17:55 -!- SoniaKeys [Alliebloom@c-24-91-112-191.hsd1.ma.comcast.net] has quit []
17:57 -!- femtoo [~femto@95-89-196-48-dynip.superkabel.de] has joined #go-nuts
17:57 -!- thiago__ [~thiago@dhcp16.usuarios.dcc.ufmg.br] has joined #go-nuts
17:57 -!- artefon [~thiagon@150.164.2.20] has quit [Remote host closed the
connection]
17:57 -!- SRabbelier [~SRabbelie@188.142.63.148] has joined #go-nuts
17:57 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
17:59 -!- l00t [~i-i3id3r_@187.127.167.73] has joined #go-nuts
18:00 -!- SRabbelier [~SRabbelie@188.142.63.148] has quit [Client Quit]
18:04 -!- virtualsue [~chatzilla@nat/cisco/x-xqwfzkvelshbyopx] has quit [Quit:
ChatZilla 0.9.86 [Firefox 3.5.15/20101026200251]]
18:07 -!- rlab_ [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
18:07 -!- wrtp [~rog@92.17.83.201] has quit [Quit: wrtp]
18:11 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has quit
[Quit: Leaving.]
18:12 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
18:17 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts
18:23 -!- sauerbraten [~sauerbrat@p508CEC25.dip.t-dialin.net] has joined #go-nuts
18:34 -!- xash [~xash@d201237.adsl.hansenet.de] has quit [Read error: Operation
timed out]
18:52 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
18:52 -!- keithcascio [~keithcasc@nat/google/x-ecfgzwlhndynynzg] has joined
#go-nuts
18:53 -!- kashia_ [~Kashia@port-92-200-77-108.dynamic.qsc.de] has joined #go-nuts
18:56 -!- Kashia [~Kashia@port-92-200-39-124.dynamic.qsc.de] has quit [Ping
timeout: 250 seconds]
19:00 -!- Project-2501 [~Marvin@82.84.76.144] has joined #go-nuts
19:03 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-148-120.clienti.tiscali.it] has
quit [Ping timeout: 250 seconds]
19:07 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
19:08 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com]
has quit [Ping timeout: 260 seconds]
19:11 < anticw> iant: when going asm for gccgo ...  how do i get the call
signatures 'right' ?
19:11 < anticw> iant: for 6g you have a .s file and a 'decl.go' file and
pack them ...  should i do similar for gccgo?
19:11 < anticw> i can i do pure foo.s -> foo.o (that's importablt)
19:14 -!- femtoo [~femto@95-89-196-48-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
19:15 -!- Tv [~tv@76.168.227.45] has joined #go-nuts
19:15 -!- l00t [~i-i3id3r_@187.127.167.73] has quit [Ping timeout: 260 seconds]
19:34 -!- thiago__ [~thiago@dhcp16.usuarios.dcc.ufmg.br] has quit [Read error:
Operation timed out]
19:37 -!- ildorn [~ildorn@dslb-188-099-193-011.pools.arcor-ip.net] has quit [Quit:
Leaving.]
19:37 -!- ildorn [~ildorn@dslb-188-099-193-011.pools.arcor-ip.net] has joined
#go-nuts
19:37 < nsf> -rwxr-xr-x 1 nsf nsf 3743 Дек 17 00:39 libtermbox.so
19:37 < nsf> >_<
19:42 -!- l00t [~i-i3id3r_@187.127.138.231] has joined #go-nuts
19:44 < temoto> Is there a literal for arrays?
19:45 < nsf> can anyone please fix cgo examples?
19:51 < uriel> temoto: [...]myarray{1,2,3,4,5}
19:51 < uriel> that is all in the intro Go docs AFAIK
19:52 < temoto> I didn't find in spec, thanks.
19:55 < temoto> Is there an empty []byte literal?
19:55 < exch> var b []byte
19:55 < temoto> for passing into function
19:56 < exch> or b := []byte{}
19:56 < temoto> I could define a constant of that, i guess.
19:56 < exch> http://golang.org/doc/go_tutorial.html
http://golang.org/doc/effective_go.html
19:56 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
19:56 < temoto> oh wait, nil should do
19:57 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Client Quit]
19:57 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
19:58 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
20:02 -!- sacho [~sacho@95-42-119-153.btc-net.bg] has quit [Ping timeout: 240
seconds]
20:04 -!- cco3-hampster [~conleyo@nat/google/x-cbtkfddaxiwnvsgm] has quit [Ping
timeout: 260 seconds]
20:04 -!- cco3-hampster [~conleyo@nat/google/x-rbqpbbsmoqdjytpn] has joined
#go-nuts
20:04 -!- plainhao [~plainhao@208.75.85.237] has quit [Quit: plainhao]
20:06 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Ping timeout: 260
seconds]
20:12 -!- TheMue [~TheMue@p5DDF73C7.dip.t-dialin.net] has joined #go-nuts
20:15 -!- pothos [~pothos@111-240-210-81.dynamic.hinet.net] has quit [Remote host
closed the connection]
20:15 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Operation timed
out]
20:15 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has quit [Read error: Operation
timed out]
20:15 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has joined #go-nuts
20:15 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has joined #go-nuts
20:15 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has quit [Changing
host]
20:15 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
20:15 -!- pothos [~pothos@111-240-210-81.dynamic.hinet.net] has joined #go-nuts
20:20 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has joined #go-nuts
20:21 -!- sauerbraten_ [~sauerbrat@p508CC939.dip.t-dialin.net] has joined #go-nuts
20:22 -!- sauerbraten [~sauerbrat@p508CEC25.dip.t-dialin.net] has quit [Ping
timeout: 240 seconds]
20:27 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: leaving]
20:27 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-216.clienti.tiscali.it] has
joined #go-nuts
20:30 -!- Project-2501 [~Marvin@82.84.76.144] has quit [Ping timeout: 272 seconds]
20:31 -!- xash [~xash@d201237.adsl.hansenet.de] has joined #go-nuts
20:41 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-216.clienti.tiscali.it] has
quit [Read error: Connection reset by peer]
20:41 -!- ildorn [~ildorn@dslb-188-099-193-011.pools.arcor-ip.net] has quit [Ping
timeout: 276 seconds]
20:41 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-216.clienti.tiscali.it] has
joined #go-nuts
20:42 -!- zozoR [~zozoR@56347ac9.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
20:44 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has quit [Read error: Operation
timed out]
20:44 -!- hokapoka [~hokapoka@hoka.hokapoka.com] has joined #go-nuts
20:45 -!- tvw [~tv@212.79.9.150] has quit [Remote host closed the connection]
20:50 < plexdev> http://is.gd/iRz1u by [Christopher Wedgwood] in
go/src/cmd/govet/ -- govet: fix comment
20:50 < plexdev> http://is.gd/iRz1J by [Rob Pike] in go/test/bench/ --
test/bench: update numbers for regex-dna after speedup to regexp
20:50 < plexdev> http://is.gd/iRz2k by [Russ Cox] in 4 subdirs of
go/src/pkg/runtime/ -- darwin, freebsd: ignore write failure (during print, panic)
20:59 -!- tgillespie_ [~tom@global-1-8.nat.csx.cam.ac.uk] has joined #go-nuts
20:59 < tgillespie_> Hi all, is there a reference document anywhere for the
template language?  Or is what's in the package documentation everything?
21:00 < exch> tgillespie_: that's all really.  If you want examples, refer
to the source for the template package.  in particular the _test.go file
21:00 < exch> That goes for most packages really
21:03 -!- deso [~deso@x0561a.wh30.tu-dresden.de] has quit [Remote host closed the
connection]
21:04 -!- XenoPhoenix [~Xeno@cpc5-aztw24-2-0-cust39.aztw.cable.virginmedia.com]
has joined #go-nuts
21:07 < plexdev> http://is.gd/iRBe3 by [Adam Langley] in
go/src/pkg/crypto/elliptic/ -- crypto/elliptic: add serialisation and key pair
generation.
21:07 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined
#go-nuts
21:07 -!- sauerbraten_ [~sauerbrat@p508CC939.dip.t-dialin.net] has quit [Quit:
Leaving]
21:16 < tgillespie_> exch thanks :) so the template system is quite basic
then?
21:16 < exch> It depends on how you define basic I suppose.  I've found it
quite adequate
21:17 < exch> granted, I don't use it all that much
21:17 < tgillespie_> exch I'll have a look through the source then, thanks
:)
21:17 < tgillespie_> I assume I can extend it easy enough if I need to
21:17 < exch> true
21:18 < exch> the glory of opensource right there
21:20 < tgillespie_> Yup :D
21:24 -!- bjarneh [~bjarneh@1x-193-157-207-177.uio.no] has quit [Quit: leaving]
21:31 -!- TheMue [~TheMue@p5DDF73C7.dip.t-dialin.net] has quit [Quit: TheMue]
21:35 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
21:39 < plexdev> http://is.gd/iREWn by [Rob Pike] in go/src/pkg/time/ --
time: explain the formats a little better.
21:40 -!- alkavan [~alkavan@IGLD-84-229-249-171.inter.net.il] has joined #go-nuts
21:49 -!- ShadowIce`
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
#go-nuts
21:49 -!- ShadowIce`
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
21:49 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
21:50 -!- Namegduf [~namegduf@eu.beshir.org] has quit [Ping timeout: 255 seconds]
21:50 -!- stalled [~stalled@unaffiliated/stalled] has quit [Ping timeout: 265
seconds]
21:50 -!- ubitux [~ubitux@did75-21-88-189-231-41.fbx.proxad.net] has quit [Ping
timeout: 265 seconds]
21:50 -!- zeroXten [~zeroXten@0x10.co.uk] has quit [Ping timeout: 255 seconds]
21:50 -!- Tonnerre [tonnerre@netbsd/developer/tonnerre] has quit [Ping timeout:
255 seconds]
21:51 -!- kashia_ [~Kashia@port-92-200-77-108.dynamic.qsc.de] has quit [Ping
timeout: 255 seconds]
21:51 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Ping
timeout: 255 seconds]
21:51 -!- Fish- [~Fish@9fans.fr] has quit [Ping timeout: 264 seconds]
21:51 -!- welterde [welterde@thinkbase.srv.welterde.de] has quit [Ping timeout:
252 seconds]
21:52 -!- chressie [~chressie@dreggn.in-ulm.de] has quit [Ping timeout: 264
seconds]
21:57 -!- Netsplit *.net <-> *.split quits: segy, rejb, tux21b, djcapelis,
pothos, kimelto, Rennex, Cobi, jesusaurus, arun, (+87 more, use /NETSPLIT to show
all of them)
21:57 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined
#go-nuts
21:57 -!- Netsplit over, joins: yiyus
21:57 -!- zeroXten [~zeroXten@0x10.co.uk] has joined #go-nuts
21:57 -!- Namegduf [~namegduf@94.75.205.131] has joined #go-nuts
21:57 -!- ubitux [~ubitux@did75-21-88-189-231-41.fbx.proxad.net] has joined
#go-nuts
21:57 -!- Tonnerre [tonnerre@ds1789693.dedicated.solnet.ch] has joined #go-nuts
21:57 -!- Netsplit over, joins: toyoshim_, alkavan, XenoPhoenix, hokapoka, pothos,
arun, cco3-hampster, Eridius, l00t, keithcascio (+84 more)
21:57 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Max SendQ exceeded]
21:58 -!- ExtraSpice [~XtraSpice@88.118.33.48] has joined #go-nuts
22:00 -!- kashia_ [~Kashia@port-92-200-77-108.dynamic.qsc.de] has joined #go-nuts
22:04 -!- tensorpudding [~user@99.148.202.191] has joined #go-nuts
22:06 -!- chressie [~chressie@dreggn.in-ulm.de] has joined #go-nuts
22:07 -!- krutcha [~krutcha@remote.icron.com] has joined #go-nuts
22:10 -!- stalled [~stalled@unaffiliated/stalled] has joined #go-nuts
22:14 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:17 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has quit [Remote host closed the connection]
22:17 -!- pothos_ [~pothos@111-240-221-234.dynamic.hinet.net] has joined #go-nuts
22:18 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts
22:20 -!- pothos [~pothos@111-240-210-81.dynamic.hinet.net] has quit [Ping
timeout: 272 seconds]
22:26 < plexdev> http://is.gd/iRKPF by [Adam Langley] in 2 subdirs of
go/src/pkg/crypto/ -- crypto/tls: add ECDHE support
22:26 < plexdev> http://is.gd/iRKPS by [Adam Langley] in
go/src/pkg/crypto/tls/ -- crypto/tls: missed a file
22:37 -!- wrtp [~rog@92.17.83.201] has joined #go-nuts
22:37 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-180-154.clienti.tiscali.it] has
joined #go-nuts
22:40 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-173-216.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
22:41 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 276 seconds]
22:41 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Quit:
DarthShrine]
22:44 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined #go-nuts
22:44 -!- mode/#go-nuts [+v iant] by ChanServ
22:48 -!- emjayess [~emjayess@pix1.i29.net] has quit [Quit: Leaving]
22:51 -!- xash [~xash@d201237.adsl.hansenet.de] has quit [Ping timeout: 255
seconds]
22:52 -!- tgillespie_ [~tom@global-1-8.nat.csx.cam.ac.uk] has quit [Quit:
Konversation terminated!]
23:02 -!- tgillespie_ [~tom@global-1-8.nat.csx.cam.ac.uk] has joined #go-nuts
23:05 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has quit [Quit: Coyote finally
caught me]
23:05 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
23:16 -!- krutcha [~krutcha@remote.icron.com] has quit [Quit: Leaving]
23:20 -!- tgillespie_ [~tom@global-1-8.nat.csx.cam.ac.uk] has quit [Ping timeout:
265 seconds]
23:24 -!- gnuvince [~vince@64.235.203.1] has joined #go-nuts
23:32 -!- photron_ [~photron@port-92-201-133-149.dynamic.qsc.de] has quit [Ping
timeout: 260 seconds]
23:39 -!- wrtp [~rog@92.17.83.201] has quit [Quit: wrtp]
23:47 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
23:47 -!- adu [~ajr@pool-173-66-11-168.washdc.fios.verizon.net] has joined
#go-nuts
23:52 -!- alkavan [~alkavan@IGLD-84-229-249-171.inter.net.il] has quit [Quit:
Leaving]
23:56 -!- ExtraSpice [~XtraSpice@88.118.33.48] has quit [Ping timeout: 276
seconds]
--- Log closed Fri Dec 17 00:00:01 2010