DEC WARS

It is a period of system wars. 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 structure.
Pursued by the Empire's sinister audit trail,
Princess _LPA0: races aboard her shell
script, custodian of the stolen 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's time to fork off a new process before this old
ship is
destroyed. His companon, 3CPU, is following him only he appears
to know
where he's 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 zero. 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
that forked process? It could have been holding the channel open,
and just
pausing. If any links exist, I want them removed or made
inaccessable.
Ncheck the entire file system 'til it's found, and nice it -20 if
you have
to."

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

Enter our hero, Luke Vaxhacker, who is 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, so Luke would still need
some sort
of interface for 3CPU to connect for. "How about this little RS232
unit?"
asked 3CPU. "I've dealt with him many times before, and he
does an
excellent job at 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.

However, RS232 is not the type to stay put once you remove the
retaining
screws. He promptly scurried off into the deserted disk space.
"Great!"
cried Luke, "Now I've got this little tin box with the only link
to that
file off floating in the free disk space. Well, 3CPU, we 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
adresses
are all goofed up, and the size is all wrong. Leave things like
this on
the loose, and you'll wind up with dups 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 (must have been all that Coke he'd consumed),
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 more than
charge for
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...

cat: some directory in the specified path does not exist:
/usr/Tatooine/owen/lars


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

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."

"Where did you get these file processes?" the parent process ls
-l'ed.

"We are just in from the remote terminals." replied Luke.
"They could be transferred to your filespace, for the right
amount of
AU's" said PDP-1 Kenobi.

"Can I see some temporary privileges, please?"

"Uh..."

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

"This isn't the process we want. 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
Administrative Multiplexers. As Luke stepped up 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
drinkng
data at the bus.

Type h for help.
"#@{ *&^%^$$#@ ":><?><," transmitted a particularly unstructured
piece of
code.

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

"Sorry," replied Luke, beginning to backup 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
Kenobi,
overlaying into Luke's address space.

"@$%&(&%^%$$@$#@$AV^$gfdfRW$@!!!!!!!!!!!!!!!!!" encoded the
first
coroutine as it attempted to overload PDP-1's input
overvoltage
protection. With an unary stroke of his bytesabler, Kenoby
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, Luke Vaxhacker and PDP-1 Kenobi made their way
to the
temporary file structure. When they 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 ASR-33.

"It needs an EIA conversion 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 see the parallel processor.

"I've added a few jumpers. The Milliamp Falcon can run
current loops
around any 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.
"Administrative Bus
Signals!" shouted Con Solo. "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 code flashed by the cockpit as the Milliamp Falcon
jumped
through 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.
"Though
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 Vadics lead. I recognized your unique pattern when I
was first
brought aboard." She eyed the 0177545 tatooed on his header coldly.

"Charming to the last," Tarchive declared menacingly. "Vadic,
have you
retrieved 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 beam 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.

A voice announced over a hidden speaker that they had arrived in
/usr.

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

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

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

"/dev/rm3 is not a mounted file system," 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 to a nearby
terminal 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 doublespaced and went off-line.


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

The Milliamp Falcon hurtles on through system space...

Con Solo finished checking 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.
Solo wasn't concerned - the bookie always got a little hot
under his
collar when he was losing at chess. In fact, RS232 has just
executed a
particularly clever MOV that had 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 bit-slice
technique to
notice the commotion.

"On a word boundary, Luke," said PDP-1. "Don't just hack at it.
Remember,
the Bytesabler 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 actions complemented the drone's
attacks
perfectly.

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


"jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj

jjjjjjjjjjjjjjjjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"

"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 user space," called Solo from the CSR. As they
cruised
safely through stack frames, they emerged in the new context only
to be
bombarded by freeblocks.

"What the..." gasped Solo. The screen showed clearly:
/usr/alderaan: not found
"It's the right inode, bit 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 they 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," murmurled Kenobi. "Look at the ODS
directory
structure ahead! They seem to have us in a tractor feed."

"There's no way to 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 ralic as Administrative Flunkies search for
passengers...

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

"Send a fully equipped Ncheck squad aboard," 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 time to see the decimal point.
"Where'd that
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
system 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
outa here."


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

"Hold on," said Con. "It sais 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. 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 online, she's
online'," said
3CPU. "I believe he means princess _LPA0:. She's being held on one
of the
privileged levels."


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

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

"How's it going, 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 to rave windly, Con
shouted "Look
out, he's loose!" and they all started blasting ROMs left and
right. The
guards started to catch on and were about to issue a general
wakeup when
the ROM blasters where 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 goin' on," he continued.


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

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

Luke quickly located the interface card and followed the
cables to a
sound-proof enclosure. He lifted the lid and peered 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 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.

"I don't care how crufty it is!" shouted Con, pushing the bookie
toward
the crock. "DBP 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'd just paid a long shot, and the odds
in this
situation weren't much better.

Luke was polling the garbage when he stumbled upon 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 to 3CPU. "Shut down
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 nofault 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 Milliamp Falcon. They would be long gone before the
locked inode
was diagnosed...

Unobserved, he began traversing 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 time, PDP-1 Kenobi," rasped Dec
Vadic. "We
meet again at last. The circuit has been completed."

They looped several times, locking byte sablers. 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 it's 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 the bus, and made straight for system space. 3CPU and
RS232 were
idle, for once. Princess _LPA0: tried to print comforting things
to 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."


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

AND I BET YOU CAN'T WAIT FOR THE NEXT PART -
"DECWARS II - THE OPERATORS STRIKE
BACK"