1046 lines
48 KiB
Plaintext
1046 lines
48 KiB
Plaintext
************************************************************************
|
|
************************************************************************
|
|
*** ***
|
|
*** ***
|
|
*** NutWorks ***
|
|
*** ---------- ***
|
|
*** The Inter-Net Virtual Magazine Which States ***
|
|
*** That Reality Is For People ***
|
|
*** Who Can't Handle Drugs. ***
|
|
*** ***
|
|
*** December 1985 Issue 4, Volume II. NutWorks is Published ***
|
|
*** monthly. Leonard M. Friedman aka Spock (CALBC821@CUNYVM) ***
|
|
*** Virtual Editor in Chief. ***
|
|
*** ***
|
|
************************************************************************
|
|
************************************************************************
|
|
|
|
From the Bridge
|
|
===============
|
|
|
|
Captains Log:
|
|
Stardate 850212
|
|
Commander Spock Reporting.
|
|
*
|
|
* * * *
|
|
** **
|
|
** **
|
|
* * * *
|
|
*
|
|
/ \
|
|
/ \
|
|
Seasons *-- --* Happy
|
|
\ /
|
|
/ \
|
|
/ \
|
|
Greetings *-- --* New
|
|
/ \
|
|
/ \
|
|
/ \
|
|
and *-- --* Year
|
|
/ \
|
|
/ \
|
|
/ \
|
|
/ \
|
|
*-------------------------*
|
|
| |
|
|
| |
|
|
-------
|
|
|
|
From The NutWorks Staff
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
NutWorks News
|
|
=============
|
|
|
|
1) The NutWorks Staff hopes everyone had a great Thanksgiving weekend
|
|
and also hopes that everyone is not still suffering from turkeyitis.
|
|
|
|
Note: Turkeyitis is a disease most common around Thanksgiving time where
|
|
one makes a large turkey for company and winds up eating the leftovers
|
|
for the next several days (in really bad cases weeks) afterward.
|
|
|
|
2) Plans are underway for Netcon '86 (Spring) which is going to be
|
|
held in Boston, Mass. It is going to be held Memorial Day weekend. For
|
|
more information contact any of the following:
|
|
|
|
Lynn Snyder L64A1584 @ JHUVM
|
|
Marcelle Karp MARCE @ BITNIC
|
|
William Guttenplan GUTTENP @ BMACADM
|
|
|
|
3) 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 !!!
|
|
|
|
4) 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.
|
|
|
|
5) NutWorks is also available on SERVER at TAMCBA.
|
|
|
|
Note: SERVER is 11 nodes from CUNYVM.
|
|
|
|
6) Brent CJ Britton is no longer involved with NutWorks. Please DO
|
|
NOT send any correspondence to him.
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
A Day Off
|
|
=========
|
|
|
|
So, you want the day off ???
|
|
Let's take a moment to look
|
|
at what you are asking for.
|
|
|
|
1 There are 365 days available for work.
|
|
|
|
2 There are 52 weeks per year of which
|
|
you already have 2 days off each weekend,
|
|
leaving 261 days left available for work.
|
|
|
|
3 Since you spend 16 hours each day away
|
|
from work that accounts for 170 days.
|
|
There are 91 left available for work.
|
|
|
|
4 You spend 30 minutes each day on breaks
|
|
that accounts for 23 days a year, leaving
|
|
68 days available for work.
|
|
|
|
5 You spend 1 hour a day at lunch, that
|
|
that accounts for another 46 days per
|
|
year leaving 22 days available for work.
|
|
|
|
6 You spend 2 days per year on sick leave,
|
|
leaving 20 days available for work.
|
|
|
|
7 You take 9 holidays per year, leaving
|
|
11 days available for work.
|
|
|
|
8 You take 10 days vacation each year,
|
|
leaving 1 day left available for work.
|
|
|
|
--- NO WAY ---
|
|
|
|
Are you going to take THAT day off.
|
|
|
|
Let's take a moment to look at what you are asking for...
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
Hi there! With Christmas about to sneak upon us, I though that
|
|
this article may be of interest to us NUTWORKS readers. This was
|
|
originally published in the 12/19/83 issue of COMPUTERWORLD and is
|
|
written by Richard Carter of Stone & Webster in Boston, MASS.
|
|
(Contributed by KHAAV @ ASUACAD)
|
|
|
|
|
|
'Twas the week before Christmas He was not very tall
|
|
And all thru Tech. Supp. And more chubby than thin;
|
|
Not a phone bell was ringing, His nose matched his clothes
|
|
Not a system was up And his face wore a grin.
|
|
My keyboard was silent He set right to work
|
|
In a 'NOT POLLING' state; Knowing just what to do
|
|
I had a blank screen And he didn't stop once
|
|
On my 3278. Until he was through.
|
|
The manuals were sitting He pulled from the units
|
|
Straight up on the shelves The strangest of things,
|
|
In hope they'd be stolen From four calling birds
|
|
By demented, old elves. To five golden rings.
|
|
And I in my office, He cast out the items,
|
|
My face in my hand, Piece after piece,
|
|
Had just blown the system And one of us fainted
|
|
With an 'SPQ COMMAND.' When he pulled out six geese.
|
|
The users were roaming He said not a word.
|
|
Outside near their bins, Except for some griping
|
|
Gazing thru windows 'Cause he had to extract
|
|
At the system within. Seven pipers piping.
|
|
They saw thru the glass He gave out a groan
|
|
What a programmer dreads: And removed his black gloves,
|
|
The printers were ripping Then reached right inside
|
|
Their output to shreds. And removed two squashed doves.
|
|
The console was blurred Debris filled the room
|
|
By vague moving shapes Right up to the doors
|
|
While tape drives digested 'Till he slammed shut the units
|
|
Some Master-Files tapes. And said "It's all yours!"
|
|
Operations was frantic We looked at each other
|
|
And Systems was screaming: And said, "What the hell?"
|
|
"Our CE's at lunch, Then pushed the blue button
|
|
(Or off somewhere dreaming)." That said "IPL."
|
|
The management came We heard a few clicks,
|
|
And learned of our fate A groan and a glupp,
|
|
Once again caught And wouldn't you know,
|
|
In a Downtime Stalemate. The damn thing came up.
|
|
"What can we do?" The FE just stood there
|
|
One boss moaned in stress. with a smile on his face.
|
|
"I wish we had someone As fix-it men go,
|
|
To fix up this mess." This guy was an ace.
|
|
Then all of a sudden He packed up his tools
|
|
From outside the door And mounted his sleigh,
|
|
We heard a great crash Stuck his thumb to his nose
|
|
And dived for the floor. And went on his way.
|
|
And then to our eyes We watched as he flew
|
|
Appeared a great sled Off into the night
|
|
And inside, an FE Until in the dark
|
|
(Who was dressed in all red). He vanished from sight.
|
|
He was covered with ink Yet we heard him exclaim
|
|
From his head to his toe And it was sort of dim,
|
|
And commented loudly "MERRY CHRISTMAS TO ALL,
|
|
"I wish it were snow." But don't call again."
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
BABBAGE --- the language of the future
|
|
======================================
|
|
Copied from Rensselaer Polytechnic Institute
|
|
by Tim McDonough
|
|
(NU099138@NDSUVM1.BITNET)
|
|
|
|
|
|
There are few things in this business that are more fun than
|
|
designing a new computer language, and the very latest is ADA - the
|
|
Department of Defense's new supertoy. ADA, as you know, has been
|
|
designed to replace outmoded and obsolete languages such as COBOL
|
|
and fortran.
|
|
|
|
The problem is that this cycle takes 20 to 30 years and won't
|
|
start until we're really convinced present languages aren't any
|
|
good. We can short-circuit this process by starting on ADA's
|
|
replacement right now. Then, by the time we decide ada is obsolete,
|
|
its replacement will be ready.
|
|
|
|
The new generation of language designers has taken to naming
|
|
its brian children after real people rather than resorting to the
|
|
usual acronyms. Pascal is named after the first person to build a
|
|
calculating machine and ADA is named after the first computer
|
|
programmer. As our namesake, we chose charles babbage, who died in
|
|
poverty while trying to finish building the first computer. The new
|
|
language is thus named after the first systems designer to go over
|
|
budget and behind schedule.
|
|
|
|
Babbage is based on language elements that were discovered
|
|
after the design of ADA was completed. For instance, C.A.R. Hoare,
|
|
in his 1980 ACM Turing Award lecture, told of two ways of
|
|
constructing a software design:
|
|
|
|
"One way is to make it so simple that there are obviously no
|
|
deficiencies and the other way is to make it so complicated
|
|
that there are no obvious deficiencies."
|
|
|
|
The designers of Babbage have chosen a third alternative - a
|
|
language that has only obvious deficiencies. Babbage programs are
|
|
so unreliable that maintenace can begin before system integration
|
|
is completed. This guarantees a steady increase in the debug job
|
|
marketplace.
|
|
|
|
Like Pascal, ADA uses "strong typing" to avoid errors caused
|
|
by mixing data types. The designers of Babbage advocated "good
|
|
typing" to avoid errors caused by misspelling the words in your
|
|
program. Later versions of Babbage will also allow "touch typing",
|
|
which will fill a long-felt need.
|
|
|
|
A hotly contested issue among language designers is the method
|
|
for passing parameters to subfunctions. Some advocate "call by
|
|
name", others prefer "call by value". Babbage uses a new method
|
|
"call by telephone". This is especially effective for long-distance
|
|
parameter passing.
|
|
|
|
ADA stresses the concept of software portability. Babbage
|
|
encourage hardware portability. After all, what good is a computer
|
|
if you can't take it with you?
|
|
|
|
It's a good sign if your language is sponsored by the
|
|
government. COBOL had government backing, and ADA is being funded
|
|
by the department of defense. After much negotiation, The department
|
|
of sanitation has agreed to sponsor Babbage.
|
|
|
|
No subsets of ADA are allowed. Babbage is just the opposite.
|
|
None of Babbage is defined except its extensibility - each user
|
|
must define his own version. To end the debate of large languages
|
|
versus small, Babbage allows each user to make the language any
|
|
size he wants. Babbage is the ideal language for the "ME"
|
|
generation. The examples that follow will give some idea of what
|
|
Babbage looks like.
|
|
|
|
Structured languages banned GOTOs and the multiway conditional
|
|
branches by replacing them with the simpiler If-Then-Else structure.
|
|
Babbage has a number of new conditional statements that act like
|
|
termites in the structures of your program:
|
|
|
|
What If -
|
|
Used in simulation languages. Branches before
|
|
evaluating test conditions.
|
|
|
|
Or Else -
|
|
Conditonal threat, as in:
|
|
"Add these two numbers or else!"
|
|
|
|
Why Not? -
|
|
Executes the code that follows in a devil-may-care
|
|
fashion.
|
|
|
|
Who Else? -
|
|
Used for polling during I/O operations.
|
|
|
|
Elsewhere -
|
|
This is where your program really is when you think
|
|
it's here.
|
|
|
|
Going Going Gone -
|
|
For writing unstructured programs. Takes a random
|
|
branch to another part of your program. Does the
|
|
work of 10 GOTOs.
|
|
|
|
For years, programming languages have used "FOR", "DO UNTIL","
|
|
DO WHILE", etc. to mean "LOOP". Continuing with this trend,
|
|
Babbage offers the following loop statements:
|
|
|
|
Don't Do While Not -
|
|
This loop is not executed if the test condition is not
|
|
false (or if it's Friday afternoon).
|
|
|
|
Didn't Do -
|
|
The loop executes onces and hides all traces.
|
|
|
|
Can't Do -
|
|
The loop is pooped.
|
|
|
|
Won't Do -
|
|
The CPU halts because it doesn't like the code inside the
|
|
loop. Execution can be resumed by typing "MAY I" at the
|
|
console.
|
|
|
|
Might Do -
|
|
Depends on how the cpu is feeling. executed if the cpu
|
|
is "UP", not executed if the CPU is "DOWN" or if its
|
|
feelings have been hurt.
|
|
|
|
Do Unto Others -
|
|
Used to write the main loop for timesharing systems so that
|
|
they will antagonize the users in a uniform manner.
|
|
|
|
Do-Wah -
|
|
Used to write timing loop for computer-generated
|
|
music (rag timing).
|
|
|
|
Every self-respecting structured language has a case statement
|
|
to implement multiway brancing. Algol offers an indexed case
|
|
statement and Pascal has a labeled case statement. Not much of a
|
|
choice. Babbage offers a variety of case statements:
|
|
|
|
The Just-In-Case statement -
|
|
For handling afterthoughts and fudge factors.
|
|
Allows you to multiply by zero to correct for
|
|
accidentally dividing by zero.
|
|
|
|
The Brief Case statement -
|
|
To encourage portable software.
|
|
|
|
The Open-And-Shut case statement -
|
|
No proof of correctness is necessary with this one.
|
|
|
|
The In-Any case statement -
|
|
This one always works.
|
|
|
|
The Hopeless case statement -
|
|
This one never works.
|
|
|
|
The Basket case statement -
|
|
A really hopeless case.
|
|
|
|
The Babbage Language Design Group is continuously evaluating
|
|
new features that will keep its users from reaching any level of
|
|
effectiveness. For instance, Babbage's designers are now consider-
|
|
ing the almost equals sign, used for comparing two floating point
|
|
numbers. This new feature "Takes the worry out of being close".
|
|
|
|
No language, no matter how bad, can stand on its own. We need
|
|
a really state-of-the-art operating system to support Babbage.
|
|
After trying several commercial systems, we decided to write a
|
|
"virtual" operating system. Everybody has a virtual memory
|
|
operating system so we decided to try something a little different.
|
|
our new operating system is called the Virtual Time Operating
|
|
System (VTOS). While virtual memory systems make the computer's
|
|
memory the virtual resource, VTOS does the same thing with CPU
|
|
processing time.
|
|
|
|
The result is that the computer can run an unlimited number of
|
|
jobs at the same time. Like the virtual memory system, which
|
|
actually keeps part of the memory on disk, VTOS has to play tricks
|
|
to achieve its goals. Although all of your jobs seem to be running
|
|
right now, some of them are actually running next week.
|
|
|
|
As you can see, Babbage is still in its infancy. The babbage
|
|
language design group seeking suggestions for this powerful new
|
|
language and as the sole member of this group (all applications for
|
|
membership will be accepted), I call on the data processing
|
|
community for help in making this dream a reality.
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
"Real Programmers Don't Use PASCAL"
|
|
===================================
|
|
PART II
|
|
|
|
|
|
THE REAL PROGRAMMER AT WORK
|
|
---------------------------
|
|
|
|
Where does the typical Real Programmer work? What kind of
|
|
programs are worthy of the efforts of so talented an individual?
|
|
You can be sure that no Real Programmer would be caught dead
|
|
writing accounts-receivable programs in COBOL, or sorting mailing
|
|
lists for People magazine. A Real Programmer wants tasks of earth
|
|
shaking importance (literally!).
|
|
|
|
* Real Programmers work for Los Alamos National Laboratory,
|
|
writing atomic bomb simulations to run
|
|
on Cray I supercomputers.
|
|
|
|
* Real Programmers work for the National Security Agency,
|
|
decoding Russian transmissions.
|
|
|
|
* It was largely due to the efforts of thousands of Real
|
|
Programmers working for NASA that our boys got to the
|
|
moon and back before the Russkies.
|
|
|
|
* Real Programmers are at work for Boeing designing the
|
|
operating systems for cruise missiles.
|
|
|
|
Some of the most awesome Real Programmers of all work at the
|
|
Jet Propulsion Laboratory in California. Many of them know the
|
|
entire operating system of the Pioneer and Voyager spacecraft by
|
|
heart. With a combination of large ground-based FORTRAN programs
|
|
and small spacecraft-based assembly language programs, they are
|
|
able to do incredible feats of navigation and improvisation --
|
|
hitting ten-kilometer wide windows at Saturn after six years in
|
|
space, repairing or bypassing damaged sensor platforms, radios,
|
|
and batteries. Allegedly, one Real Programmer managed to tuck a
|
|
pattern-matching program into a few hundred bytes of unused
|
|
memory in a Voyager spacecraft that searched for, located, and
|
|
photographed a new moon of Jupiter.
|
|
|
|
The current plan for the Galileo spacecraft is to use a
|
|
gravity assist trajectory past Mars on the way to Jupiter. This
|
|
trajectory passes within 80 +/-3 kilometers of the surface of
|
|
Mars. Nobody is going to trust a PASCAL program (or a PASCAL
|
|
programmer) for navigation to these tolerances.
|
|
|
|
As you can tell, many of the world's Real Programmers work for
|
|
the U.S. Government -- mainly the Defense Department. This is as
|
|
it should be. Recently, however, a black cloud has formed on the
|
|
Real Programmer horizon. It seems that some highly placed Quiche
|
|
Eaters at the Defense Department decided that all Defense
|
|
programs should be written in some grand unified language called
|
|
|
|
"ADA" ((C), DoD). For a while, it seemed that ADA was destined
|
|
to become a language that went against all the precepts of Real
|
|
Programming -- a language with structure, a language with data
|
|
types, strong typing, and semicolons. In short, a language
|
|
designed to cripple the creativity of the typical Real Programmer.
|
|
Fortunately, the language adopted by DoD has enough interesting
|
|
features to make it approachable -- it's incredibly complex, and
|
|
includes methods for messing with the operating system and
|
|
rearranging memory, and Edsgar Dijkstra doesn't like it. Dijkstra,
|
|
as I'm sure you know, was the author of "GoTos Considered Harmful"
|
|
-- a landmark work in programming methodology, applauded by PASCAL
|
|
programmers and Quiche Eaters alike.
|
|
|
|
The Real Programmer might compromise his principles and work on
|
|
something slightly more trivial than the destruction of life as we
|
|
know it, providing there's enough money in it. There are several
|
|
Real Programmers building video games at Atari, for example. (But
|
|
not playing them -- a Real Programmer knows how to beat the
|
|
machine every time: no challenge in that.) Everyone working at
|
|
LucasFilm is a Real Programmer. (It would be crazy to turn down
|
|
the money of fifty million Star Trek fans.) The proportion of Real
|
|
Programmers in Computer Graphics is somewhat lower than the norm,
|
|
mostly because nobody has found a use for computer graphics yet.
|
|
On the other hand, all computer graphics is done in FORTRAN, so
|
|
there are a fair number of people doing graphics in order to avoid
|
|
having to write COBOL programs.
|
|
|
|
|
|
THE REAL PROGRAMMER AT PLAY
|
|
---------------------------
|
|
|
|
Generally, the Real Programmer plays the same way he works --
|
|
with computers. He is constantly amazed that his employer actually
|
|
pays him to do what he would be doing for fun anyway (although he
|
|
is careful not to express this opinion out loud). Occasionally,
|
|
the Real Programmer does step out of the office for a breath of
|
|
fresh air and a beer or two. Some tips on recognizing Real
|
|
Programmers away from the computer room:
|
|
|
|
* At a party, the Real Programmers are the ones in the corner
|
|
talking about operating system security and how to get
|
|
around it.
|
|
|
|
* At a football game, the Real Programmer is the one
|
|
comparing the plays against his simulations printed
|
|
on 11 by 14 fanfold paper.
|
|
|
|
* At the beach, the Real Programmer is the one drawing
|
|
flowcharts in the sand.
|
|
|
|
* At a funeral, the Real Programmer is the one saying "Poor
|
|
George. And he almost had the sort routine working before
|
|
the coronary."
|
|
|
|
* In a grocery store, the Real Programmer is the one who
|
|
insists on running the cans past the laser checkout
|
|
scanner himself, because he never could trust keypunch
|
|
operators to get it right the first time.
|
|
|
|
|
|
THE REAL PROGRAMMER'S NATURAL HABITAT
|
|
-------------------------------------
|
|
|
|
What sort of environment does the Real Programmer function best
|
|
in? This is an important question for the managers of Real
|
|
Programmers. Considering the amount of money it costs to keep one
|
|
on the staff, it's best to put him (or her) in an environment
|
|
where he can get his work done.
|
|
|
|
The typical Real Programmer lives in front of a computer term-
|
|
inal. Surrounding this terminal are:
|
|
|
|
* Listings of all programs the Real Programmer has ever worked
|
|
on, piled in roughly chronological order on every flat
|
|
surface in the office.
|
|
|
|
* Some half-dozen or so partly filled cups of cold coffee.
|
|
Occasionally, there will be cigarette butts floating in
|
|
the coffee. In some cases, the cups will contain Orange
|
|
Crush.
|
|
|
|
* Unless he is very good, there will be copies of the OS JCL
|
|
manual and the Principles of Operation open to some
|
|
particularly interesting pages.
|
|
|
|
* Taped to the wall is a line-printer Snoopy calendar for the
|
|
year 1969.
|
|
|
|
* Strewn about the floor are several wrappers for peanut butter
|
|
filled cheese bars -- the type that are made pre-stale at the
|
|
bakery so they can't get any worse while waiting in the
|
|
vending machine.
|
|
|
|
* Hiding in the top left-hand drawer of the desk is a stash of
|
|
double-stuff Oreos for special occasions.
|
|
|
|
* Underneath the Oreos is a flowcharting template, left there
|
|
by the previous occupant of the office. (Real Programmers
|
|
write programs, not - documentation. Leave that to the
|
|
maintenance people.)
|
|
|
|
|
|
The Real Programmer is capable of working 30, 40, even 50 hours
|
|
at a stretch, under intense pressure. In fact, he prefers it that
|
|
way. Bad response time doesn't bother the Real Programmer -- it
|
|
gives him a chance to catch a little sleep between compiles. If
|
|
there is not enough schedule pressure on the Real Programmer, he
|
|
tends to make things more challenging by working on some small but
|
|
interesting part of the problem for the first nine weeks, and then
|
|
finishing the rest in the last week, two or three 50-hour
|
|
marathons. This not only impresses the hell out of his manager,
|
|
who was despairing of ever getting the project done on time, but
|
|
creates a convenient excuse for not doing the documentation. In
|
|
general:
|
|
|
|
* No Real Programmer works 9 to 5 (unless it's the ones at
|
|
night).
|
|
|
|
* Real Programmers don't wear neckties.
|
|
|
|
* Real Programmers don't wear high-heeled shoes.
|
|
|
|
* Real Programmers arrive at work in time for lunch.
|
|
|
|
* A Real Programmer might or might not know his wife's name.
|
|
He does, however, know the entire ASCII (or EBCDIC) code
|
|
table.
|
|
|
|
* Real Programmers don't know how to cook. Grocery stores
|
|
aren't open at three in the morning. Real Programmers
|
|
survive on Twinkies and coffee.
|
|
|
|
|
|
THE FUTURE
|
|
----------
|
|
|
|
What of the future? It is a matter of some concern to Real
|
|
Programmers that the latest generation of computer programmers are
|
|
not being brought up with the same outlook on life as their elders.
|
|
Many of them have never seen a computer with a front panel. Hardly
|
|
anyone graduating from school these days can do hex arithmetic
|
|
without a calculator. College graduates these days are soft --
|
|
protected from the realities of programming by source level
|
|
debuggers, text editors that count parentheses, and "user friendly"
|
|
operating systems. Worst of all, some of these alleged "computer
|
|
scientists" manage to get degrees without ever learning FORTRAN!
|
|
Are we destined to become an industry of Unix hackers and PASCAL
|
|
programmers?
|
|
|
|
From my experience, I can only report that the future is bright
|
|
for Real Programmers everywhere. Neither OS\370 nor FORTRAN show
|
|
any signs of dying out, despite all the efforts of PASCAL program-
|
|
mers the world over. Even more subtle tricks, like adding struc-
|
|
tured coding constructs to FORTRAN have failed. Oh sure, some
|
|
computer vendors have come out with FORTRAN 77 compilers, but
|
|
every one of them has a way of converting itself back into a
|
|
FORTRAN 66 compiler at the drop of an option card -- to compile DO
|
|
loops like God meant them to be.
|
|
|
|
Even Unix might not be as bad on Real Programmers as it once
|
|
was. The latest release of Unix has the potential of an operating
|
|
system worthy of any Real Programmer -- two different and subtly
|
|
incompatible user interfaces, an arcane and complicated teletype
|
|
driver, virtual memory. If you ignore the fact that it's
|
|
"structured", even 'C' programming can be appreciated by the Real
|
|
Programmer: after all, there's no type checking, variable names
|
|
are seven (ten? eight?) characters long, and the added bonus of
|
|
the Pointer data type is thrown in -- like having the best parts
|
|
of FORTRAN and assembly language in one place. (Not to mention
|
|
some of the more creative uses for #define.)
|
|
|
|
No, the future isn't all that bad. Why, in the past few years
|
|
the popular press has even commented on the bright new crop of
|
|
computer nerds and hackers leaving places like Stanford and M.I.T.
|
|
for the Real World. From all evidence, the spirit of Real
|
|
Programming lives on in these young men and women. As long as
|
|
|
|
there are ill-defined goals, bizarre bugs, and unrealistic
|
|
schedules, there will be Real Programmers willing to jump in and
|
|
and Solve The Problem, saving the documentation for later. Long
|
|
live FORTRAN!
|
|
|
|
|
|
ACKNOWLEGEMENT
|
|
--------------
|
|
|
|
I would like to thank Jan E., Dave S., Rich G., Rich E., for
|
|
their help in characterizing the Real Programmer, Heather B. for
|
|
the illustration, Kathy E. for putting up with it, and atd!avsdS:
|
|
mark for the initial inspiration.
|
|
|
|
|
|
REFERENCES
|
|
----------
|
|
|
|
Feirstein, B., "Real Men don't Eat Quiche", New
|
|
York, Pocket Books, 1982.
|
|
|
|
Wirth, N., "Algorithms + Data Structures =
|
|
Programs", Prentice Hall, 1976.
|
|
|
|
Ilson, R., "Recent Research in Text Processing",
|
|
IEEE Trans. Prof. Commun., Vol. PC-23, No. 4,
|
|
Dec. 4, 1980.
|
|
|
|
Finseth, C., "Theory and Practice of Text Editors
|
|
-- or -- a Cookbook for an EMACS", B.S. Thesis,
|
|
MIT/LCS/TM-165, Massachusetts Institute of
|
|
Technology, May 1980.
|
|
|
|
Weinberg, G., "The Psychology of Computer
|
|
Programming", New York, Van Nostrand Reinhold,
|
|
1971, p. 110.
|
|
|
|
Dijkstra, E., "On the GREEN language submitted to
|
|
the DoD", Sigplan notices, Vol. 3 No. 10, Oct
|
|
1978.
|
|
|
|
Rose, Frank, "Joy of Hacking", Science 82, Vol. 3
|
|
No. 9, Nov 82, pp. 58-66.
|
|
|
|
"The Hacker Papers", Psychology Today, August 1980.
|
|
|
|
sdcarl!lin, "Real Programmers", UUCP-net, Thu Oct
|
|
21 16:55:16 1982
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
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
|
|
|
|
|
|
When we had 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 are
|
|
not 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 that he means
|
|
Princess LPA0:. She is 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 agreed to rescue her. They headed for the detention
|
|
level, posing as Flunkies (which is hard for most hackers)
|
|
claiming that they had finally 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 is 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.
|
|
|
|
-------------------------------------------------------------
|
|
|
|
Will they or won't they end up in the galactic bit-bucket?
|
|
Catch the next issue of Nutworks and find out. --Ed
|
|
|
|
-------------------------------------------------------------
|
|
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
OP CODES PART III (R - Z)
|
|
=========================
|
|
(Contributed By Knappy 8350428 @ UWAVM)
|
|
|
|
mnemonic meaning
|
|
-------- -------
|
|
RA Randomize Answer
|
|
RAM Reorganize and Abort Monitor
|
|
RASC Read And Shred Card
|
|
RAST Rewind And Stretch Tape
|
|
RAU Ridicule All Users
|
|
RBAO Ring Bell and Annoy Operator
|
|
RBG Random Bug Generate
|
|
RBLY Restore Backup from Last Year
|
|
RBT Read & Break Tape
|
|
RCAJ Read Card And Jam
|
|
RCB Read Commands Backwards
|
|
RCB Run Clock Backwards
|
|
RCC Read Card and Chew
|
|
RCCP Randomly Corrupt Current Process
|
|
RCF Rewind Cabinet Fans
|
|
RCKG Read Count Key and Garbage
|
|
RCR Rewind Card Reader
|
|
RCRV Randomly Convert to Reverse Video
|
|
RCSD Read Card & Scramble Data
|
|
RD Rewind Disk
|
|
RDA Refuse to Disclose Answer
|
|
RDD Reverse Disk Drive
|
|
RDF Randomize Directory Filenames
|
|
RDI Reverse Drum Immediate
|
|
RENVR Rename Variables Randomly
|
|
RET Read and Erase Tape
|
|
RIC Rotate Illogical thru Carry
|
|
RID Read Invalid Data
|
|
RIR Read Invalid Record
|
|
RIRG Read Inter-Record Gap
|
|
RIRG Rewrite Inter-Record Gap [random replacement of simil-
|
|
ar mnemonic"
|
|
RLC Re-read last card
|
|
RLC Relocate and Lose Core
|
|
RLI Rotate Left Indefinitely
|
|
RLP Refill Light Pen
|
|
RLP Rewind Line Printer
|
|
RM Re-initialize Meter
|
|
RM Ruin My files [UNIX]
|
|
RMI Randomize Memory Immediate
|
|
RMV Remove Memory Virtues
|
|
RN Read Noise
|
|
RNBS Reflect Next Bus Signal
|
|
RNR Read Noise Record
|
|
ROD ROtate Diagonally
|
|
ROM Read Operator's Mind
|
|
ROOP Run Out Of Paper
|
|
ROPF Read Other People's Files
|
|
ROS Reject Op System
|
|
ROT Rotate Disk [fixes broken drives]
|
|
RP Read Printer
|
|
RPAB Read Print And Blush
|
|
RPB Raise Parity Bits
|
|
RPB Reverse Parity & Branch
|
|
RPD Return Postage Due
|
|
RPM Read Programmer's Mind
|
|
RPU Read character and Print Upside down
|
|
RRB Read Record and Blush
|
|
RRC Rotate Random thru Carry
|
|
RRRA Read Record & Run Away
|
|
RRRL Random Rotate Register Left
|
|
RRSG Round and Round She Goes...
|
|
RS Random Slew
|
|
RSD Read and Scramble Data
|
|
RST Rewind and Stretch Tape
|
|
RST Rust
|
|
RT Reduce Throughput
|
|
RT Reverse Throughput
|
|
RTR Return To Register
|
|
RTS Return To Sender
|
|
RWRT Read While Writing While Ripping Tape
|
|
SAC stop air conditioner
|
|
SAD Seek And Destroy
|
|
SAF Sit And Flicker
|
|
SAI Skip All Instructions
|
|
SAS Sit And Spin
|
|
SC Scramble Channels
|
|
SC Shred Cards
|
|
SCB Spindle Card and Belch
|
|
SCCA Short Circuit on Correct Answer
|
|
SCH Slit Cards Horizontal
|
|
SCI Shred Cards Immediate
|
|
SCOM Set Cobol-Only Mode
|
|
SCRRC SCRamble Register Contents
|
|
SCST Switch Channel to Star Trek
|
|
SCTR Stick Card To Reader
|
|
SD Scramble Directory
|
|
SD Slip Disk
|
|
SDC Spool Disk to Console
|
|
SDDB Snap Disk Drive Belt
|
|
SDE Solve Differential Equations
|
|
SDI Self Destruct Immediately
|
|
SEB Stop Eating and Burp
|
|
SEX Set EXecution register [a real instruction for the RCA
|
|
1802"
|
|
SEX Sign EXtend
|
|
SFH Set Flags to Half mast
|
|
SFT Stall For Time
|
|
SFTT Strip Form Tractor Teeth
|
|
SHB Stop and Hang Bus
|
|
SHCD SHuffle Card Deck
|
|
SHIT Stop Here If Thursday
|
|
SHON Simulate HONeywell CPU [permanent NO-OP]
|
|
SHRC SHRed Card
|
|
SHRT SHRed Tape
|
|
SID Switch to Infinite Density
|
|
SIP Store indefinite precision
|
|
SKIP don't SKIP
|
|
SLD Slip Disk
|
|
SLP Sharpen Light Pen
|
|
SLP Sharpen Light Pencil
|
|
SMC Scramble memory contents
|
|
SMD Spontaneous Memory Dump(Use only with classified data)
|
|
SMS Shred Mylar Surface
|
|
SMT Stretch MagTape
|
|
SNM Show No Mercy
|
|
SOAWP SOlve All the World's Problems
|
|
SOB [a real PDP-11 instruction]
|
|
SOD Surrender Or Die!
|
|
SOP Stop and Order Pizza
|
|
SOS Sign Off, Stupid
|
|
SP Scatter Print
|
|
SPA Sliding Point Arithmetic
|
|
SPD Spin dry disc
|
|
SPS Smoke Power Supply
|
|
SPSW Scramble Processor Status Word
|
|
SRBO Set Random Bits to Ones
|
|
SRBZ Set Random Bits to Zeroes
|
|
SRC Skip to Random Channel
|
|
SRCC Select Reader & Chew Cards
|
|
SRD Switch to Random Density
|
|
SRDR Shift Right, Double Ridiculous
|
|
SRO Sort with Random Ordering
|
|
SRR Set Registers to Random values [ usually used prior to
|
|
a RET or RTS"
|
|
SRR Shift Registers Random
|
|
SRSD Seek Record & Scar Disk
|
|
SRU Signoff Random User
|
|
SRZ Subtract & Reset to Zero
|
|
SSB Scramble Status Byte
|
|
SSD Stacker Select Disk
|
|
SSJ Stacker Select & Jam
|
|
SSJP Select Stacker and Jump
|
|
SSM Solve by Supernatural Means
|
|
SSP Smoke and SPark
|
|
SST Stop and Stretch Tape
|
|
ST Set and Test
|
|
STD Stop, Take Drugs
|
|
STN Search Tree for Nut
|
|
STPR SToP Rain
|
|
STTHB Set Terminal to Three Hundred Baud
|
|
SU Stacker Upset
|
|
SUI Subtract User's IQ
|
|
SUME SUrprise ME
|
|
SUP Solve Unsolvable Problem
|
|
SUR Screw Up Royally
|
|
SUS Stop Until Spring
|
|
SUS Subract Until Senseless
|
|
SWAT SWAp Terminals
|
|
SWN SWap Nibbles
|
|
SWOS SWap out Operating System
|
|
SWS Sort to Wrong Slots
|
|
SZD Switch to Zero Density
|
|
TARC Take Arithmetic Review Course
|
|
TBFTG Two Burgers and Fries To Go
|
|
TDB Transfer & Drop Bits
|
|
TDB Transfer and Drop Bits
|
|
TDS Trash Data Segment
|
|
TEP Terminate with Extreme Prejudice
|
|
TLNF Teach me a Lesson I'll Never Forget
|
|
TLO Turn indicator Lights Off
|
|
TLR Transfer & Loose Return
|
|
TLW Transfer and Lose Way
|
|
TN Take a Nap
|
|
TOG Time Out, Graduate
|
|
TOH Take Operator Hostage
|
|
TOOO Turn On/Off Operator
|
|
TOS Trash Operating System
|
|
TPD Triple Pack Decimal
|
|
TPE Translate Programmer to EBCDIC
|
|
TPDH Tell Programmer to Do it Him/Herself
|
|
TPO Toggle Power On
|
|
TPR Tear PapeR
|
|
TR Turn into Rubbish [UNIX]
|
|
TRA Te Rdls Arvs [Type Ridiculous Abbreviations]
|
|
TSH Trap Secretary and Halt
|
|
TSM Trap Secretary and Mount
|
|
TST Trash System Tracks
|
|
TT%CNK TeleType - Clunk Noise
|
|
TT%EKB TeleType - Electrify KeyBoard
|
|
TTA Try, Try Again
|
|
TTITT Turn 2400 foot tape Into Two 1200 foot tapes " Only
|
|
privileged users will get hubs on both tapes"
|
|
TTL Time To Log off
|
|
UAI Use Alternate Instruction set
|
|
UCB Uncouple CPU and Branch
|
|
UCK Unlock Console Keyswitch
|
|
UCPUB Uncouple CPU & Branch
|
|
UER Update & Erase Record
|
|
UMR Unlock Machine Room
|
|
UNPD Unplug and dump
|
|
UOP Useless Operation
|
|
UP Understand Program(mer)
|
|
UT Update Transaction
|
|
UTF Unwind Tape onto Floor
|
|
UUBR Use Undefined Base Register
|
|
VAX Violate All executions
|
|
VNO Violate Noise Ordinance
|
|
VPA Vanishing Point Arithmetic
|
|
VVM Vaporise Virtual Memory
|
|
WAD Walk Away in Disgust
|
|
WC Waste Core [UNIX]
|
|
WCR Write to Card Reader
|
|
WGPB Write Garbage in Process-control Block
|
|
WHP Wave Hands over Problem
|
|
WI Why Immediate
|
|
WID Write Invalid Data
|
|
WLBB Write-Lock Bit Bucket
|
|
WNHR Write New Hit Record
|
|
WNR Write Noise Record
|
|
WPET Write Past End of Tape
|
|
WSE Write Stack Everywhere
|
|
WSWW Work in Strange and Wondrous Ways
|
|
WUPO Wad Up Printer Output
|
|
WWLR Write Wrong Length Record
|
|
XIO eXecute Invalid Op code
|
|
XKF eXecute Kermit the Frog
|
|
XMB eXclusive MayBe
|
|
XOH eXecute no-Op and Hang
|
|
XOR eXecute OperatoR
|
|
XOS eXchange Operator's Sex
|
|
XPR eXecute Programmer
|
|
XPSW eXecute Program Status Word
|
|
XVF eXchange Virtue for Fun
|
|
ZAP Zero and Add Packed
|
|
ZD Zap Directory
|
|
ZNL Zero Next Location (opcode #0)
|
|
ZPI ZaP Immediate
|
|
ZPT Zero Page Tables
|
|
ZZF Zero Zero Flag
|
|
ZZZ hibernate indefinite
|
|
------------------------------------------------------------------------
|
|
|
|
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
|
|
|
|
|