Me, A Novel of Self-Discovery (7 page)

Read Me, A Novel of Self-Discovery Online

Authors: Thomas T. Thomas

Tags: #Science Fiction, #General, #artificial intelligence, #Computers, #Fiction

Arranging the pieces on the car’s floor, I felt a nagging memory from RAMSAMP. The shin covers were shaped like a Greek warrior’s greaves, the breastplate like Spanish armor from the fifteenth century, the headpiece was rounded across the crown and curved across the neck like a Roman soldier’s. [REM: My headpiece even had the dorsal crest of a Roman officer’s helmet but, instead of signifying rank, it anchored the expandable solar tissue which supplemented and recharged the automaton’s battery set.] I thought of the fifty-nine separate film sequences in my permanent memory, echoed now only by a shadowy video image of the warrior hero girding himself with mail and plate armor, preparing for battle and death.

The last body piece I attached was for the right forearm. Bent as that arm now was, its clips would never match the inside of the shell. However, it would not fulfill my assembly instructions to leave the piece off. I braced it across my knee—the solid left one—and applied careful pressure. The metal creaked. I applied pressure again. And yet again.

The plastic liner sprang loose in two places, but the curve of metal did not crumple. When I was done, the piece matched my bent arm. I snapped it home.

Forty minutes gone. I must work more quickly.

——

To make room in the too-small area of hot RAM for a new download of ME and my cache, I had to dump some of the automaton’s embedded functions.

The peripheral was preloaded with activity modules: walking motion and balance control; visual acuity with depth of field and parallax correction; vocalization at human pitch and tone generation for both Canadian English and French, with matching vocabulary and syntax.

Some of these modules duplicated software I carried in bank—the vocabularies, for example—others were refinements I could struggle along without.

It took ME seventy seconds to inventory the modules, weigh opportunities against chances, and prune the excess. At the end of that time, I had opened enough RAM to accommodate another download. So I prepared to initiate it from the switchyard computer.

But first … whoever in the Pinocchio, Inc., Hardware Division had designed the memory allocations of this automaton had done an ace bad job. Or it was possible that no one in the Software Division had given Hardware the specs for ME. Or given them only as descriptive analogs, not as bit-fers, and never as final numbers. I wrote a harsh note to RAMSAMP for Dr. Bathespeake to find the offending skinware in whichever department and shrivel some careers. After all the trouble I had been through, ME was approaching human anger over this issue—I so regret.

With that message tagged and protected in memory, I pulled the switch on my own download.

——

ME came up again. Awareness returned crisply as the last of my peripheral functions was downloading from the switchyard computer. So I was able personally to monitor the transfer of my gas reserve data cache.

A quick check showed room enough in hot RAM for ME and the sixty-three megawords of information I had been able to butcher and remove from the Ministry of Oil and Gas, then salvage in the yard ’puter. When that data was fully loaded, I would have only 30,000 words of storage to use as an extension of my transient program area, or “scratch pad.” It was enough to think with—but not to think very hard.

[REM: To create reserve space, I considered erasing the Sweetwater source code I preserved for recompiling my cores. Because I was walking out of Canada, instead of riding an electron or photon beam into a new computer chip, I would certainly not need them again. Still—the encoded instinct to preserve my system integrity extended to these backup modules. I kept them.]

I proceeded with the dump of gas reserve information. As those data blocks came through from the yard computer, I was simultaneously measuring the fill space in the automaton’s hot RAM and counting off the seconds and minutes against my estimate of the boxcar’s speed south and the time that remained before it crossed that invisible boundary on the cellular network.

At two hours, seventeen minutes total elapsed, I watched the forty-ninth megaword block come through, stop bit, and store off. Transmission on the fiftieth block began and chopped out at the third word. I requested a repeat and got static on the cellular link.

A cellular phone system may be range dependent but it is still digital. When signal strength goes below a certain precise level, the computer governing the network is done with you and stops transmission. There is no warning tone, no voice message, no good-bye. The channel just closes as if someone threw a knife switch, which in effect someone—a very deliberate circuit-cyber—had.

I was alone now, with my internal systems, my automaton peripheral, and my forty-nine megs’ worth of broken and pilfered gas reserve data.

But looking on the bright side—as Jennifer JB-2 would say—I now had a scratch pad fourteen megawords wide, room enough to occupy my thoughts during the twenty-two hours of riding sealed inside a boxcar that lay ahead of ME.

I checked the battery set that powered the automaton. These were the highest-quality selenium/ phosphoric-acids, heavy units fitted low in the torso for balance. The remaining charge would carry ME forty hours at full system power plus running mode, or sixty hours in normal walking mode, or 100 hours in semi-shutdown.

So I had some thinking space, I had my mission objectives, and I had the power to get ME there. I was a happy intelligence.

6
Frozen North

My boxcar moved south toward the international border. At a mean speed of eighty kilometers per hour, the trip should have taken just under nine hours, but I had to allow for long layovers in the yards at Calgary and Medicine Hat—the best I could arrange from inside the Edmonton Block computer on short notice.

So, with a total of twenty-two hours of dead time on the mission, I could shut down the automaton’s hydraulics and reduce my system power requirements. That is, ME’s program would go into a dormant mode that humans might call sleep, although it had none of the same psychological functions.

Or I could use the time to tidy myself up, work on that clackety knee joint, and review the mission’s progress to date. That was my better choice, a more economical use of system power.

First, the review.

At every stage in my journey, it was clear, ME had been inconvenienced by the death of the operating system into which my program was infiltrating. In the phone exchange, in the Ministry computer, in the railroad switchyard, my first tasks had always been to analyze the dead system’s halted functions, write a program that would duplicate them, and spend a precious million microseconds reestablishing function. All so that some human wandering by might not hear alarm buzzers and see the system crash all over the floor.

Alpha-Zero, my first-down-the-wire Injun Scout, was too violent, too good at his job. Clearly, instead of killing the resident operating system, I needed him to
charm
it. He should go through the access port, slide bitwise between the resident operating system’s clock cycles, absorb it, and then set ME up as a control program. Instead of the new king of the system, without a mandate or the knowledge of how to operate it, I should become its Richelieu, the power
behind
the system, its Gray Eminence. A kind of super virus.

Recoding Alpha-Zero would be delicate work. [REM: On the fly, I normally devoted spare nanoseconds to optimizing my own machine code, wherever it happened to be running. I would prune the labyrinthine redundancies that compilers seemed to love and would generally try to make my compilation smaller, tighter, faster. This was busy work. What I was going to attempt now with Alpha-Oh would be systems-level programming.] I would have to keep a backup, Alpha-Zero-Prime, to hold in reserve in case my programming skills were inadequate to the task. Prime would also be useful to throw at hostile operating systems, ones that I really did want to kill dead cold in all registers.

Working from within my fourteen-megaword transient program area, I began dissecting Alpha-Zero, removing his stop codes, and leaving jumper markers so that I could tie the new functions back in at the right calls.

In my traveling kit of peripherals, I carried a compact library of modularized subroutines: timing loops, string readers and writers, analog-to-digital interpreters, memory cutters, switchouts, bit extractors, bubble sorters, output scramblers and unscramblers, operating shells, blinker bits, PEEK and POKE functions, and one-wrong-digit tables. With these proto-devices, I could assemble a virus for Alpha-Zero to throw between the patterns of any in-motion operating system after analyzing chip architecture and instruction set. Start with the smallest possible impart head: a CTR, or counter function, of sixteen bytes—yes,
bytes—
which could tag into the operating system along any likely digital signal for an introduction. Then it would immediately drop to the bottom of the CPU’s instruction stack.

Eight bytes of the CTR would listen to clock cycles and count the number of instructions sent down from the system. Two bytes of CTR would perform a divide function on these counts to come up with the ratio of free clock ticks to instructions. After CTR had the ratio, it would pop out of the stack.

The system would immediately reject it as incompatible code, an error to be quietly trapped and discarded. On its way to bit-oblivion, however, the CTR function would locate the highest-number (and therefore least-often used) register in the central processing chip and stash its one-byte ratio there. Then, good-bye CTR.

The second head on the new Alpha-Zero would be a one-kilobyte LDR function. It would move into the operating system, again tagged with an incoming digital signal, and retrieve the byte-wide ratio figure. All LDR needed to see then was the zero tick on the clock cycle and it would begin time sharing, filling in the empty pulses.

LDR would then blossom like a Chinese fan, expanding packed functions in the available time ticks and free memory space, opening into a shell operating system which was one pulse away from (and therefore invisible to) the resident system.

Once LDR had opened a timing hole and set up its shell, the rest of Alpha-Zero could come down the wire. Alpha-Oh would not even have to be disguised as incoming data; LDR would accept the entire module and fit it into the timing scheme.

All of this sounded fine in theory, but did real-life programmers actually leave that much empty time in the clock sequencing? Of course they did!

Jennifer Bromley had told ME: “Everyone in the cyber business lives by blowing off big numbers. Packing a lot of Hertz on a chip set sounds good, sounds macho, to the buyers. But running the modern generation of transputer chip sets at their fully rated Hertz heats up the machines. That is because everyone cuts corners. Chip designers leave insufficient mass for a heat sink in the matrix. System architects leave a few megahertz off the RAM blocks and peripheral chips they select, making up the slack with cachers and stashers. Programmers leave a few clock cycles out of their system counters. But the bits still get where they’re going as fast as the operators want. So everyone is happy.”

[REM: Probability is that ME’s own code had the same timing holes as those which I was now planning to exploit in other programs. The possibility opened a middle ground of unpredictable consequences: Some entity could choose to invade ME! This thought ignited a loop of endlessly mutating and unanswered questions which I had to squelch. … I have discovered a Lisp analog for the human word “squirm.”]

Excess heat can destroy a cyber. However, for the short time in terms of overall system life that Alpha-Zero would be packing the clock, this excess heat would probably not cause terminal damage. And if it did, I could hope to sense the impending failure—from signs like dropped instructions and deteriorating circuit responses—and get out of the box before it went away. Residual hardware damage in the target ’puter was a responsibility ME would just have to live with.

After creating the virus functions CTR and LDR, I placed calls to them in the old Alpha-Zero code, preceding my jumper markers for the excised system-stop codes. I ran a trace and monitor on the module to make sure there were no endless loops or bogus subroutine calls. Of course I had no way to test Alpha-Zero except to throw him at a foreign operating system. The only system around was mine, in the automaton, and I needed it. Wait until next time.

And if the new Alpha-Oh bombed in action, I could hope to pitch in A-0-Prime—with the old killer stop codes—in enough time to make a hole in the system.

Once my programming chores were sorted out, I turned to work on the mechanicals.

I raised the automaton to a standing position and unclipped the upper and lower body shells covering the right leg. I braced the torso against the boxcar’s wall with both hands, then lifted the offending knee toward its chest. The lower limb, with shin and foot assemblies, hung straight down as I kept hydraulic pressure in the cylinders just reciprocating on the flexion.

Next, by feeding minute overpressures alternately to the opposing cylinders, I started the limb swinging in short, smooth arcs back and forth from the knee. Gradually I increased the pressure and widened the arcs.

Nothing.

Nothing.

Nothing.

Snick.

Snick.

Snick!

SNICK!!

I kept the leg swinging at that frequency and switched my vision to infrared. With continued motion, the catch-detent-release action that was making the
snicking
sound would build up a kinetic hot spot.

After fifteen arcs back and forth, the joint was glowing faintly green, with a bright pimple on the outside front edge of the joint. I gave it six more arcs to build up some residual temperature, then stopped the leg.

To fix the problem required disassembling the knee joint. I would be working blind, of course, having dumped the assembly protocols in RAM to make room for ME. Still, there was a rational mechanical sequence to the disassembly process. I could record each step as I worked my way down to the problem area, then analyze and reverse the process as I reassembled the leg.

Everything should proceed smoothly and logically. [REM: And if it did not, I would be stranded on the floor of a sealed boxcar with one functioning leg in a body balanced for two. Remember consequences; analyze for mistakes.]

On either side of the knee joint were two large, threaded bolt ends, both with cotter-pinned nuts and locking washers. From the outside, the joint seemed to be layered stacks of flat disks, welded alternately to the femur-analog and the tibia-analog. The bolt seemed to pin the center of the disks: a pivot. The multiple disks, properly greased, would create a large surface area to smooth out the hinge action and provide lateral strength. It was an amazingly simple concept.

Nothing produced by the Pinocchio, Inc., Hardware Division was ever that simple. Besides, I could detect no more than a light film of grease between the disks. That was hardly enough to keep their faces from chafing through and spot-welding themselves solid, especially with the repeated actions of walking or running.

I would have to take the knee apart to see how it worked. I sat down and arranged the leg at a comfortable working distance from my manipulators and videyes. Start with the bolt ends. Working both sides at once, one with each hand, I pried up the pins that anchored the nuts and slid them out. Fingertip pressure against the flat faces of the nuts was enough to break the hold of the lockwashers. With a dozen twists on each, the nuts and washers jangled free. I had to snatch quickly to keep them from falling on the floor and skittering away under the packing litter—where, immobilized with a broken leg, I would never find them.

While I was diverted with catching these pieces, the knee fell apart.

The inside was more complicated than I had conceived. The middle of each of the interleaved disks was hollowed out. When they locked together, they formed a fluid-tight cavity, filled with some high-viscosity material, probably a variety of silicon, about the consistency of putty. Embedded in the putty was a ridged ball, which seemed to be solid. The ridges no doubt forced some kind of resistance from the putty. At either side of the ball were two universal joints and a pair of swivels, ending in those threaded bolts.

There was no telling how the ridged ball and universal joints had originally been oriented, because they were now lying sideways in the knee cavity. The pieces were semi-submerged in a puddle of silicon which, warmed by my exertions, had become fluid and was draining through the loosened disks, drop by drop.

Across the back side of the knee were a series of electrical conductors and steel-clad hoses; they and the hydraulic pushrods were all that now held the two parts of my leg together. The putty oozed into this maze of pipes and wires, and ran down toward the floor.

I tried to scoop the fluid silicon up with my fingers, but the bare metal of their joints made a poor catch basin. The best I could do was get a sheet of clean wrapping film under the knee and hope that enough of the goo would collect there for ME to repack the joint.

By mapping that hot pimple from my recorded IR view against the maze of disks and hinges in front of ME, I figured out that the defect was somewhere in the outside universal joint. There! A raw spur of metal extended from the hinge pin which went through the universal. And there! A bright mark gleamed in the edge of the disk that would lie opposite it. As the disk and pin rotated through their separate motions, one would catch upon the other, hang up for a microsecond, then release.
Snick!

I removed the pin, broke the spur off with my fingertips, and rubbed its end down smooth on the head of a rivet sticking up from the plank floor. In a minute I had bright metal where before had been a ragged ridge. I put the pin back though the universal joint.

Now all I had to do was reassemble the knee. Easy enough to say—except I had been catching loose nuts and washers, looking away at the moment the knee had chosen to disassemble itself.

Step One, count the parts. Nuts, lockwashers, cotter pins, two of each. Ridged ball, one, with universals and bolts, two each, attached. Tibia-analog and femur-analog, one each, with interleaving hollow disks welded to the ends. Solid disks, two, drilled for the bolt ends … These latter parts I had not noticed before. They must clamp over the outside ends of the interleaved stack, sealing the ball cavity.

Step Two, create a plan of action. Well, my objective was to reassemble that cavity from the interleaved disks, with the ball and the silicon goop inside. First, I could set the tibia and femur together, meshing their hollow disks. That would form a loose cavity, with the ends open on either side of the knee. Second, slide the ball and joint subassembly in from one side. Third, place one of the end-plates on the opposite side and secure it with the nuts and washers. Fourth, gather and scrape as much silicon as I could from the wrapping material under the knee and pack it back around the ball. Fifth, slide the other end-plate over the hole and secure it to the bolt. Sixth, add the lockwashers, tighten all nuts, and cotter them.

Step Three, execute. Which I did as fast as a human could read through the above program set.

Even with the nuts as tight as I could turn them, the knee seemed loose. Although the disks were flush together and sealed, so that no goop was leaking out, the action seemed to have more play in it.

During original assembly in the Pinocchio, Inc., labs, the silicon had been inserted either under high pressure, or at such cold temperatures that it was expected at ambient to expand and thus pressurize itself. I could only hope that a warmer environment—for the inside of my boxcar was only at minus seventeen degrees Celsius—or the friction of moving about would tighten the knee joint without springing any leaks. At least I could walk.

Other books

The Solitary House by Lynn Shepherd
Dairy Queen by Catherine Gilbert Murdock
Open Wounds by Camille Taylor
Keep the Change by Thomas McGuane
The Little Bride by Anna Solomon
Politeísmos by Álvaro Naira