Chapter 34
Susan sat alone in Node 3, waiting
for her tracer.
Hale had decided to step outside and get some air–a decision
for which she was grateful.
Oddly, however, the solitude in Node 3 provided little
asylum. Susan found herself struggling with the new connection between Tankado and Hale.
“Who will guard the guards?”
she said to herself. Quis custodiet
ipsos custodes. The words kept circling in her
head. Susan forced them from her mind.
Her thoughts turned to David, hoping he was all right.
She still found it hard to believe he was in
Spain. The sooner they found the
pass-keys and ended this, the better.
Susan had lost track of how long she’d been sitting there waiting for her tracer. Two hours?
Three? She gazed out at the deserted
Crypto floor and wished her terminal
would beep. There was only silence. The late-summer sun had set. Overhead,
the automatic fluorescents had kicked on. Susan sensed
time was running out.
She looked down at her tracer and frowned.
“Come on,” she grumbled. “You’ve had plenty of time.” She palmed her mouse and clicked her way into her tracer’s
status window. “How long have you
been running, anyway?”
Susan opened the tracer’s status window–a digital clock much like the one on TRANSLTR; it displayed
the hours and minutes
her tracer had been running.
Susan gazed at the monitor expecting to see a readout of hours and minutes.
But she saw something
else entirely. What she saw stopped the blood
in her veins.
TRACER ABORTED
“Tracer
aborted!” she choked aloud.
“Why?”
In a sudden panic, Susan scrolled wildly through the data, searching the programming for any commands that might have told the tracer to abort. But her search went in vain. It appeared
her tracer had stopped
all by itself. Susan knew this could mean only one thing–her
tracer had developed a bug.
Susan considered “bugs” the most maddening asset of computer programming. Because computers followed a scrupulously precise order of operations, the most minuscule programming errors
often had crippling effects. Simple
syntactical errors–such as a programmer mistakenly inserting a comma instead of a period–could bring entire systems to their knees. Susan had always
thought the term “bug” had an amusing origin:
It came from the world’s
first computer–the Mark 1–a room-size maze of electromechanical circuits built in 1944 in a lab at Harvard University. The computer
developed a glitch one day, and no one was able to locate
the cause. After hours of searching, a lab assistant finally
spotted the problem. It seemed a moth had landed on one of the computer’s circuit boards and shorted it out. From
that moment on, computer glitches were
referred to as bugs.
“I don’t
have time for this,” Susan cursed.
Finding
a bug in a program was a process
that could take days. Thousands
of lines of programming needed to be searched to find a tiny error–it
was like inspecting an encyclopedia for a single
typo.
Susan knew she had only one choice–to send her tracer again. She also knew the tracer was almost guaranteed to hit the same bug and abort all over again. Debugging the tracer
would take time,
time she and the commander didn’t
have.
But as Susan stared
at her tracer,
wondering what error she’d made, she realized
something didn’t make sense. She had used this exact same tracer last month with no problems at all. Why would
it develop a glitch all of
a sudden?
As she
puzzled, a comment Strathmore made earlier echoed in her mind.
Susan, I tried to send the
tracer myself, but the data it returned was
nonsensical.
Susan heard the
words again. The data it returned…
She cocked her head. Was it possible? The
data it returned?
If Strathmore had received data back from the tracer, then it obviously was working.
His data was nonsensical, Susan assumed, because he had entered
the wrong search strings–but nonetheless, the
tracer was working.
Susan immediately realized that there was one other possible explanation for why her tracer aborted. Internal programming flaws were not the only reasons
programs glitched; sometimes there were external forces–power surges,
dust particles on circuit boards, faulty
cabling. Because the hardware in Node 3 was so
well tuned, she hadn’t even
considered it.
Susan stood and strode quickly
across Node 3 to a large bookshelf
of technical manuals. She grabbed a spiral binder marked SYS-OP and thumbed through. She found what she was looking for, carried the manual
back to her terminal,
and typed a few commands.
Then she waited
while the computer
raced through a list of commands
executed in the past three hours. She hoped the search would turn up some sort of external interrupt–an abort command generated by a faulty power
supply or defective chip.
Moments later Susan’s
terminal beeped. Her pulse quickened. She held her breath and studied the
screen.
ERROR
CODE 22
Susan felt
a surge of hope. It
was
good news. The fact that
the inquiry had found an
error code meant her tracer
was fine. The trace had apparently aborted due to an external
anomaly that was unlikely
to repeat itself.
Error
code
22.
Susan racked
her
memory trying to remember
what code
22
stood
for.
Hardware failures
were so rare in Node 3 that
she couldn’t
remember the numerical codings.
Susan flipped
through the SYS-OP manual,
scanning the list of error codes.
19: CORRUPT HARD
PARTITION
20: DC SPIKE
21: MEDIA FAILURE
When she reached
number 22, she stopped
and stared a long moment.
Baffled, she double-checked her monitor.
ERROR
CODE 22
Susan frowned
and returned to the SYS-OP manual.
What she saw made no sense. The explanation simply read:
22: MANUAL ABORT
No comments:
Post a Comment