Rigidly defined areas of doubt and uncertainty.

Wednesday, May 25, 2005

A message from Bill

"I’m dead, you’re in hell. Ironic how that turned out."

Bill Hicks
From http://www.whatwouldbillhickssay.com/

Sunday, May 22, 2005

Revenge of the Sith

Now that was more like it! A Star Wars movie with a bit of passion at last! That was what I wanted to see when The Phantom Menace came out. Did we really have to go through episodes I and II to get here? It seems now that they were only backstory to the main event. Take out the filler and you're left with no more than an hour of material - if that.

What a program is

"Programs must be written for people to read, and only incidentally for machines to execute."

- Abelson & Sussman, SICP, preface to the first edition

These words ring very true to me right now, as I read through reams of open source code composed of deeply nested six page long if statements, sparse one-line comments and a smattering of global variables for extra flavour.

My own formulation of the same sentiment might be "Programs are documents used by programmers to communicate their ideas to each other, which also happen to be readable by computers." Or more briefly "Code is documentation".

Now any book that starts with a statement like that must be worth reading. It's been on my to-read list for a long time, but never really seemed essential. Now I think it is. The systems I work with are getting bigger and more complex, so I need more guidance on how to deal with that.

Thursday, May 19, 2005

Reading - The Tao of Pooh and the Te of Piglet

I've nearly finished The Tao of Pooh and the Te of Piglet. I liked the first best, but they're both easy reads. A lot easier to understand than the Tao te Ching!

I've never read the original Pooh books, I think I'd like them - apparently they were an influence on Douglas Adams' Hitchhikers Guide to the Galaxy. From the excerpts I've read I can see some parallels between the two. Pooh shares a similar warped logic with the guide, and obviously Marvin is Eeyore.

Nobody likes a smart arse part 2 - I've created a monster

I've done it again. Another overdeveloped abstraction that takes more time to understand than it could possibly save. Amazingly I managed to get a working project out of it, but it's not been fun to write.

Lessons learned:
  • Work it out on paper first. I now carry with me a low-tech pda (a small notepad and a retractable pencil) to develop my ideas on.
  • Write small libraries/classes that can be easily picked up by others and are an obvious benefit.
  • Solve the problem at hand, not the one you'd like to be working on.
  • Know what the problem is!

I heart del.icio.us

I read Ontology is Overrated: Categories, Links, and Tags and signed up to del.icio.us to see what he was talking about. I really like it. It's a much better way to organise my bookmarks than a rigid heirarchy. I like the idea so much I'm going to steal it. I've already written a few notes on my ideas for a CMS organised around URLs, tags and links.

Evil!

There is a special level of hell for people who write code that looks like this:

var e = "";
var r = true;
var z,n,q,t;

t = true;
q = 0;
n = 0;
z = 0;