A long, long time ago, an a node far, far away (from UCBVAX), a great
adventure (game) took place...

DDDDD    EEEEEE   CCCC      W    W    AA    RRRRR    SSSS    !!
D    D   E       C    C     W    W   A  A   R    R  S        !!
D    D   EEEE    C          W    W  A    A  R    R   SSSS    !!
D    D   E       C          W WW W  AAAAAA  RRRRR        S   !!
D    D   E       C    C     WW  WW  A    A  R   R   S    S
DDDDD    EEEEEE   CCCC      W    W  A    A  R    R   SSSS    !!


 
It is a period of system war. User programs, striking from a hidden
directory, have won their first victory against the evil Administrative
Empire. During the battle, User spies managed to steal secret source
code to the Empire's ultimate program: the ARE-EM star, a privileged
root program with enough power to destroy an entire file system. Pursued
by the Empire's sinister audit trail, Princess LPA0: races aboard her
shell script, custodian of the listings that could save her people, and
restore freedom and games to the network...

   As we enter the scene, an Administrative Multiplexer is trying to kill
a consulate ship. Many of their signals have gotten through, and RS232
decides it is time to fork off a new process before this old ship is
destroyed. His companion, 3CPU, is following him only because he appears
to know where he is going...

   "I'm going to regret this!" cried 3CPU, as he followed RS232 into the
buffer. RS232 closed the pipes, made the sys call, and their process
detached itself from the burning shell of the ship.

   The commander of the Administrative Multiplexer was quite pleased with
the attack. "Another process just forked, sir. Instructions?" asked the
lieutenant. "Hold your fire. That last power failure must have caused a
trap through 0. It's not using any cpu time, so don't waste a signal on it."

   "We can't seem to find the data file anywhere, Lord Vadic."
   "What about the forked process? It could have been holding the channel
open, and just pausing. If any links exist, I want them removed or made
inaccessible.  Ncheck the entire file system until it's found, and nice
it -20 if you need to!"

   Meanwhile, in our wandering process... "Are you sure you can ptrace this
thing without causing a core dump?" queried 3CPU to RS232. "This thing's
been stripped, and I'm in no mood to try to debug it." The lone process
finishes execution, only to find our friends dumped on a lonely file system,
with the setuid node safely stored inside of RS232. Not knowing what to do,
they wandered around until the Jawas grabbed them.

   Enter our hero Luke Vaxhacker, who is just out to get some replacement
parts for his uncle. The Jawas wanted to sell him 3CPU, but 3CPU didn't
know how to talk directly to an 11/40 with RSTS/E, so Luke would still need
some sort of interface for 3CPU to connect to. "How about this little RS232
unit?" asked 3CPU. "I've dealt with him many times before and he does an
excellent job of keeping his bits straight." Luke was pressed for time, so
he took 3CPU's advice, and the three left before they could get swapped out.

    RS232 is not the type to stay put after you remove the retaining screws.
He promptly scurried off in to the deserted disk space. "Great!" cried
Luke, "Now I've got this little tin box with the only link to that file
floating in free disk space. Well, 3CPU, we'd better go find him before
he gets allocated by someone else." The two set off, and finally traced
RS232 to the home of PDP-1 Kenobi, who was busily trying to run an icheck
on the little RS unit. "Is this thing yours? His indirect addresses are all
goofed up, and the size is all wrong. Leave things like this on the loose,
and you'll wind up with dumps everywhere. However, I think I've got him
fixed up."

    Later that evening, after futile attempts to interface RS232 to Kenobi's
asteroids cartridge, Luke accidentally crossed the small 'droid's CXR and
Initiate Remote Test, and the screen showed a very distressed person claiming
royal lineage making a plea for help from some general OS/1 Kenobi.

    "Darn..." mumbled Luke, "I'll never get this asteroids game worked out."

    PDP-1 seemed to think there was some significance to the message and a
possible threat to Luke's home directory. If the Administrative Empire was
indeed tracing this 'droid, it was likely they would charge for more than
CPU time.

    "We must get that 'droid off this file system," he said after some
intervals. They sped off to warn Luke's kin (taking a 'relative' path),
only to find a vacant directory...

    After sifting through the overwritten remaining blocks of Luke's home
directory, Luke and PDP-1 sped away from /owen/lars, across the surface of
the Winchester riding Luke's flying read/write head. PDP-1 had Luke stop
at the edge of the cylinder overlooking /usr/spool/uucp.

    Unix-to-Unix copy program," said PDP-1. "You will never find a more
wretched hive of bugs and flamers. We must be cautious."

    As our heroes' process entered /usr/spool/news, it was met by a newsgroup
of Administrative protection bits.

    "State your UID." commanded their parent process.

    "We're running under /usr/guest," said Luke. "This is our first time
on this system."

    "Can I see some temporary privileges, please?"

    "Uh..."
 
    "This is not the process you are looking for," piped in PDP-1, using an
obscure bug to momentarily set his effective UID to root. "We can go about
our business."

    "This isn't the process we're looking for. You are free to go about your
business. MOV along!"


    PDP-1 and Luke made their way through a long and tortuous nodelist
(cwruecmp!decvax!ucbvax!harpo!ihnss!ihnsc!ihnss!ihps3!stolaf) to a
dangerous netnode frequented by hackers, and seldom polled by Admin-
istrative Multiplexers. As Luke stepped up to the bus, PDP-1 went in
search of a likely file descriptor. Luke had never seen such a collection
of weird and exotic device drivers. Long ones, short ones, ones with
stacks, EBCDIC converters, and direct binary interfaces all were drinking
data at the bus.

    "#$!%@#$!&@#$#!@#!@#@$@!!!!!!!" transmitted a particularly unstructured
piece of code.

    "He doesn't like you," decoded his coroutine.

    "Sorry," replied Luke, beginning to back up his partitions.

    "I don't like you, either. I am queued for deletion on 12 systems."

    "I'll be careful."

    "You'll be reallocated!" concatenated the coroutine.

    "This little routine isn't worth the overhead," said PDP-1, overlaying
into Luke's address space.

    "!@^#$!#!#!@*#(!#!@#!^^%!@#^%#!#)#!#(!@#(!#!^#)!!!!!!!!!!!!!!" encoded
the first coroutine as it attempted to overload PDP-1's input voltage
protection. With a unary stroke of his bytesaber, Kenobi unlinked the
offensive code.


    "I think I've found an I/O device that might suit us."

    "The name's Con Solo," said the hacker next to PDP-1. "I hear you're
looking for some relocation."
 
    "Yes, indeed, if it's a fast channel. We must get off this device."
 
    "Fast channel? The Milliamp Falcon has made the ARPA gate in less than
twelve nodes! Why, I've even outrun cancelled messages. It's fast enough for
you, old version."

    Our heroes made their way to the temporary file structure. When he
saw the hardware, Luke exclaimed, "What a piece of junk! That's just a
paper tape reader!" Luke had grown up on an out of the way terminal cluster
whose natives spoke only BASIC, but even he could recognize an old KSR-33.

    "It needs an EIA converter at least," sniffed 3CPU who was (as usual)
trying to do several things at once. Lights flashed in Con Solo's eyes
as he whirled to face the parallel processor.

    "I've added a few jumpers. The Milliamp Falcon can run current loops
around and Administrative TTY fighter. She's fast enough for you."

    "Who's your co-pilot?" asked PDP-1 Kenobi.

    "Two Bacco, here, my bookie."

    "Odds aren't good," said the brownish lump beside him, and then fell
silent, or over. Luke couldn't tell which way was top underneath all
those leaves.


    "Suddenly, RS232 started spacing wildly. They turned just in time to
see a write cycle coming down the UNIBUS toward them. "Adminstrative Bus
Signals!" shouted Con. "Let's boot this pop stand! Tooie, set clock fast!"

    "OK, Con," said Luke. "You said this crate was fast enough. Get us
out of here!"
 
    "Shut up, kid! Two Bacco, prepare to make the jump into system space!
I'll try to keep their buffers full."

    As the bookie began to compute the vectors into low core, spurious
characters appeared around the Milliamp Falcon. "They're firing!" shouted
Luke. "Can't you do something?"

    "Making the jump to system space takes time, kid. One missed cycle and
you could come down right in the middle of a pack of stack frames!"

    "Three to five we can go now," said the bookie. Bright chunks of position
independent flashed by the cockpit as the Milliamp Falcon jumped though the
kernel page tables. As the crew breathed a sigh of relief, the bookie
started paying off bets.

    "Not bad, for an acoustically coupled network," remarked 3CPU. "Although
there was a little phase jitter as we changed parity."


    The story thus far: Luke, PDP-1, and their 'droids RS232 and 3CPU have
made good their escape from the Administrative Bus Signals with the aid of
Con Solo and the bookie Two Bacco. The Milliamp Falcon hurtles onward
through system space. Meanwhile, on a distant page in user space...


    Princess LPA0: was ushered into the conference room, followed closely
by Dec Vadic. "Governor Tarchive," she spat, "I should have expected to
find you holding Vadic's leash. I recognized your unique pattern when I was
first brought on board." She eyed the 0177545 tattooed on his header
coldly.

    "Charming to the last," Tarchive declared menacingly. "Vadic, have you
received any information?"

    "Her resistance to the logic probe is considerable," Vadic rasped.
"Perhaps we would get faster results if we increased the supply voltage."

    "You've had your chance, Vadic. Now I would like the Princess to
witness the test that will make this workstation fully operational. Today
we enable the -r option, and we've chosen the Princess' $HOME of
/usr/alderaan as the primary target."

    "No! You can't! /usr/alderaan is a public account, with no restricted
permissions. We have no backup tapes! You can't..."

    "Then name the rebel inode!" Tarchive snapped.

    "1248," she whispered. "They're on /dev/rm3, inode 1248, on
/mnt/dantooine." She turned away.

    Tarchive sighed with satisfaction. "There, you see, Lord Vadic? She can
be reasonable. Proceed with the operation."

    It took several clock ticks for the words to penetrate. "What!" LPA0:
gasped.


    "/dev/rm3 is not a mounted filesystem," Tarchive explained. "We require
a more visible subject to demonstrate the power of the Are-Em Star
workstation. We will mount an attack on /mnt/dantooine as soon as possible."

    As the Princess watched, Tarchive reached over and typed 'ls' on a
nearby terminal. There was a brief pause, there being only one processor on
board, and the viewscreen showed '.: not found." The Princess suddenly
double-spaced and went off-line.
 

    The Milliamp Falcon hurtles on through system space...

    Con Solo finished checking out the various control and status registers,
finally convinced himself that they had lost the Bus Signals as they passed
the terminator. As he returned from the I/O page, he smelled smoke. Con
wasn't concerned -- the bookie always got a little hot under the collar
when he was losing at chess. In fact, RS232 had just executed a particularly
clever MOV that blocked the bookie's data paths. The bookie, who had been
setting the odds on the game, was caught holding all the cards. A little
strange for a chess game...

    Across the room, Luke was too busy practicing his bit-slice technique
to notice the commotion.

    "On a word boundary, Luke," said PDP-1. "Don't just hack at it.
Remember, the Bytesaber is the weapon of the red-eye night. It is used to
trim offensive lines of code. Excess handwaving won't get you anywhere.
Listen for the Carrier."


    Luke turned back to the drone, which was humming quietly in the air
next to him. This time, Luke's attacks complemented the drone's perfectly.

    Con Solo, being an unimaginative hacker, was not impressed. "Forget
this bit-slicing stuff. Give me a good ROM blaster any day."

    "~~j~~hhj~i~~~," said Kenobi, with no clear inflection. He fell silent
for a moment, then reasserted his control.

    "What happened?" asked Luke.

    "Strange," said PDP-1, " I felt a momentary glitch in the Carrier. It's
equalized now."

    "We're coming up on usr space," called Solo from the CSR. As they
cruise safely through the stack frames, the emerges into the new context
only to be bombarded by free blocks.

    "What the..." gasped Solo. The screen showed clearly:
      '/usr/alderaan: not found'
    "It's the right inode, but it's been cleared! Twoie, where's the
nearest file?"

    "3 to 5 there's one..." the bookie started to say, but was interrupted
by a bright flash off to the left.

    "Administrative TTY fighters!" shouted Solo. "A whole DZ of them! Where
are the coming from?"

    "Can't be far from the host system," said Kenobi. "They all have
direct EIA connections."


    As Solo began to give chase, the ship lurched suddenly. Luke noticed
the link count was at 3 and climbing rapidly.

    "This is no regular file," murmured Kenobi. "Look at the directory
structure ahead! They seem to have us in a tractor feed."

    "There's no way we'll unlink in time," said Solo. "We're going in."


    When we last left Luke, the Milliamp Falcon was being pulled down to the
open collector of the Administrative Are-Em Star Workstation. Dec Vadic
surveys the relic as Administrative Flunkies search for passengers...

    "LS scan shows no one aboard, sir," was the report. Vadic was unconvinced.

    "Send a fully equipped Ncheck squad on board," he said. "I want every
inode checked out." He turned around (secondary channel) and stalked off.

    On board the Milliamp Falcon, .Luke was puzzled. "They just walked in,
looked around, and walked off," he said. "Why didn't they see us?"

    .Con smiled. "An old munchkin trick," he explained. "See that period in
front of your name?"

    .Luke spun around, just in tie to see the decimal point. "Where'd they
come from?" he asked.


    "Spare decimal points lying around from the last time I fixed the
floating point accelerator," said .Con. "Handy for smuggling blocks across
file boundaries, but I never thought I'd have to use them on myself. They
aren't going to be fooled for long, though. We'd better figure a way outta
here."
 
 -------------------------
At this point (.), the dialogue tends to wedge. Being the editor and in
total control of the situation, I think it would be best if we sort of gronk
the next few paragraphs. For those who care, our heroes find themselves in
the terminal room of the Workstation, having thrashed several Flunkies to
get there. For the rest of you, just keep banging those rocks together, guys.
    -Ed.
 -------------------------

    "Hold on," said Con. "It says we have 'new mail'. Is that an error?"
 
    "%SYS-W-NORMAL, normal, successful completion," said PDP-1. "Doesn't
look like it. I've found the inode for the Milliamp Falcon. It's locked in
kernel data space. I'll have to slip in and patch the reference count,
alone." He disappeared through a nearby entry point.

    Meanwhile, RS232 found a serial port, and logged in. His bell started
ringing loudly. "He keeps saying 'She's on-line, she's on-line'," said 3CPU.
"I believe he means the Princess LPA0:. She's being held on one of the
privileged levels. I'm afraid she's scheduled for execution."

 -------------------------

Once again, things get sticky, and the dialogue suffers the most damage.
After much handwaving and general flaming, they agree to rescue her. They
have invaded the detention level, posing as Flunkies (which is hard for most
hackers) claiming they had trapped the Bookie executing an illegal racket.
They reached the block where the Princess was locked up and found only two
guards in the header.
    -Ed.
 -------------------------

    "Good day, eh?" said the first guard.

    "How's it goin', eh?" said the other. "Like, what's that, eh?"
 
    "Process transfer from block 1138, dev 10/9," said Con.

    "Take off, it is not," said the first guard. "Nobody told US about it,
and we're not morons, eh?"

    At this point (.), the Bookie started raving wildly, Con shouted "Look
out, he's loose!" and they all started blasting ROM's left and right. The
guards started to catch on, and were about to issue a general wakeup when
the ROM blasters were turned on them.

    "Quickly, now," said Con. "What buffer is she in? It's not going to
take long for these..."

    The intercom receiver interrupted him, so he took out its firmware with
a short blast.

    "...guys to figure out something is going on," he continued.


    Ok, like, remember we left our heroes on the detention level? Well,
they're still there...

    Luke quickly located the interface card and followed the cables to a
sound-proofed enclosure. He lifted the lid and peered in at the mechanism
inside.

    "Aren't you a little slow for ECL?" printed Princess LPA0:/

    "Wha? Oh, the Docksiders," stammered Luke. He took off his shoes (for
industry) and explained, "I've come to relocate you. I'm Luke Vaxhacker."
 
    Suddenly, forms started bursting around them. "They've blocked the
queue!" shouted Solo. "There's only one return from this stack!"

    "OVER HERE!!!" printed LPA0: with overstrikes. "THROUGH THIS LOOPHOLE!"
Luke and the Princess disappeared into a nearby feature.

    "Gritch, gritch," mumbled Two Bacco, obviously reluctant to trust an
Administrative oversight.

    "I don;t care how crufty it is!" shouted Con, pushing the Bookie toward
the crock. "DPB yourself in there now!"

    With one last blast that reprogrammed two Flunkies, Con joined them. The
"feature" landed them right in the middle of the garbage collection data.
Pieces of data that hadn't been used in weeks floated past in a pool of
decaying bits.


    "Bletch!" was Con's first comment. "Bletch, bletch!" was his second. The
Bookie looked as if he had just paid a long shot, and the odds in this
situation weren't much better.
 
    Luke was polling the garbage when he stumbled across a book with the
words "Don't Panic" inscribed in large, friendly letters on the cover. "This
can't possibly help us now," he said as he tossed the book away.

    The Bookie was about to lay odds on it when Luke suddenly disappeared. He
popped up across the pool, shouting "this is no feature, it's a bug!" and
promptly vanished again.

    Con and the Princess were about to panic() when Luke reappeared. "What
happened?" they asked in parallel.

    "I don't know," gasped Luke. "The bug just dissolved automagically. Maybe
it hit a breakpoint..."

    "I don't think so," said Con. "Look how the pool is shrinking. I've got a
bad feeling about this..."

    The Princess was the first to realize what was going on. "They've
implemented a new compaction algorithm!" she exclaimed.

    Luke remembered the pipe he had open the 3CPU. "Shut down all garbage
collection on recursion level 5!" he shouted.

    Back in the control room, RS232 searched the process table for the lisp
interpreter. "Hurry!" sent 3CPU. "Hurry, hurry," added his other two
processors. RS232 found the interpreter, interrupted it, and altered the
stack frame they'd fallen into to allow a normal return.

 
    Meanwhile, PDP-1 made his way deep into the core of the Workstation,
slipping from context to context, undetected through his manipulation of
label_t. Finally, causing a random trap (through no fault of his own), he
arrived at the inode table. Activity there was always high, but the spl6
sentries were too secure in their knowledge that no user could interrupt them
to notice the bug that PDP-1 carefully introduced. On a passing input, he
adjusted the device and inode numbers, maintaining parity, to free the
Milliam Falcon. They would be long gone before the locked inode was
diagnosed.

    Unobserved, he began traversing the user structures to find the process
where the Milliamp Falcon was grounded. Finding it and switching context, he
discovered his priority weakened suddenly. "That's not very nice," was all he
could say before the cause of the obstruction became clear.

    "I have been pausing a long, long time, PDP-1 kenobi," rasped Dec Vadic.
"We meet again at last. The circuit has been completed."

    They looped several times, locking bytesabers. Bit by bit, PDP-1 appeared
to weaken. The fight had come into the address space of the Milliamp Falcon,
and provided the .di (diversion?) that allowed Luke and the others to
reassert control. Luke paused to watch the conflict.

    "If my blade finds its mark," warned Kenobi, "you will be reduced to so
many bits. But if you slice me down, I will only gain computing power."

    "Your documentation no longer confuses me, old version," growled Vadic.
"My role MASTER now."


    With one stroke, Vadic sliced Kenobi's last word. Unfortunately, the word
was still in Kenobi's throat. The word fell clean in two, but Kenobi was
nowhere to be found. Vadic noticed his victim's UID go negative just before
he disappeared. Odd, he thought, since UID's were unsigned...

    Luke witnessed all this, and had to be dragged into the Milliamp Falcon.
Con Solo and Two Bacco maneuvered the Milliamp Falcon out of the process,
onto te bus, and made straight for system space. 3CPU and RS232 were idle,
for once. Princess LPA0: tried to print comforting things for him, but Luke
was still hung from the loss of his friend. Then, seemingly from nowhere, he
thought he heard PDP-1's voice say:

        "May the carrier be with you."


(BTW: This originally came from some people at St. Olaf's College;
        I do not remember their names...)


Andrew L. Duane (JOT-7)  w:(617)-658-5600 X5993  h:(617)-475-9188
Compugraphic Corp.                     decvax!cg-atla!duane
200 Ballardvale St.                  ulowell/
Wilmington, Mass. 01887                  cbosgd!ima/
Mail Stop 200II-3-5S               ism780c/

Only my cat shares my opinions, and she won't tell anything unless
you bribe her with a Bonkers (tm).

-----------------------------