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

--- Log opened Thu Dec 31 00:00:19 2009
--- Day changed Thu Dec 31 2009
00:00 -!- skelterjohn [n=jasmuth@lawn-net168-in.rutgers.edu] has quit []
00:01 < usa> Should I be concerned if I submit a change to the code review
system and I get an email bounce from golang-dev saying I am not subscribed?
00:01 -!- goplexian [n=acombas@d154-20-0-9.bchsia.telus.net] has joined #go-nuts
00:02 <+iant> usa: did you pick any other reviewer?  if not, then the code
review will be there but nobody will know about it
00:03 < usa> No, I didn't pick any other reviwer.
00:03 <+iant> what is the issue number?
00:03 < usa> 181097
00:06 <+iant> yeah, I don't think I got an e-mail about that, I do see it in
the codereview site, though
00:06 < dho> but a hostname is not a fqdn :(
00:06 < dho> people who do that should stop breaking dns :(
00:06 -!- binaryjohn_ [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
00:07 < usa> Nothing at all links hostnames and DNS apart from convention
00:08 < usa> Having a hostname of mungo.bath.ac.uk is fine.
00:09 -!- GeoBSD [n=geocalc@lns-bzn-20-82-64-3-143.adsl.proxad.net] has quit [Read
error: 60 (Operation timed out)]
00:11 < dho> having a hostname of mungo is fine.  if mungo belongs to the
bath.ac.uk domain, that's a different story.
00:12 < usa> Why do you believe that?
00:12 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has quit ["Leaving."]
00:13 -!- niekie [i=quasselc@CAcert/Assurer/niekie] has quit [Read error: 60
(Operation timed out)]
00:13 < dho> a) because a large number of network software packages require
that assumption to be true to function properly (for various reasons)
00:14 < usa> Can you name one?
00:14 < dho> spread, for starters.
00:14 < dho> b) because it's a lot easier to maintain hostnames when you
have a hostname and the rest is managed by dns, especially in larger environments
00:15 < usa> Let me see what I can find about "spread".
00:15 < dho> let me help you: http://www.spread.org/
00:15 -!- Guest24563 [n=elmar@] has quit ["Leaving"]
00:16 -!- ShadowIce [n=pyoro@unaffiliated/shadowice-x841044] has quit
00:16 < usa> Thanks, looking at it now.  How does spread deal with
multihomed hosts?
00:16 < dho> our commercial smtp platform also requires it (partially
because spread requires it)
00:16 < dho> multihomed in what sense?  part of multiple domains?
00:17 < dho> or on multiple network segments
00:17 < usa> The latter.
00:18 < dho> hosts communicating with each other are required to be on the
same segment
00:20 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
00:21 < usa> So take mungo again.  It has multiple DNS entries, one for each
LAN that it is on, e.g.  mungo.lan1.bath.ac.uk, mungo.lan2.bath.ac.uk, ...
mungo.lan12.bath.ac.uk.  These allow both forward and reverse lookups, so there
are also entries in the 38.138.in-addr.arpa domaind.
00:21 -!- hyakuhei [n=hyakuhei@unaffiliated/robc] has quit [Read error: 113 (No
route to host)]
00:22 < usa> The typical /etc/resolv.conf file provided has 'search'
directives which say something like 'lan4.bath.ac.uk bath.ac.uk'
00:23 < usa> and most people just mount "mungo" rather than anything else.
Do you see anything broken so far?
00:23 < dho> Maybe, but continue
00:24 < asyncster> wow, gofmt kinda breaks down at some of the values at the
end of the test table:
00:24 < asyncster>
00:24 -!- zaker_ [n=zaker@] has quit [Read error: 110
(Connection timed out)]
00:24 -!- zaker [n=zaker@] has quit [Read error: 110
(Connection timed out)]
00:25 -!- Norgg [n=norgg@norgg.org] has quit [Read error: 104 (Connection reset by
00:25 < usa> There are also A records for mungo.bath.ac.uk, which list all
the interfaces.
00:26 < dho> Ok
00:26 < dho> So presumably clients looking for `mungo' are served the proper
A record for their view
00:28 < usa> The 'search' record means that they will get the correct one,
assuming that they allow DHCP to configure their /etc/resolv.conf.
00:29 < usa> However we wish to present the idea that mungo.bath.ac.uk is
one machine, not a dozen.
00:30 < usa> So far we are just using the DNS to present the information.
00:31 -!- r2p2 [n=billy@v32671.1blu.de] has left #go-nuts []
00:32 < dho> Ok, and you can present that by using views
00:33 < usa> Now the question is what happens if some subdomain owner
decides that they want to have the name "mungo" for one of their machines.  They
can have mungo.french.lan8.bath.ac.uk.  We want someone who logs in to see the
mungo.bath.ac.uk name in the login banner, not the mungo.lanXX.bath.ac.uk name and
not just mungo.
00:35 < dho> and you can configure the login banner too
00:35 < usa> We don't want just mungo, cos that might be the french one, and
we don't want to get people concerned if they connect via a different LAN.  Yes we
could hard code the banner in various places, but then we would have to make
simular changes to "mary" and "midge".  It is much simpler to just set the
hostname to be what we want, and let the normal login program print out the normal
00:37 < usa> Yes, we can configure the login banner, and yes we can hack the
ftp server, and yes we can hack the sshd....  The point is that we don't have to.
The hostname has nothing to do with the DNS.  Of course the "domainname" command
typically has nothing to do with the DNS either.
00:39 < dho> ok
00:40 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has joined
00:40 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
00:40 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
00:42 < usa> I can not see anything in the spread user guide which worries
about the hostname, none of the pretty pictures shows a multihomed host so perhaps
I need a more technical guide?
00:42 < dho> There's a limit on the length of the name, which is not large
enough to contain a fully qualified domain name as per the spec.
00:43 -!- kanru [n=kanru@61-30-10-70.static.tfn.net.tw] has joined #go-nuts
00:43 < dho> And Spread talks over a single network segment, so if you want
it talking over multiple segments, you have to either configure multiple spread
segments, or talk over a more inclusive broadcast address (if that is an option)
00:43 < dho> (in a nutshell)
00:45 -!- jhh [n=jhh@f049008158.adsl.alicedsl.de] has quit []
00:48 < usa> If we had been running "spread" on mungo, then it would be able
to talk to a dozen LANs directly, and could therefore just use normal broadcast
addresses on each LAN.  The "%h" parameter in the config file would resolve to
mungo.bath.ac.uk, and everyone would be happy - we wouldn't have to add "spread"
to the list of things to hack (/etc/issue, /etc/issue.net, ftpd, sshd).
00:48 < usa> Yes there is a limit on the length of the value returned by the
uname system call.
00:48 < dho> except that all the other members of the spread ring need to
know the hosts as well.
00:49 < dho> %h might work great locally, but not if you are
machine1.fullyqualifieddomainname.com and you need to talk to machine2.  and
machine3.  as well
00:50 < anticw> uname only exists for linux
00:50 < dho> anticw: ?
00:50 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has left
#go-nuts []
00:50 < anticw> in Go
00:50 -!- jdp [n=justin@] has quit [Read error:
60 (Operation timed out)]
00:50 < anticw> i added code to use that and noticed the syscalls aren't
plummed for freebsd & darwin
00:50 < anticw> usa == icarus right?
00:50 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has joined
00:50 < usa> anticw, yes
00:51 < dho> anticw: freebsd at least gets uname from sysctls iirc
00:51 < dho> which is why that wouldn't be there.
00:51 < dho> i'd guess darwin is similar.
00:51 < anticw> dho: well, you need struct Utsname too
00:51 < usa> uname is in POSIX (according to the linux manual pages in front
of me)
00:51 < anticw> dho: i came across this fixing up the resolver and left it
as a 'todo' for now
00:52 < anticw> my darwin/freebsd env's suck so unless i can make changes
and break them (PLEASE GOD ALLOW THAT) some stuff has to wait
00:52 < gnuvince> Can string() convert from integer to a string?
00:52 < anticw> usa: it's just glue that's missing for now, i'll fix it
00:52 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has joined
00:52 < anticw> gnuvince: import strconv
00:52 < anticw> http://golang.org/search?q=Itoa
00:53 < gnuvince> thanks
00:53 < anticw> who runs that gobot thang?  uriel?
00:53 < anticw> maybe we can have that reponde to !Token and poke that into
00:53 -!- uxp [n=uxp@uxp.dsl.xmission.com] has quit [Read error: 54 (Connection
reset by peer)]
00:53 < anticw> dho: btw, if you're looking to add some of this stuff i have
a TODO list; maybe some coordination would be useful
00:54 -!- uxp [n=uxp@uxp.dsl.xmission.com] has joined #go-nuts
00:54 < dho> yeah, freebsd uses sysctls
00:55 < dho> I think that uname should probably move into os.uname since it
isn't a syscall everywhere.
00:55 < anticw> dho: you're using freebsd 7.2 ?
00:55 < dho> 8-rel and head
00:55 < anticw> or 8 ?
00:55 < dho> but it should work on 7.2
00:55 < anticw> okies ...  i'll snarf the ISOs
00:55 < dho> (8 is preferred...)
00:56 < anticw> 8.0 release good enough?  head seems like a lot more work
for no gain when it comes to go testing/validation
00:56 < dho> 8-rel is fine
00:56 < dho> s/fine/preferred/
00:57 < dho> i was just saying that in case you meant you were snarfing the
7.2 isos :)
00:57 * dho -> heading home
00:57 < dho> back later
00:58 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit [Read error:
104 (Connection reset by peer)]
00:59 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
01:00 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
01:00 -!- [[sroracle]] [n=sroracle@c-98-215-178-14.hsd1.in.comcast.net] has joined
01:01 < usa> anticw, uname is in 10th edition Unix as well, but as a library
01:02 < anticw> usa: it's not a problem making it work for other OSes, it's
just one on many missing system calls
01:02 < anticw> it's on my list :-)
01:02 < anticw> maybe tonight ill get it sorted for darwin, freebsd probably
01:03 -!- jdp [n=justin@] has joined #go-nuts
01:05 < usa> anticw, if you can look at issue 181097 on the code tracker
whilst you are doing it, I would appreciate it.
01:06 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has quit []
01:09 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has quit []
01:16 -!- xifle [n=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
01:17 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
01:18 -!- Elfix [i=elfix@wikipedia/elfix] has quit [Connection reset by peer]
01:18 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
01:19 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has left
#go-nuts []
01:40 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
01:40 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
01:42 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Success]
01:42 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
01:44 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
01:44 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
01:45 -!- mbarkhau1 [n=koloss@p54A7E38F.dip.t-dialin.net] has joined #go-nuts
01:46 -!- mbarkhau [n=koloss@p54A7E337.dip.t-dialin.net] has quit [Read error: 60
(Operation timed out)]
01:49 -!- stevenyvr [n=schan@76-10-184-108.dsl.teksavvy.com] has quit ["Computer
has gone to sleep"]
01:53 -!- xifle [n=elfix@divide.by.zero.at.shellium.org] has quit [Remote closed
the connection]
01:53 -!- asyncster [n=asyncste@] has quit [Read error: 110
(Connection timed out)]
01:54 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has joined
01:54 -!- difekta [n=clays@] has quit ["This computer has gone to
01:58 < plexdev> http://is.gd/5HfWn by [Rob Pike] in go/src/pkg/gob/ --
trivial bug: []byte is special but [3]byte is not.
02:14 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
02:14 -!- mertimor [n=mertimor@p4FE75CA1.dip.t-dialin.net] has quit []
02:17 -!- me__ [n=me@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
02:24 -!- crakrjak [n=merc@rrcs-70-62-156-154.central.biz.rr.com] has joined
02:27 < jackman> ummm...
02:27 < jackman> [3]byte is an array while []byte is a slice, no?
02:29 < jessta> yeah
02:30 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
02:34 -!- Adys [n=Adys@unaffiliated/adys] has quit [Remote closed the connection]
02:35 -!- gnuvince [n=vince@] has quit ["reboot"]
02:35 -!- Adys [n=Adys@unaffiliated/adys] has joined #go-nuts
02:35 -!- wurtog [n=wurtog@] has joined #go-nuts
02:35 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 54
(Connection reset by peer)]
02:36 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
02:36 -!- hd_ [n=hd_@] has joined #go-nuts
02:37 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has quit [Read error: 60
(Operation timed out)]
02:37 -!- gnuvince [n=vince@] has joined #go-nuts
02:38 -!- Amaranth__ [n=travis@97-114-240-143.sxcy.qwest.net] has joined #go-nuts
02:39 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
02:40 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
02:50 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
02:51 -!- fwiffo [n=fwiffo@unaffiliated/fwiffo] has quit [Remote closed the
02:56 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit [Read error:
104 (Connection reset by peer)]
02:56 -!- [[sroracle]] [n=sroracle@c-98-215-178-14.hsd1.in.comcast.net] has joined
03:00 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has quit [Read error: 104
(Connection reset by peer)]
03:02 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit [Read error:
104 (Connection reset by peer)]
03:02 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
03:03 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has quit []
03:05 -!- waht2 [n=sgnod@pool-96-250-179-214.nwrknj.fios.verizon.net] has joined
03:05 < waht2> is this the channel for the go by google or the go by those
other guys
03:05 -!- Xarver [n=kenny@cpe-76-173-101-172.socal.res.rr.com] has joined #go-nuts
03:06 -!- Brandon\wcr [n=wcr@unaffiliated/warcrime] has quit [Read error: 60
(Operation timed out)]
03:06 <+iant> go by google
03:06 < waht2> so does go work on android phones
03:06 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has
joined #go-nuts
03:06 -!- Xarver [n=kenny@cpe-76-173-101-172.socal.res.rr.com] has left #go-nuts
03:06 < waht2> are there any books on go
03:07 < waht2> how long till microsoft releases g++
03:07 <+iant> people have been able to use Go to build a program which runs
on Android, but you have to upload it using the adb debugger or something like
03:07 <+iant> there are no books on Go
03:07 <+iant> ask Microsoft
03:07 < waht2> is go going to standardized by iso
03:07 <+iant> not in the foreseeable future
03:08 < waht2> so what's the selling points of go
03:08 <+iant> see http://golang.org/
03:08 -!- Brandon\wcr [n=wcr@unaffiliated/warcrime] has joined #go-nuts
03:09 -!- Amaranth__ [n=travis@97-114-240-143.sxcy.qwest.net] has quit [Success]
03:10 < jackman> It's awesome.
03:10 < jackman> It's like the only language that has CSP without it being
weirdly tacked on.
03:11 < jackman> It's FAST.
03:11 < skelterjohn> whenever someone talks about CSP I hear "constraint
satisfaction problem" in my head
03:11 < me__> it has a cool mascot
03:11 < skelterjohn> and i have a lot of trouble remembering what they're
actually talking about
03:11 < jackman> lmao
03:11 < jackman> CSP==Anal Retention, then?
03:12 < skelterjohn> ?
03:12 < jackman> err...  maybe the lack thereof?
03:12 < me__> complicated squirrely processes
03:13 < waht2> so with go you can created executable binaries?
03:13 <+iant> yes
03:13 < waht2> when was the last time somebody made a language like that
03:14 < waht2> interesting
03:14 < jackman> ummm...
03:14 < jackman> 1970?
03:14 < waht2> that's what i mean
03:14 < goplexian> waht2, yes, thats the point
03:14 < waht2> if you want a language that can actually make binary
executables your most modern choice is c++
03:14 < waht2> oh i like this already
03:15 < jackman> everything after that was a scripting language, a ripoff of
C, or a compiled scripting language.
03:15 < waht2> at first I thought oh great google is coming out with some
scripting lang or java wannabe just to muddy the waters against microsoft
03:15 < goplexian> waht2, was the most modern choice, now there is also Go
03:15 < waht2> well i'm sold
03:15 < waht2> at least somewhat
03:15 < jackman> the video is awesome.
03:15 < waht2> i'll try it
03:15 < jackman> did you already see it?
03:15 < skelterjohn> i'm pretty sure that go wasn't created as a strategic
decision :)
03:15 <+iant> in fairness there have been other compiled languages, though
none are very popular that I know of; e.g., Ada
03:16 < jackman> Is ada the one that uses the symbols?
03:16 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has joined #go-nuts
03:16 < goplexian> skelterjohn, I think its highly strategic
03:16 < waht2> so who's going to write the book for oreilly
03:16 < waht2> heh
03:16 < me__> jackman: no, i think you're thinking of apl?  Ada uses
03:16 < waht2> well i hope there's some good documentation though
03:16 <+iant> jackman: not sure what you mean, Ada is a sort of PL/1 like
language from the US DoD
03:17 < waht2> yeah but ada predates c++ doesn't it
03:17 <+iant> they were developed around the same time, I suppose
03:17 < jackman> http://en.wikipedia.org/wiki/APL_(programming_language)
03:18 < waht2> the thing thats too bad is microsoft used the "c" name in c#
to get it's books to take shelf space at the bookstore and get into managers minds
as a c derivative
03:18 < skelterjohn> goplexian: it's possible that google encouraged it
because it was strategic, but i think the original whiteboard meeting was just
some guys thinking about what would make a cool language
03:18 < jackman> I just read the Art of Unix Programming...
03:18 < jackman> It made me think how sad the whole programming situation
03:18 < jackman> Then I watched the Go Tech Talk.  :)
03:18 < waht2> your aaverage pointy hair wont recognize c# is like java++
and go is the real next c
03:19 < jackman> If you haven't seen this, you should:
03:19 < waht2> this go tech talk is on the website
03:19 < waht2> oh i see it
03:19 < jackman> this one is different
03:19 < jackman> it's pre-go
03:19 < jackman> NewSqueak
03:20 < jackman> Rob Pike is like the Tyler Durden of programming.
03:21 < jessta> lol, codes like you want to code?
03:21 < jackman> YES!
03:21 < jackman> Have you seen Rob Pike?
03:21 < wurtog> will go have the name changed or not ?
03:22 < waht2> i swear the word orthogonal is almost as annoying as paradigm
03:25 < waht2> so what will be the first os written in go
03:25 < waht2> and why would it be better than an os written in c
03:26 < jackman> probably compile time.  :)
03:26 -!- wurtog [n=wurtog@] has left #go-nuts ["Leaving"]
03:26 < waht2> Performance: typically within 10-20% of C.
03:26 < waht2> :(
03:29 < jackman> That's the point, isn't it?
03:29 < jackman> A programmer friendly language that competes with C?
03:30 < goplexian> wurtog I get the impression that the answer is probably
no, but I think it is a matter for managers not developers
03:31 < goplexian> dangit didnt see he left
03:32 < dho> oh my god
03:33 < jackman> Why would anyone /want/ to change the language?  Is
something wrong with it?
03:33 < dho> i give up on qtvali
03:34 < goplexian> dho, what took you so long?
03:34 < dho> He kept almost getting the point in the last thread
03:34 < dho> There have now been at least 5 unique people asking him to shut
the fuck up and code
03:34 < anticw> dho: what point is that?
03:34 < dho> anticw: any of them
03:35 < dho> but it would be like another follow-up email he would write
that would completely obliterate it
03:35 < dho> and seriously, how does he spend like 20 hours a day writing
and replying to a mailing list
03:35 < dho> oh my god
03:35 < anticw> anyhow, golang S/N is really bad now because of the google
hype associated with it
03:36 < dho> seriously, is there a reliable way for me to trash any topics
that he starts and any posts or replies to his posts that appear on the list using
03:36 < dho> sieve or something?
03:36 < anticw> dho: gmail has filters
03:36 < dho> where are they
03:36 < dho> oh there they are
03:37 < goplexian> anticw, yeah its getting pretty bad, I think some are
purposefully trying to be disruptive now
03:37 * dho marks anything from qtvali@gmail.com, containing qtvali or tambet in
the text go to the trash
03:37 < goplexian> lol
03:38 < dho> i think this will make my life easier
03:38 < dho> now i don't have to read his reply to my post either
03:38 < dho> or anybody replying to him
03:38 < dho> what a great idea
03:38 < anticw> i was thinking about a bay area Go Meetup at some point, not
sure though, might turn into a pointless wankfest
03:40 < dho> too bad i'm not there anymore
03:40 * dho is in balto
03:40 < dho> seems to be a high concentration of interested people at jhu
03:40 < dho> anyway, i'm gonna jet
03:40 < goplexian> night
03:40 < dho> anticw: good luck with the freebsd stuff, let me know if you
have any questions
03:41 < dho> night
03:41 -!- NinoScript [n=Adium@pc-201-142-239-201.cm.vtr.net] has joined #go-nuts
03:41 < jackman> night
03:41 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has left
#go-nuts []
03:41 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has quit []
03:41 < goplexian> anyone using a tiling WM by chance?
03:42 < jackman> when i use one, yes.  :)
03:42 < jackman> it's been a while, tho.
03:42 < goplexian> man tiling wm's rock, i just started using one
03:42 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has
joined #go-nuts
03:43 < goplexian> well actually its been about a week, but I gotta say I
love it
03:45 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has left
#go-nuts []
03:45 < jackman> Which one do you use?
03:45 < jackman> I was switching around...
03:45 < goplexian> xmonad
03:45 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has
joined #go-nuts
03:45 < jackman> The key bindings had me moving around.
03:46 < jackman> I was using ion primarily, tho.
03:46 < goplexian> I've heard of ion haven't tried it though
03:48 -!- codedread [i=180dd699@gateway/web/freenode/x-pfwnwfthlapyqfei] has
joined #go-nuts
03:48 -!- codedread [i=180dd699@gateway/web/freenode/x-pfwnwfthlapyqfei] has left
#go-nuts []
03:49 < kfx> I've used dwm almost exclusively since it came out
03:50 < jackman> kfx/goplexian: what do you think of the key bindings?
03:50 < kfx> jackman: I move the Mod-[1-9] keys (for tag switching) up to
the function keys
03:50 < kfx> and I move mod-enter to mod-z
03:51 < kfx> and other than that I use them as provided in config.def.h
03:51 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has quit []
03:51 -!- senneth [i=senneth@irssi/staff/senneth] has quit [Read error: 60
(Operation timed out)]
03:52 -!- senneth [i=senneth@irssi/staff/senneth] has joined #go-nuts
03:52 < goplexian> well I use emacs so I had to set xmonad to use the
win-logo button but otherwise they seem to work fine, I'm also using xmobar
03:52 < kfx> no window manager is safe from emacs
03:52 < goplexian> heh no,
03:52 < goplexian> but thats ok, its worth the sacrifice
03:53 < goplexian> someday it will just be emacs running directly ontop of
the linux kernel
03:53 < goplexian> then I wont need a wm
03:54 < kfx> or a shower
03:54 < jackman> lmao
03:54 < goplexian> lol
03:55 < jackman> is emacs starting to use the windows button?
03:56 < goplexian> no thats why i was able to use it for the wm in place of
03:56 < jackman> I can't seem to find a reference to what NewSqueak was
actually used for.
03:56 < jackman> Pike said he wrote it to write a wm...
03:57 < jackman> http://en.wikipedia.org/wiki/Newsqueak
03:58 < me__> inspired Alef, later Limbo...
03:59 < NinoScript> ;'
04:00 < goplexian> Now I know I remember seeing a lot of positive articles
when Go was first released, I think this is rather biased
04:01 < goplexian> I've never heard of informationweek, but why do they get
top paragraph when it comes to "Reception" for Go?
04:02 < jackman> wow
04:02 < jackman> that section is a little bitchy
04:03 < peterallenwebb> I saw that on wikipedia too.  The article is pretty
04:03 < kfx> informationweek is an industry rag that used to get mailed out
for free to everyone
04:03 < peterallenwebb> Basically, the guy is like "I have a friend that
programs.  He says there are already enough languages."
04:03 < goplexian> and it doesn't even make sense, its called reception but
he second paragraph is just a quote from Pike, how is that considered reception?
04:04 < kfx> then their advertisers got sick of paying I guess because now
it's just another online tech 'magazine'
04:04 < waht2> because google runs google and can put the search results
anyways they want
04:05 < kfx> "A blog posting in InformationWeek considers the creation of a
new language to be unjustified given that many other languages already existed,"
04:05 < goplexian> by virtue of the fact that the information is taken from
"a blog posting" by information week, I think I should edit the page and add some
positive other "blog postings" about Go
04:05 < kfx> this is about on par with the writing in informationweek,
historically speaking
04:05 < kfx> unless they can use the term 'service oriented architecture'
they hate it
04:05 < jackman> lol
04:05 < kfx> but you'd think they'd at least be clever enough to avoid the
'stop having ideas, we have enough' argument
04:06 < goplexian> I guess they just are not that clever
04:06 < kfx> which would be why they went out of print
04:07 < goplexian> Yeah, I'm going to edit that page, that bugs me
04:07 < jackman> can we include something like "After Google hosted one of
their Tech Talks with Rob Pike presenting the language, it has gained popularity
and momentum.  IRC-ers say, 'It's AWESOME!'"
04:07 < goplexian> I've lost 50lbs already!
04:07 < jackman> hehehe
04:07 < JBeshir> My bald patch is completely gone!
04:08 < kfx> Search Results Found 670 items in InformationWeek for coding
04:09 < kfx> Search Results Found 13867 items in InformationWeek for
04:09 < jackman> You can say something like "As of [today], there are x
regulars on the IRC channel dedicated to Go and y subscribers to the mailing list.
The golang.com website has gotten z hits and the Tech Talk [insert variable here]
04:09 < kfx> that's about how I remember their priorities
04:09 < peterallenwebb> zomg.  That article is the third google result I get
for "go programming language".
04:10 < goplexian> I guess all that SEO paid off then :/
04:10 < JBeshir> SEO?  It's Wikipedia...
04:10 < goplexian> Oh i thought he meant the newsweek article
04:11 < peterallenwebb> meant the informationweek article.
04:11 < goplexian> s/new/information/week
04:11 < JBeshir> Huh.
04:11 < JBeshir> I don't get it on the first page at all.
04:11 < goplexian> yeah that
04:13 < peterallenwebb> it is further down for me when i log out of my
google account but still there.
04:13 < peterallenwebb> they so crazy.
04:15 < waht2> so what if you wrote a c compiler in go
04:15 < waht2> would it be better
04:15 < kfx> give it a try
04:15 < kfx> let us know what you find out
04:15 < waht2> wait wait what if you wrong the c# runtime in go
04:15 < waht2> would it improve performance
04:16 < jackman> everything's better in go.
04:16 < waht2> i can't wait for visual studio go
04:16 < kfx> did you use wrong as a verb because you knew it wouldn't be
04:16 < waht2> visual go is gonna be awesome
04:16 < waht2> woah that was weird
04:16 < waht2> my brain is retarded
04:17 < waht2> what kind of animal will be on the cover of the go book from
04:18 < waht2> the publishing industry must love this flood of languages
04:19 < peterallenwebb> This guy thinks Go was necessary for google to
acheive four-ness:
04:19 -!- binrapt [i=void@unaffiliated/binrapt] has joined #go-nuts
04:19 < waht2> yeah every big company needs a language
04:19 < waht2> can you really be strong if you have to use someone else
04:20 < waht2> its bad enough the andriod phone uses java from oracle
04:20 -!- binrapt [i=void@unaffiliated/binrapt] has left #go-nuts []
04:20 < waht2> besides if they are going to legendary like bell labs they
need to churn out some langs
04:20 -!- sanjid [n=sanjid@unaffiliated/sanjid] has joined #go-nuts
04:20 < waht2> unfortunately unlike bell labs nobel prizes in physics are
04:21 < sanjid> oh, I see why you're sucking go' dick
04:21 < sanjid> *go's
04:21 < waht2> yeah because it's the best
04:21 < waht2> sanjid is a hater stuck in the past using old languages
04:21 < sanjid> dude, don't advertise your language like you're being paid
04:21 < waht2> can't keep up with changing tech
04:21 < sanjid> tbh, I learned to code 6 months ago
04:21 < sanjid> I'm still picking a language
04:21 < sanjid> you're off
04:21 < waht2> well pick go
04:22 < waht2> its the best
04:22 < sanjid> whatever you say
04:23 < waht2> think about it by the time most of these ruby and c# weenies
get around to learning go you'll already have years experience
04:23 < KirkMcDonald> Why would you pick just one language?
04:23 < sanjid> exactly, I haven't
04:23 < waht2> because you have to be decisive
04:23 < sanjid> I've gotten the hang of C, and I'm learning python
04:23 < KirkMcDonald> waht2: I see.
04:23 < waht2> you have to be able to make executive decisions
04:24 < waht2> python, that's old
04:24 < waht2> at leasy use ruby so you don't get left behind
04:25 -!- sanjid [n=sanjid@unaffiliated/sanjid] has left #go-nuts []
04:25 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has joined
04:26 < waht2> google should offer to donate money colleges if they switch
the CS curriculum to use go exclusively
04:26 < waht2> it will speed up adoption
04:27 < goplexian> O_o
04:29 < waht2> oh no i just realized
04:29 < waht2> what if go ends up like plan 9
04:29 < waht2> rob pike has the stench of failure on him from plan 9
04:29 < waht2> oh crap
04:29 < waht2> they should fire him and bring in someone more successful
04:29 < goplexian> quick, go find another language!
04:29 < waht2> damn
04:29 < goplexian> you must hurry waht2 go now, let nothing stop you
04:30 < KirkMcDonald> Go now!  For the good of the city!
04:30 < waht2> lmao
04:30 < waht2> dude they should hire the guy from ruby
04:31 < waht2> that will improve go and kill off ruby at the same time
04:31 < waht2> kill two birds
04:31 < jackman> the last thing we need is another delphi
04:31 < jackman> *shudders*
04:31 < waht2> who invented delphi
04:31 < waht2> hopefully he now works at mcdonalds
04:32 < jackman> http://en.wikipedia.org/wiki/Delphi_programming_language
04:32 < waht2> yeah i know
04:32 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has quit []
04:33 < waht2> anyone who needs to make 64bit stuff is screwed waiting for a
new compiler
04:33 < jackman> the guy (Anders) went from Pascal to Delphi to C#.
04:33 < waht2> thats already a year behind schedule
04:33 < waht2> oh well that explains a lot about why c# blows
04:33 < waht2> wait what company made delphi anyways
04:33 < waht2> its probably out of business
04:33 < jackman> Borland
04:33 < jackman> err...
04:33 < waht2> wait
04:34 < jackman> At least it was Borland when our company started using it.
04:34 < KirkMcDonald> Borland, yes.
04:34 < NinoScript> Hi hi!  :D I'm new here!
04:34 < waht2> who uses an os thats not backed by a giant company
04:34 < jackman> is linux backed by a giant company?
04:34 < KirkMcDonald> jackman: Several.
04:34 < jackman> Oh.
04:34 < jackman> I only notice those kinds of details when money is
exchanged.  :)
04:35 < KirkMcDonald> Developer time is money.
04:35 < waht2> ibm?
04:35 < waht2> linux didn't really get mainstream legitimacy until ibm
commited to it
04:35 < jackman> ibm, novell, red hat, hp...
04:36 -!- path[l] [i=UPP@] has joined #go-nuts
04:36 < goplexian> waht2, actually it was only because linux was legitimate
that IBM commited to it.
04:36 < waht2> no suits took linux seriously before that
04:37 < waht2> if you don't have the suits you're just an oddity for
professors and longhairs
04:37 < goplexian> at the time when IBM jumped on board Linux was running
more than half of all website on the interwebs, not to mention running on a great
deal of serious backroom company servers
04:38 -!- Brandon\wcr [n=wcr@unaffiliated/warcrime] has quit []
04:41 < waht2> if by websites you mean one page homepages on hotbot or lycos
or whatever the hell it was
04:41 < waht2> i remember one day 40,000 sites all switched to linux at
once...when one server filled with a bunch of no traffic homepages was swapped
04:42 < waht2> big woop
04:42 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
04:42 < goplexian> waht2, do you know much about irc, I'm just wondering if
there is a way I can ignore someone?
04:45 < waht2> no i don't know i'm kind of new to this whole intertubes
04:45 < waht2> is it like aol
04:45 -!- albino [n=albino@] has left #go-nuts []
04:46 < waht2> Solaris Remains Top Choice Among Fortune 100
04:46 < KirkMcDonald> Netcraft confirms it!
04:47 < waht2> yeah but over 10,000,000 final fantasy 7 fansites are hosted
on linux
04:47 < waht2> its serious stuff
04:48 < KirkMcDonald> Certainly!  Now, Final Fantasy 8 would be a different
04:48 -!- SoniaKeys [n=soniakey@c-76-118-178-209.hsd1.ma.comcast.net] has joined
04:49 < waht2> true freebsd truely dominates there
04:50 < waht2> chock up another win for bsd
04:50 < waht2> that'll teach those gpl guys
04:50 -!- peterallenwebb [n=peterall@c-68-40-48-227.hsd1.mi.comcast.net] has quit
04:51 < goplexian> yeah its not like Google Search is running on Linux or
04:53 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
04:53 < waht2> yeah but what does bing run
04:54 < waht2> thats the question
04:54 -!- gracchus [n=jesse@207-229-149-97.c3-0.stk-ubr1.chi-stk.il.cable.rcn.com]
has quit ["Leaving."]
04:54 < waht2> heh
04:54 < waht2> they use linux
04:55 < waht2> microsoft at least tried to act tough and use bsd
04:55 < waht2> back in the day
04:55 < drhodes> bing runs on the blood of kittens, I see them trucking em
in by the pallet every morning
04:55 < KirkMcDonald> Microsoft is more green than that.
04:56 < KirkMcDonald> They use the whole kitten.
04:56 < drhodes> ok, shelter kittens
04:56 < goplexian> and they recycle the blood afterwards, very small
04:57 < waht2> wow i didn't know bing had a finance section
04:58 < goplexian> you should check it out
04:59 < waht2> yeah
04:59 < waht2> its awesome
04:59 < waht2> wait so who is going to buy twitter google or microsoft
04:59 < waht2> or did they already get bought
04:59 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has joined
04:59 < anticw> this is getting very off-topic...
04:59 < jackman> Twitter is too annoying to be useful.
04:59 < jackman> So...  Microsoft.
04:59 < goplexian> heh
05:00 < waht2> but twitter is so hip
05:00 < waht2> oh
05:00 < waht2> i guess apple will buy it
05:00 -!- robot12 [n=root@robot12.kgts.ru] has joined #go-nuts
05:00 -!- Gracenotes [n=person@wikipedia/Gracenotes] has quit [Read error: 60
(Operation timed out)]
05:01 < waht2> when is baidu going to come out with an english version
05:01 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
quit []
05:01 < waht2> i can't wait for baidu to release a browser
05:01 < waht2> and a programming lanuage
05:01 < waht2> hell yeah
05:01 < anticw> seriously, i'm pretty 'loud' myself, but there are three or
more pages of pointless jabbering in scrollback...  can you lot perhaps just take
it somewhere else?
05:01 < jackman> google sponsored products aren't good enough for you?
05:01 < jackman> where should we go?
05:01 < waht2> google is ok but google is so "now" but baidu is the future
05:02 < waht2> i want to stay one step ahead of the curve
05:02 < anticw> jackman: make a channel
05:02 < waht2> leverage no technologies
05:02 < waht2> create new synnergies
05:02 < waht2> maximize the paradigm
05:02 < waht2> you know
05:03 < waht2> i want to leverage the best in breed to take my enterprise to
the next level
05:03 -!- Gracenotes [n=person@wikipedia/Gracenotes] has joined #go-nuts
05:04 -!- rndbot [n=bot@wikipedia/Gracenotes] has quit [Read error: 104
(Connection reset by peer)]
05:06 < waht2> i wonder
05:06 < waht2> is google too big to fail?
05:07 <+iant> This is getting really off-topic for this channel
05:07 < jackman> sorry
05:07 < jackman> i'll be quiet now.
05:07 <+iant> thanks
05:07 < waht2> go: great language or greatest language
05:09 < jackman> So...  Just out of curiousity, what is the thrust of this
05:09 < jackman> Is it supposed to be a help channel or just general
conversation related to go?
05:10 <+iant> Any of the above, I think, as long as it is in fact related to
Go somehow
05:10 < jackman> I just joined the mailing list and I was looking at the
05:10 < jackman> I am seeing that there is some contention about the
enforced curly brace placement.
05:11 < jackman> Was there a vote or was it just dictacted that all braced
functions must be followed by a brace on the same line?
05:11 < KirkMcDonald> I am not altogether fond of the newline/semicolon
change, in its current incarnation.
05:11 <+iant> After discussion, it was dictated
05:11 < KirkMcDonald> I like the idea of permitting newlines as statement
05:12 < KirkMcDonald> I do not like implemented it as a lexical hack.
05:12 < KirkMcDonald> implementing*
05:13 < waht2> seriously though why don't the go people just work on c++0x
05:13 < waht2> isn't it kind of vain to make a whole new systems language
05:13 < KirkMcDonald> waht2: Because so's yer face.
05:13 <+iant> waht2: I think that is covered in the FAQ
05:13 < jackman> I have always used main() \n { \n code \n }.  It makes the
code cleaner/easier to read IMHO.
05:13 < jackman> ya
05:13 < waht2> uhh
05:13 < jackman> i saw it in the faq
05:13 < waht2> heh
05:13 < jackman> but i just want the option.
05:14 <+iant> I meant the question about c++0x is in the FAQ
05:15 < waht2> i don't see it
05:15 < jackman> link?
05:15 < KirkMcDonald> I had been using a style where I was splitting
function signatures across multiple lines, but had to abandon it given the newline
05:15 < waht2> but also aren't they kind of overrating the compiling time
05:15 < KirkMcDonald> Which annoyed me.
05:15 <+iant> waht2:
05:15 < KirkMcDonald> waht2: No.
05:15 < waht2> does google have some huge private code that takes 100 hours
to compile or something
05:16 < KirkMcDonald> Creating a new language will not solve the compilation
times of existing C++ code-bases.
05:16 < waht2> why is saving compile time a big deal for a language that has
binary executables
05:16 < waht2> sure compile time maybe useful in something like perl but the
users aren't going to be compiling their operating system or browser
05:17 < KirkMcDonald> Clearly it is important to someone.
05:18 < waht2> yeah some guys at google with 20% of their work schedule to
fool around in
05:18 < jackman> the only easy fix i see is to include gofmt in a makefile
to convert all the code to new style into a new directory and compile that
05:19 < waht2> i mean are they envisioning some new advantage for having
users compile it or something
05:19 < KirkMcDonald> It is about having faster turnaround in the
development cycle.
05:19 < waht2> what kind of apps take that long to compile
05:20 < jackman> KirkMcDonald: are you talking about keystrokes, then?
05:20 < goplexian> serious ones 100k of C/C++ can take a while to compile,
and Go can do it in seconds
05:20 < jackman> my pinky has to do something or it'll feel left out.  :(
05:20 * mauke rants a bit about "C/C++"
05:20 < waht2> how long does a linux kernel take to compile
05:20 < jackman> 5 min?
05:20 < waht2> i don't bother compiling them anymore but i seem to remember
pretty fast
05:21 < waht2> yes
05:21 < waht2> so wow lets rewrite linux in go so it compiles in 30 seconds
05:21 < waht2> that will save time
05:21 < jackman> ya...
05:21 < mauke> or you could compile it using tinycc :-)
05:22 < jackman> So...  Are there other people who care about braces or am I
talking to myself?
05:22 < waht2> what is the issue with braces
05:23 < jackman> I like them on their own lines.  Go doesn't.
05:23 <+iant> the general feeling of the Go developers is that there should
be just one right way to format a program; it doesn't have to be the best possible
way, it just has to be adequate
05:24 < waht2> you can't put the bracket on its own line?
05:24 < waht2> doesn't that get ugly?
05:24 < jackman> iant: that sounds a little arrogant.
05:24 < waht2> so we all have to code in the style rob pike likes
05:24 < waht2> great
05:24 < anticw> waht2: you can compile a kernel in 30s right now
05:24 <+iant> jackman: the goal is not arrogance; it is removing style
issues as an issue
05:24 <+iant> there is a gofmt program which can rewrite Go programs into
the required style
05:24 < waht2> well then just imagine if we rewrite linux go it might
compile in 5 seconds!  imagine the savings in development time
05:24 < anticw> waht2: you don't *have* to do anything, you have choices
05:25 < jackman> iant: doesn't gofmt write the code back to the original
05:25 < waht2> but he just said you dont have a choice, you can't use the
bracket that way
05:25 < anticw> compilation time isn't that interesting, i wish it was never
made much a big deal of
05:25 <+iant> jackman: it can be used that way, but there are other ways to
use it also
05:25 < waht2> but thats one of the only real selling points
05:25 < jackman> iant: that means that i can't look at my style when I edit
the code again.
05:25 < anticw> waht2: http://python.org/
05:25 < waht2> what else do they have to make a big deal of
05:25 < waht2> what about python
05:26 < anticw> Go isn't for you, that's fine ...  move along then
05:26 < waht2> well if google wants this thing to help them dominate the
market you cant tell too many to move on
05:26 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has quit []
05:27 <+iant> Go is intended to be an alternative which we hope will be
useful both inside and outside of Google; our goal is not to dominate the market
05:27 -!- nealmcb [n=neal@ubuntu/member/nealmcb] has quit ["Leaving."]
05:27 < waht2> you work for google
05:27 <+iant> yes
05:27 < anticw> i dont
05:27 < anticw> and i'm the one who said it
05:28 < Ycros> waht2: you don't like it, well then, don't use it.  Thousands
of languages out there :)
05:29 < waht2> i'm just saying argueing over this syntax rules is like
arguing what color to paint a toolshed or how ever that old saying goes
05:29 < waht2> tell me what the language can do for me now how the brackets
are different from c
05:29 < waht2> who cares
05:30 < anticw> read the faq, check the examples
05:30 < KirkMcDonald> Or just read the spec.
05:30 < waht2> thats what was wrong with c++ i feel, the brackets where just
not right, maybe with new brackets we can have a better future
05:31 < anticw> if you think brackets are what was wrong with c++, well, i
think you'll find a lot of people who have bigger complaints
05:31 < Ycros> waht2: arguing over syntax rules IS like painting a bikeshed,
which is exactly why there is a set of rules for go, and a program to enforce them
05:32 < Ycros> jackman: but maybe that comment should have been pointed at
05:32 < jackman> Ycros: Ya...  I'm not too broken up about it.  I'll either
just adapt or use gofmt.  :)
05:33 < jessta> code formating is important, human beings do really good
pattern matching, but only if the pattern is visable
05:33 < jackman> Ycros: I was just hoping someone was taking votes.  :)
05:33 < jessta> having all go code with the same formating leads to
shallower bugs
05:34 < jackman> jessta: that's why i like lots of newlines and whitespace
(in response to pattern matching).
05:34 < Ycros> jackman: votes can be taken, and if accepted, gofmt can be
altered :P
05:34 < jackman> it's just easier.
05:34 < jessta> jackman: good for you, but bad for everyone else if it's
05:35 < jackman> Is the most efficient means of managing gofmt and my coding
style to incorporate it into makefile?
05:35 < anticw> teach your editor how to invoke gofmt
05:35 < jackman> well, yes, that's the idea -- i just don't want to ever see
the new style.  i want it kept hiddent from me.
05:36 < skelterjohn> why keep formatting hidden?
05:36 < skelterjohn> removes the point of formatting
05:36 < anticw> i think most common editors will have decent support fairly
soon, including formatting rules
05:37 < jackman> skelterjohn: it's just what we've been talking about.
humans are pattern matchers, but only with pattern's they're familiar with and can
easily be seen.
05:37 < anticw> iant: is here a plan to move the section that holds the
'reflection' data at some point?
05:37 < anticw> iant: i'm talking 6g/6l mostly
05:38 < jessta> jackman: learning a new style isn't hard, and it will allow
you to read other people's code
05:38 <+iant> anticw: move it where?  I'm not sure I understand the question
05:38 < skelterjohn> jackman: right, and if you have your editor hide the
true formatting somehow, you will never become familiar with the common go
05:38 < KirkMcDonald> It is even possible to convince e.g.  vim to use
different styles under different conditions.
05:38 < anticw> iant: it seems right now it looks like a symbol table so
strip removes it
05:38 < anticw> iant: and then the runtime barfs
05:38 < jackman> someone already mentioned on the mailing list the tendency
for jobs to stick with one coding style
05:39 < jackman> it's about flexibility
05:39 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
05:39 <+iant> anticw: that's interesting; could you open an issue for that
if there isn't one already?
05:39 < jackman> you're asking me (the human) to be flexible
05:39 < jackman> it seems like the software should be adapting to the human,
not the other way around.
05:39 <+iant> anticw: I think there is a general plan to add more standard
debug info, which might solve that problem
05:39 < skelterjohn> we've tried that
05:39 < skelterjohn> now we're trying the other way around ;)
05:40 -!- Xera` [n=brit@87-194-208-246.bethere.co.uk] has quit ["(
www.nnscript.com :: NoNameScript 4.21 :: www.esnation.com )"]
05:40 < anticw> iant: actually, what i see now is even worse, maybe strip is
horribly confused
05:41 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit []
05:41 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
05:42 -!- gnibbler_ [n=duckman@124-168-79-73.dyn.iinet.net.au] has joined #go-nuts
05:42 < jessta> jackman: the software is adapting to the human, just not one
05:42 < skelterjohn> humans are better at adapting than humans, anyway
05:43 < jackman> jessta: am i not human?
05:43 < skelterjohn> the only thing i don't like about gofmt is the one
liner functions
05:43 < skelterjohn> i like functions to be at least three lines
05:43 < jessta> skelterjohn: yeah, true
05:43 < skelterjohn> my eye sees a single line by itself as being a variable
05:43 < jessta> jackman: you're only one human
05:44 < jackman> jessta: yes, but i'm pretty sure i'm not the only one that
likes K&R.
05:44 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has quit [Client
05:44 < jessta> jackman: and K&R is for C
05:44 < jackman> jessta: are you suggesting the software only needs to adapt
to a specific set of humans, defined arbitrarily?
05:45 < goplexian> What do you think?  A little more fair and balanced?
05:45 < jackman> jessta: it's like saying green is superior.  we should all
wear green shirts.  if you're not wearing a green shirt, you can't paint.
05:45 < jessta> I'm sugguesting that the software should adapt to a standard
to make it easier for all humans
05:46 < skelterjohn> well, when the shirt color doesn't actually matter and
people call people with different colored shirts ugly...then let's just have on
colored shirt
05:46 < jackman> i'm not saying it's universally ugly.  i'm just saying i
don't like it.
05:47 < jackman> i like having my pencils on the right side of my drawer and
the pens on the left.
05:47 < jackman> i like using a dvorak keyboard.
05:47 < jackman> i like coke, not pepsi
05:47 < jackman> i have a choice.
05:47 < jackman> i work well with the choices that i make
05:47 < goplexian> I used dvorak for a couple months
05:47 < anticw> you can teach gofmt to work differently
05:47 < KirkMcDonald> I use K&R pretty much any time I use braces in any
05:47 < jessta> you like coke not pepsi, but do you want to coke bottle to
look like the pepsi bottle?
05:48 < NinoScript> I personally hate K&R style :P
05:48 < jackman> see?
05:48 < jackman> i don't care!
05:48 < jackman> use gofmt to output a variety of styles
05:48 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has quit [Read
error: 54 (Connection reset by peer)]
05:48 < jackman> if you like the recommended go style, then use it
05:48 < JBeshir> jackman: The problem is, other people need to be able to
read your code too.
05:49 < jackman> then use gofmt with the default settings
05:49 -!- Spaghettini [n=Spaghett@vaxjo6.150.cust.blixtvik.net] has joined
05:49 * goplexian is upset nobody cares he fixed wikipedia tonight :(
05:49 < JBeshir> jackman: Alternative styles would be like letting you pick
that everyone had to use a Dvorak keyboard.
05:49 < jackman> but the problem is that i have to add an additional step to
my coding process just so i can compile
05:49 < skelterjohn> you don't have to use gofmt to compile?!
05:49 -!- ingmar5 [n=ingmar@2001:41d0:2:7518:1:3:3:7] has joined #go-nuts
05:49 < jackman> you don't have to use gofmt unless you just happen to code
05:50 < KirkMcDonald> Personally, I use four-space indents on my own code.
So there.
05:50 < goplexian> you dont have to use gofmt at all
05:50 < jackman> all i'm saying is that human reading is one thing and
compiler reading is another.
05:50 < skelterjohn> running gofmt never causes code that doesn't compile to
start compiling
05:50 -!- KiNgMaR [n=ingmar@2001:41d0:2:7518:1:3:3:7] has quit [Read error: 113
(No route to host)]
05:50 < skelterjohn> except in the cases where a syntax change was made to
the language and gofmt was the chosen tool to change a file automatically
05:51 < anticw> iant: known issue it seems;
05:51 <+iant> anticw: OK, thanks
05:51 < KirkMcDonald> gofmt just gets and AST, then writes it back out, yes?
05:51 < KirkMcDonald> s/and/an/
05:51 < anticw> KirkMcDonald: the semi's change did make some stuff a bit
05:51 -!- gnibbler [n=duckman@124-168-93-3.dyn.iinet.net.au] has quit [Read error:
101 (Network is unreachable)]
05:51 < jackman> gcc doesn't care about coding style -- it just checks for
05:51 < jackman> go does
05:52 < jackman> the semicolons still get put in
05:52 < KirkMcDonald> anticw: Yet another reason why the semicolon stuff
should be part of the syntax and not a lexical hack.
05:52 < anticw> right, the lexer does this ...  so it's a bit more picky
about some lexer details
05:52 < jackman> it's just that someone decided that coding style needed to
be dictated
05:52 < JBeshir> jackman: Yes, it was.
05:53 < JBeshir> jackman: In order to ensure that code can always be read by
other coders.
05:53 < skelterjohn> this is just one of many "it used to be this way, and i
liked it this way" issues
05:53 < skelterjohn> things change
05:53 < jackman> I can read KNF just as well as I can read KR
05:53 < jackman> gcc will compile both
05:53 < skelterjohn> it was not uncommon for someone to look at someone
else's code and call it ugly because of brace and newline policies
05:53 < jackman> i don't have to change KNF to KR to compile, tho.
05:54 < jackman> so run it through something like gofmt to reformat it?
05:54 < jackman> it's not like they're gonna care
05:54 < jackman> change it back!
05:54 < skelterjohn> so, both KNF and KR brace styles would compile fine in
05:54 < jackman> i'm using examples.
05:55 < skelterjohn> use more relevant ones, then
05:55 < jackman> those work
05:55 < jackman> KNF doesn't use a newline before brace, KR does.
05:55 < jackman> http://en.wikipedia.org/wiki/Indent_style
05:56 < goplexian> iant, mind if I ask, is Ken Thompson more of a manager or
adviser to Go, or does he actually code, I don't see any patches going in with his
05:56 <+iant> He actually codes, he wrote most of the guts of the compiler;
there have been several compiler patches from him
05:56 < goplexian> ah cool, thanks
05:56 < jackman> is there at least a switch that i can use that will permit
me to say "don't put the semicolons in"?
05:57 < KirkMcDonald> jackman: This would be bad, to have such a thing.
05:57 < skelterjohn> don't know why you want that
05:57 < jackman> it's bad to have a switch?
05:57 < skelterjohn> code in different languages looks different
05:57 < KirkMcDonald> jackman: Yes!
05:57 < KirkMcDonald> jackman: This would effectively mean you have two
incompatible versions of the language.
05:57 < skelterjohn> no one is saying "change gcc to only allow KR"
05:57 < skelterjohn> this is a new language that looks different, so you can
adapt your familiar pattern set quickly
05:58 < NinoScript> I didn't know there were so many "named" styles
05:58 < jackman> all i want is braces on seperate lines.  if someone'll just
tell me how i can easily retain this coding style while being able to compile,
i'll shut up.
05:59 * goplexian is looking at a picture of Ken Thompson and Ritchie receiving a
medal from Pres Clinton
05:59 < skelterjohn> you can't.  go requires braces to be on the same line
05:59 < skelterjohn> that's how the language works.
05:59 < jackman> it wasn't always that way.
05:59 < anticw> jackman: you can't right now
05:59 < skelterjohn> now it is.
05:59 < jackman> the change was just a hack.
05:59 < skelterjohn> it was a change, however you describe the process by
which it happened
06:00 < jackman> was that a request?
06:00 < anticw> it's possible a cleaner implementation or later changes will
make things more robust, i'm pretty sure people would consider a patch making it
06:00 < KirkMcDonald> Hopefully they implement this functionality properly.
06:00 < goplexian> http://en.wikipedia.org/wiki/File:Medal_lg.jpeg
06:01 < jackman> by hack, i mean a shallow change.
06:01 < jackman> that's the way it's described in the documentation.
06:01 < jackman> if it's a shallow change, why not the switch?
06:01 < KirkMcDonald> I would also not object to removing the
newline-as-statement-separator entirely.
06:02 < KirkMcDonald> I would describe the change as a hack.
06:02 < jackman> switch = command line switch
06:02 < KirkMcDonald> As it was a simple change to the lexer, which sort of
did it, but was also the wrong place to do it.
06:02 < KirkMcDonald> jackman: Because then you have two incompatible
versions of the language.
06:03 < jackman> no...
06:03 < jackman> you have a compiler that will compile both.
06:03 < KirkMcDonald> jackman: Modulo the use of this switch.
06:04 < KirkMcDonald> jackman: Can you not imagine situations in which
building code could rapidly become intensely annoying, given the existence of such
a switch?
06:04 < jackman> ok...
06:04 -!- Garen [n=garen@cpe-75-87-255-36.natnow.res.rr.com] has quit [Read error:
110 (Connection timed out)]
06:04 < jackman> so what about making gofmt a part of the parsing process?
06:05 < skelterjohn> that is the same as "no gofmt"
06:05 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has quit [Read error: 104
(Connection reset by peer)]
06:05 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
06:06 < jackman> skelterjohn: what do you mean?
06:06 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
06:07 < skelterjohn> what does it mean to have gofmt as part of the parsing
process?  gofmt has to parse code in the first place
06:07 < skelterjohn> so if gofmt is part of parsing, and parsing is part of
gofmt, then parsing and gofmt are the same process
06:07 < skelterjohn> or some such
06:07 < jackman> gofmt makes the corrections that need to be made to
transition from old style to new style, no?
06:07 < skelterjohn> anyway it's all nonsense
06:08 < jackman> gofmt does parse, but it's not the only parsing that takes
place in the compiling process.
06:08 < jackman> the compiler has to do some parsing, also.
06:08 < jessta> jackman: the wikipedia article about K&R style seems to say
that the brace on it's own line for functions was due to a syntactic requirement
06:09 < anticw> the gofmt parser is NOT used by the compilers
06:09 < jackman> anticw: i'm not saying it is.
06:09 < anticw> if gofmt can 'fix' whatever style you chose into something
that compiles, then it's possible to make a compile using go/parser that would
work the way you wish
06:10 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit [Client Quit]
06:10 < anticw> in fact, that would be a great intern project for someone
06:10 < jackman> all i'm saying is if the code exists in gofmt to make the
corrections for old style to new, then why not tack it on to the front of the
06:10 < jackman> someone stated earlier that this was a dictated decision,
to make the syntax less flexible.
06:11 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
06:11 < jackman> i want to talk to the dictators so that such a change will
be possible.
06:11 < anticw> post politely to the list
06:11 < jackman> however it's done, i just want a compiler that's flexible
to style.
06:11 < goplexian> Google summer of code project?  =)
06:12 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit [Client Quit]
06:12 < KirkMcDonald> It would be something like a two-line change to
06:12 < KirkMcDonald> Maybe three.
06:15 < NinoScript> IMO, if you just use the hard-recommended style and code
daily, in (a lot) less than a week you'll be 100% productive again.
06:22 < skelterjohn> gofmt has two uses.  1) to enforce style 2) to update
massive amounts of code when a syntax change is made to the language
06:22 < skelterjohn> adding gofmt to the compile step seems weird to me
06:23 < jackman> ok...
06:24 < jackman> to help me understand better, i would like to
compare/contrast the go compile process to that of c++
06:24 < jackman> in c++, you have a precompile stage, a parsing stage, a
compile stage, and a linking stage
06:25 < jackman> (remove ignorance where needed)
06:25 < jackman> does go not follow a similar pattern?
06:25 < jackman> i assume there must be because the docs say they're jamming
in semicolons.
06:25 < jackman> if you want, i can dig up supporting statements (i read it
06:26 < skelterjohn> i don't think there is a precompile stage
06:26 < skelterjohn> no macros or anything
06:26 < skelterjohn> but i could be wrong
06:26 < skelterjohn> but i'm pretty sure parsing and compiling are two
distinct steps
06:28 < skelterjohn> anyway, seems like a silly topic
06:28 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has quit [Read error: 60
(Operation timed out)]
06:29 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has quit []
06:30 -!- SoniaKeys [n=soniakey@c-76-118-178-209.hsd1.ma.comcast.net] has quit []
06:31 -!- Elfix [i=elfix@divide.by.zero.at.shellium.org] has joined #go-nuts
06:48 -!- path[l] [i=UPP@] has quit []
06:50 -!- NinoScript [n=Adium@pc-201-142-239-201.cm.vtr.net] has quit ["Leaving."]
07:01 -!- rndbot [n=bot@wikipedia/Gracenotes] has joined #go-nuts
07:13 < goplexian> I have a func that returns a struct, the struct has 1
field which is `arr [][]int` now this works `z:=[][]int{x,y};return{z}` but this
does not work `return{[][]int{x,y}}` any ideas?
07:14 < jackman> a struct is a singular datatype recognized by the compiler
07:14 < goplexian> typo, actually this works `z:=[][]int{x,y};return
struct_x{z}` but this does not work `return struct_x{[][]int{x,y}}` any ideas?
07:14 < jackman> or specific
07:14 < jackman> as you choose
07:15 < jackman> does struct_x and z have to be working off the same type
07:15 < goplexian> let me just whip up a gopaste one sec
07:15 < jackman> even if they have the same internal composition, the
compiler may still choose to call them by different names if they are defined
07:17 < goplexian> aaaaaahhh!!!
07:18 < goplexian> gopaste down?
07:19 < jackman> Service Temporarily Unavailable
07:19 < goplexian> jackman, this will do
07:20 < jackman> i just posted to the mailing list btw
07:20 < jackman> you can tell me if i'm being to much of an ass.
07:21 < goplexian> doh, i seem to have left off a bracket
07:25 -!- Macpunk [n=macpunk@cpe-72-177-27-209.austin.res.rr.com] has joined
07:25 -!- mbarkhau1 [n=koloss@p54A7E38F.dip.t-dialin.net] has quit ["Leaving."]
07:25 -!- path[l] [n=path@] has joined #go-nuts
07:26 < jackman> ya..
07:26 < jackman> that seams a little bizarre to me
07:26 < goplexian> i know
07:30 < jackman> hold on...
07:30 < jackman> foo is a 2d array, no?
07:30 < goplexian> yes
07:31 < goplexian> a slice of int slices
07:31 < jackman> i dunno
07:31 < jackman> :(
07:31 < jackman> sorry
07:31 < goplexian> no it works, i just forgot a bracket
07:31 < jackman> oh
07:31 < jackman> lol
07:31 < jackman> i thought you meant just in the pastebin.  :P
07:32 < goplexian> ah no sorry, yeah im just sleep coding and forgot a
07:32 < goplexian> both expressions work
07:33 < jackman> ok
07:33 < jackman> i'm going home
07:33 < jackman> ttyl
07:33 < goplexian> cya
07:33 < jackman> thanks for the conversation.  :)
07:34 < goplexian> :P sorry for the confusion
07:34 < goplexian> off to bed, night all
07:36 -!- path[l] [n=path@] has quit []
07:36 -!- path[l] [n=path@] has joined #go-nuts
07:44 -!- codedread [i=180dd699@gateway/web/freenode/x-ndzueswvigiapnpw] has
joined #go-nuts
07:44 -!- codedread [i=180dd699@gateway/web/freenode/x-ndzueswvigiapnpw] has left
#go-nuts []
07:45 < gnuvince> Does anyone know who that qtvali that posts 270 times per
day on the mailing list is?
07:58 < vegai> rob pike's alter ego
08:06 -!- amorpisseur [n=analogue@toulouse.jfg-networks.net] has quit [Read error:
54 (Connection reset by peer)]
08:08 -!- amorpisseur [n=analogue@toulouse.jfg-networks.net] has joined #go-nuts
08:08 -!- amorpisseur [n=analogue@toulouse.jfg-networks.net] has quit [Client
08:09 < jessta> gnuvince: a genius, I'm sure
08:10 < jessta> and I wish he'd get a blog already
08:10 < rauli> has anyone wrapped SDL to go yet?
08:14 -!- amorpisseur [n=analogue@toulouse.jfg-networks.net] has joined #go-nuts
08:16 -!- ShadowIce [i=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
08:16 < jessta> rauli: http://github.com/banthar/Go-SDL
08:17 < jessta> rauli: if you're looking for more bindings for stuff,
http://go-lang.cat-v.org has a bunch of links
08:18 < rauli> SDL and OpenGL are enough for me :)
08:30 -!- murodes1 [n=James@124-169-145-61.dyn.iinet.net.au] has joined #go-nuts
08:30 -!- jhh [n=jhh@f049132220.adsl.alicedsl.de] has joined #go-nuts
08:38 -!- Garen [n=garen@] has joined #go-nuts
08:49 -!- murodese [n=James@124-169-145-61.dyn.iinet.net.au] has quit [Read error:
110 (Connection timed out)]
08:52 -!- lizzzy [i=7aac02eb@gateway/web/freenode/x-zljpxdhnywrfryqw] has joined
08:57 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has quit [Read error: 110 (Connection
timed out)]
08:57 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has joined #go-nuts
08:58 -!- lizzzy [i=7aac02eb@gateway/web/freenode/x-zljpxdhnywrfryqw] has quit
[Ping timeout: 180 seconds]
09:04 -!- c0nfl|ct [n=tiago@] has joined #go-nuts
09:13 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Read
error: 54 (Connection reset by peer)]
09:14 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
09:14 -!- mode/#go-nuts [+v iant] by ChanServ
09:16 -!- djh4u [n=dunno@cpe-24-95-54-134.columbus.res.rr.com] has quit [Read
error: 110 (Connection timed out)]
09:19 -!- tibshoot [n=tibshoot@linagora-230-146.pr0.nerim.net] has joined #go-nuts
09:23 -!- kanru [n=kanru@61-30-10-70.static.tfn.net.tw] has quit [Read error: 110
(Connection timed out)]
09:25 -!- GeoBSD [n=geocalc@lns-bzn-53-82-65-18-29.adsl.proxad.net] has joined
09:26 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
09:29 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 60 (Operation timed out)]
09:34 -!- decriptor [n=decripto@53.250.sfcn.org] has quit [Read error: 113 (No
route to host)]
09:48 -!- Macpunk [n=macpunk@cpe-72-177-27-209.austin.res.rr.com] has quit
09:49 -!- trez [n=trez@c-89-233-232-78.cust.bredband2.com] has quit [Read error:
110 (Connection timed out)]
09:50 -!- zaker [n=zaker@] has joined #go-nuts
09:50 -!- zaker_ [n=zaker@] has joined #go-nuts
09:56 -!- byteb0x [n=quassel@] has joined #go-nuts
09:58 -!- dagle [n=dagle@host162-104.bornet.net] has quit [Excess Flood]
09:58 -!- teedex [n=teedex@adsl-75-36-137-249.dsl.pltn13.sbcglobal.net] has quit
[Remote closed the connection]
09:59 -!- dagle [n=dagle@host162-104.bornet.net] has joined #go-nuts
10:00 < byteb0x> need link to complete ref fo GO ..  site checked ...
10:01 < jessta> huh?
10:01 < jessta> it's on the site
10:04 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
10:05 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
10:05 -!- Xeon [n=chatzill@] has joined #go-nuts
10:06 -!- triplez [n=triplez@] has joined #go-nuts
10:07 -!- tomestla [n=tom@] has joined #go-nuts
10:15 -!- iwikiwi [n=iwikiwi@] has quit ["Computer has gone to sleep"]
10:18 -!- jhh [n=jhh@f049132220.adsl.alicedsl.de] has quit [Read error: 60
(Operation timed out)]
10:19 -!- jhh [n=jhh@f048076072.adsl.alicedsl.de] has joined #go-nuts
10:22 -!- gnibbler [n=duckman@203-217-94-6.dyn.iinet.net.au] has joined #go-nuts
10:23 -!- byteb0x [n=quassel@] has quit [Read error: 110 (Connection
timed out)]
10:24 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit [Success]
10:26 -!- path[l] [n=path@] has quit []
10:26 -!- path[l] [n=path@] has joined #go-nuts
10:34 -!- gnibbler_ [n=duckman@124-168-79-73.dyn.iinet.net.au] has quit [Read
error: 101 (Network is unreachable)]
10:44 -!- b00m_chef__ [n=watr@host-212-68-232-232.brutele.be] has joined #go-nuts
10:57 -!- elmar [n=elmar@] has joined #go-nuts
11:03 -!- triplez [n=triplez@] has quit [Read error: 104 (Connection
reset by peer)]
11:04 -!- c0nfl|ct [n=tiago@] has quit [Read error: 104 (Connection
reset by peer)]
11:04 -!- c0nfl|ct [n=tiago@] has joined #go-nuts
11:10 -!- highb_ [n=highb@shell.onid.oregonstate.edu] has joined #go-nuts
11:11 -!- highb [n=highb@shell.onid.oregonstate.edu] has quit [Read error: 101
(Network is unreachable)]
11:14 -!- talin [n=dag@fw.nteb.no] has joined #go-nuts
11:14 -!- afurlan [n=afurlan@scorpion.mps.com.br] has joined #go-nuts
11:23 -!- murodese [n=James@203-206-91-210.dyn.iinet.net.au] has joined #go-nuts
11:24 -!- oal [n=olav@5.79-160-122.customer.lyse.net] has joined #go-nuts
11:29 -!- murodes1 [n=James@124-169-145-61.dyn.iinet.net.au] has quit [Read error:
60 (Operation timed out)]
11:31 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has quit []
11:32 -!- gkmngrgn [n=gkmngrgn@] has joined #go-nuts
11:54 -!- talin [n=dag@fw.nteb.no] has quit ["Leaving"]
11:54 -!- b00m_chef__ [n=watr@host-212-68-232-232.brutele.be] has quit [Connection
timed out]
11:59 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Read
error: 104 (Connection reset by peer)]
11:59 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
12:00 -!- mode/#go-nuts [+v iant] by ChanServ
12:05 -!- ShadowIce` [i=pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
12:07 -!- niekie_ [i=quasselc@CAcert/Assurer/niekie] has joined #go-nuts
12:07 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
12:07 -!- JSharpe2 [n=jamie@5adaeab6.bb.sky.com] has joined #go-nuts
12:08 -!- Netsplit kornbluth.freenode.net <-> irc.freenode.net quits:
senneth, skerner, tokuhiro_, oal, ShadowIce, nickjohn1on, General1337, murodese,
philips, me__, (+24 more, use /NETSPLIT to show all of them)
12:08 -!- iwikiwi [n=iwikiwi@] has joined #go-nuts
12:08 -!- Netsplit over, joins: mycroftiv, me__, rndbot, General1337, skerner,
nickjohn1on, +iant, oal, murodese, highb_ (+24 more)
12:09 -!- oal [n=olav@5.79-160-122.customer.lyse.net] has quit [SendQ exceeded]
12:09 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[SendQ exceeded]
12:09 -!- murodes1 [n=James@203-206-91-210.dyn.iinet.net.au] has joined #go-nuts
12:09 -!- xid [n=xid@narc.oti.cz] has quit [Remote closed the connection]
12:10 -!- roto [n=roto@] has quit [SendQ exceeded]
12:10 -!- JSharpe [n=jamie@5adaeab6.bb.sky.com] has quit [SendQ exceeded]
12:10 -!- senneth [i=senneth@irssi/staff/senneth] has quit [Remote closed the
12:10 -!- senneth [i=senneth@irssi/staff/senneth] has joined #go-nuts
12:10 -!- murodese [n=James@203-206-91-210.dyn.iinet.net.au] has quit [Connection
reset by peer]
12:10 -!- eharmon [n=eharmon@] has quit ["ZNC -
12:11 -!- oal [n=olav@5.79-160-122.customer.lyse.net] has joined #go-nuts
12:11 -!- roto [n=roto@] has joined #go-nuts
12:11 -!- eharmon [n=eharmon@] has joined #go-nuts
12:11 -!- xid [n=xid@narc.oti.cz] has joined #go-nuts
12:12 -!- stalled [n=411@unaffiliated/stalled] has quit [Excess Flood]
12:13 -!- stalled [n=411@unaffiliated/stalled] has joined #go-nuts
12:18 -!- iwikiwi [n=iwikiwi@] has quit ["I ascend to reality!"]
12:22 -!- ShadowIce [i=pyoro@unaffiliated/shadowice-x841044] has quit [Read error:
113 (No route to host)]
12:34 -!- hyakuhei [n=hyakuhei@] has joined #go-nuts
12:38 -!- nanoo [n=nano@95-89-198-45-dynip.superkabel.de] has joined #go-nuts
12:56 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
12:57 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Read
error: 104 (Connection reset by peer)]
12:58 -!- DerHorst [n=Horst@e176122217.adsl.alicedsl.de] has joined #go-nuts
13:01 -!- Henry_georgeist
[n=g@216-15-115-10.c3-0.bkl-ubr2.sbo-bkl.ma.cable.rcn.com] has joined #go-nuts
13:01 < Henry_georgeist> hello all
13:01 < Henry_georgeist> how goes it?
13:09 < jhh> hi Henry
13:09 < jhh> it goes well, I'm defeating goyacc
13:11 < jhh> how are you, sir?
13:16 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has joined #go-nuts
13:17 < napsy> are there any packages to do web programming in go?
13:18 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Remote closed the
13:20 -!- iant [n=iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has joined
13:20 -!- mode/#go-nuts [+v iant] by ChanServ
13:34 -!- jhh [n=jhh@f048076072.adsl.alicedsl.de] has quit []
13:36 -!- c0nfl|ct [n=tiago@] has quit ["Saindo"]
13:37 -!- mssm [n=mssmfs@ip-95-221-91-60.bb.netbynet.ru] has joined #go-nuts
13:47 -!- afurlan [n=afurlan@scorpion.mps.com.br] has quit [Remote closed the
13:53 < dho> good morning sirs and potential madams
13:54 < dho> napsy: there is pkg/http in the tree, and there is also webgo
13:56 < napsy> thanks
13:57 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has joined
14:02 < dho> no problem
14:08 -!- alc [n=alc@] has joined #go-nuts
14:10 -!- p0g0__ [n=pogo@unaffiliated/p0g0] has quit [Read error: 110 (Connection
timed out)]
14:14 -!- murodes1 [n=James@203-206-91-210.dyn.iinet.net.au] has quit [Read error:
54 (Connection reset by peer)]
14:14 -!- murodese [n=James@203-206-91-210.dyn.iinet.net.au] has joined #go-nuts
14:46 -!- deso [n=deso@x0561a.wh30.tu-dresden.de] has joined #go-nuts
14:46 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
14:50 -!- jhh [n=jhh@f048076072.adsl.alicedsl.de] has joined #go-nuts
14:54 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
14:56 < dho> well, finally a tow truck comes.  it's nasty snow today
14:58 -!- alc [n=alc@] has quit []
15:08 -!- raichoo [n=raichoo@i577ACDF2.versanet.de] has joined #go-nuts
15:08 -!- ztzg [n=dash@dslb-084-057-006-196.pools.arcor-ip.net] has quit [Remote
closed the connection]
15:14 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
15:14 -!- p0g0 [n=pogo@unaffiliated/p0g0] has joined #go-nuts
15:18 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has quit [Remote closed the
15:27 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
15:31 -!- jdp [n=justin@] has quit [Remote
closed the connection]
15:36 -!- hcatlin [n=hcatlin@pdpc/supporter/professional/hcatlin] has quit []
15:38 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has joined
15:41 -!- deso [n=deso@x0561a.wh30.tu-dresden.de] has quit [Read error: 104
(Connection reset by peer)]
15:43 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit []
15:44 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
15:49 -!- gracchus [n=jesse@207-229-149-97.c3-0.stk-ubr1.chi-stk.il.cable.rcn.com]
has joined #go-nuts
15:51 < jhh> dho: how's cgo going?
15:52 -!- tbellefy [n=tbellefy@bouncer.adicio.com] has joined #go-nuts
15:52 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has joined #go-nuts
15:54 -!- chickamade [n=chickama@] has joined #go-nuts
15:57 < jhh> yay my first goyacc parser works!
15:57 -!- tomestla [n=tom@] has quit [Read error: 110 (Connection
timed out)]
15:59 -!- SirDigbyC [n=Glasswor@c-98-213-216-224.hsd1.il.comcast.net] has joined
15:59 -!- SirDigbyC [n=Glasswor@c-98-213-216-224.hsd1.il.comcast.net] has left
#go-nuts []
15:59 -!- eulenspiegel [n=eulenspi@unaffiliated/eulenspiegel] has joined #go-nuts
16:00 -!- amorpisseur [n=analogue@toulouse.jfg-networks.net] has quit []
16:02 -!- lmoura [n=lauromou@] has quit [Remote closed the
16:12 -!- scm_ [i=justme@c176133.adsl.hansenet.de] has joined #go-nuts
16:12 -!- chickamade [n=chickama@] has quit ["Leaving"]
16:16 -!- DerHorst [n=Horst@e176122217.adsl.alicedsl.de] has quit [Remote closed
the connection]
16:18 -!- tomestla [n=tom@] has joined #go-nuts
16:25 -!- scm [i=justme@c133140.adsl.hansenet.de] has quit [Read error: 110
(Connection timed out)]
16:26 -!- prip [n=_prip@host148-120-dynamic.42-79-r.retail.telecomitalia.it] has
quit [Read error: 60 (Operation timed out)]
16:27 -!- skelterjohn [n=jasmuth@c-76-99-92-193.hsd1.nj.comcast.net] has quit []
16:32 -!- tibshoot [n=tibshoot@linagora-230-146.pr0.nerim.net] has quit [Remote
closed the connection]
16:35 -!- Daminvar [n=Daminvar@cpe-67-241-129-149.buffalo.res.rr.com] has quit
[Read error: 110 (Connection timed out)]
16:37 -!- newb [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit []
16:37 < dho> jhh: got all the patches that i'm getting done for now done
16:37 < dho> jhh: working on proc/debug for freebsd right now
16:38 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
16:39 -!- plainhao [n=plainhao@mail.xbiotica.com] has quit []
16:39 -!- Daminvar [n=Daminvar@cpe-67-241-129-149.buffalo.res.rr.com] has joined
16:39 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit [Client Quit]
16:41 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has joined #go-nuts
16:41 -!- prip [n=_prip@host76-195-dynamic.17-79-r.retail.telecomitalia.it] has
joined #go-nuts
16:43 -!- Daminvar [n=Daminvar@cpe-67-241-129-149.buffalo.res.rr.com] has quit
[Client Quit]
16:44 < jhh> is there some documentation about how to use gotest without the
usual makefiles?
16:44 -!- [[sroracle]] [n=sroracle@c-98-215-178-14.hsd1.in.comcast.net] has joined
16:44 -!- woremacx [n=woremacx@unaffiliated/woremacx] has left #go-nuts
16:45 < jhh> it seems to run "make testpackage" for some reason, but why do
i specify .go files?
16:56 -!- Refefer [n=Refefer@c-98-218-140-22.hsd1.va.comcast.net] has joined
16:57 -!- Rob_Russell [n=chatzill@75-119-229-89.dsl.teksavvy.com] has joined
16:57 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
17:00 -!- Venom_X [n=pjacobs@c-76-31-231-95.hsd1.tx.comcast.net] has joined
17:04 < usa> jhh, can you explain a little more about what you mean by "the
usual makefiles"?  gotest is a shell script that checks to see if there is a
Makefile (or makefile) in the current directory and aborts if there is none
17:06 < usa> It assembles a list of files that you specify, or if none it
uses *_test.go
17:06 < jhh> i'm not including %GOROOT/src/Make.pkg, to keep things local.
i think i figured out what targets i need to be able to run gotest
17:07 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has joined
17:08 < jhh> "gotest ." seems to work.  it seems to run "make testpackage",
then "make importpath" to find the package built
17:08 < usa> I don't find gotest very hard to read.  It is written with
portability in mind so some of the constructs look a tille weird.
17:11 < usa> ^tille^little^ It runs 'gomake testpackage-clean' then 'gomake
testpackage GOTESTFILES="list of files, which are the *_test.go"', or in your case
'gomake testpackage GOTESTFILES="."'
17:15 < jhh> ah okay
17:15 < usa> It then runs 'gomake -s importpath' and that should just ouput
the name of a file in _test, that ends in ".a" (you don't specify the ".a"), and
it then runs "6nm" on that to get the functions.
17:15 < jhh> but gotest would look for *_test.go to pass them to 'gomake
testpackge' in the environment
17:15 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
17:16 < jhh> thanks, usa
17:17 < usa> Probably worth doing something like cd $GOROOT/src/pkg/os; bash
-x $(type -p gotest)
17:18 < usa> to see what it is actually doing.  You can also run "gomake -n
testpackage-clean; gomake -n testpackage; gomake -n importpath"
17:19 -!- woremacx [n=woremacx@unaffiliated/woremacx] has joined #go-nuts
17:22 -!- Metaphorically [n=chatzill@75-119-229-89.dsl.teksavvy.com] has joined
17:22 -!- Metaphorically [n=chatzill@75-119-229-89.dsl.teksavvy.com] has quit
[Remote closed the connection]
17:22 < jhh> yay it works1
17:28 -!- skelterjohn [n=jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
17:28 -!- tomestla [n=tom@] has quit ["Leaving."]
17:32 -!- keeto [n=keeto@] has joined #go-nuts
17:34 < skelterjohn> jhh: I was unable to download your lex from the wave,
and i'm curious to see how you did it
17:34 -!- p0g0 [n=pogo@unaffiliated/p0g0] has quit [Read error: 110 (Connection
timed out)]
17:34 < skelterjohn> maybe it's something useful enough to stick in the
goyacc folder, instead of that crufty Lex() that's already there?
17:35 < jhh> i'll upload and link to it
17:35 -!- decriptor [n=decripto@53.250.sfcn.org] has joined #go-nuts
17:35 < jhh> the one i just wrote is not in the wave
17:36 < skelterjohn> i had some thoughts on a better lex, but not an
abundance of free time and I wanted to see how you did it first, anyway :)
17:36 < skelterjohn> no point in doing it right twice when you can do it
right once
17:37 -!- Rob_Russell [n=chatzill@75-119-229-89.dsl.teksavvy.com] has quit [Read
error: 113 (No route to host)]
17:38 < jhh> the one in the wave (aka the old one) has a scanner similar to
the units.y
17:38 < skelterjohn> yeah let's not do that
17:39 -!- p4p4 [n=P4p4@] has joined #go-nuts
17:40 -!- p0g0 [n=pogo@unaffiliated/p0g0] has joined #go-nuts
17:41 < jhh>
17:41 -!- woremacx [n=woremacx@unaffiliated/woremacx] has left #go-nuts
17:42 -!- binaryjohn [n=binaryjo@cpe-24-30-132-50.san.res.rr.com] has quit []
17:42 < jhh> that's a simple parser, but it already works (see the tests)
17:44 -!- sinuhe [n=user@kaptah.deevans.net] has joined #go-nuts
17:44 < skelterjohn> i wonder, are compiled REs too slow to use inside
17:45 < skelterjohn> i once made a tokenizer, where speed was not a
consideration, that had a list of REs that it would try to match to the stream
17:45 < skelterjohn> they were ordered, and as soon as one got a hit, it at
that input and produced a token
17:45 < dho> skelterjohn: various versions of lex use POSIX regexps to match
tokens, so no.
17:45 < dho> I don't think it's too slow.
17:46 < jhh> a real lexer should compile all regexps into one automaton
17:46 < skelterjohn> yeah that's true
17:46 < jhh> that's what's done manually in the Lex() functions
17:46 < skelterjohn> i see
17:47 < skelterjohn> last time i compiled an RE by hand was in a undergrad
programming languages class
17:47 -!- Refefer [n=Refefer@c-98-218-140-22.hsd1.va.comcast.net] has quit [Read
error: 60 (Operation timed out)]
17:47 < jhh> i don't know if it's worth coming up with one...  there should
be one in the gnu utils
17:47 < jhh> how is it called?
17:47 < dho> flex?
17:47 < skelterjohn> how is what called?
17:47 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
joined #go-nuts
17:48 < skelterjohn> oh
17:48 < jhh> flex
17:48 < jhh> true
17:48 < jhh> why is there no port?  to much work?
17:49 < skelterjohn> one thing at a time, i suppose
17:49 -!- Demp_ [n=Demp@bzq-79-176-26-96.red.bezeqint.net] has quit [Read error:
54 (Connection reset by peer)]
17:49 < dho> question.
17:49 < jhh> i mean most of the time we have no problems with that theres no
17:50 -!- djh4u [n=duchbag@cpe-24-95-54-134.columbus.res.rr.com] has joined
17:50 < jhh> because we usually don't need a lookahead to decide for a token
17:50 -!- Demp [n=Demp@bzq-109-66-1-109.red.bezeqint.net] has joined #go-nuts
17:50 < jhh> we don't need backtracking
17:50 < dho> if anybody has used unsafe -- if I pass in an array (or slice)
to a function, can I uintptr(unsafe.Pointer(slice)) that?
17:51 < dho> similar to in C, if a function is int foo(int *bar), I can do
int bar[5] = {0,1,2,3,4}; foo(bar)
17:51 < jhh> maybe programming a lexer is fun.  an LALR automaton certainly
is not
17:52 < WalterMundt> dho: probably, but I'd think
uintptr(unsafe.Pointer(&slice[0])) might be better
17:53 < dho> ok.
17:53 * dho is wrapping FreeBSD's ptrace(2)
17:53 < WalterMundt> (this not being C, I believe &foo[0] is not equivalent
to foo)
17:54 < skelterjohn> arrays and pointers being two different types
17:54 -!- Guest87385 [n=eharmon@] has quit ["ZNC -
17:55 < dho> unsafe seems to imply that the type doesn't matter
17:55 < dho> I just wonder what the practical difference is between foo and
&foo[0] is in go
17:55 < WalterMundt> type doesn't matter
17:55 < WalterMundt> well try both and print the addresses
17:55 < skelterjohn> are arrays and pointers the same thing underneath?  do
only slices know their bounds?
17:55 < WalterMundt> well, the former might not compile
17:56 < WalterMundt> skelterjohn: arrays know their bounds at compile time
17:56 < skelterjohn> so then an array is different from a pointer, safe or
17:56 -!- keeto [n=keeto@] has quit [Read error: 113 (No route to
17:56 -!- eharmon [n=eharmon@] has joined #go-nuts
17:56 < skelterjohn> (questions, not statements)
17:56 < WalterMundt> yeah
17:57 < WalterMundt> it might look the same in memory, except the Go
runtime's type tag will point at info on the array such as its bounds
17:57 < WalterMundt> I don't know how the runtime knows what types things
are precisely, but it obviously does
17:59 -!- nanoo [n=nano@95-89-198-45-dynip.superkabel.de] has quit ["Leaving"]
17:59 -!- Xera^ [n=brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
17:59 < WalterMundt> dho: unsafe.Pointer can IIRC only convert from other
pointer types
17:59 < WalterMundt> a slice is not a pointer, though you could also do
18:00 < WalterMundt> that would probably get you the memory location of the
slice metadata (pointer/len/cap) though
18:00 < dho> hm, ok
18:00 < dho> that's a bit failtastic
18:00 < dho> how the hell am i supposed to pass an array of ints into the
18:01 < WalterMundt> like I said, uintptr(unsafe.Pointer(&(intslice[0])))
18:01 < WalterMundt> get the address of the first int in the slice and hand
it over
18:01 < skelterjohn> that's a mouthful
18:02 < WalterMundt> I've done the same thing with byte arrays for string
manip functions that want a read/write character buffer
18:03 < WalterMundt> if the function actually takes an int* you can dispense
with the unsafe conversions
18:03 < WalterMundt> (I think)
18:04 < jhh> skelterjohn: let me know what you think about what's happening
there in the parser, when you looked at it
18:05 < dho> aha
18:05 < dho> yea, syscall_linux does it for its ptrace implementation
18:05 < dho> e.g
18:05 < dho> ptrace(peekReq, pid, addr-addr%sizeofPtr,
18:06 < dho> where buf is [sizeofPtr]byte
18:06 < skelterjohn> jhh: it looks appropriate for what you want...  but if
everyone has to write the FSM by hand there will be a riot :)
18:07 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has quit [Read error:
110 (Connection timed out)]
18:08 < waht2> is go the ultimate
18:08 < skelterjohn> i looked at what flex outputs...i don't relish the task
of porting that.
18:08 < skelterjohn> waht2: yes, go is the ultimate.
18:09 < waht2> awesome
18:11 < jhh> skelterjohn: FSM?  I thought you do FLM?
18:11 < skelterjohn> what's a FLM
18:11 < jhh> FSM doesn't make sense, does it?
18:11 < jhh> First longest match
18:11 < jhh> I thought
18:11 < skelterjohn> finite state machine?  regexps are compiled to finite
state machines
18:11 < jhh> ahahaha
18:11 < skelterjohn> i didn't mean first shortest match...  hah
18:11 < jhh> okay :)
18:12 < waht2> do you think eventually compiles will optimize for mutlicores
instead of the programmer having to do it by hand
18:12 < skelterjohn> waht2: there are experimental compilers that do this
sort of thing now
18:12 < waht2> i mean couldn't some advanced compiler look at the code and
find the best places
18:12 < waht2> interested
18:12 < skelterjohn> i think compilers for, eg, cray machines have all sorts
of cool optimizations
18:12 < waht2> interesting i mean
18:12 < skelterjohn> i think that's the wrong approach, though
18:13 < skelterjohn> i think a language should make it easy for the
programmer to spread computation when he/she wants to
18:13 < dho> cray machines are just big heaps of amd64 clusters with fast
proprietary interconnects now
18:13 < skelterjohn> dho: and specialized compilers that look for
opportunities to vectorize and parallelize code
18:13 < waht2> yeah but people said that about memory allocation too but
later decided letting programmers fidle pointers and manage their own memory cause
too much insecurity and error
18:13 < waht2> so couldn't threads end up like that
18:14 < skelterjohn> waht2: eventually, but letting the humans do it is a
good way to figure out the best ways to do things
18:14 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has joined #go-nuts
18:14 < dho> that's why C still exists.
18:14 < skelterjohn> eventually we'll just tell the robot what we want
18:14 < skelterjohn> and it will figur eit out
18:14 < dho> I hope not
18:14 < WalterMundt> some of us might
18:14 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has joined #go-nuts
18:14 < skelterjohn> in the mean time we have programming languages that
allow us to express our desires
18:14 < WalterMundt> the rest will still be writing C or something like Go
18:16 < dho> the list is quiet with all of qtvali's posts (and anybody
replying to them) going to the trash
18:16 < WalterMundt> Maybe someone will come up with something more
natural-language like for programming.  I'm thinking
Lojban-as-programming-language, or some set of conventions on English that remove
ambiguities.  Then again, we have COBOL as an example of what not to do in that
18:17 < waht2> who is this qtivali guy
18:17 < waht2> why is he so famous
18:17 < WalterMundt> try infamous
18:17 < skelterjohn> he just posts reams of garbage to the mailing list
18:17 < waht2> thats why i dont sign up for mailing lists
18:17 < skelterjohn> the signal to noise ratio is really really low
18:17 < waht2> i'll look for it in an archive if i need something
18:17 < skelterjohn> it's a google-group
18:17 < skelterjohn> i don't have it come to my inbox
18:17 < skelterjohn> i just go to the webpage
18:17 < WalterMundt> I wonder how old he is and what he does for a living
sometimes.  Other times I think I don't want to know.
18:18 < skelterjohn> http://groups.google.com/group/golang-nuts
18:18 < dho> WalterMundt: whatever he does, apparently he's been doing it
for 16 years
18:18 < jhh> WalterMundt: muahahaha
18:19 < jhh> I'm really surprised how many people put so much effort into
go, that they can hardly have any spear time.
18:19 < skelterjohn> grad students
18:19 < skelterjohn> i spent about two weeks doing gomatrix and not much
else, to the detriment of my research
18:19 < dho> <_<
18:20 < skelterjohn> and dho, of course.  grad students and dho.
18:20 < waht2> any time a new and uneeded scripting lang or os kernel is
born it;s usually a grad student with no useful thesis ideas
18:20 < dho> i am the exception to all
18:21 < WalterMundt> I steal time from my day job to chat about it and
tinker, and then go home and write code sometimes.  Of course, no releases because
I do occasionally have other things to do in my time off.
18:22 < dho> I'd love to get a job working on / with go
18:23 < dho> to bad nobody has (or likely will have any time soon) any
vested interest in go, let alone freebsd/go
18:23 < skelterjohn> if it catches on big one day, our resumes will look
18:23 < WalterMundt> Technically I'm supposed to be sysadmining nowadays,
but I still need to write some code now and again
18:25 < dho> skelterjohn: I think that's not likely to happen for some years
18:25 < jhh> I somehow suspected dho was paid by some company (which would
be running FreeBSD of course) to fuel go to make it usable in the company.  But I
woke up.
18:25 < dho> i wish
18:25 < dho> i don't really care about operating systems anymore (from a
usage standpoint)
18:25 < dho> but I used to be a really big FreeBSD zealot
18:26 < dho> which still means that I usually won't run anything else
18:26 -!- oal [n=olav@5.79-160-122.customer.lyse.net] has quit [Read error: 104
(Connection reset by peer)]
18:26 -!- path[l] [n=path@] has quit []
18:26 < jhh> WalterMundt: are you as german as your name sounds?
18:26 < dho> And I like go, so, not having anything else to run it on, I
needed to port it first :\
18:26 < jhh> hehe
18:27 < dho> i still need to write that porting document
18:27 -!- oal [n=olav@5.79-160-122.customer.lyse.net] has joined #go-nuts
18:27 < WalterMundt> jhh: not a bit.  About half of my ancestry comes from
there, but personally I'm pretty thoroughly Americanized
18:28 < jhh> shift/reduce conflicts are kind of hard to defeat
18:29 < jhh> WalterMundt: at least I wasn't totally wrong :)
18:30 < WalterMundt> I'd make a terrible German though.  I don't like beer
or sauerkraut :p
18:30 < dho> !
18:30 * dho larts WalterMundt
18:31 < skelterjohn> beer, sauerkraut...wonderful things
18:31 < skelterjohn> <-is as german as WalterMundt, and in the same way
18:32 < jhh> but your name does not reveal you
18:33 < dho> I lived in Holland for a few years
18:33 < dho> and I love beer and sauerkraut
18:33 < WalterMundt> dho: don't worry, you can have my beer and sauerkraut
18:33 < dho> \m/
18:33 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
quit []
18:33 < jhh> if you like Dutch beer, you should taste German
18:34 * skelterjohn responds to a Qtvali post
18:34 < jhh> ;
18:34 < jhh> ;)
18:34 < skelterjohn> jhh: my name reveals me if you are a gemran
18:34 < skelterjohn> asmuth is a not too uncommon surname in germany
18:34 < WalterMundt> The latter is just a specific case of a general
antipathy to anything containing vinegar
18:34 < dho> Ugh, I can't tell if this distortion is the song, the
headphones or the amp
18:35 < WalterMundt> oh, no
18:35 < WalterMundt> that's cole slaw
18:35 < jhh> WalterMundt: so you would make a bad Britain, too :)
18:35 < WalterMundt> oh, yeah, though I really fine steak and potatoes to be
perfectly fine
18:35 < WalterMundt> er, find
18:35 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit ["No Ping reply
in 180 seconds."]
18:36 -!- [[sroracle]] [n=sroracle@c-98-215-178-14.hsd1.in.comcast.net] has joined
18:37 -!- difekta [n=clays@] has joined #go-nuts
18:37 < jhh> skelterjohn: I never heard it before.  Not consciously at
least.  But I suspected it because it sounds weird if I try to pronounce it
18:37 < skelterjohn> yeah...
18:37 < skelterjohn> i went through gradeschool with people having that
18:38 < skelterjohn> "azmith" is how my family says it.  germans say it
18:38 < WalterMundt> My family is too americanized to pronounce my name the
German way anyway
18:39 < dho> ah well
18:39 < dho> most people south of mason dixon pronounce my name Dev-On
18:40 < skelterjohn> not dev-awn?
18:40 < dho> same thing.
18:40 < dho> most people north (and west) say Dev(schwa)n
18:40 < dho> the latter is correct
18:40 < dho> well, short o is most correct anyway
18:40 < skelterjohn> devschawn...  would never have thought that
18:40 < dho> whatever
18:41 < dho> anyway
18:41 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit [Client Quit]
18:41 < dho> like the o in won
18:41 < skelterjohn> (am jk)
18:41 < skelterjohn> devschwan is a cool name though
18:41 < dho> So in 6th grade, I won my middle school's spelling bee (a sad
testament to that middle school)
18:42 < skelterjohn> i was the comma king in 5th grade.
18:42 < jhh> Jan is uncommon for English people too I guess.  All people in
the UK called me Jan like in "Fan", but Germans say Jan like in
18:42 < dho> this was in eastern NC
18:42 < jhh> "run"
18:42 < dho> I got an award for that at the end of the year
18:42 < dho> They call me up...  `DevAwn O'Dell'
18:43 < dho> I walk up and mention the proper pronounciation to the lady
calling names
18:43 < skelterjohn> and this i the point at which you turned bitter
18:43 < dho> she looks at me and says, ``oh, i'm sorry, i didn't know you
were white''
18:43 < jhh> uh
18:44 -!- tbellefy [n=tbellefy@bouncer.adicio.com] has left #go-nuts []
18:44 < skelterjohn> that's sort of bizarre
18:44 -!- Guest31404 [n=sroracle@c-98-215-178-14.hsd1.in.comcast.net] has joined
18:44 < dho> quite
18:44 < skelterjohn> oh here comes zz
18:44 < dho> it was a bizarre small town
18:44 < dho> Farmville, NC
18:44 < dho> old tobacco town
18:45 < skelterjohn> wow, had a facebook app named after it and everything
18:45 < dho> where the thought of `across the tracks' still applies
18:45 < skelterjohn> why does qtvali have an alias 'tambet'
18:46 < skelterjohn> it's just weird
18:46 < dho> then when i was in 8th grade, i was living in a similarly
bizarre town in western nc, called Marshall
18:46 < dho> I had blue hair
18:46 < skelterjohn> does he intend to make people think they're different,
and then forget to disguise it?
18:46 < dho> no, it's his real name
18:46 < dho> So I'm getting on the bus one day, and the bus driver grabs my
hair, pulls out a rather large pocketknife and says, `i should cut this off for
you, boy'
18:47 < dho> the south is weird.
18:47 < dho> I miss california
18:47 < dho> and holland
18:47 -!- difekta [n=clays@] has quit ["This computer has gone to
18:47 < jhh> I actually live near holland
18:47 < skelterjohn> and...then you had him arrested?
18:48 < dho> skelterjohn: nah, they didn't even fire him
18:48 < skelterjohn> people around the country dump on NJ a lot, but at
least i never had to deal with any of that garbage growing up
18:48 < dho> they still paddle kids at schools there
18:48 < dho> i got paddled twice
18:48 < jhh> dho: you might know Aachen, it's as close as a German city
could be.  But people around here merely like it for drugs.
18:49 < skelterjohn> i worked on a project called "aachen", once
18:49 < dho> Isn't there like a small zoo around there?
18:49 < skelterjohn> back in the early days of java
18:49 < jhh> yeah
18:49 < dho> and a castle?
18:49 < dho> yeah
18:49 < dho> i went there a few times
18:49 < dho> my girlfriend's mom had a birthday party at the house at the
lake at that zoo place
18:49 < dho> it was rather nice
18:50 < dho> er, ex-girlfriend
18:50 < jhh> hehe
18:50 < jhh> i think the castles are rather old city gates
18:50 < dho> she ended up modeling and then being a social worker dealing
with foreigners or something
18:51 < dho> i don't talk to her much anymore, mostly because my dutch has
gotten rather poor, and i don't feel like writing to her in english
18:51 < jhh> how long have you been there?
18:51 < jhh> speaking dutch in two years?  that's not bad
18:52 < dho> i lived there from dec.  2001 to may 2005
18:52 < dho> i found it proper
18:52 < dho> maar het is ook niet zo moeilijk :)
18:52 < skelterjohn> there are only two types of people i can't stand.
those who disparage other cultures, and the dutch.
18:53 -!- keet [n=o@unaffiliated/keet] has quit [Read error: 110 (Connection timed
18:53 < dho> heh.
18:53 < dho> i love that quote
18:53 < dho> brb rauchen
18:53 < dho> :)
18:53 < skelterjohn> and belgium is a dirty word
18:53 < dho> belgium is the NJ of western europe :P
18:53 < skelterjohn> it must be a wonderful place
18:53 < skelterjohn> just like NJ
18:55 -!- gasreaa [n=atwong@nat/slide/x-ejkzmeasldborfqn] has joined #go-nuts
18:55 -!- gasreaa [n=atwong@nat/slide/x-ejkzmeasldborfqn] has left #go-nuts []
19:04 -!- p4p4 [n=P4p4@] has quit [Read error: 110
(Connection timed out)]
19:04 < dho> func PtraceGetLwpList(pid int, lwpids []Lwpid_t) (ret int,
errno int) (
19:04 < dho> where the fuck is the syntax error?
19:05 < WalterMundt> last character
19:05 < dho> oh
19:05 < skelterjohn> :)
19:05 < dho> wow
19:05 * dho thinks his font needs some help
19:06 < mauke> ({[]}) I|li mrn QO0Øoø
19:07 * michael| pats Proggy Clean on the back for a job well done
19:07 < mauke> ⊘∅ø
19:07 < skelterjohn> ΜΜ
19:07 < skelterjohn> ονε οφ τηεσε ισ α γρεεκ λεττερ
19:07 < skelterjohn> :)
19:08 < dho> ¯\(°_o)/¯
19:08 < mauke> all of them are
19:08 < skelterjohn> i meant on the previous line
19:08 < mauke> oh
19:08 * dho completely misunderstands
19:08 < mauke> AАΑ
19:09 < skelterjohn> capital em vs capital mu
19:09 < skelterjohn> m/μ M/Μ
19:09 < mauke> three different A's :-)
19:09 < michael|> Oh, can't see the capital M/mu difference.
19:09 < skelterjohn> exactly
19:10 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has
joined #go-nuts
19:10 < skelterjohn> this is why using greek letters in code can sometimes
be a bad idea
19:10 < skelterjohn> makes the syntax errors really hard to catch
19:10 < jA_cOp> hm, now that the channel is active, is there a way to call
Go code from C? I know the short answer is "no", but I heard there were some
workarounds or whatnot
19:11 -!- samferry [i=sam@unaffiliated/samferry] has quit [Read error: 60
(Operation timed out)]
19:12 < waht2> someone should make a language in chinese characters just to
torture all the westerners who have been advantaged by every language using roman
19:12 < skelterjohn> chinese people are welcome to make a chinese character
using language
19:12 < skelterjohn> but it might not catch on
19:12 < jA_cOp> you can use chinese characters in any language using UTF-8
source code, though
19:12 < jA_cOp> but you mean like keywords and stuff?
19:13 < dho> jA_cOp: the guy who did the lua port figured out a way to do it
somehow with an eventer or something
19:13 < jA_cOp> eventer?
19:13 < jA_cOp> I was working on a Lua interface too, but I stopped at the
interop problem
19:14 < mauke> well, there's fjölnir
19:14 < waht2> so who's going to write "beginning go"
19:14 -!- Soak [n=root@mst45-1-82-231-239-194.fbx.proxad.net] has joined #go-nuts
19:15 < waht2> what if i wrote a synthesizer in go
19:15 < waht2> would it have advantages over the ones written in c++
19:15 < skelterjohn> what is a synthesizer?
19:16 < waht2> it makes sounds for music
19:16 < skelterjohn> i see
19:16 < jhh> are there rune testing functions in the go lib?  Something like
isAlpha(int)?  When I see utf8 here I feel my 'a-z' implementation is bad.
19:16 < skelterjohn> then the language choice is sort of irrelevant.
19:16 < waht2> i guess
19:16 < skelterjohn> whenever waht2 asks a question, i am *almost* convinced
he is messing with everyone
19:16 < skelterjohn> but not quite.  so, if you are, waht2, kudos on a well
done troll
19:17 < dho> jA_cOp:
19:17 < jA_cOp> thanks
19:18 < dho> http://code.google.com/p/golua/source/browse/trunk/lua.go
19:18 < dho> it's very hacky
19:18 < WalterMundt> this I have to see
19:21 < dho> hm
19:22 < dho> suggestions of how to put an int into a byte[]?
19:22 < WalterMundt> encoding/binary
19:22 < Guest91311> trying to figure out how cgo works: do I need to call
gcc at all?  or is it an alternative to 6c
19:22 < WalterMundt> Guest91311: cgo will call gcc for you as needed
19:23 < dho> well, no, the make infrastructure calls gcc for you
19:23 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
joined #go-nuts
19:23 < WalterMundt> oh, right
19:23 < WalterMundt> sorry
19:23 < dho> cgo only calls gcc to figure out some type information
19:24 < Guest91311> I'm asking because the example in misc/cgo/gmp does not
call gcc at all, and therefore does not use CGO_LDFLAGS=-lgmp
19:25 < dho> Guest91311: Make.pkg calls gcc.
19:25 < dho> and does use CGO_LDFLAGS
19:26 -!- stevenyvr [n=schan@76-10-184-108.dsl.teksavvy.com] has joined #go-nuts
19:27 < Guest91311> I understand, but I cannot see it being called in this
example running make
19:27 < dho> gcc is only called for the install: target.
19:28 -!- nathanielk [n=quassel@frigga.summersault.com] has quit [Remote closed
the connection]
19:28 < dho> as the only target that requires it is part of INSTALLFILES
19:28 < Guest91311> thanks
19:29 < dho> no problem
19:29 < dho> Guest91311: in general, to actually use cgo, you just need a
Makefile that looks like this:
19:29 < dho> TARG=pkgname
19:29 < dho> GOFILES=1.go 2.go etc.go
19:29 < dho> CGO_LDFLAGS=-lwhatever
19:30 < dho> include $(GOROOT)/src/Make.$(GOARCH)
19:30 < dho> include $(GOROOT)/src/Make.pkg
19:30 -!- path[l] [i=UPP@] has joined #go-nuts
19:30 < skelterjohn> this will all be fixed with gb
19:30 < dho> er, s/GOFILES/CGOFILES/
19:36 -!- Soak [n=root@mst45-1-82-231-239-194.fbx.proxad.net] has quit []
19:40 -!- nathanielk [n=quassel@frigga.summersault.com] has joined #go-nuts
19:41 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has quit [Read error:
110 (Connection timed out)]
19:43 < dho> well this is kind of a bummer
19:44 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit ["Leaving"]
19:46 -!- p4p4 [n=P4p4@] has joined #go-nuts
19:48 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has joined #go-nuts
19:53 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has joined #go-nuts
20:00 < skelterjohn> dho: what is?
20:00 < dho> so, in Linux, when you use ptrace to read/write from text or
20:01 < dho> it just reads to/writes from a buffer
20:01 < dho> in freebsd, however, if you want to do that, you need to start
passing structs
20:01 < dho> sigh.
20:01 < dho> or read N times where N = size you want to read / sizeof int
20:01 < skelterjohn> sounds irritating but manageable
20:02 < skelterjohn> not that i know what ptrace is
20:02 < dho> process tracing framework
20:02 < dho> how gdb debugs
20:04 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has joined
20:15 -!- sheb [n=seb@AToulouse-152-1-64-142.w82-125.abo.wanadoo.fr] has joined
20:20 < jhh> The most convincing (yet probably least important) argument for
go for me was that it feels clean.  We are weird people.
20:21 < skelterjohn> it has a certain aesthetic
20:21 < skelterjohn> hence the turmoil about gofmt, heh.
20:22 < jhh> i don't care about epsilonities
20:22 < jhh> the overall flare seems clean to me
20:22 < jhh> the overall\{Makefiles}
20:23 < skelterjohn> :)
20:23 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has quit [Read error:
110 (Connection timed out)]
20:24 < jhh> flair?  i think i mean flair
20:25 < skelterjohn> don't worry - most americans get that one wrong
20:26 < WalterMundt> I think so too
20:26 < jhh> I'm not American!
20:26 < WalterMundt> new, shinier programming language!  Now powered by
solar flares and wishful thinking!
20:27 < jhh> precisely
20:27 -!- napsy [n=luka@93-103-201-54.dynamic.dsl.t-2.net] has joined #go-nuts
20:28 < skelterjohn> jhh: exactly
20:30 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
20:30 < skelterjohn> i think qtvali is a microsoft henchmen paid to bog down
the mailing list with almost intelligent tripe
20:31 < skelterjohn> henchman
20:31 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
20:32 < dho> it's much nicer to just have posts from:qtvali@gmail.com or
body:contains(Qtvali) or body:contains(Tambet) go to trash
20:33 < dho> I had to do it yesterday.  someone told him to write some code,
he said no.  I said yes.  He told *me* to write code.
20:33 -!- Sungem [i=ss@118-160-160-221.dynamic.hinet.net] has joined #go-nuts
20:33 -!- osmosis [n=steven@m5d0e36d0.tmodns.net] has joined #go-nuts
20:33 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
20:33 < WalterMundt> yeah, I suppose that's as good a time as any to make
the call
20:35 -!- teedex [n=teedex@adsl-75-36-137-249.dsl.pltn13.sbcglobal.net] has joined
20:38 -!- Sungem_ [i=ss@220-136-226-157.dynamic.hinet.net] has quit [Read error:
60 (Operation timed out)]
20:39 -!- Netsplit kornbluth.freenode.net <-> irc.freenode.net quits:
osmosis, stevenyvr, rrr, nickjohn1on, nf, wayneeseguin, dho, Demp, mycroftiv,
me__, (+28 more, use /NETSPLIT to show all of them)
20:42 -!- Venom_X [n=pjacobs@c-76-31-231-95.hsd1.tx.comcast.net] has quit []
20:42 -!- tomaw_ [i=tom@freenode/staff/tomaw] has joined #go-nuts
20:42 -!- Associat0r [n=Associat@h163153.upc-h.chello.nl] has quit []
20:43 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has left
#go-nuts []
20:43 -!- gnuvince [n=vince@] has joined #go-nuts
20:48 -!- djh4u [n=duchbag@cpe-24-95-54-134.columbus.res.rr.com] has quit [Read
error: 104 (Connection reset by peer)]
20:48 -!- mycroftiv [n=infernus@h69-128-47-243.mdsnwi.dedicated.static.tds.net]
has joined #go-nuts
20:50 -!- osmosis [n=steven@m5d0e36d0.tmodns.net] has joined #go-nuts
20:50 -!- p4p4 [n=P4p4@] has joined #go-nuts
20:50 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
joined #go-nuts
20:50 -!- alexsuraci [n=alex@pool-71-188-133-67.aubnin.fios.verizon.net] has
joined #go-nuts
20:50 -!- Xera^ [n=brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
20:50 -!- Demp [n=Demp@bzq-109-66-1-109.red.bezeqint.net] has joined #go-nuts
20:50 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has joined #go-nuts
20:50 -!- Henry_georgeist
[n=g@216-15-115-10.c3-0.bkl-ubr2.sbo-bkl.ma.cable.rcn.com] has joined #go-nuts
20:50 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
20:50 -!- xid [n=xid@narc.oti.cz] has joined #go-nuts
20:50 -!- roto [n=roto@] has joined #go-nuts
20:50 -!- highb_ [n=highb@shell.onid.oregonstate.edu] has joined #go-nuts
20:50 -!- me__ [n=me@c-68-55-179-48.hsd1.md.comcast.net] has joined #go-nuts
20:50 -!- michael| [n=maikeru@unaffiliated/maikeru/x-7708887] has joined #go-nuts
20:50 -!- rthc [n=rthc@rrcs-67-52-50-170.west.biz.rr.com] has joined #go-nuts
20:50 -!- philips [n=brandon@opensuse/member/philips] has joined #go-nuts
20:52 -!- Sungem [i=ss@118-160-160-221.dynamic.hinet.net] has joined #go-nuts
20:52 -!- youngbull [n=youngbul@ti0025a380-dhcp1720.bb.online.no] has joined
20:52 -!- stevenyvr [n=schan@76-10-184-108.dsl.teksavvy.com] has joined #go-nuts
20:52 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has joined #go-nuts
20:52 -!- ineol [n=hal@mar75-9-88-171-191-168.fbx.proxad.net] has joined #go-nuts
20:52 -!- rndbot [n=bot@wikipedia/Gracenotes] has joined #go-nuts
20:52 -!- klooj
[n=kloojit@173-15-136-74-BusName-Philadelphia.hfc.comcastbusiness.net] has joined
20:52 -!- AmirMohammad [n=amir@unaffiliated/gluegadget] has joined #go-nuts
20:52 -!- wayneeseguin [n=wayneese@rrcs-72-45-208-165.nys.biz.rr.com] has joined
20:52 -!- plexdev [n=plexdev@arthur.espians.com] has joined #go-nuts
20:52 -!- nf [n=nf@124-168-153-30.dyn.iinet.net.au] has joined #go-nuts
20:52 -!- tokuhiro_ [n=tokuhiro@s230.GtokyoFL21.vectant.ne.jp] has joined #go-nuts
20:52 -!- evilhackerdude [n=stephan@] has joined #go-nuts
20:52 -!- dho [n=dho@onager.omniti.com] has joined #go-nuts
20:52 -!- madmoose [n=madmoose@chef.nerp.net] has joined #go-nuts
20:52 -!- nickjohn1on [n=arachnid@coilette.notdot.net] has joined #go-nuts
20:52 -!- vhost- [n=kyle@kyleterry.com] has joined #go-nuts
20:52 -!- Altercation [n=Altercat@pdpc/supporter/active/altercation] has joined
20:52 -!- skerner [n=skerner@] has joined #go-nuts
20:53 -!- stalled [n=411@unaffiliated/stalled] has quit [Excess Flood]
20:53 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
20:53 -!- stalled_ [n=411@] has joined #go-nuts
20:57 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has joined #go-nuts
20:58 -!- stalled [n=411@unaffiliated/stalled] has quit [Excess Flood]
20:58 -!- stalled [n=411@unaffiliated/stalled] has joined #go-nuts
20:58 -!- Xera` [n=brit@87-194-208-246.bethere.co.uk] has joined #go-nuts
20:59 -!- p4p4 [n=P4p4@] has quit ["ChatZilla 0.9.84
[SeaMonkey 2.0a3/20090223135443]"]
21:01 < jhh> skelterjohn: do you really think goflex is wanted?
21:01 < jhh> I'm thinking about trying it.
21:01 < skelterjohn> some way to easily create a lexer is needed
21:02 < skelterjohn> maybe goflex is the right answer
21:02 < jhh> do I have to start a discussion on the mailing list or just
code it?
21:03 < skelterjohn> asking me?  heh
21:03 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has quit
[Remote closed the connection]
21:06 < Guest91311> i'm trying to build with cgo out of $GOROOT in a
separate tree.  I pass appropriate -I and -L flags to 8g and 8l.  Building works,
however when I run the program, it looks for the .so in $GOROOT
21:06 < Guest91311> Is this hard coded?  or where can I set it?
21:07 < skelterjohn> LD_LIBRARY_PATH is where things look for .so paths in
21:10 < Guest91311> this does not change it.  It still looks for the file in
21:10 < dho> Yes, because cgo outputs the full path to the .so it wants to
generate, assuming it's going to end up there.
21:10 < dho> If you ran make install, it should have ended up there.
21:11 < skelterjohn> cgo seems kludgy
21:11 < Guest91311> I didn't use the makefile, as I want to keep everything
out of GOROOT
21:12 < dho> You can copy Make.pkg locally and the Make.$GOARCH scripts
locally as well.
21:12 -!- rrr [i=rrr@gateway/gpg-tor/key-0x9230E18F] has quit [Remote closed the
21:12 < dho> Not using those is going to provide you with pain.  cgo assumes
that your package is installed to GOROOT
21:12 < dho> but
21:12 < dho> there is a CGOPKGPATH thing you can set in the makefile as well
21:13 < dho> well
21:13 < dho> not in the makefile
21:13 < dho> it's an env variable.
21:14 < dho> It will let you specify your own path to the package.
21:14 < dho> skelterjohn: it is _very_ fragile
21:14 < dho> that's why i've been working on bugfixes for it
21:14 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 54
(Connection reset by peer)]
21:14 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
21:14 < dho> skelterjohn: most libraries that are potentially useful for go
programmers are already written in C
21:15 < dho> so having an FFI that works is a good thing
21:15 -!- Xera^ [n=brit@87-194-208-246.bethere.co.uk] has quit [Read error: 110
(Connection timed out)]
21:15 < dho> Guest91311: You could for instance do CGOPKGPATH=.
$(GOBIN)/cgo file.go
21:15 < Guest91311> the CGOPKGPATH seems to append to GOROOT when I change
it.  It this intended?
21:15 -!- gkmngrgn [n=gkmngrgn@unaffiliated/gkmngrgn] has joined #go-nuts
21:16 < dho> Guest91311: If you specify an absolute path, it will not do so
21:17 < dho> however, it's not really very flexible
21:17 -!- rrr_ [i=rrr@gateway/gpg-tor/key-0x9230E18F] has joined #go-nuts
21:17 < dho> Go doesn't use the system's runtime linker, so it has to know
the correct path to the .so
21:18 < dho> (which is also why LD_LIBRARY_PATH doesn't work)
21:18 < Guest91311> It works now, with the absolute path.
21:19 < dho> cool
21:19 < dho> that's a relatively recent addition
21:19 < skelterjohn> does cgo link go code with gcc compiled c or 8c/6c
generated c?
21:19 < dho> skelterjohn: it's weird
21:19 < dho> skelterjohn: it links gc code with kenc code
21:19 < skelterjohn> gc = gcc or go compiler
21:20 < dho> go compiler.
21:20 < dho> always
21:20 < skelterjohn> coulda been a typo :)
21:20 < dho> i never make tpoys :)
21:20 < dho> ;)
21:20 < skelterjohn> kenc is what
21:20 < dho> but the kenc code dynlds a gcc-compiled .so (with #pragma dynld
gosym csym "/path/to/shlib.so"
21:20 < dho> ken's c compiler
21:21 < dho> i guess 8c/6c/etc are kenc
21:21 < dho> maybe they're xoc
21:21 < skelterjohn> ok
21:21 < skelterjohn> so the answer was "cgo links gc to 8c/6c"
21:21 < skelterjohn> ?
21:21 < skelterjohn> and then 8c/6c can link to gcc through other means
21:22 < dho> cgo doesn't link anything
21:22 < skelterjohn> connect
21:22 < skelterjohn> link was the wrong word
21:22 < dho> ok.
21:22 < skelterjohn> i meant it in the general sense rather than the
compiler sense
21:22 < dho> right
21:23 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
21:23 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
21:24 < dho> skelterjohn: if you run cgo on a proper file you'll see how it
dynlds too
21:25 < dho> the compiler knows about the dynamic loader
21:25 < dho> or about dynamic objects anyway
21:25 < dho> #pragma dynld main·_C_bar bar
21:25 < dho> so you get something like that
21:25 < dho> like i said, syntax is go-sym, c-sym, path to .so with symbol
21:26 -!- General1337 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has
joined #go-nuts
21:27 < dho> that whatever.so is generated by gcc (which comes from an
autogenerated file from cgo)
21:27 -!- Innominate [n=sirrobin@cpe-069-134-170-056.nc.res.rr.com] has quit
[Remote closed the connection]
21:27 -!- slashus2 [n=slashus2@74-137-26-8.dhcp.insightbb.com] has quit []
21:29 -!- Weems [i=Weems@unaffiliated/weems] has joined #go-nuts
21:30 * skelterjohn goes back to doing math
21:30 -!- raichoo [n=raichoo@i577ACDF2.versanet.de] has quit
21:30 -!- General13372 [n=support@71-84-247-187.dhcp.gldl.ca.charter.com] has quit
[Read error: 60 (Operation timed out)]
21:31 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
21:31 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has quit
[Remote closed the connection]
21:34 -!- carllerche [n=carllerc@99-8-186-86.lightspeed.snfcca.sbcglobal.net] has
quit []
21:36 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
21:38 -!- vizzord [n=exn@] has joined #go-nuts
21:38 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has left
#go-nuts []
21:39 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has joined
21:41 -!- Amaranth__ [n=travis@97-114-240-143.sxcy.qwest.net] has joined #go-nuts
21:41 -!- ikke [n=ikke@unaffiliated/ikkebr] has joined #go-nuts
21:42 < sheb> is there a way to do a str.replace like in python ?
21:42 -!- [[sroracle]] [n=sroracle@unaffiliated/sroracle] has quit ["Happy New
Years, *"]
21:42 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Connection timed
21:42 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has joined #go-nuts
21:43 < dho> Not really.  It's a very inefficient operation because strings
are immutable.
21:43 -!- Weems [i=Weems@unaffiliated/weems] has quit [Read error: 104 (Connection
reset by peer)]
21:43 < skelterjohn> You can write something that will do it by using the
methods defined in http://golang.org/pkg/strings/
21:43 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has quit [Remote closed
the connection]
21:43 < dho> but what he said
21:43 -!- jA_cOp [n=yakobu@unaffiliated/ja-cop/x-9478493] has quit ["Leaving"]
21:44 < skelterjohn> unless your strings are stored as linked lists of
characters, strreplace is pretty inefficient in general
21:44 < skelterjohn> unless you replace with stuff of the exact same length
21:46 < dho> skelterjohn: it's easy enough to determine the maximum length
of the final string before doing any replacing
21:46 < dho> probably best to operate on []byte in this case
21:46 < skelterjohn> the inefficiencies i was referring to were the copying
of swathes of data
21:47 < skelterjohn> which doesn't go away if your string is mutable or not
21:47 < dho> no, it doesn't :)
21:47 < skelterjohn> if your string is a char linked list, then you don't
have to copy much of anything
21:47 < skelterjohn> indexing can be a pain though
21:47 -!- preflex [n=preflex@95-88-118-220-dynip.superkabel.de] has quit [Read
error: 60 (Operation timed out)]
21:48 -!- penchkes [n=theroffc@cpe-76-94-212-137.socal.res.rr.com] has left
#go-nuts []
21:48 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has joined #go-nuts
21:51 -!- tar_ [n=tom@cpe-24-210-143-83.woh.res.rr.com] has joined #go-nuts
21:51 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has quit [Client Quit]
21:54 -!- preflex [n=preflex@95-88-118-220-dynip.superkabel.de] has joined
21:55 -!- Refefer [n=Refefer@c-98-218-140-22.hsd1.va.comcast.net] has joined
21:55 -!- dan [n=dan@] has joined #go-nuts
21:56 -!- dan [n=dan@] has quit [Client Quit]
21:58 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:00 -!- iwikiwi [n=iwikiwi@] has joined #go-nuts
22:05 < dho> happy new year, i'm out
22:05 < waht2> oh really
22:07 -!- Amaranth__ [n=travis@97-114-240-143.sxcy.qwest.net] has quit [Connection
timed out]
22:09 < jhh> uses go it's own manually built scanner?
22:11 -!- fhs [n=fhs@pool-72-89-203-117.nycmny.east.verizon.net] has joined
22:11 < skelterjohn> restate?
22:12 < skelterjohn> oh
22:12 < skelterjohn> does go use <etc>
22:15 < skelterjohn> a grep doesn't turn up any *.l files
22:15 < jhh> but instead a lex.c
22:15 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 54
(Connection reset by peer)]
22:16 < skelterjohn> yes
22:16 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:16 < skelterjohn> it looks handwritten
22:17 < skelterjohn> none of those weird number tables
22:18 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
22:19 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:20 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:22 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
22:22 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:23 -!- mertimor [n=mertimor@p4FE75C48.dip.t-dialin.net] has quit []
22:25 -!- gracchus [n=jesse@207-229-149-97.c3-0.stk-ubr1.chi-stk.il.cable.rcn.com]
has quit ["Leaving."]
22:26 -!- sheb [n=seb@AToulouse-152-1-64-142.w82-125.abo.wanadoo.fr] has quit []
22:28 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has joined #go-nuts
22:31 < jhh> skelterjohn: do you think they did it for speed?
22:31 < skelterjohn> maybe it was created by something not flex
22:32 < skelterjohn> maybe there is a plan9 lexer that creates different
looking files
22:33 -!- GeoBSD [n=geocalc@lns-bzn-53-82-65-18-29.adsl.proxad.net] has quit
[Remote closed the connection]
22:36 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has left #go-nuts []
22:37 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has joined #go-nuts
22:38 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has quit [Read error: 104
(Connection reset by peer)]
22:38 < jhh> skelterjohn: maybe they did it to have unicode support?  I
don't have enough knowledge about flex to tell if flex can deal with unicode
22:38 < skelterjohn> interesting theory
22:38 -!- Amaranth_ [n=travis@ubuntu/member/Amaranth] has joined #go-nuts
22:38 < skelterjohn> i wonder if the go regexp library handles unicode well
22:43 < usa> Plan 9 compilers have hand written lexers.  In general real
programming languages are pretty easy to lex.
22:43 < skelterjohn> thanks, usa
22:44 < jhh> channel #plan9 votes for speed
22:47 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has left #go-nuts []
22:47 < jhh> because lex.c doesn't look very easy to me
22:48 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has joined #go-nuts
22:49 < usa> Hand written lexers tend to be faster.  The "lcc" book talks
about making the lexer as fast as possible, because in those days the lex pass was
the slowest.  Now of course we have gcc so the lexer is one of the speedier steps!
22:50 < usa> lex.c is easy.  Ignore everything except the _yylex(void)
22:50 -!- Amaranth [n=travis@ubuntu/member/Amaranth] has quit [Connection timed
22:51 < usa> It then loops on the "l0" label eating whitespace, keeping
track of line numbers.
22:51 < jhh> yeah, that's what i looked at.  a couple of reg exps would be
easier to understand.  but i can understand a compiler wants to go for speed
22:52 < jhh> I'm not trying to understand the lexer, but try to estimate if
a lexer generator is needed.
22:52 < usa> It then sees if it is alphabetic or not.  If it is then it goes
to the talpha label.  If it is numeric it goes to the tnum label
22:54 < skelterjohn> was just reading
http://swtch.com/~rsc/regexp/regexp1.html - does go's regexp package use DFAs?  I
didn't know people used anything other than DFAs for regexps but apparently the
standard is to use something with exponential runtime
22:54 < usa> Not many real world projects use a lexer generator, usually
quoting either a need for speed or that writing a lexer by hand is not too hard.
22:56 < usa> Most regexp packages use NFA with backtracking.  That was why
Russ wrote the paper to kick people into using somrthing better.
22:56 < jhh> NFAs have exponential size
22:56 -!- marianoguerra [n=marianog@12-60-231-201.fibertel.com.ar] has joined
22:56 < usa> DFA's have exponential size, NFA's typically do not.
22:56 < marianoguerra> which package should I use to check if a file exists
and is readable?
22:56 < skelterjohn> right, it's the naive conversion from NFA to DFA that
does that
22:57 < skelterjohn> os
22:57 < skelterjohn> marianoguerra: the os package
22:58 < marianoguerra> File.stat?
22:58 < jhh> but i learned in class usual langauges do not create DFA's with
that size
22:58 < jhh> so runtime is less then exponential
22:59 < skelterjohn> usually
22:59 < skelterjohn> "usually" is a tricky thing to prove
22:59 < WalterMundt> I'm reading the paper
22:59 < jhh> i know, i know
22:59 < skelterjohn> marianoguerra: experiment
23:00 < skelterjohn> maybe just try to open as a read only file, and see if
it gives an error
23:00 < WalterMundt> wondering whether Perl does regexes the way it does to
support more obscure features like
23:00 < usa> There are bad cases for DFAs, there are bad cases for NFAs, you
are more likely to hit a bad case for an NFA.
23:01 < skelterjohn> the bad cases for DFAs are hit when generating the
lexer, while the bad cases for NFAs are hit while parsing the input
23:02 < dho> i lied
23:03 < dho> waiting for girlfriend to shower
23:03 < jhh> i don't remember exponential in what
23:03 < skelterjohn> DFA size is exp in the number of nodes in the NFA it
came from
23:03 < dho> plan 9 doesn't use a lexer generator because writing a lexer by
hand isn't hard, not because of speed
23:03 < usa> skelterjohn, not true, at least as long as you have a sensible
definition for a comment.  For a lexer for a real programming language you will
have no problem with either a DFA nor an NFA.
23:04 < skelterjohn> usa: a DFA will always run in time linear with the
length of the input, though generating it may take time exp with the length of the
23:05 < skelterjohn> i don't remember the runtime for creating an NFA from
the regexp, but its runtime with the input is exp, as discussed
23:05 < jhh> dho: but using a generator would be easier
23:05 < usa> Yes, and may take an exponential amount of storage.
23:05 < skelterjohn> that problem happens in the compile step
23:05 < dho> jhh: maybe
23:05 < skelterjohn> you notice once its compiled that it has exp space, and
so that's when the problem happens :)
23:06 < dho> depends on the language i guess
23:06 < jhh> NFA parsing should be in O(N*F) if F is the number of states
and N the length of the input
23:07 < usa> NFA is linear in the size of the input expression to build, but
can be exponential to run.
23:07 < jhh> sure?
23:07 -!- tar_ [n=tom@cpe-24-210-143-83.woh.res.rr.com] has quit []
23:08 < skelterjohn> huh.  perhaps the algorithm i have in my head is
23:08 < usa> jhh, NFA building is O(F), running is potentially a lot more
than O(N*F).
23:09 < skelterjohn> keep track, for each step, of the possible states that
you could be in.  eat one character, update the list of possible states based on
that character and the previous states
23:09 < skelterjohn> that would take N*F
23:09 < skelterjohn> maybe N*F*F
23:09 < usa> Thats what a DFA does, not an NFA.
23:10 < skelterjohn> a DFA doesn't have a list of possible states
23:10 < skelterjohn> it has the one state that is possible
23:10 < skelterjohn> each state can be labeled as a number of states from
its NFA origins, that's fine
23:11 < usa> What do you think your "list of possible states" is, apart from
a state of a DFA?
23:11 < skelterjohn> the exponential part of the NFA->DFA conversion is
enumerating all combinations of states from the NFA are
23:11 < skelterjohn> in my algorithm, you only need to think about one list
of possible NFA states at a time
23:11 < skelterjohn> the DFA made from it has a state for each of those
23:11 < jhh> oh my god
23:12 < skelterjohn> i might be being stupid...i haven't thought about this
stuff in a while
23:12 < usa> Fine, so you are reinventing a lazy NFA->DFA conversion.
23:12 < skelterjohn> yes, and there is nothing exponential in it
23:14 -!- WalterMundt [n=waltermu@twiki/developer/EtherMage] has quit ["Leaving."]
23:15 < skelterjohn> http://www.springerlink.com/content/48777741v0486805/
this simulation of NFAs runs in O(N*F)
23:15 < skelterjohn> and that is labeled the "naive" way
23:16 < skelterjohn> a method using dynamic programming runs in O(N*M) where
M is the length of the RE
23:16 < skelterjohn> and N is the length of the input
23:17 -!- gracchus [n=jesse@207-229-149-97.c3-0.stk-ubr1.chi-stk.il.cable.rcn.com]
has joined #go-nuts
23:17 < skelterjohn> ok that M isn't for the length of an RE, it's the
length of an exact pattern
23:17 < skelterjohn> REs might be harder
23:17 < skelterjohn> but you can still evaluate an NFA quickly
23:19 -!- eulenspi1gel [n=eulenspi@p579CA9C2.dip.t-dialin.net] has joined #go-nuts
23:22 -!- Xeon [n=chatzill@] has joined #go-nuts
23:23 -!- sheb [n=seb@AToulouse-152-1-64-142.w82-125.abo.wanadoo.fr] has joined
23:23 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has quit ["Leaving."]
23:26 -!- mssm [n=mssmfs@ip-95-221-91-60.bb.netbynet.ru] has quit ["WeeChat
23:26 -!- raichoo [n=Adium@i577ACDF2.versanet.de] has joined #go-nuts
23:26 -!- MaTThewP [n=Rachu@cpe-24-95-54-134.columbus.res.rr.com] has joined
23:27 -!- Xeon_ [n=chatzill@] has quit [Operation timed out]
23:31 < waht2> is google going to patent anything in go
23:31 < skelterjohn> you ask bizarre questions
23:32 -!- marianoguerra [n=marianog@12-60-231-201.fibertel.com.ar] has quit
23:33 -!- r2p2 [n=billy@v32671.1blu.de] has joined #go-nuts
23:34 < dho> hypothesis: waht2 is qtvali's irc nick
23:34 < dho> though i don't think qtvali is clever enough to have dongs
backwards as his username/ident
23:35 < skelterjohn> lol
23:36 < dho> ok, i'm really out of here, see you guys next year
23:36 < skelterjohn> later
23:36 -!- eulenspiegel [n=eulenspi@unaffiliated/eulenspiegel] has quit [Read
error: 101 (Network is unreachable)]
23:38 -!- triplez [n=triplez@cm52.sigma225.maxonline.com.sg] has joined #go-nuts
23:43 -!- itrekkie [n=itrekkie@ip98-165-246-56.ph.ph.cox.net] has joined #go-nuts
23:46 -!- mssm [n=mssm@ip-95-221-91-60.bb.netbynet.ru] has joined #go-nuts
23:49 -!- mmw [n=mmw@2002:5bb6:2aa9:0:223:6cff:fe84:1914] has quit []
--- Log closed Fri Jan 01 00:00:40 2010