Here is a classic example of the saga form, as told by Guy L.
Steele:
Jon L. White (login name JONL) and I (GLS) were office mates at MIT
for many years. One April, we both flew from Boston to California
for a week on research business, to consult face-to-face with some
people at Stanford, particularly our mutual friend Richard P.
Gabriel (RPG; see [Gabriel]).
RPG picked us up at the San Francisco airport and drove us back to
Palo Alto (going logical south on route 101, parallel to [El
Camino Bignum}). Palo Alto is adjacent to Stanford University and
about 40 miles south of San Francisco. We ate at The Good Earth, a
`health food' restaurant, very popular, the sort whose milkshakes
all contain honey and protein powder. JONL ordered such a shake
--- the waitress claimed the flavor of the day was "lalaberry". I
still have no idea what that might be, but it became a running
joke. It was the color of raspberry, and JONL said it tasted
rather bitter. I ate a better tostada there than I have ever had
in a Mexican restaurant.
After this we went to the local Uncle Gaylord's Old Fashioned Ice
Cream Parlor. They make ice cream fresh daily, in a variety of
intriguing flavors. It's a chain, and they have a slogan: "If you
don't live near an Uncle Gaylord's --- MOVE!" Also, Uncle Gaylord
(a real person) wages a constant battle to force big-name ice cream
makers to print their ingredients on the package (like air and
plastic and other non-natural garbage). JONL and I had first
discovered Uncle Gaylord's the previous August, when we had flown
to a computer-science conference in Berkeley, California, the first
time either of us had been on the West Coast. When not in the
conference sessions, we had spent our time wandering the length of
Telegraph Avenue, which (like Harvard Square in Cambridge) was
lined with picturesque street vendors and interesting little
shops. On that street we discovered Uncle Gaylord's Berkeley
store. The ice cream there was very good. During that August
visit JONL went absolutely bananas (so to speak) over one
particular flavor, ginger honey.
Therefore, after eating at The Good Earth --- indeed, after every
lunch and dinner and before bed during our April visit --- a trip
to Uncle Gaylord's (the one in Palo Alto) was mandatory. We had
arrived on a Wednesday, and by Thursday evening we had been there
at least four times. Each time, JONL would get ginger honey ice
cream, and proclaim to all bystanders that "Ginger was the spice
that drove the Europeans mad! That's why they sought a route to
the East! They used it to preserve their otherwise off-taste
meat." After the third or fourth repetition RPG and I were getting
a little tired of this spiel, and began to paraphrase him: "Wow!
Ginger! The spice that makes rotten meat taste good!" "Say! Why
don't we find some dog that's been run over and sat in the sun for
a week and put some *ginger* on it for dinner?!" "Right! With a
lalaberry shake!" And so on. This failed to faze JONL; he took it
in good humor, as long as we kept returning to Uncle Gaylord's. He
loves ginger honey ice cream.
Now RPG and his then-wife KBT (Kathy Tracy) were putting us up
(putting up with us?) in their home for our visit, so to thank them
JONL and I took them out to a nice French restaurant of their
choosing. I unadventurously chose the filet mignon, and KBT had je
ne sais quoi du jour, but RPG and JONL had lapin (rabbit).
(Waitress: "Oui, we have fresh rabbit, fresh today." RPG: "Well,
JONL, I guess we won't need any *ginger*!")
We finished the meal late, about 11 P.M., which is 2 A.M Boston
time, so JONL and I were rather droopy. But it wasn't yet
midnight. Off to Uncle Gaylord's!
Now the French restaurant was in Redwood City, north of Palo Alto.
In leaving Redwood City, we somehow got onto route 101 going north
instead of south. JONL and I wouldn't have known the difference
had RPG not mentioned it. We still knew very little of the local
geography. I did figure out, however, that we were headed in the
direction of Berkeley, and half-jokingly suggested that we continue
north and go to Uncle Gaylord's in Berkeley.
RPG said "Fine!" and we drove on for a while and talked. I was
drowsy, and JONL actually dropped off to sleep for 5 minutes. When
he awoke, RPG said, "Gee, JONL, you must have slept all the way
over the bridge!", referring to the one spanning San Francisco
Bay. Just then we came to a sign that said "University Avenue". I
mumbled something about working our way over to Telegraph Avenue;
RPG said "Right!" and maneuvered some more. Eventually we pulled
up in front of an Uncle Gaylord's.
Now, I hadn't really been paying attention because I was so sleepy,
and I didn't really understand what was happening until RPG let me
in on it a few moments later, but I was just alert enough to notice
that we had somehow come to the Palo Alto Uncle Gaylord's after
all.
JONL noticed the resemblance to the Palo Alto store, but hadn't
caught on. (The place is lit with red and yellow lights at night,
and looks much different from the way it does in daylight.) He
said, "This isn't the Uncle Gaylord's I went to in Berkeley! It
looked like a barn! But this place looks *just like* the one back
in Palo Alto!"
RPG deadpanned, "Well, this is the one *I* always come to when I'm
in Berkeley. They've got two in San Francisco, too. Remember,
they're a chain."
JONL accepted this bit of wisdom. And he was not totally ignorant
--- he knew perfectly well that University Avenue was in Berkeley,
not far from Telegraph Avenue. What he didn't know was that there
is a completely different University Avenue in Palo Alto.
JONL went up to the counter and asked for ginger honey. The guy at
the counter asked whether JONL would like to taste it first,
evidently their standard procedure with that flavor, as not too
many people like it.
JONL said, "I'm sure I like it. Just give me a cone." The guy
behind the counter insisted that JONL try just a taste first.
"Some people think it tastes like soap." JONL insisted, "Look, I
*love* ginger. I eat Chinese food. I eat raw ginger roots. I
already went through this hassle with the guy back in Palo Alto. I
*know* I like that flavor!"
At the words "back in Palo Alto" the guy behind the counter got a
very strange look on his face, but said nothing. KBT caught his
eye and winked. Through my stupor I still hadn't quite grasped
what was going on, and thought RPG was rolling on the floor
laughing and clutching his stomach just because JONL had launched
into his spiel ("makes rotten meat a dish for princes") for the
forty-third time. At this point, RPG clued me in fully.
RPG, KBT, and I retreated to a table, trying to stifle our
chuckles. JONL remained at the counter, talking about ice cream
with the guy b.t.c., comparing Uncle Gaylord's to other ice cream
shops and generally having a good old time.
At length the g.b.t.c. said, "How's the ginger honey?" JONL said,
"Fine! I wonder what exactly is in it?" Now Uncle Gaylord
publishes all his recipes and even teaches classes on how to make
his ice cream at home. So the g.b.t.c. got out the recipe, and he
and JONL pored over it for a while. But the g.b.t.c. could contain
his curiosity no longer, and asked again, "You really like that
stuff, huh?" JONL said, "Yeah, I've been eating it constantly back
in Palo Alto for the past two days. In fact, I think this batch is
about as good as the cones I got back in Palo Alto!"
G.b.t.c. looked him straight in the eye and said, "You're *in* Palo
Alto!"
JONL turned slowly around, and saw the three of us collapse in a
fit of giggles. He clapped a hand to his forehead and exclaimed,
"I've been hacked!"
[My spies on the West Coast inform me that there is a close relative
of the raspberry found out there called an `ollalieberry' --- ESR]
[Ironic footnote: it appears that the meme about ginger vs.
rotting meat may be an urban legend. It's not borne out by an
examination of medieval recipes or period purchase records for
spices, and appears full-blown in the works of Samuel Pegge, a
gourmand and notorious flake case who originated numerous food
myths. --- ESR]
Q. What's the difference between a used-car dealer and a
computer salesman?
A. The used-car dealer knows he's lying. [Some versions add:
...and probably knows how to drive.]
This reflects the widespread hacker belief that salescritters are
self-selected for stupidity (after all, if they had brains and the
inclination to use them, they'd be in programming). The terms
`salesthing' and `salesdroid' are also common. Compare
marketroid, suit, droid.
This term preserves the memory of Mabel, the Swimming Wonder
Monkey, star of a biological research program at the University of
Toronto. Mabel was not (so the legend goes) your ordinary monkey;
the university had spent years teaching her how to swim, breathing
through a regulator, in order to study the effects of different gas
mixtures on her physiology. Mabel suffered an untimely demise one
day when a DEC engineer troubleshooting a crash on the program's VAX
inadvertently interfered with some custom hardware that was wired
to Mabel.
It is reported that, after calming down an understandably irate
customer sufficiently to ascertain the facts of the matter, a DEC
troubleshooter called up the field circus manager responsible
and asked him sweetly, "Can you swim?"
Not all the consequences to humans were so amusing; the sysop of
the machine in question was nearly thrown in jail at the behest of
certain clueless droids at the local `humane' society. The moral
is clear: When in doubt, always mount a scratch monkey.
[There is a version of this story, complete with reported dialogue
between one of the project people and DEC field service, that has
been circulating on Internet since 1986. It is hilarious and
mythic, but gets some facts wrong. For example, it reports the
machine as a PDP-11 and alleges that Mabel's demise occurred when
DEC PMed the machine. Earlier versions of this entry were
based on that story; this one has been corrected from an interview
with the hapless sysop. --- ESR]
This version of the jargon lexicon has been described (with
altogether too much truth for comfort) as an example of
second-system effect run amok on jargon-1....
By extension, the corruption resulting from N cascaded
fandangoes on core is `Nth-level damage'. There is at least
one case on record in which 17 hours of grovelling with
`adb' actually dug up the underlying bug behind an instance of
seventh-level damage! The hacker who accomplished this
near-superhuman feat was presented with an award by his fellows.
Historical note: There are conflicting stories about the origin of
this term. It has been claimed that it was first used in the
USENET newsgroup in comp.sys.apollo during a campaign to get
HP/Apollo to fix security problems in its UNIX-clone
Aegis/DomainOS (they didn't change a thing). ITS fans, on the
other hand, say it was coined years earlier in opposition to the
incredibly paranoid Multics people down the hall, for whom
security was everything. In the ITS culture it referred to (1) the
fact that that by the time a tourist figured out how to make
trouble he'd generally gotten over the urge to make it, because he
felt part of the community; and (2) (self-mockingly) the poor
coverage of the documentation and obscurity of many commands. One
instance of *deliberate* security through obscurity is
recorded; the command to allow patching the running ITS system
(altmode altmode control-R) echoed as $$^D. If you actually
typed alt alt ^D, that set a flag that would prevent patching the
system even if you later got it right.
DEC's engineers nearly got a PDP-11 assembler that used the
`SEX' mnemonic out the door at one time, but (for once)
marketing wasn't asleep and forced a change. That wasn't the last
time this happened, either. The author of "The Intel 8086
Primer", who was one of the original designers of the 8086, noted
that there was originally a `SEX' instruction on that
processor, too. He says that Intel management got cold feet and
decreed that it be changed, and thus the instruction was renamed
`CBW' and `CWD' (depending on what was being extended).
Amusingly, the Intel 8048 (the microcontroller used in IBM PC
keyboards) is also missing straight `SEX' but has logical-or
and logical-and instructions `ORL' and `ANL'.
The Motorola 6809, used in the U.K.'s `Dragon 32' personal
computer, actually had an official `SEX' instruction; the 6502
in the Apple II with which it competed did not. British hackers
thought this made perfect mythic sense; after all, it was commonly
observed, you could (on some theoretical level) have sex with a
dragon, but you can't have sex with an apple.
Since UNIX files are stored compactly, except for the unavoidable
wastage in the last block or fragment, it might be said that "Unix
has no slack". See ha ha only serious.
There is a classic quote from Rob Pike (inventor of the blit
terminal): "A smart terminal is not a smart*ass* terminal,
but rather a terminal you can educate." This illustrates a common
design problem: The attempt to make peripherals (or anything else)
intelligent sometimes results in finicky, rigid `special
features' that become just so much dead weight if you try to use
the device in any way the designer didn't anticipate. Flexibility
and programmability, on the other hand, are *really* smart.
Compare hook.
There is an interesting semi-parallel to this term among
typographers and printers: When new typefaces are being punch-cut by
hand, a `smoke test' (hold the letter in candle smoke, then press
it onto paper) is used to check out new dies.
In the beginning was the plan,
and then the specification;
And the plan was without form,
and the specification was void.
And darkness
was on the faces of the implementors thereof;
And they spake unto their leader,
saying:
"It is a crock of shit,
and smells as of a sewer."
And the leader took pity on them,
and spoke to the project leader:
"It is a crock of excrement,
and none may abide the odor thereof."
And the project leader
spake unto his section head, saying:
"It is a container of excrement,
and it is very strong, such that none may abide it."
The section head then hurried to his department manager,
and informed him thus:
"It is a vessel of fertilizer,
and none may abide its strength."
The department manager carried these words
to his general manager,
and spoke unto him
saying:
"It containeth that which aideth the growth of plants,
and it is very strong."
And so it was that the general manager rejoiced
and delivered the good news unto the Vice President.
"It promoteth growth,
and it is very powerful."
The Vice President rushed to the President's side,
and joyously exclaimed:
"This powerful new software product
will promote the growth of the company!"
And the President looked upon the product,
and saw that it was very good.
After the subsequent disaster, the suits protect themselves by
saying "I was misinformed!", and the implementors are demoted or
fired.
Often, the behavior of a trampoline is to perform an error
check once and then snap the pointer that invoked it so as
henceforth to bypass the trampoline (and its one-shot error check).
In this context one also speaks of `snapping links'. For
example, in a LISP implementation, a function interface trampoline
might check to make sure that the caller is passing the correct
number of arguments; if it is, and if the caller and the callee are
both compiled, then snapping the link allows that particular path
to use a direct procedure-call instruction with no further
overhead.
For example, owing to endemic shortsightedness in the design of
COBOL programs, most will succumb to software rot when their
2-digit year counters wrap around at the beginning of the
year 2000. Actually, related lossages often afflict centenarians
who have to deal with computer software designed by unimaginative
clods. One such incident became the focus of a minor public flap
in 1990, when a gentleman born in 1889 applied for a driver's
license renewal in Raleigh, North Carolina. The new system
refused to issue the card, probably because with 2-digit years the
ages 101 and 1 cannot be distinguished.
Historical note: Software rot in an even funnier sense than the
mythical one was a real problem on early research computers (e.g.,
the R1; see grind crank). If a program that depended on a
peculiar instruction hadn't been run in quite a while, the user
might discover that the opcodes no longer did the same things they
once did. ("Hey, so-and-so needs an instruction to do
such-and-such. We can snarf this opcode, right? No one uses
it.")
Another classic example of this sprang from the time an MIT hacker
found a simple way to double the speed of the unconditional jump
instruction on a PDP-6, so he patched the hardware. Unfortunately,
this broke some fragile timing software in a music-playing program,
throwing its output out of tune. This was fixed by adding a
defensive initialization routine to compare the speed of a timing
loop with the real-time clock; in other words, it figured out how
fast the PDP-6 was that day, and corrected appropriately.
Compare bit rot.
L
lowercase l
shift-L
uppercase L
front-L
lowercase lambda
front-shift-L
uppercase lambda
top-L
two-way arrow
(front and shift are ignored)
And of course each of these might also be typed with any
combination of the control, meta, hyper, and super keys. On this
keyboard, you could type over 8000 different characters! This
allowed the user to type very complicated mathematical text, and
also to have thousands of single-character commands at his
disposal. Many hackers were actually willing to memorize the
command meanings of that many characters if it reduced typing time
(this attitude obviously shaped the interface of EMACS). Other
hackers, however, thought having that many bucky bits was overkill,
and objected that such a keyboard can require three or four hands
to operate. See bucky bits, cokebottle, double bucky,
meta bit, quadruple bucky.
Note: early versions of this entry incorrectly identified the
space-cadet keyboard with the `Knight keyboard'. Though both
were designed by Tom Knight, the latter term was properly applied
only to a keyboard used for ITS on the PDP-10 and modeled
on the Stanford keyboard (as described under bucky bits). The
true space-cadet keyboard evolved from the Knight keyboard.
Historical note: One computer, the GE 600 (later Honeywell 6000)
actually had an *analog* speedometer on the front panel,
calibrated in instructions executed per second.
By convention, articles which are spoilers in either sense should
contain the word `spoiler' in the Subject: line, or guarantee via
various tricks that the answer appears only after several
screens-full of warning, or conceal the sensitive information via
rot13, or some combination of these techniques.
At MIT, pdl used to be a more common synonym for stack in
all these contexts, and this may still be true. Everywhere else
stack seems to be the preferred term. Knuth
("The Art of Computer Programming", second edition, vol. 1,
p. 236) says:
Many people who realized the importance of stacks and queues
independently have given other names to these structures:
stacks have been called push-down lists, reversion storages,
cellars, nesting stores, piles, last-in-first-out ("LIFO")
lists, and even yo-yo lists!
The variants `syntactic saccharin' and `syntactic syrup' are
also recorded. These denote something even more gratuitous, in
that syntactic sugar serves a purpose (making something more
acceptable to humans), but syntactic saccharin or syrup serve no
purpose at all. Compare candygrammar, syntactic salt.