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

--- Log opened Sun Sep 05 00:00:05 2010
00:01 < nsf> +1
00:01 < nsf> spec is quite readable
00:01 < nsf> unlike C++ one for example
00:05 -!- luruke [~luruke@151.53.17.92] has quit [Ping timeout: 272 seconds]
00:06 -!- kanru [~kanru@61-228-152-114.dynamic.hinet.net] has joined #go-nuts
00:10 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
00:13 < KirkMcDonald> The spec was the first thing I read when I was
starting with Go.
00:13 < cbeck> Likewise
00:13 < nsf> same here, I learn every new language by reading sources and
the spec at the same time now
00:13 < cbeck> And it's still the first place I look when I'm confused by
something
00:14 < nsf> true, because it must contain the answer
00:14 < nsf> otherwise you can complain that it's incomplete :)
00:15 < nsf> or there is a bug in the compiler
00:23 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 252
seconds]
00:26 -!- crazy2be1 [~justin@d205-206-130-118.abhsia.telus.net] has joined
#go-nuts
00:29 -!- boscop_ [~boscop@g225223243.adsl.alicedsl.de] has left #go-nuts []
00:30 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Ping timeout:
600 seconds]
00:32 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
00:32 -!- boscop [~boscop@g225223243.adsl.alicedsl.de] has joined #go-nuts
00:33 -!- crazy2be1 [~justin@d205-206-130-118.abhsia.telus.net] has quit [Quit:
Leaving.]
00:34 -!- crazy2be1 [~justin@d205-206-130-118.abhsia.telus.net] has joined
#go-nuts
00:36 -!- crazy2be_ [cdce8276@gateway/web/freenode/ip.205.206.130.118] has joined
#go-nuts
00:38 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-247.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
00:39 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
01:26 -!- Bombe [~droden@weltgehirnmaschine.de] has quit [Changing host]
01:26 -!- Bombe [~droden@freenet/developer/Bombe] has joined #go-nuts
01:28 < steven_t> ok
01:29 < steven_t> i tried the spec but it seemed to reference a lot of
topics it hadnt discussed yet
01:33 < crazy2be1> How can i request a document over http with go?
01:34 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
01:44 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined
#go-nuts
01:45 < cbeck> crazy2be: There's probably an easier way, but you can always
send a raw GET with net
01:47 < jessta> crazy2be: http.Get()
01:47 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
01:48 < jessta> http://golang.org/pkg/http/#Response.Get
01:50 * nsf has just commited the first part of the refactoring functionality for
gocode (not usable yet, but very close) :P
01:50 * cbeck facepalms
01:51 < cbeck> I looked through http, but somehow managed to miss
Response.Get
01:51 < cbeck> And rewrote it
01:51 < cbeck> Oh well
01:51 * cbeck goes to fix his code
01:51 < nsf> http://bit.ly/b31s3m
01:51 < nsf> that was nice
01:52 < nsf> 800 lines commit :P
01:52 < nsf> ok, now I need to test all that crappy code
01:52 < nsf> :P
01:54 < nsf> hehe, forgot to gofmt it
01:54 * nsf facepalms
01:54 < nsf> too
01:54 < nsf> :P
02:02 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Remote
host closed the connection]
02:06 < crazy2be> jessta: Thank-you!  I somehow missed that!
02:07 < crazy2be> cbeck: I missed it too, i poured over that
documentation...
02:07 < crazy2be> oh well
02:09 -!- crazy2be_ [cdce8276@gateway/web/freenode/ip.205.206.130.118] has quit
[Quit: Page closed]
02:09 < crazy2be> i say
02:09 < crazy2be> my biggest complaint about go
02:09 < crazy2be> is that google is useless for finding information relating
to it
02:15 < jessta> crazy2be: use golang or "go programming" or go <some
programming topic>
02:15 < crazy2be> golang generally works
02:16 < jessta> or use, http://go-lang.cat-v.org/go-search
02:16 < KirkMcDonald> The D community solved this problem by insisting that
the string "d programming language" appear on all D-related pages.
02:16 < KirkMcDonald> And it actually worked pretty well.
02:16 < crazy2be> but it's still a lot less usefull than, say, C++ for
searching
02:16 < crazy2be> *searching for C++
02:18 < crazy2be> jessta: how does that last one work?  Does it add it's own
terms to your search?  or does it restrict to certain websites?
02:18 -!- ukai [~ukai@nat/google/x-jqyklrizlwfkyzzh] has quit [Ping timeout: 240
seconds]
02:18 < jessta> crazy2be: both
02:19 -!- ukai [~ukai@nat/google/x-mitijawjlldysrru] has joined #go-nuts
02:31 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 272 seconds]
02:41 * nsf has just commited 'rename' utility that actually can rename stuff
02:41 < nsf> but it's for testing only
02:42 < crazy2be> hmm wierd, i keep getting requests for /cgi-bin/1st.cgi
02:42 < crazy2be> but no such file exists
02:43 < crazy2be> and i have no links to it anywhere
02:44 -!- sukuri [~travis@194.10.188.72.cfl.res.rr.com] has joined #go-nuts
02:45 < crazy2be> and...  the IP address is from china
02:45 < crazy2be> nice
02:45 < crazy2be> i have never posted it publicly, i wonder how they got
it...
02:47 < jessta> dns records, enumerating IPs etc.
02:47 < nsf> http://pastie.org/1138904
02:47 < nsf> hehehe
02:47 < nsf> rename utility in action
02:47 < nsf> :P
02:48 < nsf> not very interesting example though
02:48 < nsf> :P
02:48 < crazy2be> :p
02:49 < nsf> ugh..  that's it for today
02:49 < crazy2be> Wait what does the 135 mean?
02:50 < nsf> cursor position that points to an identifier in the code
02:50 < nsf> which should be renamed
02:50 < crazy2be> er
02:50 < nsf> and it's not like simple search and replace, etc..  it's all
about complete semantically correct renaming of a language entity
02:50 < crazy2be> that's neat
02:51 < crazy2be> but how do you calculate the 135?
02:51 < nsf> I open an editor (vim) and type :echo CursorPos()
02:51 < nsf> :D
02:51 < nsf> it's for testing really, I will build automated tests on top of
that utility
02:52 < nsf> the renaming itself will be integrated in a vim
02:52 < nsf> later
02:52 < crazy2be> is it like the byte offset from the start of the file?
02:52 < nsf> yes
02:52 < crazy2be> ah, that makes sence
02:52 < crazy2be> cool
02:52 < crazy2be> i'm waiting for the day
02:53 < crazy2be> when renaming a function
02:53 < nsf> that's the way an editor communicates with gocode daemon
02:53 < crazy2be> also renames all calls to that function
02:53 < nsf> crazy2be: well, it is supposed to do that already
02:53 < nsf> as well as methods
02:53 < nsf> etc
02:54 < crazy2be> did you write this?
02:54 < nsf> yep
02:54 < crazy2be> wow
02:54 < nsf> http://github.com/nsf/gocode
02:54 < crazy2be> i use gedit though.  What about giving us GUI users some
love?  :P
02:54 < nsf> I'm working on this app for two months already
02:54 < nsf> and it has vim integration
02:55 < nsf> it can be integrated in any editor quite simply
02:55 < crazy2be> could never get that to work...  vim that is
02:55 < crazy2be> it always seemed much more compilated than necessary
02:55 < nsf> but I'm afraid gedit has no any kind of scripting interface
02:55 < nsf> and other than changing its sources
02:55 < nsf> you can't do that
02:55 < crazy2be> hmm
02:56 < crazy2be> well there may be some kind of addons interface
02:56 < nsf> crazy2be: it depends, I like vim a lot
02:56 < nsf> and it rocks especially if you have no arrow keys on your
keyboard
02:56 < nsf> or these keys simply ugly
02:56 < nsf> crazy2be: interesting
02:56 < crazy2be> it does seem
02:57 < nsf> I'll take a look at gedit one day
02:57 < crazy2be> there is actually an "External tools" plugin
02:57 < crazy2be> "Execute external commands and shell..."
02:57 < crazy2be> ...scripts
02:57 < nsf> interesting
02:57 < nsf> all the renaming needs basically is a filename and a cursor
position
02:58 < nsf> in case if you don't use some kind of a weird scheme for your
package
02:58 < crazy2be> i used to use code::blocks for programming, but it was way
to complex and bloated
02:58 < nsf> I don't like IDEs
02:58 < nsf> :)
02:58 < crazy2be> yeah
02:58 < nsf> they all are complex and bloated
02:58 < nsf> and not really useful :)
02:59 < crazy2be> i like gedit because it is easy, pretty on ubuntu, and
fast
02:59 < crazy2be> i never understood the attraction of vim
02:59 < crazy2be> is it very powerful?
02:59 < nsf> yes
02:59 < nsf> extremely powerful :)
03:00 < nsf> only emacs is more powerful than vim
03:00 < nsf> but I don't like emacs :)
03:00 < nsf> writing elisp isn't fun for me
03:01 < crazy2be> wow
03:01 < crazy2be> gedit even has
03:01 < crazy2be> a python console
03:01 < crazy2be> this i will have to play with
03:02 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
03:02 < crazy2be> imo, consoles are the best way to hide complex power
03:02 < crazy2be> the GUI should be simple and consistent
03:02 < crazy2be> and there should be a python scripting interface
internally
03:02 < nsf> :)
03:02 < crazy2be> in GUI programs that is
03:02 < crazy2be> blender is a wonderful example
03:03 < crazy2be> 2.5 that is
03:03 < nsf> well, python isn't always a good choice
03:03 < nsf> and blender shows that
03:03 < nsf> because some python scripts in blender are way too slow
03:03 < crazy2be> yes; there should be a way to integrate C/C++ code as well
03:03 < nsf> I hope blender 2.5 will actually have a nice C/C++ interface
03:04 < crazy2be> i do too
03:04 < nsf> afaik they are working on that
03:04 < crazy2be> i use it ocassionally
03:04 < nsf> blender is nice
03:04 < nsf> it's free and I like its GUI
03:04 < crazy2be> the new version :P
03:04 < nsf> with a lot of key bindings :)
03:05 < nsf> haven't look at 2.5 though
03:05 < crazy2be> the old version was hard to learn
03:05 < nsf> I'll wait until the release is here
03:05 < crazy2be> oh really?  it's a much nicer GUI
03:05 < nsf> not really
03:05 < nsf> :)
03:05 < crazy2be> well
03:05 < crazy2be> you use vim
03:05 < nsf> yes :D
03:05 < crazy2be> i use gedit
03:05 < crazy2be> i use ubuntu
03:05 < crazy2be> i use blender 2.5
03:05 < crazy2be> i use google chrome
03:06 < crazy2be> i like easy :P
03:06 < nsf> vim, archlinux, google chrome
03:06 < nsf> I don't really use blender often
03:06 < nsf> oh, wait
03:06 < nsf> I use chromium
03:07 < nsf> anyway..  everyone uses what they like
03:07 < crazy2be> yeah
03:08 < crazy2be> my frieind uses some browser that is entirely devoid of a
gui
03:08 < crazy2be> other than the HTML page itself, that is
03:08 < crazy2be> all keyboard shortcuts
03:08 < nsf> like uzbl or something?
03:08 < crazy2be> yeah
03:08 < crazy2be> that's it
03:08 < nsf> I hate it :)
03:09 < nsf> but I won't tell why it's really an offtopic
03:09 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has joined
#go-nuts
03:11 < nsf> I've installed the gedit
03:11 < nsf> well it definitely has a plugin interface
03:12 < nsf> and this "external tools" thing is interesting
03:12 < nsf> looking for its docs right now
03:12 < crazy2be> yeah, it's annoying that it doesn't link on the about
dialog
03:13 < nsf> http://live.gnome.org/Gedit/ToolLauncherPlugin
03:13 < nsf> but looks like it doesn't have info about cursor position
03:14 < crazy2be> has current selection info
03:14 < crazy2be> maybe
03:14 < nsf> also its plugin interface uses python
03:14 < nsf> which is nice
03:15 < nsf> maybe I'll try to integrate both features of the gocode to it
03:15 < nsf> like autocompletion and renameing
03:15 < nsf> renaming*
03:15 < crazy2be> you have autocomplete?
03:15 < nsf> yes
03:16 < nsf> http://nsf.110mb.com/gocode-demo.swf
03:16 < nsf> it was implemented a while ago
03:16 < nsf> currently I think it works nice for most cases
03:18 < crazy2be> how'd you make that animation?  Is it a screencapture
program?
03:19 < nsf> pyvnc2swf or something
03:19 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
03:19 < nsf> it actually is capable of capturing not just a console but most
of the X11 stuff
03:21 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined
#go-nuts
03:21 < nsf> I use it because of the best size/quaility ratio
03:21 < nsf> quality*
03:22 < crazy2be> that's pretty cool.
03:22 -!- ukai [~ukai@nat/google/x-mitijawjlldysrru] has quit [Ping timeout: 272
seconds]
03:22 < crazy2be> how long you been using linux?
03:22 < crazy2be> i'm guessing a long time
03:23 -!- ukai [~ukai@nat/google/x-ihwxmyowxfozkfck] has joined #go-nuts
03:24 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Read
error: Connection reset by peer]
03:25 < crazy2be> hmm
03:25 < crazy2be> it seems that you can get the current selection
03:25 < crazy2be> but not the offset
03:25 < nsf> hehe
03:25 < nsf> I'm using linux for 4 years or so
03:25 < crazy2be> from windows or mac?
03:26 < nsf> actually I still have dualboot
03:26 < nsf> windows and linux
03:26 < crazy2be> i do as well
03:26 < nsf> win is a gaming platform for me :)
03:26 < crazy2be> i do wish there was a decent office application suite for
linux though
03:26 < crazy2be> koffice is the closest i've seen
03:27 < nsf> openoffice works nice imho
03:27 < crazy2be> but the panels on the side are buggy
03:27 < crazy2be> eh
03:27 < nsf> but I don't do much of that stuff
03:27 < crazy2be> openoffice works
03:27 < crazy2be> but the GUI is not the best
03:27 < crazy2be> it's single-threaded and modal
03:27 < crazy2be> not to meantion slow
03:28 < nsf> maybe
03:29 < nsf> and we have google docs :)
03:29 < crazy2be> that is nice
03:29 < crazy2be> i use it quite a bit
03:29 < crazy2be> tomboy notes for notes
03:29 < crazy2be> although the name seems silly
03:30 < crazy2be> and it crashes occasionally
03:31 < crazy2be> i tried out microsoft webdocs the other day
03:31 < crazy2be> but it sucks
03:31 < crazy2be> a lot
03:31 < crazy2be> ahhaha
03:31 < nsf> :)
03:31 < crazy2be> no collaberation
03:31 < nsf> hehe
03:31 < crazy2be> it's the kind of thing you could write yourself
03:31 < crazy2be> in a few hours
03:32 < crazy2be> with a "nice" gui around it
03:32 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
03:33 < crazy2be> there's already an AutoComplete addon for gedit
03:33 < crazy2be> http://live.gnome.org/Gedit/Plugins
03:33 < nsf> I saw it
03:33 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
03:33 < crazy2be> maybe you could adapt that?
03:34 < nsf> maybe
03:34 < crazy2be> although
03:34 < crazy2be> the link does seem to be borked
03:34 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
03:34 < crazy2be> like in the title
03:34 < nsf> http://github.com/nagaozen/gedit-plugin-autocomplete
03:34 < nsf> there are sources
03:34 < nsf> and it's in python
03:34 -!- scm [justme@d071145.adsl.hansenet.de] has quit [Ping timeout: 260
seconds]
03:34 < nsf> I can hack that pretty quickly I guess
03:35 -!- nelson_ [~nelson@63.sub-75-213-248.myvzw.com] has joined #go-nuts
03:35 -!- scm [justme@d056077.adsl.hansenet.de] has joined #go-nuts
03:36 < nsf> but that kind of stuff is a low priority to me, so don't expect
it soon
03:36 < crazy2be> :)
03:37 < nsf> I expect people adding support for their favourite editors by
themselves
03:37 < crazy2be> yeah
03:37 -!- nelson_ [~nelson@63.sub-75-213-248.myvzw.com] has left #go-nuts []
03:37 < nsf> I can help with that actually
03:37 < crazy2be> that's usually how things work
03:37 < nsf> that's usually how open source works
03:37 -!- nelson [~nelson@63.sub-75-213-248.myvzw.com] has joined #go-nuts
03:37 < nsf> "do it yourself" :)
03:37 < crazy2be> :P
03:38 < nelson> sigh.  Still haven't made it through the tutorial yet.
03:38 < crazy2be> i've often wondered why open source works
03:38 < nsf> because be it free or not
03:38 < nelson> crazy2be: may I suggest you go reading at
http://opensource.org ?
03:38 < nsf> opensource > proprietary
03:39 < nelson> nsf: especially when it comes to computer languages.
Recollect the lesson of T.R.A.C.
03:39 < nsf> I have no idea what T.R.A.C.  is
03:39 < crazy2be> what about Java?  google is now getting sued by oracle
03:40 < crazy2be> because of android
03:40 < nelson> Java has some patented components.
03:40 < nsf> crazy2be: it's just a corporations stuff, it's not really about
opensource
03:40 < nsf> they like to sue each other
03:41 < nelson> nsf: Calvin N. Mooers (wikipedia) invented a fairly high
level language (for 1963 or whatever), whose name he trademarked, since copyright
protection wasn't available for software then.
03:41 < nelson> He wanted to protect the compatibility of the language (much
as did Sun Micro)
03:43 < nsf> nelson: and?  Linux is trademarked too..  you're talking about
laws and stuff like that, but for me open-source is about having sources of an app
that I use
03:43 < nsf> there is a nice quote by Viro about that (from the LKML):
http://lkml.indiana.edu/hypermail/linux/kernel/0404.3/1344.html
03:44 < nelson> nsf: there are many many people who won't or can't violate a
law to use software.
03:44 < nsf> who says about violating law?
03:45 < crazy2be> Well
03:46 < crazy2be> what i've always wanted
03:46 < nelson> it's not sufficient to have sources of an app that you use.
you have to have the permission to redistribute them, otherwise you can't share.
03:46 < nsf> nelson: I don't care about sharing much
03:46 < nelson> I mean, I have a source of MS-DOS.  Can't share it with
anyone.
03:46 < crazy2be> is a license that allows me to share sources freely
03:46 < crazy2be> but lets me restrict redistribution of binaries
03:46 < nelson> When you write a compiled program which pulls in library
code, you're sharing code that somebody else wrote.
03:46 < crazy2be> so i can sell them
03:46 < crazy2be> and make money
03:47 < crazy2be> a "tax on the stupid" if you will
03:47 < nsf> nelson: true, but you see, that involves library writers
interest
03:47 < nsf> they want you to use their code
03:47 < nsf> that's the whole point
03:47 < nsf> if library restricts sharing, then it sucks
03:47 < nelson> exactly why open source in a computer language is so
important!  Glad we agree.
03:47 < nsf> but for the end user software tools, simply having a source
code is the most important part for me
03:48 < nsf> nelson: but that has nothing to do with the computer language
:)
03:48 < nsf> it's important for the standard library of that language
03:48 < nsf> if it has any
03:48 < nsf> for example dmd (D programming language) compiler is
proprietary
03:49 < nsf> because it uses proprietary backend
03:49 < crazy2be> well
03:49 < nsf> and that's ok
03:49 < crazy2be> as long as the specification is open
03:49 < crazy2be> and patent-free
03:49 < nsf> the library is free though
03:49 < nsf> it uses boost license afair
03:51 -!- aceluck [~aceluck@175.144.254.120] has joined #go-nuts
03:51 < nsf> sharing software is a nice thing, but people actually rarely do
that..  most likely you will want upstream to apply your patch, because upstream
is known an has the user base, no one wants to do forks with each change to the
app
03:52 -!- nelson [~nelson@63.sub-75-213-248.myvzw.com] has quit [Ping timeout: 258
seconds]
03:52 < nsf> therefore being able to investigate source code and to tell
author that it has bug in that particular place is more important to me :)
03:53 < nsf> :P
03:53 < nsf> ok, enough of that
03:53 < nsf> it's a plain offtopic
03:54 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
04:06 -!- nelson [~nelson@230.sub-75-194-86.myvzw.com] has joined #go-nuts
04:13 -!- scm [justme@d056077.adsl.hansenet.de] has quit [Ping timeout: 264
seconds]
04:13 -!- tensorpudding [~user@99.23.122.78] has joined #go-nuts
04:14 < uriel> I can't imagine why anyone would invest any serious
time/money/effort building on a piece of software for which source they don't have
full access and rights
04:14 -!- scm [justme@d057128.adsl.hansenet.de] has joined #go-nuts
04:19 -!- scm [justme@d057128.adsl.hansenet.de] has quit [Ping timeout: 240
seconds]
04:19 -!- scm [justme@d056074.adsl.hansenet.de] has joined #go-nuts
04:23 < crazy2be> uriel: as in full rights to redistribute the source code?
04:31 -!- scm [justme@d056074.adsl.hansenet.de] has quit [Ping timeout: 240
seconds]
04:31 < KirkMcDonald> uriel: Because they're being paid to do it?
04:32 -!- scm [justme@d057073.adsl.hansenet.de] has joined #go-nuts
04:41 -!- scm [justme@d057073.adsl.hansenet.de] has quit [Ping timeout: 255
seconds]
04:43 -!- scm [justme@d039031.adsl.hansenet.de] has joined #go-nuts
04:44 -!- crazy2be [~justin@d205-206-130-118.abhsia.telus.net] has quit [Quit:
Leaving.]
04:47 -!- bragin [~bragin@95.167.98.250] has quit [Ping timeout: 265 seconds]
04:47 -!- bragin [~bragin@95.167.98.250] has joined #go-nuts
04:49 -!- acts_as [~acts_as@208.236.105.27] has quit [Quit: acts_as]
04:55 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Quit:
Computer has gone to sleep.]
05:02 -!- scm [justme@d039031.adsl.hansenet.de] has quit [Ping timeout: 252
seconds]
05:03 -!- scm [justme@d038058.adsl.hansenet.de] has joined #go-nuts
05:04 < manveru> KirkMcDonald: paid to invest money?
05:07 -!- piyushmishra [~piyushmis@117.200.224.221] has joined #go-nuts
05:08 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Remote host closed the connection]
05:08 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
05:13 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
05:15 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Ping timeout: 272 seconds]
05:21 -!- vomjom [~vomjom@99-162-150-88.lightspeed.sntcca.sbcglobal.net] has
joined #go-nuts
05:27 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 276 seconds]
05:28 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has joined
#go-nuts
05:31 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 255 seconds]
05:44 -!- acts_as [~acts_as@208.236.105.27] has joined #go-nuts
05:48 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
05:49 -!- sukuri [~travis@194.10.188.72.cfl.res.rr.com] has quit [Quit: Leaving.]
05:57 -!- scm [justme@d038058.adsl.hansenet.de] has quit [Read error: Operation
timed out]
06:00 -!- scm [justme@d070060.adsl.hansenet.de] has joined #go-nuts
06:14 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
06:18 < nsf> vim's syntax language makes me smile
06:19 < nsf> it can even highlight an arbitrary position in text for you
06:19 < nsf> nice..  I will make a feature that will highlight all instances
of particular declaration
06:37 -!- acts_as [~acts_as@208.236.105.27] has quit [Quit: acts_as]
06:38 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
06:54 < KirkMcDonald> vim's syntax language is highly practical.
06:55 < KirkMcDonald> D used to contain a kind of string literal which was
delimited like this: q{ }
06:55 < nsf> yep
06:55 < KirkMcDonald> And could only contain (as the text of the string)
valid tokens.
06:56 < KirkMcDonald> And curly braces were matched, of course.
06:56 < KirkMcDonald> I once hacked up d.vim such that the q{ and } were
highlighted like string literals, but the tokens inside were highlighted normally.
06:56 < KirkMcDonald> That's probably the nastiest thing I've had to do with
vim's syntax language, anyway.
06:57 < nsf> :)
06:57 < KirkMcDonald> But the point being, it wasn't even that hard.
06:59 < nsf> http://omploader.org/vNTh4Yg/bmpanel2format.png
06:59 < nsf> that's the biggest thing I have written vim syntax for
06:59 < nsf> it was quite easy, yep
07:00 < nsf> 3 lines of it
07:00 < nsf> actually :D
07:03 -!- ssb [~ssb@213.167.39.150] has quit [Ping timeout: 258 seconds]
07:14 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 255 seconds]
07:15 -!- ExtraSpice [~XtraSpice@88.118.32.225] has joined #go-nuts
07:27 -!- kingfishr [~kingfishr@c-24-130-147-77.hsd1.ca.comcast.net] has quit
[Ping timeout: 276 seconds]
07:29 -!- kingfishr [~kingfishr@c-24-130-147-77.hsd1.ca.comcast.net] has joined
#go-nuts
07:40 -!- terrex [~terrex@84.122.67.111.dyn.user.ono.com] has joined #go-nuts
07:42 -!- aceluck_ [~aceluck@175.137.79.23] has joined #go-nuts
07:42 -!- aceluck [~aceluck@175.144.254.120] has quit [Ping timeout: 255 seconds]
07:46 < nsf> huh, feature is done
07:47 < nsf> http://nsf.110mb.com/gocode-smap.swf
07:47 < nsf> demo
07:49 -!- ssb [~ssb@213.167.39.150] has joined #go-nuts
07:49 < nsf> this is demo actually shows the point of that thing, you can't
do that with regexps :D
07:50 < nsf> s/is//
07:51 < aceluck> very cool
07:51 < nsf> indeed!  :)
07:52 < nsf> i hope few days of writing tests and it's ready for beta use
07:54 -!- ssb [~ssb@213.167.39.150] has quit [Ping timeout: 265 seconds]
07:56 -!- ronny [~quassel@p4FF1D4F0.dip.t-dialin.net] has joined #go-nuts
07:56 -!- ShadowIce [shadowice@unaffiliated/shadowice-x841044] has joined #go-nuts
07:56 -!- ShadowIce` [shadowice@unaffiliated/shadowice-x841044] has joined
#go-nuts
07:57 -!- ShadowIce` [shadowice@unaffiliated/shadowice-x841044] has quit [Client
Quit]
07:58 -!- Guest4578 [~quassel@p4FF1D4F0.dip.t-dialin.net] has quit [Remote host
closed the connection]
08:06 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
08:15 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
08:15 -!- Robbo_ [~robbo@CPE-58-166-64-195.lnse5.cht.bigpond.net.au] has quit
[Ping timeout: 265 seconds]
08:15 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has quit [Ping
timeout: 265 seconds]
08:16 -!- anticw [~anticw@c-67-169-41-113.hsd1.ca.comcast.net] has quit [Ping
timeout: 276 seconds]
08:16 -!- anticw [~anticw@c-67-169-41-113.hsd1.ca.comcast.net] has joined #go-nuts
08:16 -!- Robbo_ [~robbo@CPE-58-166-64-195.lnse5.cht.bigpond.net.au] has joined
#go-nuts
08:18 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has joined
#go-nuts
08:28 -!- ssb [~ssb@213.167.39.150] has joined #go-nuts
08:49 -!- MX80 [~MX80@cust253.253.117.74.dsl.g3telecom.net] has quit [Read error:
Operation timed out]
08:49 -!- MX80 [~MX80@cust253.253.117.74.dsl.g3telecom.net] has joined #go-nuts
08:50 < manveru> s
08:52 -!- tensorpudding [~user@99.23.122.78] has quit [Remote host closed the
connection]
09:02 -!- idr [~idr@g225100056.adsl.alicedsl.de] has joined #go-nuts
09:22 -!- photron [~photron@port-92-201-23-155.dynamic.qsc.de] has joined #go-nuts
09:39 -!- aceluck [~aceluck@175.137.79.23] has quit [Quit: aceluck]
09:43 -!- rotorooter [~roto@64.79.202.154] has quit [Read error: Operation timed
out]
09:44 -!- rotorooter [~roto@64.79.202.154] has joined #go-nuts
09:49 -!- piyushmishra [~piyushmis@117.200.224.221] has quit [Ping timeout: 240
seconds]
10:03 -!- piyushmishra [~piyushmis@117.200.225.227] has joined #go-nuts
10:32 < taruti> What is the best way to write code like the following
pseudocode:
10:33 < taruti> switch av,bv := a.(type),b.(type) { case Foo Foo: ...  ;
case Bar Bar: ...  ; ...  } ?
10:35 < jessta> you could nest switch statements
10:35 < jessta> or use gotos
10:36 < taruti> nested switches are very ugly and I am trying to avoid that
10:36 < taruti> what kind of goto-idea do you have?
10:37 -!- ikaros [~ikaros@188.107.60.149] has joined #go-nuts
10:38 < jessta> are a and b always going to be the same type?
10:39 < taruti> there are a dozen, cases like that and few for differing
types
10:40 < taruti> (writing a type unifier)
10:42 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-247.clienti.tiscali.it] has
joined #go-nuts
10:42 -!- [Pete_27] [~noname@110-174-103-31.static.tpgi.com.au] has quit [Ping
timeout: 276 seconds]
10:45 -!- mattn_jp [~mattn_jp@112-68-90-114.eonet.ne.jp] has joined #go-nuts
10:48 -!- ikaros [~ikaros@188.107.60.149] has quit [Quit: Leave the magic to
Houdini]
10:48 -!- Grauniad [~lah@bylands.dur.ac.uk] has joined #go-nuts
10:53 -!- snearch [~snearch@g225018026.adsl.alicedsl.de] has joined #go-nuts
10:54 -!- ikaros [~ikaros@188.107.223.67] has joined #go-nuts
10:58 -!- General13372 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has joined
#go-nuts
11:01 -!- General1337 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has quit
[Ping timeout: 264 seconds]
11:02 -!- Sseur [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined
#go-nuts
11:21 -!- Sseur [~david@mic92-12-88-161-108-143.fbx.proxad.net] has quit [Ping
timeout: 240 seconds]
11:24 -!- femtoo [~femto@95-89-248-51-dynip.superkabel.de] has joined #go-nuts
11:36 -!- dg [dgl@babylon.otherwize.co.uk] has joined #go-nuts
11:37 -!- mattn_jp [~mattn_jp@112-68-90-114.eonet.ne.jp] has left #go-nuts []
11:42 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
11:59 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
12:01 < exch> nested typeswitches are really the only sane way to do that I
think
12:02 < exch> Lot of typing, but it works
12:04 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has joined
#go-nuts
12:06 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
12:08 -!- Adys [~Adys@unaffiliated/adys] has quit [Remote host closed the
connection]
12:12 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
12:20 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has quit [Ping
timeout: 272 seconds]
12:47 -!- ExtraSpice [~XtraSpice@88.118.32.225] has quit [Quit: Leaving]
12:48 -!- artefon [~thiago@189.59.166.152] has joined #go-nuts
12:51 -!- luruke [~luruke@host127-7-dynamic.47-79-r.retail.telecomitalia.it] has
joined #go-nuts
12:51 -!- luruke [~luruke@host127-7-dynamic.47-79-r.retail.telecomitalia.it] has
quit [Client Quit]
12:52 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 258 seconds]
12:52 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
13:03 -!- artefon [~thiago@189.59.166.152] has quit [Quit: bye]
13:07 -!- aguai [~aguai@li74-37.members.linode.com] has quit [Ping timeout: 240
seconds]
13:07 -!- nickaugust [~nick@li181-40.members.linode.com] has quit [Ping timeout:
265 seconds]
13:08 -!- aguai [~aguai@li74-37.members.linode.com] has joined #go-nuts
13:09 -!- jmettraux [~jmettraux@PPPbm5391.kanagawa-ip.dti.ne.jp] has quit [Remote
host closed the connection]
13:12 -!- DerHorst [~Horst@e176100111.adsl.alicedsl.de] has joined #go-nuts
13:14 -!- ExtraSpice [~XtraSpice@88.118.32.225] has joined #go-nuts
13:26 -!- micrypt [~micrypt@94-195-127-212.zone9.bethere.co.uk] has joined
#go-nuts
13:32 < yiyus> taruti: switch av,bv := a.(type),b.(type) { case av == Foo &&
bv == Foo: ...  ; ...  }
13:32 < yiyus> i dont know if that will work
13:33 < taruti> yiyus: that is not allowed
13:44 -!- snearch [~snearch@g225018026.adsl.alicedsl.de] has quit [Quit:
Verlassend]
14:27 -!- macroron [~ron@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts
14:41 -!- terrex [~terrex@84.122.67.111.dyn.user.ono.com] has quit [Ping timeout:
240 seconds]
14:50 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Quit:
Computer has gone to sleep.]
14:51 -!- napsy [~luka@212.235.174.112] has quit [Quit: Lost terminal]
14:59 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
15:14 -!- nickaugust [~nick@li181-40.members.linode.com] has joined #go-nuts
15:18 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has joined #go-nuts
15:30 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
15:35 -!- tsdh [~user@p54AF1E03.dip0.t-ipconnect.de] has joined #go-nuts
15:36 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
15:39 < tsdh> Hi. I'm new to Go and I'd like to rewrite some Ruby app I'm
heavily using in Go. Therefore I need some hashtable like database.  Are there
some bindings for such a DB? In the Ruby app, I use QDBM or GDBM, but anything
equivalent will do.
15:40 < napsy> I think there are bindings for mongodb
15:41 < napsy> tsdh: http://go-lang.cat-v.org/library-bindings
15:44 < tsdh> napsy: Thanks a lot.  I'll have a look.
15:45 < napsy> no problem
15:47 < tsdh> napsy: Ok, reading the mongodb docs, it looks like something I
could use (and even add some new features).  :-)
15:49 < napsy> cool
15:55 -!- mkeijzer_ [~mkeijzer@80.101.108.89] has joined #go-nuts
16:02 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 240 seconds]
16:11 -!- piyushmishra [~piyushmis@117.200.225.227] has quit [Read error:
Connection reset by peer]
16:11 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
16:14 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
16:21 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
16:25 -!- kanru [~kanru@61-228-152-114.dynamic.hinet.net] has quit [Ping timeout:
255 seconds]
16:28 -!- piyushmishra [~piyushmis@117.200.224.143] has joined #go-nuts
16:34 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has joined
#go-nuts
16:35 -!- gregc [~gregc@c-69-138-148-85.hsd1.tn.comcast.net] has joined #go-nuts
16:35 -!- drecute [~pdrealg@li85-35.members.linode.com] has joined #go-nuts
16:44 -!- Xiaobo [~chatzilla@221.219.68.106] has joined #go-nuts
16:49 -!- gregc [~gregc@c-69-138-148-85.hsd1.tn.comcast.net] has quit [Ping
timeout: 245 seconds]
16:50 -!- jessta [~jessta@203.214.34.83] has quit [Ping timeout: 260 seconds]
16:52 -!- ShadowIce [shadowice@unaffiliated/shadowice-x841044] has quit [Remote
host closed the connection]
16:54 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:02 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has joined #go-nuts
17:02 -!- enherit [~enherit@71-83-188-75.dhcp.lnbh.ca.charter.com] has quit [Quit:
leaving]
17:02 -!- enherit [~enherit@71-83-188-75.dhcp.lnbh.ca.charter.com] has joined
#go-nuts
17:06 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
17:21 < tsdh> When I install something from github using goinstall, does
that also generate the API docs somewhere?
17:27 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-247.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
17:40 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has quit [Remote host closed the
connection]
17:45 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
17:45 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
17:47 < steven_t> does this mean we can use the variable identifier name
"index" finally without shadowing any function?
17:47 * steven_t gets ready to sigh of relief
17:49 -!- aho [~nya@fuld-4d00d4ad.pool.mediaWays.net] has joined #go-nuts
17:59 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Read error: Connection
reset by peer]
18:00 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has joined #go-nuts
18:15 < tsdh> Is there something like `defer' which is not executed when
exiting a function but when the application terminates?
18:17 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
18:17 < tsdh> Or what's the idiomatic way to close a DB/network connection
cleanly when the app terminates, no matter the reason?
18:19 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has quit [Ping timeout: 265
seconds]
18:19 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
18:22 < exch> there isn't really anything to facilitate that
18:22 < exch> except open and defer/close the connections in main()
18:23 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Read error: Operation timed out]
18:23 < tsdh> exch: Ok, then I'll do that.
18:24 -!- ukai [~ukai@nat/google/x-ihwxmyowxfozkfck] has quit [Ping timeout: 240
seconds]
18:25 -!- ukai [~ukai@nat/google/x-sjzqqlcwzzosnnsr] has joined #go-nuts
18:26 -!- slashus2 [~slashus2@74-137-24-74.dhcp.insightbb.com] has quit [Quit:
slashus2]
18:26 -!- femtoo [~femto@95-89-248-51-dynip.superkabel.de] has quit [Ping timeout:
240 seconds]
18:29 -!- major_majors [~major_maj@m282336d0.tmodns.net] has joined #go-nuts
18:32 -!- sacho [~sacho@95-42-122-63.btc-net.bg] has quit [Read error: Connection
reset by peer]
18:34 -!- major_majors [~major_maj@m282336d0.tmodns.net] has quit [Quit:
major_majors]
18:35 -!- sacho [~sacho@95-42-97-21.btc-net.bg] has joined #go-nuts
18:39 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
18:41 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
18:43 -!- piyushmishra [~piyushmis@117.200.224.143] has quit [Read error:
Connection reset by peer]
18:43 -!- piyushmishra [~piyushmis@117.200.224.60] has joined #go-nuts
18:48 -!- piyushmishra [~piyushmis@117.200.224.60] has quit [Client Quit]
18:54 -!- Sseur [~david@mic92-12-88-161-108-143.fbx.proxad.net] has joined
#go-nuts
18:54 -!- macroron [~ron@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit:
Leaving]
19:01 -!- major_majors [~major_maj@plmomibas02-lo10-a202.plmomi.tds.net] has
joined #go-nuts
19:01 -!- virtualsue [~chatzilla@93-97-62-8.zone5.bethere.co.uk] has quit [Ping
timeout: 272 seconds]
19:02 -!- ukai [~ukai@nat/google/x-sjzqqlcwzzosnnsr] has quit [Ping timeout: 245
seconds]
19:03 -!- ukai [~ukai@nat/google/x-xgkkjkkevcfpvqlw] has joined #go-nuts
19:06 -!- tsdh [~user@p54AF1E03.dip0.t-ipconnect.de] has quit [Quit: Goodbye
guys!]
19:09 -!- napsy [~luka@212.235.174.112] has quit [Quit: Lost terminal]
19:09 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
19:10 < steven_t> guys
19:10 < jcao219> hi
19:10 < steven_t> is there a BUFLEN equiv in go?
19:10 < steven_t> i dont know what size to make my []byte when reading from
stdin
19:10 < taruti> any size will do
19:11 < steven_t> whats a standard way to read everything until \n from
stdin?
19:13 < taruti> http://bitbucket.org/taruti/getpass/src/tip/getpass.go see
the GetLine function there
19:13 < nbjoerg> fgets + buffer scaling
19:14 < nbjoerg> getline if the libc is new enough
19:14 < steven_t> um
19:14 < steven_t> libc?
19:14 < steven_t> this is go, isnt it?
19:14 < steven_t> im so confused by your cryptic answers
19:14 < nbjoerg> ah
19:14 < nbjoerg> sorry, wrong context :)
19:14 < steven_t> lol
19:14 < steven_t> so how about in go?
19:15 < jcao219> taruti's link
19:15 < steven_t> hmm im confused about why b[0:] is used in this code,
taruti
19:15 < steven_t> or what it does
19:16 < taruti> it uses the array as a slice
19:16 < steven_t> oh i see
19:16 < steven_t> ir does b[0:len(b)]
19:16 < steven_t> *it
19:18 < steven_t> ugh line 32 is why i hate the no-parens style of go
19:18 < steven_t> it would be better as: if (err != nil)\n\treturn;
19:18 < jcao219> it looks good to me
19:18 < jcao219> but i come from a python background
19:18 < steven_t> yeah thats also ugly in python
19:19 < steven_t> its bad python style to have code after the colon on the
same line
19:19 < jcao219> both look okay to me, it's just easier to type isn't it.
19:19 < steven_t> especially if its break or return
19:19 < steven_t> then it hides control flow from initial glance
19:19 < jcao219> i don't think that's against the style guide for python,
it's really common
19:22 < steven_t> meh
19:23 < steven_t> anyway are you sure theres no built in way to get a line
of input from stdin?
19:23 < steven_t> like Readline() or something?
19:24 < steven_t> taruti: what about
http://bitbucket.org/taruti/go-readline/src/tip/readline.go
19:24 < steven_t> seems less safe
19:25 -!- mkeijzer_ [~mkeijzer@80.101.108.89] has quit [Quit: Leaving]
19:27 < taruti> steven_t: that requires libreadline
19:30 -!- JimmyRcom [~jimmy@adsl-76-201-179-216.dsl.rcsntx.sbcglobal.net] has
joined #go-nuts
19:30 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has joined
#go-nuts
19:31 -!- RobertLJ [~quassel@c-68-44-163-191.hsd1.nj.comcast.net] has quit [Remote
host closed the connection]
19:31 < steven_t> i do not understand at all why the command line waits for
me to press enter/return before sending my data from stdin into my go program
19:31 < steven_t> is there some reason for this?
19:34 -!- ako [~nya@fuld-4d00d60a.pool.mediaWays.net] has joined #go-nuts
19:36 -!- aho [~nya@fuld-4d00d4ad.pool.mediaWays.net] has quit [Ping timeout: 245
seconds]
19:37 < steven_t> taruti: how do you feel about this version of GetLine?
http://gist.github.com/566261
19:38 < KirkMcDonald> steven_t: stdin is line-buffered by default.
19:40 < steven_t> oooo
19:43 < nbjoerg> the problem with line oriented interfaces is how the
buffering is supposed to work
19:43 < nbjoerg> e.g.  is there buffering and how does it interact with
pipes
19:47 -!- DerHorst [~Horst@e176100111.adsl.alicedsl.de] has quit [Remote host
closed the connection]
19:52 -!- vomjom [~vomjom@99-162-150-88.lightspeed.sntcca.sbcglobal.net] has quit
[Quit: Leaving]
19:52 < steven_t> thats way confusing to me
19:53 -!- drecute [~pdrealg@li85-35.members.linode.com] has quit [Ping timeout:
240 seconds]
19:55 -!- coodu [~pdrealg@li85-35.members.linode.com] has joined #go-nuts
19:58 -!- tvw [~tv@e176003227.adsl.alicedsl.de] has joined #go-nuts
20:01 -!- drecute [~pdrealg@li85-35.members.linode.com] has quit [Ping timeout:
276 seconds]
20:03 -!- tav [~tav@2001:0:53aa:64c:0:3ffa:a3f8:9cec] has quit [Ping timeout: 272
seconds]
20:03 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
20:04 -!- tav [~tav@2001:0:53aa:64c:0:3ffa:a3f8:6e9b] has joined #go-nuts
20:05 -!- ayo [~nya@fuld-4d00d60a.pool.mediaWays.net] has joined #go-nuts
20:07 -!- peterdn_ [~peterdn@host81-151-238-51.range81-151.btcentralplus.com] has
joined #go-nuts
20:08 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has quit
[Ping timeout: 240 seconds]
20:09 -!- hokapoka_ [~hokapoka@hoka.hokapoka.com] has joined #go-nuts
20:09 -!- viirya_ [~viirya@cml506-25.csie.ntu.edu.tw] has joined #go-nuts
20:09 -!- Grauniad_ [~lah@bylands.dur.ac.uk] has joined #go-nuts
20:09 -!- mafs_ [~maikeru@24-107-56-173.dhcp.stls.mo.charter.com] has joined
#go-nuts
20:10 -!- werdan7_ [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
20:12 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
20:14 -!- jackman [~jackman@c-67-189-24-232.hsd1.or.comcast.net] has quit [Quit:
leaving]
20:14 -!- Netsplit *.net <-> *.split quits: werdan7, Bombe, peterdn,
hokapoka, Zoopee, tvw, Eko, Adys, Grauniad, ako, (+5 more, use /NETSPLIT to show
all of them)
20:15 -!- Xurix [~Luixsia@AToulouse-254-1-65-131.w81-49.abo.wanadoo.fr] has joined
#go-nuts
20:20 -!- mattikus_ [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
20:21 -!- dragonball_ [~dragonbal@unaffiliated/dragonball] has joined #go-nuts
20:21 -!- Adys [~Adys@unaffiliated/adys] has joined #go-nuts
20:21 -!- smw [~smw@pool-71-183-88-124.nycmny.fios.verizon.net] has joined
#go-nuts
20:21 -!- ivan` [~ivan@unaffiliated/ivan/x-000001] has joined #go-nuts
20:22 -!- dragonball_ [~dragonbal@unaffiliated/dragonball] has quit [Read error:
Connection reset by peer]
20:22 -!- QshelTier [~droden@weltgehirnmaschine.de] has joined #go-nuts
20:22 -!- sacho [~sacho@95-42-97-21.btc-net.bg] has joined #go-nuts
20:22 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Ping
timeout: 265 seconds]
20:23 -!- peterdn_ [~peterdn@host81-151-238-51.range81-151.btcentralplus.com] has
quit [Quit: ChatZilla 0.9.86-rdmsoft [XULRunner 1.9.2/20100222071121]]
20:29 -!- zaero [~eclark@valkyrie.buick455.com] has left #go-nuts []
20:32 -!- ukai [~ukai@nat/google/x-xgkkjkkevcfpvqlw] has quit [Ping timeout: 240
seconds]
20:32 -!- mattikus_ [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Ping
timeout: 265 seconds]
20:34 -!- ukai [~ukai@nat/google/x-zjukgbtkertnulve] has joined #go-nuts
20:36 < steven_t> hwo do you handle signals in Go, such as SIGINT
20:38 < nsf> steven_t:
http://github.com/nsf/gocode/blob/master/server.go#L163
20:38 < nsf> example in this function (line 163)
20:39 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has joined
#go-nuts
20:39 < nsf> well, the example itself on 182
20:41 -!- zaero [~eclark@valkyrie.buick455.com] has joined #go-nuts
20:42 < steven_t> wow
20:42 < steven_t> thats a terrible example
20:42 < steven_t> either that or doing this in Go is terribly awkward
20:43 < nsf> lol
20:43 < nsf> doing that in C is awkward
20:43 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has quit
[Client Quit]
20:43 < nsf> in Go everything is simple
20:43 < steven_t> less so: signal(signal, functionptr)
20:44 < nsf> the problem is
20:44 < steven_t> why isnt it that easy in Go
20:44 < nsf> that functionptr is executed on a separate thread
20:44 < nsf> you have to deal with thread safety
20:44 < nsf> that is awkward
20:44 < steven_t> ugh
20:45 < nsf> also signal is deprecated on linux
20:45 < nsf> there is sigaction now
20:45 < nbjoerg> "now"
20:45 < steven_t> ugh
20:45 < steven_t> this is retarded
20:45 < steven_t> i cant get your example to work
20:46 < steven_t> it complans that im using <-signal.Incoming as a value
20:46 < steven_t> i copied that code verbatim ffs
20:46 < nsf> then sorry, I don't a better example
20:46 < exch> import "os/signal"
20:46 < steven_t> i did
20:46 < nsf> nbjoerg: well, I'm not sure about when it became "now"
20:47 < nsf> but I've noticed once that after linux kernel update
20:47 < nsf> signal has started to behave differently
20:47 < exch> signals are a pain in the ass in a concurrent environment.
Additionally Go tries to be OS independant.  Signals are very much OS dependant
20:47 < nbjoerg> nsf: signal(2) has been deprecated for ages
20:47 < nsf> and I had to switch my code to sigaction
20:47 < nsf> nbjoerg: I guess :)
20:47 < steven_t> all im really trying to do is make it so that i can print
a message upon receiving sigint
20:47 < steven_t> that should be this difficult
20:47 < nbjoerg> around 2 decades
20:48 < nsf> hehe :D
20:48 < nbjoerg> exch: fully agreed
20:48 -!- mwarning [~mwarning@ip-109-90-192-157.unitymediagroup.de] has joined
#go-nuts
20:48 * nbjoerg still needs to finish that part of the netbsd port
20:49 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has joined
#go-nuts
20:51 < steven_t> whats the Go convention for naming types and variables
20:51 < steven_t> for example i want to make a board type and a board var
20:52 < nsf> afaik there is no convention
20:52 < steven_t> board_t ?
20:52 < nsf> with exception that camel case is forced because of visibilty
rules
20:52 < nsf> visibility*
20:53 < nsf> var or type that starts with a capital letter is visible
outside the package
20:53 < nsf> afair ruby has the same stuff
20:53 < nsf> Board
20:53 < nsf> board
20:53 < steven_t> yes, it does
20:54 < Namegduf> steven_t: Caa
20:54 < Namegduf> *Call the type it without the t, capitalised.
20:54 < Namegduf> (First letter)
20:54 < Namegduf> Call the instances the type lowercase, if there's no
better name.
20:56 < steven_t> that only works if i want to export the type
20:56 < steven_t> only coincidentally is that true this time :P
20:56 < Namegduf> Very few names in Go have ugly junk in the name for such.
20:56 -!- peterdn [~peterdn@host81-151-238-51.range81-151.btcentralplus.com] has
joined #go-nuts
20:56 < Namegduf> In general, if thre's more than one instance, there should
be a better name than the type name, because there should be SOMETHING distinct.
20:56 -!- mwarning [~mwarning@ip-109-90-192-157.unitymediagroup.de] has left
#go-nuts []
20:57 < nsf> steven_t: also I'm working on the app that will allow you to
rename stuff inside your package pretty easily
20:57 < nsf> preserving all the semantics
20:57 < Namegduf> If there's only one instance in your package, and it isn't
exported, why is it a type?
20:57 < nsf> yep, true
20:57 < Namegduf> For methods on a type and such, ingle character receivers
are common, which is the only case where a "generic instance" is commonly used, I
think.
20:57 < nsf> you can use an anonymous struct
20:57 < nsf> var x struct { ...  }
20:58 * nsf xorg reboot, nvidia blob update
20:58 < nsf> brb
20:58 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
20:59 -!- Fish [~Fish@9fans.fr] has quit [Read error: Connection reset by peer]
20:59 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
21:00 < nsf> omg, also update the chromium to version 6
21:00 < nsf> it has new interface..  neat :)
21:00 < nsf> updated*
21:02 < nsf> it's silly that xorg can't reload video driver on the fly
21:02 < nsf> :(
21:02 < nsf> windows can do that for 7 years now
21:03 < nsf> or so
21:03 < nsf> maybe even more
21:06 -!- tensorpudding [~user@99.23.122.78] has joined #go-nuts
21:08 -!- idr [~idr@g225100056.adsl.alicedsl.de] has quit [Remote host closed the
connection]
21:24 -!- major_majors [~major_maj@plmomibas02-lo10-a202.plmomi.tds.net] has quit
[Quit: major_majors]
21:33 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
21:37 -!- gabriel9 [~gabriel9@93.157.192.28] has quit [Remote host closed the
connection]
21:38 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has quit
[Ping timeout: 255 seconds]
21:42 -!- sahid [~sahid@LNeuilly-152-21-22-10.w193-253.abo.wanadoo.fr] has joined
#go-nuts
21:45 < steven_t> is there some method "Times" on the uint types?
21:45 < steven_t> ie, 9.Times(func(){ ...  })
21:46 < nsf> no
21:46 < nsf> Go built-ins don't have any methods
21:49 < nsf> and you will be disappointed after trying to use Go as Ruby
21:49 < nsf> :)
21:49 < steven_t> haha
21:49 < steven_t> but alas, it works just fine ;)
21:50 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
21:50 < steven_t> i was also surprised there is no similar method that takes
a function to act on a file, and wraps opening/closing arond that block, as in
Ruby
21:50 < steven_t> it could easily be done, but instead, Go prefers defering
21:50 < nsf> Go doesn't prefers anything imho
21:51 < steven_t> all of the documentation on it that ive read so far prefer
defer
21:51 < nsf> well if you want to use that kind of function
21:51 < steven_t> and i dont see any built in function to operate on a file
that opens and closes it and takes a function
21:51 < nsf> inside it will use defer
21:51 < nsf> because defer cleans things up when code panics
21:51 < steven_t> heh
21:51 < steven_t> in any case
21:52 < nsf> you can write that function in one line
21:52 < steven_t> alas, i wrote .times
21:52 < steven_t> number.times
21:52 < nsf> :)
21:53 < nsf> I have foreach function
21:53 < steven_t> number(9).times(func(i uint) { ...  })
21:53 < nsf> but maybe it will be refactored out
21:53 < nsf> later
21:53 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
21:54 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
21:55 < steven_t> it bugs me that you cant define methods on types you didnt
define
21:55 < steven_t> but i might get used to it
21:55 < steven_t> i keep comparing Go to Ruby in my head when i should be
comparing it to C
21:55 < nsf> yes, it tries to get best from both worlds
21:55 < steven_t> in terms of performance, C > Go > Ruby..  but in
terms of abstractions, Ruby > Go > C
21:55 < steven_t> and in terms of concurrency, Go > C > Ruby
21:55 < nsf> you see..  it's in the middle :)
21:56 < steven_t> and in terms of alphabetization, Ruby > Go > C
21:56 < steven_t> and in terms of reverse alphabetization, C > Go >
Ruby
21:56 < steven_t> and in terms of name length, Ruby > Go > C
21:56 < steven_t> it can go on and on
21:56 < nsf> in 5 of 6
21:57 < nsf> Go is in the middle
21:57 < nsf> statistics..
21:57 < nsf> :D
21:57 < steven_t> but when alls said and done, programming is useless
without electricity.  and we have yet to find a renewable energy source.  so fuck
it, im going to go play with my kids
21:57 < steven_t> bbl
21:57 < nsf> lol
21:57 < nsf> true
21:57 -!- sukuri [~travis@194.10.188.72.cfl.res.rr.com] has joined #go-nuts
21:58 < nsf> but today the software is a very big part of our world anyway
21:59 < steven_t> only to help make playing with the kids more enjoyable
21:59 < steven_t> the kids are really all what its about
22:00 < steven_t> oh and eating and sleeping and doing it
22:00 < steven_t> pretty much thats all what lifes about, no?
22:00 < nsf> not really
22:00 < steven_t> bbl, gonna eat and play with kids and sleep and do it
22:00 < nsf> what you're saying is about survival
22:00 < nsf> it's a big part of the life of course
22:00 < nsf> but it's not the whole
22:01 < exch> if suddenly every single elecrtical system stopped, I'm fairly
certain we'd manage.  We've been managing without for thousands of years, we can
do it again.  Granted, there will be some measure of panic and disorder, but the
way societies work, they will sor themselves out in time
22:01 < exch> *sort
22:01 < nsf> yes
22:01 < nsf> the road of restructurization will be painful
22:01 < nsf> but it won't be the end
22:02 < exch> aye
22:02 < nsf> and believe it or not
22:02 < nsf> there are places on earth
22:03 < nsf> where people still live without electricity
22:03 < nsf> :D
22:03 < exch> shocking to sya the least
22:04 -!- joxer [~joxer@151.82.0.174] has joined #go-nuts
22:04 -!- joxer [~joxer@151.82.0.174] has left #go-nuts []
22:05 < plexdev> http://is.gd/eWB6q by [Anthony Martin] in go/src/pkg/fmt/
-- fmt.Scan: fix integer overflow on 32-bit machines
22:08 -!- photron [~photron@port-92-201-23-155.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
22:14 -!- mafs_ [~maikeru@24-107-56-173.dhcp.stls.mo.charter.com] has left
#go-nuts []
22:14 -!- mafs [~maikeru@unaffiliated/maikeru/x-7708887] has joined #go-nuts
22:16 -!- boscop_ [~boscop@g227013164.adsl.alicedsl.de] has joined #go-nuts
22:16 -!- boscop [~boscop@g225223243.adsl.alicedsl.de] has quit [Ping timeout: 264
seconds]
22:21 -!- ikaros [~ikaros@188.107.223.67] has quit [Quit: Leave the magic to
Houdini]
22:25 -!- gregc [~gregc@c-69-138-148-85.hsd1.tn.comcast.net] has joined #go-nuts
22:39 -!- tav [~tav@2001:0:53aa:64c:0:3ffa:a3f8:6e9b] has quit [Ping timeout: 272
seconds]
22:39 -!- gabriel9 [~gabriel9@93.157.192.28] has joined #go-nuts
22:41 -!- tav [~tav@2001:0:53aa:64c:0:3ffa:a3f8:a4f5] has joined #go-nuts
22:45 -!- General1337 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has joined
#go-nuts
22:46 -!- General13372 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has quit
[Read error: Connection reset by peer]
22:46 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has quit [Read error:
Operation timed out]
22:48 -!- preflex [~preflex@unaffiliated/mauke/bot/preflex] has joined #go-nuts
22:52 < gregc> hey, so it's been awhile since I've used Go much, and I think
the main reason for that is that I don't like gotest very much.
22:53 < gregc> Back in March I hacked together my own unit testing
framework, but it was pretty ugly...
22:53 < gregc> The reflect package did not seem powerful enough then.
22:53 < gregc> Are there any published alternatives to Gotest?
22:54 -!- jcao219 [~jcao219@pool-173-74-61-111.dllstx.fios.verizon.net] has joined
#go-nuts
22:54 < gregc> I understand that the reflect package has improved a bit
recently...  I wonder if I would have more success if I tried to make my own unit
testing stuff again..
22:55 < nsf> I haven't seen anything like that
22:55 < nsf> agreed that gotest is bad
22:58 -!- General13372 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has joined
#go-nuts
23:01 -!- General1337 [~support@71-84-244-55.dhcp.gldl.ca.charter.com] has quit
[Ping timeout: 272 seconds]
23:02 < steven_t> look all im saying is, it feels weird to have written func
(n number) times(f func(index uint))
23:02 < steven_t> it feels more natural in Go to write func Times(count
uint, f func(index uint))
23:03 < nsf> and both are inefficient
23:03 < nsf> ;)
23:03 < steven_t> on a scale that matters?
23:03 < steven_t> oh right
23:03 < nsf> I guess not
23:03 < nsf> what's wrong with for loop?
23:03 < steven_t> func Times(count uint, f *func(index uint))
23:03 < nsf> :)
23:03 < steven_t> nothing in particular
23:03 < nsf> for i := 0; i < count; i++ {...}
23:04 < nsf> a bit more code, ok
23:04 < steven_t> its just nice to be able to do something with a higher
level abstraction than C lets
23:04 < nsf> it's nice when it's really useful
23:04 < nsf> and solves some kind of a big problem
23:04 < nsf> :D
23:05 < nsf> ok, I'm turning off trolling mode, I'll better keep writing
testing stuff for gocode
23:05 < steven_t> lol
23:06 -!- nighty^ [~nighty@x122091.ppp.asahi-net.or.jp] has quit [Quit: Disappears
in a puff of smoke]
23:12 -!- mattikus` [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
23:12 < gregc> It'd be really nice if it was possible to get an array of all
of the functions defined on a certain type.
23:13 < nsf> you can do that using trivial parser written in Go
23:13 < nsf> I mean there is a parser already
23:13 < nsf> you need to do a bit of AST processing
23:13 -!- mattikus` [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Client
Quit]
23:13 < steven_t> is there any built in function or stdlib function like
ruby's Enumerable#any?  or Enumerable#all?
23:14 < gregc> hmm, yeah, i guess i imagine it happening inside of Go...
23:14 -!- mattikus` [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
23:14 < steven_t> where it returns true if all (or any, depending on the
method) of the elements of a list return true for a given function (block)
23:14 < gregc> the fact that Gotest uses bash is part of the reason i
dislike it
23:14 -!- mattikus` [~mattikus@ip24-250-73-154.br.br.cox.net] has quit [Remote
host closed the connection]
23:14 < nsf> hehe
23:15 -!- mattikus [~mattikus@ip24-250-73-154.br.br.cox.net] has joined #go-nuts
23:20 -!- mbohun [~mbohun@ppp115-156.static.internode.on.net] has quit [Quit:
Leaving]
23:26 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has joined
#go-nuts
23:31 -!- skelterjohn [~jasmuth@c-76-116-182-139.hsd1.nj.comcast.net] has quit
[Client Quit]
23:31 < gregc> Even macros would let me make a good enough testing
framework...
23:31 < gregc> Or getting an array of methods on a value...  but I don't
think that's possible..
23:32 < exch> tha's just synractic sugar on a plain old foreach
23:32 < exch> *that's *syntactic
23:33 < gregc> Wait, can you get at all of the methods defined on a value?
23:35 -!- gr0gmint [debian-tor@gateway/tor-sasl/gr0gmint] has joined #go-nuts
23:35 < exch> not sure what you mean by that, but if you want a list if the
methods on an object, you'll need to use the reflect package
23:36 < gregc> Yeah, I'm looking at the reflect package..  but I still don't
see how.  (I'm probably just overlooking it.)
23:36 -!- gr0gmint [debian-tor@gateway/tor-sasl/gr0gmint] has quit [Client Quit]
23:37 < exch> var a T = something; rt := reflect.Typeof(a); for i := 0; i
< rt.MethodNum(); i++ { method := rt.Method(i); }
23:38 < exch> don't think it contains method names though.  That information
is not preserved in a go program
23:38 -!- g0bl1n [~pr0kter@a213-22-18-58.cpe.netcabo.pt] has joined #go-nuts
23:39 < gregc> Yeah, method names would be nice, but I understand that it
can't all be preserved.
23:39 < gregc> Thanks, I think that is what I want :)
23:43 < steven_t> whoa hell yeah that looks sexy
23:45 < gregc> Looking at some of my old code, I was doing exactly that same
thing but ran into a problem.  I forget what it was...  and I probably won't have
any problems if I just try again :p
23:57 < steven_t> so am i to understand that NO built in types have any
methods, only a handful of functions which can act on them?
23:59 < jcao219> not sure
23:59 < jcao219> i guess so
--- Log closed Mon Sep 06 00:00:06 2010