1027 lines
48 KiB
Plaintext
1027 lines
48 KiB
Plaintext
|
************************************************************************
|
||
|
************************************************************************
|
||
|
*** ***
|
||
|
*** ***
|
||
|
*** NutWorks ***
|
||
|
*** ---------- ***
|
||
|
*** The Inter-Net Virtual Magazine Which States ***
|
||
|
*** That Life Is A Four Letter Word. ***
|
||
|
*** ***
|
||
|
*** ***
|
||
|
*** November, 1985; Issue007, (Volume II, Number 3). ***
|
||
|
*** Current Editor: Leonard M. Friedman. ***
|
||
|
************************************************************************
|
||
|
************************************************************************
|
||
|
|
||
|
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
|
||
|
NETWORK WIDE.
|
||
|
|
||
|
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
|
||
|
ya!
|
||
|
|
||
|
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
|
||
|
unneccessarily.
|
||
|
|
||
|
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.
|
||
|
lmf
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
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.
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
Advertisement
|
||
|
=============
|
||
|
|
||
|
Name: CATT - Completely Autonomous Touring Tester
|
||
|
|
||
|
Manufactured by: MOMCATT - Makers Of Many CATTs
|
||
|
Anytown USA (Offices around the World)
|
||
|
|
||
|
FEATURES
|
||
|
|
||
|
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
|
||
|
difficult.
|
||
|
|
||
|
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.
|
||
|
|
||
|
Maintenance
|
||
|
|
||
|
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
|
||
|
permanently.
|
||
|
|
||
|
Conclusions
|
||
|
|
||
|
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
|
||
|
hardware)
|
||
|
|
||
|
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.
|
||
|
Simple.
|
||
|
|
||
|
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
|
||
|
savings).
|
||
|
|
||
|
|
||
|
LANGUAGES
|
||
|
---------
|
||
|
|
||
|
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)
|
||
|
in FORTRAN.
|
||
|
|
||
|
* Real Programmers do Artificial Intelligence programs
|
||
|
in FORTRAN.
|
||
|
|
||
|
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.
|
||
|
|
||
|
|
||
|
STRUCTURED PROGRAMMING
|
||
|
----------------------
|
||
|
|
||
|
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.
|
||
|
|
||
|
|
||
|
OPERATING SYSTEMS
|
||
|
-----------------
|
||
|
|
||
|
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.
|
||
|
|
||
|
|
||
|
PROGRAMMING TOOLS
|
||
|
-----------------
|
||
|
|
||
|
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
|
||
|
dumps.
|
||
|
|
||
|
* 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...
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
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 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...
|
||
|
|
||
|
-------------------------------------------------------------
|
||
|
|
||
|
THE CONTINUING SAGA OF THE ADVENTURES OF LUKE VAXHACKER
|
||
|
|
||
|
-------------------------------------------------------------
|
||
|
|
||
|
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
|
||
|
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 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
|
||
|
|
||
|
-------------------------------------------------------------
|
||
|
|
||
|
------------------------------------------------------------------------
|
||
|
|
||
|
|
||
|
OP CODES PART II (F - Q)
|
||
|
========================
|
||
|
(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
|
||
|
random"
|
||
|
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
|
||
|
JUMP don't JUMP
|
||
|
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
|
||
|
|
||
|
------------------------------------------------------------------------
|