Friday, March 23, 2007

Guiding system malfunction?

This weekend marked the beginning of a series of failures in David's navigation subsystem. It started out with an uncertain step or two and quickly escalated into serious collisions with solid state objects. Our development team (mom and me) was stumped. David was apparently turning into a danger seeking missile. After lengthly consultation with senior developers (grandparents) we decided to continue monitoring the situation and keeping an eye on trace logs.
After a while it became apparent that there was no bug in the subsystem module. All system are go. It seems David just got way to confident in his abilities. A busted lip, some bruises and a few head bumps are just warning signs of things to come. It seems David is definitely not one of those quiet, unassuming, modest children that play with their toys while mom and dad lovingly observe them with that serene look on their faces. He's more like... well this:

Saturday, March 03, 2007

Teeth counter #2

Teeth count is now at ten!

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…

Tuesday, January 30, 2007

Meta

As a project lead of a 14 month old toddler you get to answer a lot of questions. While most of them start with “What is …” and end up with a little finger pointing at the red fire truck – they are in no way superfluous. Your consistent answers will let your child know that red items are frequently called red something. He will start to understand what a fire truck is. Fire trucks come in many shapes and sizes but they are still called fire trucks (and toddlers have an uncanny ability to grasp the Aristotelian model of fire trucks!).
Yet there’s another important piece of information hidden within your answers. It’s a tiny little common sense rule that object rarely change their names. If something is called a fire truck it will probably still be called a fire truck tomorrow. Now you may think that is obvious but it really isn’t. It’s a common sense rule you picked up in your formative years. And that is what common sense is. A collection of tiny rules you never think about but use everyday. You might call them meta rules, as they are frequently used as rules about rules. They are kinda like David asking a “What is …” question while pointing at his pointing finger. What is this thing I use to find out about things?
It is your first meta question David and I’m glad I was there to answer it.

Sunday, January 28, 2007

David’s Toribash


At toddler stage you’ll see a rapid development of your baby’s mobility. Early stages of motion control will seem uncanny like Toribash. Each movement is overdone, each countermove over amplified and the end results wonderful and often scary. There is no gradient of control, if a limb needs extending - it is extended to the full. Whether your head is in the way or not.
Toribash effect isn’t limited to physical movements only. The same effect can be observed in your baby’s psyche. If laughter is required - it’s as loud as a train, if there is cause for tears -they flow a waterfall.

Wednesday, January 17, 2007

Your DNA?

An interesting visualization project is up on baekdal.com. What does your DNA look like?

Tuesday, January 02, 2007

A new book


Comming out soon!

Monday, December 25, 2006

Marry Christmas

And a happy New Year!

Monday, December 11, 2006

Where have you been?

I've been getting my life back. David reached his first year milestone and passed all the tests with flying colors. We had a small party afterwards with lots of developer friends showing up (more on this later).

In the mean time a new web 2.0 site popped up and I just couldn't resist testing it. And here's the result:
my pimped pic!

Monday, November 20, 2006

Talk to DavidBot

Recently I discovered an interesting site offering free, customizable AI bots. So now you can talk to DavidBot!

Monday, October 16, 2006

Huston

David stretched out his hands and grabbed at the sharpened edge of the art-deco coffee table. His vision slightly blurred by a casual glance at one of the multiple sources of light that matched the coffee table in style and color. He commanded his leg muscles to propel him upwards. “Height is good,” a thought flashed through his synapses. Reaching the desired level his muscles stopped automatically. “Now hold steady! Let’s have a look…” Suddenly there was a flash of color at his peripheral vision. It was coming from a TV set at his right. With a slight movement of hips he adjusted his posture now heading towards the plasma screen. “Walk!” he commanded and his legs followed with his hands now only slightly caressing the wooden surface varnished to perfection. “3,” a number flashed in his mind while he approached the far edge of the table. “2,” his fingers flowed along the surface without friction. “1,” a step separated him from the void that lay between the table and the TV.

With no further thought, David took his first step.

Sunday, October 15, 2006

Consultants of swing

David developed some bugs last week so I had to hire some consultants to help me fix the problems. As always outsourcing turned out to be an fascinating experience. Apparently The Consultants work through a strict checklist before they actually begin debugging.


  • Refer the project to another consultant.

  • Do nothing.

  • Express amazement at progress.


So David spent two days in a hospital to make us feel better I guess. He displayed an remarkable ability to self debug! I know what you are thinking: “how could I do it in my current project? I’m way behind schedule and I haven’t yet begun writing those pesky test suites…” Well, the truth is, don’t really remember putting that in, but I can’t have mom take the credit now can I?

Who cares, I’m just happy David is all better now!

Wednesday, October 04, 2006

Handling

One of the most important aspects of interacting with the environment is shape recognition and object handling. Not surprisingly many of the so-called didactic toys supposedly teach your baby how to distinguish, grab and hold various shapes.
But simple cubes and pyramids are easy. The most difficult shapes are food items. You see it’s easy to recognize, grab and bite a sphere (provided it fits in your mouth!) but food items are more interesting.
I was watching David eat a cookie. This particular cookie is square shaped and as such is easy to recognize and hold. With each successive bite though – it changes shape. It becomes a square with a bite taken out, then it’s a kind of a triangle with a jagged edge, next it becomes almost a trapezoid… The wonderful thing is – it’s still a cookie and David has no problem understanding this. I know it’s common sense to us but that’s because you’ve learned that food items rarely change into non-food items just because you’ve taken a bite (interestingly, David does not recognize a banana without the peel).
An item that changes shape presents a difficult handling problem. You can teach a robot to hold an apple but that won’t help it hold a cherry. David must continually modify his gripping technique and be attuned to dangerous cookie fault lines. One false nip, one careless pinch and the cookie crumbles and escapes to the floor! Still, utilizing the Failure Driven Approach™ David more or less successfully eats a cookie by himself. A breathtaking testament to the triumphant progress our project is making. Go David go!

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

Sokoban

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.