Semi chapter opener illustration

Semi

DEBUG BY ASKING - *when a program does not work, you do not scold it or start over; you ask a careful question about what actually happened - 'where did the hero stop, and why?' - and the question points you straight at the bug.*

Semi the Ant Asks the Right Question

Semi is a small, calm, clever ant, and Semi has watched a thousand little programs run - some that worked first try, and a great many that didn’t. And Semi has learned the single most useful skill a coder can have. It isn’t writing perfect code. Nobody writes perfect code. It’s knowing what to do when the code breaks.

Because code breaks. All the time. You write a script to walk the hero to the flag, you hit Run, and the hero marches confidently… straight into a wall. Stuck.

Now, plenty of little bugs, when this happens, do one of two unhelpful things. Some panic and scrap the whole thing and start over from scratch - throwing away all the good parts along with the one broken bit. Others just stare, muttering “it doesn’t work, it doesn’t work,” which is true but tells you nothing.

Semi does neither. Semi tilts her head, looks at exactly what happened, and asks a question.

“Interesting,” Semi says, not the least bit rattled. “The hero stopped right here, at this wall. So let’s ask: what told the hero to keep walking? And what should have told it to turn?” And just like that - because the question points at the exact spot where things went wrong - the bug practically reveals itself. “Ah. The turn instruction is after the wall instead of before it. That’s our bug.”

That’s Semi’s whole quiet genius. A broken program isn’t a disaster and it isn’t a mystery. It’s a puzzle with a findable answer, and the way you find it is by asking a good, specific question about what the code actually did - not what you hoped it would do.

“The computer always does exactly what you told it,” Semi says. “So when it goes wrong, it’s not being difficult - it’s showing you, very precisely, what you told it by mistake. Ask where it went wrong, and why, and the fix is usually right there.”

And notice what Semi doesn’t do. She never says “you’re hopeless at this” or “how could you miss that?” A bug isn’t a sign you’re bad at coding. Every single coder, the best in the world, spends most of their time finding and fixing bugs. It’s not the embarrassing part of the job. It is the job.

That is Semi’s calm, clever idea.

When the code breaks, don’t panic - ask a question that points at the bug, and the fix appears.

A grown-up can play too! Next time something you built doesn’t work - a recipe, a shelf, a bit of code - resist the urge to start over or just grumble. Instead, ask together: “Where exactly did it go wrong? What happened right at that spot? What did we tell it to do there?” Watch how a good, specific question turns a frustrating mess into a solvable puzzle.

When the hero finally reaches the flag after Semi’s question uncovers the bug and the fix goes in, Semi gives a small, satisfied nod. “See? Not broken forever - just one question away from fixed. That’s all a bug ever is.” And she’s already curious about the next one, because to Semi, every bug is just a good question waiting to be asked.

Ask the question, find the bug. That’s Semi.

The scriptquest ensemble

Semi is part of scriptquest's distributed-narrative cast. Each character embodies a different curricular primitive; together they teach the full subject.