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

--- Log opened Tue Jan 18 00:00:04 2011
00:01 -!- jesmon [~user@static-71-244-114-122.albyny.fios.verizon.net] has quit
[Remote host closed the connection]
00:01 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts
00:03 -!- crazy2be [~justin@S0106001ac401d400.cg.shawcable.net] has joined
#go-nuts
00:09 -!- boscop [~boscop@f055164118.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
00:12 -!- gits [~gits@77.94.219.158] has quit [Remote host closed the connection]
00:14 < crazy2be> if i declare type Time time.Time
00:14 < crazy2be> and then use type Time in my structs
00:14 < crazy2be> why can't i assign a type of type time.Time to a type of
Time?
00:14 < crazy2be> or rather, a value with a type of time.Time to a value
with a type of Time
00:15 < crazy2be> shouldn't they be equivenlent?
00:15 < cbeck> No, they are distinct types
00:15 -!- cafesofie [~cafesofie@dhcp-140-254-204-189.osuwireless.ohio-state.edu]
has joined #go-nuts
00:16 < crazy2be> well, then how can i convert between them?
00:16 < crazy2be> my goal is to override the String() method on time.Time,
because i want to print it differently
00:16 < cbeck> I think you can static cast, but I don't remember
00:16 < cbeck> You can just define a new format..
00:17 < crazy2be> can i?
00:17 < crazy2be> i can call the Format() function with a different layout
00:17 < crazy2be> but not make String() use a different layout
00:17 < crazy2be> as far as i can tell
00:17 < Namegduf> crazy2be: You just use Time(v)
00:18 < Namegduf> Same as with anything else.
00:18 < crazy2be> i thought i tried that :/
00:18 < crazy2be> i tried Time{v}
00:19 < crazy2be> and many varients thereof
00:19 < Namegduf> ()
00:19 < Namegduf> Not {}
00:20 < Namegduf> type{} is a literal of that struct type, with the value
specified by whatever is set in the {}.  If it's not a struct it doesn't make any
sense at all.
00:32 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has joined #go-nuts
00:36 -!- xash [~xash@d064215.adsl.hansenet.de] has joined #go-nuts
00:36 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
00:38 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Read
error: Connection reset by peer]
00:39 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Quit: Venom_X]
00:40 -!- enherit [~enherit@cpe-98-149-170-48.socal.res.rr.com] has quit [Quit:
leaving]
00:54 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has joined #go-nuts
00:56 -!- xash [~xash@d064215.adsl.hansenet.de] has quit [Ping timeout: 246
seconds]
01:11 -!- saturnfive [~saturnfiv@210.74.155.131] has joined #go-nuts
01:12 -!- artefon [~thiago@189.59.206.109] has quit [Quit: bye]
01:24 -!- mosva [~mosva@unaffiliated/mosva] has quit [Read error: Connection reset
by peer]
01:32 -!- niemeyer [~niemeyer@189.30.51.233] has quit [Ping timeout: 240 seconds]
01:45 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
01:47 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
#go-nuts
01:50 -!- progettino [~Marvin@dynamic-adsl-94-36-150-191.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
02:00 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
02:00 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
#go-nuts
02:10 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
02:11 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
#go-nuts
02:12 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Quit:
itrekkie]
02:20 -!- Tuller [~tuller@c-69-143-52-174.hsd1.va.comcast.net] has quit [Remote
host closed the connection]
02:28 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts
02:30 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts
02:30 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Client
Quit]
02:34 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds]
02:35 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts
02:35 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
02:41 -!- cafesofie [~cafesofie@dhcp-140-254-204-189.osuwireless.ohio-state.edu]
has quit [Remote host closed the connection]
02:47 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
#go-nuts
03:08 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
03:14 < sifi> I am having a hard problem trying to cast a string into an
byte array.  What is the proper way to do this?
03:16 < vsmatck> sifi: s := "ABC"; b := []byte(s);
03:16 < sifi> thanks vsmatck, it was another error that got me confused.
03:17 < vsmatck> np
03:22 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds]
03:24 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts
03:32 -!- niemeyer [~niemeyer@189.30.51.233] has joined #go-nuts
03:35 < sifi> how would you join two byte arrays?  looking at the function
header, it asks for [][]byte.  I tried doing []byte{[]byte{'1', '2'}, []byte{'3',
'4'}} but it errors.  What is the proper way to get a [][]byte then?
03:35 < sifi> maybe it is an error
03:36 < vsmatck> sifi: The language has a built in function called append.
You could do b := append(b0, b1).  You'd get b1 appended on to b0 and the result
stored in b.
03:36 < Namegduf> That might change b0
03:36 < Namegduf> Just noting
03:37 < Tv> sifi: you need [][]byte{...} not just []byte{...}
03:37 < Namegduf> [][]byte is not two []bytes joined together.
03:37 < Namegduf> It is a slice of separate []bytes.
03:37 < Tv> [][]byte{[]byte{'1', '2'}, []byte{'3', '4'}}
03:37 < Tv> sure but he has some function header that takes that
03:37 < vsmatck> oh I misunderstood the question.  Oops.
03:40 < Namegduf> What you want is a slice containing the two []bytes;
[][]byte{b1, b2} is a literal for a new [][]byte initialised to that.
03:40 < Namegduf> Basically as Tv showed.
03:41 < sifi> that makes sense.  I think I started mixing up my c and go.
03:41 < sifi> but that works.  Yippy.
03:41 < sifi> thanks gents
03:45 -!- legis [~legis@unaffiliated/legis] has joined #go-nuts
03:46 -!- legis [~legis@unaffiliated/legis] has left #go-nuts []
03:55 -!- niemeyer [~niemeyer@189.30.51.233] has quit [Ping timeout: 240 seconds]
04:00 -!- Tbb__ [~tbb__@HSI-KBW-109-193-104-005.hsi7.kabel-badenwuerttemberg.de]
has quit [Read error: Operation timed out]
04:01 -!- Tbb__ [~tbb__@HSI-KBW-109-193-104-005.hsi7.kabel-badenwuerttemberg.de]
has joined #go-nuts
04:14 -!- cafesofie [~cafesofie@dhcp-128-146-69-13.osuwireless.ohio-state.edu] has
joined #go-nuts
04:27 -!- rejb [~rejb@unaffiliated/rejb] has quit [Ping timeout: 276 seconds]
04:53 < sifi> is there a function that will take a uint64 and convert it to
hex?
04:54 <@adg> sifi: fmt.Sprintf("%x", i)
04:55 -!- jackzh [~jackzh@58.47.159.223] has joined #go-nuts
04:56 -!- windbg [~jackzh@58.47.159.223] has quit [Client Quit]
04:58 < sifi> adg: perfect, thanks
04:58 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts
05:00 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Client
Quit]
05:00 -!- jackzh [~jackzh@58.47.159.223] has joined #go-nuts
05:04 -!- Eridius [~kevin@unaffiliated/eridius] has quit [Ping timeout: 246
seconds]
05:16 -!- jackzh [~jackzh@58.47.159.223] has quit [Ping timeout: 272 seconds]
05:19 -!- jackzh [~jackzh@58.47.159.223] has joined #go-nuts
05:23 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has quit [Ping timeout:
240 seconds]
05:35 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts
05:42 -!- foocraft [~dsc@78.101.105.166] has quit [Read error: Connection reset by
peer]
05:44 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has joined #go-nuts
05:58 < crazy2be> if i'm passing around an array of events, should i use a
[]Event, *[]Event, or []*Event?
06:00 <@adg> crazy2be: depends if you want to store copys of the Events, or
refernces to Event values
06:00 <@adg> []Event in the former, []*Event in the latter
06:01 < crazy2be> i figured
06:01 < crazy2be> but uh
06:01 < crazy2be> just from an efficiency standpoint
06:01 < crazy2be> []Event is a slice, so it's a reference type, right?
06:01 <@adg> it really depends on how you generate and use the events
06:02 <@adg> a slice refers to a contiguous block of memory (an array)
06:02 < crazy2be> that means that all the events will not get copied on each
function call?
06:02 <@adg> not if you're passing in []Event
06:02 <@adg> if you pass in each Event, then they'll be copied one by one
06:02 < crazy2be> and how efficient (or inefficient) would appending to that
slice be?
06:03 <@adg> copying large slabs of memory is pretty cheap
06:03 <@adg> but i couldn't tell you for sure one way or another
06:03 < crazy2be> well it's fairly rare that i'm appending to it
06:03 <@adg> it's best to just implement it the simplest way, and optimize
it if it's slow
06:03 < crazy2be> relatively speaking
06:04 < crazy2be> so would []Event or []*Event be considered simpler?  :P
06:04 <@adg> hard to say
06:04 <@adg> i can imagine []*Event being simpler if you need to pass
individual events around
06:05 <@adg> actually []*Event has an important advantage
06:05 <@adg> imagine you have:
06:05 <@adg> s := make([]Event, 10)
06:05 <@adg> an there's a bunch of data there
06:05 <@adg> then you
06:05 <@adg> s = append(s, Event{blah blah})
06:05 <@adg> this allocates a new backing array
06:05 <@adg> so any pointers you had to the original []Event, still point to
the original one
06:06 < crazy2be> Yikes
06:06 <@adg> so if another piece of code updates those Events, they won't be
updated in the current slice s
06:06 <@adg> so i would use []*Event if you are going to be mutating their
contents
06:06 < crazy2be> ah yes, i had not thought of that
06:06 <@adg> that way you're guaranteed there's only one instance of each
event
06:06 < crazy2be> i had only thought about the efficiency of []Event vs
[]*Event
06:07 <@adg> thinking about efficiency up front can often mislead you
06:07 <@adg> so, in answer to your earlier question, i think []*Event is
simpler because it's more predictable
06:07 <@adg> :)
06:07 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
06:08 < crazy2be> well with something like this, choosing a data structure,
i often chose upfront with efficiency for a particular task as a major
consideration
06:08 <@adg> sure
06:08 -!- bmizerany [~bmizerany@204.14.152.118] has quit [Remote host closed the
connection]
06:08 < crazy2be> but when structuring things, i think about what makes
sence, what is maintainable
06:08 < crazy2be> rather than writing it all is ASM for speed :)
06:08 <@adg> :)
06:08 < crazy2be> *all in
06:13 < crazy2be> also, is there some way i can get fmt.Println to print
[]bytes as string values rather than [ 23 34 65 ...  ]?
06:15 <@adg> yeah just fmt.Sprintf("%s", b)
06:16 <@adg> or Printf, whatever
06:16 <@adg> or you can string(b)
06:16 <@adg> although if you just wanna output the bytes to stdout, you can
os.Stdout.Write(b)
06:16 <@adg> avoid a lot of machinery that way
06:16 < crazy2be> hmm
06:19 -!- sav [~lsd@189001130056.usr.predialnet.com.br] has quit [Ping timeout:
240 seconds]
06:28 -!- iant [~iant@adsl-71-133-8-30.dsl.pltn13.pacbell.net] has quit [Ping
timeout: 272 seconds]
06:29 -!- iant [~iant@216.239.45.130] has joined #go-nuts
06:29 -!- mode/#go-nuts [+v iant] by ChanServ
06:45 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
06:47 -!- tav [~tav@92.7.151.166] has quit [Quit: tav]
07:13 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has joined
#go-nuts
07:21 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts
07:22 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
07:29 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
07:29 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
07:32 < crazy2be> night all
07:32 -!- crazy2be [~justin@S0106001ac401d400.cg.shawcable.net] has quit [Remote
host closed the connection]
07:45 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
07:46 -!- cafesofie [~cafesofie@dhcp-128-146-69-13.osuwireless.ohio-state.edu] has
quit [Remote host closed the connection]
07:47 -!- Tv [~tv@cpe-76-168-227-45.socal.res.rr.com] has quit [Read error:
Operation timed out]
07:55 < quantumelixir> adg: t := append(s, Event{..}) creates a new array
copying all the existing Event objects, creating a new backing array.  So, unless
the Event{..} object itself holds pointers this shouldn't be a problem right?
07:55 < quantumelixir> Basically, s[0] = Event{..} doesn't affect t
07:59 < quantumelixir> on the other hand when you declare s and t of type
[]*Event, you can effect changes in t by manipulating s[0].var = something
08:00 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds]
08:00 -!- itrekkie_ [~itrekkie@71-214-174-150.tcso.qwest.net] has joined #go-nuts
08:01 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Ping
timeout: 246 seconds]
08:03 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-150-191.clienti.tiscali.it] has
joined #go-nuts
08:06 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
08:10 -!- itrekkie_ [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has joined #go-nuts
08:12 -!- rlab [~Miranda@91.200.158.34] has quit [Read error: Connection reset by
peer]
08:14 -!- itrekkie [~itrekkie@71-214-174-150.tcso.qwest.net] has quit [Ping
timeout: 260 seconds]
08:15 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
08:15 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
08:15 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Client Quit]
08:16 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has quit [Quit:
Leaving.]
08:17 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
08:17 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
joined #go-nuts
08:21 -!- wrtp [~rog@92.17.22.246] has joined #go-nuts
08:39 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
joined #go-nuts
08:48 -!- jkakar [~jkakar@85.48.252.209] has joined #go-nuts
08:53 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:53 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-173-238.clienti.tiscali.it] has
joined #go-nuts
08:57 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-150-191.clienti.tiscali.it] has
quit [Ping timeout: 260 seconds]
08:57 <@adg> quantumelixir: correct
09:00 -!- saturnfive1 [~saturnfiv@210.74.155.131] has joined #go-nuts
09:01 -!- saturnfive [~saturnfiv@210.74.155.131] has quit [Ping timeout: 276
seconds]
09:02 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 265
seconds]
09:04 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has joined #go-nuts
09:10 -!- Kashia [~Kashia@port-92-200-22-224.dynamic.qsc.de] has quit [Quit: This
computer has gone to sleep]
09:12 -!- tensorpudding [~user@99.23.127.179] has quit [Remote host closed the
connection]
09:17 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts
09:17 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Remote host
closed the connection]
09:17 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts
09:39 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
09:40 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
#go-nuts
09:51 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has joined #go-nuts
10:06 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
10:09 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
10:15 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
joined #go-nuts
10:19 -!- wrtp [~rog@92.17.22.246] has quit [Ping timeout: 240 seconds]
10:23 -!- saturnfive1 [~saturnfiv@210.74.155.131] has quit [Read error: Connection
reset by peer]
10:23 -!- wrtp [~rog@92.17.22.246] has joined #go-nuts
10:37 < wrtp> quantumelixir, adg: i'm not quite sure that's right, because
append does not always copy the array
10:43 -!- artefon [~thiago@189.59.206.109] has joined #go-nuts
10:44 -!- jackzh_ [~jackzh@222.241.126.24] has joined #go-nuts
10:53 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
10:57 -!- nettok [~quassel@200.119.191.129] has quit [Ping timeout: 272 seconds]
11:00 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
11:01 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
joined #go-nuts
11:06 -!- artefon [~thiago@189.59.206.109] has quit [Quit: bye]
11:08 < taruti> Has anyone tried to hack an alternate (non-bash) buildsystem
for 6g et all?
11:09 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has quit [Quit:
adu]
11:26 < exch> taruti: there are quite a few I've seen mentioned over the
past year.  I dont have any links to them though.  I dont use any of them myself,
because it just adds another dependency to a project.  Perhaps some of the authors
of these ca n point you in the right direction
11:38 -!- shvntr [~shvntr@116.26.128.219] has joined #go-nuts
11:43 < uriel> taruti: what does that even mean?
11:44 < uriel> in any case, there are plenty of build tools for Go, too many
if you ask me:
11:44 < uriel> http://go-lang.cat-v.org/dev-utils
11:45 < taruti> uriel: building go itself.  (in plan9 land without bash)
11:45 < nsf> taruti: current build system is make-based, but wrapped by bash
scripts..  I did few experiments about that, mostly I was interesting in providing
non-recursive makefiles approach, in theory it will make it possible to remove
bash scripts or make them shorter
11:45 < nsf> everything I did is here: https://github.com/nsf/goal
11:45 < nsf> but it's not like ready to use replacement for buildsystem of
the go compiler
11:46 < nsf> simply new makefile templates, that provide support for
non-recursive use
11:46 < nsf> there are other problems, like automatic dependency management
11:46 < nsf> it isn't solved by me yet, in Go there is a bash script (again)
which does this
11:46 < uriel> taruti: well, then that is a completely different question
11:47 < uriel> taruti: I think there might be some mk-files here:
http://code.google.com/p/go-plan9/
11:48 < nsf> hehe, and my solution is for linux with gnu environment
11:48 < taruti> uriel: thanks
11:48 < uriel> still, I don't think recent Go versions build on Plan 9 at
all, you are supposed to cross-compile
11:49 < uriel> that said, I find the requirement for bash and gmake rather
shameful, but I understand the reason, russ and co dont' have the time to
care/worry about differences betweent various sh and make implementations
11:50 < taruti> well they *could* have used mk ;)
11:50 < uriel> yea, and add a whole new mountain of pre-requisites for
building Go
11:50 < uriel> if you use mk, you really should use rc with it too
11:51 < uriel> they could have required p9p to build Go, but really, I doubt
that option can be considered very reasonable
11:51 < taruti> point
11:51 -!- cafesofie [~cafesofie@rnwifi-164-107-93-207.resnet.ohio-state.edu] has
quit [Remote host closed the connection]
11:51 < taruti> I thought that there were versions of mk not requiring p9p
11:52 < uriel> there are, but really misses a good part of the whole point
of using mk if you are going to have to use /bin/sh and the rest of the lunix
luserspace
11:58 -!- niemeyer [~niemeyer@189.30.51.233] has joined #go-nuts
12:01 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-150-97.clienti.tiscali.it] has
joined #go-nuts
12:04 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-173-238.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
12:14 < KBme> taruti: any idea how i can make a logfile open as a log file
(i.e.  correctly can be tail -f'ed) in go9p?
12:14 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts
12:15 -!- lmoura_ [~lauromour@187.113.165.27] has quit [Read error: Connection
reset by peer]
12:15 < KBme> for this function
https://github.com/soul9/go-ircfs/blob/master/channel.go#L29
12:15 < taruti> how does it fail?
12:16 < KBme> file truncated
12:16 < KBme> weird thing is ufs.go doesn't seem to do anything special to
handle this case and logfiles work fine with it
12:17 -!- lmoura_ [~lauromour@187.113.105.211] has joined #go-nuts
12:17 < taruti> hmm
12:17 < taruti> not really much of an idea, I use the lower level interface
like I told you
12:17 < KBme> ah, right
12:17 < KBme> dammit
12:18 < KBme> ah well, i'll figure it out
12:18 < KBme> thanks taruti
12:18 < taruti> np
12:18 < KBme> gotta run now, bye
12:18 < taruti> bye
12:20 -!- virtualsue [~chatzilla@nat/cisco/x-xjlvzwthlnququka] has joined #go-nuts
12:21 -!- sifi [~silas@unaffiliated/sifi] has quit [Ping timeout: 240 seconds]
12:22 < wrtp> KBme: don't use O_CREATE
12:23 < hokapoka> Is there any notifier for the os package that moniters the
local filesystem for changes?
12:23 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
12:23 < aiju> hokapoka: the whole filesystem?
12:23 < hokapoka> no, selected files.
12:23 < aiju> i don't think this is even possible with *nix
12:24 < aiju> at least not portably
12:24 < hokapoka> I'm using the template package and while it's not
nessasary for prod release I'd like to moniter the files if they have changed
re-load them.
12:24 < aiju> afaik all you can do is poll
12:24 < hokapoka> ATM I'm reading off the filesystem for each render, so I
don't have to restart.
12:24 < hokapoka> okay.
12:25 < aiju> that's what tail -f does
12:25 < hokapoka> I figured that I'd have todo something like that.
Wondered if there was anything already done along these lines.
12:25 < aiju> oh on Linux there is inotify
12:25 < aiju> but it's Linux specific
12:25 < hokapoka> right just like tail -f
12:26 < hokapoka> oh and b/c it's linux only it's unlikly to be brought into
go.
12:26 < Namegduf> Using inotify for stuff running on Linux is common.
12:26 < Namegduf> It's already supported.
12:26 < Namegduf> os/inotify
12:27 < hokapoka> aha
12:27 -!- sifi [~silas@cpe-107-10-143-104.columbus.res.rr.com] has joined #go-nuts
12:27 * hokapoka makes a mental note not to go direct to
golang.org/pkg/<package> in future
12:28 -!- xash [~xash@d026182.adsl.hansenet.de] has joined #go-nuts
12:28 < hokapoka> or just scroll to the bottom
12:28 < hokapoka> brilliant, many thanks indeed Namegduf
12:29 < aiju> hey it was me who brought up inofity :<
12:29 < hokapoka> heh and many thanks to you too aiju
12:34 -!- napsy [~luka@88.200.96.18] has joined #go-nuts
12:34 < wrtp> hokapoka: please write portable programs if possible!  some of
us don't use linux.  and polling is usually just fine.
12:45 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
12:47 < hokapoka> wrtp: okay point taken, I'll just generate a simple
polling routine to handle it.
12:47 < wrtp> thanks
12:47 < aiju> polling once per second should be enough
12:48 < aiju> just do a stat
12:49 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
12:50 -!- boscop [~boscop@g230098149.adsl.alicedsl.de] has joined #go-nuts
12:51 < hokapoka> aye, I was going to use Lstat, but again might be better
to use Stat in case there's a need to use symlinks.
12:52 < wrtp> hokapoka: if you've got the file open already, you could use
Fstat
12:54 < hokapoka> oh yeah, then use template.Parse over template.ParseFile
12:55 < hokapoka> sweet.
13:10 -!- rlab_ [~Miranda@91.200.158.34] has joined #go-nuts
13:11 -!- rlab [~Miranda@91.200.158.34] has quit [Ping timeout: 276 seconds]
13:25 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has joined
#go-nuts
13:26 < uriel> for everyone interested in Go on Android:
http://code.google.com/p/android/issues/detail?id=14112
13:26 < aiju> idk about memory efficiency actually
13:27 < skelterjohn> greater cpu efficiency than java?
13:27 < skelterjohn> lol
13:27 < aiju> Go has this HUGE runtime and HUGE typing information
13:27 < skelterjohn> the runtime is a constant
13:27 < uriel> I do know:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=threadring&lang=all
13:28 < aiju> wtf 130 MB
13:28 < uriel> that is just one benchmark, but Java is using around a
hundred times more memory, while being slower than Go
13:28 < skelterjohn> uriel: is that some program that launches 50m threads?
13:28 < skelterjohn> that would certainly showcase one of go's advantages
13:28 < wrtp> looks like it
13:28 < aiju> why does C perform so badly?
13:28 < skelterjohn> but it's certainly not the most common case
13:29 < skelterjohn> i also can't imagine running 50m goroutines on a
phone...
13:29 < uriel> in any case, Go trounces Java on memory usage:
http://shootout.alioth.debian.org/u64q/benchmark.php?test=all&lang=go&lang2=java
13:29 -!- tav [~tav@92.7.151.166] has joined #go-nuts
13:29 < wrtp> i'd love to see go on android, but i imagine all the resources
are available through java APIs and that's going to be difficult to integrate with
go.
13:30 -!- DerHorst [~Horst@e176097132.adsl.alicedsl.de] has joined #go-nuts
13:30 < uriel> wrtp: supposedly that is being changed with the new NDK:
http://android-developers.blogspot.com/2011/01/gingerbread-ndk-awesomeness.html
13:31 < wrtp> good
13:38 -!- skelterjohn [~jasmuth@c-68-45-238-234.hsd1.nj.comcast.net] has quit
[Quit: skelterjohn]
13:39 <@adg> wow, go Haskell
13:39 <@adg> impressive
13:46 -!- surma [~surma@wlan-020-076.zib.de] has joined #go-nuts
13:47 < surma> Hey guys.  Got a problem with unmarshalling json into
interface{} types.  Could someone take a look at this 7 sloc?
http://pastie.org/1473425
13:49 < TheSeeker> sloc ...  stupid lines of code?
13:49 < aiju> yeah
13:53 < surma> probably ^^ it's just a testcase
13:53 < surma> isn't sloc a common abbreviation?  "Source lines of code"?
13:55 < surma> The core question is: Why does unmarshalling not work, when I
pass the variable as a interface{} instead of it's actual type.
13:58 < jessta> surma: but you're passing it as *interface{} not interface{}
14:00 < surma> jessta: Well, if I don't pass it as a *interface{}, the
os.Error says: json: Unmarshal(non-pointer int)
14:01 < surma> jessta: nevermind
14:01 < surma> jessta: it has to say: interface{}(&skip)
14:02 < jessta> indeed
14:02 < surma> Hm, let's see if I can do this with reflections somehow as
well
14:02 -!- anticw_ [~anticw@c-67-169-68-180.hsd1.ca.comcast.net] has joined
#go-nuts
14:03 < wrtp> adg: go Haskell?
14:03 < aiju> surma: that cast seems superfluous
14:03 -!- rickard2_ [~rickard@netra.esec.du.se] has joined #go-nuts
14:03 < aiju> &skip should work
14:04 -!- Netsplit *.net <-> *.split quits: Fish, Boney, rickard2, anticw,
frobnitz, scyth
14:04 < surma> aiju: I know, but, as I said, that is a testcase.  I'm using
reflections to traverse the parameters of a function.  So I only can create the
parameters reflect.Value and get their interface{} from it.
14:05 < surma> Now I have to see how I can go to pointers from there,
preferably without using "unsafe"
14:06 -!- NuLLBiT [~mosva@122.172.124.197] has joined #go-nuts
14:06 -!- NuLLBiT [~mosva@122.172.124.197] has quit [Client Quit]
14:06 -!- mosva [~mosva@unaffiliated/mosva] has quit [Ping timeout: 240 seconds]
14:07 -!- Netsplit over, joins: Fish, scyth
14:07 -!- Netsplit *.net <-> *.split quits: drd, ath, Natch|, jesusaurus,
jumzi, cdsgf, jlouis, bortzmeyer, KirkMcDonald, schilly, (+5 more, use /NETSPLIT
to show all of them)
14:07 -!- Netsplit over, joins: niekie
14:08 -!- Netsplit over, joins: jyxent
14:08 -!- Netsplit over, joins: ath
14:08 -!- Netsplit over, joins: cdsgf
14:08 -!- Netsplit over, joins: schilly
14:08 -!- Netsplit over, joins: jesusaurus
14:08 -!- virtualsue [~chatzilla@nat/cisco/x-wdatznihiyrzhinn] has joined #go-nuts
14:08 -!- Netsplit over, joins: jnwhiteh
14:08 < jnwhiteh> adg: looking at the haskell golang parser?
14:08 -!- Netsplit over, joins: bortzmeyer, jlouis
14:09 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts
14:10 -!- KirkMcDonald [~Kirk@24.143.227.33] has joined #go-nuts
14:10 -!- Netsplit over, joins: drd, Boney, frobnitz
14:11 < wrtp> surma: you can't
14:11 < wrtp> you can't create types that you don't already have
14:12 < surma> wrtp: Well, they do exist, it's just that I don't know them
specifically
14:12 -!- i__ [~none@69.164.206.224] has joined #go-nuts
14:12 < wrtp> surma: how do you know they exist?
14:13 < wrtp> surma: Unmarshalling into *interface{} only works if the
interface value is nil.
14:13 < surma> wrtp: My question basically turned out to be this: I have a
reflect.Value, how I get an interface{}, which contains a pointer to the actual
object/struct/whatever
14:13 < surma> wrtp: Because the method I have has them as parameters
14:13 < surma> and I therefore have their reflect.Values
14:16 -!- boscop_ [~boscop@g230098149.adsl.alicedsl.de] has joined #go-nuts
14:16 -!- _DerHorst_ [~Horst@e176097132.adsl.alicedsl.de] has joined #go-nuts
14:17 -!- araujo [~araujo@190.38.51.34] has joined #go-nuts
14:17 -!- araujo [~araujo@190.38.51.34] has quit [Changing host]
14:17 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
14:17 -!- elimisteve_ [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has
joined #go-nuts
14:18 -!- jkakar_ [~jkakar@85.48.252.209] has joined #go-nuts
14:19 -!- jae [~jae@ivanova.zhar.net] has joined #go-nuts
14:19 -!- ymasory_ [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has joined
#go-nuts
14:19 < wrtp> yes, but how do you know that the types that point to those
types exist?
14:19 < surma> wrtp: Yeah, jessta just helped me fixing that.  I was taking
the wrong address.  It's "interface{}(&limit)"
14:19 < surma> wrtp: I'm creating the instances my self using reflect
14:19 -!- DerHorst [~Horst@e176097132.adsl.alicedsl.de] has quit [Ping timeout:
240 seconds]
14:19 -!- rlab_ [~Miranda@91.200.158.34] has quit [Ping timeout: 240 seconds]
14:19 -!- eikenberry [~jae@ivanova.zhar.net] has quit [Ping timeout: 240 seconds]
14:19 -!- mosva [~mosva@unaffiliated/mosva] has quit [Ping timeout: 240 seconds]
14:19 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
14:19 -!- jkakar [~jkakar@85.48.252.209] has quit [Ping timeout: 240 seconds]
14:19 -!- elimisteve [~elimistev@pool-71-102-138-52.snloca.dsl-w.verizon.net] has
quit [Ping timeout: 240 seconds]
14:19 -!- welterde [welterde@thinkbase.srv.welterde.de] has quit [Ping timeout:
240 seconds]
14:19 -!- boscop [~boscop@g230098149.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
14:19 -!- Guest93816 [~silas@cpe-107-10-143-104.columbus.res.rr.com] has quit
[Ping timeout: 240 seconds]
14:19 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has quit [Ping
timeout: 240 seconds]
14:19 -!- ymasory [~ymasory@c-76-99-55-224.hsd1.pa.comcast.net] has quit [Ping
timeout: 240 seconds]
14:19 -!- Guest93816 [~silas@cpe-107-10-143-104.columbus.res.rr.com] has joined
#go-nuts
14:19 -!- niemeyer [~niemeyer@189.30.51.233] has quit [Ping timeout: 240 seconds]
14:19 -!- wrtp [~rog@92.17.22.246] has quit [Ping timeout: 240 seconds]
14:19 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has joined #go-nuts
14:19 -!- lmoura_ [~lauromour@187.113.105.211] has quit [Ping timeout: 240
seconds]
14:19 -!- mosva [~mosva@122.172.124.197] has joined #go-nuts
14:19 -!- DarthShrine [~angus@60-242-109-62.tpgi.com.au] has quit [Changing host]
14:19 -!- DarthShrine [~angus@pdpc/supporter/student/DarthShrine] has joined
#go-nuts
14:19 -!- mosva [~mosva@122.172.124.197] has quit [Changing host]
14:19 -!- mosva [~mosva@unaffiliated/mosva] has joined #go-nuts
14:19 -!- lmoura_ [~lauromour@187.113.105.211] has joined #go-nuts
14:20 -!- wrtp [~rog@92.17.22.246] has joined #go-nuts
14:20 < wrtp> surma: the instances of what?
14:22 < surma> wrtp: Okay, let me start over.  I have a reflect.Type of some
method parameter.  I create a new instance using reflect.MakeZero() and get it as
an interface using reflect.Value.Interface().  Now I want to unmarshall into that
interface, which does not work because json.Unmarshal() needs a pointer.  How do I
get ahold of that pointer?
14:22 < wrtp> you can't
14:23 < wrtp> because you can't create a *T given type T.
14:23 < wrtp> if you make your method parameter be a pointer, then you can
do it
14:23 -!- shvntr [~shvntr@116.26.128.219] has quit [Ping timeout: 240 seconds]
14:23 < surma> But why is that?  That shouldn't be too hard to implement in
reflect or unsafe, or is it?
14:24 < wrtp> currently the set of types is fixed by the compiler
14:24 < wrtp> so there's a static table in the executable of all runtime
types.
14:24 < wrtp> to change things would mean moving to a dynamic table, which
is quite a big change, and has quite a few implications
14:25 < surma> Oh, I see :-/
14:25 < wrtp> it also might slow things down
14:25 < surma> damn, that would've been some awesome RPC lib
14:25 < wrtp> as looking up a type might incur a locking penalty
14:27 -!- GilJ [~gilles@zeus.ugent.be] has quit [Quit: leaving]
14:31 -!- gilles_ [~gilles@zeus.ugent.be] has joined #go-nuts
14:31 -!- iant [~iant@216.239.45.130] has quit [Quit: Leaving.]
14:32 < surma> wrtp: okay, so I can live with the pointer-parameters.  But
know json complains that the interface{} just holds a nil-pointer to an *int.  Can
I allocate *T using reflect?
14:32 -!- niemeyer [~niemeyer@189.30.51.233] has joined #go-nuts
14:33 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts
14:33 -!- welterde [welterde@thinkbase.srv.welterde.de] has joined #go-nuts
14:34 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Remote host closed the
connection]
14:34 -!- imsplitbit [~imsplitbi@64.39.4.132] has joined #go-nuts
14:36 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit
[Quit: WeeChat 0.3.2]
14:36 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has quit [Ping
timeout: 260 seconds]
14:36 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
14:36 < surma> wrtp: Nevermind, figured it out - without using unsafe :D
Thanks for your explanation, though :)
14:37 -!- KBme [~KBme@9angled-2-pt.tunnel.tserv5.lon1.ipv6.he.net] has joined
#go-nuts
14:37 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined
#go-nuts
14:38 -!- arun [~arun@unaffiliated/sindian] has quit [Read error: Connection reset
by peer]
14:39 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has joined #go-nuts
14:39 -!- arun [~arun@2001:610:110:4e2:280:5aff:fe69:e130] has quit [Changing
host]
14:39 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
14:39 < wrtp> surma: np
14:39 -!- Natch| [~natch@c-2bcfe155.25-4-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
14:44 -!- jumzi [~jumzi@c-89-233-234-125.cust.bredband2.com] has joined #go-nuts
14:46 -!- iant [~iant@67.218.105.75] has joined #go-nuts
14:46 -!- mode/#go-nuts [+v iant] by ChanServ
14:50 -!- bXi [bluepunk@irssi.co.uk] has joined #go-nuts
14:52 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Read error:
Connection reset by peer]
14:52 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
14:54 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
14:55 -!- jackzh_ [~jackzh@222.241.126.24] has quit [Quit: leaving]
14:55 -!- surma [~surma@wlan-020-076.zib.de] has quit [Quit: surma]
15:01 -!- artefon [~thiago@187.59.185.187] has joined #go-nuts
15:04 -!- devrim [~Adium@cpe-72-225-239-227.nyc.res.rr.com] has joined #go-nuts
15:10 -!- mikejs [~mike@ec2-174-129-238-128.compute-1.amazonaws.com] has joined
#go-nuts
15:15 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
15:18 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has joined #go-nuts
15:26 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts
15:31 -!- sacho [~sacho@90.154.201.105] has quit [Ping timeout: 246 seconds]
15:32 -!- skejoe [~skejoe@188.114.142.162] has joined #go-nuts
15:36 -!- jae [~jae@ivanova.zhar.net] has quit [Disconnected by services]
15:36 -!- eiken [~jae@ivanova.zhar.net] has joined #go-nuts
15:39 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has joined #go-nuts
15:52 < kimelto> I so miss defer when Im coding in C :/
15:52 < MaybeSo> ha, yeah
15:53 < skelterjohn> i just don't code in C anymore
15:53 < aiju> i so miss *x++ when coding Go
15:53 < aiju> well, sometimes
15:54 < skelterjohn> does that get you *(x++) or (*x)++?
15:54 < aiju> the former
15:54 < aiju> nice for traversing an array
15:54 < aiju> but i miss all K operators when coding non-K :D
15:54 < skelterjohn> i suggest range :)
15:54 < aiju> skelterjohn: yeah, but still awkward
15:55 < aiju> array[k] = v+1
15:55 < aiju> http://aiju.phicode.de/code/k/tictactoe :D
15:55 < skelterjohn> i'm not connecting what you just wrote to what you've
said already
15:55 < skelterjohn> oy
15:55 < skelterjohn> how can you be happy with code when it looks like that?
15:56 < aiju> no, it's still too readable
15:58 < skelterjohn> i don't understand the appeal of k
15:58 < aiju> it's concise
15:59 < aiju> i tried writing the same program in Go, over 200 lines (and it
works worse somehow)
15:59 -!- Venom_X [~pjacobs@75.92.43.21] has joined #go-nuts
15:59 < skelterjohn> concise is not always good
16:00 < skelterjohn> for example, that tic-tac-toe code
16:00 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
#go-nuts
16:04 < aiju> it's fun to program in it anyway
16:04 < aiju> larger programs probably end up as a horrible mess
16:05 < wrtp> i like static typing...
16:05 < aiju> me too
16:06 -!- itrekkie [~itrekkie@ip72-200-109-44.tc.ph.cox.net] has quit [Quit:
itrekkie]
16:09 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
16:10 < aiju> weird things happen if i try to use print with my custom
runtime o.O
16:11 -!- iant [~iant@67.218.105.75] has quit [Quit: Leaving.]
16:12 < wrtp> aiju: why are you using print?
16:12 < aiju> hm let me think
16:12 < aiju> to print shit on screen?
16:12 < wrtp> use fmt.Print or log.Print instead
16:12 < aiju> fmt.* would probably kill my bootloader lol
16:13 < aiju> fmt will lead to 1 MB binaries …
16:13 < wrtp> you're running on bare hardware?
16:13 < aiju> idk whether fmt works either
16:13 < aiju> yeah
16:13 < wrtp> cool
16:13 < aiju> gofy
16:13 < wrtp> ok fair enough
16:13 < wrtp> gofy?
16:13 < aiju> gofy.cat-v.org code.google.com/p/gofy
16:13 < TheSeeker> upx compresses go generated exes pretty well.
16:14 < exch> fmt imports the unicode package, which is rather sizable.
Hence it's impact on binary size
16:14 < taruti> why does fmt need unicode?
16:14 < exch> If you dont need/want unicode support, you can prolly fork
fmt, yank out the unicode support and just go with basic stuff
16:15 < aiju> taruti: to justify bigger hard disks for Google's servers
16:15 < wrtp> aiju: um, nice name
16:15 < exch> taruti: presumably for Scan() and friends.  it needs to index
unicode runes properly
16:15 < aiju> how about runtime·stringiter?
16:16 < taruti> and the linker is not smart enough to drop it then
16:16 < aiju> oddly enough i can't find where print is defined
16:16 < exch> why would it?  The linker can't tell if you app will ever
receive unicode input to Scan()
16:16 < exch> *your
16:17 < wrtp> exch: yeah, but it can tell if you don't call Scan
16:17 < taruti> exch: fmt.Printf != fmt.Scan, most apps do not call Scan at
all
16:17 < exch> true
16:17 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has joined
#go-nuts
16:17 -!- sauerbraten [~sauerbrat@p508CE4EB.dip.t-dialin.net] has joined #go-nuts
16:17 < aiju> software always expands until memory is filled
16:18 < TheSeeker> see, eg, IBM's Watson :)
16:18 < wrtp> i think a lot of the size of the go binaries comes from the
reflection stuff
16:18 -!- mattn_jp [~mattn@112-68-85-238f1.hyg1.eonet.ne.jp] has joined #go-nuts
16:18 -!- eiken [~jae@ivanova.zhar.net] has quit [Quit: End of line.]
16:18 < wrtp> all the runtime types are there.
16:26 -!- foocraft [~dsc@89.211.188.118] has joined #go-nuts
16:26 < aiju> Go has a maximum string length?
16:28 < taruti> yes
16:28 < exch> I know that an array or slice can not exceed 1<<31-1 in
length.  Not sure of that goes for strings to though
16:28 < taruti> they have a fixed size length field
16:29 < TheSeeker> that's a pretty large string...
16:29 < exch> ya
16:29 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
16:31 < quantumelixir> that's about 8 billion bytes in size
16:32 < aiju> quantumelixir: how so?
16:32 < aiju> strings in Go are UTF-8
16:32 < quantumelixir> if one character is 4 bytes (as is the case in
UTF-8?)
16:32 < aiju> no
16:32 < quantumelixir> oh fuck
16:32 < quantumelixir> sorry
16:32 < aiju> http://aiju.phicode.de/misc/unicode
16:32 < aiju> oops, should be "encoding" not charsets
16:32 -!- wrtp [~rog@92.17.22.246] has quit [Ping timeout: 255 seconds]
16:33 < quantumelixir> 4 bytes per char so?
16:33 < quantumelixir> worst case
16:33 < aiju> yeah, very unlikely
16:33 < aiju> average is a bit over one in most languages
16:33 < quantumelixir> but it has to accomodate this
16:34 < quantumelixir> fine..  even with 1 byte and 1<<10 ~ 1000 we
get 1<<31 ~ 10^9
16:34 < quantumelixir> which is just 1GB
16:34 < quantumelixir> sorry 2GB
16:34 < quantumelixir> 1<<31 ~ 2*10^9
16:35 -!- snearch [~snearch@f053011014.adsl.alicedsl.de] has joined #go-nuts
16:35 < quantumelixir> which means, what I said earlier wasn't wrong :) 8GB
worst case
16:38 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has joined #go-nuts
16:38 -!- snearch [~snearch@f053011014.adsl.alicedsl.de] has quit [Client Quit]
16:39 -!- wrtp [~rog@92.17.22.246] has joined #go-nuts
16:39 -!- snearch [~snearch@f053011014.adsl.alicedsl.de] has joined #go-nuts
16:40 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Quit: So Long, and Thanks
for All the Fish]
16:41 -!- skejoe [~skejoe@188.114.142.162] has quit [Quit: Lost terminal]
16:45 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
16:47 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
16:48 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has quit [Ping timeout: 240
seconds]
16:49 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
16:51 -!- xash [~xash@d026182.adsl.hansenet.de] has quit [Ping timeout: 255
seconds]
16:51 -!- ukai_ [~ukai@nat/google/x-qdbxqqazkpbllgvq] has quit [Remote host closed
the connection]
16:53 < mosva> <-sem will retrieve the last entered value from the
buffered channel?
16:54 < aiju> no, it will activate Go's self destruction mechanism
16:54 < mosva> oh shit
16:55 < wrtp> mosva: it will retrieve the earliest value sent on the
buffered channel that hasn't already been read
16:56 < mosva> so LIFO?
16:56 < skelterjohn> it's a queue, yeah
16:56 < mosva> so FIFO
16:56 < mosva> Thanks wrtp
16:56 < skelterjohn> keep in mind - if more messages are trying to be sent
than there are spots in the buffer
16:57 < skelterjohn> then those messages can arrive in any order
16:58 < wrtp> LIFO
16:58 < skelterjohn> no...
16:58 < wrtp> sorry, what am i thinking?!
16:59 < wrtp> FIFO
16:59 < wrtp> just like a pipe
16:59 < aiju> shouldn't channels block if they're full?
17:00 -!- artefon [~thiago@187.59.185.187] has quit [Quit: bye]
17:00 < skelterjohn> if the buffer is full, it blocks
17:00 < skelterjohn> yeah
17:00 < wrtp> just like pipes :-)
17:01 < mpl> and teh internet.
17:03 < mosva> Is there a threading library?  or just go routines
17:04 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has joined
#go-nuts
17:04 < TheSeeker> yes, and yes
17:04 < skelterjohn> what is their beyond goroutines?
17:04 < skelterjohn> do you mean sync?
17:10 -!- wrtp [~rog@92.17.22.246] has quit [Quit: wrtp]
17:14 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has joined #go-nuts
17:15 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has joined #go-nuts
17:16 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
quit [Quit: leaving]
17:16 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:19 -!- iant [~iant@nat/google/x-rhgrggmhuvxdmlzk] has joined #go-nuts
17:19 -!- mode/#go-nuts [+v iant] by ChanServ
17:19 -!- iant [~iant@nat/google/x-rhgrggmhuvxdmlzk] has quit [Client Quit]
17:20 -!- iant [~iant@nat/google/x-qexynjgjefoqtncl] has joined #go-nuts
17:20 -!- mode/#go-nuts [+v iant] by ChanServ
17:20 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
17:21 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Ping
timeout: 240 seconds]
17:26 -!- mosva [~mosva@unaffiliated/mosva] has quit [Read error: Connection reset
by peer]
17:33 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has joined #go-nuts
17:34 -!- tgall_foo [~tgall@linaro/tgall-foo] has quit [Quit: Leaving]
17:34 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
17:37 -!- mattn_jp [~mattn@112-68-85-238f1.hyg1.eonet.ne.jp] has quit [Quit:
Ex-Chat]
17:40 -!- barkmore [~textual@64.134.140.77] has joined #go-nuts
17:42 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-167-116.clienti.tiscali.it] has
joined #go-nuts
17:42 -!- tgall_foo [~tgall@206.9.88.154] has joined #go-nuts
17:44 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-150-97.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
17:50 -!- saschpe [~quassel@opensuse/member/saschpe] has joined #go-nuts
18:01 -!- cane9 [~john@unaffiliated/johnnybuoy] has joined #go-nuts
18:02 -!- Fish [~Fish@exo3753.pck.nerim.net] has quit [Ping timeout: 265 seconds]
18:05 -!- Fish [~Fish@exo3753.pck.nerim.net] has joined #go-nuts
18:08 -!- keithcascio [~keithcasc@nat/google/x-ncybzrdjprztlrnv] has joined
#go-nuts
18:10 -!- jkakar [~jkakar@85.48.252.209] has quit [Ping timeout: 260 seconds]
18:25 -!- barkmore [~textual@64.134.140.77] has quit [Quit: Computer has gone to
sleep.]
18:27 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
18:32 -!- Project_2501 [~Marvin@82.84.96.87] has joined #go-nuts
18:33 < exch> Go's xml package seems to throw up when reading a (presumably
invalid) utf8 token (\xa9 for the copyright sign), loaded from a wen uri.  When
the same content is saved to a file first and then loaded, it works fine.
Wondering where I should start looking for the error
18:33 < exch> s/wen/web/
18:34 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts
18:34 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
18:34 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-167-116.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
18:35 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
18:36 -!- dforsyth [~dforsyth@c-76-21-40-117.hsd1.ca.comcast.net] has quit [Quit:
Computer has gone to sleep.]
18:37 -!- KirkMcDonald [~Kirk@24.143.227.33] has quit [Changing host]
18:37 -!- KirkMcDonald [~Kirk@python/site-packages/KirkMcDonald] has joined
#go-nuts
18:40 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
18:43 < aiju> exch: \xa9 *is* invalid utf8
18:43 -!- photron [~photron@port-92-201-8-162.dynamic.qsc.de] has joined #go-nuts
18:44 < exch> It seems to be in common use throughout the web.At least in
places where people don't bother to use © instead
18:45 < exch> If it is invalid utf8, I'm wondering how I can make Go accept
it anyways.  Preferably without having to traverse the whole chunk of byte data
and manually replace each instance
18:45 < aiju> it's latin1
18:46 < exch> ah wait.  the doc is marked with encoding 'ISO-8859-1''
18:46 < exch> I'll see if there are some encoding conversion packages around
18:47 -!- nettok [~quassel@200.119.172.33] has joined #go-nuts
18:48 < KirkMcDonald> An equivalent to Python's encode and decode string
methods would be a thing.
18:49 < aiju> no, it would not
18:49 < KirkMcDonald> No?
18:49 < aiju> python unicode treatment is a mess
18:49 < KirkMcDonald> How so?
18:50 < aiju> i have to encode and decode all the time
18:50 -!- sifi [~silas@cpe-107-10-143-104.columbus.res.rr.com] has quit [Changing
host]
18:50 -!- sifi [~silas@unaffiliated/sifi] has joined #go-nuts
18:50 < KirkMcDonald> Nothing stops you from using byte-strings everywhere
in Python.
18:50 < KirkMcDonald> You just have to be consistent about it.
18:51 < KirkMcDonald> Well, I guess certain libraries insist on Unicode
strings.
18:51 < aiju> there is only one sane way to treat strings
18:51 < aiju> force UTF-8 all over the place.
18:51 < jumzi> No!
18:51 < jumzi> You didn't wait for my drumroll
18:52 < KirkMcDonald> aiju: In truth that is frequently how I end up writing
Python.
18:52 < quantumelixir> If I have a bunch of numbers in a string (too large
to specify format strings with sprintf say) then which package/method should I use
to read the data into an array?
18:52 < KirkMcDonald> On the other hand, Python 3 changes matters somewhat.
18:53 < KirkMcDonald> quantumelixir: strings.Split() the string, then a
loop.
18:53 < quantumelixir> With strings being immutable, will this create lots
of strings in the process?
18:54 < quantumelixir> I mean memory allocation/freeing overhead?
18:54 < quantumelixir> s/?//
18:54 < aiju> idk how expensive memory allocation overhead in Go actually is
18:54 < KirkMcDonald> I'm not certain, actually.  My hope would be for the
returned strings to be slices out of the original string, but I don't know how Go
does it.
18:55 < quantumelixir> hmm..  let me check
18:55 < exch> strings are immutable.  they'll always be copies.  I think
yuo're far better off splitting the data as a byte slice.  That way yuo always get
slices into the original data
18:56 < aiju> why are strings immutable after all?
18:56 < KirkMcDonald> Wouldn't strings being immutable be an argument in
favor of slicing into the original?
18:56 < exch> bytes.Split() will do the same as strings.Split(), but without
copies
18:56 < exch> KirkMcDonald: now that I think of it, perhaps you're right
18:57 < temoto> KirkMcDonald, no, because slices are mutable.
18:57 < KirkMcDonald> I don't literally mean a slice in the Go sense.
18:57 < KirkMcDonald> I mean having one "string" value which refers to the
same data as another "string" value.
18:57 < quantumelixir> exch: Oh. Interesting..
18:57 < aiju> "they share data"
18:58 < temoto> Yeah, slicing string into slice-strings would be great.
18:58 < aiju> just look at the implementation
18:58 < exch> well that settles that then
18:58 < quantumelixir> KirkMcDonald: Python does exactly what you say.  At
least for small strings..
18:58 < KirkMcDonald> quantumelixir: Are you talking about Python's string
interning?  Because that is something else.
18:58 < quantumelixir> In the implementation of string.Split it creates a
new slice
18:59 < quantumelixir> by which I mean new underlying array as well
19:00 < temoto> I think 'immutable slices' would solve this more easily than
changes to string operations.
19:00 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
19:00 < quantumelixir>
http://golang.org/src/pkg/strings/strings.go?s=4254:4295#L188 Line 165
genSplit(..)
19:01 < quantumelixir> L177 a := make([]string, n)
19:01 < KirkMcDonald> quantumelixir: That is the slice which the result is
returned in.
19:02 < quantumelixir> I don't understand why the Split method does not make
use of the immutability of strings to reduce further memory allocations
19:02 < KirkMcDonald> It has nothing to do with whether the underlying
string data is shared with the original string.
19:02 -!- dforsyth_ [~dforsyth@bastion.inap.yelpcorp.com] has joined #go-nuts
19:02 < quantumelixir> Oh
19:02 < KirkMcDonald> Whether it does that depends on the implementation of
s[x:y]
19:02 < temoto> quantumelixir, because there's not way to make a string
share same memory as other string.
19:02 < quantumelixir> So this is just the creation of the slice
19:02 -!- tensorpudding [~user@99.23.127.179] has joined #go-nuts
19:03 < quantumelixir> temoto: why not
19:03 < temoto> or is there?
19:03 < aiju> quantumelixir: it's probably "nobody has done it"
19:03 < temoto> i mean in practical terms: right now
19:03 < temoto> Of course it's totally possible.
19:03 < aiju> whether this is a serious improvement is another question
19:03 < quantumelixir> If strings are guaranteed to be immutable and we go
split "hello world" into two parts it seems logical for the two resulting slices
to have pointers in the original string itself
19:04 < KirkMcDonald> Right.
19:04 < temoto> Yeah it seems logical.
19:04 < quantumelixir> what harm could it cause
19:04 < aiju> haha
19:04 < aiju> famous last words
19:04 < KirkMcDonald> D does it precisely this way/
19:04 < |Craig|> strings in go are length prefixed arn't they, so you can't
get a substring without copying unless they use length then pointer into string,
in which case it would work fine
19:04 < aiju> |Craig|: they are not length prefixed
19:05 < quantumelixir> what do you mean by being length prefixed
19:05 < aiju> they are length, pointer to data pairs
19:05 < quantumelixir> struct?
19:05 < aiju> internally yes
19:05 < |Craig|> aiju: then sub strings should not copy
19:05 < KirkMcDonald> Of course, strings in D are just dynamic arrays of
type char, which is very roughly equivalent to a Go []uint8.
19:05 < KirkMcDonald> Except the char type has certain unique properties.
19:06 < KirkMcDonald> (A D char is defined to hold UTF-8 code units.)
19:06 < aiju> you mean unicode codepoint?
19:06 < quantumelixir> aiju: _pairs_?!  You mean strings don't terminate
with a null pointer?  Does this have something to do with UTF-8 ness?
19:06 < temoto> UTF-8 or Unicode?
19:06 < KirkMcDonald> aiju: No. I mean UTF-8 code units.
19:06 < aiju> quantumelixir: no
19:06 < aiju> KirkMcDonald: what's a "UTF-8 code unit"?
19:06 < aiju> quantumelixir: no to the last two questions
19:06 < KirkMcDonald> aiju: Each byte in a UTF-8 string is a code unit.
19:06 < aiju> KirkMcDonald: then just call it ...  BYTE
19:06 < quantumelixir> aiju: oh interesting
19:06 < KirkMcDonald> aiju: Just how each byte-pair in a UTF-16 string is a
code unit.
19:07 < quantumelixir> aiju: But that still doesn't mean you can have slices
sharing data
19:07 < KirkMcDonald> aiju: The term code unit has certain connotations.
19:07 < temoto> Yeah why not just byte.
19:07 < quantumelixir> *string slices
19:07 < KirkMcDonald> aiju: Specifically, not all bytes are valid code
units.
19:07 < aiju> oic
19:07 < KirkMcDonald> 0xff is not a valid code unit, for example.
19:07 < aiju> but UTF-8 is context dependent
19:09 < KirkMcDonald> And it is for that reason that the default initializer
for the char type in D is 0xff.
19:09 < aiju> ugh
19:09 < KirkMcDonald> It's actually somewhat useful.
19:10 < KirkMcDonald> It means that if you have an uninitialized char, it
will always, always be invalid.
19:10 < temoto> How does it even make sense to initialize a variable with
invalid value?
19:10 < temoto> like var x string = 10
19:11 < temoto> or var x uint = -1
19:11 < KirkMcDonald> temoto: Invalid, but which still fits in the variable.
19:11 < aiju> i like the Go way of initialization
19:11 < aiju> zero.  always.
19:11 < temoto> Me too.
19:11 < quantumelixir> me too!
19:12 < KirkMcDonald> D uses zero for most things.
19:12 < KirkMcDonald> There is no value for a uint which is invalid, for
example.
19:12 -!- artefon [~thiago@dhcp16.usuarios.dcc.ufmg.br] has quit [Quit: bye]
19:12 < KirkMcDonald> But for floats it uses NaN, and char it uses 0xff.
19:12 < temoto> -1 is valid for uint?
19:12 < quantumelixir> no
19:12 < aiju> i hate that you can't initialize uints with -1 in Go
19:12 < quantumelixir> its the largest positive integer
19:12 < quantumelixir> in C
19:13 < aiju> eh *cast -1 to uint
19:13 < KirkMcDonald> temoto: There is no pattern of bits which is invalid
in a uint.
19:13 < quantumelixir> *representable
19:13 < temoto> KirkMcDonald, bits are irrelevant when we start talking
about any type system.
19:13 < quantumelixir> temoto: funny 2s complement representation
19:13 < KirkMcDonald> temoto: Ehh.
19:14 < aiju> temoto: computers are irrelevant
19:14 < KirkMcDonald> temoto: D inherits the notion from C that a type
represents a chunk of memory.
19:14 < KirkMcDonald> More or less.
19:14 < KirkMcDonald> It's stronger about that notion, if anything, since
D's types all have a defined size.
19:14 < temoto> okay, so it's C one-type type system
19:15 < aiju> it's the computer one-type type system
19:15 < temoto> C has two types: int and struct.
19:15 < KirkMcDonald> And union?
19:15 < temoto> well i guess yeah
19:15 < aiju> temoto: and pointers
19:15 < KirkMcDonald> Pointers are ints.
19:15 < KirkMcDonald> Sort of.
19:15 < jumzi> Not on x86_64!
19:15 < KirkMcDonald> Point.
19:15 < jumzi> belive me i know *cry*
19:15 < aiju> it's the one true type system
19:33 -!- virtualsue [~chatzilla@nat/cisco/x-wdatznihiyrzhinn] has quit [Ping
timeout: 255 seconds]
19:37 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has joined #go-nuts
19:38 -!- binarypie [~binarypie@adsl-99-37-224-204.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
19:39 -!- MX80 [~MX80@cust222.253.117.74.dsl.g3telecom.net] has quit [Remote host
closed the connection]
19:43 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds]
19:43 -!- acetoline [~acetoline@125-237-12-196.jetstream.xtra.co.nz] has joined
#go-nuts
19:44 -!- snearch [~snearch@f053011014.adsl.alicedsl.de] has quit [Quit:
Verlassend]
19:51 -!- artefon [~thiago@187.59.185.187] has joined #go-nuts
19:59 -!- thiago__ [~thiago@189.59.202.115] has joined #go-nuts
20:01 -!- artefon [~thiago@187.59.185.187] has quit [Ping timeout: 240 seconds]
20:02 -!- Eridius [~kevin@unaffiliated/eridius] has joined #go-nuts
20:03 -!- nekschot [nekschot@82-170-165-101.ip.telfort.nl] has joined #go-nuts
20:04 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has quit [Ping timeout:
240 seconds]
20:04 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has joined #go-nuts
20:09 -!- MX80 [~MX80@cust222.253.117.74.dsl.g3telecom.net] has joined #go-nuts
20:11 < exch> meh.  I can wrap libiconv for the encoding conversions, but
that will break the goinstall functionality for my xmlx package.  And add an
external dependency I'm not very happy with
20:11 < exch> Anyone bored and want to implement libiconv in pure Go? :p
20:11 < aiju> you have to be REALLY bored for that
20:12 < exch> yea, exactly
20:12 -!- gits [~gits@77.94.219.158] has joined #go-nuts
20:18 -!- nsf [~nsf@jiss.convex.ru] has joined #go-nuts
20:20 < quantumelixir> why doesn't strings.Split take multiple separators?
20:20 < quantumelixir> or more usefully, what do I do to achieve that effect
20:21 < quantumelixir> There's a strings.Index and a strings.IndexAny but
only strings.Split
20:26 -!- cane9 [~john@unaffiliated/johnnybuoy] has quit [Quit: Ex-Chat]
20:26 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:8586:9f55:196e:857d] has joined
#go-nuts
20:26 < thiago__> exch: why do you need iconv?
20:27 < aiju> world domination
20:27 -!- femtoo [~femto@95-89-197-37-dynip.superkabel.de] has quit [Read error:
Connection reset by peer]
20:27 < artefon> quantumelixir: i used regexp and ReplaceAllString
20:28 < exch> artefon: to ensure that proper utf-9 encoded data is passed to
Go's XML tokenizer
20:28 < exch> *utf-8
20:28 < exch> It fails rather painfuly when latin1 text is given to it
20:28 < artefon> exch: oo i get it
20:30 -!- m4dh4tt3r [~Adium@c-69-181-223-245.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
20:30 < quantumelixir> artefon: If I perform a Find on the returned regexp
object can I be sure that the memory is shared between the returned slice and the
input string?
20:32 < artefon> quantumelixir: the slice returned is a new slice
20:32 < aiju> quantumelixir: why do you care about this anyway?
20:33 < quantumelixir> in the interest of knowing better
20:33 < quantumelixir> came across this today and I thought I might as well
know the behaviour correctly
20:33 < artefon> quantumelixir: if you want something more
sofisticated/efficient you cant tokenize the string, reading it char by char and
appending to a buffer
20:34 < artefon> quantumelixir: i am working with the same problem
20:34 < artefon> quantumelixir: i needed to write a lexer
20:34 < artefon> quantumelixir: i am currently looking at this
http://golang.org/pkg/scanner/
20:34 < quantumelixir> oh then this must be really really important for you
20:35 < artefon> but the ideal for me is something like Flex
20:36 < quantumelixir> I was seeing some OCaml code today and it looks like
it's amazingly well suited for parsing
20:36 < quantumelixir> I don't know a word of OCaml though
20:37 < quantumelixir> But the code looked really beautiful, to the extent
that I could understand
20:37 < quantumelixir> pattern matching all over the place
20:37 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
20:38 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Read
error: Connection reset by peer]
20:40 -!- m4dh4tt3r [~Adium@c-69-181-219-75.hsd1.ca.comcast.net] has joined
#go-nuts
20:41 -!- boredomist [~boredomis@24.115.43.39.res-cmts.sesp.ptd.net] has quit
[Quit: Leaving]
20:43 < artefon> quantumelixir: I'll take a look...  I really enjoy haskell
though
20:44 -!- _DerHorst_ [~Horst@e176097132.adsl.alicedsl.de] has quit [Remote host
closed the connection]
20:44 < artefon> quantumelixir: i always see comparisons betweet ocaml
functional programming and haskell
20:49 -!- kixo [~kixo@78-1-155-129.adsl.net.t-com.hr] has joined #go-nuts
20:52 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has joined
#go-nuts
20:59 < quantumelixir> artefon: I think this clears a lot of things up:
http://blog.golang.org/2011/01/go-slices-usage-and-internals.html
20:59 < quantumelixir> See the section on `A possible "gotcha"'
21:00 -!- saschpe [~quassel@opensuse/member/saschpe] has quit [Remote host closed
the connection]
21:02 < bXi> evening
21:02 < bXi> i'm trying to build a bit of code using some mysql lib
21:02 < bXi> but i was wondering how i should import it
21:04 < bXi> import ( "./path/to/file" ) doesnt seem to work
21:06 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has quit [Quit:
adu]
21:06 < artefon> quantumelixir: the go implementation:
http://golang.org/src/pkg/regexp/regexp.go?s=27624:27663#L1075
21:07 < artefon> quantumelixir: it returns a re-slice
21:07 < artefon> quantumelixir: so the whole memory is still occupied
21:08 < artefon> quantumelixir: it seems like
21:11 < quantumelixir> hmm..
21:15 -!- Fish- [~Fish@9fans.fr] has quit [Ping timeout: 240 seconds]
21:16 -!- zozoR [~zozoR@56346ed3.rev.stofanet.dk] has quit [Quit: Morten.  Desu~]
21:16 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
21:26 -!- m4dh4tt3r [~Adium@c-69-181-219-75.hsd1.ca.comcast.net] has quit [Quit:
Leaving.]
21:26 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has quit [Ping
timeout: 265 seconds]
21:28 -!- Kashia [~Kashia@port-92-200-22-224.dynamic.qsc.de] has joined #go-nuts
21:29 -!- vsmatck [~smack@64-142-40-6.dsl.static.sonic.net] has joined #go-nuts
21:30 < uriel> bXi: if you installed with goinstall, you should import with
its path
21:30 < uriel> really, import works the same for everything
21:32 < bXi> yeah i just got how it works
21:33 < bXi> i just thought i could have a library in a certain place and
let it stay there and compile it with my program
21:35 < bXi> (i'm very new at this go thing)
21:35 < aiju> "this go thing"
21:37 < bXi> yeah i find the name a bit odd
21:37 < bXi> frustrates googleing a bit
21:37 < aiju> try golang
21:38 < bXi> aah nice
21:38 < aiju> most stuff is either on golang.org or on that cat-v.org anyway
21:39 < aiju> golang.cat-v.org
21:39 < nsf> it's go-lang.cat-v.org
21:39 -!- bmizerany [~bmizerany@204.14.152.118] has joined #go-nuts
21:41 < bXi> i do like it so far tho
21:42 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has joined
#go-nuts
21:46 < uriel> golang.cat-v.org works too
21:46 < uriel> anyway, for searching, try http://go-lang.cat-v.org/go-search
21:46 < aiju> but it lacks a link to gofy.cat-v.org!
21:47 < uriel> heh
21:47 < uriel> shhhhh...  that is still secret ;P
21:50 -!- jkakar [~jkakar@193.153.244.102] has joined #go-nuts
21:52 -!- iant [~iant@nat/google/x-qexynjgjefoqtncl] has quit [Quit: Leaving.]
21:54 -!- nsf [~nsf@jiss.convex.ru] has quit [Quit: WeeChat 0.3.3]
21:58 < aiju> gofmt arranges consts in an ugly way …
21:59 -!- rlab [~Miranda@91.200.158.34] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:03 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has quit [Quit: LeNsTR]
22:04 -!- sauerbraten [~sauerbrat@p508CE4EB.dip.t-dialin.net] has quit [Remote
host closed the connection]
22:07 -!- bortzmeyer [~stephane@2a01:e35:8bd9:8bb0:8586:9f55:196e:857d] has quit
[Quit: Leaving.]
22:09 -!- Venom_X [~pjacobs@75.92.43.21] has quit [Quit: Venom_X]
22:10 -!- iant [~iant@nat/google/x-wcuxvizdlwsnkvnx] has joined #go-nuts
22:10 -!- mode/#go-nuts [+v iant] by ChanServ
22:12 -!- iant [~iant@nat/google/x-wcuxvizdlwsnkvnx] has quit [Client Quit]
22:12 -!- iant [~iant@nat/google/x-tysqiuutqmgdhvcs] has joined #go-nuts
22:12 -!- mode/#go-nuts [+v iant] by ChanServ
22:16 -!- gnoirzox [~gnoirzox@85-170-144-231.rev.numericable.fr] has joined
#go-nuts
22:17 -!- jkakar [~jkakar@193.153.244.102] has quit [Ping timeout: 240 seconds]
22:21 -!- kixo [~kixo@78-1-155-129.adsl.net.t-com.hr] has left #go-nuts []
22:24 -!- _nil [~aiden@c-24-147-65-44.hsd1.ma.comcast.net] has quit [Ping timeout:
240 seconds]
22:31 -!- nettok [~quassel@200.119.172.33] has quit [Ping timeout: 240 seconds]
22:31 -!- _nil [~aiden@c-24-147-65-44.hsd1.ma.comcast.net] has joined #go-nuts
22:33 -!- m4dh4tt3r [~Adium@183.sub-75-208-245.myvzw.com] has joined #go-nuts
22:39 -!- photron [~photron@port-92-201-8-162.dynamic.qsc.de] has quit [Ping
timeout: 276 seconds]
22:40 -!- awidegreen [~quassel@c-eacae555.08-2-73746f39.cust.bredbandsbolaget.se]
has quit [Remote host closed the connection]
22:43 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
Fish]
22:46 -!- quantumelixir [~chillu@203.110.240.41] has quit [Ping timeout: 240
seconds]
22:47 -!- quantumelixir [~chillu@203.110.240.41] has joined #go-nuts
22:52 -!- adu [~ajr@pool-72-83-254-159.washdc.fios.verizon.net] has quit [Quit:
adu]
22:56 -!- binarypie [~binarypie@adsl-99-37-224-204.dsl.pltn13.sbcglobal.net] has
quit [Ping timeout: 264 seconds]
22:58 -!- gnoirzox [~gnoirzox@85-170-144-231.rev.numericable.fr] has quit [Quit:
gnoirzox]
23:04 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Ping timeout: 255 seconds]
23:04 -!- binarypie [~binarypie@adsl-99-185-244-154.dsl.pltn13.sbcglobal.net] has
joined #go-nuts
23:04 -!- binarypie [~binarypie@adsl-99-185-244-154.dsl.pltn13.sbcglobal.net] has
quit [Remote host closed the connection]
23:08 -!- napsy [~luka@88.200.96.18] has quit [Ping timeout: 240 seconds]
23:10 -!- piranha [~piranha@5ED4B890.cm-7-5c.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
23:15 -!- cafesofie [~cafesofie@dhcp-140-254-204-61.osuwireless.ohio-state.edu]
has joined #go-nuts
23:16 -!- ShadowIce` [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
Verlassend]
23:20 -!- wrtp [~rog@92.17.22.246] has joined #go-nuts
23:20 -!- m4dh4tt3r [~Adium@183.sub-75-208-245.myvzw.com] has quit [Ping timeout:
240 seconds]
23:20 -!- wrtp [~rog@92.17.22.246] has quit [Client Quit]
23:28 -!- Tbb__ [~tbb__@HSI-KBW-109-193-104-005.hsi7.kabel-badenwuerttemberg.de]
has quit [Remote host closed the connection]
23:28 -!- m4dh4tt3r
[~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has joined
#go-nuts
23:32 -!- m4dh4tt3r
[~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has quit
[Ping timeout: 250 seconds]
23:37 -!- m4dh4tt3r
[~Adium@75.144.24.109-BusName-walnutcreek.ca.hfc.comcastbusiness.net] has joined
#go-nuts
23:39 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Quit: Skola]
23:39 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has joined #go-nuts
23:43 -!- Skola [~ik@5352A3FB.cm-6-3c.dynamic.ziggo.nl] has quit [Ping timeout:
246 seconds]
23:51 -!- tvw [~tv@e176006041.adsl.alicedsl.de] has quit [Remote host closed the
connection]
23:59 -!- LeNsTR [~lenstr@unaffiliated/lenstr] has joined #go-nuts
--- Log closed Wed Jan 19 00:00:04 2011