Friday, September 29, 2006

Interfacing the environment

I’ve been reading Joel Spolskys User Interface Design for Programmers which is a useful paradigm shift for most programmers and it got me thinking…

I have quite a far amount of trouble keeping David from pressing the reset (and off!) button on my computer. Why is that? Why is he so interested in pressing that particular piece of plastic? He certainly has no idea of what it does or that it does anything.

It’s because the button invites pressing. It’s designed by professionals to look like something that can or rather should be pressed. That’s why David feels the need to turn knobs on the oven, handle the remote control, open closed drawers and rarely plays with his toys.

Toys designers got it all wrong. It’s not about the vivacious colors or the high pitched sounds. It’s about usability. So I’m off to buy some toys with interfaces!

Tuesday, September 26, 2006

A random thing you will want to, but probably shouldn’t do as a newfangled dad #8

Let your baby get a hold of rattle.

Monday, September 25, 2006

Home alone

So mom finally left for work and we’re home alone. This is a part of a cunning strategy to prepare for the inevitable. It’s been almost a year into the development of David and the time has come for a first candidate release. RC1 will be deployed in the local kindergarten in two weeks, which makes this the final push to locate and resolve any outstanding bugs or issues. I need time and concentration and that means we had to get rid of mom.

With mom out of the way I can finally start working on a few minor adjustments I’ve been hacking at for weeks.

  • Self maintenance, enabling self drinking

  • Self maintenance, enabling self feeding (a toughie)

  • Self awareness, preventing head bumps

Thursday, September 21, 2006


This week David started to walk around with a help of a cardboard box. He neither wants nor need any help from his parents and all the trolleys and walkers we bought are resting idly in the corner. So we’re having fun playing sokoban all day long.

Only there’s only one box…

And there’s no single area you need to place the box…

And you have no control over the sokoban…

Tuesday, September 12, 2006

The Ministry of Failure

It’s interesting to observe emerging behavior in David, seeing his ideas and solutions not provided by me or mom. You begin to see how much your life is constrained by common sense, how your vision narrows with the accumulation of knowledge. It’s inspiring!
David’s learning path is not so much of following guidance – something we are taught throughout our lives. He trusts no authority and tests even the unlikeliest theories. He might like the taste of a squashed banana – but he will try to see if it tastes better if he squashes it himself, with my Logitech (cordless) mouse, while leaning against the TV and singing...
David’s an avid believer in The Ministry of Failure. To become better, you need to fail. To quote Niels Bohr: »An expert is a man who has made all the mistakes, which can be made, in a very narrow field.« Perhaps this is the next development paradigm that will surpass TDD (and if so – I claim copyright!). I call it the Failure Driven Development.

Monday, September 04, 2006

Legacy code

It’s next to impossible to modify baby code. Once you program something, it’s there forever. Not unlike any legacy code you’re stuck with in your firm.
David was programmed to call me and mom “tada”. I’m not quite sure how or when it happened, but now it stuck. And no amount of role-playing and signaling “mama” changes anything.
So until David upgrades to 2.0 “tada” it is. You see with upgrades you get to shadow certain base methods, but the original programming will stay. So be very careful around your baby. Don’t say things you don’t mean. Don’t say things you don’t want repeated at the most inappropriate circumstances. Don’t say anything because you’re frustrated. Don’t say things you might regret later. Your baby understands more than you imagine!

You could be stuck with “tada” for a year or two…