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

--- Log opened Sun Apr 10 00:00:33 2011
--- Day changed Sun Apr 10 2011
00:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:07 -!- foocraft [~dsc@86.36.49.200] has quit [Ping timeout: 246 seconds]
00:12 -!- groves [~groves@76.14.87.155] has joined #go-nuts
00:20 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
00:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
00:21 < Jantire> So anyone here working on a startup
00:21 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
00:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:28 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
00:30 < Jantire> I take that as a no
00:37 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Operation timed out]
00:38 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has quit
[Ping timeout: 252 seconds]
00:38 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
00:38 < JusticeFries> mm yes.
00:40 < niemeyer> Jantire: A lot of people work in startups.  If you ask a
more interesting question people might give you a hand
00:41 < Jantire> How about this, what is interesting about the startup you
are working on
00:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
00:42 < Jantire> or rather, what makes it so interesting that yo uwant to
work at a startup?
00:48 < Jantire> still is not very interesting I see
01:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:01 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has quit [Ping
timeout: 246 seconds]
01:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:03 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has joined #go-nuts
01:03 < Jantire> This channel is lacking discussion
01:05 < vsmatck> Better to not talk about a startup until it's started up
IMO.  Talking about a thing can be just as satisfying as doing a thing..  which is
a problem.
01:05 < Namegduf> Most IRC channels have periods of quiet
01:06 < vsmatck> Say something inflamatory.  That'll fix it.
01:06 < Jantire> I disagree, you have a much lower likelihood of succeeding
if you don't talk about it because there needs to be a means of checking for solid
reasoning
01:06 < Namegduf> You could say the word "object"
01:07 < Namegduf> But that's like throwing yourself on a grenade.
01:07 < Jantire> Well that's not confusing enough to be interesting
01:07 < Jantire> You have to say something along the lines of "Why are you
do poop bananas?"
01:07 < Jantire> Someone will inevitably correct the grammar
01:07 < Jantire> and another will point out that it makes no sense
01:07 < Namegduf> "Why does Go have such weird syntax for objects?" would
do.
01:07 < Jantire> But that's specific to this channel
01:07 < Namegduf> You'd have sharp objects inserted in painful places
01:08 < Namegduf> But there'd be activity
01:08 < vsmatck> I think object is a ambiguous word as far as programming
goes.
01:08 < Namegduf> I prefer "thing".  It's about as precise, minus all the
baggage which varies from person to person.
01:09 < Jantire> You could probably also defend groups that society as a
whole highly dislikes (i.e NAMBLA)
01:09 < vsmatck> I think "thing" is better.
01:09 < vsmatck> Seems like in the most generic sense people use it to
differentiate between the declaration of a thing, and a instance of the thing.
01:09 < Namegduf> I call those "instances"
01:11 < vsmatck> I think I could deal with either word without needing to
ask for clarification.  :)
01:11 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 276 seconds]
01:11 < Namegduf> Heh.  Context helps.
01:11 < Namegduf> "object" doesn't generally work because when people say
"object" they think an instance in a type hierarchy
01:12 < Namegduf> Or at least something used as one.
01:12 < Jantire> How about just an interface for an object that has fields
like "Contradictory_Statement" and "meaningless_rebuttal" and a method that says
"ProclaimContradictoryStatementAndRebuke()"
01:12 < Namegduf> Heh, interfaces don't have fields.
01:12 < vsmatck> hah!
01:12 < Namegduf> But you could have a method like that.
01:12 < vsmatck> You disagree to his joke about disagreement.
01:12 < vsmatck> That's meta-funny.
01:13 < Jantire> Properties.  Fields.  meh
01:13 < Namegduf> No "properties" in Go at all.
01:13 < Jantire> Well I don't know Go
01:13 < Namegduf> Interfaces are just sets of methods.
01:13 < Jantire> I'm just here because Go looks interesting
01:13 < Namegduf> It's nice.
01:13 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
01:13 < Namegduf> The best part is the compile time checked "duck typing"
from interfaces, IMO.
01:14 < Namegduf> But the way goroutines work is also good; it means
asynchronous code basically doesn't happen.
01:14 < Namegduf> You just write synchronous code and let the goroutine
scheduler wake you up when you unblock.
01:15 < Namegduf> With free parallelism to any number of cores.
01:15 < vsmatck> You know the LSP (liskov substitution principle).  Does
that apply to interfaces.  When I do a type switch that thought nags me in the
back of my brain.
01:15 < Namegduf> I don't.
01:15 < Namegduf> I don't like type switches, they nag at me in general.
01:15 < vsmatck> I got this weird way of thinking about interfaces.
Something like, "make the language dynamic where it needs to be".
01:15 < vsmatck> *shrug*
01:15 < Namegduf> Well, when without a default:
01:16 < Namegduf> With a default they're still...  not the direct way to
solve a problem, if you know what I mean, but type safe.
01:17 < vsmatck> yeah, I come up with some cruddy designs that rely too
heavily on them.  I always try to think of ways to refactor them out.
01:17 < vsmatck> Well, I mean that for interface{}.  Not more specific
interfaces.
01:18 < vsmatck> It's bad when the interface is not as specific as it could
be.
01:18 < Namegduf> Well, type switching on more specific interfaces is bleh,
too.
01:18 < Namegduf> Just not common.
01:18 < Namegduf> If you have a more specific interface you probably have
whatever you need in it.
01:19 < vsmatck> yeah
01:19 < Jantire> I have yet to actually code in Go, but from the video that
Google made on it they present it as sort of a mix of python and C
01:19 < Jantire> how does that work?
01:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:21 < Namegduf> Best not to think of it as a mixture.
01:21 < Namegduf> Go starts with a very simple, fully typesafe (no implicit
casts) C, and then adds high level features that are useful.
01:22 < Namegduf> GC, goroutines and channels, Pascal-like strings, slicing
and slices, and a good sized stdlib.
01:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:22 < Namegduf> Focusing on simplicity and helping the programmer as much
as possible, rather than deriving a feature set from what a specific historic
language they loved used.
01:23 < Namegduf> Oh, and interfaces, of course.
01:23 < niemeyer> Jantire: I think that impression comes from the fact that
Go is indeed appealing to high-level and low-level developers for many reasons.
01:23 < Namegduf> It's a rough way to look at it- variable declaration isn't
C-like, it's nicer.
01:23 < niemeyer> Jantire: But as Namegduf says, it's good to try to
understand the language without thinking about the "mix" aspect.  It's not how it
was designed.
01:24 < Jantire> ah I c
01:24 < Namegduf> But that's a better way to view it.  A low level language
with a bunch of orthagonal features on top, picked on individual merits rather
than pulled as a blob from somewhere.
01:24 < Jantire> I don't like C, Pythons okay
01:24 < Namegduf> Oh, and first class functions.
01:24 < Jantire> I'm comfortable with C# though
01:24 -!- joelkronander
[~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has joined
#go-nuts
01:24 < Jantire> but Go looks like it has significant performance benefits
01:24 < vsmatck> Not yet realized I think.  :)
01:25 < niemeyer> Jantire: If you're coming from Python, yes.  But that's
just a detail.  There are many other interesting things to look at there.
01:25 < Namegduf> The worst description I ever saw was "Python meets C++"
01:25 < Namegduf> Which is...
01:25 < plexdev> http://is.gd/WR36tM by [Dmitry Chestnykh] in
go/src/pkg/archive/zip/ -- archive/zip: add new type ReadCloser, make OpenReader
return it.
01:25 < Namegduf> Neither consider simplicity of the language itself a goal;
C++ is hideously complex.
01:26 < Namegduf> (Python is not bad, but primary goal is fast writing of
programs and simplicity of thinking when writing programs, leading to complex
rules to be "intuitive" in some cases)
01:26 < vsmatck> It's more fun to program when you can focus more on what
you're trying to say rather than how you say it.
01:26 < Namegduf> Yeah.
01:26 < niemeyer> Namegduf: I actually consider it bad in that sense, by
now.  There's just *so much* in there.
01:27 < niemeyer> Talking about language semantics, specifically.
01:27 < Jantire>
http://shootout.alioth.debian.org/u64q/which-programming-languages-are-fastest.php
is a good place to look at programming language perforamnce
01:27 < Namegduf> It's not bad but not great
01:28 < Namegduf> Regex, for example, calls into C libraries in most
languages
01:28 < Namegduf> And just tests those
01:28 < Namegduf> Go's regex implementation is slow at present, but that's
not a commentary on the language as a whole.
01:28 < niemeyer> Namegduf: I think it's bad.  If you disagree, read PEP
380.
01:29 < Namegduf> The bigger issue with it is that people write horribly
unidiomatic code to make it win as much as possible.
01:29 < Namegduf> So it doesn't test performance of idiomatic code.
01:29 < Namegduf> Java has issues there; you can "make it fast" if you
ignore startup time
01:29 < vsmatck> I had to replace some regexp code I made last night.  Got a
4500% speedup.  It was a pretty abusive regexp tho.
01:29 < Namegduf> But idiomatic Java is not fast.
01:30 < Namegduf> Go's a lot closer to the top of there than I thought.
01:30 < Namegduf> THat's nice.
01:30 < Namegduf> Go's big weakness over C is in memory usage
01:31 < Namegduf> But this is a weakness shared with most all GCed languages
01:31 < Namegduf> Most of which are worse
01:31 < Namegduf> Go is not Java-bad
01:31 < Jantire> damn
01:31 < Jantire> that's a huge increasae
01:31 < Jantire> in speed
01:32 < Jantire> Namegduf what do you do?
01:32 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Ping timeout:
248 seconds]
01:32 < Namegduf> I don't have call for regexes in much that I've written.
01:32 < Namegduf> I'd probably use a third-party regex lib, maybe bindings
to something
01:32 < Namegduf> The main distribution regex lib has been described as a
"placeholder" implementation.
01:33 < Namegduf> I mean, if I needed regexes, and I needed them to be fast.
01:33 < Jantire> No I mean who do you work for?
01:33 < Namegduf> Oh. I'm a student.
01:33 < vsmatck> That's a oddly personal question there.
01:36 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
01:39 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has joined #go-nuts
01:40 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
01:41 < Jantire> I wanted to know because you seem to know your shit, and Go
is an uncommon language
01:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
01:43 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
01:52 < Namegduf> Ah, thanks.
01:59 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has joined
#go-nuts
01:59 < Jantire> np
02:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:09 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
02:15 -!- rurban [~demo@178-190-150-221.adsl.highway.telekom.at] has joined
#go-nuts
02:18 < krutcha1> gt_parsing.go:44: string is not a type
02:19 < Glasswalker> if I wanted to have an enum of various byte values, how
would I define that so I could use that enum as a field in a struct?
02:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:21 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
["Leaving"]
02:22 < krutcha1> I think enums in go are done with constants, and as such
aren't types of their own, so the struct would just have to have a numeric type to
store the constant value
02:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:27 < krutcha1> Why can't I return a string by returning
myEmptyInterface.(string) ?
02:29 < exch> krutcha1: if myEmptyInterface does not actually hold a string,
that type assertion fails
02:29 < krutcha1> I'm hoping so, but I'm getting a compile error
02:30 < exch> what's the error?
02:30 < Namegduf> krutcha1: Could you pastebin the funcion?
02:30 < Namegduf> *function
02:30 < krutcha1> sure
02:30 < exch> Glasswalker: http://pastie.org/1777382
02:33 < krutcha1> http://pastebin.com/Y4m8GJwA
02:34 < exch> O.o
02:34 < exch> the first error I see is that your return values are not both
named
02:34 < exch> you should either name both, or none
02:34 < exch> the error message is a bit strange though
02:35 < exch> I think the compiler didnt catch that and now thinks 'string'
is a variable identifier
02:35 < Namegduf> Ah, yeah.
02:35 < exch> that would be a bug
02:35 < Namegduf> You're making two variables of type os.Error
02:35 < exch> ah yes
02:35 < exch> not a bug
02:36 < exch> go doesnt consider string/int/ etc special keywords.  so using
them as var names is perfectly valid
02:36 < Namegduf> Just horrible.
02:36 * Namegduf hates shadowing
02:38 < exch> either use (string, os.Error) or (s string, err os.Error) as
return value definition to fix it
02:40 < krutcha1> ahh ic
02:40 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
02:40 < krutcha1> yeah I've been bit by the mixed named/non named return
before, but usually the compile error notices that
02:41 < krutcha1> thanks
02:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
02:52 -!- espeed [~espeed@63.246.231.57] has quit [Ping timeout: 240 seconds]
02:53 < Jantire> Anyone here part of a startup that's looking for interns?
02:53 -!- joelkronander
[~joelkrona@c-bf2fe253.617-1-64736c22.cust.bredbandsbolaget.se] has quit [Quit:
joelkronander]
03:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:01 -!- shvntr [~shvntr@119.121.31.3] has joined #go-nuts
03:02 < Jantire> If anyone is looking for an intern for their startup of 4
or more people and in the Bay Area feel free to email me at jarredsumner@live.com
03:02 -!- rurban [~demo@178-190-150-221.adsl.highway.telekom.at] has quit [Ping
timeout: 276 seconds]
03:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
03:05 -!- tensorpudding [~user@99.32.63.28] has quit [Read error: Connection reset
by peer]
03:09 < Jantire> I'm surprised nobody here is looking for interns
03:09 < Jantire> or working for a company whose looking for interns
03:10 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts
03:11 < uriel> I'm quite sure Google is looking for interns
03:13 < Jantire> I'd love to intern at Google but I'm a high school student
03:13 -!- saturnfive [~saturnfiv@219.144.192.121] has joined #go-nuts
03:18 < uriel> Russ Cox interned at Bell Labs as a high school student if I
remember correctly
03:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:21 < Jantire> Google requires pursuance of at least a bachelors
03:21 <@adg> Jantire: you wait 8 minutes and concluded that nobody is
looking for interns?  :)
03:21 < Jantire> adg, I'm in more than one channel at once, and I merely
said that to get the attention of people reading
03:22 < Jantire> adg, and also to sound less spammy, as I have If anyone is
looking for an intern for their startup of 4 or more people and in the Bay Area
feel free to emai le mat jarredsumner@live.com on the clipboard
03:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
03:23 -!- tensorpudding [~user@99.32.63.28] has quit [Remote host closed the
connection]
03:23 <@adg> i reckon if a high school student came along to one of google's
college campus recruiting events and demonstrated they're a really impressive
candidate, they'd have a shot at working at google
03:24 < uriel> adg: any news on the talks for google i/o?
03:24 <@adg> but we have to draw the line, more generally, at university
students.  we get enough applications as it is
03:24 <@adg> uriel: rob and i will be giving a talk
03:24 <@adg> and i will be speaking and giving a workshop at Bootcamp
beforehand
03:24 <@adg> both talks will be recorded
03:24 -!- tensorpudding [~user@99.32.63.28] has joined #go-nuts
03:25 < uriel> ah, wesome, are the topics know yet?  would be nice to have
some more advenced stuff this year
03:25 <@adg> it won't be more advanced than last year
03:25 < uriel> :(
03:25 <@adg> if we'd been able to do more than one talk, we would have
scheduled a more advanced one
03:26 < uriel> oh, so you mean only one talk by you and rob, rather than one
each?  :((
03:26 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout:
260 seconds]
03:26 <@adg> yeah :/
03:26 <@adg> still, it's not like we have the time to prepare more than one.
very busy at the moment
03:27 < uriel> yea, I can imagine
03:27 < uriel> any surprise announcements planed for google i/o?  (go
related, obviously :))
03:27 -!- espeed [~espeed@63.246.231.57] has joined #go-nuts
03:27 <@adg> no comment :)
03:28 < Jantire> adg, I don't really feel like I'm qualified enough to do an
internship at Google either, for a few reasons, mostly because the language I'm
best with is C#, and I'm still learning that as-is.  But, I've been doing computer
repair over Craigslist since I was 12 (at one point making $600/week), and I have
decent experience with Linux (I've been tinkering with Linux since I was 11, I was
an admin of a ~500 player WoW private server, and
03:28 < Jantire> I used to host a Garry's Mod Server
03:28 < uriel> adg: hehe, cool :))
03:28 < Jantire> but I don't think most of that would be useful to Google
03:28 -!- Emmental [~Emmental@c-69-136-240-113.hsd1.nj.comcast.net] has joined
#go-nuts
03:28 < uriel> adg: and the recording of the qa/presentation at the Oz
gophers meeting?  is that uploaded somewhere yet?
03:28 <@adg> Jantire: sounds like you're on the right track.  just keep
coding ;)
03:29 <@adg> uriel: i tried to upload it to youtube but they had size
restrictions (that for some reason I can't seem to have waived)
03:29 <@adg> uriel: but i will sort it out soon (provided i can get the
permission of the speaker)
03:29 <@adg> uriel: but rest assured, the video is safe and sound.  just
gotta get it out there
03:29 < Jantire> o and I sat in at a lower division Computer Science class
at UCDavis for 6 weeks last summer (ECS30)
03:29 < uriel> ah, awesome
03:29 < Jantire> but
03:30 < Jantire> thats still not enough general knowledge to be useful to a
large company
03:30 < dforsyth> Jantire: go see if ucdavis wants interns for their grad
students
03:30 <@adg> Jantire: what's important at google is not so much knowledge
but wisdom and the ability to learn
03:31 -!- saturnfive [~saturnfiv@219.144.192.121] has left #go-nuts []
03:31 < uriel> Jantire: you might want to apply at Heroku, they are a
startup and they use Go
03:31 <@adg> uriel, Jantire: indeed.  rob visited heroku recently and was
very impressed by what they've been up to
03:31 <@adg> i'm co-authoring a blog post with them discussing their work
03:31 * uriel was going to make some comment on the 'wisdom' of the designers of
Java, python, svn and gwt, but restrains himself ;P
03:32 < Jantire> adg, uriel, I'll do that right now, do they have an office
in SF/Mountain View/Bay Area?
03:32 <@adg> Jantire: in SF
03:32 < uriel> adg: ah, that is very cool
03:32 <@adg> i think 2011 is going to be a great year for go
03:32 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
03:32 * adg is very excited.  =D
03:32 < uriel> adg: would be real cool to get a round of blog posts about
about what various companies are doing with Go
03:33 <@adg> yep, working on it
03:33 < Jantire> adg, Should I make a resume that says all of what I said?
I don't really feel like it's resume-worthy because I have no degree or
certificates (i.e A+ certification)
03:34 <@adg> Jantire: i put all relevant experience on my CV. when you're in
high school nobody expects degrees or certs or whatever.  it's all about
demonstrating enthusiasm and self-motivation
03:34 -!- Emmental [~Emmental@c-69-136-240-113.hsd1.nj.comcast.net] has quit
[Quit: ChatZilla 0.9.86.1 [Firefox 3.6.16/20110323143040]]
03:34 <@adg> uriel: if you have any other suggestions for companies, let me
know.  i'm aware of a handful
03:35 < Jantire> adg, Alright, I'll make one right now
03:36 -!- simply_b__ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has
joined #go-nuts
03:37 <@adg> /c
03:37 <@adg> c
03:37 <@adg> erk, sorry :)
03:37 < uriel> adg: from the top of my head there are the erGo folks, and I
think this Tav guy was working on something
03:37 < uriel> but I think I have heard of a few more, will let you know
if/when I remember
03:38 < uriel> ah, also ron at Sandia Labs is using Go for something, I
think
03:39 -!- simply_b_ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has quit
[Ping timeout: 252 seconds]
03:40 <@adg> yep they are.  for coordinating malware research i believe.  i
intended to speak there on my last trip to the west coast but ran out of time
03:40 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:41 < vsmatck> Hm. Sandia makes nuclear weapons.  I guess if you're cool
with that then go for it.
03:42 < vsmatck> oh blech.  Time to sleep.  I'm out of it.
03:42 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has left #go-nuts []
03:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
03:42 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
03:43 <@adg> i don't see how going to talk to computer programmers is a
tacit approval of nuclear weaponry
03:45 < krutcha1> if anything, those guys can respect the consequences of an
'off by 1'
03:45 -!- espeed [~espeed@63.246.231.57] has quit [Remote host closed the
connection]
03:47 < Jantire> It's okay to not use buzz words on resumes right?
03:53 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has joined
#go-nuts
03:54 < Namegduf> krutcha1: The downside is that they don't understand why
0000 is a bad password.
03:54 < Namegduf> :P
03:54 < krutcha1> haha
04:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:06 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the
connection]
04:10 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
04:13 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
04:15 -!- espeed [~espeed@63.246.231.57] has joined #go-nuts
04:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:23 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 246 seconds]
04:28 -!- sycomonkey [83bf5354@gateway/web/freenode/ip.131.191.83.84] has joined
#go-nuts
04:34 -!- sycomonkey [83bf5354@gateway/web/freenode/ip.131.191.83.84] has quit []
04:34 -!- shvntr [~shvntr@119.121.31.3] has quit [Ping timeout: 276 seconds]
04:35 -!- shvntr [~shvntr@59.35.237.162] has joined #go-nuts
04:40 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
04:41 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
["Leaving"]
04:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
04:42 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
04:44 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
04:45 -!- shvntr [~shvntr@59.35.237.162] has quit [Ping timeout: 260 seconds]
04:46 -!- shvntr [~shvntr@119.121.30.80] has joined #go-nuts
04:54 -!- shvntr [~shvntr@119.121.30.80] has quit [Read error: Operation timed
out]
04:55 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
05:00 -!- shvntr [~shvntr@59.35.239.248] has joined #go-nuts
05:00 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:01 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-hmhrkvpblrbhzftb]
has quit [Ping timeout: 252 seconds]
05:01 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-nnzchicdrqfsgamy]
has joined #go-nuts
05:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:04 -!- shvntr [~shvntr@59.35.239.248] has quit [Client Quit]
05:06 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has quit [Remote
host closed the connection]
05:12 -!- bugQ [~bug@c-67-171-127-76.hsd1.ut.comcast.net] has quit [Remote host
closed the connection]
05:17 -!- photron [~photron@port-92-201-44-226.dynamic.qsc.de] has joined #go-nuts
05:21 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:30 -!- nettok [~quassel@200.119.157.156] has quit [Ping timeout: 276 seconds]
05:35 -!- gtaylor [~gtaylor@99-5-124-9.lightspeed.gnvlsc.sbcglobal.net] has quit
[Quit: gtaylor]
05:38 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
05:41 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
05:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
05:46 < str1ngs> is there away to strip debugging symbols etc?
06:01 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:12 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Ping
timeout: 252 seconds]
06:14 -!- Jantire [~Jantire@c-71-202-156-84.hsd1.ca.comcast.net] has quit [Quit:
Leaving]
06:19 -!- lmoura [~lauromour@187.58.96.23] has quit [Ping timeout: 246 seconds]
06:21 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:21 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed
the connection]
06:22 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts
06:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:24 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has joined #go-nuts
06:25 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Ping
timeout: 264 seconds]
06:25 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has joined
#go-nuts
06:27 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts
06:27 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has quit [Client Quit]
06:28 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts
06:28 -!- lmoura [~lauromour@187.58.110.165] has joined #go-nuts
06:30 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
06:30 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
06:38 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
06:39 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
06:40 -!- tensorpudding [~user@99.32.63.28] has quit [Remote host closed the
connection]
06:41 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
06:42 -!- ako [~nya@fuld-590c7fc0.pool.mediaWays.net] has joined #go-nuts
06:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
06:45 -!- aho [~nya@fuld-590c7114.pool.mediaWays.net] has quit [Ping timeout: 246
seconds]
06:52 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has joined #go-nuts
06:52 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
07:01 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:01 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Quit:
ChatZilla 0.9.86.1 [SeaMonkey 2.1b3pre/20110405231729]]
07:02 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:03 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
07:03 -!- lmoura [~lauromour@187.58.110.165] has quit [Ping timeout: 246 seconds]
07:21 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:22 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:34 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
07:37 -!- virtualsue [~chatzilla@nat/cisco/x-npmbiaxfiwdpiyxk] has joined #go-nuts
07:37 -!- ucasano [~ucasano@81.81.36.49] has joined #go-nuts
07:37 < Namegduf> Hmm.
07:38 < Namegduf> I wonder how hard it would be to make testing import a
"fake" package.
07:38 < Namegduf> For mocking purposes.
07:39 < Namegduf> I'd think it'd just involve writing it and screwing with
include paths at test time.
07:40 < Namegduf> I suppose I should refactor to pass in an interface to be
able to do that, though.
07:41 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
07:42 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
07:43 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has quit [Quit: krolaw]
07:47 -!- rurban [~demo@88-117-14-198.adsl.highway.telekom.at] has joined #go-nuts
07:47 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has joined #go-nuts
07:54 -!- lmoura [~lauromour@187.113.73.226] has joined #go-nuts
07:57 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
08:01 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
08:02 -!- krolaw [~krolaw@124-197-46-180.callplus.net.nz] has quit [Quit: krolaw]
08:03 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
08:09 -!- huin [~huin@91.85.185.181] has joined #go-nuts
08:16 < nsf> hm..  interesting
08:17 < nsf> I'm wondering maybe there is an idea for different kind of
closures
08:17 < nsf> sometimes it's nice to have a callback which can have some data
attached to it
08:18 < nsf> C++ provides you with classes, which are huge
08:18 < nsf> closures are perfect, but the data holded by the closure must
be managed somehow
08:18 < nsf> callbacks with *void are ok, but not typesafe
08:19 < nsf> maybe another solution?
08:19 < nsf> probably a bit of syntax sugar to describe a bunch of data and
attach a function to it
08:20 < nsf> it could work as a replacement for closures :)
08:20 < nsf> hm..
08:20 < nsf> yeah, I'm inventing C++0x lambdas :)
08:21 < skelterjohn> i'm not understanding the deficiency of closures
08:21 < nsf> they hold data
08:21 < nsf> without garbage collector
08:21 < nsf> someone should manage that data
08:21 < skelterjohn> what does that mean "without garbage collector"
08:21 < nsf> it means without garbage collector
08:22 < skelterjohn> stuff tossed around in closures is still memory safe
08:22 < nsf> name one language without garbage collector and with full
closures support
08:22 < skelterjohn> oh i understand
08:22 < skelterjohn> you're talking about not-go
08:22 < nsf> as usual :(
08:23 < nsf> I'm looking for an alternative approach for closures
08:23 < nsf> looks like C++0x lambdas is the best I got
08:23 < skelterjohn> if you're going collector-free then you could just
depend on the programmer to do it
08:23 < skelterjohn> and have full closure support
08:23 < skelterjohn> but it would be hard to write good code, i think
08:23 < nsf> x := func() int { ...  }
08:24 < nsf> free(x);?
08:24 < nsf> hm..
08:24 < nsf> interesting idea
08:24 < skelterjohn> that's not where i was going
08:24 < skelterjohn> but sure
08:25 < nsf> or closures can even be stored on a stack
08:25 < nsf> like C++0x lambdas do it
08:25 < nsf> hm..
08:26 < skelterjohn> you could require closers to only refer to pointers?
08:26 < skelterjohn> something more general, a function can only refer to
stuff outside its scope if it's a pointer or a global
08:27 -!- idea_squirrel [~idea_squi@178-26-75-2-dynip.superkabel.de] has joined
#go-nuts
08:27 < skelterjohn> not very satisfying, but makes memory clean-up more
obvious
08:27 < skelterjohn> it's what go does under the hood anyway
08:27 -!- ascy [~ascy@210.25.133.24] has joined #go-nuts
08:28 < nsf> or another kind of interesting solution
08:28 < nsf> closures are functions with chunk of data
08:28 < nsf> but if I have a struct with a method
08:28 < nsf> say:
08:28 < nsf> type X struct { a, b, c int; }
08:29 < nsf> func (*X) MethodX(s string) bool
08:29 < nsf> I can't use an instance of that struct and its method
08:29 < nsf> as a closure func(s string) bool
08:29 < nsf> it would be nice to allow that O_o
08:30 < nsf> for example:
08:30 < nsf> type Func func(string) bool;
08:30 < nsf> func DoSomething(ss []string, x Func)
08:30 < nsf> then
08:30 < nsf> x := &X{1, 2, 3};
08:31 < nsf> DoSomething([]string{"1", "2", "3"}, x.MethodX)
08:31 < nsf> the main point is using struct with a method as a closure :)
08:31 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Quit:
itrekkie]
08:31 < nsf> without having any real closures syntax
08:31 < nsf> like Go has
08:32 < nsf> it won't be as useful
08:32 < nsf> but it does its job
08:32 < skelterjohn> sort of half-way to java's solution
08:32 < nsf> most of the time if you're writing something that works with
context, you have a struct which represents that context and methods for it
08:32 < nsf> but then you have a callback API somewhere
08:32 < skelterjohn> only because most of the time, you can't create a real
closyre
08:32 < skelterjohn> closure
08:33 < nsf> you can simply write a method and use it
08:33 < nsf> hm..
08:33 < nsf> but "real" closures are just syntax sugar for that
08:33 < nsf> capturing variables, creating data context, attaching function,
using it
08:33 < skelterjohn> it's more than sugar at this point
08:34 < skelterjohn> especially in go
08:34 < taruti> stupid Go. Now I am omitting "break"s in C code too and then
wondering why it crashes...
08:34 < skelterjohn> since it drops those variables onto the heap, if they
weren't there already
08:34 < nsf> skelterjohn: it's a detail
08:34 < skelterjohn> everything is details
08:34 < skelterjohn> but calling closures sugar is false
08:34 < nsf> Go can't do escape analysis to leave these vars on a stack
08:35 < nsf> at the moment
08:35 < nsf> I believe it's possible
08:35 < skelterjohn> it would slow down the vaunted compile time
08:35 < skelterjohn> certainly it's possible to an extent
08:35 < skelterjohn> many grad students spend years on this topic
08:36 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
08:36 -!- boscop_ [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
08:38 -!- ascy [~ascy@210.25.133.24] has left #go-nuts []
08:38 -!- boscop_ [~boscop@f050135186.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
08:38 -!- boscop_ [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
08:43 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has joined #go-nuts
08:43 < raylu> i'm back with more questions about make
08:43 < raylu> including Make.inc doesn't seem to work if i have multiple
things i want to build.  what should i do?
08:44 < raylu> in particular, i have a project with two dependencies and i'd
prefer not to run make recursively in them
08:45 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has joined
#go-nuts
08:53 < skelterjohn> http://go-gb.googlecode.com
08:53 < skelterjohn> the template makefiles are for single-target projects
08:53 < skelterjohn> gb is being replaced with a new version of gomake,
eventually.  i can't say when.
08:54 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:15d7:741:210d:4930] has joined
#go-nuts
08:56 -!- boscop_ [~boscop@f050135186.adsl.alicedsl.de] has quit [Ping timeout:
246 seconds]
08:56 -!- rurban [~demo@88-117-14-198.adsl.highway.telekom.at] has quit [Ping
timeout: 240 seconds]
08:57 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
08:57 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
08:58 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
08:59 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has quit [Excess Flood]
09:00 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
09:05 -!- lmoura [~lauromour@187.113.73.226] has quit [Ping timeout: 246 seconds]
09:09 < raylu> o.0
09:09 < raylu> auth.go:4: imported and not used: irc
09:09 < raylu> auth.go:47: undefined: irc
09:09 < Namegduf> I've seen that before, but I don't remember what horrible
mistake I made.
09:09 < Namegduf> Pastebin?
09:09 < skelterjohn> some context would be nice
09:09 < skelterjohn>
http://seawitchery.tumblr.com/post/4070384205/i-started-out-clicking-strategically-and-by-the
09:10 < skelterjohn> ^wonderful amazing thing to do for a minute
09:10 < raylu> i used go-gb.  one of my imports is - irc
"github.com/fluffle/goirc/client"
09:10 < raylu> which used to be "make install"-ed to go/pkg/...
09:10 < skelterjohn> try running "gb -g"
09:11 < Namegduf> Pastebin?
09:11 < skelterjohn> it will goinstall anything that needs to be
09:11 < skelterjohn> but also, pastebin
09:11 < raylu> i'd rather not use goinstall.  the source for that is in my
directory structure.  it was compiled successfully in _obj/
09:11 < raylu> the import broke, but i thought renaming it to irc.a and
changing the import to "irc" would do the trick
09:12 < skelterjohn> if there is a file
$GOROOT/pkg/$GOOS_$GOARCH/github.com/fluffle/goirc/client.a then it should be fine
09:13 < skelterjohn> but you should really pastebin your code
09:13 < skelterjohn> because it doesn't seem like a builder issue
09:13 < Namegduf> I am now vomiting rainbows.
09:13 < raylu> well, changing the import to: irc "client"
09:14 < raylu> fixed it.  (and leaving the file at _obj/client.a)
09:14 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has quit [Ping timeout: 260
seconds]
09:14 < raylu> i wasn't aware the imports were by more than just file name
09:14 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
09:15 < skelterjohn> raylu: having an imported library that is not backed by
source and a build script is a recipe for hardship
09:15 < raylu> it is backed by source
09:15 < raylu> and i'm currently generating the build script :P
09:15 < skelterjohn> but the path of an import doesn't matter, as long as it
points to the same file
09:16 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
09:17 < raylu> the path doesn't, but there is apparently some metadata in
the file that describes the name of the import
09:17 -!- krolaw [~krolaw@203.100.208.229] has joined #go-nuts
09:18 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has joined #go-nuts
09:18 -!- boscop [~boscop@f050135186.adsl.alicedsl.de] has quit [Excess Flood]
09:18 < skelterjohn> oh, and putting the library in _obj/client.a is an
especially bad idea, with gb
09:18 < skelterjohn> since a clean will remove that directory
09:19 < raylu> don't i want that to happen?
09:19 < raylu> oh wait, then the program fils to run, eh?
09:19 < raylu> *fails
09:19 < skelterjohn> if you want it to do a local link of the client lib,
put the client code in your project
09:20 < raylu> the client code is in my project, but in a subdirectory:
09:20 < raylu> er, disregard the :
09:23 -!- tav [~tav@92.7.121.92] has quit [Ping timeout: 246 seconds]
09:23 -!- lmoura [~lauromour@187.113.73.226] has joined #go-nuts
09:26 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Quit: Leaving]
09:29 -!- ucasano [~ucasano@81.81.36.49] has quit [Quit: ucasano]
09:30 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
09:30 -!- tav [~tav@92.7.142.193] has joined #go-nuts
09:39 -!- aho [~nya@fuld-590c7fc0.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
09:42 -!- tvw [~tv@e176002018.adsl.alicedsl.de] has joined #go-nuts
09:44 -!- katakuna [~pie@kjal.demon.co.uk] has joined #go-nuts
09:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
09:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
09:46 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
09:47 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
09:47 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
09:48 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Read
error: Connection reset by peer]
09:48 -!- skejoe [~skejoe@89.249.0.154] has quit [Quit: Lost terminal]
10:01 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
10:03 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:23 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:24 -!- edsrzf [~chickench@122-61-221-144.jetstream.xtra.co.nz] has quit [Remote
host closed the connection]
10:25 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:30 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has joined
#go-nuts
10:32 -!- virtualsue [~chatzilla@nat/cisco/x-npmbiaxfiwdpiyxk] has quit [Ping
timeout: 240 seconds]
10:43 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has quit [Ping
timeout: 276 seconds]
10:43 -!- crodjer [~rohanjain@203.110.240.205] has quit [Remote host closed the
connection]
10:43 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
10:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
10:49 -!- krolaw [~krolaw@203.100.208.229] has quit [Quit: krolaw]
10:53 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
10:53 -!- KBme [~KBme@2001:470:1f13:94::3] has quit [Excess Flood]
10:54 -!- KBme [~KBme@2001:470:1f13:94::3] has joined #go-nuts
10:57 -!- zimsim [~simon@87.72.77.195] has quit [Read error: Operation timed out]
10:59 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-101.clienti.tiscali.it] has
joined #go-nuts
11:02 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
11:03 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:11 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has joined #go-nuts
11:14 -!- zimsim [~simon@87.72.77.195] has joined #go-nuts
11:19 -!- sergeykish [~sergeykis@217.12.213.109] has joined #go-nuts
11:21 < sergeykish> hello, how to split space separated string?  input data
" 25 0 x8r8g8b8 ", strings.Split(string(buf), " ", -1) gives me "[]string{"", "",
"", "", "", "", "", "", "", "32", "", "", "", ..."
11:21 -!- TheColonial [~oj@115-64-213-55.static.tpgi.com.au] has left #go-nuts []
11:21 < aiju> sergeykish: Fields
11:24 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:25 < sergeykish> aiju: this fields
http://golang.org/src/pkg/net/dict/dict.go?h=fields#L146 ?
11:25 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:25 < aiju> strings.Fields
11:27 < sergeykish> thanks
11:34 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Remote
host closed the connection]
11:38 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
11:44 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
11:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
11:48 < exch> http://russ.cox.usesthis.com/
11:51 < Namegduf> The last section is interesting.
11:51 < Namegduf> It's one reason I like heavy use of screen/tmux (all my
major work is in it, as is irssi, through all textual messages are fed)
11:52 < Namegduf> Wherever I connect from, it's in the same state I left it.
11:56 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
12:01 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
12:03 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
12:04 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:20 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Operation timed out]
12:21 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
#go-nuts
12:23 < sergeykish> is it possible to disable "declared and not used" error?
12:23 -!- crodjer [~rohanjain@203.110.240.205] has joined #go-nuts
12:24 < Namegduf> No.
12:24 < sergeykish> it requires me to rewrite program just because I want to
make simple test and return back
12:25 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:29 < str1ngs> sergeykish: func useMe(a interface{}) {}
12:30 < sergeykish> thanks
12:30 < exch> or '_ = myunusedvar'
12:31 < str1ngs> I like exch's better
12:34 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Quit:
Leaving]
12:34 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
12:40 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout:
252 seconds]
12:44 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
12:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
12:58 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
13:03 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
13:04 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
13:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
13:07 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has joined
#go-nuts
13:08 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has joined #go-nuts
13:08 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Excess Flood]
13:09 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
13:14 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout:
276 seconds]
13:14 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
13:16 < exch> "runtime error: comparing uncomparable type []interface { }"
Shouldn't this just do a pointer comparison?
13:16 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has quit [Ping
timeout: 248 seconds]
13:17 < Namegduf> Slices are not comparable.
13:17 < Namegduf> That is a slice.
13:18 -!- thomas_b [~thomasb@cm-84.215.47.51.getinternet.no] has joined #go-nuts
13:18 < exch> meh
13:18 < Namegduf> I think the concern was that some people would expect
pointer and len, others would expect pointer, len, and cap to match
13:18 < Namegduf> Just pointer wasn't even suggested at the time it was
mentioned, so I guess that demonstrates the issue.
13:19 < sergeykish> how to write to file string and not its buffer (as
.WriteString do)?
13:19 < Namegduf> Perhaps you should compare the address of the first item?
13:19 < Namegduf> Use WriteString, call Close() when done
13:20 < Namegduf> If there's some reason that doesn't work for you, try to
be more explicit and maybe a bit more grammatically correct, kinda hard to read.
:P
13:20 < sergeykish> it writes all 256 buffer bytes
13:20 < Namegduf> Oh.
13:20 < Namegduf> I think you are using your string wrong
13:20 < Namegduf> Strings are immutable, there's no point making them extra
big so you can fill them up to a certain size
13:21 < Namegduf> Modifying a string uses a copy anyway
13:21 < Namegduf> It sounds like you want to use a []byte
13:21 < Namegduf> At any rate, to write part of a string or slice, not the
whole thing, slice it.
13:21 < sergeykish> buf := make([]byte, 256), f.Read(buf),
anotherf.WriteString(string(buf))
13:21 < Namegduf> Erm
13:21 < Namegduf> Just use Write
13:22 < Namegduf> Not WriteString
13:22 < Namegduf> string(buf) copies buf
13:22 < Namegduf> WriteString copies it again to convert it back into a
[]byte
13:22 < Namegduf> Anyways.
13:22 < sergeykish> and changes type, cannot use name (type string) as type
[]uint8 in function argument
13:22 < Namegduf> Read() returns stuff.
13:22 < Namegduf> Don't convert it to a string, either.
13:23 < exch> f.Read() should return the number of characters read.  You can
use that to determine how much of buf to write
13:23 < Namegduf> Write takes a []byte
13:23 < Namegduf> Read() returns stuff.
13:23 < Namegduf> Use that.
13:23 < Namegduf> That is the solution to your original issue.
13:23 < Namegduf> In general, Write and Read both use []byte
13:23 < Namegduf> You don't need to convert to string anywhere in piping
stuff between them
13:24 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
13:24 < sergeykish> Namegduf: I can't return []uint8 and return argument :(
13:24 < Namegduf> That doesn't make sense.
13:24 < exch> If you are copying all content of file a to b, you can just
use io.Copy(dest, src)
13:24 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout:
246 seconds]
13:25 < Namegduf> buf := make([]byte, 256); num, err := f.Read(buf); /*
Error check goes here.  */ anotherf.Write(buf[:num])
13:25 < sergeykish> exch: I data from first file, mix with other data and
put no another
13:25 < exch> ah ok
13:25 < Namegduf> Not being able to return a []byte sounds like a fairly
obvious conflict with your function's return value, whatever is going on
13:25 < Namegduf> I leave that to you to fix
13:26 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
13:26 < Namegduf> I don't know your design
13:27 < sergeykish> aha, I had to change return value to []byte
13:28 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
13:28 < sergeykish> same, fd.Write([]byte) writes all the 256 bytes
13:30 < Namegduf> I suggest looking at the line where I wrote out a version
of your example that would work again.
13:30 < Namegduf> buf is just a slice pointing to a block of 256 bytes.  It
has no magic idea of how "full" it is aside len, which you're not changing.
13:30 < sergeykish> [:num]
13:30 < sergeykish> oh
13:31 < Namegduf> An alternative is to say buf = buf[:num] after the Read
13:31 < Namegduf> And the error check
13:31 < Namegduf> Which will mean buf's len is set right
13:31 < Namegduf> You will have to use buf[:cap(buf)] whenever reading from
f again if you are looping, though.
13:34 < sergeykish> got it, thanks
13:34 -!- karpar [~user@112.96.254.18] has joined #go-nuts
13:35 < Namegduf> Great.
13:40 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
13:43 < aiju> Namegduf: i've been told to ask you about a concurrent IRC
server
13:43 < Namegduf> Aha.
13:43 < Namegduf> Sure.
13:44 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
13:45 < Namegduf> I warn you that my server is not hugely idiomatic due to
tricky cases here and there (writes cannot block other clients, but you need to
send large writes at the rate it can receive in some cases, etc) and a desire for
non-blocking reads so at least SOME of the work can actually be parallelised
13:45 < Namegduf> I could throw you a link and you could tell me why you
hate it
13:45 < aiju> hahaha
13:45 < Namegduf> Er, non-mutexed/single channel reads
13:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
13:46 < Namegduf> Oh, it's excessively modular by design- I intend to
actually use it as a backend to a mostly web-based system, plus interface it with
any messaging system that will sit still long enough
13:46 < Namegduf> And have it actually work *well*
13:46 < aiju> how many goroutines do you use?
13:47 < Namegduf> One per client base, two per client when it switches over
to buffered I/O because writes are too slow
13:47 < aiju> none per channel?
13:47 < Namegduf> No.
13:48 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has quit [Ping
timeout: 260 seconds]
13:48 < Namegduf> The core works basically as a black box thing which stores
state and calls hooks on state changes, while being concurrency safe.
13:48 < aiju> i'm in the middle of writing one
13:48 < aiju> which uses one goroutine per channel and two goroutines per
user
13:49 < aiju> all goroutines have their own private state
13:49 < Namegduf> The problem with that is that ban checks on a channel
can't be done in parallel, for example
13:49 < Namegduf> Still, multiple channels can work in parallel, which is
good.
13:49 < Namegduf> Any thought applied to synchronising when linking?
13:49 < Namegduf> (It's hard.)
13:50 < aiju> synchronising?
13:50 < Namegduf> Server linking.
13:50 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
joined #go-nuts
13:50 < Namegduf> You need to reproduce your state and throw it across the
link
13:50 < aiju> i don't do that ;P
13:50 < Namegduf> You do something smarter, or you don't link?
13:51 < aiju> i don't link
13:52 < Namegduf> I got the basics of linking working, including multiple
concurrent links.  It isn't pretty and it probably involves a lot more
synchronising internally than actual work, but it doesn't lock the server.
13:52 < Namegduf> Only thing it locks is user and channel
additions/deletions, and one at a time.
13:52 < Namegduf> Normal IRC servers can't do that at all.
13:52 -!- karpar [~user@112.96.254.18] has quit [Ping timeout: 258 seconds]
13:52 < Namegduf> And bursting is *slow*, and can take measurable amounts of
time on large networks.
13:53 < Namegduf> Locks could refer to holding a goroutine as well as a
mutex; I use mutexes but the concept is similar.
13:54 < Namegduf> Hmm.
13:54 < Namegduf> A channel goroutine is sensible if you can avoid deadlock.
13:55 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has joined
#go-nuts
14:00 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has quit [Ping
timeout: 252 seconds]
14:00 -!- rutkowski [~adrian@078088202167.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
14:02 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds]
14:04 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
14:04 < napsy> I need help with bitwise operations ..  I get the wrong value
of 75 instead of 4839.  What's wrong with this code?  http://pastie.org/1778927
14:04 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Ping timeout:
260 seconds]
14:05 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
14:07 < napsy> nevermind, fixed
14:11 < skelterjohn> morning
14:15 -!- niemeyer [~niemeyer@189-10-155-52.pltce701.dsl.brasiltelecom.net.br] has
quit [Ping timeout: 240 seconds]
14:15 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
14:17 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Quit: leaving]
14:17 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
14:24 < skelterjohn> raylu: if the client pkg is in a subdirectory named
"client", you shouldn't have to do anything special
14:25 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has joined #go-nuts
14:31 -!- LuitvD [~me@beigetower/luitvd] has joined #go-nuts
14:37 < LuitvD> anyone here well known with the asn1 package?
14:42 < kamaji> awww I broke everything.
14:42 < kamaji> craaaap
14:42 < kamaji> I did a "hg update -r tip" in my ~/go, do I need to do
anything else or should it work?
14:44 < LuitvD> kamaji: cd src;./all.bash would be nice
14:44 < LuitvD> kamaji: but what did you break/?
14:45 < kamaji> err, can't remember the exactly message now
14:45 < kamaji> something about runtime.chanrecv(0) undefined
14:45 < kamaji> or something like that
14:46 < kamaji> it was a linker error
14:49 < skelterjohn> kamaji: hg pull -u; ./make.bash
14:50 < huin> hm.  i'm either doing something really silly and wrong, or i'm
tripping some weird Go compiler bug
14:51 < huin> log output shows a variable as being <nil>, but
comparing it to nil gives what appears to be the wrong result
14:54 < huin> http://pastie.org/private/obefqw1mkr3nttumhj7w
14:54 < kamaji> skelterjohn: oh I did all.bash
14:54 < kamaji> i'll use that next time though..
14:54 < huin> chunkReader, err := mgr.chunkStore.LoadChunk(loc) produces
nil, nil
14:55 < huin> but for some reason expressions on following lines like
`chunkReader == nil` come up false
14:55 < huin> despite the log output showing the value distinctly as
<nil>
14:57 < huin> poking at it with GDB but running into my limits of knowledge
14:59 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 248 seconds]
15:03 < exch> weird
15:03 < exch> I can't really find a reason for that behaviour from the
pasted code
15:03 < huin> nor me :/
15:04 < huin> i'm looking at disassembly output in GDB and hoping to
understand
15:04 < huin> got my breakpoint on the `if chunkReader == nil {` line
15:05 < huin> disassembly shows the PC being just following a call to
log.Printf
15:06 < huin> followed by some ASM that i don't totally understand, but it
looks like it's loading a value from the stack frame (a local, presumably) into
ebx, comparing it with zero, then doing a JNE to several instructions later
15:06 < huin> cmpl $0x0,(%ebx) being the compare instruction
15:07 < huin> ebx contains a non-zero value
15:10 -!- virtualsue [~chatzilla@nat/cisco/x-tnldkitopxmfdhaf] has joined #go-nuts
15:13 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
15:16 -!- foocraft [~dsc@dyn-86-36-42-99.wv.qatar.cmu.edu] has quit [Quit:
Leaving]
15:20 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has joined
#go-nuts
15:22 < skelterjohn> kamaji: make.bash just doesn't run the tests
15:23 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
15:25 -!- simply_b_ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has joined
#go-nuts
15:30 -!- simply_b__ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has quit
[Ping timeout: 264 seconds]
15:30 < kamaji> ah right
15:32 -!- nettok [~quassel@200.119.177.100] has joined #go-nuts
15:39 -!- rurban [~demo@212-41-246-234.gries.xdsl-line.inode.at] has quit [Ping
timeout: 276 seconds]
15:40 < str1ngs> who uses all.bash :P
15:40 < exch> I do :p
15:40 < str1ngs> ping me when something fails :P
15:40 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
15:45 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
15:47 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Client
Quit]
15:48 < nsf> new issues system on github
15:48 < nsf> niiiice
15:49 < nsf> looks really cool
15:51 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
15:52 < huin> nifty
15:52 < huin> blocked by weird behaviour of my code - sadness
15:53 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
15:55 < skelterjohn> what has changed?
15:56 < nsf> skelterjohn:
https://github.com/blog/831-issues-2-0-the-next-generation
16:05 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has quit [Ping timeout: 276
seconds]
16:05 -!- Netsplit *.net <-> *.split quits: mdxi, Glasswalker, groves,
Count_Niedar, cw_, zeroXten, nickbp, @adg, tsung, kanru, (+2 more, use /NETSPLIT
to show all of them)
16:07 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
16:07 -!- Netsplit over, joins: groves, Glasswalker, Count_Niedar, ahihi2, tsung,
nickbp, zeroXten, kanru, Cobi, cw_ (+2 more)
16:08 -!- rurban [~demo@88-117-9-181.adsl.highway.telekom.at] has joined #go-nuts
16:10 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has joined #go-nuts
16:11 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
16:14 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
16:14 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
16:17 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
16:17 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has quit [Ping timeout: 246
seconds]
16:17 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Ping
timeout: 246 seconds]
16:17 -!- SecretAgent [sa@28.158.143.98.nitemare.name] has joined #go-nuts
16:18 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
16:19 -!- virtualsue [~chatzilla@nat/cisco/x-tnldkitopxmfdhaf] has quit [Ping
timeout: 276 seconds]
16:19 < huin> how does Go pass parameters to a directly called function when
compiled with 8g?
16:20 -!- zozoR2 [~Morten@5634631b.rev.stofanet.dk] has joined #go-nuts
16:20 < huin> that is - what sort of ASM sequence does it use?
16:20 -!- sacho_ [~sacho@87-126-50-194.btc-net.bg] has joined #go-nuts
16:20 < taruti> huin: all parameters on stack
16:21 < huin> ta :)
16:21 < taruti> just look at the assembler functions in the source (e.g.
package runtime)
16:23 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
16:23 -!- GilJ_ [~GilJ@zeus.ugent.be] has joined #go-nuts
16:23 -!- boscop [~boscop@f055160016.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
16:23 -!- zozoR [~Morten@5634631b.rev.stofanet.dk] has quit [Ping timeout: 246
seconds]
16:23 -!- sacho [~sacho@87-126-50-194.btc-net.bg] has quit [Ping timeout: 246
seconds]
16:23 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has quit [Ping timeout: 246
seconds]
16:23 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds]
16:23 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has quit [Ping
timeout: 246 seconds]
16:23 -!- GilJ [~GilJ@zeus.ugent.be] has quit [Ping timeout: 246 seconds]
16:23 -!- krutcha1 [~krutcha@S010600045a27676a.vs.shawcable.net] has joined
#go-nuts
16:23 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
16:23 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has quit [Read error:
Connection reset by peer]
16:24 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
16:24 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
16:24 -!- boscop_ [~boscop@f055160016.adsl.alicedsl.de] has joined #go-nuts
16:24 < aiju> register passing is hell
16:24 -!- evildho [~dho@onager.omniti.com] has quit [Ping timeout: 246 seconds]
16:24 -!- evildho [~dho@onager.omniti.com] has joined #go-nuts
16:25 -!- tvw [~tv@e176002018.adsl.alicedsl.de] has quit [Ping timeout: 246
seconds]
16:25 < huin> figured it was stack driven...  although my ASM knowledge is
really really minimal so i'm having trouble reading my compiled code
16:30 -!- idea_squirrel [~idea_squi@178-26-75-2-dynip.superkabel.de] has quit
[Remote host closed the connection]
16:33 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts
16:33 -!- simply_b__ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has
joined #go-nuts
16:34 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
16:34 -!- photron [~photron@port-92-201-44-226.dynamic.qsc.de] has quit [Ping
timeout: 240 seconds]
16:34 -!- photron [~photron@port-92-201-44-226.dynamic.qsc.de] has joined #go-nuts
16:34 -!- simply_b_ [~simply_b@66-189-220-223.dhcp.knwc.wa.charter.com] has quit
[Ping timeout: 240 seconds]
16:34 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
16:34 < skelterjohn> don't do it
16:35 < huin> it's okay.  i'm not doing anything much right now :)
16:35 -!- MX80 [~MX80@74.117.253.151] has quit [Ping timeout: 240 seconds]
16:36 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has joined #go-nuts
16:38 -!- JusticeFries [~JusticeFr@c-24-9-171-36.hsd1.co.comcast.net] has quit
[Quit: JusticeFries]
16:42 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has quit [Ping
timeout: 276 seconds]
16:44 -!- dfr|mac_work [~dfr|work@c-68-51-74-246.hsd1.il.comcast.net] has joined
#go-nuts
16:46 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has joined
#go-nuts
16:52 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has joined #go-nuts
16:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
16:54 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
16:54 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
16:55 < huin> repeat of a question, but i've long run out of ideas:
http://pastie.org/private/obefqw1mkr3nttumhj7w
16:56 < huin> the function shown runs lots of times fine, but when
chunkReader is assigned a nil value from chunkStore.LoadChunk() it starts
misbehaving and not seeming to see that the value is nil
16:56 < huin> despite the logging showing that the value is clearly nil,
comparisons do not
16:57 -!- mdxi [~mdxi@li11-97.members.linode.com] has quit [Read error: Operation
timed out]
16:57 -!- groves [~groves@76.14.87.155] has quit [Read error: Operation timed out]
16:58 -!- skejoe [~skejoe@89.249.0.154] has quit [Quit: Lost terminal]
16:59 -!- virtualsue [~chatzilla@nat/cisco/x-xbenhbwwyrbkgesm] has joined #go-nuts
16:59 -!- skejoe [~skejoe@89.249.0.154] has joined #go-nuts
16:59 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has joined #go-nuts
17:00 -!- mdxi [~mdxi@li11-97.members.linode.com] has joined #go-nuts
17:01 -!- groves [~groves@76.14.87.155] has joined #go-nuts
17:02 < str1ngs> huin: use fmt.Printf("%T = %v",chunkReader,chunkReader) see
if it knows the type
17:02 < str1ngs> if type is <nil> then that might be the issue
17:03 -!- nickbp [~eqoaq@216.93.241.7.askonline.net] has quit [Read error:
Operation timed out]
17:03 < huin> willdo
17:04 -!- ampleyfl1 [ampleyfly@gateway/shell/blinkenshell.org/x-cwjuafmwcqyhmmmo]
has joined #go-nuts
17:04 -!- ampleyfly [ampleyfly@gateway/shell/blinkenshell.org/x-nnzchicdrqfsgamy]
has quit [Ping timeout: 246 seconds]
17:05 < huin> str1ngs: "*chunkstore.chunkReader = <nil>"
17:05 -!- matti__ [~mumboww@c-24-6-22-101.hsd1.ca.comcast.net] has joined #go-nuts
17:05 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has quit [Ping
timeout: 246 seconds]
17:05 -!- raylu [raylu@c-24-131-193-106.hsd1.pa.comcast.net] has joined #go-nuts
17:05 < exch> it's an external package?
17:05 < huin> where chunkstore.chunkReader is in a different package and is
a struct
17:05 < exch> cos 'chunkReader' is a private type which might cause some
additional issues.
17:05 < str1ngs> huin: are you using and goroutines?  that could change that
?
17:06 < huin> yes, using goroutines...  although it would be a bit of work
to isolate this code from them
17:06 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
17:07 < huin> exch: the return type is a public interface type...  if that
makes any difference
17:07 -!- nickbp [~eqoaq@216.93.241.7.askonline.net] has joined #go-nuts
17:07 < huin> tbh could make the struct public and return that type directly
17:07 < exch> if the value your chunkReader thing points to is modified
between retrieving it and one of the == nil checks, you have race issues
17:07 < huin> only one implementation
17:07 < huin> exch: isn't chunkReader just a local stack variable?
17:07 -!- btipling [~btipling@unaffiliated/sk/x-5968384] has quit [Ping timeout:
246 seconds]
17:07 -!- jnwhiteh [~jnwhiteh@WoWUIDev/WoWI/Featured/Dongle/cladhaire] has quit
[Ping timeout: 246 seconds]
17:07 < exch> if the interface it represents is public, that shouldn't be an
issue
17:08 < str1ngs> I'd say it a goroutine issue
17:08 < exch> Well, it is local, but it points to something returned by the
method
17:08 -!- btipling [~btipling@unaffiliated/sk/x-5968384] has joined #go-nuts
17:08 < Namegduf> Doesn't matter
17:08 -!- jnwhiteh_ [~jnwhiteh@li37-84.members.linode.com] has joined #go-nuts
17:08 < huin> although the object returned should be private to the calling
goroutine anyway
17:08 < exch> if that value it points to is modified /deleted by another
goroutine, things go tits up
17:08 < Namegduf> == nil compares the interface, not the thing it points to
17:09 -!- arun_ [~arun@unaffiliated/sindian] has quit [Ping timeout: 246 seconds]
17:09 -!- nettok [~quassel@200.119.177.100] has quit [Ping timeout: 264 seconds]
17:10 -!- dfr|mac [~dfr|work@c-68-51-74-246.hsd1.il.comcast.net] has quit [Ping
timeout: 246 seconds]
17:11 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.4]
17:12 -!- dfr|mac [~dfr|work@c-68-51-74-246.hsd1.il.comcast.net] has joined
#go-nuts
17:12 -!- tav [~tav@92.7.142.193] has quit [Ping timeout: 246 seconds]
17:12 -!- JusticeFries [~JusticeFr@78.sub-75-196-227.myvzw.com] has joined
#go-nuts
17:13 < huin> just to put some considerations to bed, i commented out the
public interface, made the struct public and used the struct pointer throughout
and the error still occurs with "*chunkstore.ChunkReader = <nil>"
17:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
17:14 * huin puts things back
17:14 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
17:14 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
17:16 < exch> I'm still puzzeled.  the problem doesnt become appearant from
the pasted code.  I'd have to go with Namegduf on this and wager that it's an
issue with the goroutines.  A race condition is occurring somewhere
17:16 < huin> i rather hope not :/
17:16 < huin> maybe i can try to isolate this lump of code.  it's not in
itself goroutine'd
17:18 -!- sergeykish [~sergeykis@217.12.213.109] has quit [Ping timeout: 240
seconds]
17:18 -!- sergeykish [~sergeykis@217.12.213.109] has joined #go-nuts
17:19 -!- tav [~tav@92.7.142.193] has joined #go-nuts
17:19 -!- rbraley [~rbraley@114.250.85.173] has quit [Ping timeout: 240 seconds]
17:20 < huin> even a race condition doesn't make much sense to me
17:20 -!- `micro` [~quassel@96-42-224-166.dhcp.roch.mn.charter.com] has quit [Read
error: Connection refused]
17:21 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
17:21 -!- `micro` [~quassel@96-42-224-166.dhcp.roch.mn.charter.com] has joined
#go-nuts
17:22 -!- rbraley [~rbraley@114.250.85.173] has joined #go-nuts
17:25 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts
17:27 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
17:28 < huin> okay, isolated it from goroutines into a much smaller lump of
code and it's still broken
17:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
17:35 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
17:36 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has quit [Ping
timeout: 260 seconds]
17:37 -!- vsayer [~vivek@2001:470:1f04:1a6b:21a:6bff:fe35:d2a5] has joined
#go-nuts
17:37 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
17:41 -!- foocraft [~dsc@86.36.49.200] has joined #go-nuts
17:46 < jessta_> huin: does LoadChunk() return an interfcace value?
17:46 < huin> yes
17:50 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Quit: Leaving]
17:50 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Operation timed out]
17:52 -!- JusticeFries [~JusticeFr@78.sub-75-196-227.myvzw.com] has quit [Quit:
JusticeFries]
17:52 < jessta_> ah you sure it's returning a nil and not an interface
containing a nil value?
17:52 < huin> what do you mean by the latter case?
17:52 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
17:53 < huin> as in..  how do you construct one versus the other
17:54 < vsmatck> Hm. Anyone have a issue with godoc taking up 100% of a CPU
and increasing in memory by 1mB every few seconds?
17:54 < huin> vsmatck: i think there's a known bug regarding a deadlock in
the malloc or something
17:55 < huin> http://code.google.com/p/go/issues/detail?id=1650
17:55 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
17:56 < vsmatck> Hm. Maybe this is related to what I've been seeing in my
application also.  Memory never seems to free.  Get up to about 512mB and get a
crash because memory can't be allocated.
17:57 < jessta_> huin: if you return a value of a non interface type that is
set to nil from a function that returns an interface
17:57 < huin> that sounds like what i'm doing
17:58 < huin> is the interface some sort of wrapper "object"?
18:00 < exch> it is
18:00 < huin> ah
18:00 -!- vsayer [~vivek@2001:470:1f04:1a6b:21a:6bff:fe35:d2a5] has quit [Read
error: Operation timed out]
18:01 < huin> cool.  that seems to have fixed that.  thanks all :)
18:01 < huin> that was...  subtle
18:01 < jessta_> huin:
http://research.swtch.com/2009/12/go-data-structures-interfaces.html
18:03 < huin> ahh
18:03 < huin> so these itables i've vaguely heard about are like vtables in
C++...  and only exist for interfaces then?
18:04 < huin> that makes a lot more sense
18:05 < jessta_> it's only subtle if your coming from a language where
interfaces aren't runtime types
18:05 < vsmatck> I think my bug may be different.
18:05 < huin> that'll be the case with me i expect
18:05 < vsmatck> If it was deadlock it'd throw the deadlock message.  My
godoc stays at 100% CPU and leaks memory like crazy.
18:05 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
18:06 < jessta_> vsmatck: which version?
18:06 < vsmatck> Can anyone try this?  Go to a package page (I'm using
pkg/reflect) and hold down F5 for a few seconds.
18:06 < vsmatck> rev 8040
18:07 < huin> which compiler?  8g?  6g?  which OS?
18:07 < vsmatck> 8g, debian linux 32bit squeeze
18:07 < huin> 8g ubuntu here, so sounds similar
18:08 < vsmatck> I think I'll just put my "how to reproduce" under that bug.
Not sure if it's the same bug or not.
18:08 < huin> vsmatck: i got a "unexpected fault address 0x876e4000"
18:08 < huin> dunno if that's the same problem or something else
18:08 < huin> godoc crashed for me
18:09 < vsmatck> Hm. Thanks for checking.  I'll go ahead and add comment to
that existing issue.
18:11 < vsmatck> The new reflect is interesting.  It's less type safe.
Feels a little less verbose to use though.
18:12 < kamaji> how can I use json to marshall an object with strings in it?
18:12 < vsmatck> When you have to do type assertion it allows the compiler
to check to make sure you're using the right function for the type.  With
myval.Kind() checks you just get panics when you use the wrong function.
18:12 < kamaji> or: can I define MarshalJSON for string?
18:12 < vsmatck> But how I deal with each is similar so in practice it's not
really more error prone I think.
18:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
18:14 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
18:15 < vsmatck> kamaji: You should just be able to pass a struct to
json.Encode.  http://golang.org/src/pkg/json/encode.go check out docs at top of
that.
18:15 < vsmatck> It gives details on what types you can give to the Encode
function.
18:15 < vsmatck> You probably don't want to define a method on a string for
this.
18:15 < kamaji> vsmatck: it's just returning {}, which is why i'm confused
18:16 < kamaji> oh I need json.Encode
18:16 < kamaji> ok
18:16 < kamaji> sorry, didn't get to the end of your sentence :P
18:16 < vsmatck> It's all good.  :)
18:17 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
18:17 -!- AndyP [~andyp@ubuntu/member/andyp] has quit [Ping timeout: 246 seconds]
18:17 -!- AndyP_ [~andyp@baud.org.uk] has joined #go-nuts
18:17 -!- rl [~rbl@84-74-142-37.dclient.hispeed.ch] has quit [Ping timeout: 246
seconds]
18:18 < aiju> "return" on multiple values is so silly
18:19 < kamaji> oh....  this is tricky
18:19 < aiju> s/multiple/named
18:19 -!- rl [~rbl@84.74.142.37] has joined #go-nuts
18:19 -!- LuitvD [~me@beigetower/luitvd] has quit [Ping timeout: 246 seconds]
18:19 < kamaji> I need to get the writer after I encode the JSON
18:20 < kamaji> also, it's still just {}
18:20 -!- MX80 [~MX80@cust151.253.117.74.dsl.g3telecom.net] has quit [Remote host
closed the connection]
18:22 < str1ngs> kamaji: paste code it would help
18:23 < kamaji> just doing a test case
18:23 -!- meanburr1to920 [~john@192.5.109.34] has joined #go-nuts
18:25 < str1ngs> https://gist.github.com/912590
18:25 < str1ngs> if you are using a wrtier
18:25 < str1ngs> writer*
18:25 < str1ngs> if you just need the bytes use Marshal
18:26 < kamaji> http://pastebin.com/1qGQnwaA
18:26 < kamaji> I'm using a writer, but I wanted to check if the
serialisation failed or not
18:26 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
18:26 < kamaji> so I can send the correct status code
18:26 < kamaji> anywway that code just prints {}
18:27 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has joined #go-nuts
18:27 < str1ngs> Encode returns an error
18:27 < str1ngs> same with marshal
18:28 < kamaji> right, but the Twister library creates the writer when you
send the status code
18:28 < kamaji> so I can't make an Encoder until I have the writer, and I
can't make the writer until I have the encoded json
18:28 < kamaji> maybe I can defer the response but it seems easier just to
use json.Marshal
18:29 < kamaji> anyway the important part is that I still get {} :P
18:29 < str1ngs> Marshal is fine
18:29 < kamaji> There's no error happening, I threw in a check
18:29 < kamaji> i'm stumped :\
18:29 < huin> kamaji: make the str and num fields public
18:30 < kamaji> huin: FFFFFFFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUUU
18:30 < huin> :>
18:30 < kamaji> thanks :D
18:30 < kamaji> I feel really dumb though
18:30 < huin> easily done
18:31 < kamaji> success!
18:31 < kamaji> internet hugs all round~
18:31 < huin> \o/
18:31 -!- LuitvD [~me@beigetower/luitvd] has joined #go-nuts
18:33 < str1ngs> kamaji: Str Num
18:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
18:33 < str1ngs> err you figured that out lol
18:33 < str1ngs> sorry was off hacking on it
18:33 < huin> heh
18:33 -!- cafesofie [~cafesofie@ool-4a5a6ee5.dyn.optonline.net] has joined
#go-nuts
18:33 < huin> str1ngs: i did notice that your version contained public
members and kamaji's did not
18:34 < str1ngs> huin: I often do that then move it to a package ladder
saves time
18:34 < str1ngs> later*
18:34 < str1ngs> go is really modular that way
18:35 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
18:37 < str1ngs> now If I could figure out how to use
http://golang.org/pkg/json/#RawMessage
18:37 < str1ngs> is that faster then Decode?
18:37 < huin> i don't actually understand what it is
18:38 < huin> hm.  eager encoding and lazy decoding i guess
18:39 < str1ngs> either way I need to figure out if I can speed up Decode
18:39 < huin> using buffering etc.  already?
18:39 < kamaji> str1ngs: haha, thanks :D
18:39 < kamaji> str1ngs: I was taking a tea break, I think you missed your
internet hug
18:40 < str1ngs> lol
18:40 < str1ngs> huin: I was thinking of doing that.  but not sure how I've
not played with bufio much
18:42 < str1ngs> right now I'm using it on res.Body.  but if I just split
out the raw json its not so slow . so seems the bottle neck is Decode
18:42 < str1ngs> kamaji: I'm writing a aur helper :P
18:43 < str1ngs> acutally the res.Body is wrapped in a gzip reader so its
pretty fast
18:44 < huin> where is the I/O coming from?  net/file?
18:44 < str1ngs> net
18:44 < kamaji> str1ngs: aur as in arch linux?
18:44 < str1ngs> kamaji: yep
18:44 < kamaji> sweet
18:45 < huin> str1ngs: i've not used bufio myself...  but bufio.NewReader or
bufio.NewReaderSize look like the thing to wrap your socket in
18:45 < huin> dunno if it'd help
18:45 < str1ngs> huin: I thought that but the buttle neck is not the
network.  if I just spit out the raw json its pretty fast
18:45 < huin> this might well be premature optimisation without knowing
what's actually slow
18:46 < str1ngs> I"m pretty sure its Decode
18:46 < str1ngs> I'll make a proper bench mark though
18:46 < huin> yeah, but depends how many syscalls result from reading the
socket, potentially a few bytes at a time
18:46 < huin> (i'm not an expert, however)
18:47 < str1ngs> its serious stuff this aur work.  there is like about 10 of
them.  and go needs a proper represention :P
18:47 < huin> aur?
18:48 < str1ngs> its hard to explain
18:48 < huin> fair enough :)
18:48 < str1ngs> you have to use archlinux to get the joke
18:50 < fzzbt> :)
18:50 -!- aho [~nya@fuld-590c6951.pool.mediaWays.net] has joined #go-nuts
18:51 < kamaji> has anyone done an FFT in Go?
18:51 < kamaji> or FFTW C bindings
18:52 < kamaji> wait I googled it..
18:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
18:55 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
18:56 -!- meanburr1to920 [~john@192.5.109.34] has quit [Quit: leaving]
18:58 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 240 seconds]
18:59 -!- iant [~iant@216.239.45.130] has joined #go-nuts
18:59 -!- mode/#go-nuts [+v iant] by ChanServ
19:01 -!- TheMue [~TheMue@p5DDF5B07.dip.t-dialin.net] has joined #go-nuts
19:05 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has joined #go-nuts
19:06 < LuitvD> anyone on-line here with knowledge of the asn1 packagE?
19:06 < LuitvD> got kind of a specific question
19:06 -!- mykl [~chatzilla@cpe-76-184-163-169.tx.res.rr.com] has joined #go-nuts
19:07 < kamaji> not me, sorry
19:11 -!- dahankzter [~henrik@92-244-3-192.customers.ownit.se] has quit [Remote
host closed the connection]
19:13 < LuitvD> hm, looks like Langley wrote most, if not all, of it
19:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
19:15 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
19:16 -!- foocraft [~dsc@86.36.49.200] has quit [Quit: Leaving]
19:19 -!- hopso [~hopso@a91-155-84-100.elisa-laajakaista.fi] has joined #go-nuts
19:25 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
19:36 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
19:37 < LuitvD> got a patch for asn1
19:38 < LuitvD> should I put it up on the issue tracker?
19:41 < str1ngs> LuitvD: I would, if its a bug fix report the bug first.
19:41 < LuitvD> yeah, just realized I didn't fix it the proper way still...
19:41 < LuitvD> I guess
19:42 < str1ngs> then atleast post a bug and then go from there
19:42 < str1ngs> well issue
19:42 < LuitvD> do shift operations in Go change the sign of an int?
19:45 -!- nettok [~quassel@200.119.168.83] has joined #go-nuts
19:46 < LuitvD> is it bad if I add an issue without the "proper" structure?
19:47 < LuitvD> the steps-to-reproduce -> expected-output ->
erroneous-output thing?
19:47 < LuitvD> because it's a very specific implementation detail
19:48 < LuitvD> (explaining "What steps will reproduce the problem?" will
take ages, instead of just pointing to a line of code in the source and saying
what might be wrong there...)
19:48 < str1ngs> do the best you can
19:48 < LuitvD> also, the compiler version, source code revision etc.  don't
matter much
19:49 < str1ngs> file it in anyways
19:49 < LuitvD> as it's in just about every revision (all revisions since
the first one of asn1)
19:49 < LuitvD> allright, I'll see where it gets me ;)
19:50 < str1ngs> sorry fill*
19:50 -!- femtoo [~femto@95-89-249-242-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
19:50 < hopso> LuitvD: I don't think shifting changes the sign.
19:51 < huin> hm :/
19:51 < hopso> At least -1000>>3 resulted -125 last time I checked.
19:51 < huin> what about int32(1) << 32 ?
19:51 < huin> or << 31 more likely
19:52 * huin checks
19:52 < hopso> Complains about overflowing int32 at compile time.
19:52 -!- vsayer [~vivek@c-98-248-228-200.hsd1.ca.comcast.net] has joined #go-nuts
19:53 < huin> only if you do it as a const
19:53 < huin> if you have it in a variable it becomes -2147483648
19:53 < hopso> Oh, that's true.  Just checked it too :D
19:54 < huin> sometimes it'd be nice to have the overflow and carry flags
from the CPU
19:54 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
19:54 < huin> although there was a topic for this on the mailing list
19:54 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
19:54 < huin> one wonders what the syntax for it would look like
19:54 < huin> (if it were to be added, which i doubt)
19:55 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
19:55 < huin> it gets complex as within a single expression many things have
the potential to overflow/carry
19:58 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has joined #go-nuts
20:00 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
20:03 -!- photron [~photron@port-92-201-44-226.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
20:05 < LuitvD> str1ngs: got a better idea :) wrote some extra test cases
for the asn1 package that show the bug
20:07 < kamaji> skelterjohn: oh btw, apparently i'm not allowed to open
source my code until i've handed in this project
20:08 < kamaji> screws with the plagiarism checker it seems
20:09 < str1ngs> LuitvD: that works
20:09 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Quit:
itrekkie]
20:09 < LuitvD> str1ngs: I hope :P still have to get the tests working
20:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
20:15 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
20:16 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has quit [Read
error: Operation timed out]
20:17 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping
timeout: 252 seconds]
20:17 -!- zimsim [~simon@87.72.77.195] has quit [Remote host closed the
connection]
20:18 < aiju> python generators are cool
20:18 < aiju> they are like Go channels
20:18 < aiju> just slower and less versatile
20:19 -!- mthreat [~chris@cpe-70-124-89-68.austin.res.rr.com] has joined #go-nuts
20:22 < kamaji> lol
20:22 < kamaji> Cool!
20:23 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
20:24 < huin> well, a specific combination of goroutines and channels
20:24 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Client
Quit]
20:24 < aiju> yeah
20:25 < kamaji> Is there an easy way to seed rand with a nice source of
randomnity?
20:25 < kamaji> or do I have to open /dev/urandom and get me some bytes
20:25 < aiju> /dev/urandom is not random
20:25 < kamaji> I know, but it uses /dev/random
20:26 < kamaji> it's better than hanging while you wait for input
20:26 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
20:27 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Client
Quit]
20:27 < huin> you could use the timestamp
20:27 < huin> unless you need something cryptographically safe
20:27 -!- huin [~huin@91.85.185.181] has quit [Quit: bedtime]
20:28 < kamaji> oh yeah
20:28 < kamaji> that'll dooo
20:28 < kamaji> thanksh
20:29 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
20:30 -!- firwen [~firwen@gex01-1-78-234-55-225.fbx.proxad.net] has quit [Remote
host closed the connection]
20:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
20:34 -!- skejoe [~skejoe@89.249.0.154] has quit [Quit: Lost terminal]
20:34 -!- zozoR2 [~Morten@5634631b.rev.stofanet.dk] has quit [Remote host closed
the connection]
20:35 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
20:35 < LuitvD> http://code.google.com/p/go/issues/detail?id=1683
20:37 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping
timeout: 248 seconds]
20:40 < LuitvD> I see the issue is Cc to rsc, could I add agl in some way?
I think he's the maintainer of that package
20:44 -!- marten [~marten@82-170-80-86.ip.telfort.nl] has quit [Quit: marten]
20:48 -!- nettok [~quassel@200.119.168.83] has quit [Ping timeout: 252 seconds]
20:50 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:15d7:741:210d:4930] has quit
[Quit: Leaving.]
20:50 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
20:51 -!- TheMue [~TheMue@p5DDF5B07.dip.t-dialin.net] has quit [Quit: TheMue]
20:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
20:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
20:56 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
20:56 -!- vsayer [~vivek@c-98-248-228-200.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
20:57 < exch> ha.  best code license ever
http://genaud.net/2005/10/poetic-license/
20:58 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
20:59 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Read
error: Connection reset by peer]
20:59 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
21:01 -!- Adys [~Adys@unaffiliated/adys] has quit [Ping timeout: 240 seconds]
21:01 -!- niemeyer [~niemeyer@189.27.129.27.dynamic.adsl.gvt.net.br] has joined
#go-nuts
21:02 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Remote host closed the
connection]
21:03 -!- btipling [~btipling@unaffiliated/sk/x-5968384] has quit [Ping timeout:
258 seconds]
21:04 -!- btipling [~btipling@unaffiliated/sk/x-5968384] has joined #go-nuts
21:05 -!- JusticeFries [~JusticeFr@173-8-247-218-Colorado.hfc.comcastbusiness.net]
has quit [Quit: JusticeFries]
21:05 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Ping timeout:
260 seconds]
21:06 -!- Xenith [~xenith@xenith.org] has quit [Remote host closed the connection]
21:06 -!- Xenith [~xenith@xenith.org] has joined #go-nuts
21:06 -!- vsayer [~vivek@c-98-248-228-200.hsd1.ca.comcast.net] has joined #go-nuts
21:08 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts
21:13 < LuitvD> exch: that's an awesome modification of the ISC/BSD licenses
21:13 -!- LuitvD [~me@beigetower/luitvd] has quit [Quit: Leaving]
21:13 -!- pothos_ [~pothos@111-240-172-98.dynamic.hinet.net] has joined #go-nuts
21:15 -!- pothos [~pothos@111-240-166-37.dynamic.hinet.net] has quit [Ping
timeout: 246 seconds]
21:15 -!- dfr|mac [~dfr|work@c-68-51-74-246.hsd1.il.comcast.net] has quit [Remote
host closed the connection]
21:19 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Quit:
itrekkie]
21:20 < aiju> my go program has been outperformed by C# ..  by factor of 5
21:20 < aiju> what the fuck
21:21 -!- lmoura [~lauromour@187.113.73.226] has quit [Ping timeout: 246 seconds]
21:22 < raylu> write it better ;)
21:23 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping
timeout: 240 seconds]
21:23 < aiju> it's kind of the same algorithm
21:24 < vsmatck> Take a vacation.
21:24 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-151-101.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
21:24 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
21:27 < jessta_> aiju: C# is pretty fast
21:28 < jessta_> ummm...the popular implementations of it are fast
21:28 -!- Fish [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
21:29 < aiju> the scheduler is probably to be blamed
21:30 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
21:30 < jessta_> or the lack of escape analysis and bounds checking
elimination
21:31 < jessta_> the GC could also be a problem
21:31 < aiju> C is still twice as fast
21:31 < aiju> so i'm happy ;P
21:31 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
#go-nuts
21:34 < mpl> question about json.  if I have an array of objects, can I
simply unmarshall them in an array/slice of the corresponding struct I made for
each of this objects?
21:34 < mpl> s/this/these/
21:34 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
21:35 < skelterjohn> i think that's the idea, but i haven't used json
21:35 -!- crodjer [~rohanjain@203.110.240.205] has quit [Quit: Leaving]
21:35 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
21:36 < aiju> the difference is less insane with a program which resembles
the C# program better
21:36 < aiju> 0.5 s Go vs 0.4 s
21:37 < mpl> what bothers me is, if I simply have these objects one after
the other, (so without the starting [, and ending ], and not comma separated), and
simply unmarshall in a a struct in a loop, it just works.
21:37 < mpl> but I don't think this is valid json, so it shouldn't.
21:38 < mpl> hmm well, the whole thing is not valid, but the objects are,
and since I call unmarshall for each of them...  ok, I see why it works.
21:39 < mpl> still, I should probably use the generic way with an interface,
as in the example.
21:39 < skelterjohn> of course that works - you have a bunch of valid json
messages
21:39 < mpl> yeah.
21:40 < skelterjohn> and you parse them one at a time
21:40 < skelterjohn> i don't know why you think it shouldn't be ok
21:41 < skelterjohn> yes, you should :)
21:41 < mpl> yeah, yeah I got it.
21:42 < skelterjohn> save yourself the work of writing the loop to populate
the structures
21:42 < skelterjohn> never mind that you already did this work
21:45 -!- Scorchin [~Scorchin@host86-145-14-178.range86-145.btcentralplus.com] has
joined #go-nuts
21:46 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
21:46 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Client
Quit]
21:47 < mpl> hmm, so apparently they don't consider an array as valid
json...
21:47 < skelterjohn> i'm surprised
21:47 < skelterjohn> maybe a struct that has an array in it?
21:48 < skelterjohn> ah
21:48 < skelterjohn> you can pass a []interface{}
21:48 < mpl> uhmm oh wait
21:48 < skelterjohn> which is different than an array of your type
21:48 < mpl> it just stopped after the end of the array, just waiting for
the next value, so it should be ok.
21:49 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
21:54 < mpl> cool, it just works as I hoped with an array.
22:02 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
22:12 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
#go-nuts
22:12 -!- i__ [~none@unaffiliated/i--/x-3618442] has quit [Remote host closed the
connection]
22:13 -!- dfr|mac [~dfr|work@c-71-57-46-63.hsd1.il.comcast.net] has joined
#go-nuts
22:13 -!- i__ [~none@unaffiliated/i--/x-3618442] has joined #go-nuts
22:16 -!- hopso [~hopso@a91-155-84-100.elisa-laajakaista.fi] has quit [Remote host
closed the connection]
22:21 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Read error:
Operation timed out]
22:36 -!- vinisterx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
22:47 -!- katakuna [~pie@kjal.demon.co.uk] has quit [Ping timeout: 276 seconds]
22:51 < plexdev> http://is.gd/UXaiuD by [David Symonds] in
go/misc/vim/syntax/ -- misc/vim: update type highlighting for new reflect package
22:55 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has joined #go-nuts
22:55 -!- itrekkie [~itrekkie@ip70-190-110-197.ph.ph.cox.net] has quit [Client
Quit]
22:59 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Ping
timeout: 246 seconds]
23:01 -!- shvntr [~shvntr@123.89.100.197] has joined #go-nuts
23:06 -!- shvntr [~shvntr@123.89.100.197] has quit [Ping timeout: 240 seconds]
23:08 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 248 seconds]
23:11 < Glasswalker> Hey, trying to build an app which has several .go
files, in a few packages.  that build a handful of binaries.  I want to make a
makefile to build it.  Anyone here able to point me at some examples?  All the go
makefile examples I can find so far are for single source file, or multi-source
single-binary apps
23:11 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
23:12 < krutcha1> sure I'll pastebin you one that I ripped off somebody else
23:13 < vsmatck> Glasswalker: Are you set on using make?  If it's a pure go
project I'd recommend godag.  It'll automatically figure out dependencies.
23:13 < raylu> godag?
23:13 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
23:13 < vsmatck> http://code.google.com/p/godag/ It's quite a nice build
system for Go.
23:14 < Glasswalker> ok cool
23:14 < Glasswalker> I'll look it up
23:14 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has joined
#go-nuts
23:14 < Glasswalker> (not set on make, just looking for an easy way to
maintain dependancies and a central build system for the project, and it is pure
go, so a go specific one is fine)
23:15 < krutcha1> I have an application with a top level directory, a
package in the subdirectory 'pkg', and an application with main in the
subdirectory 'example/commandline'
23:15 < krutcha1> using a top level makefile, one in /pkg, and one in
/example
23:15 < krutcha1> if that is of interest I can pastebin the 3 makefiles for
you?
23:16 -!- rurban [~demo@88-117-9-181.adsl.highway.telekom.at] has quit [Ping
timeout: 258 seconds]
23:20 < Glasswalker> I think godag looks a bit lower maintenance than
maintaining a makefile
23:20 < Glasswalker> and it's pure go :)
23:20 < Glasswalker> only question I have, is with godag, can I tell it to
look in src for source files, and output binaries in bin?  (if I run it from the
project root)
23:20 -!- rurban [~demo@178-191-154-52.adsl.highway.telekom.at] has joined
#go-nuts
23:20 < Glasswalker> still browsing the project site for godag, haven't seen
anything to that effect yet
23:21 < raylu> hm...  godag depends on GOARCH being set
23:21 < Glasswalker> that's fine, I have GOARCH set on my dev environment
23:23 -!- Jantire [~Jantire@c-71-202-156-84.hsd1.ca.comcast.net] has joined
#go-nuts
23:23 < Jantire> hi all
23:24 < raylu> buildhandy.go:82: undefined: os.OpenFile
23:24 < raylu> (running build.sh in godag)
23:24 -!- Scorchin [~Scorchin@host86-145-14-178.range86-145.btcentralplus.com] has
quit [Quit: Scorchin]
23:28 < skelterjohn> Glasswalker: http://go-gb.googlecode.com
23:28 < skelterjohn> gb doesn't not that it should be a big deal to depend
on GOARCH being set
23:31 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
23:33 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
23:34 -!- virtualsue [~chatzilla@nat/cisco/x-xbenhbwwyrbkgesm] has quit [Ping
timeout: 252 seconds]
23:38 < jessta_> raylu: os.OpenFile() exists in the weeklys but not the
previous release
23:38 < raylu> i see
23:39 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
quit [Read error: Operation timed out]
23:39 < Glasswalker> hmm..  how can I convert from a byte to a uint8?  tried
straight up type assertion but all the uint types are non interface types
23:39 < Glasswalker> the binary package lets me convert to uint16 or uint32
from a byte slice, but I need to convert a single byte to a uint8
23:40 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has joined
#go-nuts
23:40 -!- Paradox924X [~Paradox92@c-68-35-229-34.hsd1.fl.comcast.net] has quit
[Changing host]
23:40 -!- Paradox924X [~Paradox92@vaserv/irc/founder] has joined #go-nuts
23:41 < jessta_> Glasswalker: just do a conversion eg.  uint8()
23:42 < jessta_> Glasswalker: http://golang.org/doc/go_spec.html#Conversions
23:44 < jessta_> but also, uint8 is just an alias for byte
23:44 < jessta_> so a conversion is unnescessary
23:46 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
23:47 < Glasswalker> oh lol
23:47 < Glasswalker> ok good to know
23:47 < Glasswalker> thanks!
23:50 < Glasswalker> oh right...  the type I'm trying to convert is actually
an enum (which is of uint8)
23:52 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
23:52 < raylu> still shouldn't need a conversion
23:53 < Glasswalker> it's getting angry about it.
23:53 < Glasswalker> I'll get back to that one in a bit (have several
compile errors) lol
23:53 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
#go-nuts
23:53 < Glasswalker> also how do I dereference a pointer?  I have a net.Conn
object I'm passing around as a pointer
23:54 < Glasswalker> but I want to Read from it.  Apparently I have to
dereference it before I can call it's Read() method
23:56 -!- ampleyfl1 [ampleyfly@gateway/shell/blinkenshell.org/x-cwjuafmwcqyhmmmo]
has quit [Ping timeout: 258 seconds]
23:58 < jessta_> you don't have to explictly deferences to call a method
23:59 < kevlar> Glasswalker: you don't have to dereference it:
http://golang.org/doc/go_spec.html#Method_expressions
23:59 < jessta_> Glasswalker: dereference a pointer with te dereference
operator *
--- Log closed Mon Apr 11 00:00:50 2011