Nutworks magazine

The Inter-Net Virtual Magazine Which States
That Life Is A Four Letter Word.

November 1985 Issue 3, Volume II. NutWorks is Published
monthly. Leonard M. Friedman aka Spock ( CALBC821@CUNYVM)
Virtual Editor in Chief.

From the Bridge

Captains Log:
Stardate 850611
Commander Spock Reporting.

Approximately one and a half years ago something appeared on bitnet
that would change interpersonal relationships on the network forever.
For it was then the first chat machine appeared. A chat for anyone
who might not know is similar to a CB on the computer. In other words
you send one message and everyone on the channel you are signed onto
will see that message.

The very first chat appeared in Maine and provided people with an
excellent way to meet fellow students and discuss Life, The Universe,
and Everything, which alot of the time had something to do with
computers. Discussions included recent political events, sharing
of ones problems and many virtual friendships were born and a large
number of them went beyond being virtual into real relationships where
the people met and remained friends.

The chat at Maine was short lived and was taken down volluntarily
by the person who wrote it for reasons unknown to me. It was soon
replaced by CHAT@PSUVM1 which would become the model for future chats
to aspire to. Discussions there also varied widely and were very kept
in good taste not to affend anyone. If anyone had personal business
to discuss with a fellow netter they simply created a private password
protected channel and went there and could talk in whatever manner
they wished without offending anyone. Hence everyone was happy except
for the staff who said that chatting wasted too much CPU time; placed
to much of a load on the network, and was generally disruptive. This
eventually spelled the end of the CHAT at PSUVM.

During this time many chats popped up and died. It became an
adventure to try and keep up with the chats that were currently active
and those that had been shut down. Some of the chats worth mentioning
are Multi-Talk, Missing Link, and various others...

Out Of the chats grew something called "Conferencing machines",
Relay and Forum are examples. Relay and Forum have the same basic
concept as chats with a few differences (which will be the discussion
of a future article on the evolution and history of chats and
conferencing systems). The main difference that I want to point out
is that many schools decided that they would tolerate them on a
trial basis.

The Conferencing machines are a great and wonderful thing when used
with "PROPER DISCRETION". There are several rules that constitute
proper discretion:

1) Thou shalt not chat and take up a terminal when other
people are waiting that have to do work. (For those who
will say that I am hogging a terminal and being
disruptive myself when doing this magazine allow me to
point out the fact that I have my own terminal at home
and hence am bothering no one, nor preventing anyone
from doing any work.) In some schools they can just
throw you off the terminal if you are just sitting there
chatting and preventing others who need to do work from
doing so. I think that this policy should be implemented

2) Thou shalt not be abusive to fellow users. It is
apparent that many of the new users do not know what
abusive means so i will explain further.

a) Thou shalt not curse. Not only is it not neccessary,
but it is offensive to people.

b) Thou shalt not be generally obnoxious to other
chatters. Try and keep things in GOOD TASTE will

c) Thou shalt not enagage in so called computer-sex,
compu-sex, bitsex, or whatever you want to call it.
In other words to the girl who has caused such a
fire on csnews flame I don't care if you are wet
between the legs !!! What a slut !!! SHEESH !!! If
you must do that type stuff, at least take it to a
private channel !!!

d) Thou shalt not send pictures over chats. Not only
is it annoying to those people who are on slow
modems, but it increases RSCS network traffic

e) Thou shalt not send multiple messages (repeating the
same message over and over). SEE D FOR REASONS.

3) The main thing is SIMPLE CONSIDERATION, nothing more.

NutWorks News

1) Nutworks will be avialable for Bitnet users on the Forum Confer-
encing system via the /getf Nutworks Issue### command. Back issues
have already been placed on Forum. For Usenet users it will be avail-
able through Alan ( ALAN@NCSUVM.bitnet). For more information please
consult the NutWorks Info File availalbe in a solar system near you !!!

2) The Staff has decided that on top of distributing NutWorks through
the Forum Conferencing System to create a mailing list. To get yourself
added to this list send a memo with your account, node, and name (First,
Last) to any of the following:

Lenny aka Spock CALBC821 @ CUNYVM (Bitnet)
Scott aka Orion CSCSRH @ CCNYVME (Bitnet)
Alan aka Alan Alan @ NCSUVM (Bitnet, Usenet)

Note: Names are strictly for reference purposes.

3) I recently discovered that all the issues of NutWorks from when
Brent was still running NutWorks (Issue 1 - 4, Vol I) are Available on
SERVER at TAMCBA as well as the Forum Conferencing System. I have sent
them Vol II. TAMCBA is 12 nodes from CUNYVM I think.

5) Brent CJ Britton is no longer involved with NutWorks. Please DO
NOT send any correspondence to him.

Straight from the Horse's Mouth

After unbearable inquision concerning the spelling of the word
'NutWorks', Brent C.J. Britton, our founder, had this to say:

"Well, 'NutWorks' is just this word, you know ? I mean, at
first we were going to call it 'Networks' or 'Networx' or something,
the implication being that the magazine is a collection of works
from around the net. But once it became obvious that we were going
to be putting out a HUMOR magazine, we changed the 'net' to 'nut.'

"The 'W' is capitalized just to make the distinction between the
two words 'Nut' and 'Works.' It can therefor be derived that
NutWorks is a collection of 'works' done by a bunch of 'nuts' from
the 'net.' "Actually, off the record, it's a Soviet ploy. You see,
'NutWorks', when converted to hex, is 'd5a4a3e6969992a2' which
happens to be the firing sequence code on a bunch of Soviet nuclear
missles or something.

I don't know... they told me to use 'NutWorks' and they'd pay
me a whole sh*tload of money... hey, turn that tape recorder off!!
Hey! Get back here! Oh Sh*t.."

Software for Nothing

by: Brent CJ Britton

With appoligies to Mark Knopfler.

I waaaant my.. I waaaant my... I waaaant my C-R-T......

Now look at them hackers,
That's the way ya' do it.
Ya' play with mem'ry that you cannot see.
Now that ain't workin, that's the way ya do it.
Get your software for nothing and your chips for free.

Now that ain't workin, gotta CPU-it.
Let me tell ya, them guys ain't dumb.
Maybe crash the system with your little finger,
Maybe crash the system with your thumb.

We got to install micro-data-bases,
Gotta make things run like a breeeeze.
We gotta help these foreign students,
We gotta help these mindless E.E.'s...

The little Hacker with the Pepsi and the Munchos:
Yeah, buddy, don't like to SHARE...
The little Hacker got his own compiler,
The little guy don't change his underwear.

We got to install the latest debugger,
Under budget, and optimiiiiiiized.
We got to have more muddy-black coffee,
We got a green glow in our eyyyyyyes...

I shoulda' learned to play with Pascal.
I shoulda' learned to program some.
Look at that drive, I'm gonna stick it on the channel,
Man, it's better than the old one...

And who's up there, what's that? Beeping noises?
He's bangin on the keyboard like a chimpanze.
Oh that aint workin, that's the way ya do it,
Get your software for nothin', get your chips for free.


Name: CATT - Completely Autonomous Touring Tester

Manufactured by: MOMCATT - Makers Of Many CATTs
Anytown USA (Offices around the World)


Low Power CPU
Self Portable Operation
Dual Video Inputs
Dual Audio Inputs
Audio Output
Main Input Multiplexed with Error Output
Auto Search for Input Data
Auto Search for Output Bin
Auto Learn Program in ROM
Auto Sleep When Not in Use
Wide Operating Temp. Range
Self Cleaning

Production Details

After basic construction, the unit undergoes 6 weeks of ROM
programming and burn-in testing. MOMCATT will typically reject
inferior products, but sometimes people will salvage rejected
units. These factory seconds may or may not perform the same as
units that pass the standard acceptance testing. All of the
previously listed features are installed during this interval.
Since MOMCATT uses many different suppliers, there is wide
variation between the individual units. Some of the component
matching may be so poor that a feature may not even work.
Fortunately, these units are so cheap that replacement is never

Set up and Use

When acquiring a CATT, it is best to visit MOMCAT and see
what units are currently available. The consumer should examine
each unit to verify that all I/O channels are operational. The
user should also look for obvious bugs in or on the system.
Although these bugs are usually trivial and easily removed, they
are indicative of the production environment at the local
MOMCATT outlet. When a CATT has been selected, it should be put
in a suitable packing case for transport to the new operating
environment. Failure to properly package a CATT may result in
damage to the unit or injury to the user.

When the CATT is first brought up, it should be in a quiet
room, with only the primary user(s) present. The CATT should be
taken out of the shipping crate and the self learning program
should be started by showing the CATT the output bin. The next
step is to show the CATT the input bin(s). Some CATTs need more
help getting started than other CATTs. If the user already has
one CATT and is bringing up a second, it may be possible to
download the new CATT from the older more experienced CATT. In
either case, the new CATT should be in self learn mode most of
the first day or two. When the CATT is new, it also has a
tendency to sleep() when the learn buffer overflows. THIS IS
NORMAL. When the learn buffer fills, the CATT will go to sleep(),
and the DMA system will take over and store the new data in
permanent memory. In a few days, the CATT will be freely
interacting with the operating environment. The user should be
aware that the CATT is still too new to be allowed out of the
home. Full portability comes later, after more extended burn-in
(some users never let the CATT out, this has some advantages,
such as longer unit life). You should also know that if a CATT
gets used to going out, you will have a hard time keeping it
inside for extended periods of time. One other caution, if
allowed out, a CATT may try to port itself to the other side of
the street. Some CATTs have been known to take fatal errors
during this process, errors which are never recoverable.

Your CATT should have it's own system name. This name will
have to be repeated for the CATT many times so that the learn
program reads it correctly. This will be important later on when
you want to get the CATT's attention. Another way to get the
CATT's attention is to boot it. While this is a very effective
method, some users feel that too much booting is akin to abusing
the system. If the CATT knows it's system name, you can cause
the CATT to boot itself by shouting the name at it.

Many users want to play games on their system. CATTs play
games best when they are young. Older CATTs seem to lose their
flexibility, and their joy-sticks lose calibration too. Some of
the better CATT games are: FETCH, MIRROR, STRING, SQRT, JUMP,
and CHASE. FETCH is played the same as with the K-9 system, the
only difference is that the object code must be smaller. MIRROR
is played by placing the CATT in front of a mirror and watching
it attempt to parse itself. Occasionally, the CATT will become
alarm()ed by the mirror image, panic(), and run away. Re-booting
will get it back up. STRING is a game where the CATT parses the
end of a data string that is dragged along the floor. SQRT is a
game for when the CATT does something that you do not like, you
use the well known aversion to water as a form of negative feed-
back. JUMP is a game like STRING, only the data string is moved
through the air and the CATT reaches new heights of parsing.
JUMP may also be played with a stairway or CATT pole. In these
versions, the CATT jumps down instead of up. Some users may
combine the two games for even more action. CHASE is a game that
is played with two CATTs or a CATT and a K-9 system. In this
game, each system takes a turn as the data, while the other
tries to parse it. Many other games are also possible. Some of
these are: SING, and DANCE. These games rely on the CATT's
desire for fishy input data. By tempting the CATT with fishy
data, you can extract many wonderful audio outputs.


CATTs usually require little maintenance. Every year they
should be taken to a VET (Vastly Experienced Technician) for PM.
The VET will check the I/O ports and the operating hardware. Any
problems that arise between visits should also be taken to the
VET. VET fees are usually reasonable. Some CATTs are perodically
plagued by heat problems. A trip to the VET can fix this problem


As CATTs get older they generally become more docile. The
learn program becomes more efficient and they sometimes get too
smart for their own good. Some CATTs even start to watch
television (encourage them to watch NOVA, it is good for them,
esp. shows about birds and spiders). Another good thing for
CATTs is tropical fish (yes, it is hard to believe, but they do
start hobbies). Most CATTs also like to have a few toys. This is
OK until they rip them open to see what is inside. A properly
cared for CATT can give you years of steady service. Many users
like the first so much that they will get a second or even third
CATT. Most people really don't need all the extra capacity, but
they enjoy the more complex games that can be run. I'd like to
hear from other CATT users if they have any special application
programs available. If there is enough interest maybe we can
start a news group called net.micro.catt.

JACKPOTTING: What is it?

(Contributed by the Mad Pirate RAAQC987@CUNYVM)

JACKPOTTING was done rather successfully a while back in
(you guessed it) New York.

What the culprits did was:

Sever (actually cross over) the line between the ATM and the
host. insert a microcomputer between the ATM and the host.
insert a fradulent card into the ATM. (card = cash card, not

What the ATM did was:

Send a signal to the host, saying "Hey! Can I give this guy
money, or is he broke, or is his card invalid?"

What the microcomputer did was:

Intercept the signal from the host, discard it, send a
there is no one using the ATM" signal.

What the host did was:

Get the "no one using" signal, send back a "Okay, Then for
for God's sake don't spit out any money!" signal to ATM.

What the microcomputer did was:

Intercept signal (again), throw it away (again), send "Wow!
That guy is like TOO rich! Give him as much money as he
wants. In fact, he's so loaded, give him ALL the cash we
have! He is really a valued customer." signal.

What the ATM did:

What else? Obediently dispense cash till the cows came home
(or very nearly so).

What the crooks got:

Well, in excess of $120,000 (for one weekend's work), and
several years when they were caught.

This story was used at a CRYPTOGRAPHY conference I attended
a while ago to demonstrate the need for better information
security. The lines between ATM's & their hosts are usually
'weak' in the sense that the information transmitted on them is
generally not encrypted in any way. One of the ways that
JACKPOTTING can be defeated is to encrypt the information passing
between the ATM and the host. As long as the key cannot be
determined from the cipher text, the transmission (and hence the
transaction) is secure.

A more believable, technically accurate story might concern a
person who uses a computer between the ATM and the host in order
to determine the key before actually fooling the host. As
everyone knows, people find cryptanalysis a very exciting and
engrossing subject ...don't they? (Hee-Hee)

| |--<<<<---| |---<<<<---------/-----\
| ATM | microcomputer / host \
| | | | | |
| | | | \ /
|________|--->>>>--| |--->>>>----------\----/

I know the person that accomplished this feat, here in Orange
County. In the following, "B of A" = Bank of America.

in the very recent past:

The B of A ATM's are connected through dedicated lines to a
host computer as the Bishop said. However, for maintenance
purposes, there is at least one separate dial-up line also going
to that same host computer. This guy basically BS'ed his way over
the phone until he found someone stupid enough to give him the
number. After finding that, he had has Apple hack at the code.

Step 2:

He had a friend go to an ATM with any B of A ATM card. He
stayed at home with the Apple connected to the host. When his
friend inserted the card, the host displayed it. The guy with the
Apple modified the status & number of the card directly in the
host's memory. He turned the card into a security card, used for
testing purposes. At that point, the ATM did whatever its
operator told it to do.

The next day, he went into the bank with the $2000 that he
received, talked to the manager and told him every detail of what
he'd done. The manager gave him his business card and told him
that he had a job waiting for him when he got out of school.

Now, B of A has been warned, they might have changed the
system. On the other hand, it'd be awful expensive to do that
over the whole country when only a handful of people have the
resources and even less have the intelligence to duplicate the
feat. Who knows?

"Real Programmers Don't Use PASCAL" PART I

(Contributed by Chris Condon BITLIB@YALEVMX)

Back in the good old days -- the "Golden Era" of computers, it
was easy to separate the men from the boys (sometimes called "Real
Men" and "Quiche Eaters" in the literature). During this period,
the Real Men were the ones that understood computer programming,
and the Quiche Eaters were the ones that didn't. A real computer
programmer said things like "DO 10 I=1,10" and "ABEND" (they
actually talked in capital letters, you understand), and the rest
of the world said things like "computers are too complicated for
me" and "I can't relate to computers -- they're so impersonal". (A
previous work points out that Real Men don't "relate" to anything,
and aren't afraid of being impersonal.)

But, as usual, times change. We are faced today with a world in
which "little old ladies" can get computers in their microwave
ovens, 12-year-old kids can blow Real Men out of the water playing
"Asteroids" and "Pac-Man", and anyone can buy and even understand
their very own Personal Computer. The Real Programmer is in danger
of becoming extinct, of being replaced by high-school students
with TRASH-80's.

There is a clear need to point out the differences between the
typical high-school junior "Pac-Man" player and a Real Programmer.
If this difference is made clear, it will give these kids
something to aspire to -- a role model, a Father Figure. It will
also help explain to the employers of Real Programmers why it
would be a mistake to replace the Real Programmers on their staff
with 12 - year - old "Pac-Man" players (at a considerable salary


The easiest way to tell a Real Programmer from the crowd is by
the programming language he (or she) uses. Real Programmers use
FORTRAN. Quiche Eaters use PASCAL. Nicklaus Wirth, the designer
of PASCAL, gave a talk once at which he was asked "How do you
pronounce your name?". He replied,"You can either call me by name,
pronouncing it 'Veert', or call me by value, 'Worth'." One can
tell immediately from this comment that Nicklaus Wirth is a Quiche
Eater. The only parameter passing mechanism endorsed by Real
Programmers is call-by-value-return, as implemented in the IBM\370
FORTRAN-G and H compilers. Real programmers don't need all these
abstract concepts to get their jobs done -- they are perfectly
happy with a keypunch, a FORTRAN IV compiler, and a beer.

* Real Programmers do List Processing in FORTRAN.

* Real Programmers do String Manipulation in FORTRAN.

* Real Programmers do Accounting (if they do it at all)

* Real Programmers do Artificial Intelligence programs

If you can't do it in FORTRAN, do it in assembly language. If you
can't do it in assembly language, it isn't worth doing.


The academics in computer science have gotten into the "struct-
ured programming" rut over the past several years. They claim that
programs are more easily understood if the programmer uses some
special language constructs and techniques. They don't all agree
on exactly which constructs, of course, and the examples they use
to show their particular point of view invariably fit on a single
page of some obscure journal or another -- clearly not enough of
an example to convince anyone. When I got out of school, I thought
I was the best programmer in the world. I could write an unbeat-
able tic-tac-toe program, use five different computer languages,
and create 1000-line programs that WORKED. (Really!) Then I got
out into the Real World. My first task in the Real World was to
read and understand a 200,000-line FORTRAN program, then speed it
up by a factor of two. Any Real Programmer will tell you that all
the Structured Coding in the world won't help you solve a problem
like that -- it takes actual talent. Some quick observations on
Real Programmers and Structured Programming:

* Real Programmers aren't afraid to use GOTO's.

* Real Programmers can write five-page-long DO loops without
getting confused.

* Real Programmers like Arithmetic IF statements -- they make
the code more interesting.

* Real Programmers write self-modifying code, especially if
can save 20 nanoseconds in the middle of
a tight loop

* Real Programmers don't need comments -- the code is obvious.

* Since FORTRAN doesn't have a structured IF, REPEAT - UNTIL,
or CASE statement, Real Programmers don't have to worry
about not using them. Besides, they can be simulated when
necessary using assigned GOTO's.

Data Structures have also gotten a lot of press lately.
Abstract Data Types, Structures, Pointers, Lists, and Strings have
become popular in certain circles. Wirth (the above-mentioned
Quiche Eater) actually wrote an entire book contending that you
could write a program based on data structures, instead of the
other way around. As all Real Programmers know, the only useful
data structure is the Array. Strings, lists, structures, sets --
these are all special cases of arrays and can be treated that way
just as easily without messing up your programing language with
all sorts of complications. The worst thing about fancy data types
is that you have to declare them, and Real Programming Languages,
as we all know, have implicit typing based on the first letter of
the (six character) variable name.


What kind of operating system is used by a Real Programmer?
CP/M? God forbid -- CP/M, after all, is basically a toy operating
system. Even "little old ladies" and grade school students can
understand and use CP/M.

Unix is a lot more complicated of course -- the typical Unix
hacker never can remember what the "PRINT" command is called this
week -- but when it gets right down to it, Unix is a glorified
video game. People don't do Serious Work on Unix systems: they
send jokes around the world on UUCP-net and write adventure games
and research papers.

No, your Real Programmer uses OS\370. A good programmer can
find and understand the description of the IJK305I error he just
got in his JCL manual. A great programmer can write JCL without
referring to the manual at all. A truly outstanding programmer can
find bugs buried in a 6 megabyte core dump without using a hex-
calculator. (I have actually seen this done.)

OS is a truly remarkable operating system. It's possible to
destroy days of work with a single misplaced space, so alertness
in the programming staff is encouraged. The best way to approach
the system is through a keypunch. Some people claim there is a
Time Sharing system that runs on OS\370, but after careful study I
have come to the conclusion that they were mistaken.


What kind of tools does a Real Programmer use? In theory, a
Real Programmer could run his programs by keying them into the
front panel of the computer. Back in the days when computers had
front panels, this was actually done occasionally. Your typical
Real Programmer knew the entire bootstrap loader by memory in hex,
and toggled it in whenever it got destroyed by his program. (Back
then, memory was memory -- it didn't go away when the power went
off. Today, memory either forgets things when you don't want it
to, or remembers things long after they're better forgotten.)
Legend has it that Seymore Cray, inventor of the Cray I
supercomputer and most of Control Data's computers, actually
toggled the first operating system for the CDC7600 in on the front
panel from memory when it was first powered on. Seymore, needless
to say, is a Real Programmer.

One of my favorite Real Programmers was a systems programmer
for Texas Instruments. One day he got a long distance call from a
user whose system had crashed in the middle of saving some
important work. Jim was able to repair the damage over the phone,
getting the user to toggle in disk I/O instructions at the front
panel, repairing system tables in hex, reading register contents
back over the phone. The moral of this story: while a Real
Programmer usually includes a keypunch and lineprinter in his
toolkit, he can get along with just a front panel and a telephone
in emergencies.

In some companies, text editing no longer consists of ten
engineers standing in line to use an 029 keypunch. In fact, the
building I work in doesn't contain a single keypunch. The Real
Programmer in this situation has to do his work with a "text
editor" program. Most systems supply several text editors to
select from, and the Real Programmer must be careful to pick one
that reflects his personal style. Many people believe that the
best text editors in the world were written at Xerox Palo Alto
Research Center for use on their Alto and Dorado computers.
Unfortunately, no Real Programmer would ever use a computer whose
operating system is called SmallTalk, and would certainly not talk
to the computer with a mouse.

Some of the concepts in these Xerox editors have been incorpor-
ated into editors running on more reasonably named operating
systems -- EMACS and VIbeing two. The problem with these editors
is that Real Programmers consider "what you see is what you get"
to be just as bad a concept in Text Editors as it is in women. No
the Real Programmer wants a "you asked for it, you got it" text
editor -- complicated, cryptic, powerful, unforgiving, dangerous.
TECO, to be precise.

It has been observed that a TECO command sequence more closely
resembles transmission line noise than readable text. One of the
more entertaining games to play with TECO is to type your name in
as a command line and try to guess what it does. Just about any
possible typing error while talking with TECO will probably
destroy your program, or even worse -- introduce subtle and
mysterious bugs in a once working subroutine.

For this reason, Real Programmers are reluctant to actually
edit a program that is close to working. They find it much easier
to just patch the binary object code directly, using a wonderful
program called SUPERZAP (or its equivalent on non-IBM machines).
This works so well that many working programs on IBM systems bear
no relation to the original FORTRAN code. In many cases, the
original source code is no longer available. When it comes time to
fix a program like this, no manager would even think of sending
anything less than a Real Programmer to do the job -- no Quiche
Eating structured programmer would even know where to start. This
is called "job security".

Some programming tools NOT used by Real Programmers:

* FORTRAN preprocessors like MORTRAN and RATFOR. The
Cuisinarts of programming -- great for making Quiche.
See comments above on structured programming.

* Source language debuggers. Real Programmers can read core

* Compilers with array bounds checking. They stifle creat-
ivity, destroy most of the interesting uses for EQUI-
VALENCE, and make it impossible to modify the operating
system. code with negative subscripts. Worst of all,
bounds checking is inefficient.

* Source code maintenance systems. A Real Programmer keeps his
code locked up in a card file, because it implies that its
owner cannot leave his important programs unguarded.

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


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


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 have added a few jumpers.
The Milliamp Falcon can run current loops around any Imperial
TTY fighter. She is fast enough for you." "Who is 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 complement-
ed 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
is the nearest file?" "3 to 5 there is 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

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 will unlink in time," said
Solo. "We're going in."

Stay tuned as for are next issue whe we find out how Luke,
Con and the good Princess get out of this fine mess they're
in. --Ed


(Contributed By Knappy 8350428 @ UWAVM)

mnemonic meaning
-------- -------
FB Find Bugs
FCJ Feed Card and Jam
FDR Fill Disk Randomly
FFF Form Feed Forever
FLD FLing Disc
FLI Flash Lights Impressively
FM Forget Memory
FMP Finish My Program
FOPC [Set] False Out-of-paper Condition
FPC Feed Paper Continuously
FPT Fire Photon Torpedoes
FRG Fill with Random Garbage
FSM Fold, Spindle and Mutilate
FSRA Forms Skip & Run Away
GBB Go to Back of Bus
GCAR Get Correct Answer Regardless
GDP Grin Defiantly at Programmer
GDR Grab Degree and Run
GENT GENerate Thesis
GESE Generate Exciting Sound Effects
GEW{JO} Go to the End of the World {Jump Off}
GID Generate Input Device
GIE Generate Irreversible Error
GLC Generate Lewd Comment
GMC Generate Machine Check
GMCC Generate Machine Check and Cash
GND Guess at Next Digit
GOD Generate Output Device
GORS GO Real Slow
GRAB Generate Random Address & Branch
GREM Generate Random Error Message
GREP Global Ruin, Expiration and Purgation [UNIX]
GRMC Generate Rubber Machine Check
GS Get Strange [ randomly inverts bits being fed to the
instruction decoder"
GSB Gulp and Store Bytes
GSI Generate Spurious Interrupts
GSU Geometric Shift Up
HAH Halt And Hang
HCF Halt & Catch Fire
HCP Hide Central Processor [ makes virtual CPU's act like
virtual memories"
HCRS Hang in Critical Section
HDO Halt and Disable Operator
HDRW Halt and Display Random Word
HELP Type "No help available"
HF Hide a File
HGD Halt, Get Drunk
HHB Halt and Hang Bus
HIS Halt in Impossible State
HOO Hide Operator's Output
HRPR Hang up and Ruin Printer Ribbon
HUAL Halt Until After Lunch
IA Illogical And
IAI Inquire and ignore
IAND Illogical And
IBR Insert Bugs at Random
ICB Interrupt, crash and burn
ICM Immerse Central Memory
ICMD Initiate Core Melt-Down
ICSP Invert CRT Screen Picture
IDC Initiate Destruct Command
IDI Invoke Divine Intervention
IDPS Ignore Disk Protect Switch
IEOF Ignore End Of File
IF Invoke Force
IGI Increment Grade Immediately
IGIT Increment Grade Immediately Twice
II Inquire and Ignore
IIB Ignore Inquiry & Branch
IIC Insert Invisible Characters
IIL Irreversable Infinite Loop
IM Imagine Memory
IMPG IMPress Girlfriend
INCAM INCrement Arbitrary Memory location
INOP Indirect No-op
IO Illogical Or
IOI Ignore Operator's Instruction
IOP Interrupt processor, Order Pizza
IOR Illogical OR
IP Increment and Pray
IPS Incinerate Power Supply
IPS Increment Processor Status
IPT Ignite Paper Tape
IRB Invert Record & Branch
IRB Invert Record and Branch
IRC Insert Random Commands
IRE Insert Random Errors
IRPF Infinite Recursive Page Fault
ISC Ignore Supervisor Calls
ISC Insert Sarcastic Comments
ISI Ignore Silly Instructions
ISI Increment and Skip on Infinity
ISP Increment and Skip on Pi
ITML Initiate Termites into Macro Library
IU Ignore User
JAA Jump Almost Always
JFM Jump on Full Moon
JHRB Jump to H&R Block
JIL Jump In Lake
JM Jump Maybe
JMAT JuMp on Alternate Thursdays
JNL Jump when programmer is Not Looking
JOM Jump Over Moon
JRAN Jump RANdom [ not to be confused with IRAN - Idiots
JRCF Jump Relative and Catch Fire
JRGA Jump Relative and Get Arrested
JRN Jump RaNdom
JRSR Jump to Random Subroutine
JT Jump if Tuesday
JTR Jump To Register
JTZ Jump to Twilight Zone
JWN Jump When Necessary
KCE Kill Consultant on Error
KUD Kill User's Data
LAGW Load And Go Wrong
LAP Laugh At Program(mer)
LBTPS Let's Blow This Popsicle Stand (Context switch)
LCC Load & Clear Core
LCD Load and Clear Disk
LCK Lock Console Keyswitch
LEB Link Edit Backwards
LIA Load Ineffective Address
LMB Lose Message & Branch
LMO Load and Mug Operator
LMYB Logical MaYBe
LN Lose inode Number [UNIX]
LOSM Log Off System Manager
LP%PAS Line Printer - Print And Smear
LP%RDD Line Printer - Reverse Drum Direction
LP%TCR Line Printer - Tangle and Chew Ribbon
LPA Lead Programmer Astray
LRD Load Random Data
LSBL Lose Super BLock [UNIX only]
LSPSW Load and scrample PSW
LWM Load Write-only Memory
MAB Melt Address Bus
MAN Make Animal Noises
MAZ Multiply Answer by Zero
MBC Make Batch Confetti
MBH Memory Bank Hold-up
MBTD Mount Beatles on Tape Drive
MBTOL Move Bugs to Operator's Lunch
MC Move Continuous
MD Move Devious
MDB Move & Drop Bits
MDDHAF Make Disk Drive Hop Across Floor
MLP Multiply and Lose Precision
MLR Move & Loose Record
MLSB Memory Left Shift & Branch
MMLG Make Me Look Good
MNI Misread Next Instruction
MOP Modify Operator's Personality
MOU MOunt User [causes computer to screw you once again]
MOVC Move Computer
MPLP Make Pretty Light Pattern
MSGD Make Screen Go Dim
MSIP Make Sure Plugged In
MSR Melt Special Register
MST Mount Scotch Tape
MT%HRDV MagTape - High speed Rewind and Drop Vacuum
MTI Make Tape Invalid
MW Malfunction Whatever
MWC Move & Wrap Core
MWT Malfunction Without Telling
NEGP NEGate Programmer
NTGH Not Tonight, I've Got a Headache
OCF Open Circular File
OH OverHeat
OML Obey Murphy's Law
OPP Order Pizza for Programmer
OSI Overflow Stack Indefinitely
OTL Out To Lunch
PADZ Pack Alpha & Drop Zones
PAS Print And Smear
PAUD PAUse Dramatically
PAZ Pack Alpha Zone
PBC Print & Break Chain
PBD Print and Break Drum
PBM Pop Bubble Memory
PBPBPBP Place Backup in Plain Brown Paper Bag, Please " for
stealing code"
PBST Play Batch mode Star Trek
PCI Pleat Cards Immediate
PCR Print and Cut Ribbon
PD Punch Disk
PEHC Punch Extra Holes in Cards
PFE Print Floating Eye [Roguers look out!]
PFML Print Four Million Lines
PI Punch Invalid
PIBM Pretend to be an IBM
PIC Print Illegible Characters
PIC Punch Invalid Character
PIRI Print In Red Ink
PLSC Perform light show on console
PNRP Print Nasty Replies to Programmer
PO Punch Operator
PPA Print Paper Airplanes
PPL Perform Perpetual Loop
PPP Print Programmer's Picture
PPSW Pack program status word
PRS PRint and Smear
PSP Print and Shred Paper
PSP Push Stack Pointer
PSR Print and Shred Ribbon
QBB Query Bit Bucket
QWA Quit While Ahead

NutWorks Staff

Editor in Chief Lenny aka Spock CALBC821 @ CUNYVM
Associate Editor Scott aka Orion CSCSRH @ CCNYVME
Distribution Manager Alan aka Alan Alan @ NCSUVM
Distribution FORUM Steve aka Segger STEVE @ BITNIC