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

--- Log opened Wed Jul 14 00:00:12 2010
00:05 -!- photron [~photron@port-92-201-47-104.dynamic.qsc.de] has quit [Ping
timeout: 248 seconds]
00:15 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
00:17 -!- ericvh [~ericvh@2002:467b:802c:0:223:6cff:fe93:c616] has joined #go-nuts
00:21 -!- ericvh [~ericvh@2002:467b:802c:0:223:6cff:fe93:c616] has left #go-nuts
[]
00:33 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has joined #go-nuts
00:35 -!- Agon-laptop
[~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has quit [Remote
host closed the connection]
00:35 < plexdev> http://is.gd/dr0FK by [Russ Cox] in go/src/pkg/runtime/ --
runtime: better error for send/recv on nil channel
00:44 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has quit [Quit: Leaving]
00:44 -!- carllerche [~carllerch@99.13.242.166] has joined #go-nuts
00:51 -!- mikespook [~mikespook@58.62.5.54] has joined #go-nuts
00:52 -!- ExtraSpice [~ExtraSpic@88.118.32.225] has quit [Ping timeout: 240
seconds]
00:54 -!- binarypie [~binarypie@adsl-99-50-122-26.dsl.pltn13.sbcglobal.net] has
quit [Quit: Lost terminal]
01:08 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has joined #go-nuts
01:08 -!- gid [~gid@220.253-225-62.VIC.netspace.net.au] has joined #go-nuts
01:09 < zerofluid> 1 package main
01:09 < zerofluid> 2
01:09 < zerofluid> 3 import fmt "fmt"
01:09 < zerofluid> 4
01:09 < zerofluid> 5 func main() {
01:09 < zerofluid> 6 var Point struct {i, j int}
01:09 < zerofluid> 7 p := new Point
01:09 < zerofluid> 8 fmt.Println(p)
01:09 < zerofluid> 9 }
01:09 < zerofluid> 10
01:09 < zerofluid> hello.go:7: syntax error: unexpected name, expecting
semicolon or newline or }
01:09 < Ginto8> pastebin or w/e
01:09 < zerofluid> what is w/e
01:10 < Ginto8> don't paste code in IRC
01:10 < Ginto8> anyway
01:10 < Ginto8> it's new(Point)
01:10 < Ginto8> that is all
01:10 < KirkMcDonald> Well
01:11 < KirkMcDonald> Except Point isn't a type.
01:11 < Ginto8> oh yeah good point
01:11 < Ginto8> it's a ver
01:11 < Ginto8> var*
01:11 -!- bmizerany [~bmizerany@dsl081-064-072.sfo1.dsl.speakeasy.net] has quit
[Ping timeout: 252 seconds]
01:11 < Ginto8> there isn't a typeof()
01:11 < Ginto8> so you need to do like
01:11 < Ginto8> type Point struct {i,j int}
01:11 < Ginto8> before func main()
01:12 < Ginto8> cuz I don't think you can have type decl's inside a func
01:13 < KirkMcDonald> The grammar suggests that you can.
01:13 < zerofluid> works either way - in or out of function - thanks and
sorry - too quick on the trigger
01:14 < Ginto8> oh cool
01:14 < Ginto8> function scope types
01:14 < zerofluid> yes - that probably isn't what I want, but it works
01:15 < Ginto8> what is it that you actually want?
01:15 -!- anticw [~anticw@c-67-169-41-113.hsd1.ca.comcast.net] has quit [Quit:
leaving]
01:15 -!- anticw [~anticw@c-67-169-41-113.hsd1.ca.comcast.net] has joined #go-nuts
01:16 < zerofluid> believe it or not, just a point right now - but what I'll
need by Friday is a two-dimensional array of vectors (or eqv) that can hold points
01:16 < zerofluid> figured I'd make a point first...
01:16 < Ginto8> uh why?
01:16 < Ginto8> and by vector you mean like C++'s std::vector?
01:17 < zerofluid> dynamic programming using vectors and DFS ...  and yes -
vectors like C++ and Java - Go has one, but I'm not sure that is what I need
01:18 < Ginto8> well go's slices can be reallocated and copiesd
01:18 < Ginto8> copied*
01:18 < Ginto8> what exactly do you want to do?
01:18 -!- carllerche [~carllerch@99.13.242.166] has quit [Quit: carllerche]
01:18 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has joined
#go-nuts
01:18 < zerofluid> combinations of exact change algorithm
01:19 < zerofluid> I can work this out on paper with a 2-dim array of
vectors that contain points
01:20 < Ginto8> why do you need points?
01:20 < zerofluid> and yes, the recursive solution was the warm up
01:21 < zerofluid> because the next valid point points to the last valid
point
01:21 < zerofluid> and next can be on the current coin or the next lesser
coin
01:21 < zerofluid> I think
01:21 < zerofluid> like I said, I could even declare a point today
01:22 < Ginto8> wait...  is this supposed to be something like a linked
list?
01:22 < zerofluid> and yes, I bothered you yesterday for the recursive
solution
01:22 < zerofluid> yes- so a slice might do
01:22 < nsf> omg, function scope types
01:22 < Ginto8> nsf, yeah inorite?  I had no clue
01:22 < zerofluid> http://golang.org/pkg/container/vector/#Vector
01:22 < Ginto8> what would be the real kicker is if we could have functions
IN FUNCTIONS
01:22 < zerofluid> so - something is at least NAMED vector ...
01:23 < KirkMcDonald> Ginto8: Hmm?
01:23 < Ginto8> zerofluid, yes but I don't think you know what you're
talking about
01:23 < nsf> Ginto8: we can
01:23 < nsf> there are closures
01:23 < zerofluid> nothing like like blind finding something new
01:23 < Ginto8> nsf, well I know function literals
01:23 < Ginto8> but can you have named functions?
01:23 < nsf> you can store it in a variable
01:23 < Ginto8> like aside from f := func() { ..  }
01:23 < nsf> afaik
01:23 < Ginto8> oh ok
01:23 < Ginto8> I'll have to test that sometime
01:24 -!- Bombe [~droden@freenet/developer/Bombe] has quit [Excess Flood]
01:24 < Ginto8> zerofluid, what coins are valid?
01:24 < Ginto8> quarters dimes nickels pennies?
01:24 < zerofluid> later and thanks - we'll see if I'm clueless if or when I
get the right numbers
01:24 < zerofluid> 1 2 5 10 20 25 50 100
01:24 < Ginto8> okey dokey
01:24 < zerofluid> yes, we have a two-cent coin in my prof's world ;-)
01:25 -!- Bombe [~droden@weltgehirnmaschine.de] has joined #go-nuts
01:25 < zerofluid> anyway - thanks - I'll let you know
01:25 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has quit [Quit:
Leaving]
01:35 -!- aho [~nya@fuld-4d00d23e.pool.mediaWays.net] has quit [Ping timeout: 245
seconds]
01:37 -!- Robbo [~Robbocogs@CPE-124-187-134-193.lns15.ken.bigpond.net.au] has
joined #go-nuts
01:40 -!- Robbo_ [~Robbocogs@CPE-124-187-134-193.lns15.ken.bigpond.net.au] has
quit [Ping timeout: 260 seconds]
01:42 -!- aho [~nya@fuld-4d00d1b8.pool.mediaWays.net] has joined #go-nuts
01:54 -!- carllerche [~carllerch@208.87.61.203] has joined #go-nuts
01:59 < Eko> can anyone explain this:
01:59 < Eko> eko@graff ~/dev/hosted/gofr_goro $ testsuite/cgonested/cgosub
01:59 < Eko> PASS
01:59 < Eko> eko@graff ~/dev/hosted/gofr_goro $ testsuite/cgonested/cgosub |
cat
01:59 < Eko> eko@graff ~/dev/hosted/gofr_goro $ echo
`testsuite/cgonested/cgosub`
01:59 < Eko> the last one has no output either.
02:00 < Eko> It uses printf within cgo.
02:00 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
02:02 < Ginto8> uh idk
02:03 < Ginto8> but why use printf within cgo?
02:03 < Eko> well, it's in my test suite for my builder
02:04 < Eko> it just prints PASS
02:04 < Eko> but I can't grep for it because it somehow doesn't make it
through the pipeline.
02:04 < Ginto8> ok what's the source code?
02:05 -!- KillerX [~anant@nat/mozilla/x-nwsmmnhbqniimrtf] has joined #go-nuts
02:05 -!- KillerX [~anant@nat/mozilla/x-nwsmmnhbqniimrtf] has quit [Changing host]
02:05 -!- KillerX [~anant@gentoo/developer/KillerX] has joined #go-nuts
02:06 -!- KillerX [~anant@gentoo/developer/KillerX] has quit [Client Quit]
02:09 < Eko> Ginto8: http://gist.github.com/474907
02:10 -!- lmoura [~lmoura@187.78.130.104] has quit [Ping timeout: 265 seconds]
02:10 < Ginto8> ok just why?
02:10 < Ginto8> the whole point of cgo is so that you can access C libs
directly
02:10 < Ginto8> for example, printf
02:11 < Ginto8> creating another .c/h for the wrapping just makes it a
little...  pointless.
02:11 < Eko> Ginto8: the whole point is to test to make sure my builder can
build a cgo package in a subdirectory if the programmer has a .c/.h file that they
want to access in go
02:11 < Ginto8> hm
02:11 < Eko> and link it into an executable
02:11 < Eko> This is not production code, it's for a test suite.
02:12 < Ginto8> ok
02:12 < Eko> do I have direct access to C.printf() within Go though?
02:12 < Eko> I thought vararg functions didn't work
02:12 < Ginto8> maybe
02:12 < Ginto8> or fmt.Printf
02:12 < Eko> well, clearly
02:13 < cw> C printf will be cumbersome if you dont really need it
02:14 < Eko> is there a more obvious way that anyone can think of to test a
braindead simple cgo program than using printf?
02:14 < Ginto8> SDL window
02:14 < Eko> I guess I could check that it's exit code is what I expect...
02:14 < Ginto8> or math
02:14 < Eko> Ginto8: uh, automated test.
02:14 < Eko> aha.
02:14 < Ginto8> test math and string manip
02:15 < Ginto8> (string as in char*)
02:15 < Eko> I like it.
02:15 < Eko> thanks.
02:15 < Ginto8> you're welcome
02:15 < Ginto8> and you can return the C strings to go and use C.GoString()
to convert them
02:15 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has joined #go-nuts
02:17 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
host closed the connection]
02:28 -!- jdp [~gu@24.238.32.162.res-cmts.segr.ptd.net] has quit [Read error:
Connection reset by peer]
02:45 -!- carllerche [~carllerch@208.87.61.203] has quit [Quit: carllerche]
03:00 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
03:11 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
03:25 -!- incluye [~inklewyay@NW-ESR1-74-215-114-218.fuse.net] has quit [Remote
host closed the connection]
03:27 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
03:31 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has joined #go-nuts
03:35 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has quit [Remote
host closed the connection]
03:35 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has joined #go-nuts
03:43 -!- jhawk28 [~jhawk28@c-069-063-212-182.sd2.redwire.net] has joined #go-nuts
03:44 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Quit: End of line.]
04:06 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has joined #go-nuts
04:07 -!- exch [~exch@h144170.upc-h.chello.nl] has quit [Read error: Connection
reset by peer]
04:08 -!- exch [~exch@h144170.upc-h.chello.nl] has joined #go-nuts
04:09 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
04:11 -!- Robbo_ [~Robbocogs@CPE-121-216-124-94.lnse2.ken.bigpond.net.au] has
joined #go-nuts
04:12 -!- Robbo [~Robbocogs@CPE-124-187-134-193.lns15.ken.bigpond.net.au] has quit
[Ping timeout: 248 seconds]
04:18 -!- jhawk28 [~jhawk28@c-069-063-212-182.sd2.redwire.net] has quit [Remote
host closed the connection]
04:19 -!- Robbo [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has
joined #go-nuts
04:21 -!- Robbo_ [~Robbocogs@CPE-121-216-124-94.lnse2.ken.bigpond.net.au] has quit
[Ping timeout: 252 seconds]
04:24 -!- Robbo_ [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has
joined #go-nuts
04:26 -!- Robbo [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has quit
[Ping timeout: 246 seconds]
04:29 -!- path[l] [UPP@120.138.102.50] has quit [Quit: path[l]]
04:29 -!- Robbo [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has
joined #go-nuts
04:29 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts
04:31 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.2]
04:31 -!- Robbo_ [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has quit
[Ping timeout: 265 seconds]
04:32 -!- gid [~gid@220.253-225-62.VIC.netspace.net.au] has quit [Quit: Leaving.]
04:40 -!- carllerche [~carllerch@208.87.61.203] has joined #go-nuts
04:40 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has
joined #go-nuts
04:41 -!- carllerche [~carllerch@208.87.61.203] has quit [Client Quit]
04:41 -!- Robbo [~Robbocogs@CPE-121-217-236-26.lnse3.cht.bigpond.net.au] has quit
[Ping timeout: 258 seconds]
04:47 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has joined #go-nuts
04:48 -!- Robbo [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has joined
#go-nuts
04:49 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has quit [Client
Quit]
04:50 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has joined #go-nuts
04:51 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has quit [Client
Quit]
04:52 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has quit
[Ping timeout: 260 seconds]
04:52 -!- mduft [~mduft@gentoo/developer/mduft] has quit [Ping timeout: 260
seconds]
04:55 -!- carllerche [~carllerch@208.87.61.203] has joined #go-nuts
04:55 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has joined #go-nuts
04:56 < zerofluid> can you size a two-dimensional array dynamically?  like
myArray[5][somevalue] ???
04:56 < zerofluid> I'm getting one of these: invalid array bound someValue
04:57 < zerofluid> which is a drag...
04:57 -!- carllerche [~carllerch@208.87.61.203] has quit [Client Quit]
04:59 -!- scm [justme@d039060.adsl.hansenet.de] has quit [Ping timeout: 265
seconds]
05:00 -!- scm [justme@d070120.adsl.hansenet.de] has joined #go-nuts
05:02 < exch> fixed arrays need a constant size initializer
05:02 -!- mduft [~mduft@gentoo/developer/mduft] has joined #go-nuts
05:03 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Ping
timeout: 245 seconds]
05:03 < zerofluid> I was afraid of that
05:04 < zerofluid> thanks
05:04 < Ginto8> but you can use a 2d slice
05:04 < Ginto8> well
05:04 < Ginto8> a slice of slices
05:04 < Ginto8> you just have to make sure all the slices have a uniform
size
05:05 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has
joined #go-nuts
05:05 < zerofluid> still processing that...thx
05:06 < Ginto8> [][]T
05:06 < Ginto8> it's akin to C's T**
05:06 < zerofluid> so in my case it would be [][][]Point
05:06 < Ginto8> uhm
05:07 < Ginto8> what ARE you actualy trying to do?
05:07 < zerofluid> since it is a two-dimensional array of slices
05:07 < zerofluid> which works well when I don't have to dynamically create
the slice
05:07 < zerofluid> pardon
05:07 < zerofluid> create the 2d array
05:07 -!- Robbo [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has quit
[Ping timeout: 252 seconds]
05:08 < Ginto8> your goal is a change maker correct?
05:08 < Ginto8> http://paste.pocoo.org/show/237313/
05:08 < zerofluid> yes and no - right now my goal is a two dimensional array
of vectors
05:08 < Ginto8> if your endgoal is a change maker, WHY ARE YOU USING
VECTORS?
05:09 < zerofluid> let me clean up a sec
05:10 < zerofluid> because we have to find all combinations, not the most
efficient
05:10 -!- Robbo [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has joined
#go-nuts
05:10 -!- jesusaur [jesusaur@firefly.cat.pdx.edu] has quit [Ping timeout: 260
seconds]
05:11 < Ginto8> oh
05:11 < Ginto8> well then
05:11 < Ginto8> one sec
05:12 < zerofluid> pasted
05:12 < Ginto8> hm?
05:12 < Ginto8> link if you pasted
05:12 < zerofluid> pasted back to you
05:12 < Ginto8> you can't "paste back"
05:12 < zerofluid> in a replay to http://paste.pocoo.org/show/237313/
05:12 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has quit
[Ping timeout: 276 seconds]
05:12 < Ginto8> paste then link
05:12 -!- jesusaur [jesusaur@firefly.cat.pdx.edu] has joined #go-nuts
05:13 < Ginto8> send the url
05:13 < zerofluid> http://paste.pocoo.org/show/237315/
05:13 < zerofluid> ahhhhh - the number changed...
05:14 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has
joined #go-nuts
05:14 < zerofluid> not even to the logic yet - just want a 2d vector array
of Points
05:14 -!- cmarcelo [~cmarcelo@187.59.242.138] has joined #go-nuts
05:14 -!- cmarcelo [~cmarcelo@187.59.242.138] has quit [Changing host]
05:14 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
05:14 -!- Kylarr [Kyle@122-148-63-115.static.dsl.dodo.com.au] has joined #go-nuts
05:15 < Ginto8> but...  why?
05:15 < Ginto8> why do you use Points to find change?
05:15 < Ginto8> and why do you need every combination?
05:16 -!- Robbo [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has quit
[Ping timeout: 260 seconds]
05:16 < zerofluid> I need every combination because it is a class - although
since I'm using go I have a little latitude to ask questions
05:16 < Ginto8> hm
05:16 < Ginto8> ok
05:17 < Ginto8> but why Points?
05:17 < zerofluid> points are for vectors from the previous point
05:17 < Ginto8> uhm
05:17 < Ginto8> so you're...  graphing it?
05:17 < zerofluid> so I can do a DFS search
05:17 < zerofluid> right
05:17 < Ginto8> well
05:17 < zerofluid> 2D matrix of adjacency lists
05:17 < Ginto8> if you need every single combination
05:17 < Ginto8> that adds up to a specific amount
05:17 < zerofluid> or vector list actually
05:17 < Ginto8> why do any algo?
05:18 < Ginto8> just brute force it
05:18 < zerofluid> haha
05:18 < Ginto8> srs
05:18 < zerofluid> yes, the recursive solution is done
05:18 < zerofluid> and it was easy
05:18 < Ginto8> oh now they require you to do an algo?
05:18 < zerofluid> we HAVE to do a dynomic programming solution in this
fashion
05:18 < zerofluid> it's an algo class
05:18 < Ginto8> oic
05:18 < Ginto8> damn
05:18 -!- mikespook1 [~mikespook@219.137.235.61] has joined #go-nuts
05:19 < Ginto8> that's a stupid way to teach an algo
05:19 < zerofluid> yeah - I worked it out on paper
05:19 < zerofluid> actually - he didn't give all the information
05:19 < zerofluid> but we needed something faster than recursive
05:19 < Ginto8> especially since you're better off solving this particular
problem with a brute force approach
05:19 < Ginto8> uhm...
05:19 < Ginto8> well don't recurse
05:19 < Ginto8> just loop
05:19 < Ginto8> it's pretty easy
05:20 < Ginto8> well it's easy, I just don't want to set it up =/
05:20 < zerofluid> the recursion is a bunch of loops - regardless - I'm
going to try to make a 2d slice of slices of points
05:20 -!- mikespook [~mikespook@58.62.5.54] has quit [Ping timeout: 245 seconds]
05:20 < Ginto8> oh
05:21 < Ginto8> hmm
05:21 < zerofluid> and perform a DFS from hell
05:21 < zerofluid> works on paper
05:21 < Ginto8> oh
05:21 < zerofluid> and kind of seemed simple enought to try to use go on the
way
05:21 < Ginto8> depth first is the naive solution
05:21 < Ginto8> got it
05:21 < Ginto8> well you can actually have multiple goroutines doin it
05:22 < Ginto8> go search(branch1)
05:22 < Ginto8> go search(branch2)
05:22 < Ginto8> and then the first to find it sends on a channel
05:22 < Ginto8> though that wouldn't necessarily find the FIRST match
05:22 < zerofluid> this is funny - I used OpenMP and OpenMPI for a knapsack
problem a few semesters back
05:22 < Ginto8> hm
05:23 -!- Robbo [~Robbocogs@CPE-121-216-12-120.lnse1.ken.bigpond.net.au] has
joined #go-nuts
05:23 < Ginto8> looks interesting
05:23 < zerofluid> thanks - let me get back to it - there has to be a
dynamic way
05:23 < Ginto8> okey dokey
05:23 < zerofluid> it has been fun
05:23 < Ginto8> good luck
05:23 < zerofluid> :-)
05:23 -!- Robbo_ [~Robbocogs@CPE-60-229-233-57.lns10.ken.bigpond.net.au] has quit
[Ping timeout: 245 seconds]
05:23 -!- zerofluid [~zerofluid@ip24-56-54-185.ph.ph.cox.net] has quit [Quit:
Leaving]
05:32 < exch> Anyone ever worked with directFB ( http://directfb.org/ )?
05:32 < exch> i'm wondering what it's advantages are as opposed to a plain
old X environment
05:33 < exch> apart from the fact that it's mostly aimed at embedded devices
05:36 < exch> It does seem like an admirable replacement for X on older
hardware where resources are limited
05:43 -!- tvw [~tv@212.79.9.150] has joined #go-nuts
05:48 -!- TR2N [email@89.180.153.197] has left #go-nuts []
05:49 -!- Robbo_ [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has
joined #go-nuts
05:50 -!- Robbo [~Robbocogs@CPE-121-216-12-120.lnse1.ken.bigpond.net.au] has quit
[Ping timeout: 245 seconds]
05:56 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has joined
#go-nuts
06:05 -!- mikespook1 [~mikespook@219.137.235.61] has quit [Quit: Leaving.]
06:08 -!- iant [~iant@81-233-149-58-no82.tbcn.telia.com] has joined #go-nuts
06:08 -!- mode/#go-nuts [+v iant] by ChanServ
06:09 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
host closed the connection]
06:11 -!- scarabx [~scarabx@c-76-19-43-200.hsd1.ma.comcast.net] has quit [Quit:
This computer has gone to sleep]
06:13 -!- iant [~iant@81-233-149-58-no82.tbcn.telia.com] has quit [Quit: Leaving.]
06:13 -!- iant [~iant@81-233-149-58-no82.tbcn.telia.com] has joined #go-nuts
06:13 -!- mode/#go-nuts [+v iant] by ChanServ
06:20 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has quit [Quit: Leaving]
06:21 -!- iant [~iant@81-233-149-58-no82.tbcn.telia.com] has quit [Quit: Leaving.]
06:21 -!- cco3 [~conley@c-69-181-138-209.hsd1.ca.comcast.net] has quit [Ping
timeout: 258 seconds]
06:23 -!- slashus2 [~slashus2@m455636d0.tmodns.net] has joined #go-nuts
06:27 -!- slashus2 [~slashus2@m455636d0.tmodns.net] has quit [Ping timeout: 240
seconds]
06:30 -!- aho [~nya@fuld-4d00d1b8.pool.mediaWays.net] has quit [Quit:
EXEC_over.METHOD_SUBLIMATION]
06:32 -!- Robbo [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has
joined #go-nuts
06:33 -!- napsy [~napsy@193.2.66.101] has joined #go-nuts
06:34 -!- Robbo_ [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has quit
[Ping timeout: 240 seconds]
06:49 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Quit: adu]
06:49 -!- slashus2 [~slashus2@m415636d0.tmodns.net] has joined #go-nuts
06:56 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:58 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has quit
[Remote host closed the connection]
06:59 -!- Adys [~Adys@unaffiliated/adys] has quit [Quit: I ♥ Unicode]
07:01 -!- wrtp [~rog@92.17.5.218] has joined #go-nuts
07:01 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has joined
#go-nuts
07:04 -!- wrtp [~rog@92.17.5.218] has quit [Client Quit]
07:26 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
07:27 -!- slashus2 [~slashus2@m415636d0.tmodns.net] has quit [Quit: slashus2]
07:33 -!- path[l] [UPP@120.138.102.50] has quit [Quit: path[l]]
07:36 -!- alkavan_ [~alkavan@77.126.117.120] has joined #go-nuts
07:37 -!- pjm0616 [~user@61.250.113.98] has quit [Ping timeout: 265 seconds]
07:39 -!- alkavan_ [~alkavan@77.126.117.120] has quit [Client Quit]
07:40 -!- alkavan_ [~alkavan@77.126.117.120] has joined #go-nuts
07:40 -!- alkavan_ [~alkavan@77.126.117.120] has left #go-nuts []
07:56 -!- Robbo [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has quit
[Disconnected by services]
07:56 -!- Robbo_ [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has
joined #go-nuts
07:57 -!- sauerbraten [~sauerbrat@p508CF990.dip.t-dialin.net] has joined #go-nuts
07:58 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
07:58 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
07:59 -!- ikaros [~ikaros@drms-4d014b02.pool.mediaWays.net] has joined #go-nuts
08:00 -!- ExtraSpice [~ExtraSpic@88.118.32.225] has joined #go-nuts
08:00 -!- ikaros [~ikaros@drms-4d014b02.pool.mediaWays.net] has quit [Client Quit]
08:04 -!- tux21b [~christoph@90.146.60.30] has quit [Ping timeout: 240 seconds]
08:15 -!- iant [~iant@62-20-124-50.customer.telia.com] has joined #go-nuts
08:15 -!- mode/#go-nuts [+v iant] by ChanServ
08:22 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
08:33 -!- mbarkhau [~koloss@dslb-088-068-251-010.pools.arcor-ip.net] has joined
#go-nuts
08:34 -!- Xurix [~Luixsia@AToulouse-254-1-5-202.w83-203.abo.wanadoo.fr] has quit
[Ping timeout: 240 seconds]
08:41 -!- lmoura [~lmoura@187.78.130.104] has joined #go-nuts
08:45 -!- dju [dju@fsf/member/dju] has quit [Read error: Connection reset by peer]
08:46 -!- dju [dju@fsf/member/dju] has joined #go-nuts
08:49 -!- holmescn [~20526B545@221.192.238.10] has joined #go-nuts
08:50 -!- dju [dju@fsf/member/dju] has quit [Read error: Connection reset by peer]
08:51 -!- dju [dju@fsf/member/dju] has joined #go-nuts
08:59 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has joined
#go-nuts
09:05 -!- ikaros [~ikaros@drms-4d014b02.pool.mediaWays.net] has joined #go-nuts
09:07 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
09:14 -!- dju [dju@fsf/member/dju] has quit [Quit: Quitte]
09:15 -!- photron [~photron@port-92-201-207-183.dynamic.qsc.de] has joined
#go-nuts
09:19 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
09:19 -!- TheSaint [~thesaint@166.205.10.133] has joined #go-nuts
09:22 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 248 seconds]
09:31 -!- tux21b [~christoph@90.146.60.30] has joined #go-nuts
09:33 -!- lmoura [~lmoura@187.78.130.104] has quit [Ping timeout: 265 seconds]
09:46 -!- ikaros [~ikaros@drms-4d014b02.pool.mediaWays.net] has quit [Quit: Leave
the magic to Houdini]
09:52 -!- belkiss [~belkiss@drn13-1-78-235-168-105.fbx.proxad.net] has quit [Quit:
KVIrc Equilibrium 4.1.0, revision: 4632, sources date: 20100519, built on:
2010-07-09 07:13:47 UTC http://www.kvirc.net/]
09:53 -!- wrtp [~rog@92.17.53.171] has joined #go-nuts
09:56 -!- ukai [~ukai@220.109.219.244] has quit [Ping timeout: 264 seconds]
10:02 < nsf> he-he, there is exactly one place in Go where you can't deduce
type of a variable (in autocompletion IDE feature)..  multiple types case in a
type switch statement :) like 'case *ast.FuncDecl, *ast.GenDecl:'
10:03 -!- Project_2501 [~Marvin@82.84.92.36] has joined #go-nuts
10:07 <+iant> when a type switch has multiple cases, no new variable is
introduced
10:08 < exch> The IDE could be made to be smart enough to know if a specific
reference to the type variable occurs within a given case statement.  In which
case it can infer the type from the case label itself
10:11 < nsf> exch: yes, but I'm talking about the case when case label has
multiple variants
10:11 < nsf> compiler generates the same code for both types (if possible)
10:11 < exch> ah right
10:11 < exch> hmm
10:11 < nsf> but you can't autocomplete that :)
10:11 < exch> interesting
10:11 < nsf> well actually here the solution: I should merge both types
10:12 < nsf> if they have similar fields/methods
10:12 < nsf> and I should propose them
10:12 <+iant> what variable are you trying to deduce the type for, though?
10:12 < nsf> because this is the only thing that makes sense anyway
10:12 < nsf> iant: 'switch t := iface.(type) {' the "t" one
10:13 < exch> sounds reasonable
10:13 <+iant> You are talking about the way that a new 't' variable is
introduced for each type switch case, right?
10:13 <+iant> and it has the type of the case itself?
10:13 < nsf> yes
10:13 -!- wrtp [~rog@92.17.53.171] has quit [Ping timeout: 265 seconds]
10:14 <+iant> that doesn't happen when multiple types are listed in the case
10:14 < exch> 'case Foo, Bar:' Does the compiler even work if you call a
specific field on the t variable in this situation?
10:14 <+iant> it only happens when there is a single type
10:14 < nsf> iant: take a look:
http://github.com/nsf/gocode/blob/master/gocodestruct.go#L385 (line 385)
10:14 <+iant> when there are multiple types, there is no new variable 't';
the variable 't' is still the same one as in the surrounding scope
10:14 < nsf> hm..
10:14 < nsf> that's interesting
10:14 <+iant> It's the only way it could work
10:14 < nsf> so it has a type of an original interface right?
10:14 <+iant> right
10:15 <+iant> it's the same variable
10:15 < nsf> that makes sense too :)
10:15 < nsf> thanks for clarifying
10:15 < exch> So calling 't.X' where X is a field of either Foo or Bar would
result in a compile error?
10:15 < nsf> yes
10:15 <+iant> yes
10:15 < exch> ok.  makes sense
10:16 < nsf> I thought that compiler would just generate two type cases at a
source level for two types
10:16 < nsf> it it's possible
10:16 <+iant> I suppose that would be possible
10:16 <+iant> it doesn't do that, though
10:16 < nsf> ok :)
10:16 < nsf> well that makes my job easier
10:17 < nsf> :D
10:17 < exch> the current implementation is simpler I suppose.  You don't
even have to bother with autocompletion if the code is wrong
10:19 < nsf> the best part of the autocompletion function is that it's not
required that it will work in all cases, if it works - great, if it doesn't - bad,
but still ok :D you can't do the same with compilers
10:19 < nsf> so..  writing an autocompletion is easier
10:19 -!- wrtp [~rog@92.16.123.146] has joined #go-nuts
10:24 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has joined #go-nuts
10:33 -!- Ginto8 [~ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has quit
[Ping timeout: 265 seconds]
10:35 -!- lmoura [~lauromour@200.184.118.130] has joined #go-nuts
10:35 -!- lmoura [~lauromour@200.184.118.130] has quit [Read error: Connection
reset by peer]
10:36 -!- anykey [~anykey@unaffiliated/anykey] has joined #go-nuts
10:37 -!- Sacho [~sacho@213.91.244.15] has joined #go-nuts
10:40 -!- lmoura [~lauromour@200.184.118.130] has joined #go-nuts
10:42 -!- wrtp [~rog@92.16.123.146] has quit [Ping timeout: 276 seconds]
10:46 -!- wrtp [~rog@92.17.75.234] has joined #go-nuts
10:55 -!- path[l] [~path@59.162.86.164] has quit [Remote host closed the
connection]
10:56 -!- wrtp [~rog@92.17.75.234] has quit [Ping timeout: 265 seconds]
10:57 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
10:57 < anykey> how does one declare a function that has an array of any
size as parameter?  Is that even possible?
10:57 < nsf> array - no, slice - yes
10:57 < nsf> because the size of an array is a part of its type
10:58 < anykey> how does a slice parameter look in the signature?
10:58 < nsf> []int
10:58 < anykey> yeah, that's what I have.  okay, I get it.
10:59 < anykey> I cannot pass the array as a slice.  might I say x[:]?
10:59 < nsf> you should say &x afaik
10:59 < anykey> oh.  oh, yes, that'd make sense.
10:59 < anykey> Slices are only references, I gathered
11:01 < nsf> if you want a copy, just make it: copyofx := make([]<type of
x>, len(x)); copy(copyofx, x)
11:02 < anykey> http://pastebin.com/s9thS2bi I meant to do this as a reduced
example
11:03 -!- wrtp [~rog@92.17.94.219] has joined #go-nuts
11:03 < anykey> I am just trying to find my way about the first steps :-)
11:04 < anykey> oh, that should be only a call to prettyprint, not
fmt.Printf() in line 9
11:04 -!- [Pete_27] [~noname@115-64-1-61.static.tpgi.com.au] has quit [Ping
timeout: 246 seconds]
11:04 < anykey> which was the error.  my bad.  forget it.
11:05 -!- dju [dju@fsf/member/dju] has joined #go-nuts
11:05 < nsf> you can also make slice explicitly..  x := []int{1,2,3,4,5,6}
11:05 < nsf> and you don't have to convert therefore
11:05 < nsf> arrays are used mostly in structs
11:05 < anykey> so by leaving out "..." this is a slice, the array under it
gets created as a side effect?
11:06 < nsf> yes
11:06 * anykey writes that down.
11:10 -!- ukai [~ukai@220.109.219.244] has joined #go-nuts
11:11 < anykey> and as a side note, I think I haven't understood interfaces
yet to their full extent.  If I declare an interface, say it's called "Evaluable",
and requires a method value() int, one thinks that one could now declare a method
func (e Evaluable) cmp(e2 Evaluable) int with a three way return (-, 0, +).  I now
understand from the documentation that it is completely intended that this DOESN'T
work.  I just don't see why, exactly.
11:12 <+iant> an interface type is defined in terms of a group of methods
11:12 <+iant> a value of an interface type has the methods associated with
the interface type
11:12 <+iant> it does not make sense to define additional methods for an
interface type
11:13 < sauerbraten> is there something like os.ForkExec() that executes
something and gives back the output of it?
11:14 < anykey> iant: okay.  but that means, that the method in question --
like cmp, which really only needs value() to work on everything -- must be defined
for every type, which is more work.  I just wanted to clarify that this is
intendedß
11:14 < sauerbraten> or wait, exec.Run returns a Cmd struct, may i just set
the stdout to a file i can read from later?
11:15 <+iant> anykey: I'm not sure I understand the question
11:15 < nsf> anykey: 'func cmp(e, e2 Evaluable) int'
11:15 < nsf> and you're done
11:15 < nsf> why method, really?
11:15 < anykey> that has not occured to me, tbh
11:15 < nsf> or better call it cmpEvaluable, no function overloading here
11:16 < anykey> yeah, in that case.
11:17 < anykey> I think I have thought too much in the way of Java's
apple.equals(orange).  I can't help that sometimes.
11:19 < nsf> yep, in this crazy worlds you need to learn two things: how to
learn and how to forget what you've learned :D
11:19 < nsf> world*
11:20 < anykey> Oh, I cannot afford to completely forget it.  I just try to
learn some additional ways of thinking.
11:20 < nsf> well, that's why Go was created right?  because keep adding new
things doesn't help much
11:20 < anykey> sauerbraten: in other languages, I'd popen() the program in
question, reading from a buffered pipe.  Not sure how to do it in go though
11:21 < sauerbraten> yeah in python i just did os.popen("ls -a") to get the
content of the running dir...  :/
11:21 < anykey> nsf: yes, but I feel like a newb all over again, and I have
been programming for 20 years now.
11:22 < anykey> nsf: it's kinda frustrating to lose all power every once in
a while :-)
11:22 < anykey> but it's also fun and rewarding when finally getting it
11:23 < nsf> anykey: well it depends, power is an illusion, you're loosing
an illusion..  yes it may be frustrating, but it's a good thing actually
11:23 < nsf> :)
11:23 < nsf> ok, enough theory, I'll beter get back to my work :D
11:23 < nsf> better*
11:24 < sauerbraten> nsf: you'll better get another coffee against all that
typos :D
11:25 < nsf> sauerbraten: english isn't my native lang, that's why I'm so
bad at writing it
11:25 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined
#go-nuts
11:25 < sauerbraten> isn't mine too, so i just check every sentence before
sending it :D (not really, just kidding)
11:25 < sauerbraten> or is it isn't mine, either?
11:26 < nsf> yes :)
11:26 < nsf> well, explaining things in a chat is a bad idea anyway
11:26 < nsf> so, I'll better write more code :D
11:27 -!- adu [~ajr@softbank220043138128.bbtec.net] has joined #go-nuts
11:27 < sauerbraten> :)
11:27 < anykey> sauerbraten: your nick is a popular dish in my native lang
11:27 < anykey> heh
11:27 -!- cmarcelo [~cmarcelo@187.59.242.138] has joined #go-nuts
11:27 -!- cmarcelo [~cmarcelo@187.59.242.138] has quit [Changing host]
11:27 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
11:27 < nsf> I know a game called sauerbraten :)
11:28 < nsf> and I have no idea what does it mean
11:28 < nsf> :D
11:28 -!- adu [~ajr@softbank220043138128.bbtec.net] has quit [Client Quit]
11:28 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 246 seconds]
11:28 < exch> sauerbraten is delicious
11:28 < anykey> it's "sour roast", a kind of a meat dish prepared by
pickling meat in vinegar and some other spices.
11:29 < anykey> the meat gets very soft when prepared that way.
11:29 * anykey returns to work
11:29 < nsf> i see :)
11:29 < sauerbraten> exch: yes it is, but the game is even better :)
www.sauerbraten.org
11:30 < sauerbraten> anykey, german?
11:30 < anykey> yes.
11:31 < sauerbraten> na dann...  hi :D
11:31 < anykey> hi auch :-)
11:32 < anykey> sauerbraten:
http://groups.google.com/group/golang-nuts/browse_thread/thread/7cee60e7b38cd818
this post explains about os.Pipe, but it's of course probably not applicable to
windows
11:33 -!- artefon [~thiago@189.107.175.62] has joined #go-nuts
11:33 < sauerbraten> ankey: who cares about windows?  :D seriously, go
should definetly get better win support, since microsoft is the leading os seller
11:34 < anykey> sauerbraten: yeah, but in my field of study and profession,
microsoft is only relevant if at all in the client market.
11:34 < anykey> sauerbraten: the server thingy is not MS-Field around here
11:35 < sauerbraten> anykey, yeah of course but that's what a programming
language is build for, to write programs for the client market
11:35 < nsf> windows is my gaming platform, lol
11:36 < anykey> sauerbraten: I have touched windows only a couple of times
at all during the last decade.  Mostly customers sending me documents in formats I
couldn't otherwise open; and of course the German Tax Administration program
"Elster Formular" to do my income tax declaration.
11:37 < exch> The Dutch tax administration has it's software available in
python.  So it runs fine on linux as well :)
11:37 < anykey> sauerbraten: I think Go is mostly targeted to do server
apps.  At least it seems to do very well there with its
channels/multithreading/-plexing goroutines.
11:37 < sauerbraten> anykey: haha, i only had win to play games on it, but
now that i mainly play sauerbraten and cs 1.6 in wine, i uninstalled it a year ago
11:37 < nsf> it's written by google engineers, client software, really?  :)
11:38 < anykey> exch: I will resettle within the next ten years, but not
within the EU.
11:38 < exch> I have found a good use for go as a userland app tool.  the
standalone webserver makes for an excellent web application framework.  Using
html5/js/css for the UI you don't even need any third party libs like gtk
11:38 < sauerbraten> nsf: mhmm that makes me think :D
11:38 < anykey> exch: but that is off-topic in here
11:42 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has quit [Remote
host closed the connection]
11:42 < anykey> exch: you could even make it a "real" application if you
embedded WebKit.  I have worked with QtWebKit a bit, and some of our user
interfaces really are html5/css/js, and a bundle of RPCs.
11:42 < exch> works like a charm for most stuff
11:47 < chressie> sauerbraten: in exec.Run set 'stdout' to 'exec.Pipe' and
then you can read from Cmd.Stdout like from any other os.File (see io package,
e.g.  io.ReadFull)
11:52 < anykey> chressie: thanks!  that will go into my recipes book :-)
11:54 < chressie> you're welcome :)
11:58 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
12:12 < sauerbraten> chressie: thanks a very lot :)
12:13 -!- sauerbraten [~sauerbrat@p508CF990.dip.t-dialin.net] has quit [Remote
host closed the connection]
12:31 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined
#go-nuts
12:34 < boscop> is go's grammar LL(1)?
12:42 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
12:42 -!- fenicks1 [~christian@log77-3-82-243-254-112.fbx.proxad.net] has quit
[Quit: Leaving.]
12:45 -!- fenicks [~christian@log77-3-82-243-254-112.fbx.proxad.net] has joined
#go-nuts
12:49 -!- iant [~iant@62-20-124-50.customer.telia.com] has quit [Quit: Leaving.]
12:49 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds]
13:00 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
13:13 -!- wrtp [~rog@92.17.94.219] has quit [Ping timeout: 260 seconds]
13:16 -!- ikaros [~ikaros@drms-4d014151.pool.mediaWays.net] has joined #go-nuts
13:19 -!- wrtp [~rog@92.16.126.4] has joined #go-nuts
13:21 -!- Zigs [~evil-live@0x5da170da.cpe.ge-1-1-0-1101.hinqu1.customer.tele.dk]
has joined #go-nuts
13:29 -!- marsu [~marsu@ANancy-154-1-53-33.w83-196.abo.wanadoo.fr] has joined
#go-nuts
13:30 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined
#go-nuts
13:30 -!- Zigs [~evil-live@0x5da170da.cpe.ge-1-1-0-1101.hinqu1.customer.tele.dk]
has quit []
13:34 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has quit
[Ping timeout: 265 seconds]
13:35 -!- gid1 [~gid@220.253-225-62.VIC.netspace.net.au] has joined #go-nuts
13:41 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has joined #go-nuts
13:42 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
13:43 -!- ikaros_ [~ikaros@drms-4d014151.pool.mediaWays.net] has joined #go-nuts
13:43 -!- ikaros [~ikaros@drms-4d014151.pool.mediaWays.net] has quit [Quit: Leave
the magic to Houdini]
13:52 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:8dd8:7fd2:e3e1:b567] has joined
#go-nuts
13:56 -!- visof [~visof@unaffiliated/visof] has joined #go-nuts
13:58 -!- ikaros_ [~ikaros@drms-4d014151.pool.mediaWays.net] has quit [Ping
timeout: 265 seconds]
13:58 -!- ikaros_ [~ikaros@drms-4d014d11.pool.mediaWays.net] has joined #go-nuts
13:59 -!- werdan7 [~w7@freenode/staff/wikimedia.werdan7] has quit [Quit: Lost
terminal]
14:01 -!- ikaros_ [~ikaros@drms-4d014d11.pool.mediaWays.net] has quit [Client
Quit]
14:01 -!- niemeyer [~niemeyer@201-11-213-235.pltce701.dsl.brasiltelecom.net.br]
has joined #go-nuts
14:09 -!- b00m_chef [~watr@75.156.21.228] has joined #go-nuts
14:10 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 260 seconds]
14:11 -!- ikaros [~ikaros@drms-4d014e77.pool.mediaWays.net] has joined #go-nuts
14:13 -!- ikaros [~ikaros@drms-4d014e77.pool.mediaWays.net] has quit [Client Quit]
14:15 -!- b00m_chef [~watr@75.156.21.228] has quit [Ping timeout: 276 seconds]
14:18 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Read
error: Connection reset by peer]
14:19 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has joined
#go-nuts
14:22 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
14:24 -!- marsu [~marsu@ANancy-154-1-53-33.w83-196.abo.wanadoo.fr] has quit [Ping
timeout: 265 seconds]
14:26 < nsf> http://nsf.110mb.com/gocode_teaser.swf
14:26 < nsf> another teaser :D
14:26 < nsf> I tried to make it short this time
14:29 -!- Robbo_ [~Robbocogs@CPE-139-168-124-86.lns16.cht.bigpond.net.au] has quit
[Read error: Connection reset by peer]
14:29 -!- slashus2 [~slashus2@m315636d0.tmodns.net] has joined #go-nuts
14:30 -!- akanton [5ae72cd0@gateway/web/freenode/ip.90.231.44.208] has joined
#go-nuts
14:32 -!- cmarcelo [~cmarcelo@enlightenment/developer/cmarcelo] has quit [Remote
host closed the connection]
14:36 -!- napsy [~napsy@193.2.66.101] has quit [Read error: Operation timed out]
14:37 < jessta> nsf: nice
14:38 < nsf> although it still broken in a lot of places
14:38 -!- tvw [~tv@212.79.9.150] has quit [Read error: Connection reset by peer]
14:38 < nsf> for example while making this demo
14:38 < nsf> I tried this:
14:38 < nsf> h := <and autocomplete here>
14:39 < nsf> for some reason it fails :D
14:39 < temoto> nsf, completion is just awesome.
14:39 < nsf> it's awesome on the demo, it works partially, but in the most
places it is really broken :D
14:39 < temoto> I like speed.
14:40 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds]
14:40 -!- ikaros [~ikaros@drms-4d014e77.pool.mediaWays.net] has joined #go-nuts
14:40 < nsf> it's usually fast, 0.050 secs for the first time and 0.010 for
next ones
14:41 < niemeyer> nsf: Nice stuff indeed
14:43 < plexdev> http://is.gd/drJbE by [Adam Langley] in
go/src/pkg/crypto/tls/ -- crypto/tls: add client OCSP stapling support.
14:43 < nsf> niemeyer: I'm trying hard to make it good, it's getting better
every day :D I hope soon it will be in a good enough shape to announce it on the
ML
14:45 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
14:45 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
14:46 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
14:50 -!- Fish [~Fish@9fans.fr] has joined #go-nuts
14:50 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
14:54 -!- artefon [~thiago@189.107.175.62] has quit [Quit: bye]
14:58 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
15:01 -!- slashus2 [~slashus2@m315636d0.tmodns.net] has quit [Quit: slashus2]
15:06 -!- zero7 [~crazy@89.211.97.124] has joined #go-nuts
15:06 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
15:10 -!- awidegreen [~quassel@62.176.237.78] has joined #go-nuts
15:13 < temoto> nsf, i'd announce it yesterday so you can attract
contributors.
15:13 -!- visof [~visof@unaffiliated/visof] has quit [Quit: Leaving]
15:15 < jessta> temoto: announcing before it appears to work properly is ill
adviced
15:16 < jessta> too early and people get a bad idea about the project
15:21 < temoto> Maybe i'm a bad PM :)
15:28 -!- zero7 [~crazy@89.211.97.124] has left #go-nuts []
15:30 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has joined #go-nuts
15:45 < MaybeSo> for some reason I'm hearing tweety bird when I read that
15:48 < exch> rofl.  ik waaide bijna van het dak af
15:48 < exch> zand, blikjes, steentje som mn oren
15:49 < exch> wrong chan :p
15:49 -!- kanru [~kanru@118-160-163-155.dynamic.hinet.net] has joined #go-nuts
15:49 < skelterjohn> phew
15:49 < skelterjohn> got worried
15:50 < MaybeSo> "omg, I'm having a stroke!"
15:50 -!- mbarkhau [~koloss@dslb-088-068-251-010.pools.arcor-ip.net] has quit
[Quit: Leaving.]
15:50 -!- artefon [~thiagon@150.164.2.20] has joined #go-nuts
15:50 < skelterjohn> hhe
15:57 -!- Venom_X [~pjacobs@71.21.124.111] has joined #go-nuts
16:08 -!- bytecolor [~user@adsl-71-137-195-53.dsl.scrm01.pacbell.net] has joined
#go-nuts
16:09 -!- bytecolor [~user@adsl-71-137-195-53.dsl.scrm01.pacbell.net] has left
#go-nuts ["ERC Version 5.3 (IRC client for Emacs)"]
16:09 -!- mlip [~mlip@85-127-233-119.dynamic.xdsl-line.inode.at] has joined
#go-nuts
16:14 -!- Sacho [~sacho@213.91.244.15] has quit [Ping timeout: 265 seconds]
16:16 < mlip> hej: as far as I see it is not possible to call C code (shared
objects) from within the runtime, is it?  would it be possible if I somehow
managed to compile the C code with 6c ?
16:16 < taruti> yes
16:17 < taruti> the runtime has C code compiled by 6c
16:20 < mlip> ok, that makes sense.  and the code has to be self-contained,
or can I use something from libc,...  ?
16:25 -!- getisboy [~Family@pool-173-76-228-217.bstnma.fios.verizon.net] has
joined #go-nuts
16:28 -!- getisboy [~Family@pool-173-76-228-217.bstnma.fios.verizon.net] has left
#go-nuts []
16:28 -!- getisboy [~Family@pool-173-76-228-217.bstnma.fios.verizon.net] has
joined #go-nuts
16:31 < boscop> does anyone have a ANTLR grammar for go?
16:38 -!- GeoBSD [~geobsd@lns-bzn-54-82-251-110-43.adsl.proxad.net] has joined
#go-nuts
16:45 -!- getisboy [~Family@pool-173-76-228-217.bstnma.fios.verizon.net] has quit
[Quit: Leaving.]
16:45 < plexdev> http://is.gd/drQSm by [Evan Shaw] in go/src/pkg/exp/eval/
-- exp/eval: Converted from bignum to big
16:45 -!- hcatlin [~hcatlin@pdpc/supporter/professional/hcatlin] has quit [Quit:
hcatlin]
16:47 -!- sauerbraten [~sauerbrat@p508CF990.dip.t-dialin.net] has joined #go-nuts
16:47 -!- path[l]_ [~path@59.162.86.164] has joined #go-nuts
16:51 -!- path[l] [~path@59.162.86.164] has quit [Ping timeout: 265 seconds]
16:51 -!- path[l] [~path@59.162.86.164] has joined #go-nuts
16:51 -!- path[l]_ [~path@59.162.86.164] has quit [Read error: Connection reset by
peer]
16:56 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has joined
#go-nuts
16:57 -!- gid [~gid@220.253-225-62.VIC.netspace.net.au] has quit [Quit: Leaving.]
16:59 -!- Meidor [~quassel@piggy.cs.ru.nl] has quit [Ping timeout: 276 seconds]
17:02 < plexdev> http://is.gd/drRZy by [Robert Griesemer] in go/test/chan/
-- select statement: initial set of test cases for corner cases
17:05 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
17:05 -!- path[l] [~path@59.162.86.164] has quit [Quit: path[l]]
17:05 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has joined
#go-nuts
17:07 -!- path[l] [~path@122.182.0.38] has joined #go-nuts
17:09 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
17:11 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
17:11 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has joined
#go-nuts
17:14 -!- Ginto8 [~ginto8@pool-72-82-235-34.cmdnnj.fios.verizon.net] has joined
#go-nuts
17:14 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:15 -!- kanru [~kanru@118-160-163-155.dynamic.hinet.net] has quit [Quit: WeeChat
0.3.2]
17:19 < plexdev> http://is.gd/drT4s by [Robert Griesemer] in
go/src/pkg/exp/eval/ -- fix build: reverting exp/eval Makefile to old form
17:20 -!- gid [~gid@220.253-225-62.VIC.netspace.net.au] has joined #go-nuts
17:26 -!- boscop_ [~boscop@f055071041.adsl.alicedsl.de] has joined #go-nuts
17:26 -!- boscop [~boscop@f055056041.adsl.alicedsl.de] has quit [Ping timeout: 265
seconds]
17:33 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has joined #go-nuts
17:38 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
17:40 -!- wrtp [~rog@92.16.126.4] has quit [Quit: wrtp]
17:42 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
17:44 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
17:46 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has joined
#go-nuts
17:48 < sauerbraten> chressie: coming back to wrote me some hours ago,
instead of io.ReadFull, could i also use ioutil.ReadFile and pass Cmd.Stdout as
file to it?
17:50 < chressie> sauerbraten: i'm afraid, the ioutil package works directly
on files in the filesystem
17:51 < sauerbraten> that means no?  mhmm
17:53 < sauerbraten> chressie: io.ReadFull() reads from a reader r, so i
have to make a new reader for the file right?
17:54 -!- ikaros [~ikaros@drms-4d014e77.pool.mediaWays.net] has quit [Quit: Leave
the magic to Houdini]
17:54 < chressie> the os.File satisfies the Reader interface, so you can
just use Cmd.Stdout as the os.Reader object
17:54 < sauerbraten> ok cool
17:55 < chressie> that's the nice thing about interfaces in go :)
17:56 -!- path[l] [~path@122.182.0.38] has quit [Quit: path[l]]
17:57 < sauerbraten> just to be sure...  instead: "msg := make([]byte, 512)
17:57 < sauerbraten> connection.Read(msg[0:])
17:57 < sauerbraten> i cuold also write "connection.Read(make([]byte, 512))"
right?
17:58 < KirkMcDonald> sauerbraten: There is one obvious problem with this.
17:58 < bartbes> but then you couldn't have the read data
17:58 < sauerbraten> right i just saw it
17:58 < sauerbraten> "connection.Read(msg make([]byte, 512))" right?
17:58 < sauerbraten> what about that?
17:59 < KirkMcDonald> Eh?
17:59 < KirkMcDonald> That's not even valid syntax.
17:59 < sauerbraten> :/ so how could i write it?
17:59 < KirkMcDonald> In two statements.
18:00 < sauerbraten> like before?
18:00 < KirkMcDonald> Like you had before.
18:00 < sauerbraten> no shorter way?
18:00 < KirkMcDonald> Nope.
18:00 -!- mertimor [~mertimor@p508CC19A.dip.t-dialin.net] has joined #go-nuts
18:01 < sauerbraten> too bad...  in python, msg=*some sort of conn
obj*recv(512) would be fine, i liked that better
18:07 < sauerbraten> http://golang.org/pkg/strings/#SplitAfter is a bit
confusing...  if n >= 0, ...  thus if n == 0...  so if n is 0 both cases are
true???
18:07 < temoto> sauerbraten, well you could do the same here.  recv := func
(conn io.Reader, sz int) { buf := make([]byte, sz); conn.Read(buf, sz); return buf
}
18:08 < sauerbraten> temoto: hey that's cool thanks
18:08 < sauerbraten> i think i'm gonna use that
18:13 < skelterjohn> why is it important to do it on one line?
18:14 < bartbes> because it's less readable
18:14 < bartbes> that's why you should write your entire program on one
line!
18:17 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has quit [Remote
host closed the connection]
18:18 < sauerbraten> skelterjohn: because for me it's one thing to get
somethin from a conn, and if you use it often it's less to type...
18:19 < skelterjohn> i once wrote a python program that did a lot of stuff
one one line - i used [f(x) for x in l] kind of stuff, sometimes twice or three
times nested
18:19 < skelterjohn> i thought i was so clever
18:19 < skelterjohn> and then i went back and couldn't figure out what the
hell was going on
18:19 < Namegduf> "get something from a conn" is one line.
18:19 < Namegduf> Your first line is "get somewhere to put it"
18:19 < skelterjohn> if it's something that you do a lot, you should write a
function to do it
18:20 < skelterjohn> that's the basic motivation behind having functions
18:20 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has joined #go-nuts
18:21 < bartbes> and you can probably reuse the buffer anyway
18:21 < Namegduf> Yeah
18:21 < bartbes> I like Namegduf's explanation
18:21 < Namegduf> Tis typical to declare a buffer once, then read in a loop
18:28 -!- mertimor [~mertimor@p508CC19A.dip.t-dialin.net] has quit [Read error:
Connection reset by peer]
18:29 -!- alehorst [~alehorst@187.58.237.20] has joined #go-nuts
18:29 -!- mertimor [~mertimor@p508CC19A.dip.t-dialin.net] has joined #go-nuts
18:32 -!- mertimor [~mertimor@p508CC19A.dip.t-dialin.net] has quit [Remote host
closed the connection]
18:34 -!- path[l] [UPP@120.138.102.50] has joined #go-nuts
18:36 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
18:39 -!- TheSaint [~thesaint@166.205.10.133] has quit [Remote host closed the
connection]
18:40 < sauerbraten> skelterjohn: yeah i forgot to say that i used the code
by temoto to define a function...  i'm not gonna use the same line 10 times :D
18:40 < skelterjohn> ok hehe
18:42 < sauerbraten> and I modified it so it returns string, and wrote one
send() func that takes string as parameter, too..
18:43 < temoto> sauerbraten, Consider that reusing buffer for multiple reads
would really increase performance.
18:43 < temoto> and your karma
18:43 < sauerbraten> so it is easier to compare them like: "msg :=
recv(connection_in, 512); if msg == "exec" {...}"
18:44 < sauerbraten> otherwise i had to write " if msg == []byte("info")
every single time...
18:44 < temoto> For one read that's perfectly fine.
18:45 < temoto> For multiple reads you could abstract a bit more logic.
(even less typing, isn't it fun?)
18:45 < sauerbraten> temoto: yeah it's in a client.go that communicates with
the server.go so the network latency will cost the most time :D
18:45 < sauerbraten> *cost = take
18:46 < temoto> Like, write conn_iter function which would allocate buffer
once and spit strings into channel over which you can iterate with for/range.
18:47 -!- akanton [5ae72cd0@gateway/web/freenode/ip.90.231.44.208] has quit [Quit:
Page closed]
18:47 < temoto> sauerbraten, most *user* time.  There's CPU time too.
18:52 < sauerbraten> temoto: would that fit into such code?
http://is.gd/ds0qr i know it's crappy code ;)
18:53 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
18:54 -!- trustin [~trustin@redhat/jboss/trustin] has quit [Remote host closed the
connection]
18:55 -!- sladegen [~nemo@unaffiliated/sladegen] has quit [Disconnected by
services]
18:55 -!- sladegen [~nemo@unaffiliated/sladegen] has joined #go-nuts
18:55 -!- wrtp [~rog@92.16.126.4] has joined #go-nuts
18:57 < temoto> sauerbraten, sure.
18:58 < temoto> sauerbraten, but i'd recommend using BEEP or STOMP.  And
exec/exec_output commands suggest that you could just run ssh.
19:03 < sauerbraten> temoto: i'm not good at programming, so what exaclty
are BEEP or STOMP?  and to that exec/exec_output, they are there, i want to use
server-client to be able to control my home server with it :D
19:04 < sauerbraten> and it's just for fun, i know how to use ssh ;)
19:05 < temoto> sauerbraten, BEEP and STOMP are message-layer protocols.
19:06 < temoto> sauerbraten, AMQP, HTTP and SCTP are another examples of
similar stuff.  All of these are very different.  But all handle "message
delivery" task, which TCP doesn't.
19:10 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
19:16 -!- boscop_ [~boscop@f055071041.adsl.alicedsl.de] has quit [Ping timeout:
265 seconds]
19:19 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
19:19 < napsy> Hello.  I have this simple program that uses encoding/binary
to write a structure.  But When reading from it I get "binary.Read: invalid type
main.info" Any ideas?
19:20 < napsy> The strange thing is that I'm able to write the structure but
can't read it back from the file
19:21 < taruti> are you passing the Read a correctly typed pointer?
19:22 -!- artefon [~thiagon@150.164.2.20] has quit [Quit: Leaving]
19:22 < napsy> I think so
19:22 < napsy> It's not a pointer
19:24 < taruti> it should be passed a pointer to the correctly typed value
as the last argument
19:24 < taruti> "Read reads structured binary data from r into data.  Data
must be a pointer to a fixed-size value or a slice of fixed-size values.  A
fixed-size value is either a fixed-size integer (int8, uint8, int16, uint16, ...)
or an array or struct containing only fixed-size values.  Bytes read from r are
decoded using the specified byte order and written to successive fields of the
data."
19:24 < napsy> data is a fixed-sized value
19:25 < taruti> is it a pointer?
19:25 < napsy> no
19:25 < napsy> it's info
19:25 < napsy> so if I pass data is &i it should work?
19:25 < taruti> well that is why it fails
19:26 < skelterjohn> you need to give it a *main.info
19:26 < skelterjohn> or &i
19:26 < skelterjohn> otherwise how is it going to get the data back to you?
19:26 < taruti> if you are trying to read main.info you need to pass it
*main.info (i.e.  &i)
19:26 < napsy> huh I get another panic with &i
19:26 < napsy> panic: cannot set value obtained via unexported struct field
19:26 < skelterjohn> all fields of the info need to be exported, then
19:26 < skelterjohn> i guess
19:26 < skelterjohn> capitalize them
19:27 < napsy> ok
19:27 -!- opafan48 [~opafan48@213.144.157.75] has joined #go-nuts
19:27 < napsy> oh cool it works
19:28 < skelterjohn> hooray!
19:29 < napsy> I didn't know struct members have to be exported
19:29 < napsy> or that it matters
19:29 < napsy> why do they have to be exported
19:29 < napsy> the struct is in the same package
19:30 < skelterjohn> no it isn't - the struct is in package main, and the
function doing the stuff is in package binary
19:31 < skelterjohn> binary can't see things in main that aren't exported,
same way main can't see things in binary that aren't exported
19:31 < napsy> oh ok
19:31 < napsy> makes sense
19:33 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
19:33 < napsy> I just noticed that member names are also exported
19:33 < napsy> What for is that good?
19:34 < KirkMcDonald> binary can't even seen things in main which are
exported, yes?  Because importing main would be a circular dependency.
19:35 < napsy> Oh what I ment was when writing to the file the member names
are written down
19:35 < napsy> E.g.  I now have A B C D ...  in the file instead of raw data
19:35 < napsy> A B C D being the members of the struct
19:41 < skelterjohn> doesn't seem like a problem to me :)
19:41 < skelterjohn> though i can't give a definitive answer to why it's
like that
19:41 < napsy> maybe not but I don't need that information
19:41 < skelterjohn> so encode each of the fields individually
19:42 < napsy> I thought there was a simpler way
19:42 < napsy> binary looked promising
19:42 < skelterjohn> i think you are discounting it too easily
19:43 < napsy> another way I could think is casting the struct to []byte but
I guess that's not possible because of the type system
19:45 < skelterjohn> you can use unsafe
19:46 < Namegduf> That is NOT safe or a good idea
19:47 < MaybeSo> heh
19:47 < Namegduf> And /will/ break your files being portable between
different systems
19:47 < Namegduf> Or compiler options
19:47 < Namegduf> Or anything, really.
19:48 < skelterjohn> depends on what you are trying to communicate with
using the encodings
19:48 < skelterjohn> but you're right about one thing - it's certainly not
safe
19:52 -!- incluye [~inclooye@NW-ESR1-74-215-114-218.fuse.net] has quit [Remote
host closed the connection]
19:54 < napsy> well
19:55 < napsy> I need to support a protocol
19:55 < Namegduf> Structs in memory have space between elements
19:56 < napsy> I know
19:56 < Namegduf> Serialising them straight to binary will not support a
protocol which lacks this.
19:56 < KirkMcDonald> Always?  Or are you just talking about alignment?
19:56 < Namegduf> Alignment.
19:57 < napsy> It's a network protocol
19:57 < skelterjohn> if you're designing a protocol to communicate over the
network, don't just write the raw data using unsafe
19:57 -!- mlip [~mlip@85-127-233-119.dynamic.xdsl-line.inode.at] has left #go-nuts
[]
19:58 < skelterjohn> that would be silly, as Namegduf pointed out
19:58 < KirkMcDonald> Unless there were some way to specify the alignment of
Go structs.
19:58 < napsy> No the specs are alredy written and I have a working
implementation in C but want to reimplement in Go
19:58 < skelterjohn> my advice would be to just use encoding/binary, but you
don't seem to like the extra couple bytes that tacks on
19:58 < skelterjohn> oh, i see
19:59 < skelterjohn> then you'll need to encode it piece by piece probably
19:59 < Namegduf> Is this protocol supposed to work between machines on
multiple architectures?
19:59 < Namegduf> Because C has the same problem
19:59 < KirkMcDonald> As it is, you can use the reflection interface to
effectively serialize an arbitrary struct using whatever alignment you want.
19:59 < napsy> yes but c compilers usually support structure packing
20:00 < Namegduf> That's not going to help performance.
20:00 < napsy> i know
20:00 < Namegduf> Just do it element by element, the safe way.
20:01 < skelterjohn> or write your own version of binary.Write that doesn't
put in identifier names
20:01 < napsy> ok.  Are there any plans to support this kind of stuff?  Lika
packing and setting alignments?
20:01 < skelterjohn> tbh it sounds like the kind of thing that should be
hidden from the programmer
20:02 < KirkMcDonald> In Go, certainly.
20:02 < skelterjohn> in go
20:02 < napsy> well yes but still these things can come handy
20:02 < Namegduf> Only reasons I've heard are "to avoid printing a structure
element by element" and "to take a shit on the type system"
20:02 < KirkMcDonald> In Go, I don't even care if the fields of my structs
are laid out in a different order than the order I specify in my code.
20:02 < Namegduf> Adding complexity to the language for either of those
purposes seem dubious
20:03 -!- ShadowIce [pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
20:03 < Namegduf> *seems
20:03 < KirkMcDonald> I don't believe that Go does this.
20:03 < KirkMcDonald> But it could, and I would not (as a rule) care.
20:03 < skelterjohn> right - what KirkMcDonald said suggests that Go labels
the field in case a later compiler decides to optimize by changing order
20:04 < KirkMcDonald> (Though I *would* want the reflection interface to
give me the fields in the order they are specified.)
20:05 < Namegduf> Actually, there were the whole embedded applications
things.
20:05 < Namegduf> So maybe a packed struct type would make sense (you can
always use it to emulate other structs via bytes inserted, I guess)
20:05 < Namegduf> But eh.
20:18 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has joined
#go-nuts
20:22 < plexdev> http://is.gd/ds6qc by [Robert Griesemer] in go/test/chan/
-- channel tests: added a couple of tests with closed channels
20:23 -!- rutkowski [~adrian@078088207115.walbrzych.vectranet.pl] has quit [Quit:
WeeChat 0.3.3-dev]
20:24 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
joined #go-nuts
20:24 < sauerbraten> temoto: i couldn't find much about BEEP and STOMP, and
i also didn't understand the whole thing...  should i use something else than TCP
because i'm only sending strings?
20:32 -!- gid [~gid@220.253-225-62.VIC.netspace.net.au] has quit [Ping timeout:
240 seconds]
20:33 -!- wrtp [~rog@92.16.126.4] has quit [Quit: wrtp]
20:37 < skelterjohn> using an existing protocol can make your life easier,
if there is a package available to encode and decode it
20:37 < skelterjohn> json might be useful
20:38 < skelterjohn> if you just have strings, it seems like they are
already supported
20:39 < plexdev> http://is.gd/ds7nP by [Rob Pike] in go/doc/ -- tutorial:
show how to compile helloworld3, which depends on ./file
20:41 -!- ender2070 [~ender2070@bas22-toronto12-2925103372.dsl.bell.ca] has quit
[Remote host closed the connection]
20:44 -!- skelterjohn [~jasmuth@lawn-net168-in.rutgers.edu] has quit [Quit:
skelterjohn]
20:50 < sauerbraten> skelterjohn: right now i use TCP to send strings as
messages, should i change it?
21:06 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
quit [Ping timeout: 246 seconds]
21:12 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
joined #go-nuts
21:14 -!- sauerbraten [~sauerbrat@p508CF990.dip.t-dialin.net] has quit [Ping
timeout: 265 seconds]
21:15 < bortzmeyer> sauerbraten:Raw TCP is fine, it all depends on your set
of requirments
21:19 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
21:19 -!- Fish [~Fish@9fans.fr] has quit [Remote host closed the connection]
21:21 -!- gregorstocks [~gregors@nat/google/x-vnpgzbacxmmtfdab] has joined
#go-nuts
21:22 -!- General13372 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 260 seconds]
21:32 -!- g0bl1n [~pr0kter@a213-22-76-1.cpe.netcabo.pt] has quit [Ping timeout:
265 seconds]
21:34 -!- Venom_X [~pjacobs@71.21.124.111] has quit [Quit: Venom_X]
21:34 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:8dd8:7fd2:e3e1:b567] has quit
[Quit: Leaving.]
21:45 -!- rsaarelm [~rsaarelm@cs181128175.pp.htv.fi] has quit [Ping timeout: 265
seconds]
21:47 -!- rsaarelm [~rsaarelm@cs181128175.pp.htv.fi] has joined #go-nuts
21:47 -!- Sacho [~sacho@87-126-51-231.btc-net.bg] has joined #go-nuts
21:57 -!- anykey [~anykey@unaffiliated/anykey] has quit [Quit: leaving]
22:01 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
22:04 -!- Agon-laptop
[~marcel@HSI-KBW-095-208-003-128.hsi5.kabel-badenwuerttemberg.de] has joined
#go-nuts
22:06 -!- Wiz126 [~Wiz126@24.229.245.72.res-cmts.sm.ptd.net] has quit [Ping
timeout: 276 seconds]
22:11 -!- Wiz126 [~Wiz126@24.229.245.72.res-cmts.sm.ptd.net] has joined #go-nuts
22:18 -!- aho [~nya@fuld-4d00d22e.pool.mediaWays.net] has joined #go-nuts
22:21 -!- mxweas [~max@c-98-225-102-170.hsd1.az.comcast.net] has joined #go-nuts
22:23 -!- opafan48 [~opafan48@213.144.157.75] has quit [Quit: opafan48]
22:34 < Ginto8> for a slice, would it be more appropriate to check != nil or
len() > 0?
22:39 -!- napsy [~luka@212.235.174.112] has quit [Ping timeout: 264 seconds]
22:40 < KirkMcDonald> Ginto8: These have distinct meanings.
22:40 < Ginto8> yeah I know
22:40 < Ginto8> but I'm trying to check if I can safely access the slice
22:41 < Ginto8> so it would be best to check len() > 0 correct?
22:42 < KirkMcDonald> I wonder what len() does if the slice is nil...
22:42 < KirkMcDonald> I guess I'd expect it to return zero.
22:47 < Ginto8> well nil is the zero value
22:47 < Ginto8> and a slice is (basically) a struct { *T;len,cap int }
22:47 < Ginto8> so the zero value would make len 0
22:47 < KirkMcDonald> Yeah.
22:48 -!- awidegreen [~quassel@62.176.237.78] has quit [Remote host closed the
connection]
22:49 -!- Project_2501 [~Marvin@82.84.92.36] has quit [Quit: E se abbasso questa
leva che succ...]
22:53 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has quit
[Quit: carllerche]
22:53 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has joined
#go-nuts
22:54 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has quit
[Ping timeout: 240 seconds]
22:56 -!- carllerche [~carllerch@enginey-9.border1.sfo002.pnap.net] has quit
[Client Quit]
22:56 -!- General1337 [~support@71-84-50-230.dhcp.mtpk.ca.charter.com] has joined
#go-nuts
22:59 -!- rv2733 [~rv2733@c-98-242-168-49.hsd1.fl.comcast.net] has quit [Quit:
Leaving]
23:01 -!- sakirious [~saki@c-98-223-212-96.hsd1.il.comcast.net] has joined
#go-nuts
23:03 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
23:08 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has joined #go-nuts
23:08 -!- bmizeran_ [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
joined #go-nuts
23:09 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
quit [Ping timeout: 240 seconds]
23:10 -!- gr0gmint [~gr0gmint@93.182.133.44] has joined #go-nuts
23:15 -!- gr0gmint [~gr0gmint@93.182.133.44] has quit [Client Quit]
23:16 -!- emmanuel_oga [~emmanuelo@190.247.41.202] has quit [Quit: WeeChat
0.3.3-dev]
23:17 -!- sioraiocht [~tomh@unaffiliated/sioraiocht] has quit [Remote host closed
the connection]
23:27 -!- tux21b [~christoph@90.146.60.30] has quit [Quit: exit(EXIT_SUCCESS); //
see ⓎⓄⓊ]
23:29 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has joined
#go-nuts
23:34 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
joined #go-nuts
23:35 -!- bmizerany [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
quit [Read error: Connection reset by peer]
23:35 -!- napsy [~luka@212.235.174.112] has joined #go-nuts
23:35 -!- bmizerany [~bmizerany@80.sub-69-99-175.myvzw.com] has joined #go-nuts
23:36 -!- bmizeran_ [~bmizerany@adsl-68-127-144-60.dsl.pltn13.pacbell.net] has
quit [Ping timeout: 276 seconds]
23:43 -!- skelterjohn [~jasmuth@c-76-116-181-134.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
23:56 -!- MizardX [~MizardX@unaffiliated/mizardx] has quit [Ping timeout: 276
seconds]
23:57 -!- alehorst [~alehorst@187.58.237.20] has quit [Quit: Leaving.]
--- Log closed Thu Jul 15 00:00:12 2010