Sign Of The Times

Every software bug is a one-liner. The trick is finding that line.

2017-04-04
Science Fiction

“Rie, it’s always a one-liner.” My dad used to tell me that, me there playing while he tried to fix some software error. A bug hunt, he called it.

“The trick is finding that one line, mija,” he said.

What’s a bug? Human errors in software. Yes, really, and not just humans actually once writing software. There really were actual bugs once, stuck in an ancient computing machine. Mechanical error.

I’ve been on my own bug hunt. I’m dying to tell someone. The Collective captured a black hole! Think about it: endless energy from another Universe.

The time travel, the Slipstream, was an accidental side effect. It’s not easy, to mesh with the AI and control the singularity.

I can do it! So far, I’m the only one.

But not the first; my dad opened the Slipstream, wrote the original software. It worked for him, but no one else understood it. I grok it, but something was still wrong: the bug.

Energy flows. I’ve even slipped into the past. Just one problem, a hard limit: no time travel back past a set date.

Energy flowed, so no one cared about the time travel except me. I had to make it work! I owed it to dad, didn’t I? Hell, I can’t resist a puzzle either.

It’s taken every free minute for months, combing his source code. His code was full of comments, glimpses of his personality.

I never really knew him. He was lost when I was seven. Lost in the Slipstream. I assume. Chasing his bug made me feel like he was with me, scanning line by line.

Finally, it came to me in a dream. Insight. Electric!

Inspiration is her own mistress, and she’s fickle. I jumped out of bed and I still knew the answer!

So simple! A history I read once. An ancient operating system. Eunuch, something like that? I remembered: UNIX. It modeled time as an offset from an arbitrary date. Every instant in time was the number of seconds elapsed since January 1, 1970, the old calendar.

I hauled ass to the lab, half-dressed in my PJ’s. So quiet and dark at 0400! My bleary eyes scanned the bright displays in the dark room.

There! There, right at the top of his program, within the first few lines. The target time was defined as an unsigned long integer. Unsigned. It could only be a positive number. The target could only ever be AFTER that marker in the past. The hard limit.

“A one-liner,” I muttered.

I had it. I removed the word “unsigned” and recompiled with no errors. The kernel rebooted.

Now… I hope – I think – my dad might still be out there. Somewhere. Some when. I can find him. I will find him.

Still, I wonder, was it really a bug? What if he wrote it that way by design?


Comments: