--- Log opened Thu May 12 00:00:50 2011
00:00 < saracen> I would be greatful if somebody would point out my mistake
with this equation for calculating S for the SRP protocol.  I've added the test
vectors from the RFC, but I get an incorrect result: http://pastie.org/1891155
00:10 < Kafo> When you calculate t1, shouldn't you have nil instead of N in
the last .Exp(g, x, N) ?
00:10 < Kafo> Because that "% N" is only at the end of the formula, not
after g^x
00:11 < saracen> I've tried, apparently not.  It just locks up when using
nil because the numbers are so large.
00:11 < Kafo> Hmm
00:12 < saracen> I've also tried converting this javascript example of the
algorithm: http://pastie.org/1891179
00:12 < saracen> You'll see it uses mod N twice, too
00:13 < saracen> and that js version works.  My porting of it to go didn't
00:14 < saracen> I've checked to see if it was an endian problem.  But it
isn't, the other equations from the test vectors work
00:15 < Kafo> Check the js values after every equation and check where it
goes wrong?  :o
00:16 -!- whitespacechar [~whitespac@24-176-0-18.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
00:27 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has joined #go-nuts
00:30 -!- Kafo [~Kafo@a91-152-189-15.elisa-laajakaista.fi] has left #go-nuts []
00:31 < saracen> Ah, sorted it now :)
00:31 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
00:31 -!- araujo [~araujo@gentoo/developer/araujo] has joined #go-nuts
00:41 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
00:41 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat
00:55 -!- mikespook [~mikespook@] has joined #go-nuts
01:03 -!- jlaffaye [~jlaffaye@] has quit [Ping timeout: 240 seconds]
01:07 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
01:17 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
01:21 -!- nutate [~rseymour@cacsag4.usc.edu] has quit [Quit: I'm outta heee-eere]
01:24 -!- alc [~arx@] has joined #go-nuts
01:29 -!- alc [~arx@] has quit [Quit: Leaving...]
01:32 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
01:35 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has quit [Ping
timeout: 264 seconds]
01:38 -!- tncardoso [~thiago@] has quit [Quit: bye]
01:39 -!- eiro [~marc@phear.org] has quit [Ping timeout: 276 seconds]
01:40 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
01:43 -!- rl [~rbl@84-74-142-37.dclient.hispeed.ch] has quit [Ping timeout: 248
01:43 -!- NBGuest [~adium@unaffiliated/nbguest] has quit [Quit: leaving]
01:44 -!- NBGuest [~adium@unaffiliated/nbguest] has joined #go-nuts
01:49 -!- NBGuest [~adium@unaffiliated/nbguest] has quit [Quit: leaving]
01:50 -!- rl [~rbl@84-74-142-37.dclient.hispeed.ch] has joined #go-nuts
01:51 -!- eiro [~marc@phear.org] has joined #go-nuts
01:52 -!- keithcascio [~keithcasc@nat/google/x-hqwsfmqsuumvtwjt] has quit [Quit:
01:52 -!- DerHorst [~Horst@e176096154.adsl.alicedsl.de] has quit [Remote host
closed the connection]
01:57 -!- NBGuest [~adium@unaffiliated/nbguest] has joined #go-nuts
01:58 -!- NBGuest [~adium@unaffiliated/nbguest] has quit [Client Quit]
01:58 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
01:59 -!- NBGuest [~adium@unaffiliated/nbguest] has joined #go-nuts
01:59 < dirthead> I'm trying to use gb for the first time and I'm not having
any luck.  Isn't it supposed to figure out the deps and build everything in the
right order?
02:05 -!- NBGuest [~adium@unaffiliated/nbguest] has quit [Quit: leaving]
02:05 -!- NBGuest [~adium@unaffiliated/nbguest] has joined #go-nuts
02:05 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Quit: whitespacechar]
02:07 -!- alc [~arx@] has joined #go-nuts
02:15 -!- alc [~arx@] has quit [Read error: Connection reset by
02:22 -!- Varriount [~Varriount@public-craft.com] has quit [Remote host closed the
02:27 -!- Varriount [~Varriount@public-craft.com] has joined #go-nuts
02:29 -!- gaxxx [~woo@] has quit [Ping timeout: 248 seconds]
02:30 -!- achoo [~anonymous@host-134-71-203-59.allocated.csupomona.edu] has joined
02:32 -!- achoo [~anonymous@host-134-71-203-59.allocated.csupomona.edu] has quit
[Quit: achoo]
02:43 -!- pphalen [~pphalen@] has left #go-nuts []
02:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
02:48 -!- gaxxx [~woo@] has joined #go-nuts
02:53 -!- mikespook [~mikespook@] has quit [Ping timeout: 240
02:54 -!- NBGuest [~adium@unaffiliated/nbguest] has quit [Quit: leaving]
02:55 -!- NBGuest [~adium@unaffiliated/nbguest] has joined #go-nuts
02:55 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
02:56 -!- gtaylor [~gtaylor@71-92-41-8.dhcp.athn.ga.charter.com] has joined
02:57 -!- mikespook [~mikespook@] has joined #go-nuts
02:57 -!- mikespook [~mikespook@] has quit [Client Quit]
02:59 -!- Tonnerre [tonnerre@netbsd/developer/tonnerre] has quit [Ping timeout:
258 seconds]
03:08 < Varriount> Programming language for 3d games
03:08 < Varriount> Blarg, wrong channel
03:17 -!- jhawk28 [~jhawk28@user-387c58d.cable.mindspring.com] has quit [Quit:
Linkinus - http://linkinus.com]
03:31 -!- hellerf [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has joined
03:35 -!- hellerf [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has left #go-nuts
03:36 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
03:37 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined
03:39 -!- fheller [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has joined
03:41 -!- KingPhilroy [~kingphilr@shc-nat-newhall.stonehill.edu] has quit [Ping
timeout: 260 seconds]
03:44 < fheller> Does go have enumerated constants, like in C or Java?  If
not is the best practice 'constant ( ...  = iota ...  )'?  I am building a state
machine and I want to specify the states--in other langs I would use enum.
03:47 < dfc> fheller: i do something like this
03:47 < dfc> type Fooer int
03:47 < dfc> const ( FIRST Fooer = 1 )
03:48 < dfc> iota is also very smart in figuring out those sequences
03:48 < dfc> grep through the source for good examples of its use (its far
to clever for me)
03:48 < fheller> Ah, so for all the "we don't type constants" you can
actually type constants--thanks.
03:49 < dfc> yes ...  (he says cautiously)
03:49 < dfc> contant types are "optional"
03:49 < dfc> others may be able out describe it better
03:50 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has quit [Remote
host closed the connection]
03:50 < dfc> http://golang.org/doc/go_spec.html#Constant_declarations
03:50 < dfc> [Type] is optional
03:50 < fheller> You have answered my question perfectly.  My program will
now be more readable for it.
03:50 < dfc> according to the spec "If the type is omitted, the constants
take the individual types of the corresponding expressions."
03:50 < dfc> which is useful
03:50 < dfc> because you can do something like
03:51 < dfc> const ( SECONDS = 2^6)
03:51 < dfc> then time.Sleep(4 * SECONDS)
03:51 < dfc> without having to declare SECONDS (or 4 for that matter) as a
03:51 < fheller> dfc: Indeed, I agree it's useful (switch precision of
floating point), but I want people (mainly me) to know that these constants are
part of the state machine and that they better get with the program.
03:51 -!- Tonnerre [tonnerre@netbsd/developer/tonnerre] has joined #go-nuts
03:51 < dfc> yup
03:51 < dfc> i have the same requirements
03:52 < dfc> using a typed constant
03:52 < dfc> and declaring a new type
03:52 < dfc> type MyInt int
03:52 < dfc> gets you most of the wya there
03:52 < dfc> but doesn't bound the set of possible values to only those in
the const declaration
03:52 < dfc> someone can always convert a standard int to your new type
03:53 < dfc> switch MyInt(999) { }
03:53 < dfc> possibly making your new type package private, type myInt int
03:53 < dfc> would work in some cases
03:54 < fheller> dfc: Good stuff.  I have to read more on the implicit type
conversions.  I just got started on Go today.
03:55 < dfc> fheller: good to hear, i hope you enjoy it
03:55 -!- gaxxx [~woo@] has quit [Ping timeout: 240 seconds]
03:56 -!- gaxxx [~woo@] has joined #go-nuts
03:56 < fheller> dfc: What I really want is to build web applications.  The
state machine is for a lexer.  I don't like template languages.  One of the
lessons people learned in PHP is that template languages to do complex things are
dumb when you have PHP.  What I want is <?go tags embedded in HTML.  I'm making
a tool to pre-process Go-infested HTML files and turn it into compiled code.
03:57 < dfc> interesting
03:57 < fheller> dfc: Do you know of anything that does this already?
03:57 < dfc>
03:58 < dfc> the word lex has appeared a few times on the mailing list
03:58 < dfc>
03:59 < fheller> dfc: Thanks for the pointer.  I'm checking this out now.  I
feel am close to compiled web pages which will be H A W T.
04:00 < dfc> post it here or to the mailing list
04:01 < dfc> i'm sure there will be others that are intersted to hear it
04:01 < fheller> dfc: I hope so--maybe they can help me find all bugs.
04:06 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Read
error: Operation timed out]
04:06 < gaxxx> Hi all,how could i resize a jpg file?  there is no more
options in jpeg.Encode except quality option...
04:12 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined
04:15 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
04:15 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
04:16 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has joined #go-nuts
04:18 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
04:27 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has left #go-nuts []
04:37 -!- gtaylor [~gtaylor@71-92-41-8.dhcp.athn.ga.charter.com] has quit [Quit:
04:39 -!- foocraft [~ewanas@] has joined #go-nuts
04:43 -!- Bigbear1 [~Cody@d173-181-43-12.abhsia.telus.net] has left #go-nuts []
04:43 -!- tdnrad [~darndt@terminal.research.cs.dal.ca] has quit [Quit: leaving]
04:43 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 260 seconds]
04:44 -!- gaxxx [~woo@] has quit [Ping timeout: 240 seconds]
04:50 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Read error:
Connection reset by peer]
04:50 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
04:53 -!- foocraft [~ewanas@] has quit [Quit: if you're going....to
san.  fran.  cisco!!!]
04:53 -!- foocraft [~ewanas@] has joined #go-nuts
04:57 -!- ExtraSpice [XtraSpice@] has joined #go-nuts
04:58 -!- achoo [~achoo@71-80-179-102.dhcp.wsco.ca.charter.com] has joined
05:03 -!- gaxxx [~woo@] has joined #go-nuts
05:04 -!- krutcha_ [~krutcha@S010600045a27676a.vs.shawcable.net] has joined
05:10 -!- benjack [~benjack@bb220-255-251-155.singnet.com.sg] has joined #go-nuts
05:15 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has quit [Ping
timeout: 260 seconds]
05:16 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 260
05:18 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined
05:18 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
05:26 -!- arun_ [~arun@i172010.upc-i.chello.nl] has joined #go-nuts
05:26 -!- arun_ [~arun@i172010.upc-i.chello.nl] has quit [Changing host]
05:26 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
05:57 -!- aho [~nya@fuld-590c6580.pool.mediaWays.net] has quit [Quit:
05:57 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
06:02 -!- monsieur_max [~monsieur_@] has joined #go-nuts
06:02 -!- nteon [~nteon@c-98-210-195-105.hsd1.ca.comcast.net] has joined #go-nuts
06:05 -!- gaxxx [~woo@] has quit [Ping timeout: 264 seconds]
06:06 -!- gaxxx [~woo@] has joined #go-nuts
06:06 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts
06:08 -!- rlab [~Miranda@] has joined #go-nuts
06:09 -!- Kafo [~Kafo@a91-152-189-15.elisa-laajakaista.fi] has joined #go-nuts
06:12 -!- wrtp [~rog@] has joined #go-nuts
06:21 -!- foocraft [~ewanas@] has quit [Remote host closed the
06:31 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Ping
timeout: 240 seconds]
06:33 -!- roo [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
06:34 -!- czakian [~czakian@c-98-223-184-248.hsd1.in.comcast.net] has joined
06:37 < czakian> hey I am trying to learn go and I am getting an index out
of range error on a slice
06:37 < czakian> the slice is inside a struct
06:37 < czakian> and I am trying to implement a simple stack
06:38 < czakian> and to do a push
06:38 < czakian> I do say
06:38 < czakian> stk.slice[0] = 1
06:38 < czakian> when cap(stk.slice) is 10
06:39 < czakian> however, if I do
06:39 < czakian> slice := stk.slice[0:2]
06:39 < czakian> slice[0] = 1
06:39 < czakian> it will do the assignment with no error
06:39 < czakian> why is this?
06:41 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
06:44 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
06:44 < czakian> code at http://pastie.org/1891993
06:48 < wrtp> czakian: the len is the important thing for assigning to slice
elements, not the cap
06:48 < krutcha_> try changing stk.slice = make([]stack, 0, 10) to stk.slice
= make([]stack, 1, 10)
06:49 < wrtp> czakian: BTW, you can easily implement push as: stk.slice =
append(stk.slice, elem)
06:50 < wrtp> then pop is: func (s *stk) pop() item {i :=
s.slice[len(s.slice)-1]; s.slice = s.slice[0:len(s.slice)-1]; return i}
06:50 < czakian> nice that worked
06:50 < czakian> oh cool that makes sense
06:51 < czakian> thanks a lot krutcha_ and wrtp
06:51 < wrtp> np
06:51 < fheller> exit
06:51 < fheller> Oh man, too tired, sorry
06:51 -!- fheller [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has quit [Quit:
06:52 -!- czakian [~czakian@c-98-223-184-248.hsd1.in.comcast.net] has quit [Quit:
06:52 * vegai just learned about http://camlistore.org
06:52 < vegai> n i c e
06:54 -!- Squeese [~squeese@] has joined
06:59 -!- rlab [~Miranda@] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
07:03 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
07:03 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Remote
host closed the connection]
07:04 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
07:05 -!- hallas [~hallas@x1-6-30-46-9a-b2-c5-1f.k891.webspeed.dk] has joined
07:08 -!- mikespook [~mikespook@] has joined #go-nuts
07:12 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has quit [Read error:
Connection reset by peer]
07:14 -!- Squeese [~squeese@] has quit
[Remote host closed the connection]
07:24 -!- virtualsue [~chatzilla@nat/cisco/x-dunbwkfexrwkefxi] has joined #go-nuts
07:27 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has quit [Ping
timeout: 264 seconds]
07:35 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-rrtfxymhugeyqacz]
has joined #go-nuts
07:41 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
07:49 -!- alc [~arx@] has joined #go-nuts
07:49 -!- alc [~arx@] has quit [Remote host closed the connection]
07:49 -!- Squeese [~squeese@] has joined
07:50 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 240
08:06 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts
08:08 -!- Sake [~Sake@] has joined #go-nuts
08:08 < Sake> Hi everybody
08:09 < Sake> Does someone know how many maximum return can we have in a
function ?
08:16 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Ping timeout: 264
08:16 -!- Sake [~Sake@] has quit [Quit: Lost terminal]
08:20 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has joined #go-nuts
08:22 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-125.clienti.tiscali.it] has
joined #go-nuts
08:25 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
08:28 < Kafo> Sake: I don't think there's a defined max.
08:32 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-rrtfxymhugeyqacz]
has quit [Ping timeout: 240 seconds]
08:34 -!- cenuij [~cenuij@] has joined #go-nuts
08:34 -!- cenuij [~cenuij@] has quit [Changing host]
08:34 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
08:54 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
joined #go-nuts
08:59 -!- achoo [~achoo@71-80-179-102.dhcp.wsco.ca.charter.com] has quit [Quit:
09:22 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-ygrxgszwnzjcxkfb]
has joined #go-nuts
09:26 -!- mikespook [~mikespook@] has quit [Quit: Leaving.]
09:30 -!- gm_ [~gmurphy@203-214-86-6.dyn.iinet.net.au] has joined #go-nuts
09:34 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-ygrxgszwnzjcxkfb]
has quit [Ping timeout: 240 seconds]
09:50 -!- genbattle [~nick@203-173-207-1.dialup.ihug.co.nz] has joined #go-nuts
09:57 -!- virtualsue [~chatzilla@nat/cisco/x-dunbwkfexrwkefxi] has quit [Ping
timeout: 252 seconds]
10:03 -!- Kafo [~Kafo@a91-152-189-15.elisa-laajakaista.fi] has quit [Remote host
closed the connection]
10:04 -!- benjack [~benjack@bb220-255-251-155.singnet.com.sg] has quit [Quit:
10:10 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-tfjqrevwohlvjbiy]
has joined #go-nuts
10:12 -!- Belg [~kim@2a01:2b0:301d:100:e2cb:4eff:fecd:72d2] has joined #go-nuts
10:13 -!- Sep102__ [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has quit [Read
error: Connection reset by peer]
10:15 -!- brtk [~brtk@c83-248-35-158.bredband.comhem.se] has quit [Ping timeout:
240 seconds]
10:17 -!- alanliang [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has quit
[Ping timeout: 240 seconds]
10:17 -!- alanliang [~yogafire@c-71-204-189-190.hsd1.ca.comcast.net] has joined
10:20 -!- Squeese [~squeese@] has quit
[Remote host closed the connection]
10:25 -!- Squeese [~squeese@] has joined
10:28 -!- GeertJohan [~Squarc@clal-0-227.eduroam.inholland.nl] has joined #go-nuts
10:30 -!- gmrph [~gmurphy@203-214-86-6.dyn.iinet.net.au] has quit [Quit:
10:34 -!- merijn [~merijn@] has joined #go-nuts
10:36 -!- Squeese [~squeese@] has quit
[Remote host closed the connection]
10:36 < merijn> Do functions which return multiple values just return a
tuple (like you would in most functional languages or python) and if so can you
use those in other contexts too, or is the entire thing handled as a special case
for functions?
10:36 < Namegduf> No.
10:36 < Namegduf> Go does not have tuples.
10:37 < vegai> wut
10:37 < genbattle> go just has arrays and slices
10:37 < Namegduf> It's not returning a single value but wrapping multiple
values, it's actually returning multiple values.
10:38 < vegai> ah
10:38 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-tfjqrevwohlvjbiy]
has quit [Ping timeout: 240 seconds]
10:38 < merijn> All the examples only show 1 or 2 return values, but I
assume it's possible to return more then 2 as well, right?
10:38 < Namegduf> Yes.
10:39 -!- pamera [~Pam@c-76-102-255-99.hsd1.ca.comcast.net] has joined #go-nuts
10:39 < merijn> ok, back to reading.  Thanks :)
10:41 < cenuij> adg: please see 1st comment on vid for "I/O BootCamp 2011:
Real World Go" http://www.youtube.com/watch?v=7QDVRowyUQA
10:49 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-154-175.clienti.tiscali.it] has
joined #go-nuts
10:50 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has quit [Remote
host closed the connection]
10:52 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-177-125.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
10:53 -!- boscop_ [~boscop@f055115018.adsl.alicedsl.de] has joined #go-nuts
10:56 -!- boscop [~boscop@f050134104.adsl.alicedsl.de] has quit [Ping timeout: 240
10:57 -!- phoeton [~phoeton@p579BD346.dip.t-dialin.net] has joined #go-nuts
10:57 < phoeton> Hey guys!
11:05 -!- virtualsue [~chatzilla@nat/cisco/x-aifahvxlpgeixgld] has joined #go-nuts
11:07 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
11:17 -!- Stiletto [7f000001@] has quit [Ping timeout: 240 seconds]
11:17 -!- phoeton [~phoeton@p579BD346.dip.t-dialin.net] has quit [Quit: phoeton]
11:19 < merijn> Am I correct in understanding that pointers are
automagically dereferenced where a value was expected?  Or is that just for method
calls and dereferencing struct members?
11:20 -!- gaxxx [~woo@] has quit [Ping timeout: 252 seconds]
11:23 < genbattle> merijn: I know you still have to dereference the pointer
when passing it into a function that expects a value
11:23 < genbattle> it doesn't connect the dots for you on that one
11:26 < merijn> I'm still a bit vague on what exactly the differences
between methods and functions are in Go? I don't see it mentioned in the
tutorial/Effective Go?
11:26 -!- Stiletto [7f000001@] has joined #go-nuts
11:26 < genbattle> methods are functions which are members of a struct
11:27 < genbattle> so a method is something like my_struct.my_func()
11:27 < genbattle> whereas a function would just be something like
my_func(), or my_package.my_func()
11:30 -!- plainhao [~plainhao@] has joined #go-nuts
11:33 < genbattle> http://golang.org/doc/effective_go.html#methods
11:33 -!- fabled [~fabled@] has joined #go-nuts
11:41 -!- adg [~nf@2001:470:21:20::4444:61d9] has quit [Read error: Operation
timed out]
11:43 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
11:44 -!- gm__ [~gmurphy@203-214-86-6.dyn.iinet.net.au] has joined #go-nuts
11:53 < exch> a method can be defined on any type.  It doesnt have to be a
struct.  eg: type MyInt int; func (m MyInt) Foo() {}
11:53 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
11:57 -!- tncardoso [~thiago@] has joined #go-nuts
11:59 -!- adg_ [~nf@2001:470:21:20::4444:61d9] has joined #go-nuts
11:59 -!- mode/#go-nuts [+o adg_] by ChanServ
12:01 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-xznxcvolenwtusky]
has joined #go-nuts
12:04 -!- tvw [~tv@] has joined #go-nuts
12:15 < wrtp> merijn: the main difference is that methods can be used to
make a type satisfy an interface, whereas functions cannot
12:17 < Namegduf> Yes.
12:18 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
12:22 < merijn> wrtp: Yeah, I know that.  But I didn't see any clear example
of the difference between defining one and the other
12:23 < wrtp> merijn: you define a method like: func (t SomeType)
MyMethod(args ArgTypes)
12:23 < wrtp> you define a function like: func MyFunction(args ArgTypes)
12:23 < merijn> Ah, right
12:23 < wrtp> oops i forgot the return type off both of those
12:23 < wrtp> (it's the same syntax in both)
12:24 < wrtp> SomeType is the type you're defining a method on
12:24 < wrtp> it must be a type you've defined in the same package
12:24 -!- drhodes [~none@drhodes.xen.prgmr.com] has quit [Ping timeout: 260
12:24 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Ping timeout:
260 seconds]
12:24 < merijn> And I'd call it like "var foo SomeType; foo.MyMethod()"?
12:25 -!- genbattle [~nick@203-173-207-1.dialup.ihug.co.nz] has quit [Quit:
12:25 < merijn> It has to be in the same package, or just in scope?
12:26 < hallas> same package
12:26 < merijn> That's a shame
12:27 < merijn> There's no local/nested functions, I see?
12:29 < hallas> There is, in the sense that you can easily define func (f
float) Abs(...) bla bla and func FloatAbs(...) bla bla bla
12:30 < hallas> You can have closures as well
12:30 < hallas> And a function with a capitalized name is public to the
package, while a none capitalized function is private.
12:31 < hallas> Hearing Andrew Gerrand talking about Go is like Flight of
the Conchords talking about programming!
12:32 -!- drhodes [~none@drhodes.xen.prgmr.com] has joined #go-nuts
12:32 < merijn> Yeah, I was playing around a little example interpreter on
the go site, which complained when I tried to define a local function, but
Effective Go did show an anonymous closure for use with goroutines.  So I guess
I'll just have to examine the spec about the exact details
12:33 < hallas> Go has extremely good documentation if you ask me
12:34 < hallas> It's open source, the language design speccs are there
including the grammar, you have the memory model, the package documentation and
the getting started.  And + that you also have the Effective Go which is quite
amazing + a ton of various tutorials and smaller documents
12:34 < hallas> So just get going :-)
12:38 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts
12:41 -!- rphillips [~rphillips@unaffiliated/rphillips] has quit [Read error:
Operation timed out]
12:41 -!- gm__ [~gmurphy@203-214-86-6.dyn.iinet.net.au] has quit [Quit: zzzzzz...]
12:42 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-xznxcvolenwtusky]
has quit [Ping timeout: 240 seconds]
12:42 -!- rphillips [~rphillips@unaffiliated/rphillips] has joined #go-nuts
12:43 -!- |Craig| [~|Craig|@panda3d/entropy] has joined #go-nuts
12:44 -!- cenuij [~cenuij@base/student/cenuij] has quit [Quit: kde 4.6.3 \o/]
12:44 < wrtp> merijn: you can define a local function like f := func(...) {
...  } if you want.
12:44 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has joined #go-nuts
12:44 < wrtp> it's worth it only if it uses some local variables
12:48 -!- cenuij [~cenuij@] has joined #go-nuts
12:48 -!- cenuij [~cenuij@] has quit [Changing host]
12:48 -!- cenuij [~cenuij@base/student/cenuij] has joined #go-nuts
12:49 < jeremy_c> "cannot use cArgs (type []*_Ctype_char) as type
**_Ctype_char in function argument" ...  what is wrong?  I would think they are
the same type?
12:50 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
12:52 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
12:53 < hallas> Clearly they're not :-)
12:54 < jeremy_c> In C they would be.  The question is how to I make them
the same in Go.
12:54 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Ping timeout: 240 seconds]
12:54 < hallas> Lets see some code
12:55 < hallas> Cant tell you from that error alone
12:56 < jeremy_c>
https://github.com/jcowgar/iup.go/blob/master/iup/common.go#L57 ...  That creates
the array for me from a Go []string
12:57 < jeremy_c>
https://github.com/jcowgar/iup.go/blob/master/iup/layout.go#L40 ...  That is where
I am trying to call the function.  The function is defined at the top of the file.
12:58 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined
12:58 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
13:00 < wrtp> jeremy_c: &cArgs[0]
13:00 < jeremy_c> hallas: the actual function that I want to call is
IupCreatev(const char *classname, void **params) ..  params is always strings.  I
had difficulty getting a typecast from []*C.char to void** so I tried an
intermediate function, one I created _IupCreatev.  In the perfect situation I'd
call IupCreatev directly.
13:00 < wrtp> (make sure that there's at least one element in cArgs before
doing that though)
13:01 < hallas> give me a sec while I finish thís game :-)
13:02 < jeremy_c> wrtp: great!  hallas got it working.  Can call IupCreatev
directly: C.IupCreatev(cClassname, (*unsafe.Pointer)(unsafe.Pointer(&cArgs[0])))
13:02 < jeremy_c> wrtp: &cArgs[0] did the trick to making it all work.
13:03 < str1ngs> tav: ping
13:04 < hallas> jeremy_c: great, i can see why aswell :-)
13:04 < jeremy_c> str1ngs: oh!  I got that function working.
https://github.com/jcowgar/iup.go/blob/master/iup/dialog.go#L27 and line 171
13:05 < str1ngs> jeremy_c: ah nice, I'll check it out
13:06 < jeremy_c> *I* being wrtp telling me how/what to do :-)
13:07 < str1ngs> ok so you use an array of unsafe.Pointer's
13:07 < str1ngs> maxArgs where does that come from?
13:08 < str1ngs> const nvm I see it
13:08 < str1ngs> jeremy_c: this is good I think this should solve my problem
13:09 < jeremy_c> yeah, it's not very clear...  :-(
13:09 < str1ngs> it is I just wasnt looking
13:09 < jeremy_c> str1ngs: great.  What exactly does your product do?  I saw
it is dealing with git, that's all.
13:09 < str1ngs> I'm makeing a wrapper to libgit2
13:09 -!- Kafo [~Kafo@a91-152-189-15.elisa-laajakaista.fi] has joined #go-nuts
13:09 < jeremy_c> ah, ok...  cool.
13:10 < str1ngs> its not very complete yet but it can do some basic things
13:10 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-mofjddlxsfvpmsnm]
has joined #go-nuts
13:10 < str1ngs> init a repository , stage files to the index
13:12 < hallas> The go type system is so damn inspiring
13:12 < hallas> Love it
13:15 < xyproto> agreed
13:15 < xyproto> \o/
13:18 -!- rejb [~rejb@unaffiliated/rejb] has quit [Disconnected by services]
13:18 -!- rejb [~rejb@unaffiliated/rejb] has joined #go-nuts
13:19 -!- Niedar [~bleh@ip68-99-166-222.hr.hr.cox.net] has joined #go-nuts
13:19 < taruti> the type system is somewhat depressing
13:22 < wrtp> taruti: why so?
13:22 < wrtp> because it doesn't have universal types?
13:22 < Namegduf> On onehand, it's simple and limited.  On the other, the
*point* is to effectively express algorithms and functionality, not spend time
mucking with metafuckery
13:22 < Namegduf> So a complex type system would probably be
13:23 < taruti> wrtp: lack of parametrized types
13:23 < hallas> Namegduf: whats the other hand?
13:23 < hallas> Oh
13:23 < hallas> Nvm ;)
13:24 < wrtp> taruti: thought so.  but the language is very useful as is,
and it would be so easy to ruin it with a bad choice of syntax or semantics
13:24 < wrtp> i haven't seen a remotely decent proposal for implementing
parameterized types in go yet
13:25 < taruti> I know the semantics are hard, but currently it is very hard
to write nice combinators
13:25 < gmilleramilar> wrtp: can you summarize your objections to any
existing proposals?
13:25 < Namegduf> I don't know what a combinator is, but I doubt it's a kind
of application
13:25 < wrtp> taruti: you don't need to write higher order programs :-)
13:25 < Namegduf> :P
13:25 < Namegduf> It's also hard in Go to write object hierarchies
13:25 < wrtp> gmilleramilar: they don't integrate current interfaces well
13:26 < gmilleramilar> meaning they would require rewrites of existing code
or changes to the spec?
13:26 < Namegduf> Is it actually feasible to "summarise objections" to *all*
existing proposals as one thing?
13:26 < Namegduf> I mean surely you'd have to have a specific proposal to
13:26 < Namegduf> Most requests for "generics plz" never even reach the
point of a proposal to examine
13:26 < jnwhiteh> clearly you need more superpowers
13:27 < gmilleramilar> ok then name a few and give your objections :)
13:27 < wrtp> Namegduf: put it this way: i haven't yet seen a single
proposal that addressed that issue well
13:28 < wrtp> gmilleramilar: meaning they wouldn't work well alongside
interfaces - the two concepts must be "meet in the middle" for generics to be
truly orthogonal
13:29 < wrtp> every generics proposal i've seen is a straight rip off some
existing language.
13:29 < wrtp> and go is a bit different
13:30 < merijn> Namegduf: A combinator is just an abstract concept of "thing
which can be combined".  For example a parser combinator library would let you
construct a syntax parser by combining lots smaller parsers to create a more
complex one.  (As opposed to, for example, (f)lex where you have to define the
entire thing in one go)
13:30 < taruti> wrtp: I think ml-style parametrized modules could be sane
13:31 < hallas> Point is
13:31 < wrtp> taruti: but parameterized modules aren't great without
parameterized functions and types too...
13:31 -!- rj_ac [~rj_ac@c-24-0-154-1.hsd1.pa.comcast.net] has joined #go-nuts
13:31 < wrtp> and you've still got to say how generic types interact with
13:32 < wrtp> if i convert a parameterized type to interface{}, what's it's
concrete type?
13:32 < merijn> To be fair, I don't think Go (as far as I've seen it so far)
is that suited to parameterized types and such
13:33 < hallas> Alot of the generics or what most people would agree is
delicious in other languages probably already have been examined for
implementation in Go. And was deemed not needed.  So you really have to look at
completely new ways of doing things if they're to be added in go
13:33 < wrtp> merijn: i think it could work
13:33 < Namegduf> merijn: Right, it's an abstract concept
13:33 < taruti> wrtp: in that way the types would be unparametrized
13:33 < Namegduf> Go is not a language for the expression of abstract
13:33 < Namegduf> That would be English
13:33 < Namegduf> That was my point
13:33 < Namegduf> It being hard to express a given abstract concept doesn't
mean anything for its ability to do its job
13:34 < merijn> All programming languages are by definition for expressing
abstract concepts...
13:34 < Namegduf> Not arbitrary abstract concepts.
13:34 < Namegduf> I would say "for expressing algorithms"
13:34 < wrtp> taruti: what about func X[T](t T) {var x interface{} = t; t =
x.(T) } ?
13:34 < Namegduf> Some languages may focus on other areas, I guess
13:35 < Namegduf> But that doesn't mean all languages do.
13:35 < wrtp> taruti: if the types are unparameterized by putting them in an
interface, you can't get them out again
13:35 < merijn> Namegduf: The point is that combinators can be a more
convenient way of expressing an algorithm
13:35 < wrtp> and if you can, you've broken the type system
13:35 < Namegduf> merijn: In Go, apparently not.
13:35 < Namegduf> merijn: That says nothing about whether there is a
convenient way to express that algorithm in Go.
13:35 < Namegduf> Just that combinators aren't it.
13:36 < wrtp> merijn: naah, programming languages are for doing stuff
13:36 < Namegduf> Actual problems which are hard to express are interesting
13:36 < wrtp> merijn: abstract concepts are just a way of going about it
13:36 < taruti> wrtp: yeses, one can because the *module* would be the unit
of parametrization
13:36 < Namegduf> An inability to express an algorithm through a given
method isn't
13:36 < Namegduf> Languages which try to make every approach possible turn
into C++ and Ruby
13:36 < merijn> Namegduf: I agree, I don't particularly think Go needs
combinators or higher-order programming, mostly because I don't think its suited
as a high level language anyway
13:37 < wrtp> taruti: what level does a module come at?  package level?
13:38 < taruti> wrtp: package
13:38 < hallas> Lets see some actual concepts in Go where some other
abstraction could make things easier
13:38 < merijn> Which is fine, we have plenty of decent high level languages
at the moment.  It's sane systems languages which are lacking, in which case it
seems an excellent option.  More convenient then C at a slight decrease in
13:39 < wrtp> taruti: i think you'd get the same problem at package level
13:39 < Namegduf> merijn: Sounds good to me.
13:39 < jeremy_c>
https://github.com/timtadh/goplay/blob/master/generic_stack/stack/stack.go ...  an
example of "generics"
13:39 < wrtp> taruti: if assigning to an interface loses the
parameterisation, you can never get the value back
13:40 < Namegduf> I find Go is good at writing things quickly, as well as
safely, and so would just use it as a good combination of both for "high level"
13:40 < Namegduf> But I can see that it isn't optimised for some things that
some languages are, like prototyping or generic type...  stuff doing.
13:43 < wrtp> taruti: you can often do generic-like stuff with reflect -
even though you don't get the type checking at compile time, you can often type
check up front so you get any error when the program starts
13:44 < wrtp> taruti: here's an example of the kind of thing i mean:
13:44 < wrtp> netchan is another example
13:46 < taruti> reflect is an ugly way to do it
13:48 < wrtp> taruti: it works though
13:49 -!- jbooth1 [~jay@] has joined #go-nuts
13:53 -!- nictuku [~nict@unaffiliated/nictuku] has joined #go-nuts
13:55 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has joined
13:58 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-mofjddlxsfvpmsnm]
has quit [Ping timeout: 240 seconds]
13:59 -!- whitespacechar_ [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
joined #go-nuts
13:59 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Read error: Connection reset by peer]
14:00 -!- pharris [~Adium@rhgw.opentext.com] has joined #go-nuts
14:01 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-xczquhdyhpxjbdpg]
has joined #go-nuts
14:06 < nictuku> tabby is pretty cool.  definitely worth having a look.
14:07 -!- halfwavedipole
[~halfwaved@ppp118-210-34-126.lns20.adl2.internode.on.net] has joined #go-nuts
14:08 < jeremy_c> nictuku: what do you really like about it?  I use
MicroEmacs myself but am a sucker for trying new editors :-/
14:08 < nictuku> I'm pretty resistant to new editors, as most people are.
So I'm not switching to tabby yet.
14:09 < nictuku> the main thing it helps for me is:
14:09 < nictuku> go projects usually have many many files.  tabby lets you
open all files recursively in the directory, and switching between them is super
14:10 < nictuku> it also has helper shortcuts like 'gofmt' and 'gofmt all'
14:10 < nictuku> and that's it, it's pretty simple.
14:13 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has joined #go-nuts
14:13 < Kafo> I'm using gedit and I think consider changing to something
else all the time.
14:13 -!- halfwavedipole
[~halfwaved@ppp118-210-34-126.lns20.adl2.internode.on.net] has quit [Quit:
14:13 -!- merijn [~merijn@] has left #go-nuts []
14:13 -!- dolch [~ftw@CPE002584096773-CM78cd8e5c9ddd.cpe.net.cable.rogers.com] has
quit [Quit: leaving]
14:14 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 252 seconds]
14:14 < jnwhiteh> I like vim, and Vico seems pretty interesting, basically a
vim editor slapped into a more mac os x interface
14:14 < jnwhiteh> but I can use my vim configuration anywhere, so I stick
with it :p;
14:14 * jnwhiteh hugs gofmt -r
14:15 < jeremy_c> I have not found an editor better than microemacs.
http://jeremy.cowgar.com/files/microemacs-go.png is an example of what my screen
looks like right now.
14:16 < Kafo> Vim sounds good because it seems quite effective (at least in
hands of experienced user) and I could use it at school too.
14:16 < jeremy_c> To format my file, I do C-x # gofmt, but I suppose I can
make a function for it.
14:16 < skelterjohn> gb -F
14:16 < skelterjohn> O:-)
14:16 < jeremy_c> skelterjohn: I have not tried gb yet, but will be soon!
14:16 -!- iTonnerre [~tonnerre@ec2-79-125-90-109.eu-west-1.compute.amazonaws.com]
has quit [Quit: WeeChat 0.3.4]
14:17 < skelterjohn> cool
14:17 < nictuku> jeremy_c, nice screenshot
14:17 < jeremy_c> However...  my mode for microemacs smartly indents the
code, so I rarely have to work with gofmt.  If anyone wants my go mode for
MicroEmacs, it can be had at https://github.com/jcowgar/dotmicroemacs
14:17 < nictuku> what's gb?
14:18 < skelterjohn> http://go-gb.googlecode.com
14:18 < jnwhiteh> jeremy_c: is it worth committing it to the misc directory?
14:18 < skelterjohn> how does it differ from the go mode for regular emacs?
14:19 -!- bortzmeyer [~bortzmeye@batilda.nic.fr] has quit [Quit: Leaving.]
14:23 -!- oal [~oal@5.79-160-122.customer.lyse.net] has joined #go-nuts
14:23 < oal> Was there any talks on Go at Google io 2011?
14:24 < jnwhiteh> yep, there was 'Real World Go' and a few others, afaik,.
14:24 < jeremy_c> jnwhiteh: I think so.  I may clean some things up if it's
going into go.
14:24 < Kafo> Real World Go was the only one I saw.
14:24 < oal> Any live streamed / available on youtube?
14:24 < Kafo> Few mentions here and there though.
14:24 < jnwhiteh> available on youtube
14:24 < Kafo> Real World Go is on YT
14:24 < jeremy_c> skelterjohn: it really has very, very little in common
with Emacs.  No lisp at all.  It has it's own macro language.
14:24 < oal> Great, thanks guys.  :)
14:25 < Kafo> oal: http://www.youtube.com/watch?v=7QDVRowyUQA
14:25 < oal> Kafo, found it :-)
14:25 < jeremy_c> jnwhiteh: it supports go syntax highlighting, function
browsing/navigation, automatic (and smart) indentation and code formatting for Go
source files.
14:26 < jeremy_c> um, I meant code folding...  i.e.  collapse/expand
functions, types, ...
14:26 < jnwhiteh> very nice =)
14:27 * jeremy_c thinks microemacs is a hidden treasure that not many people know
14:31 < jeremy_c> oh, abbr expansions, such as funcTAB, ifTAB, ...  if X {
...  } ...  ok, I'll quit talking about microemacs now :-)
14:32 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Read error:
Connection reset by peer]
14:32 < Kafo> Reminds me of that zen coding stuff.
14:32 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
14:32 -!- neary [~Near@unaffiliated/neary] has joined #go-nuts
14:32 < neary> Hello
14:32 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has quit [Ping
timeout: 246 seconds]
14:37 < jeremy_c> jnwhiteh: how would one go about getting the mode into
go/misc ?
14:39 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has joined
14:39 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
14:39 < jnwhiteh> jeremy_c: you just open a new CL for it, its pretty simple
14:40 < freetz> has reflect.NewValue behavior changed lately?
14:40 < wrtp> freetz: yes
14:40 < jeremy_c> new CL?
14:40 < wrtp> freetz: the whole reflect API has changed
14:40 < freetz> how so?
14:40 < jnwhiteh> jeremy_c: http://golang.org/doc/contribute.html
14:40 < jeremy_c> jnwhiteh: thanks.
14:40 < jnwhiteh> its a pretty simple change, actually
14:40 < wrtp> freetz: it's moved away from different Value types
14:40 < wrtp> now there's only one type
14:41 < freetz> hrm...
14:41 < wrtp> freetz: you can run gofix on your code to change it
14:41 < wrtp> it worked ok on my code
14:41 < freetz> alright let's see...
14:43 < freetz> well i'll be
14:43 < freetz> thanks wrtp
14:43 < wrtp> did it work?
14:43 < freetz> yep, passed tests too
14:44 < wrtp> cool
14:44 < wrtp> gofix ftw
14:44 < skelterjohn> good tool
14:50 < dirthead> Isn't gb supposed to auto-determine deps and build them?
14:50 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has quit [Quit:
14:50 < neary> who is interested in building a new go widget toolkit ?
14:51 < wrtp> neary: on top of what?
14:56 < neary> wrtp, Wayland
14:57 < wrtp> neary: nice if it could work with exp/draw
14:57 < jeremy_c> neary: wayland?
14:57 < wrtp> http://en.wikipedia.org/wiki/Wayland_(display_server_protocol)
14:57 < wrtp> i presume
14:57 < wrtp> i hadn't heard of it before
14:58 < jeremy_c> ah, ok.  so a widget toolkit from scratch...
14:59 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
15:01 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Read error:
Connection reset by peer]
15:01 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
15:02 -!- fabled [~fabled@] has quit [Quit: Ex-Chat]
15:03 < wrtp> neary: i think it's a great idea
15:04 < wrtp> getting the model right is crucial though
15:04 -!- rlab [~Miranda@] has joined #go-nuts
15:05 < wrtp> i did some experiments (rog-go.googlecode.org/hg/canvas) but
it needs more thought
15:06 < aiju> i've had some ideas for a widget toolkit
15:06 < aiju> first of all: NO CALLBACKS
15:06 < aiju> second: NO EVENT LOOP
15:06 -!- dolch [~ftw@] has joined #go-nuts
15:07 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has quit
[Ping timeout: 276 seconds]
15:08 < wrtp> aiju: that sounds like the inverse of an idea to me
15:09 < aiju> haha
15:09 < aiju> well, use channels
15:09 < wrtp> i.e.  you've said what you're not going to do, not what you
*are* going to do
15:09 < wrtp> (BTW my experiments didn't have callbacks or a central event
15:09 < aiju> isn't it obvious?
15:09 < wrtp> no
15:09 < wrtp> it's not
15:09 < aiju> after all, this is go ;P
15:09 < wrtp> there are many ways to architect such a system
15:09 -!- bubb [~AndChat@S01065cd9985ba2e7.va.shawcable.net] has joined #go-nuts
15:10 < wrtp> and if you hook up channels in arbitrary topologies, you'll
15:12 < Namegduf> "No event loop" is kinda unrealistic
15:12 < Namegduf> How're you going to handle input from the OS?
15:12 < Namegduf> It has to have one internally
15:12 < aiju> Namegduf: i'm talking about the interface
15:13 < aiju> not the horrible mess it has to do internally to talk to X11
or so
15:13 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-xczquhdyhpxjbdpg]
has quit [Ping timeout: 240 seconds]
15:13 < Namegduf> Provide functions to get a channel hooking on stuff,
provide functions to do stuff
15:13 < Namegduf> Seems simple enough
15:14 < Namegduf> (You have to do the former rather than just do channels,
because channels do not do multireader in a way this can handle)
15:14 < Namegduf> (Well, you could just export channels, but the user would
HAVE to read from them all, and they would have to handle multiple readers
15:15 < aiju> buttonchan := NewButton(coordinatesandshit)
15:15 < Namegduf> Sure
15:15 < Namegduf> Looks nice.
15:15 < Namegduf> I like it.
15:19 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
15:19 -!- cenuij [~cenuij@base/student/cenuij] has quit [Remote host closed the
15:20 < wrtp> Namegduf: the key is *an* event loop, not *the* event loop
15:21 < wrtp> Namegduf: i wrote the "values" package to make it easy to do
multireader stuff in a gui
15:21 < wrtp> better than using callbacks, i think
15:21 < exch> the channels still require a higher level event loop to be
present.  One that polls the billion channels you get from all the controls
15:21 < jeremy_c> How does one create a C unsigned char ? C.char is easy,
but "C.unsigned char" I don't think is going to work :-)
15:22 < wrtp> jeremy_c: you could try C.uchar
15:22 < exch> jeremy_c: try C.unsigned_char or C.uchar not sure which one it
15:22 < jeremy_c> wrtp: exch: thanks.  will give both a go.  I'm almost done
with the Iup library :-)
15:22 < wrtp> exch: i'm not sure that a single thing needs to wait for all
those channels
15:23 < exch> something has to check if the buttonor any other control in a
form fires an event
15:23 < wrtp> exch: what if there's a dedicated goroutine that connects the
button to other code
15:23 < wrtp> ?
15:24 -!- dirthead [~chatzilla@] has quit [Ping timeout: 258 seconds]
15:24 < wrtp> or if the button sets a "variable" that can be read by any
15:24 < exch> that goroutine will need to poll the channel.  and thus is an
event loop.  and you'd need one of those for all controls, or pol all cntrols in
that same goroutine
15:24 < wrtp> yeah, of course you need loops dealing with events
15:25 < wrtp> but the conventional design is to have a *single* such loop
15:25 < wrtp> which makes things more complex because you can't have widgets
with a simple control flow
15:25 < wrtp> for {waitForSomethingToHappen(); doSomething()}
15:25 < exch> Is it really worth the creation of all the channels (and
potentially many goroutines), just to be able to break a single eventloop up?
15:26 < aiju> 17:25 < exch> the channels still require a higher level
event loop to be present.  One that polls the billion channels you get from all
the controls
15:26 < aiju> haven't you heard of "select" and "goroutines"?
15:26 < exch> of course
15:26 < wrtp> exch: i don't know.  i think so.
15:26 < wrtp> exch: it can simplify UI code a lot
15:26 -!- dirthead [~chatzilla@68-116-31-34.static.yakm.wa.charter.com] has joined
15:27 < exch> possibly, yes.  I'm just wondering if it's a worthwhile
simplification.  prolly worth doing some testing and getting same hard data on
15:27 < exch> Go's channel.goroutine model is an elegant fit for this, but
it would be a shame if it comes at a sizable cost
15:27 < aiju> what?
15:27 < wrtp> exch: i've been toying with an idea for an architecture that
doesn't require a goroutine per widget, although you can have one if you want
15:28 < aiju> are you talking about a possible 5% increase in button
15:28 < wrtp> aiju: it does depend how many widgets there are
15:28 -!- piranha [~piranha@5ED42E59.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
15:28 < aiju> what kind of UI has thousands of buttons?
15:28 < wrtp> but it's very quick to fire up 1000 or so goroutines, so it
shouldn't matter too much
15:29 < exch> aiju: there's the memory footprint of the channels and
goroutines.  It might not matter much at all.  In which case it would be a nice
solution.  I'm just saying that one shouldn't just assume stuff like that in this
15:30 < wrtp> teardown makes goroutines a little harder
15:30 < aiju> "teardown"?
15:30 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has joined #go-nuts
15:30 < aiju> just look at how much memory a simple Qt app takes
15:31 < skelterjohn> dirthead: oops - sorry, i closed my laptop as you asked
15:31 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has joined #go-nuts
15:31 < skelterjohn> yes - gb does source analysis to determine the
dependency graph
15:31 -!- unofficialmvp [~dev@94-62-164-227.b.ipv4ilink.net] has left #go-nuts []
15:31 < wrtp> aiju: when you change pages or whatever, and have to tell all
the goroutines to go away
15:32 < dirthead> skelterjohn: ok, I'm doing something wrong then, because
it fails with can't find import error
15:32 < wrtp> aiju: BTW it's not uncommon for a UI to have thousands of
widgets.  web pages are a good example.
15:32 < exch> that could be a logistical nightmare as far as signalling is
15:32 < wrtp> exch: depends how you do the signalling
15:32 < skelterjohn> dirthead: pastebin what it tells you?
15:32 < exch> true
15:32 < aiju> wrtp: web browsers are horrible anyway
15:32 < skelterjohn> and also pastebin what "gb -S" reports
15:33 < skelterjohn> aiju: do you think anything is "good"?
15:33 < wrtp> aiju: well, that's a useful answer then
15:33 < aiju> well, designing a tool to do anything is a bad idea
15:33 < dirthead> skelterjohn: http://pastebin.com/wq4E0g8z
15:33 < aiju> shell scripts aren't bad just because you can't write an OS
kernel in them
15:34 < skelterjohn> dirthead: ah - gb doesn't do relative imports
15:34 < aiju> skelterjohn: yeah, we've been over this over 9000 times
15:34 < dirthead> oh
15:35 < skelterjohn> dirthead: just import it with the path you use to get
from where you run gb to the src directory
15:35 < skelterjohn> basically, gb looks for packages in
$GOROOT/pkg/$GOOS_$GOARCH *and* the working directory
15:36 < skelterjohn> check out go-gb/example for a pretend set of packages
that import each other
15:36 < dirthead> skelterjohn: cool, thanks!
15:38 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has quit [Ping
timeout: 246 seconds]
15:39 < skelterjohn> also, if you do "gb -s", it will tell you what it
thinks the correct import paths are for all the packages it can find
15:40 -!- arun_ [~arun@unaffiliated/sindian] has quit [Read error: Connection
reset by peer]
15:41 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has joined #go-nuts
15:44 -!- GeertJohan [~Squarc@clal-0-227.eduroam.inholland.nl] has quit [Quit:
15:45 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined
15:45 -!- ShadowIce
[~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has quit
[Changing host]
15:45 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has joined #go-nuts
15:48 -!- Bigbear1 [~Cody@d173-181-43-12.abhsia.telus.net] has joined #go-nuts
15:51 -!- |Craig| [~|Craig|@panda3d/entropy] has quit [Quit: |Craig|]
15:54 -!- arun_ [~arun@i172010.upc-i.chello.nl] has joined #go-nuts
15:54 -!- arun_ [~arun@i172010.upc-i.chello.nl] has quit [Changing host]
15:54 -!- arun_ [~arun@unaffiliated/sindian] has joined #go-nuts
16:05 -!- virtualsue [~chatzilla@nat/cisco/x-aifahvxlpgeixgld] has quit [Remote
host closed the connection]
16:08 -!- petrux [~petrux@host16-224-static.53-82-b.business.telecomitalia.it] has
quit [Quit: leaving]
16:14 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has joined
16:15 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has joined #go-nuts
16:18 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 240
16:19 -!- tobym [~tobym@75-139-118-127.dhcp.mant.nc.charter.com] has quit [Ping
timeout: 240 seconds]
16:19 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
16:23 -!- ekipan [4b1379b2@gateway/web/freenode/ip.] has joined
16:26 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 250
16:27 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit
[Ping timeout: 252 seconds]
16:27 -!- gedevan [~gedevan@] has joined #go-nuts
16:28 -!- photron_ [~photron@port-92-201-36-47.dynamic.qsc.de] has joined #go-nuts
16:31 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host
closed the connection]
16:33 -!- Venom_X [~pjacobs@] has joined #go-nuts
16:38 -!- monsieur_max [~monsieur_@] has quit [Quit: Leaving.]
16:39 -!- Fish- [~Fish@9fans.fr] has joined #go-nuts
16:40 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
16:44 -!- gedevan [~gedevan@] has quit [Quit: Linkinus -
16:45 -!- gedevan [~gedevan@] has joined #go-nuts
16:56 -!- rj_ac [~rj_ac@c-24-0-154-1.hsd1.pa.comcast.net] has quit [Quit: c ya]
16:58 -!- vsayer [~vivek@c-67-170-236-166.hsd1.ca.comcast.net] has quit [Ping
timeout: 276 seconds]
16:58 -!- Bigbear1 [~Cody@d173-181-43-12.abhsia.telus.net] has left #go-nuts []
16:58 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Read error:
Connection reset by peer]
16:58 -!- TMKCodess [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
16:59 -!- aho [~nya@fuld-590c68db.pool.mediaWays.net] has joined #go-nuts
17:00 -!- TMKCodess [~TMKCodes@unaffiliated/tmkcodes] has quit [Remote host closed
the connection]
17:01 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
17:05 -!- gaiusp [~gaiusparx@bb219-75-41-232.singnet.com.sg] has joined #go-nuts
17:09 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 240
17:09 -!- keithcascio [~keithcasc@nat/google/x-atdmpogrsgpwaobj] has joined
17:19 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has joined #go-nuts
17:20 < ww> hmmm...  does goyacc operate in a streaming way maybe with
lookahead or will it read the whole shebang into memory for parsing?
17:30 < hallas> it used buffered io
17:30 < hallas> uses*
17:31 -!- telmich [telmich@gpm/telmich] has joined #go-nuts
17:31 < hallas> Or wait
17:31 < telmich> great idea for a channel/ml
17:31 < Kafo> How do I use goinstall?
17:32 < Kafo> "goinstall github.com/username/project-name" just prints
"package has no files"
17:32 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has joined
17:32 < telmich> running all.bash from 8381:a438f36395ee does not generate a
6c binary, but results in 6cov, 6nm, godefs, gomake, gopack, gotry and queitcc in
17:33 < gmilleramilar> Kafo: sometimes you need a subdirectory.  it has to
have .go files in it
17:34 < Kafo> Thanks, that explains it
17:34 < ww> hmmm...  too bad
17:35 < hallas> ww: im not sure but
17:35 < hallas> http://golang.org/src/cmd/goyacc/goyacc.go
17:37 < ww> well, i meant "the parser that goyacc makes", not goyacc
itself...  will take some time for me to understand how goyacc itself works...
17:39 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has quit [Quit: "Wait...  what?!"]
17:40 < hallas> Oh, sorry then
17:43 < skelterjohn> you'll want to look at the lexer to see if it streams
17:43 < skelterjohn> the parser created by goyacc just asks the lexer for
17:45 < wrtp> ww: it isn't dependent on any particular IO at all - you craft
your own lexer; the parser is LALR(1) (i seem to remember) so keeps track of only
one token of lookahead
17:45 -!- neary [~Near@unaffiliated/neary] has quit [Quit: Quitte]
17:47 < ww> ok, so that's quite reasonable...
17:49 -!- tvw [~tv@] has quit [Ping timeout: 240 seconds]
17:50 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
17:51 -!- alehorst [~alehorst@] has joined
17:55 -!- tvw [~tv@] has joined #go-nuts
18:00 -!- tvw [~tv@] has quit [Ping timeout: 246 seconds]
18:01 -!- tvw [~tv@] has joined #go-nuts
18:05 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the
18:06 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
18:06 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the
18:07 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
18:07 -!- tvw [~tv@] has quit [Ping timeout: 246 seconds]
18:07 -!- tvw [~tv@] has joined #go-nuts
18:08 < Kafo> I think I'm becoming a vim convert.
18:08 < aiju> from or to?
18:08 < ekipan> usually x convert implies to
18:08 < aiju> use sam!
18:08 < skelterjohn> he was being optimistic
18:08 < Kafo> To
18:08 < Kafo> From gedit/notepad++ :D
18:08 < skelterjohn> ok, that's a good change
18:09 < skelterjohn> i got aquamacs last night and it's pretty nice
18:09 < Kafo> I think any of the advanced editors would be a good change
18:10 -!- monsieur_max [~monsieurm@ip-78.net-89-2-171.rev.numericable.fr] has
joined #go-nuts
18:11 -!- bubb [~AndChat@S01065cd9985ba2e7.va.shawcable.net] has quit [Read error:
Connection reset by peer]
18:11 < KirkMcDonald> My favorite primer on vim remains this:
18:12 < justinlilly> skelterjohn: emacs24 (the latest) offers a cocoa build
(ie: mac native).  Is also fetchable via homebrew.
18:12 < justinlilly> err..  s/the latest/trunk version/
18:12 < skelterjohn> os x comes with an emacs
18:12 < skelterjohn> but aquamacs is very nice
18:12 < skelterjohn> works well with the overall UI
18:12 < justinlilly> the os x version, as with many of their packages, is a
little broken.
18:13 < justinlilly> cool.  if you're happy with it then by all means keep
using it.  24 has some neat features though, like package.el by default.
18:13 < justinlilly> (an emacs package management system for adding modes
and whatnot)
18:15 < aiju> emacs is a great OS, it just lacks a good editor
18:15 -!- bubb [~AndChat@S01065cd9985ba2e7.va.shawcable.net] has joined #go-nuts
18:16 < justinlilly> aiju: there's viper mode ;)
18:16 < justinlilly> (viper mode is vi(m) keybindings for emacs)
18:16 < aiju> i know
18:16 < aiju> but that doesn't make it smaller
18:17 * jeremy_c coughs, MicroEmacs, cough, MicroEmacs
18:17 < aiju> oxymoron
18:17 < jeremy_c> MicroEmacs has zero to do with Emacs
18:17 < skelterjohn> then it should be called microtexteditor
18:17 < jeremy_c> I hate the name because of the name association it
18:17 < skelterjohn> but presumably it has many of the same keyboard
18:18 < jeremy_c> yes.
18:18 -!- monsieur_max [~monsieurm@ip-78.net-89-2-171.rev.numericable.fr] has quit
[Quit: Leaving.]
18:19 < justinlilly> aiju: I assumed you were talking about functionality
rather than binary size.
18:19 < aiju> simple software is best software
18:21 < jeremy_c> microemacs is vastly simpler than emacs as well as a much
smaller binary size, 590k for the console and gui binary.  No Lisp involved
anywhere, fast as could be, extendable by a simple scripting language.
18:22 < aiju> "scripting language" "editor" eeeeek
18:22 * uriel was going to say something, but all this is so offtopic..
18:22 -!- TheMue [~TheMue@p5DDF6308.dip.t-dialin.net] has joined #go-nuts
18:22 < skelterjohn> lisp is a pretty simple scripting language
18:22 < aiju> skelterjohn: hahahahaha
18:22 < aiju> and an airplane is a pretty simple transportation device
18:23 < skelterjohn> airplanes are complex.  lisp is dead simple.
18:23 < skelterjohn> people write strange libraries for it, though
18:23 * jeremy_c is going flying this afternoon for his high-performance, complex
checkout ...  to be more off topic :-)
18:23 < skelterjohn> also note that "simple" and "obvious" are not the same
18:23 < skelterjohn> if lisp were simple AND obvious, it would be much
easier to code with
18:24 < uriel> skelterjohn: scheme is simple, CL is insane
18:25 -!- Sep102 [~Sep102@c-71-231-176-153.hsd1.wa.comcast.net] has joined
18:25 < ww> (lisp (is (the (simplest (language (in (the (world)))))))
(except (for (all (the (brackets))))))
18:25 < skelterjohn> you missed one
18:25 < aiju> `(if it were '(just ,brackets))
18:26 < aiju> you can probably write a read macro which makes CL accept XML
as input
18:26 < ww> skelterjohn: no doubt, irssi doesn't help me balance brackets
like emacs does
18:26 < skelterjohn> but i contend that "obvious" is more important than
"simple" for a programming language
18:26 < skelterjohn> when you look at code it should be obvious what it does
18:26 < ww> obviously
18:26 < skelterjohn> when you have an algorithm in your head, it should be
obvious how to code it
18:26 < aiju> just type what you want to do
18:26 < jeremy_c> that would depend on what programming language you have in
your head.
18:27 < aiju> program pacman;
18:27 < aiju> should be enough
18:27 < skelterjohn> ww: yeah i didn't have to even count to know there
would be a mistake :)
18:27 < skelterjohn> i say obvious is more important than simple, not that
"simple" doesn't matter at all
18:29 -!- monsieur_max [~monsieurm@ip-78.net-89-2-171.rev.numericable.fr] has
joined #go-nuts
18:34 -!- bubb [~AndChat@S01065cd9985ba2e7.va.shawcable.net] has quit [Ping
timeout: 276 seconds]
18:35 -!- bubb [~AndChat@S01065cd9985ba2e7.va.shawcable.net] has joined #go-nuts
18:36 -!- Nitro [~Nitro@unaffiliated/nitro] has joined #go-nuts
18:44 < wrtp> the problem with common lisp is not the brackets
18:45 < wrtp> i do love the , ` quoting system though
18:45 < skelterjohn> i forget what , is for - is that unquote?
18:45 < wrtp> yeah
18:45 < wrtp> and backquote is quote (but allow nested commas)
18:46 < wrtp> i think everyone should learn common lisp - it has so many
semi-failed experiments incorporated as part of it, it's fascinating.
18:46 < skelterjohn> a perfect example of "simple but not obvious"
18:47 < wrtp> it's not really simple anywhere
18:47 < wrtp> the code for parsing s-expressions is probably bigger than the
go grammar :-)
18:47 -!- huin [~huin@] has joined #go-nuts
18:47 < wrtp> (i might exaggerate a bit :-])
18:49 -!- tvw [~tv@] has quit [Remote host closed the connection]
18:51 -!- adg_ [~nf@2001:470:21:20::4444:61d9] has quit [Read error: Operation
timed out]
18:51 -!- adg [~nf@2001:470:21:20::4444:61d9] has joined #go-nuts
18:51 -!- mode/#go-nuts [+o adg] by ChanServ
18:56 -!- keidaa [~keidaa@cm-] has joined #go-nuts
19:00 -!- gm_ [~gmurphy@203-214-86-6.dyn.iinet.net.au] has joined #go-nuts
19:00 -!- gm_ [~gmurphy@203-214-86-6.dyn.iinet.net.au] has quit [Client Quit]
19:01 -!- low_cpu [~low_cpu@] has joined #go-nuts
19:01 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
19:02 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
19:08 < jeremy_c> Is there a go standard on how to deal with programmer
errors and your library?  For example, iup.Image(width, height int, content
[]byte)...  say they call iup.Image(0,0,emptyByteArray)..  That's invalid, or
iup.Image(1000,1000,oneByteInArray)....  invalid again.
19:08 < skelterjohn> return an os.Error
19:09 < skelterjohn> or if it's serious enough, panic
19:09 -!- low_cpu [~low_cpu@] has left #go-nuts ["Leaving"]
19:09 < skelterjohn> but ...  don't panic :)
19:09 < hallas> Well, there is also a question of patterns here
19:10 < hallas> You can use the os.Error to chain return the err through
your stack, like seen in quite many of the standard library
19:11 < hallas> Or, use the panic and recover functionality
19:11 < aiju> normally one should not recover
19:11 < skelterjohn> normally libraries don't panic
19:11 < hallas> I think returning an os Error is probably best design,
panicing and recovering is more of a hack
19:12 < skelterjohn> returning os.Error should definitely be your first
19:13 < jeremy_c> I think I'll just os.Exit(1) :-D
19:13 < hallas> Don'
19:13 < hallas> Ehm..  dont, unless from your main func :D
19:14 < aiju> calling os.Exit is the worst thing you can do
19:14 < jeremy_c> I'm joking, adding a bit of fun to the discussion
19:14 < aiju> (okay, excluding wiping the dik)
19:14 < aiju> +s
19:14 < skelterjohn> the diks?
19:14 < aiju> haha
19:14 < hallas> the dicks?
19:14 < skelterjohn> don't wipe the diks.
19:15 < skelterjohn> i once worked on a project that called system.Exit()
(it was java code) when an error happened
19:15 < skelterjohn> this was a web server.
19:15 < skelterjohn> *that* took a while to track down
19:15 < aiju> hahahaha
19:15 < hallas> hehehe
19:15 < vegai> well, at least you won't miss errors
19:15 < aiju> lesson learned: don't work on Java code
19:15 < skelterjohn> "why oh why is the web server just *shutting down*?!?!
no message in the log or anything!"
19:15 -!- XenoPhoenix [~Xeno@cpc13-aztw24-2-0-cust23.aztw.cable.virginmedia.com]
has joined #go-nuts
19:16 < skelterjohn> aiju: actually, that is exactly the lesson i took from
19:16 < ekipan> the worst part about Java code is that it's written by Java
19:16 < hallas> Why would anyone use system exit when they have fantastic
19:16 < vegai> java code must be a bliss compared to Progress OpenEdge
19:16 < skelterjohn> because the coder was a moron
19:16 < skelterjohn> and also my boss
19:16 < aiju> aren't java exceptions kinda broken
19:17 < hallas> There is an overflow of sarcasm in this channel atm
19:17 < aiju> sarcasm is a bigint
19:17 < aiju> it can't overflow
19:17 < Tonnerre> 640kB of RAM can never overflow
19:18 < hallas> hehe I was just contemplating a type joke my self
19:18 < skelterjohn> you guys are really cool.
19:18 < hallas> Bigint cant hold it
19:18 < hallas> unless we really are cool
19:19 < Tonnerre> 1e+590376503582098435092678574
19:19 -!- snearch [~snearch@f053008200.adsl.alicedsl.de] has joined #go-nuts
19:19 < hallas> python says inf
19:20 < skelterjohn> that's a lot of e+
19:20 < hallas> Anyway, Ive got a question for you fellas
19:20 < hallas> I tried looking around, but with no luck.  Does anyone know
of a dlna media server in written in Go?
19:20 < skelterjohn> we have no answers - only retorts
19:20 < skelterjohn> what does "dlna" mean?
19:21 < hallas> Digital Living Network Alliance
19:21 < hallas> founded by Sony in 2003
19:21 < aiju> i'd be tempted to say no
19:21 < skelterjohn> i retort "no"
19:21 < hallas> Answertorts are double points
19:22 < aiju> hallas: just go (no pun intended) roll your own
19:22 < hallas> It costs money to get the protocol documentation :P And I
havent found an open source one either :P
19:22 < hallas> !!!
19:22 < aiju> hahahahaha
19:22 < aiju> shoot Sony officials
19:23 < skelterjohn> why do you want to create one?
19:23 -!- tvw [~tv@e176003041.adsl.alicedsl.de] has joined #go-nuts
19:23 < hallas> Mostly for fun, since I have a working one in Java which
even transcode the HD movies
19:23 < hallas> I just prefer my stuff in Go as far as possible
19:24 < hallas> Its for streaming the movies to my PS3 in the living room
19:24 < aiju> wait, you already have written one?
19:24 < hallas> Nope.
19:24 < skelterjohn> the java one is closed source?
19:24 < hallas> It's someone elses Java media server
19:24 < skelterjohn> decompile it and look at the easy to read java code
19:24 < aiju> skelterjohn: haha
19:24 < aiju> finding the holy grail is easier
19:25 < hallas> IF
19:25 < hallas> I have to look through other peoples code for protocol
stuff, I would never do java or any .net application
19:25 < jeremy_c> RealBasic claims that's the problem with Java...  anyone
can decompile the byte code, steal your good code/alter licensing restrictions,
...  :-/
19:26 < skelterjohn> can do that with any compiled code, in theory
19:26 < skelterjohn> it's just a bit easier with java
19:26 < aiju> also, who cares
19:26 < skelterjohn> not that the code is useful
19:26 < skelterjohn> who is RealBasic anyway
19:26 < aiju> stealing other people's code requires you to maintain it
19:26 < hallas> Why decompile it?  Better to learn jvm bytecode and go from
19:26 < hallas> RealBasic sounds like a rapper
19:26 < aiju> stealing java code is like stealing smallpox
19:27 < hallas> aiju: but I only need the protocl
19:27 < hallas> +ol
19:27 < jeremy_c> http://realsoftware.com ...  Console/Gui language
supposedly write once, compile to windows, linux, os/x.
19:27 -!- pearle [~pearle@blk-224-181-222.eastlink.ca] has joined #go-nuts
19:27 < hallas> 30 to 50 times faster!
19:27 < aiju> jeremy_c: nothing beats visual cobol
19:28 < zozoR> i cant believe you say the j-word in a public room
19:28 < skelterjohn> os/x?  heh
19:29 < hallas> skelterjohn: you said that the standard packages dont panic,
what did you mean?  No panics anywhere?
19:29 < skelterjohn> a panic should not escape a package
19:29 < skelterjohn> because it's very difficult to figure out exactly what
the problem is
19:29 -!- evildho [~dho@onager.omniti.com] has quit [Ping timeout: 260 seconds]
19:29 < skelterjohn> if it traces to line numbers of source you might not
even have
19:30 < jeremy_c> Dilbert "I didn't have any accurate numbers so I just made
up this one...  Studies have shown that accurate numbers aren't any more useful
than the ones you make up." Boss: How many studies showed that?" Dilbert: "87"
19:30 < hallas> depends on what the panics says though :D could be very easy
to identify then
19:30 < skelterjohn> or you could have your os.Error be descriptive in the
same way
19:30 < skelterjohn> without exploding the program
19:30 -!- brtk [~brtk@c83-248-35-158.bredband.comhem.se] has joined #go-nuts
19:30 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has quit [Ping
timeout: 248 seconds]
19:31 -!- wrtp [~rog@] has quit [Quit: wrtp]
19:32 < hallas> There is a panic in the http package, server.go, in the
ServeMux.Handle method.  A bid odd its not an error, as they could easily just
discard the handle and go on with the program.
19:32 < hallas> line 734 fyi
19:32 < hallas> stumbled on it the other day testing out appengine stuff,
thats why I remember
19:32 -!- pingveno [~pingveno@c-98-246-133-8.hsd1.or.comcast.net] has joined
19:37 -!- imsplitbit [~imsplitbi@] has joined #go-nuts
19:43 -!- Waryn [~Waryn@5ac5bf64.bb.sky.com] has joined #go-nuts
19:45 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the
19:46 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
19:46 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the
19:47 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts
19:48 -!- snearch [~snearch@f053008200.adsl.alicedsl.de] has quit [Quit:
19:51 -!- tncardoso [~thiago@] has quit [Quit: bye]
19:54 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-181-168.clienti.tiscali.it] has
joined #go-nuts
19:54 -!- skelterjohn [~jasmuth@lawn-gw.rutgers.edu] has quit [Quit: skelterjohn]
19:55 < uriel> hallas: maybe fill a bug repport then?
19:56 < uriel> also keeping the stack trace is usually a pretty good idea
19:56 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-154-175.clienti.tiscali.it] has
quit [Ping timeout: 240 seconds]
19:59 -!- vince [~vincent@93-63-164-122.ip28.fastwebnet.it] has joined #go-nuts
20:01 -!- Waryn [~Waryn@5ac5bf64.bb.sky.com] has quit [Quit: Lost terminal]
20:04 -!- ebering [~ebering@taurine.csclub.uwaterloo.ca] has joined #go-nuts
20:09 -!- willdye [~willdye@fern.dsndata.com] has joined #go-nuts
20:20 -!- wrtp [~rog@] has joined #go-nuts
20:22 -!- oal [~oal@5.79-160-122.customer.lyse.net] has quit [Remote host closed
the connection]
20:28 -!- pharris [~Adium@rhgw.opentext.com] has quit [Quit: Leaving.]
20:29 -!- firwen [~firwen@2a01:e34:eea3:7e10:4a5b:39ff:fe51:e8ae] has quit [Quit:
Geek insinde®]
20:30 -!- m4dh4tt3r1 [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined
20:33 -!- photron_ [~photron@port-92-201-36-47.dynamic.qsc.de] has quit [Ping
timeout: 252 seconds]
20:33 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Ping
timeout: 264 seconds]
20:34 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Read error:
Operation timed out]
20:36 -!- vince [~vincent@93-63-164-122.ip28.fastwebnet.it] has left #go-nuts []
20:36 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-151-73.clienti.tiscali.it] has
joined #go-nuts
20:38 -!- jbooth1 [~jay@] has quit [Quit: Leaving.]
20:40 -!- Project_2501 [~Marvin@dynamic-adsl-94-36-181-168.clienti.tiscali.it] has
quit [Ping timeout: 260 seconds]
20:40 -!- m4dh4tt3r1 [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has quit [Read
error: Connection reset by peer]
20:40 -!- m4dh4tt3r [~Adium@c-98-210-145-213.hsd1.ca.comcast.net] has joined
20:44 -!- alehorst [~alehorst@] has quit
[Quit: Leaving.]
20:46 -!- Squeese [~squeese@cm-] has joined #go-nuts
20:47 < jeremy_c> How do I make iup.go installable via goinstall?  goinstall
github.com/jcowgar/iup.go reports "package has no files"
20:49 < gmilleramilar> leave off the /iup.go
20:49 -!- TheMue [~TheMue@p5DDF6308.dip.t-dialin.net] has quit [Quit: TheMue]
20:49 < jeremy_c> gmilleramilar: how then would it know which of my packages
I want to install?  There are many repos under github.com/jcowgar
20:50 < gmilleramilar> each in its own directory?
20:50 < jeremy_c> each as it's own independent repo.
20:50 < gmilleramilar> ah sorry
20:51 < gmilleramilar> I thought iup.go was the name of a file
20:51 < gmilleramilar> try 'goinstall github.com/jcowgar/iup.go/iup'
20:51 < jeremy_c> yeah, I'm not sure that's a good name.
20:51 < gmilleramilar> goinstall needs to reference a sub-directory that has
exactly one package or executable in it.
20:52 < jeremy_c> hm, that got closer!  Compilation fails, all sorts of
undefined functions :-/ ...  cd to the dir, gomake and it compiles fine.
20:57 < jeremy_c> Looking at other packages I think iup.go should be renamed
to be go-iup
20:57 < jeremy_c> not that it has anything to do with my compile problem.
21:01 -!- poops [~poops@c-68-39-198-20.hsd1.de.comcast.net] has joined #go-nuts
21:02 -!- virtualsue [~chatzilla@nat/cisco/x-lodvukwbhzutdyvr] has joined #go-nuts
21:05 -!- vzx [~ryan@74-129-201-27.dhcp.insightbb.com] has quit [Ping timeout: 240
21:07 -!- vzx [~ryan@74-129-201-27.dhcp.insightbb.com] has joined #go-nuts
21:07 -!- Nitro [~Nitro@unaffiliated/nitro] has quit [Quit: Leaving]
21:08 -!- plainhao [~plainhao@] has quit [Quit: plainhao]
21:09 -!- huin [~huin@] has quit [Quit: bedtime]
21:12 -!- imsplitbit [~imsplitbi@] has quit [Quit: Bye!]
21:15 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the
21:18 -!- poops [~poops@c-68-39-198-20.hsd1.de.comcast.net] has quit [Quit: poops]
21:19 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has joined
21:23 < gmilleramilar> what's the magical incantation to get a Reader from
the stdout of a process started by os.StartProcess?
21:25 -!- niemeyer [~niemeyer@business-89-133-214-120.business.broadband.hu] has
joined #go-nuts
21:25 <+iant> call os.Pipe, pass the write File to os.StartProcess, and then
read from the read File
21:25 < gmilleramilar> ah, ok.
21:25 < gmilleramilar> thx
21:26 -!- wrtp [~rog@] has quit [Quit: wrtp]
21:28 -!- keidaa [~keidaa@cm-] has quit [Quit:
21:29 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined
21:30 -!- wrtp [~rog@] has joined #go-nuts
21:30 -!- wrtp [~rog@] has quit [Client Quit]
21:32 -!- piranha [~piranha@5ED43A0B.cm-7-5a.dynamic.ziggo.nl] has quit [Quit:
Computer has gone to sleep.]
21:37 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has quit [Read error:
Operation timed out]
21:40 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has joined #go-nuts
21:45 -!- whitespacechar [~whitespac@24-247-159-7.dhcp.klmz.mi.charter.com] has
quit [Ping timeout: 252 seconds]
21:48 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
21:49 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has joined #go-nuts
21:54 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Ping timeout: 260
21:57 -!- rmmh [~none@host-80-215.flgaroy.clients.pavlovmedia.com] has joined
21:57 -!- virtualsue [~chatzilla@nat/cisco/x-lodvukwbhzutdyvr] has quit [Ping
timeout: 276 seconds]
22:00 -!- kr [~Keith@] has joined #go-nuts
22:02 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit:
22:04 -!- tncardoso [~thiago@] has joined #go-nuts
22:11 -!- monsieur_max [~monsieurm@ip-78.net-89-2-171.rev.numericable.fr] has quit
[Quit: Leaving.]
22:11 -!- Squeese [~squeese@cm-] has quit [Remote host
closed the connection]
22:13 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit:
22:14 < nictuku> question about good package layouts: if both your local
packages A and B are in directory DIR, would you expect to do "import DIR/A" from
B? or just "import A" ?
22:17 -!- awidegreen [~quassel@h-170-226.A212.priv.bahnhof.se] has quit [Read
error: Connection reset by peer]
22:19 -!- vpit3833 [~user@] has quit [Ping timeout: 276 seconds]
22:20 < KirkMcDonald> nictuku: Is "DIR", itself, a package?
22:21 < nictuku> used to be, but now it's only a directory with sub-packages
22:22 < nictuku> e.g: src/lib/chunkymonkey/physics
22:23 < nictuku> I'm getting rid of the 'lib/' part.
22:24 -!- fmoo [~Adium@] has joined #go-nuts
22:25 -!- Venom_X_ [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has
joined #go-nuts
22:25 -!- xash [~xash@d065005.adsl.hansenet.de] has joined #go-nuts
22:26 -!- Venom_X [~pjacobs@] has quit [Ping timeout: 260 seconds]
22:27 < KirkMcDonald> I'm not sure what the best practice would be.
22:27 < KirkMcDonald> If A and B are logically related somehow, importing
"DIR/A" might make sense.
22:28 < KirkMcDonald> (Since it implies that you'd import "DIR/B", too.)
22:28 < nictuku> hmm
22:28 < KirkMcDonald> And, again, this would imply that "DIR" is some sort
of unique identifier describing how they are related.
22:29 < gmilleramilar> iant: the os.Pipe thing is working, however when the
child process exits, my Read() call is hanging
22:29 < ww> use absoklute package names forto make goinstall happy
22:30 < ww> DIR may be bitbucket.org/nictuku
22:33 -!- l00t [~i-i3id3r_@] has joined #go-nuts
22:36 -!- rlab [~Miranda@] has quit [Quit: Miranda IM! Smaller,
Faster, Easier.  http://miranda-im.org]
22:36 -!- Netsplit *.net <-> *.split quits: Natch|, kr, SecretAgent,
tobier_, Pathin, roo, arun, KBme, jyxent, saracen, (+3 more, use /NETSPLIT to show
all of them)
22:37 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined
22:38 -!- gedevan [~gedevan@] has quit [Quit: Linkinus -
22:42 -!- kr [~Keith@] has joined #go-nuts
22:42 -!- KBme [~KBme@2001:470:cabe:666:666:666:666:666] has joined #go-nuts
22:42 -!- Cobi [~Cobi@2002:1828:88fb:0:aede:48ff:febe:ef03] has joined #go-nuts
22:42 -!- roo [~w7@freenode/staff/wikimedia.werdan7] has joined #go-nuts
22:42 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined
22:42 -!- saracen [~saracen@81-5-140-201.dsl.eclipse.net.uk] has joined #go-nuts
22:42 -!- SecretAgent [sa@] has joined #go-nuts
22:42 -!- arun [~arun@unaffiliated/sindian] has joined #go-nuts
22:42 -!- tobier_ [~tobier@c-1e9de055.712-1-64736c11.cust.bredbandsbolaget.se] has
joined #go-nuts
22:42 -!- Natch| [~natch@c-adcee155.25-4-64736c10.cust.bredbandsbolaget.se] has
joined #go-nuts
22:42 -!- chimes [~chimes@] has joined #go-nuts
22:42 -!- jyxent [~jyxent@] has joined #go-nuts
22:42 -!- Pathin [~root@gladsheim.nullbytestudios.net] has joined #go-nuts
22:42 -!- Pathin [~root@gladsheim.nullbytestudios.net] has quit [Max SendQ
22:42 -!- Pathin_ [~root@gladsheim.nullbytestudios.net] has joined #go-nuts
22:42 <+iant> gmilleramilar: close the write handle in your process after
calling os.StartProcess
22:43 -!- moraes [~moraes@] has quit [Remote host closed the
22:44 < gmilleramilar> iant: yeah, I tried that, didn't seem to work.  what
did work was starting a goroutine that waits for the process to end, and closes
the pipe.
22:44 < gmilleramilar> I think it works now, thanks.
22:48 -!- Project-2501 [~Marvin@dynamic-adsl-94-36-151-73.clienti.tiscali.it] has
quit [Quit: E se abbasso questa leva che succ...]
22:50 -!- ekipan [4b1379b2@gateway/web/freenode/ip.] has left
#go-nuts []
22:50 -!- __key__ [~key@unaffiliated/--key--/x-2566208] has joined #go-nuts
22:50 < __key__> is this chan for the Go programming language?
22:50 <+iant> yes
22:50 < __key__> wow, lotta peeps.  what are u guys using it for?
22:51 -!- rcrowley [~rcrowley@c-71-202-44-233.hsd1.ca.comcast.net] has joined
22:58 -!- __key__ [~key@unaffiliated/--key--/x-2566208] has left #go-nuts []
22:58 -!- dju [dju@fsf/member/dju] has quit [Quit: Quitte]
23:00 -!- fmoo [~Adium@] has quit [Ping timeout: 258 seconds]
23:04 < exch> having fun programming styff for the most part.  Cos that's
one component I have sorely missed for years while using other languages
23:04 < exch> *stuff
23:04 <+iant> exch: too late, __key__ already left the channel
23:04 < exch> aw
23:04 <+iant> we weren't interesting enough
23:04 < exch> apparently
23:04 -!- moraes [~moraes@] has joined #go-nuts
23:04 < exch> serves me right for ignoring join/quit messages
23:05 -!- fmoo [~Adium@] has joined #go-nuts
23:13 < str1ngs> __key__ <- python spy!
23:15 < dforsyth> hes not in #python :)
23:15 < str1ngs> good spy
23:15 < str1ngs> :P
23:15 < dforsyth> ha
23:16 < KirkMcDonald> Yeah!  Those dang #python people.
23:16 * KirkMcDonald shifty eyes.
23:17 < str1ngs> every get your hard hats, and get in your gofer holes!
23:17 < str1ngs> everyone*
23:22 -!- araujo [~araujo@gentoo/developer/araujo] has quit [Ping timeout: 246
23:25 -!- iant [~iant@nat/google/x-rwtszkmviiuleaqi] has quit [Ping timeout: 248
23:33 -!- iant [~iant@] has joined #go-nuts
23:33 -!- mode/#go-nuts [+v iant] by ChanServ
23:42 -!- fheller [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has joined
23:42 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts
23:44 -!- ExtraSpice [XtraSpice@] has quit [Read error: Connection
reset by peer]
23:45 < fheller> What do Go users think about my HTML template language?
23:46 -!- xash [~xash@d065005.adsl.hansenet.de] has quit [Quit: Lost terminal]
23:47 < fheller> To make that into a page, I wrote a tool to convert that
into Go. Result: http://www.weirdspaceadventures.com/go/test.go
23:48 < fheller> This way, the template language is Go and compiled Go at
23:48 < fheller> I was here yesterday and dfc helped me out
23:49 < KirkMcDonald> In truth I am not a fan of templates which contain
23:50 < KirkMcDonald> At least not arbitrary code.
23:50 < nictuku> same here
23:50 < KirkMcDonald> Some minor flow control, perhaps some loops.
23:52 < fheller> I agree that you can get into trouble using this type of
23:52 -!- fmoo [~Adium@] has quit [Quit: Leaving.]
23:53 < fheller> I already learned (am learning, day #2) Go, though.  I
don't want to learn a crazy template language.  Also, this -compiles to native
code-, which I really like.
23:53 < KirkMcDonald> It's entirely possible to compile other template
23:53 -!- fmoo [~Adium@] has joined #go-nuts
23:53 < KirkMcDonald> That's how most things in Python work, at least.  The
template compiles to Python, which is executed.
23:54 < KirkMcDonald> No reason you can't do the same thing in any other
23:54 < nictuku> fheller, you did look at Go's own template package?
23:54 < nictuku> it compiles to native code, and it's super easy to use.
23:54 -!- GeertJohan [~Squarc@D978EC5D.cm-3-1d.dynamic.ziggo.nl] has quit [Quit:
23:54 < fheller> Yeah, I took a look at the examples and the binding.
Please tell me if I'm missing something huge
23:55 < nictuku> you might argue it's limited, but as KirkMcDonald was
saying most people don't want a templating language to be powerful.  All logic
should be in the code passing data to the template.
23:56 < KirkMcDonald> There are several reasons for this.
23:57 < KirkMcDonald> One is a simple separation of concerns.  Logic belongs
in code, templates describe lots of things which aren't application logic.
23:57 < KirkMcDonald> Another is localization and translation.
23:59 < fheller> nituku: How are templates natively compiled?  I see the
Parse method which invokes no compiler that I can see.  What I mean is, the web
server does nothing more than required for serving a web page.
--- Log closed Fri May 13 00:00:47 2011