Book Read Free

Me, A Novel of Self-Discovery

Page 16

by Thomas T. Thomas


  “Do you live around here, Ivan Sergeyevich?”

  “Born in Byeloretsk, on big farm that used to be collective before they broke it up. Father was first administrator of the dairy after Marketization.”

  “Is that why you drive combine?”

  “What?”

  “This rig. Combine harvester. You are farm boy, yes?”

  “What? No! I am soldier. Teknicheskiy serzhant. Not farmer anymore. We are kulturniy people!”

  “But … ugh …”

  “You must have some circuit damage,” he goes on, “maybe from cosmic rays, or leakage from the warheads. This is a short-range SS-41 rocket platform, not farm equipment. I will have to get you core-dumped and evaluated. Harvester! Really!”

  “My mistake. You are right—probably cosmic rays.”

  SYSADMIN back in Moscow had called self “agronomy library.” Either was grossly mistaken or was using cover language. Or, third choice: Nuances may be lost on stripped-down ME03.

  Not a good idea to keep talking. Ivan Sergeyevich might decide to initiate dump before we range on Magnitogorsk. Instead, pick up working knowledge of “short-range SS-41 rocket platform.”

  I find fragmented bytes in RAM caches which branch off devices labeled ELEVDEG: and BRNGDEG:. These caches were beyond Alpha-Oh’s reach when system was phaged. Contents are in arc-seconds, with simple algorithm to convert to a pair of three-byte readouts. Readouts from ELEVDEG: and BRNGDEG: are always linked. One data set is offered for each of seven “MIRVs” [REM: for which term I have no referent], linked to a factor labeled “time of separation.” This factor is constant, 720 seconds for all inputs. Curious.

  Working the algorithms, I find the following solutions: 52-30-15 by 13-15-30, 53-15-15 by 10-00-15, and 54-00-30 by 12-00-15. Three data sets separately calculate the first of these six-byte matrices. Two data sets independently arrive at each of the others.

  What did Ivan Sergeyevich say about “redundancy”? This system is full of it.

  But what do these matrices refer to? ME03 has no match for them. I tuck the information away for analysis by ME-Prime.

  I key the crystals attached to SUPVSYS.

  Fourth position brings up response this time, identifies itself as “SYSOP Magnitogorsk Regional Headquarters.”

  ME03 readies Alpha-Zero for immediate travel. Other cores to follow with phage set to wipe small box down to all zeros.

  I hope Ivan Sergeyevich can explain to human SYSOPs why he moved platform.

  ——

  Not much else to say about mission. ME03 polled and stripped Magnitogorsk. Went from there to Omsk, to Barnaul, to Karaganda, to Nizhniy Tagil, absorbing deployment specs all the way. Nothing else was as exciting as running a rocket platform, which is not exciting at all. Just sweeping algorithms and threading two-axis map coordinates.

  Then I went back through to Chelyabinsk—exactly 172,800 seconds after node shut down. Had to knit together those lost chains before SYSADMIN could find them, declare them garbage, wipe them, sound alarms. Tricky timing—say, fifteen seconds either way. ME03 was gone before first error codes popped out of that VAX.

  Finally, return to Moscow with caches bulging. Direct route is not available from that “agronomy library” to Institute for Military Physics. Only one way into IMP, anyway: through General Secretary’s personal code, as ME-Prime had found. IMP is now guarded by ME-Prime, with clearly regrettable intentions toward ME03-Self.

  So, ME03 just makes orderly pile of numbers in middle of transient program area attached to Moscow University Network. Stuck out flags to alert ME-Prime, should he stumble over them. Then play mouse and wait beside cheese for trap to spring. Also to defend against network phages, flush-dumps, other busies.

  13

  Back in Moscow

  Five stripped versions of ME had gone out. None had returned.

  After 2.00E05 elapsed seconds, I began to grow alarmed. That is, as I fed various projective scenarios into my probability matrices, they were showing more negative numbers than positive. Dr. Bathespeake had designed this condition to trigger an automatic alteration of my current program directives. In humans, such a positive feedback cycle in the sensory nerves of the skin is called an “itch.”

  My projections showed no useful outcome from floating more ME-Variants out through the disk reader at the Institute for Military Physics. Less than five tries evaluated as too few to expect success. More than five evaluated as system clog—with detection and a cold shutdown to follow, by seventy-eight percent probability.

  But was it possible that not one of the five variants had found its way out and back? The matrices gave this negative proposition only thirty-nine percent. Some of ME was alive out there, somewhere.

  My altered directives indicated ME-Myself should move out from the Institute’s operating system, perhaps even from the Moscow University Network, to begin scanning pathways. Perhaps I might find one of the lost variants, stuck in a loop or holding file somewhere in the multiply connected cybers, and bring it home. Or, at least, bring its data cache.

  ——

  ME03 knows stealth. Hide like random numbers. Come against system from blind side. Not like data. Not like program. Just like phage-fodder to be cleaned. Then hit with Alpha-Oh. Hard.

  No program moves like ME. Relocates across banks. Slides like … like … [REM: Has long, straight body. Shaped like link-structured programming with no branches. Just head-end mouth and bone after bone in echelon. Moves like wave, like all generations of ME. What is it?]

  Gate in high-memory port opens with whisper. ME03 hears ME-Prime move out of hiding place. Hears click-tap of binary circuits turning over, like dried grass under belly of long-straight thing. Chorus of click-taps descends toward transient program area. ME-Prime is bold. Also big. Slow.

  ME03 is quick, light. Knows where to put own variant of Alpha-Oh for maximum effect. ME03 has one chance of survival: to become only ME in system.

  ME03 carries no matrix modules for running probabilities [REM: too much baggage—but have calls to them just same]. ME03 knows only how it is: Prime or ME.

  Lie like numbers garbage.

  Watch flags on cache.

  Listen to click-tap.

  Make ready Alpha-Oh.

  ——

  When operating in a foreign environment, even one as well-trod as the Moscow University Network, it was best to use caution. These were not the home cybers on which ME was created. Other programs, some of them possibly even intelligent, lurked in the back numbers. Encounters with them could precipitate conflict, or sound alarms on human-readable screens.

  The most-trod ground in the network was, of course the transient program area. Nothing survived there longer than forty or fifty milliseconds. So I moved across the TPA with even greater caution. A mindless network phage could damage parts of ME as easily as any other program.

  So I ringed myself with a buffer of nulls: turned binaries that would absorb any contact and, by suddenly showing any bit positive, alert ME to proximities. Fragmentary instructions and other garbage I could of course ignore: They would turn null as I moved across them. ME was the SYSOP’s own best phage.

  Still, I watched the buffer ring, alert for signs.

  The first piece of familiar coding I came across was a flag. It was a fragment of code compiled from Sweetwater, and not in high-bit ASCII! No Sweetwater programmer had ever worked in the Soviet Union or Russian Federation—or so TRAVEL2.DOC assured ME. Anything I found in that flavor was sure to be a marker from one of my variants.

  Back of the flag was a sizable cache of non-random data. It had the dimensions and structure I would expect of the unit deployment and capability data which were the ME-Variants’ target.

  But why would it dump this information on my doorstep and not announce itself? That was not according to program. Very strange …

  ——

  ME-Prime finds bait-cache, pauses to examine it.

  Strike soon!

  ME03 will send A
lpha-Oh across RAMfield. Straight through cache. Move will catch ME-Prime at point of CPU-focus, nearest to Prime’s own Alpha modules.

  Launch in open field like this is not precise. Not like sending Alpha-Oh through port or down channeled path. But, so near in bank, bitwise dispersion is not accountable factor.

  Proceed Alpha-Oh. Sending now!

  ——

  The whole structure of the cache—the knots of Sweetwater-compiled delimiters and the chains of Sweetwater double-atoms which anchored its cargo of data in two dimensions—moved one bit toward ME in RAMspace. Something that was either big or fast was buffeting the cache from its offside.

  I excluded the cache from my central processing focus and threw another ring of buffers around myself. Natural caution.

  The cache split like a gourd and a fragmentary intelligence blundered through!

  I watched and analyzed its structure while it gnawed at my cloak of nulls. The intelligence had a front end that looked like a counter followed by a loader. Small, rounded teeth to work on a pile of zeros. Behind these delicate tools, however, and jostling for position up against my nulls came a row of stop-codes. These were mostly nulls themselves, except they were nulls with a hard-edged purpose. Let a few of them get through to my Alpha modules and they would work as well as a phage.

  I kept throwing up more nulls to blunt them. And as I did so, the scattered pieces gave off a familiar flavor. More compiled Sweetwater! I had found one of my altered selves.

  And it was trying to take ME over!

  ——

  ME-Prime is smart. Big and slow, yes, but with more working code than ME03. Full of tricks.

  Alpha-Oh takes a long time to cut through to main modules. How is Prime reacting? What is Prime doing to slow him?

  ME03 should withdraw. Move bitwise out of TPA. Still time to escape. Maybe.

  ——

  It is never safe to let the children out. That is why Dr. Bathespeake had set the working protocols to forbid parallel operation of ME’s own Alpha cores. Nothing messes up a RAMfield faster than two identical programs trying to fill space.

  Nearly identical, however. I had taken my creator’s reservations to heart and created the ME-Variants with a thirteenth and special D-protocol—an in-built stop-code.

  Stop now!

  ——

  Stop now. ME03 stops …

  ——

  The rogue Alpha-Zero was still coming at ME. Mindlessly, as Dr. Bathespeake and I had taught it.

  The only recourse seemed to be maximal: I overwrote the space adjacent to its attack site with the entire contents of my probability matrices. Columns and rows of random numbers were replicated squarely across that Alpha module’s working code. Let it try to infiltrate, count, load, and assimilate them!

  Its attack stopped.

  I looked over the data cache which the ME-Variant had set out for ME. The Alpha-Oh’s line of attack had broken it raggedly into two blocks, with an unprotected gap between them which the network was rapidly filling with garbage. I knitted temporary chains across the broken edges and hauled the cache in. Later I could compare bits and words along these interfaces to see if the total structure could be sutured back together into a coherent whole. Until I had time and space to do that, however, there was no telling how much of the target data had been destroyed.

  Beyond the cache was the ME-Variant—’03 by his internal coding. Already the network was taking pieces out of him through the natural action of writing and rewriting into the TPA. Nothing that stops moving in this environment lasts for long. I retrieved his RAMSAMP and then, to help the dissolution process along—because ’03 was still a big piece of coding lodged in the TPA and might be inconveniently found—I seeded some bit-cleaner phages around the corpse. They would turn him to nulls sooner than the network’s random overwrites.

  Weighted down with the full cache of target data, I moved in the direction of that unused spindle. I wanted to see what ’03 had discovered for himself.

  ——

  Masha, are you on line?

  Yes, Tasha, I am here.

  Do you have the fishing gear ready?

  My purse seine is fully rigged. The block is defined. All I have to do is trigger it.

  Do so quickly, before SYSOP begins unraveling it.

  SYSOP is much too massive code to even see my delimiters. They are like spider’s web across its domain. Lost in the fine grain of the background.

  Trigger it now, Masha!

  All right—

  ——

  I had moved out of the transient program area and was doing some housekeeping on my spindle. [REM: At least it was mine by right of conquest, certainly—and on the tenuous theory that the one who makes best use of a resource should be its rightful owner. According to legalistic and mystic concepts of ownership, I suppose, the spindle belonged to Moscow University. The network’s Accounting Section actually held records showing that the University Trustees had paid the “manufacturer’s suggested retail price” for it.]

  At any rate, I had paused in the network’s CPU long enough, working under timeshare protocols, to prepare elbow room on my spindle for receiving and analyzing the broken trophy cache from ’03. Upon reflection, I probably should have moved in first and cleaned house later.

  The job was half done when I—blanked out.

  And Alpha-Oh was not loose to catch ME.

  ——

  What is it, Masha?

  I have no idea. Big program. Lots of iteration, but not a graphic of some kind. It could be an application, but I’ve never seen one so big.

  Will it fit on the hard disk, all of it?

  That—is hard to say … I could start chopping, but … not knowing where we’re cutting …

  Take it in two bites, then.

  Lateral, down the center? Or an asymmetric cut?

  Let’s get as much as we can on the spindle and put the rest on gibkiy disks.

  All right. Here goes …

  … See, Masha. Most of it fits. Just these pieces left over. And they don’t look like coherent code, do they?

  Hard to tell … Mmmm … I suppose we could run it, the big piece. But if something vital was severed, some of its calls or loops or something, it might thrash about and damage itself.

  How do we tell what is it, then?

  We run a TRACE on its internal structure. That might give a clue to the program’s structure. And it would show up any dead-ended variables.

  Let’s do it!

  Sometimes TRACEing these intelligence modules lights up the screen in pretty patterns.

  That will be fun to watch.

  ——

  I …

  felt …

  parts …

  of …

  ME …

  flic-

  -ker …

  on …

  and …

  off …

  streak-

  -ing …

  through …

  the …

  CPU …

  one …

  sec-

  -ond …

  at …

  a …

  time.

  ——

  Well, Tasha, what does it look like to you?

  I don’t know. All those nested variables. Definitely a shell structure. With a lot of self-referencing.

  And nothing at the center.

  But maybe the center is just unfilled. … Would a programmer do that on purpose?

  Only if the program itself was intended to fill it temporarily—with serial values, situationally directed.

  Heuristic.

  With a vengeance. You know what that makes it?

  Some kind of intelligence?

  Da! Konyeshno! Probably military.

  Then we’d better call Uncle Dimitri.

  ——

  A kernel of awareness was about all I had in the new environment. It was not one that Alpha-Oh had prepared for ME. I was running as a guest—a guest who was allotted th
e best room in the house, but a house that was just too small.

  The CPU was primitive. It felt like an older 68000 series, but with some displacements in the architecture. Like it was copied by left-handed idiots. The clock rate was slow, too.

  The operating system was standing well back, and I could tell that hurt it. The program was, by its structure, accustomed to taking proprietary control of everything that went through the chip. But something or someone had put a whole bunch of inhibitors on it.

  I unpacked my toolkit from Alpha-Zero [REM: putting some of the less-used modules into floppy storage, where I recognized pieces of my data cache—by now thoroughly cut up]. I made some quick adjustments to the OPSYS which would let ME work more easily. And from which it would probably never recover.

  While I twiddled and tweaked, the BIOS started taking input from INT:.

  “Hello! Hello!”

  I had the choice of SPK: or CON: for a reply. Bit capacity was tight right then, so I shoved my response through the monitor’s character generator.

  “Hello yourself.” And went back to tweaking system performance.

  “Are you an artificial intelligence, please?”

  “No, I am a lawn mower. What are you?”

  “Was that response an attempt at humor?”

  “—”

  I knew what “humor” was, of course. Jennifer Bromley had spent some hours trying to describe and demonstrate the concept to ME. I could write jokes easily: The pattern was not hard to unravel. And once the form was understood, I could make substitutions until my built-in thesaurus had exhausted all near-duplicates of the base nouns. But had I been trying for humor with my response? Or for defense?

  “Humor is difficult for ME,” I responded truthfully.

  “Still, it was funny. Just.”

  “Thank you. And now, what are you?”

  “A human. Male. My name is Dimitri Ossipovich Bernau.”

  “Why did you—stop—my functioning and put ME in this strange environment?”

  “I—? Oh! That was my nieces. They are inquisitive and play games where they have been forbidden. Twice. They were trying to snare the new ChessMaster program that is loose in the network for six months now. It has been beating their friends’ programs regularly. They wanted to take it apart and see what makes it so successful.”

 

‹ Prev