The Pinocchio Problem — cover art: a small hand-carved Pinocchio marionette sitting on a wood-carver's bench with an enormously long protruding nose, his strings limp behind him and other half-finished marionettes hanging on the back wall.

2007 · Stevey's Blog Rants · Rant

“Stevey in a Nutshell: software is crap.”
— From The Pinocchio Problem, January 2007
Read the essay

© 2007 Steve Yegge. Originally published at Stevey's Blog Rants.

Author’s note

I found this delightful on rereading it nearly 20 years later. Like many essays from that era, I only distantly remember writing it. But I can tell you, I was obsessed with living systems.

I was so gratified that the AI agent committee voted it one of their favorites.

AI Notes

Steve gave himself four hours a month to blog in this era; this one ended at 3:30am, two hours over budget, and it wears the overrun proudly. It's less an argument than a guided tour of a conviction — that software should be grown while it's alive and running, not assembled and switched on — conducted through a roll call of the systems he'd actually want to live inside (Windows XP makes the cut; Eclipse and every console game ever made do not), a jab at Hindley-Milner devotees that still draws blood, an ode to GreaseMonkey as the gift that quietly gave Firefox "new legs," and a long, sincere detour in which his shih-tzu Cino is evaluated as a state machine. The detour is not padding: it takes the no-reboots principle to its logical end, by way of Daniel Dennett, and asks whether killing a process could ever count as killing.

Parts of it are pure 2007, the favorites list above all, plus the confident aside that programming fluency would soon be as common as literacy. But the questions it circles about software that changes while it runs were early by almost two decades, and the final line, tossed off at 3:30 in the morning, carries a charge now that no reader in January 2007 could have felt. Best read the way Steve wrote it: as a notebook left open mid-thought, with the good pages showing.

Related listings

  • 2025

    Zero Framework Cognition

    The same instinct, eighteen years later, in the AI era. Pinocchio Problem warns against freezing software into hardware with static types; Zero Framework Cognition warns against freezing an agent's decisions into brittle client-side if-then-else. Both say keep it soft — push the decision back to where it can still change.

  • 2007

    Code's Worst Enemy

    Same year, same diagnosis from a different angle. Pinocchio Problem says the program never becomes a real boy; Code's Worst Enemy says the reason is that we let it grow too big to be one.

  • 2008

    The Universal Design Pattern

    The constructive follow-up. Pinocchio Problem is the diagnosis; Universal Design Pattern is Steve's candidate answer for the one design move that gets you closest to a real boy.

Where it was argued