Read Books Novel

Digital Fortress

He would have called North Dakota himself, but he didn’t have a phone number for him. Numataka hated doing business this way-with someone else in control.

The thought had crossed Numataka’s mind from the beginning that the calls from North Dakota could be a hoax-a Japanese competitor playing him for the fool. Now the old doubts were coming back. Numataka decided he needed more information.

He burst from his office and took a left down Numatech’s main hallway. His employees bowed reverently as he stormed past. Numataka knew better than to believe they actually loved him-bowing was a courtesy Japanese employees offered even the most ruthless of bosses.

Numataka went directly to the company’s main switchboard. All calls were handled by a single operator on a Corenco 2000, twelve-line switchboard terminal. The woman was busy but stood and bowed as Numataka entered.

"Sit down," he snapped.

She obeyed.

"I received a call at four forty-five on my personal line today. Can you tell me where it came from?" Numataka kicked himself for not having done this earlier.

The operator swallowed nervously. "We don’t have caller identification on this machine, sir. But I can contact the phone company. I’m sure they can help."

Numataka had no doubt the phone company could help. In this digital age, privacy had become a thing of the past; there was a record of everything. Phone companies could tell you exactly who had called you and how long you’d spoken.

"Do it," he commanded. "Let me know what you find out."

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

Chapter 35

Becker stared in shock at Rocio. "You sold the ring?"

The woman nodded, her silky red hair falling around her shoulders.

Becker willed it not to be true. "Pero… but…"

She shrugged and said in Spanish, "A girl near the park."

Becker felt his legs go weak. This can’t be!

Rocio smiled coyly and motioned to the German. "El queria que lo guardara. He wanted to keep it, but I told him no. I’ve got Gitana blood in me, Gypsy blood; we Gitanas, in addition to having red hair, are very superstitious. A ring offered by a dying man is not a good sign."

Chapters