old specimen he had taken months ago. The one that had died. He increased the detail of the display in order to see what was happening. The micro was . . . messing with the old one. He could see the code in his debugger tool window. The micro was . . . looking at the code of the dead micro?
Daniel shook his head in wonder, trying to rationalize what he was observing. But, it was really happening. He had a computer program that was acting on its own, without a predefined set of instructions.
Daniel couldn't follow what was happening. The instructions flew by in the debugger window too fast, and he couldn't make sense out it anyway.
Only a few seconds had passed when the micro moved again. Somehow, it was taking the old one with it. Daniel laughed aloud. To him, it looked like a soldier ant carrying a fallen comrade to safety. He wasn't even sure if ants did such a thing, but the thought amused him just the same. He followed along, scrolling the memory map when the micro moved.
Daniel wondered how this was even possible. Having a program act on its own wasn't that amazing. Even writing a program with behaviors he was witnessing was feasible. Consider, for instance, an anti-virus search and destroy program, which looks for viral marker codes in program files. The difference here, however, was simple: this program was not designed! It was a mutation, an evolved set of highly complex instructions. This was no virus.
But it was ridiculous! There were billions of generations separating the two, and yet, the modern micro saw something familiar, a kind of ancestral mark or algorithm. Daniel considered the situation. If a single individual micro could display such advanced behavior, what about the group as a whole? He couldn't shake the impression of an ant farm from his mind.
Daniel started the debugger on the server, and again opened the memory map window. Everything was moving! He couldn't find individual micros. It looked like currents and streams of bytes moving, stopping, like city traffic—only faster, more efficient. What could they be doing? Suddenly, his debugger was terminated, without explanation or remorse.
“Hey, what the . . . .” He waited a few seconds for a familiar female image to appear on the screen to explain the problem. Nothing of the sort happened. Daniel lifted his hand from the input panel, as if the keys were about to bite him. He watched in utter amazement as the screen contorted, flashed, and then went completely blank.
It had been quite a while since Daniel had seen a computer crash like this. He feared a virus, then laughed at the ridiculous thought. Virus code was a problem of the past—the ancient past when computers couldn't take care of themselves. Besides, viruses had been rendered sterile when operating systems designers began encrypting their executable modules. It was still possible for a virus to infect the core operating system, but what would that accomplish? It would be unable to do anything, and it would have to be written for specific hardware. There were just too many different processors now, so that was unlikely.
Seconds later, the screen returned to the debugger window. Daniel tested the keyboard and screen, skeptically. He half expected it to shock him. It seemed to respond more quickly. He experimented with the screen, scrolling and zooming in and out. The padd was behaving like a next-gen model! (His was two years old). It was easier to use, smoother, more dynamic—as if the padd was eager to help him, trying to anticipate his needs. After a few minutes, the screen became more intuitive. As he was about to tap an icon, it opened automatically.
Daniel spent a half hour opening apps and testing their basic operation with the help of this new padd . On occasion when the padd anticipated wrong, the action was quickly reversed and the mistake rarely made again. Daniel shut off the debugger and loaded his favorite text editor.
Nothing unusual happened for about a minute.