--- 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 #go-nuts 00:41 -!- kr [~Keith@c-24-5-193-165.hsd1.ca.comcast.net] has quit [Quit: WeeChat 0.3.4] 00:55 -!- mikespook [~mikespook@119.131.233.170] has joined #go-nuts 01:03 -!- jlaffaye [~jlaffaye@24.114.252.236] has quit [Ping timeout: 240 seconds] 01:07 -!- dreadlorde [~dreadlord@c-24-11-39-160.hsd1.mi.comcast.net] has joined #go-nuts 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@114.245.251.45] has joined #go-nuts 01:29 -!- alc [~arx@114.245.251.45] 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@189.59.134.202] 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 seconds] 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: Leaving] 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@114.245.251.45] has joined #go-nuts 02:15 -!- alc [~arx@114.245.251.45] has quit [Read error: Connection reset by peer] 02:22 -!- Varriount [~Varriount@public-craft.com] has quit [Remote host closed the connection] 02:27 -!- Varriount [~Varriount@public-craft.com] has joined #go-nuts 02:29 -!- gaxxx [~woo@219.143.166.16] has quit [Ping timeout: 248 seconds] 02:30 -!- achoo [~anonymous@host-134-71-203-59.allocated.csupomona.edu] has joined #go-nuts 02:32 -!- achoo [~anonymous@host-134-71-203-59.allocated.csupomona.edu] has quit [Quit: achoo] 02:43 -!- pphalen [~pphalen@66.92.11.149] has left #go-nuts [] 02:45 -!- skelterjohn [~jasmuth@c-24-0-2-70.hsd1.nj.comcast.net] has joined #go-nuts 02:48 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 02:53 -!- mikespook [~mikespook@119.131.233.170] has quit [Ping timeout: 240 seconds] 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 #go-nuts 02:57 -!- mikespook [~mikespook@119.131.233.170] has joined #go-nuts 02:57 -!- mikespook [~mikespook@119.131.233.170] 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 #go-nuts 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: skelterjohn] 03:37 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has joined #go-nuts 03:39 -!- fheller [~hellerf@c-24-9-120-132.hsd1.co.comcast.net] has joined #go-nuts 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 uint64 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@219.143.166.16] has quit [Ping timeout: 240 seconds] 03:56 -!- gaxxx [~woo@219.143.166.16] 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> http://groups.google.com/group/golang-nuts/search?group=golang-nuts&q=golex&qt_g=Search+this+group 03:58 < dfc> the word lex has appeared a few times on the mailing list 03:58 < dfc> http://groups.google.com/group/golang-nuts/browse_thread/thread/871c718a09a566c9/18e549d245246399?lnk=gst&q=golex#18e549d245246399 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 #go-nuts 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: gtaylor] 04:39 -!- foocraft [~ewanas@78.100.171.56] 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@219.143.166.16] 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@78.100.171.56] has quit [Quit: if you're going....to san. fran. cisco!!!] 04:53 -!- foocraft [~ewanas@78.100.171.56] has joined #go-nuts 04:57 -!- ExtraSpice [XtraSpice@88.118.35.153] has joined #go-nuts 04:58 -!- achoo [~achoo@71-80-179-102.dhcp.wsco.ca.charter.com] has joined #go-nuts 05:03 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 05:04 -!- krutcha_ [~krutcha@S010600045a27676a.vs.shawcable.net] has joined #go-nuts 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 seconds] 05:18 -!- kanru [~kanru@kanru-1-pt.tunnel.tserv15.lax1.ipv6.he.net] has joined #go-nuts 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: EXEC_over.METHOD_SUBLIMATION] 05:57 -!- dfr|mac [~dfr|work@ool-182e3fca.dyn.optonline.net] has quit [Remote host closed the connection] 06:02 -!- monsieur_max [~monsieur_@212.234.251.58] 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@219.143.166.16] has quit [Ping timeout: 264 seconds] 06:06 -!- gaxxx [~woo@219.143.166.16] has joined #go-nuts 06:06 -!- Viriix [~joseph@c-67-169-172-251.hsd1.ca.comcast.net] has left #go-nuts ["Leaving"] 06:08 -!- rlab [~Miranda@91.200.158.34] has joined #go-nuts 06:09 -!- Kafo [~Kafo@a91-152-189-15.elisa-laajakaista.fi] has joined #go-nuts 06:12 -!- wrtp [~rog@92.17.93.207] has joined #go-nuts 06:21 -!- foocraft [~ewanas@78.100.171.56] has quit [Remote host closed the connection] 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 #go-nuts 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 #go-nuts 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: fheller] 06:52 -!- czakian [~czakian@c-98-223-184-248.hsd1.in.comcast.net] has quit [Quit: Leaving] 06:52 * vegai just learned about http://camlistore.org 06:52 < vegai> n i c e 06:54 -!- Squeese [~squeese@244.14.213.193.static.cust.telenor.com] has joined #go-nuts 06:59 -!- rlab [~Miranda@91.200.158.34] 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 #go-nuts 07:08 -!- mikespook [~mikespook@119.131.233.170] 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@244.14.213.193.static.cust.telenor.com] 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@114.245.251.45] has joined #go-nuts 07:49 -!- alc [~arx@114.245.251.45] has quit [Remote host closed the connection] 07:49 -!- Squeese [~squeese@244.14.213.193.static.cust.telenor.com] has joined #go-nuts 07:50 -!- zozoR [~Morten@2906ds2-arno.0.fullrate.dk] has quit [Ping timeout: 240 seconds] 08:06 -!- eikenberry [~jae@ivanova.zhar.net] has joined #go-nuts 08:08 -!- Sake [~Sake@163.5.72.95] 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 seconds] 08:16 -!- Sake [~Sake@163.5.72.95] 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@93.26.129.237] has joined #go-nuts 08:34 -!- cenuij [~cenuij@93.26.129.237] 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: achoo] 09:22 -!- niemeyer [~niemeyer@conference/ubuntudevelopersummit/x-ygrxgszwnzjcxkfb] has joined #go-nuts 09:26 -!- mikespook [~mikespook@119.131.233.170] 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: Leaving.] 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 #go-nuts 10:20 -!- Squeese [~squeese@244.14.213.193.static.cust.telenor.com] has quit [Remote host closed the connection] 10:25 -!- Squeese [~squeese@244.14.213.193.static.cust.telenor.com] has joined #go-nuts 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: zzzzzz...] 10:34 -!- merijn [~merijn@195.169.72.119] has joined #go-nuts 10:36 -!- Squeese [~squeese@244.14.213.193.static.cust.telenor.com] 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 seconds] 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@69.195.144.4] 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@219.143.166.16] 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@69.195.144.4] 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@208.75.85.237] has joined #go-nuts 11:33 < genbattle> http://golang.org/doc/effective_go.html#methods 11:33 -!- fabled [~fabled@86.92.93.66] 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: Leaving.] 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@150.164.2.20] 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@212.79.9.150] 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 seconds] 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: Leaving] 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@237.129.26.93.rev.sfr.net] has joined #go-nuts 12:48 -!- cenuij [~cenuij@237.129.26.93.rev.sfr.net] 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 #go-nuts 12:52 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 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 #go-nuts 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 thanks. 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 counterproductive 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 examine. 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 interfaces 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 concepts 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 performance 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" functions 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: rog-go.googlecode.com/hg/values 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@209.249.216.2] 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 #go-nuts 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 fast. 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: halfwavedipole] 14:13 -!- merijn [~merijn@195.169.72.119] 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 of. 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 #go-nuts 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: skelterjohn] 14:50 < neary> who is interested in building a new go widget toolkit ? (gogoa) 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 #go-nuts 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@86.92.93.66] 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@91.200.158.34] 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@99.237.1.65] 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 loop) 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 deadlock 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 themselves) 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 connection] 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 is 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@68.116.31.34] has quit [Ping timeout: 258 seconds] 15:24 < wrtp> or if the button sets a "variable" that can be read by any readers 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 #go-nuts 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 that 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 latency? 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 case 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 concerned 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: Leaving.] 15:45 -!- ShadowIce [~pyoro@HSI-KBW-109-193-120-162.hsi7.kabel-badenwuerttemberg.de] has joined #go-nuts 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 #go-nuts 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 seconds] 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.75.19.121.178] has joined #go-nuts 16:26 -!- TMKCodes [~TMKCodes@unaffiliated/tmkcodes] has quit [Ping timeout: 250 seconds] 16:27 -!- Venom_X [~pjacobs@75-27-133-72.lightspeed.austtx.sbcglobal.net] has quit [Ping timeout: 252 seconds] 16:27 -!- gedevan [~gedevan@83.167.106.253] 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@66.54.185.131] has joined #go-nuts 16:38 -!- monsieur_max [~monsieur_@212.234.251.58] 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@83.167.106.253] has quit [Quit: Linkinus - http://linkinus.com] 16:45 -!- gedevan [~gedevan@83.167.106.253] 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 seconds] 17:09 -!- keithcascio [~keithcasc@nat/google/x-atdmpogrsgpwaobj] has joined #go-nuts 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 #go-nuts 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 bin/ 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 tokens 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@212.79.9.150] 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@189.114.182.82.dynamic.adsl.gvt.net.br] has joined #go-nuts 17:55 -!- tvw [~tv@89.204.137.165] has joined #go-nuts 18:00 -!- tvw [~tv@89.204.137.165] has quit [Ping timeout: 246 seconds] 18:01 -!- tvw [~tv@89.204.153.181] has joined #go-nuts 18:05 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has quit [Remote host closed the connection] 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 connection] 18:07 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts 18:07 -!- tvw [~tv@89.204.153.181] has quit [Ping timeout: 246 seconds] 18:07 -!- tvw [~tv@212.79.9.150] 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: http://everything2.com/user/visudo/writeups/Vim 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 implies. 18:17 < skelterjohn> but presumably it has many of the same keyboard shortcuts 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 thing 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 #go-nuts 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@91.85.171.238] has joined #go-nuts 18:47 < wrtp> (i might exaggerate a bit :-]) 18:49 -!- tvw [~tv@212.79.9.150] 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-84.210.56.138.getinternet.no] 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@41.214.254.125] has joined #go-nuts 19:01 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 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@41.214.254.125] 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 choice 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 it 19:16 < ekipan> the worst part about Java code is that it's written by Java programmers 19:16 < hallas> Why would anyone use system exit when they have fantastic exceptions 19:16 < vegai> java code must be a bliss compared to Progress OpenEdge code... 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 there 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@92.17.93.207] 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 #go-nuts 19:37 -!- imsplitbit [~imsplitbi@64.39.4.132] 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 connection] 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 connection] 19:47 -!- freetz [~fritz@bc-proxy-2.sandia.gov] has joined #go-nuts 19:48 -!- snearch [~snearch@f053008200.adsl.alicedsl.de] has quit [Quit: Verlassend] 19:51 -!- tncardoso [~thiago@150.164.2.20] 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@92.17.93.207] 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 #go-nuts 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@209.249.216.2] 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 #go-nuts 20:44 -!- alehorst [~alehorst@189.114.182.82.dynamic.adsl.gvt.net.br] has quit [Quit: Leaving.] 20:46 -!- Squeese [~squeese@cm-84.209.17.156.getinternet.no] 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 seconds] 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@208.75.85.237] has quit [Quit: plainhao] 21:09 -!- huin [~huin@91.85.171.238] has quit [Quit: bedtime] 21:12 -!- imsplitbit [~imsplitbi@64.39.4.132] has quit [Quit: Bye!] 21:15 -!- Fish- [~Fish@9fans.fr] has quit [Quit: So Long, and Thanks for All the Fish] 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 #go-nuts 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@92.17.93.207] has quit [Quit: wrtp] 21:28 -!- keidaa [~keidaa@cm-84.210.56.138.getinternet.no] has quit [Quit: Leaving] 21:29 -!- cafesofie [~cafesofie@ool-18b97779.dyn.optonline.net] has joined #go-nuts 21:30 -!- wrtp [~rog@92.17.93.207] has joined #go-nuts 21:30 -!- wrtp [~rog@92.17.93.207] 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: Leaving.] 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 seconds] 21:57 -!- rmmh [~none@host-80-215.flgaroy.clients.pavlovmedia.com] has joined #go-nuts 21:57 -!- virtualsue [~chatzilla@nat/cisco/x-lodvukwbhzutdyvr] has quit [Ping timeout: 276 seconds] 22:00 -!- kr [~Keith@204.14.152.118] has joined #go-nuts 22:02 -!- fmoo [~Adium@c-76-102-41-101.hsd1.ca.comcast.net] has quit [Quit: Leaving.] 22:04 -!- tncardoso [~thiago@189.59.134.202] 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-84.209.17.156.getinternet.no] has quit [Remote host closed the connection] 22:13 -!- ShadowIce [~pyoro@unaffiliated/shadowice-x841044] has quit [Quit: Verlassend] 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@203.111.33.203] 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@66.220.144.74] 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@66.54.185.131] 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_@189.105.66.232] has joined #go-nuts 22:36 -!- rlab [~Miranda@91.200.158.34] 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 #go-nuts 22:38 -!- gedevan [~gedevan@83.167.106.253] has quit [Quit: Linkinus - http://linkinus.com] 22:42 -!- kr [~Keith@204.14.152.118] 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 #go-nuts 22:42 -!- saracen [~saracen@81-5-140-201.dsl.eclipse.net.uk] has joined #go-nuts 22:42 -!- SecretAgent [sa@28.158.143.98.nitemare.name] 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@24.104.130.118] has joined #go-nuts 22:42 -!- jyxent [~jyxent@129.128.191.96] 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 exceeded] 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@189.103.176.38] has quit [Remote host closed the connection] 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.75.19.121.178] 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 #go-nuts 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@66.220.144.74] 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@189.103.176.38] has joined #go-nuts 23:04 < exch> serves me right for ignoring join/quit messages 23:05 -!- fmoo [~Adium@66.220.144.74] 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 seconds] 23:25 -!- iant [~iant@nat/google/x-rwtszkmviiuleaqi] has quit [Ping timeout: 248 seconds] 23:33 -!- iant [~iant@66.109.105.72] 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 #go-nuts 23:42 -!- dfc [~dfc@eth59-167-133-99.static.internode.on.net] has joined #go-nuts 23:44 -!- ExtraSpice [XtraSpice@88.118.35.153] has quit [Read error: Connection reset by peer] 23:45 < fheller> What do Go users think about my HTML template language? http://www.weirdspaceadventures.com/go/test.goh 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 that. 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 code. 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 design 23:52 -!- fmoo [~Adium@66.220.144.74] 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 languages. 23:53 -!- fmoo [~Adium@66.220.144.74] 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 language. 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: Leaving.] 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