
A long time ago, on a node far, far away (from ucbvax)
a great Adventure (game?) took place...


     XXXXX   XXXXXX   XXXX           X    X    XX    XXXXX    XXXX     X
     X    X  X       X    X          X    X   X  X   X    X  X    X    X
     X    X  XXXXX   X               X    X  X    X  X    X   XXXX     X
     X    X  X       X               X XX X  XXXXXX  XXXXX        X    X
     X    X  X       X    X          XX  XX  X    X  X   X   X    X
     XXXXX   XXXXXX   XXXX           X    X  X    X  X    X   XXXX     X


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 priviledged
root program with enough power to destroy an entire file structure.
Pursued by the Empire's sinister audit trail, Princess Linker races ~
aboard her shell script, custodian of the stolen listings that could
save her people, and restore freedom and games to the network...

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

THE CONTINUING SAGA OF THE ADVENTURES OF LUKE VAXHACKER

As we enter the scene, an Imperial 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 companion, 3CPU, is following him only because 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 Imperial 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 thorough 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
this thing without causing a core dump?" queried 3CPU to RS232.  This
thing's been striped, 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
needed some sort of interface for 3CPU to connect to.  "How about this
little RS232 unit ?" asked 3CPU. "I've delt 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 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 finaly 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 address are all goofed up, and the size is
gargatious.  Leave things like this on the loose, and you'll wind up
with dups everywhere.  However, I think I've got him fixed up.  It
seems that he's has a link to a data file on the Are-Em Star.  This
could help the rebel cause." "I don't care about that," said Luke.
"I'm just trying to optimize my uncles schedualer."

"Oh, forget about that.  Dec Vadic, who is responsible for your fathers
death, has probably already destroyed his farm in search of this little
RS232.  It's time for you to leave this place, join the rebel cause,
and become a UNIX wizard! I know a guy by the name of Con Solo, who'll
fly us to the rebel base at a price."

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

After sifting through the overwritten remaining blocks of Luke's home
directory, Luke and PDP-1 sped away from /u/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 Imperial protection bits.

"State your UID." commanded their parent process.

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

"Can I see some temporary priviledges, 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 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!borman) to
a dangerous netnode frequented by hackers, and seldom polled by
Imperial 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 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 Kenobie,
overlaying into Luke's address space.

"@$%&(&^%&$$@$#@$AV^$gfdfRW$#@!!!!!!!!!!!!!!!!!" encoded the first
coroutine as it attempted to overload PDP-1's input overvoltage
protection.  With a unary stroke of his bytesaber, Kenobie unlinked the
offensive code.  "I think I've found an I/O device that might suit us."

"The name's Con Solo.  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 Kenobie 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 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 face the parallel processor.

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

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

"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.  "Imperial Bus Signals!"
shouted Con Solo.  "Let's boot this popsicle 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."

------------------------------------------------------------------------
<< Princess Linker's capture  and rm of /usr/alderaan >>
------------------------------------------------------------------------

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 the collar
when he was losing at chess.  In fact, RS232 had 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 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 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."

"~~j~~hhji~~," said Kenobie, with no clear inflection.  He fell silent for a
few seconds, and 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 user space," called Solo from the CSR.  As they
cruised safely through stack frames, the 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, 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.

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

"Can't be far from the host system," said Kenobie.  "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 Kenobie.  "Look at the ODS directory
structure ahead!  They seem to have us in a tractor beam."

"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 Imperial Arem Star Workstation.  Dec Vadic surveys
the relic as Imperial 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 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 accross 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."

-----------------------------------------
<< 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 a terminal room of the Workstation, having thrashed several
   Flunkies to get there.  For the rest of you, just keep banging the
   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 Princess LPA0:.  She's being held on one of
the privileged levels."

-----------------------------------------
<< Once again, things get sticky, and the dialogue suffers the most damage.
   After much handwaving and general flaming, they agree to rescue her.
   They headed for the detention level, posing as Flunkies (which is hard
   for most hackers) claiming that 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 ROMs 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 goin' on," he continued.

----------------------------------------------------------------------------
<<stoping the garbage collector from realocating them all>>
----------------------------------------------------------------------------

Luke noticed an unused handler lying around and jumped to it.  The
others followed and were soon able to execute an escape sequence.

Trashing some of its relocation registers caused a frame fault.  He
started working his way back up the return stack when he was
roadblocked by Dec Vadic who stood with his bytesaber active.  "At last
we'll see who the real file master is" he remarked, bits, bytes, words,
and nybbles, flew as the two fought for bus mastership.  PDP-1
exclaimed "You were my best subtask! How could you have been seduced by
the sideband portion of the carrier?".  "It's simple," Vadic said, "I
enjoy obscure protocol".

While the battle continued, Luke, Con, Bookie, and the Princess linked
up with the droids and found their way back to the inode where the
Milliamp Falcon was stored.  It looked quiet, but, Luke said "It could
be an MMU trap" no chance said Con, "I loaded the par's before I left
the Falcon."  As they started toward it a squad of recursive functions
swapped in and started firing ROM blasters at them. "I thought you said
it couldn't be a trap" quipped Luke "I said no chance for an MMU trap
this is obviously a k-mon--f-trap-to 4" Con replied.

PDP-1 shouted at the others "Escape while you can! I'll cause wait
states as long as possible!" and with that he allowed Vadic a chance to
apply several hits with the bytesaber.  Instead of halting PDP-1 was
encoded onto the carrier.

The Milliamp Falcon was restarted and managed to escape the shell.
"Quickly!" shouted Con, "We've got to warp into virtual space!" The
                                                                                                              Bookie made several attempts, but it was obvious that a CE had not done
PM in a long time and it would take a lot of decimal adjusts to byte
align all the data registers.  After much debugging, virtual space was
finally achieved.  "Do you know the path?" asked Princess LPA0. "No
sweat", said Con, "All we have to do is check the free space map".

----------------------------------------------------------------------------
<<rest of star wars, especially the dog fight>>
<<begining of empire strikes back, especially the battle ...>>
----------------------------------------------------------------------------

Some months later...

Luke was feeling rather bored.  3CPU could get to be rather irritating
and RS232 didn't really speak Luke's language.  Suddenly, Luke felt
someone's eyes boring through the back of his skull.  He turned slowly
to see...nothing.  A quiet voice came from somewhere in front of him.

"Grasshopper, the carrier is strong within you."  Luke froze, which was
a good thing since his legs were insisting that he run but they weren't
likely to be particular about direction.  Luke guessed that his odds of
getting lost in the dense tree structures were pretty good.  Unfortunately,
the Bookie wasn't available.

"Yes. Very strong, but the modulation is yet weak. His network interface
is totally undeveloped," the voice continued.  A small furry creature
walked out of the woods as Luke stared on.  Luke's stomach had now joined
the rest of his body in loud complaints.  Whatever was peering at him was
certainly small and furry, but Luke was quite sure that it didn't come
from Alpha Centauri.

"Well, well," said the creature as it rolled its eyes at Luke.  "Frobozz,
y'know.  Morning, name's modem.  What's your game?  Adventure?  D&D? Or
are you just one of those Apple-pong types that hang around the store
demonstrations?"  Luke closed his eyes.  Perhaps if he couldn't see it,
it wouldn't notice him.

"H'mm," muttered the creature.  "Must use a different protocol.  @@@H   @@
@($@@@H          }"@G$    @#@@G'(o%  @@@@@%%H(b ?"

"No, no," stammered Luke.  "I don't speak EBCDIC.  I was sent here to
become a UNIX wizard.  Must have the wrong address."

"Right address," said the creature.  "I'm a UNIX wizard.  Device drivers
a specialty.  Or do you prefer playing with virtual memory?"

Luke eyed the creature cautiously.  If this was what happened to system
wizards after years of late night crashes, Luke wasn't sure he wanted
anything to do with it.  He felt a strange affection for the familiar
microcomputers of his home.  And wasn't virtual memory something that
you got from drinking too much Coke?

------------------------------------------------------------
<< rest of empire strikes back, especially getting to the user haven, a
   directory unconnected to /. >>
-------------------------------------------------------------
<< Return of the Jedi, if and when ... >>
-------------------------------------------------------------


The preceding was written by a number of people, working
piecemeal.  Additions should be posted to the net.  Here at
Case, we think the little inconsistancies just add a little
charm.  Please note that the unsigned stuff enclosed in
<<...>>'s is by Barak Pearlmutter (thats me) while the stuff
enclosed in <<...>>'s signed " --Ed." is by ...!stolaf!borman.

May the Carrier be with you,

Barak Pearlmutter
decvax!cwruecmp!pearlmut

