Friday, 13 February 2009

yet more genchal (+137h)

Still working on boring genchal stuff. I guess it's something you should know if I'm ever going to work for you: I can get pretty obsessed about repeatability.

Ever since the thesis days and the Makefile of Doom, I've been trying to do things in such a way that I can just mindlessly run a script called go.sh or do make and have it just work. So I will spend weeks and weeks and weeks cleaning things up, rearranging things, trying to figure out what the right slot for everything to go to is. (Part of the reason I spend weeks and weeks and weeks doing this, is that my repeatability-obsession only triggers when I've done something wrong the first time and then need to re-use it... which means I end spending a lot of time cleaning up after my mess. I still don't have the foresight to do things right yet)

Anyway, so the evaluation stuff is slowly starting to come together. I used to have this thicket of shell scripts, have two of them merged now (duplication is the root of all evil), have the whole evaluation process tidier and more self-contained. Less guesswork involved in trying to recover the steps, gather all the pieces needed, to make everything go.

It pays off. It really does. It looks like time wasting, but then when something goes wrong, or we have to change some parameter or another, or if we just want to redo something the next year, you earn back the time.

Do it right the first time. Short cuts make long delays. (Advice I wish that Eric-2008 followed when this was REG 2008). Don't take "busy" as an excuse. We'll always be busy. Being busy is caused by not doing things right the first time. Sigh... I say this now, but I imagine at some point in the future, I'll break this rule again. Eric-2010 will take that one fatal shortcut which causes Eric-2011 to suffer immensely.

GenI

Now that I'm off the clock, I'm going to turn a bit of attention to GenI. And then do darcs stuff. Sorry, folks. I'm only working on this stuff on what I consider to be "personal time".

Friday, 6 February 2009

genchal, paper (+134h)

Same old genchal week.

I'm doing these scripts rather slowly because it is a bit fiddly and prone to the kind of insidious bug where it only looks like it's working, but it may be giving you the wrong numbers. So I'm learning may way through a lot of testing tools, both in Perl and Haskell. QuickCheck seems like really a fantastic idea, although I'm still not sure how to apply it to "complicated" things, you know, XML parsers flying all over the place. I guess it takes practice. Anyway, anytime I have a vague idea for something I'd like to test, I try to write it down. The Pragmatic Programmer has a wonderful term "Programming by Coincidence", which I'm sure I've done more than my fair share of in life. You don't want to that. The right attitude to programming is to deliberately seek out ways that your program could be broken and apply pressure on them. It's like doing science. Keep falsifying.

paper and slides

We've had a paper accepted to ENLG. Looks like I'll be presenting it. So if anybody is going to Athens for EACL, hope to see you there.

Ever since I have been separated from the moderating influences of the nest, I have become increasingly radical in my attitude towards slides. I don't know if it'll work out, but I think if you attend my talk, you'll see a handout with all the charts and graphs, and slides with very few complicated things on them, a simple diagram, maybe a word or two. I won't always pull it off (lack of ideological purity!), and the whole thing may be stupid and misguided, but please at least believe me when I claim that it comes from a very basic desire to make myself understood.

practical tip for confused erics : slides

Another one of these tips for myself. There are times of day when you are stupider than other times. Use those moments to work on slides, for example, making the diagrams. You want to get stuff done, save the boring easy stuff for when you're too tired, stuck, etc to get anything else useful done.

Tuesday, 3 February 2009

more genchal, visa

Booring (but at least I'm figuring out some tricks to keep code duplication down). And I think I've given myself an excuse to learn how to use QuickCheck better... (since some of my stuff is written in Haskell and we want to make sure that things are done right, tests, documentation, etc)

Anyway, I have a visa now! So now I can stay in the UK till 2012-01-29.

Hmm. Should I?