"Two of the most famous products of Berkeley are LSD and Unix.
I don't think that this is a coincidence."
-- Anonymous
%
Unix is a computer virus with a user interface.
%
Multics was designed to store and retrieve large data sets, to be used by
many different people at one, and to help them communicate. It likewise
protected its users from external attack. It was built like a tank. Using
Multics felt like driving one.
%
In the early PDP-11 days, Unix programs had the following design parameters:
Rule 1. It didn't have to be good, or even correct,
but:
Rule 2. It had to be small.
...over time, computer hardware has become progressively more powerful...
So Rule 2 has been relaxed.
%
"Ken Thompson has an automobile which he helped design. Unlike
most automobiles, it has neither speedometer, nor gas guage,
nor any of the other numerous idiot lights which plague the
modern driver. Rather, if the driver makes a mistake, a
giant "?" lights up in the center of the dashboard. "The
experienced driver," says Thompson, "will usually know what's
wrong."
-- Anonymous
%
Of course, though, on this occasion I mistyped as my fingers go on autopilot
and prefer the word 'indent' to the non-word 'ident:'
% indent foo
Now, it turns out that "indent" is the name of UNIX's brain-damaged idea of
a prettyprinter for C. Did the bastard who wrote this abortion consider
checking to make sure that its input was a C file (like, oh my god, checking
for whether or not the name ended in ".c")? I think you know the answer.
Further, Said Bastard decided that if you give only one argument to indent
then you must mean for the source code to be prettyprinted in place,
overwriting the old contents of the file.
-- Pavel Curtis
%
Actually, the best form of Unix documentation is frequently running the
strings command over a program's object code.
%
All of sendmail's rope is still there, ready to make a hangman's knot,
should anyone have a sudden urge.
%
* The common North American brown bat's diet is composed
principally of bugs. Sendmail is a software package which is
composed principally of bugs.
* Sendmail and bats both suck.
* Sendmail maintainers and bats both tend to be nocturnal
creatures, making "eep eep" noises which are incomprehensible
to the average person.
* Have you ever watched a bat fly? Have you ever watched Sendmail
process a queue full of undelivered mail? QED.
* Sendmail and bats both die quickly when kept in captivity.
* Bat guano is a good source of potassium nitrate, a principal
ingredient in things that blow up in your face. Like Sendmail.
* Both bats and sendmail are held in low esteem by the general
public.
-- Robert Seastrom
%
The Unix mail system knows that it isn't perfect, and it is willing to tell
you so. But it doesn't always do so in an intuitive way. Here's a short
listing of the error messages that people often witness:
550 chiarell... User unknown: Not a typewriter
550 zhang@uni-dortmund.de... User unknown: Not a bicycle
553 abingdon I refuse to talk to myself
%
A group of hackers devised a protocol for transmitting Usernet over the
Internet, which was completely subsidized by the federal deficit. Capacity
increased and Usenet truly came to resemble a million monkeys typing
endlessly all over the globe.
%
As you can see, the joke wears thin rather quickly. Not that that stops
anyone on Usenet.
%
The anonymity of the net reduces otherwise rational beings (well, at least,
computer literate beings) into six-year olds whose apogee of discourse is
"Am not, Are so, Am not, Are so...."
%
A thread is a collection of articles and responses, and trn shows the
"tree" by putting a little diagram in the upper-right corner of the
screen as its reading. For example:
+[1]-[1]-(1)
\-[2]-[*]
| +-[1]
+-[5]
+[3]
-[2]
No, we don't know what it means either, but there are Unix weenies who
swear by diagrams like this...
%
Today, Unix's handling of character-based VDTs is so poor that making jokes
about it can't do justice to the horror.
%
If the Unix aficionados are right, and there really are many users for each
Unix box, then well over two-thirds of the people using Unix are stuck doing
so on poorly supported VDTs. The most interactive tool they're using is
probably vi.
%
Recipe for disaster: start with the Microsoft Windows metaphor, which was
designed and hand coded in assembler. Build something on top of three or four
layers of X to look like Windows. Call it Motif. Now put two 486 boxes side
by side, one running Windows and one running Unix/Motif. Watch one crawl.
Watch it wither. Watch it drop faster than the putsch in Russia.
%
"The most horrifying thing about Unix is that, no matter how
many times you hit yourself over the head with it, you never
quite manage to lose consciousness. It just goes on and on."
-- Patrick Sobalvarro
%
I was happy. I thought it was over.
But then in the shower this morning I thought of a way to do it. I couldn't
stop myself. I tried and tried, but the perversity of the task had pulled me
in, preying on my morbid fascination. It had the same attraction that the
Scribe implementation of Towers of Hanoi has. It only took me 12 tries to
get it right. It only spawns two processes per file in the directory tree
we're iterating over. It's the Unix way!
% find . -name '*.el' -print \
| sed 's/^/FOO=/' |\
sed 's/$/; if [ ! -f \ ${FOO}c ]; then \
echo \ $FOO ; fi/' | sh
BWAAAAAHH HAAAAHH HAAAAHH HAAAAHH HAAAAHH HAAAAHH HAAAAHH HAAAAHH HAAAAHH!!!!
%
Yep, Unix can sure handle text. It can also handle text. Oh, by the way,
did I mention that Unix is good at handling text?
-- "Mark"
%
"Much of any programmer's work is running these [wc, pr, lpr
and grep] and related programs. For example,
wc *.c
counts a set of C source files;
grep goto *.c
finds all the GOTOs."
These are "among the most useful" programs?!?!
Yep. That's what much of this programmer's work consists of. In fact,
today I spent so much time counting my C files that I didn't really have
time to do anything else. I think I'll go count them again.
%
Unix brain death forever!
%
"If C gives you enough rope to hang yourself, then C++ gives
you enough rope to bind and gag your neighborhood, rig the
sails on a small ship, and still have enough rope to hang
yourself from the yardarm."
-- Anonymous
%
Why doesn't someone tell Sun that their workstations aren't Vaxen with 2MB
of RAM, it's not 1983, and there is absolutely nothing to be gained by
summarily paging out stuff that you don't have to just so you have a lot of
empty memory lying around? What's that, you say? Oh, right, I forgot - Sun
*wants* their brand new spiffy fast workstations to *feel* like a VAX 11/750
with 2MB of RAM and a load factor of 6. Nothing like nostalgia, is there?
feh.
-- Robert E. Seastrom
%
"Unix is computer-scientology, not computer science."
-- Dave Mankins
%
Will journalling become prevalent in the Unix world at large? Probably not.
After all, it's nonstandard.
%
If you make even a small omission, like a single semicolon, a C compiler
tends to get so confused and annoyed that it bursts into tears and
complains that it just can't compile the rest of the file since the one
missing semicolon has thrown it off so much.
%
nroff with the "man" macros...(a set of text formatting macros used for
nothing else on the planet)
%
"Not having sendmail is like not having VD."
-- Ron Heiby
%
While make's model is quite general, the designers forgot to make it easy
to use for common cases. In fact, very few novice Unix programmers know
exactly know utterly easy it is to screw yourself to a wall with make,
until they do it.
%
Dennis never found the problem with his Makefile. He's now stuck in a
dead-end job where he has to wear a paper hat and maintains the sendmail
configuration files for a large state university in the midwest. It's a
damn shame.
%
As one hacker put it, "Reading the Unix kernel source is like walking down
a dark alley. I suddenly stop and think 'Oh no, I'm about to be mugged.'"
%
But instead of buckling down and coming up with something better, or just
fixing the existing bugs, Unix programmers chant the mantra that the Unix
interface is Simple and Beautiful. Simple and Beautiful. Simple and
Beautiful! (It's got a nice ring to it, doesn't it?)
%
"The disadvantage of working over networks is that you can't
so easily go into someone else's office and rip their bloody
heart out."
-- Jim McDonald
%
Over the past few years, we've known many programmers who know how to
program in C++, who can even write reasonably good programs in the language...
...but they hate it.
%
Does Unix get unhappy when it runs out of swap space?
Does a baby cry when it finishes its chocolate milk and wants more?
When a Unix system runs out of swap space, it gets cranky.
%
(Unix NetSpeak is very bizarre. The vocabulary of the statement "the
daemon, which is supposed to service Thistle, was told that it should spawn
a child to connect to itself" suggests that Unix networking should be
called "satanic incestuous whelping.")
%
As a result of little or no error checking, a wide supply of "programmer's
tools" give power users a wide array of choices for losing important
information.
%
Just as a baby transforms perfectly good input into excrement, which it then
drops in its diapers, Unix drops excrement all over its file system...
%
According to the empirical evidence of Unix programs and utilities, a more
accurate summary of the Unix Philosophy is:
* A small program is more desirable than a program that is functional
or correct.
* A shoddy job is perfectly acceptable.
* When faced with a choice, cop out.
%
Unix doesn't have a philosophy: it has an attitude. An attitude that says a
simple, half-done job is more virtuous than a complex, well-executed one.
An attitude that asserts the programmer's time is more important than the
user's time, even if there are thousands of users for every programmer. It's
an attitude that praises the lowest common denominator.
%
Ken Thompson was once asked by a reporter what he would have changed about
Unix if he had it all to do over again. His answer: "I would spell creat
with an `e.'"
%
According to legend, Stu Feldman didn't fix make's syntax, after he realized
that the syntax was broken, because he already had 10 users.
%
What production environment, especially one that is old enough to drive,
vote, and drink 3.2 beers, should reject the very commands that it tells you
to enter?
%
Maybe it's Unix fighting back, but this precise bug hit one of the editors of
this book after editing in this message in April 1993. Someone mailed him a
uuencoded PostScript version of a conference paper, and fully 12 lines had
to be handpatched to put back trailing blanks before uudecode reproduced the
original file.
%
Sendmail, arguably the standard SMTP daemon and mailer for UNIX, doesn't
like "To:" fields which are constructed as described. What it does about
this is the real problem: it sends an error message back to the sender of
the message, AND delivers the original message onward to whatever specified
destinations are listed in the recipient list.
This is deadly.
The effect was that every sendmail daemon on every host which touched the
bad message sent an error message back to us about it. I have often dreaded
the possibility that one day, every host on the Internet (all 400,000 of
them) would try to send us a message, all at once.
On Monday, we got a taste of what that must be like.