Thursday, February 22, 2007

Distinction Driven Design

One of the most frustrating issues I have with doors (and apparently it’s genetically inherited by David!) is their inherent direction ambiguity. Looking straight at a garden variety door- can you tell me which way it opens? Does it open towards you? Away from you? Does it swing both ways? The only practical way to determine the direction of this interface is by testing.
Would you care for an Api in your programming language of choice that contains such vagueness? Consider a series of DataAdapters with methods like Process, Do, OpenOrSave… Now some consider putting a label on a door a good enough solution. But that’s just like plugging a hole in a dam with your finger. Another one will spring right up. Some people can’t read, some don’t understand your language and most of us don’t bother to read. When was the last time you read code comments? When the damn thing stopped working, right? Sure I read those– right after I crash my head against the “pull” label.
So I’m watching David successfully navigating all sorts of door handles (push, pull, turn or raise handles) while still having problems figuring out which way the door swings and it got me thinking. There’s something inherently wrong about out door designs. If David can figure out how to turn off my computer he should not have problems with 19th century doors should he?

Saturday, February 10, 2007

Multiple inheritance issue

It turns out I was wrong about baby class inheritance. In addition to the abstract baby class (,which is responsible for most of your problems!) babies inherit a few things from both you and your partner. It’s a classic case of multiple inheritance and all that jazz.
The most important feature of any MI system is conflict resolution. How does the inheritor decide which inheritee implementation of a common method to use? Predictably – it tends to use the worst possible configuration it stumbles upon. What does that translate to?
For example: Mom likes to keep it neat while I like to crumple paper before throwing it in the tin can. The resulting combination at breakfast time is David keeping his part of the table neat by crumpling his toast and eggs and throwing them in the direction of the tin can.
I guess we have a few bugs to iron out here…

Sunday, February 04, 2007

Something to think about

According to this list of strange facts (boy if there’s anything internet was invented for – it’s the strange fact lists!) “The average four year-old child asks over four hundred questions a day”. What does that mean?
Well if you subtract 8 hours of down-time, than your average answer-server (you) is responding to requests 16 hours / day. That averages to about a question every 2.4 minutes. Considering the time it takes for your child to finish his question and for you to answer it – I’m guessing - by the time David hits four, I’ll stop doing pretty much anything.
So please enjoy this blog while it lasts! And don’t bug me if I skip a day or two – I might be busy answering questions…