Part 8 out of 11



altering one's cycle is called `changing phase'; `phase
shifting' has also been recently reported from Caltech.
2. `change phase the hard way': To stay awake for a very long
time in order to get into a different phase. 3. `change phase
the easy way': To stay asleep, etc. However, some claim that
either staying awake longer or sleeping longer is easy, and that it
is *shortening* your day or night that's hard (see {wrap
around}). The `jet lag' that afflicts travelers who cross many
time-zone boundaries may be attributed to two distinct causes: the
strain of travel per se, and the strain of changing phase. Hackers
who suddenly find that they must change phase drastically in a
short period of time, particularly the hard way, experience
something very like jet lag without traveling.

:phase of the moon: n. Used humorously as a random parameter on which
something is said to depend. Sometimes implies unreliability of
whatever is dependent, or that reliability seems to be dependent on
conditions nobody has been able to determine. "This feature
depends on having the channel open in mumble mode, having the foo
switch set, and on the phase of the moon."

True story: Once upon a time there was a bug that really did depend
on the phase of the moon. There is a little subroutine that had
traditionally been used in various programs at MIT to calculate an
approximation to the moon's true phase. GLS incorporated this
routine into a LISP program that, when it wrote out a file, would
print a timestamp line almost 80 characters long. Very
occasionally the first line of the message would be too long and
would overflow onto the next line, and when the file was later read
back in the program would {barf}. The length of the first line
depended on both the precise date and time and the length of the
phase specification when the timestamp was printed, and so the bug
literally depended on the phase of the moon!

The first paper edition of the Jargon File (Steele-1983) included
an example of one of the timestamp lines that exhibited this bug,
but the typesetter `corrected' it. This has since been
described as the phase-of-the-moon-bug bug.

:phase-wrapping: [MIT] n. Syn. {wrap around}, sense 2.

:phreaking: /freek'ing/ [from `phone phreak'] n. 1. The art and
science of cracking the phone network (so as, for example, to make
free long-distance calls). 2. By extension, security-cracking in
any other context (especially, but not exclusively, on
communications networks) (see {cracking}).

At one time phreaking was a semi-respectable activity among
hackers; there was a gentleman's agreement that phreaking as an
intellectual game and a form of exploration was OK, but serious
theft of services was taboo. There was significant crossover
between the hacker community and the hard-core phone phreaks who
ran semi-underground networks of their own through such media as
the legendary `TAP Newsletter'. This ethos began to break
down in the mid-1980s as wider dissemination of the techniques put
them in the hands of less responsible phreaks. Around the same
time, changes in the phone network made old-style technical
ingenuity less effective as a way of hacking it, so phreaking came
to depend more on overtly criminal acts such as stealing phone-card
numbers. The crimes and punishments of gangs like the `414 group'
turned that game very ugly. A few old-time hackers still phreak
casually just to keep their hand in, but most these days have
hardly even heard of `blue boxes' or any of the other
paraphernalia of the great phreaks of yore.

:pico-: [SI: a quantifier
meaning * 10^-12]
pref. Smaller than {nano-}; used in the same rather loose
connotative way as {nano-} and {micro-}. This usage is not yet
common in the way {nano-} and {micro-} are, but should be
instantly recognizable to any hacker. See also {{quantifiers}},
{micro-}.

:pig, run like a: v. To run very slowly on given hardware, said of
software. Distinct from {hog}.

:pilot error: [Sun: from aviation] n. A user's misconfiguration or
misuse of a piece of software, producing apparently buglike results
(compare {UBD}). "Joe Luser reported a bug in sendmail that
causes it to generate bogus headers." "That's not a bug, that's
pilot error. His `sendmail.cf' is hosed."

:ping: [from the TCP/IP acronym `Packet INternet Groper', prob.
originally contrived to match the submariners' term for a sonar
pulse] 1. n. Slang term for a small network message (ICMP ECHO)
sent by a computer to check for the presence and aliveness of
another. Occasionally used as a phone greeting. See {ACK},
also {ENQ}. 2. vt. To verify the presence of. 3. vt. To get
the attention of. From the UNIX command `ping(1)' that sends
an ICMP ECHO packet to another host. 4. vt. To send a message to
all members of a {mailing list} requesting an {ACK} (in order
to verify that everybody's addresses are reachable). "We haven't
heard much of anything from Geoff, but he did respond with an ACK
both times I pinged jargon-friends." 5. n. A quantum packet of
happiness. People who are very happy tend to exude pings;
furthermore, one can intentionally create pings and aim them at a
needy party (e.g. a depressed person). This sense of ping may
appear as an exclamation; "Ping!" (I'm happy; I am emitting a
quantum of happiness; I have been struck by a quantum of
happiness). The form "pingfulness", which is used to describe
people who exude pings, also occurs. (In the standard abuse of
language, "pingfulness" can also be used as an exclamation, in
which case it's a much stronger exclamation than just "ping"!).
Oppose {blargh}.

The funniest use of `ping' to date was described in January 1991 by
Steve Hayman on the USENET group comp.sys.next. He was trying
to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to
a NeXT machine, and got tired of having to run back to his console
after each cabling tweak to see if the ping packets were getting
through. So he used the sound-recording feature on the NeXT, then
wrote a script that repeatedly invoked `ping(8)', listened for
an echo, and played back the recording on each returned packet.
Result? A program that caused the machine to repeat, over and
over, "Ping ... ping ... ping ..." as long as the
network was up. He turned the volume to maximum, ferreted through
the building with one ear cocked, and found a faulty tee connector
in no time.

:Pink-Shirt Book: `The Peter Norton Programmer's Guide to the IBM
PC'. The original cover featured a picture of Peter Norton with a
silly smirk on his face, wearing a pink shirt. Perhaps in
recognition of this usage, the current edition has a different
picture of Norton wearing a pink shirt. See also {{book titles}}.

:PIP: /pip/ [Peripheral Interchange Program] vt.,obs. To copy;
from the program PIP on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8
(derived from a utility on the PDP-6) that was used for file
copying (and in OS/8 and RT-11 for just about every other file
operation you might want to do). It is said that when the program
was originated, during the development of the PDP-6 in 1963, it was
called ATLATL (`Anything, Lord, to Anything, Lord'; this played on
the Nahuatl word `atlatl' for a spear-thrower, with connotations
of utility and primitivity that were no doubt quite intentional).

:pistol: [IBM] n. A tool that makes it all too easy for you to
shoot yourself in the foot. "UNIX `rm *' makes such a nice
pistol!"

:pizza box: [Sun] n. The largish thin box housing the electronics
in (especially Sun) desktop workstations, so named because of its
size and shape and the dimpled pattern that looks like air holes.

Two meg single-platter removable disk packs used to be called
pizzas, and the huge drive they were stuck into was referred to as
a pizza oven. It's an index of progress that in the old days just
the disk was pizza-sized, while now the entire computer is.

:pizza, ANSI standard: /an'see stan'd*rd peet'z*/ [CMU] Pepperoni
and mushroom pizza. Coined allegedly because most pizzas ordered
by CMU hackers during some period leading up to mid-1990 were of
that flavor. See also {rotary debugger}; compare {tea, ISO
standard cup of}.

:plaid screen: [XEROX PARC] n. A `special effect' which occurs
when certain kinds of {memory smash}es overwrite the control
blocks or image memory of a bit-mapped display. The term "salt &
pepper" may refer to a different pattern of similar origin.
Though the term as coined at PARC refers to the result of an error,
some of the {X} demos induce plaid-screen effects deliberately
as a {display hack}.

:plain-ASCII: /playn-as'kee/ Syn. {flat-ASCII}.

:plan file: [UNIX] n. On systems that support {finger}, the
`.plan' file in a user's home directory is displayed when the user
is fingered. This feature was originally intended to be used to
keep potential fingerers apprised of one's location and near-future
plans, but has been turned almost universally to humorous and
self-expressive purposes (like a {sig block}). See {Hacking X
for Y}.

:platinum-iridium: adj. Standard, against which all others of the
same category are measured. Usage: silly. The notion is that one
of whatever it is has actually been cast in platinum-iridium alloy
and placed in the vault beside the Standard Kilogram at the
International Bureau of Weights and Measures near Paris. (From
1889 to 1960, the meter was defined to be the distance between two
scratches in a platinum-iridium bar kept in that vault --- this
replaced an earlier definition as 10^(-7) times the distance
between the North Pole and the Equator along a meridian through
Paris; unfortunately, this had been based on an inexact value of
the circumference of the Earth. From 1960 to 1984 it was defined
to be 1650763.73 wavelengths of the orange-red line of krypton-86
propagating in a vacuum. It is now defined as the length of the
path traveled by light in a vacuum in the time interval of
1/299,792,458 of a second. The kilogram is now the only unit of
measure officially defined in terms of a unique artifact.) "This
garbage-collection algorithm has been tested against the
platinum-iridium cons cell in Paris." Compare {golden}.

:playpen: [IBM] n. A room where programmers work. Compare {salt
mines}.

:playte: /playt/ 16 bits, by analogy with {nybble} and
{{byte}}. Usage: rare and extremely silly. See also {dynner}
and {crumb}.

:plingnet: /pling'net/ n. Syn. {UUCPNET}. Also see
{{Commonwealth Hackish}}, which uses `pling' for {bang} (as in
{bang path}).

:plokta: /plok't*/ [Acronym for `Press Lots Of Keys To Abort']
v. To press random keys in an attempt to get some response from
the system. One might plokta when the abort procedure for a
program is not known, or when trying to figure out if the system is
just sluggish or really hung. Plokta can also be used while trying
to figure out any unknown key sequence for a particular operation.
Someone going into `plokta mode' usually places both hands flat
on the keyboard and presses down, hoping for some useful
response.

A slightly more diected form of plokta can often be seen in mail
messages or USENET articles from new users -- the text might end
with

q
quit
:q
^C
end
x
exit
ZZ
^D
?
help

as the user vainly tries to find the right exit sequence, with the
incorrect tries piling up at the end of the message....

:plonk: [USENET: possibly influenced by British slang `plonk' for
cheap booze] The sound a {newbie} makes as he falls to the bottom
of a {kill file}. Used almost exclusively in the {newsgroup}
talk.bizarre, this term (usually written "*plonk*") is a
form of public ridicule.

:plugh: /ploogh/ [from the {ADVENT} game] v. See {xyzzy}.

:plumbing: [UNIX] n. Term used for {shell} code, so called
because of the prevalence of `pipelines' that feed the output of
one program to the input of another. Under UNIX, user utilities
can often be implemented or at least prototyped by a suitable
collection of pipelines and temp-file grinding encapsulated in a
shell script; this is much less effort than writing C every time,
and the capability is considered one of UNIX's major winning
features. A few other OSs such as IBM's VM/CMS support similar
facilities. Esp. used in the construction `hairy plumbing'
(see {hairy}). "You can kluge together a basic spell-checker
out of `sort(1)', `comm(1)', and `tr(1)' with a
little plumbing." See also {tee}.

:PM: /P-M/ 1. v. (from `preventive maintenance') To bring
down a machine for inspection or test purposes; see {scratch
monkey}. 2. n. Abbrev. for `Presentation Manager', an
{elephantine} OS/2 graphical user interface. See also
{provocative maintenance}.

:pnambic: /p*-nam'bik/ [Acronym from the scene in the film
version of `The Wizard of Oz' in which the true nature of the
wizard is first discovered: "Pay no attention to the man behind
the curtain."] 1. A stage of development of a process or function
that, owing to incomplete implementation or to the complexity of
the system, requires human interaction to simulate or replace some
or all of the actions, inputs, or outputs of the process or
function. 2. Of or pertaining to a process or function whose
apparent operations are wholly or partially falsified.
3. Requiring {prestidigitization}.

The ultimate pnambic product was "Dan Bricklin's Demo", a program
which supported flashy user-interface design prototyping. There is
a related maxim among hackers: "Any sufficiently advanced
technology is indistinguishable from a rigged demo." See
{magic}, sense 1, for illumination of this point.

:pod: [allegedly from abbreviation POD for `Prince Of Darkness'] n. A
Diablo 630 (or, latterly, any letter-quality impact printer). From
the DEC-10 PODTYPE program used to feed formatted text to it.
See also {P.O.D.}

:point-and-drool interface: n. Parody of the techspeak term
`point-and-shoot interface', describing a windows, icons, and
mice-based interface such as is found on the Macintosh. The
implication, of course, is that such an interface is only suitable
for idiots. See {for the rest of us}, {WIMP environment},
{Macintrash}, {drool-proof paper}. Also `point-and-grunt
interface'.

:poke: n.,vt. See {peek}.

:poll: v.,n. 1. [techspeak] The action of checking the status of an
input line, sensor, or memory location to see if a particular
external event has been registered. 2. To repeatedly call or check
with someone: "I keep polling him, but he's not answering his
phone; he must be swapped out." 3. To ask. "Lunch? I poll for
a takeout order daily."

:polygon pusher: n. A chip designer who spends most of his or her
time at the physical layout level (which requires drawing
*lots* of multi-colored polygons). Also `rectangle
slinger'.

:POM: /P-O-M/ n. Common abbreviation for {phase of the moon}. Usage:
usually in the phrase `POM-dependent', which means {flaky}.

:pop: [from the operation that removes the top of a stack, and the
fact that procedure return addresses are saved on the stack] (also
capitalized `POP' /pop/) 1. vt. To remove something from a
{stack} or {pdl}. If a person says he/she has popped
something from his stack, that means he/she has finally finished
working on it and can now remove it from the list of things hanging
overhead. 2. When a discussion gets to too deep a level of detail
so that the main point of the discussion is being lost, someone
will shout "Pop!", meaning "Get back up to a higher level!"
The shout is frequently accompanied by an upthrust arm with a
finger pointing to the ceiling.

:POPJ: /pop'J/ [from a {PDP-10} return-from-subroutine
instruction] n.,v. To return from a digression. By verb doubling,
"Popj, popj" means roughly "Now let's see, where were we?"
See {RTI}.

:posing: n. On a {MUD}, the use of `:' or an equivalent
command to announce to other players that one is taking a certain
physical action that has no effect on the game (it may, however,
serve as a social signal or propaganda device that induces other
people to take game actions). For example, if one's character name
is Firechild, one might type `: looks delighted at the idea and
begins hacking on the nearest terminal' to broadcast a message that
says "Firechild looks delighted at the idea and begins hacking on
the nearest terminal". See {RL}.

:post: v. To send a message to a {mailing list} or {newsgroup}.
Distinguished in context from `mail'; one might ask, for
example: "Are you going to post the patch or mail it to known
users?"

:postcardware: n. {Shareware} that borders on {freeware}, in that the
author requests only that satisfied users send a postcard of their
home town or something. (This practice, silly as it might seem,
serves to remind users that they are otherwise getting something for
nothing, and may also be psychologically related to real estate
"sales" in which $1 changes hands just to keep the transaction from
being a gift.)

:posting: n. Noun corresp. to v. {post} (but note that
{post} can be nouned). Distinguished from a `letter' or ordinary
{email} message by the fact that it is broadcast rather than
point-to-point. It is not clear whether messages sent to a small
mailing list are postings or email; perhaps the best dividing line
is that if you don't know the names of all the potential
recipients, it is a posting.

:postmaster: n. The email contact and maintenance person at a site
connected to the Internet or UUCPNET. Often, but not always, the
same as the {admin}. The Internet standard for electronic mail
({RFC}822) requires each machine to have a `postmaster' address;
usually it is aliased to this person.

:PostScript: n. A groundbreaking Page Description Language
({PDL}), based on work originally done by John Gaffney at Evans
and Sutherland in 1976, evolving through `JaM' (`John and Martin',
Martin Newell) at {XEROX PARC}, and finally implemented in its
current form by John Warnock et al. after he and Chuck Geschke
founded Adobe Systems Incorporated in 1982. PostScript gets its
leverage by using a full programming language, rather than a series
of low-level escape sequences, to describe an image to be printed
on a laser printer or other output device (in this it parallels
{EMACS}, which exploited a similar insight about editing tasks).
It is also noteworthy for implementing on-the fly rasterization,
from Bezier curve descriptions, of high-quality fonts at low (e.g.
300 dpi) resolution (it was formerly believed that hand-tuned
bitmap fonts were required for this task). Hackers consider
PostScript to be among the most elegant hacks of all time, and the
combination of technical merits and widespread availability has
made PostScript the language of choice for graphical output.

:pound on: vt. Syn. {bang on}.

:power cycle: vt. (also, `cycle power' or just `cycle') To
power off a machine and then power it on immediately, with the
intention of clearing some kind of {hung} or {gronk}ed state.
Syn. {120 reset}; see also {Big Red Switch}. Compare
{Vulcan nerve pinch}, {bounce}, and {boot}, and see the
AI Koan in "{A Selection of AI Koans}" (in
{appendix A}) about Tom Knight and the novice.

:power hit: n. A spike or drop-out in the electricity supplying
your machine; a power {glitch}. These can cause crashes and
even permanent damage to your machine(s).

:PPN: /P-P-N/, /pip'n/ [from `Project-Programmer Number'] n. A
user-ID under {{TOPS-10}} and its various mutant progeny at SAIL,
BBN, CompuServe, and elsewhere. Old-time hackers from the PDP-10
era sometimes use this to refer to user IDs on other systems as
well.

:precedence lossage: /pre's*-dens los'*j/ [C programmers] n.
Coding error in an expression due to unexpected grouping of
arithmetic or logical operators by the compiler. Used esp. of
certain common coding errors in C due to the nonintuitively low
precedence levels of `&', `|', `^', `<<',
and `>>' (for this reason, experienced C programmers
deliberately forget the language's {baroque} precedence
hierarchy and parenthesize defensively). Can always be avoided by
suitable use of parentheses. {LISP} fans enjoy pointing out
that this can't happen in *their* favorite language, which
eschews precedence entirely, requiring one to use explicit
parentheses everywhere. See {aliasing bug}, {memory leak},
{memory smash}, {smash the stack}, {fandango on core},
{overrun screw}.

:prepend: /pree`pend'/ [by analogy with `append'] vt. To
prefix. As with `append' (but not `prefix' or `suffix' as a
verb), the direct object is always the thing being added and not
the original word (or character string, or whatever). "If you
prepend a semicolon to the line, the translation routine will pass
it through unaltered."

:prestidigitization: /pres`t*-di`j*-ti:-zay'sh*n/ n. 1. The act
of putting something into digital notation via sleight of hand.
2. Data entry through legerdemain.

:pretty pictures: n. [scientific computation] The next step up from
{numbers}. Interesting graphical output from a program that may
not have any sensible relationship to the system the program is
intended to model. Good for showing to {management}.

:prettyprint: /prit'ee-print/ (alt. `pretty-print') v. 1. To
generate `pretty' human-readable output from a {hairy} internal
representation; esp. used for the process of {grind}ing (sense 2)
LISP code. 2. To format in some particularly slick and
nontrivial way.

:pretzel key: [Mac users] n. See {feature key}.

:prime time: [from TV programming] n. Normal high-usage hours on a
timesharing system; the day shift. Avoidance of prime time is a
major reason for {night mode} hacking.

:printing discussion: [PARC] n. A protracted, low-level,
time-consuming, generally pointless discussion of something only
peripherally interesting to all.

:priority interrupt: [from the hardware term] n. Describes any
stimulus compelling enough to yank one right out of {hack mode}.
Classically used to describe being dragged away by an {SO} for
immediate sex, but may also refer to more mundane interruptions
such as a fire alarm going off in the near vicinity. Also called
an {NMI} (non-maskable interrupt), especially in PC-land.

:profile: n. 1. A control file for a program, esp. a text file
automatically read from each user's home directory and intended to
be easily modified by the user in order to customize the program's
behavior. Used to avoid {hardcoded} choices. 2. [techspeak] A
report on the amounts of time spent in each routine of a program,
used to find and {tune} away the {hot spot}s in it. This sense
is often verbed. Some profiling modes report units other than time
(such as call counts) and/or report at granularities other than
per-routine, but the idea is similar.

:proglet: /prog'let/ [UK] n. A short extempore program written
to meet an immediate, transient need. Often written in BASIC,
rarely more than a dozen lines long, and contains no subroutines.
The largest amount of code that can be written off the top of one's
head, that does not need any editing, and that runs correctly the
first time (this amount varies significantly according to the
language one is using). Compare {toy program}, {noddy},
{one-liner wars}.

:program: n. 1. A magic spell cast over a computer allowing it to
turn one's input into error messages. 2. An exercise in
experimental epistemology. 3. A form of art, ostensibly intended
for the instruction of computers, which is nevertheless almost
inevitably a failure if other programmers can't understand it.

:Programmer's Cheer: "Shift to the left! Shift to the right! Pop
up, push down! Byte! Byte! Byte!" A joke so old it has hair on
it.

:programming: n. 1. The art of debugging a blank sheet of paper (or,
in these days of on-line editing, the art of debugging an empty
file). 2. n. A pastime similar to banging one's head against a
wall, but with fewer opportunities for reward. 3. n. The most fun
you can have with your clothes on (although clothes are not
mandatory).

:programming fluid: n. 1. Coffee. 2. Cola. 3. Any caffeinacious
stimulant. Many hackers consider these essential for those
all-night hacking runs. See {unleaded}, {wirewater}.

:propeller head: n. Used by hackers, this is syn. with {computer
geek}. Non-hackers sometimes use it to describe all techies.
Prob. derives from SF fandom's tradition (originally invented by
old-time fan Ray Faraday Nelson) of propeller beanies as fannish
insignia (though nobody actually wears them except as a joke).

:propeller key: [Mac users] n. See {feature key}.

:proprietary: adj. 1. In {marketroid}-speak, superior; implies a
product imbued with exclusive magic by the unmatched brilliance of
the company's hardware or software designers. 2. In the language
of hackers and users, inferior; implies a product not conforming to
open-systems standards, and thus one that puts the customer at the
mercy of a vendor able to gouge freely on service and upgrade
charges after the initial sale has locked the customer in (that's
assuming it wasn't too expensive in the first place).

:protocol: n. As used by hackers, this never refers to niceties
about the proper form for addressing letters to the Papal Nuncio or
the order in which one should use the forks in a Russian-style
place setting; hackers don't care about such things. It is used
instead to describe any set of rules that allow different machines
or pieces of software to coordinate with each other without
ambiguity. So, for example, it does include niceties about the
proper form for addressing packets on a network or the order in
which one should use the forks in the Dining Philosophers Problem.
It implies that there is some common message format and an accepted
set of primitives or commands that all parties involved understand,
and that transactions among them follow predictable logical
sequences. See also {handshaking}, {do protocol}.

:provocative maintenance: [common ironic mutation of `preventive
maintenance'] n. Actions performed upon a machine at regularly
scheduled intervals to ensure that the system remains in a usable
state. So called because it is all too often performed by a
{field servoid} who doesn't know what he is doing; this results
in the machine's remaining in an *un*usable state for an
indeterminate amount of time. See also {scratch monkey}.

:prowler: [UNIX] n. A {daemon} that is run periodically (typically
once a week) to seek out and erase {core} files, truncate
administrative logfiles, nuke `lost+found' directories, and
otherwise clean up the {cruft} that tends to pile up in the
corners of a file system. See also {GFR}, {reaper},
{skulker}.

:pseudo: /soo'doh/ [USENET: truncation of `pseudonym'] n. 1. An
electronic-mail or {USENET} persona adopted by a human for
amusement value or as a means of avoiding negative repercussions of
one's net.behavior; a `nom de USENET', often associated with
forged postings designed to conceal message origins. Perhaps the
best-known and funniest hoax of this type is {BIFF}.
2. Notionally, a {flamage}-generating AI program simulating a
USENET user. Many flamers have been accused of actually being such
entities, despite the fact that no AI program of the required
sophistication yet exists. However, in 1989 there was a famous
series of forged postings that used a phrase-frequency-based
travesty generator to simulate the styles of several well-known
flamers; it was based on large samples of their back postings
(compare {Dissociated Press}). A significant number of people
were fooled by the forgeries, and the debate over their
authenticity was settled only when the perpetrator came forward to
publicly admit the hoax.

:pseudoprime: n. A backgammon prime (six consecutive occupied
points) with one point missing. This term is an esoteric pun
derived from a mathematical method that, rather than determining
precisely whether a number is prime (has no divisors), uses a
statistical technique to decide whether the number is `probably'
prime. A number that passes this test is called a pseudoprime.
The hacker backgammon usage stems from the idea that a pseudoprime
is almost as good as a prime: it does the job of a prime until
proven otherwise, and that probably won't happen.

:pseudosuit: /soo'doh-s[y]oot`/ n. A {suit} wannabee; a hacker
who has decided that he wants to be in management or administration
and begins wearing ties, sport coats, and (shudder!) suits
voluntarily. It's his funeral. See also {lobotomy}.

:psychedelicware: /si:`k*-del'-ik-weir/ [UK] n. Syn.
{display hack}. See also {smoking clover}.

:psyton: /si:'ton/ [TMRC] n. The elementary particle carrying the
sinister force. The probability of a process losing is
proportional to the number of psytons falling on it. Psytons are
generated by observers, which is why demos are more likely to fail
when lots of people are watching. [This term appears to have been
largely superseded by {bogon}; see also {quantum bogodynamics}.
--- ESR]

:pubic directory: [NYU] (also `pube directory' /pyoob'
d*-rek't*-ree/) n. The `pub' (public) directory on a machine that
allows {FTP} access. So called because it is the default
location for {SEX} (sense 1). "I'll have the source in the
pube directory by Friday."

:puff: vt. To decompress data that has been crunched by Huffman
coding. At least one widely distributed Huffman decoder program
was actually *named* `PUFF', but these days it is usually
packaged with the encoder. Oppose {huff}.

:punched card:: alt. `punch card' [techspeak] n.obs. The signature
medium of computing's {Stone Age}, now obsolescent outside of
some IBM shops. The punched card actually predated computers
considerably, originating in 1801 as a control device for
mechanical looms. The version patented by Hollerith and used with
mechanical tabulating machines in the 1890 U.S. Census was a piece
of cardboard about 90 mm by 215 mm, designed to fit exactly in the
currency trays used for that era's larger dollar bills.

IBM (which originated as a tabulating-machine manufacturer) married
the punched card to computers, encoding binary information as
patterns of small rectangular holes; one character per column,
80 columns per card. Other coding schemes, sizes of card, and
hole shapes were tried at various times.

The 80-column width of most character terminals is a legacy of the
IBM punched card; so is the size of the quick-reference cards
distributed with many varieties of computers even today. See
{chad}, {chad box}, {eighty-column mind}, {green card},
{dusty deck}, {lace card}, {card walloper}.

:punt: [from the punch line of an old joke referring to American
football: "Drop back 15 yards and punt!"] v. 1. To give up,
typically without any intention of retrying. "Let's punt the
movie tonight." "I was going to hack all night to get this
feature in, but I decided to punt" may mean that you've decided
not to stay up all night, and may also mean you're not ever even
going to put in the feature. 2. More specifically, to give up on
figuring out what the {Right Thing} is and resort to an
inefficient hack. 3. A design decision to defer solving a
problem, typically because one cannot define what is desirable
sufficiently well to frame an algorithmic solution. "No way to
know what the right form to dump the graph in is --- we'll punt
that for now." 4. To hand a tricky implementation problem off
to some other section of the design. "It's too hard to get the
compiler to do that; let's punt to the runtime system."

:Purple Book: n. 1. The `System V Interface Definition'. The
covers of the first editions were an amazingly nauseating shade of
off-lavender. 2. Syn. {Wizard Book}. See also {{book
titles}}.

:purple wire: [IBM] n. Wire installed by Field Engineers to work
around problems discovered during testing or debugging. These are
called `purple wires' even when (as is frequently the case) their
actual physical color is yellow.... Compare {blue wire},
{purple wire}, and {red wire}.

:push: [from the operation that puts the current information on a
stack, and the fact that procedure return addresses are saved on a
stack] Also PUSH /push/ or PUSHJ /push'J/ (the latter based on
the PDP-10 procedure call instruction). 1. To put something onto a
{stack} or {pdl}. If one says that something has been pushed
onto one's stack, it means that the Damoclean list of things
hanging over ones's head has grown longer and heavier yet. This
may also imply that one will deal with it *before* other
pending items; otherwise one might say that the thing was `added
to my queue'. 2. vi. To enter upon a digression, to save the
current discussion for later. Antonym of {pop}; see also
{stack}, {pdl}.

= Q =
=====

:Q-line: [IRC] v. To ban a particular {IRC} server from
connecting to one's own; does to it what {K-line} does to an
individual. Since this is applied transitively, it has the effect
of partitioning the IRC network, which is generally a {bad
thing}.

:quad: n. 1. Two bits; syn. for {quarter}, {crumb},
{tayste}. 2. A four-pack of anything (compare {hex}, sense 2).
3. The rectangle or box glyph used in the APL language for various
arcane purposes mostly related to I/O. Former Ivy-Leaguers and
Oxbridge types are said to associate it with nostalgic memories of
dear old University.

:quadruple bucky: n., obs. 1. On an MIT {space-cadet keyboard},
use of all four of the shifting keys (control, meta, hyper, and
super) while typing a character key. 2. On a Stanford or MIT
keyboard in {raw mode}, use of four shift keys while typing a
fifth character, where the four shift keys are the control and meta
keys on *both* sides of the keyboard. This was very difficult
to do! One accepted technique was to press the left-control and
left-meta keys with your left hand, the right-control and
right-meta keys with your right hand, and the fifth key with your
nose.

Quadruple-bucky combinations were very seldom used in practice,
because when one invented a new command one usually assigned it to
some character that was easier to type. If you want to imply that
a program has ridiculously many commands or features, you can say
something like: "Oh, the command that makes it spin the tapes
while whistling Beethoven's Fifth Symphony is
quadruple-bucky-cokebottle." See {double bucky}, {bucky
bits}, {cokebottle}.

:quantifiers:: In techspeak and jargon, the standard metric
prefixes used in the SI (Syst`eme International) conventions for
scientific measurement have dual uses. With units of time or
things that come in powers of 10, such as money, they retain their
usual meanings of multiplication by powers of 1000 = 10^3.
But when used with bytes or other things that naturally come in
powers of 2, they usually denote multiplication by powers of
1024 = 2^(10).

Here are the SI magnifying prefixes, along with the corresponding
binary interpretations in common use:

prefix decimal binary
kilo- 1000^1 1024^1 = 2^10 = 1,024
mega- 1000^2 1024^2 = 2^20 = 1,048,576
giga- 1000^3 1024^3 = 2^30 = 1,073,741,824
tera- 1000^4 1024^4 = 2^40 = 1,099,511,627,776
peta- 1000^5 1024^5 = 2^50 = 1,125,899,906,842,624
exa- 1000^6 1024^6 = 2^60 = 1,152,921,504,606,846,976
zetta- 1000^7 1024^7 = 2^70 = 1,180,591,620,717,411,303,424
yotta- 1000^8 1024^8 = 2^80 = 1,208,925,819,614,629,174,706,176

Here are the SI fractional prefixes:

*prefix decimal jargon usage*
milli- 1000^-1 (seldom used in jargon)
micro- 1000^-2 small or human-scale (see {micro-})
nano- 1000^-3 even smaller (see {nano-})
pico- 1000^-4 even smaller yet (see {pico-})
femto- 1000^-5 (not used in jargon---yet)
atto- 1000^-6 (not used in jargon---yet)
zepto- 1000^-7 (not used in jargon---yet)
yocto- 1000^-8 (not used in jargon---yet)

The prefixes zetta-, yotta-, zepto-, and yocto- have been included
in these tables purely for completeness and giggle value; they were
adopted in 1990 by the `19th Conference Generale des Poids et
Mesures'. The binary peta- and exa- loadings, though well
established, are not in jargon use either --- yet. The prefix
milli-, denoting multiplication by 1000^(-1), has always
been rare in jargon (there is, however, a standard joke about the
`millihelen' --- notionally, the amount of beauty required to
launch one ship). See the entries on {micro-}, {pico-}, and
{nano-} for more information on connotative jargon use of these
terms. `Femto' and `atto' (which, interestingly, derive not
from Greek but from Danish) have not yet acquired jargon loadings,
though it is easy to predict what those will be once computing
technology enters the required realms of magnitude (however, see
{attoparsec}).

There are, of course, some standard unit prefixes for powers of
10. In the following table, the `prefix' column is the
international standard suffix for the appropriate power of ten; the
`binary' column lists jargon abbreviations and words for the
corresponding power of 2. The B-suffixed forms are commonly used
for byte quantities; the words `meg' and `gig' are nouns which may
(but do not always) pluralize with `s'.

prefix decimal binary pronunciation
kilo- k K, KB, /kay/
mega- M M, MB, meg /meg/
giga- G G, GB, gig /gig/,/jig/

Confusingly, hackers often use K or M as though they were suffix or
numeric multipliers rather than a prefix; thus "2K dollars", "2M
of disk space". This is also true (though less commonly) of G.

Note that the formal SI metric prefix for 1000 is `k'; some use
this strictly, reserving `K' for multiplication by 1024 (KB is
`kilobytes').

K, M, and G used alone refer to quantities of bytes; thus, 64G is
64 gigabytes and `a K' is a kilobyte (compare mainstream use of
`a G' as short for `a grand', that is, $1000). Whether one
pronounces `gig' with hard or soft `g' depends on what one thinks
the proper pronunciation of `giga-' is.

Confusing 1000 and 1024 (or other powers of 2 and 10 close in
magnitude) --- for example, describing a memory in units of
500K or 524K instead of 512K --- is a sure sign of the
{marketroid}.

:quantum bogodynamics: /kwon'tm boh`goh-di:-nam'iks/ n. A theory
that characterizes the universe in terms of bogon sources (such as
politicians, used-car salesmen, TV evangelists, and {suit}s in
general), bogon sinks (such as taxpayers and computers), and
bogosity potential fields. Bogon absorption, of course, causes
human beings to behave mindlessly and machines to fail (and may
also cause both to emit secondary bogons); however, the precise
mechanics of the bogon-computron interaction are not yet understood
and remain to be elucidated. Quantum bogodynamics is most often
invoked to explain the sharp increase in hardware and software
failures in the presence of suits; the latter emit bogons, which
the former absorb. See {bogon}, {computron}, {suit},
{psyton}.

:quarter: n. Two bits. This in turn comes from the `pieces of
eight' famed in pirate movies --- Spanish silver crowns that could
be broken into eight pie-slice-shaped `bits' to make change.
Early in American history the Spanish coin was considered equal to
a dollar, so each of these `bits' was considered worth
12.5 cents. Syn. {tayste}, {crumb}, {quad}. Usage:
rare. See also {nickle}, {nybble}, {{byte}}, {dynner}.

:ques: /kwes/ 1. n. The question mark character (`?', ASCII
0111111). 2. interj. What? Also frequently verb-doubled as
"Ques ques?" See {wall}.

:quick-and-dirty: adj. Describes a {crock} put together under time
or user pressure. Used esp. when you want to convey that you think
the fast way might lead to trouble further down the road. "I can
have a quick-and-dirty fix in place tonight, but I'll have to
rewrite the whole module to solve the underlying design problem."
See also {kluge}.

:quine: [from the name of the logician Willard V. Quine, via
Douglas Hofstadter] n. A program which generates a copy of its
source text as its complete output. Devising the shortest possible
quine in some given programming language is a common hackish
amusement. Here is one classic quine:

((lambda (x)
(list x (list (quote quote) x)))
(quote
(lambda (x)
(list x (list (quote quote) x)))))

This one works in LISP or Scheme. It's relatively easy to write
quines in other languages such as Postscript which readily handle
programs as data; much harder (and thus more challenging!) in
languages like C which do not. Here is a classic C quine:

char*f="char*f=%c%s%c;main(){printf(f,34,f,34,10);}%c";
main(){printf(f,34,f,34,10);}

For excruciatingly exact quinishness, remove the line break after
the second semicolon. Some infamous {Obfuscated C Contest}
entries have been quines that reproduced in exotic ways.

:quote chapter and verse: [by analogy with the mainstream phrase]
v. To cite a relevant excerpt from an appropriate {bible}. "I
don't care if `rn' gets it wrong; `Followup-To: poster' is
explicitly permitted by RFC-1036. I'll quote chapter and verse if
you don't believe me."

:quotient: n. See {coefficient of X}.

:quux: /kwuhks/ [Mythically, from the Latin semi-deponent verb
quuxo, quuxare, quuxandum iri; noun form variously `quux' (plural
`quuces', anglicized to `quuxes') and `quuxu' (genitive
plural is `quuxuum', for four u-letters out of seven in all,
using up all the `u' letters in Scrabble).] 1. Originally, a
{metasyntactic variable} like {foo} and {foobar}.
Invented by Guy Steele for precisely this purpose when he was young
and na"ive and not yet interacting with the real computing
community. Many people invent such words; this one seems simply to
have been lucky enough to have spread a little. In an eloquent
display of poetic justice, it has returned to the originator in the
form of a nickname. 2. interj. See {foo}; however, denotes very
little disgust, and is uttered mostly for the sake of the sound of
it. 3. Guy Steele in his persona as `The Great Quux', which is
somewhat infamous for light verse and for the `Crunchly' cartoons.
4. In some circles, quux is used as a punning opposite of `crux'.
"Ah, that's the quux of the matter!" implies that the point is
*not* crucial (compare {tip of the ice-cube}). 5. quuxy:
adj. Of or pertaining to a quux.

:qux: /kwuhks/ The fourth of the standard {metasyntactic
variable}, after {baz} and before the quu(u...)x series.
See {foo}, {bar}, {baz}, {quux}. This appears to be a
recent mutation from {quux}, and many versions of the
standard series just run {foo}, {bar}, {baz}, {quux},
....

:QWERTY: /kwer'tee/ [from the keycaps at the upper left] adj.
Pertaining to a standard English-language typewriter keyboard
(sometimes called the Sholes keyboard after its inventor), as
opposed to Dvorak or foreign-language layouts or a {space-cadet
keyboard} or APL keyboard.

Historical note: The QWERTY layout is a fine example of a {fossil}.
It is sometimes said that it was designed to slow down the typist,
but this is wrong; it was designed to allow *faster* typing
--- under a constraint now long obsolete. In early typewriters,
fast typing using nearby type-bars jammed the mechanism. So Sholes
fiddled the layout to separate the letters of many common digraphs
(he did a far from perfect job, though; `th', `tr', `ed', and `er',
for example, each use two nearby keys). Also, putting the letters
of `typewriter' on one line allowed it to be typed with particular
speed and accuracy for {demo}s. The jamming problem was
essentially solved soon afterward by a suitable use of springs, but
the keyboard layout lives on.

= R =
=====

:rain dance: n. 1. Any ceremonial action taken to correct a hardware
problem, with the expectation that nothing will be accomplished.
This especially applies to reseating printed circuit boards,
reconnecting cables, etc. "I can't boot up the machine. We'll
have to wait for Greg to do his rain dance." 2. Any arcane
sequence of actions performed with computers or software in order
to achieve some goal; the term is usually restricted to rituals
that include both an {incantation} or two and physical activity
or motion. Compare {magic}, {voodoo programming}, {black
art}.

:rainbow series: n. Any of several series of technical manuals
distinguished by cover color. The original rainbow series was the
NCSC security manuals (see {Orange Book}); the term has also
been commonly applied to the PostScript reference set (see {Red
Book}, {Green Book}, {Blue Book}, {White Book}). Which
books are meant by "`the' rainbow series" unqualified is thus
dependent on one's local technical culture.

:random: adj. 1. Unpredictable (closest to mathematical
definition); weird. "The system's been behaving pretty
randomly." 2. Assorted; undistinguished. "Who was at the
conference?" "Just a bunch of random business types."
3. (pejorative) Frivolous; unproductive; undirected. "He's just a
random loser." 4. Incoherent or inelegant; poorly chosen; not
well organized. "The program has a random set of misfeatures."
"That's a random name for that function." "Well, all the names
were chosen pretty randomly." 5. In no particular order, though
deterministic. "The I/O channels are in a pool, and when a file
is opened one is chosen randomly." 6. Arbitrary. "It generates
a random name for the scratch file." 7. Gratuitously wrong, i.e.,
poorly done and for no good apparent reason. For example, a
program that handles file name defaulting in a particularly useless
way, or an assembler routine that could easily have been coded
using only three registers, but redundantly uses seven for values
with non-overlapping lifetimes, so that no one else can invoke it
without first saving four extra registers. What {randomness}!
8. n. A random hacker; used particularly of high-school students
who soak up computer time and generally get in the way. 9. n.
Anyone who is not a hacker (or, sometimes, anyone not known to the
hacker speaking); the noun form of sense 2. "I went to the talk,
but the audience was full of randoms asking bogus questions".
10. n. (occasional MIT usage) One who lives at Random Hall. See
also {J. Random}, {some random X}.

:random numbers:: n. When one wishes to specify a large but random
number of things, and the context is inappropriate for {N}, certain
numbers are preferred by hacker tradition (that is, easily
recognized as placeholders). These include the following:

17
Long described at MIT as `the least random number'; see 23.
23
Sacred number of Eris, Goddess of Discord (along with 17 and
5).
42
The Answer to the Ultimate Question of Life, the Universe, and
Everything. (Note that this answer is completely fortuitous.
`:-)')
69
From the sexual act. This one was favored in MIT's ITS
culture.
105
69 hex = 105 decimal, and 69 decimal = 105 octal.
666
The Number of the Beast.

For further enlightenment, study the `Principia Discordia',
`{The Hitchhiker's Guide to the Galaxy}', `The Joy
of Sex', and the Christian Bible (Revelation 13:8). See also
{Discordianism} or consult your pineal gland. See also {for
values of}.

:randomness: n. 1. An inexplicable misfeature; gratuitous
inelegance. 2. A {hack} or {crock} that depends on a complex
combination of coincidences (or, possibly, the combination upon
which the crock depends for its accidental failure to malfunction).
"This hack can output characters 40--57 by putting the character
in the four-bit accumulator field of an XCT and then extracting
six bits --- the low 2 bits of the XCT opcode are the right
thing." "What randomness!" 3. Of people, synonymous with
`flakiness'. The connotation is that the person so described is
behaving weirdly, incompetently, or inappropriately for reasons
which are (a) too tiresome to bother inquiring into, (b) are
probably as inscrutable as quantum phenomena anyway, and (c) are
likely to pass with time. "Maybe he has a real complaint, or maybe
it's just randomness. See if he calls back."

:rape: vt. 1. To {screw} someone or something, violently; in
particular, to destroy a program or information irrecoverably.
Often used in describing file-system damage. "So-and-so was
running a program that did absolute disk I/O and ended up raping
the master directory." 2. To strip a piece of hardware for parts.
3. [CMU/Pitt] To mass-copy files from an anonymous ftp site.
"Last night I raped Simtel's dskutl directory."

:rare mode: [UNIX] adj. CBREAK mode (character-by-character with
interrupts enabled). Distinguished from {raw mode} and {cooked
mode}; the phrase "a sort of half-cooked (rare?) mode" is used
in the V7/BSD manuals to describe the mode. Usage: rare.

:raster blaster: n. [Cambridge] Specialized hardware for
{bitblt} operations (a {blitter}). Allegedly inspired by
`Rasta Blasta', British slang for the sort of portable stereo
Americans call a `boom box' or `ghetto blaster'.

:raster burn: n. Eyestrain brought on by too many hours of looking at
low-res, poorly tuned, or glare-ridden monitors, esp. graphics
monitors. See {terminal illness}.

:rat belt: n. A cable tie, esp. the sawtoothed, self-locking plastic
kind that you can remove only by cutting (as opposed to a random
twist of wire or a twist tie or one of those humongous metal clip
frobs). Small cable ties are `mouse belts'.

:rave: [WPI] vi. 1. To persist in discussing a specific subject.
2. To speak authoritatively on a subject about which one knows
very little. 3. To complain to a person who is not in a position
to correct the difficulty. 4. To purposely annoy another person
verbally. 5. To evangelize. See {flame}. 6. Also used to
describe a less negative form of blather, such as friendly
bullshitting. `Rave' differs slightly from {flame} in that
`rave' implies that it is the persistence or obliviousness of the
person speaking that is annoying, while {flame} implies somewhat
more strongly that the tone is offensive as well.

:rave on!: imp. Sarcastic invitation to continue a {rave}, often by
someone who wishes the raver would get a clue but realizes this is
unlikely.

:ravs: /ravz/, also `Chinese ravs' n. Jiao-zi (steamed or
boiled) or Guo-tie (pan-fried). A Chinese appetizer, known
variously in the plural as dumplings, pot stickers (the literal
translation of guo-tie), and (around Boston) `Peking Ravioli'. The
term `rav' is short for `ravioli', which among hackers always
means the Chinese kind rather than the Italian kind. Both consist
of a filling in a pasta shell, but the Chinese kind includes no
cheese, uses a thinner pasta, has a pork-vegetable filling (good
ones include Chinese chives), and is cooked differently, either by
steaming or frying. A rav or dumpling can be cooked any way, but a
potsticker is always the fried kind (so called because it sticks to
the frying pot and has to be scraped off). "Let's get
hot-and-sour soup and three orders of ravs." See also
{{oriental food}}.

:raw mode: n. A mode that allows a program to transfer bits
directly to or from an I/O device (or, under {bogus} systems
which make a distinction, a disk file) without any processing,
abstraction, or interpretation by the operating system. Compare
{rare mode}, {cooked mode}. This is techspeak under UNIX,
jargon elsewhere.

:rc file: /R-C fi:l/ [UNIX: from the startup script
`/etc/rc', but this is commonly believed to have been named
after older scripts to `run commands'] n. Script file containing
startup instructions for an application program (or an entire
operating system), usually a text file containing commands of the
sort that might have been invoked manually once the system was
running but are to be executed automatically each time the system
starts up. See also {dot file}.

:RE: /R-E/ n. Common spoken and written shorthand for {regexp}.

:read-only user: n. Describes a {luser} who uses computers almost
exclusively for reading USENET, bulletin boards, and/or email,
rather than writing code or purveying useful information. See
{twink}, {terminal junkie}, {lurker}.

:README file: n. By convention, the top-level directory of a UNIX
source distribution always contains a file named `README' (or
READ.ME, or rarely ReadMe or some other variant), which is a
hacker's-eye introduction containing a pointer to more detailed
documentation, credits, miscellaneous revision history notes, etc.
In the Mac and PC worlds, software is not usually distributed in
source form and a README is more likely to contain user-oriented
material like last-minute documentation changes, error workarounds,
and restrictions. When asked, hackers invariably relate the README
convention to the famous scene in Lewis Carroll's `Alice's
Adventures In Wonderland' in which Alice confronts magic munchies
labeled "Eat Me" and "Drink Me".

:real: adj. Not simulated. Often used as a specific antonym to
{virtual} in any of its jargon senses.

:real estate: n. May be used for any critical resource measured in
units of area. Most frequently used of `chip real estate', the
area available for logic on the surface of an integrated circuit
(see also {nanoacre}). May also be used of floor space in a
{dinosaur pen}, or even space on a crowded desktop (whether
physical or electronic).

:real hack: n. A {crock}. This is sometimes used affectionately;
see {hack}.

:real operating system: n. The sort the speaker is used to. People
from the BSDophilic academic community are likely to issue comments
like "System V? Why don't you use a *real* operating
system?", people from the commercial/industrial UNIX sector are
known to complain "BSD? Why don't you use a *real*
operating system?", and people from IBM object "UNIX? Why don't
you use a *real* operating system?" See {holy wars},
{religious issues}, {proprietary}, {Get a real computer!}

:real programmer: [indirectly, from the book `Real Men Don't
Eat Quiche'] n. A particular sub-variety of hacker: one possessed
of a flippant attitude toward complexity that is arrogant even when
justified by experience. The archetypal `real programmer' likes
to program on the {bare metal} and is very good at same,
remembers the binary opcodes for every machine he has ever
programmed, thinks that HLLs are sissy, and uses a debugger to edit
his code because full-screen editors are for wimps. Real
Programmers aren't satisfied with code that hasn't been {bum}med
into a state of {tense}ness just short of rupture. Real
Programmers never use comments or write documentation: "If it was
hard to write", says the Real Programmer, "it should be hard to
understand." Real Programmers can make machines do things that
were never in their spec sheets; in fact, they are seldom really
happy unless doing so. A Real Programmer's code can awe with its
fiendish brilliance, even as its crockishness appalls. Real
Programmers live on junk food and coffee, hang line-printer art on
their walls, and terrify the crap out of other programmers ---
because someday, somebody else might have to try to understand
their code in order to change it. Their successors generally
consider it a {Good Thing} that there aren't many Real
Programmers around any more. For a famous (and somewhat more
positive) portrait of a Real Programmer, see "{The Story
of Mel, a Real Programmer}" in {appendix A}.

:Real Soon Now: [orig. from SF's fanzine community, popularized by
Jerry Pournelle's column in `BYTE'] adv. 1. Supposed to be
available (or fixed, or cheap, or whatever) real soon now according
to somebody, but the speaker is quite skeptical. 2. When one's
gods, fates, or other time commitments permit one to get to it (in
other words, don't hold your breath). Often abbreviated RSN.

:real time: 1. [techspeak] adj. Describes an application which
requires a program to respond to stimuli within some small upper
limit of response time (typically milli- or microseconds). Process
control at a chemical plant is the classic example. Such
applications often require special operating systems (because
everything else must take a back seat to response time) and
speed-tuned hardware. 2. adv. In jargon, refers to doing something
while people are watching or waiting. "I asked her how to find
the calling procedure's program counter on the stack and she came
up with an algorithm in real time."

:real user: n. 1. A commercial user. One who is paying *real*
money for his computer usage. 2. A non-hacker. Someone using the
system for an explicit purpose (a research project, a course, etc.)
other than pure exploration. See {user}. Hackers who are also
students may also be real users. "I need this fixed so I can do a
problem set. I'm not complaining out of randomness, but as a real
user." See also {luser}.

:Real World: n. 1. Those institutions at which `programming' may
be used in the same sentence as `FORTRAN', `{COBOL}',
`RPG', `{IBM}', `DBASE', etc. Places where programs do such
commercially necessary but intellectually uninspiring things as
generating payroll checks and invoices. 2. The location of
non-programmers and activities not related to programming. 3. A
bizarre dimension in which the standard dress is shirt and tie and
in which a person's working hours are defined as 9 to 5 (see
{code grinder}). 4. Anywhere outside a university. "Poor
fellow, he's left MIT and gone into the Real World." Used
pejoratively by those not in residence there. In conversation,
talking of someone who has entered the Real World is not unlike
speaking of a deceased person. It is also noteworthy that on the
campus of Cambridge University in England, there is a gaily-painted
lamp-post which bears the label `REALITY CHECKPOINT'. It marks the
boundary between university and the Real World; check your notions
of reality before passing. See also {fear and loathing},
{mundane}, and {uninteresting}.

:reality check: n. 1. The simplest kind of test of software or
hardware; doing the equivalent of asking it what 2 + 2 is
and seeing if you get 4. The software equivalent of a
{smoke test}. 2. The act of letting a {real user} try out
prototype software. Compare {sanity check}.

:reaper: n. A {prowler} that {GFR}s files. A file removed in
this way is said to have been `reaped'.

:rectangle slinger: n. See {polygon pusher}.

:recursion: n. See {recursion}. See also {tail recursion}.

:recursive acronym:: pl.n. A hackish (and especially MIT) tradition
is to choose acronyms/abbreviations that refer humorously to
themselves or to other acronyms/abbreviations. The classic
examples were two MIT editors called EINE ("EINE Is Not EMACS")
and ZWEI ("ZWEI Was EINE Initially"). More recently, there is a
Scheme compiler called LIAR (Liar Imitates Apply Recursively), and
{GNU} (q.v., sense 1) stands for "GNU's Not UNIX!" --- and a
company with the name CYGNUS, which expands to "Cygnus, Your GNU
Support". See also {mung}, {EMACS}.

:Red Book: n. 1. Informal name for one of the three standard
references on {PostScript} (`PostScript Language Reference
Manual', Adobe Systems (Addison-Wesley, 1985; QA76.73.P67P67; ISBN
0-201-10174-2, or the 1990 second edition ISBN 0-201-18127-4); the
others are known as the {Green Book}, the {Blue Book}, and
the {White Book} (sense 2). 2. Informal name for one of the 3
standard references on Smalltalk (`Smalltalk-80: The
Interactive Programming Environment' by Adele Goldberg
(Addison-Wesley, 1984; QA76.8.S635G638; ISBN 0-201-11372-4); this
too is associated with blue and green books). 3. Any of the
1984 standards issued by the CCITT eighth plenary assembly. Until
now, these have changed color each review cycle (1988 was {Blue
Book}, 1992 will be {Green Book}); however, it is rumored that
this convention is going to be dropped before 1992. These include,
among other things, the X.400 email spec and the Group 1 through 4
fax standards. 4. The new version of the {Green Book} (sense 4)
--- IEEE 1003.1-1990, a.k.a ISO 9945-1 --- is (because of the color
and the fact that it is printed on A4 paper) known in the U.S.A. as
"the Ugly Red Book That Won't Fit On The Shelf" and in Europe as
"the Ugly Red Book That's A Sensible Size". 5. The NSA
`Trusted Network Interpretation' companion to the {Orange
Book}. See also {{book titles}}.

:red wire: [IBM] n. Patch wires installed by programmers who have
no business mucking with the hardware. It is said that the only
thing more dangerous then a hardware guy with a code patch is a
{softy} with a soldering iron....

:regexp: /reg'eksp/ [UNIX] n. (alt. `regex' or `reg-ex')
1. Common written and spoken abbreviation for `regular
expression', one of the wildcard patterns used, e.g., by UNIX
utilities such as `grep(1)', `sed(1)', and `awk(1)'.
These use conventions similar to but more elaborate than those
described under {glob}. For purposes of this lexicon, it is
sufficient to note that regexps also allow complemented character
sets using `^'; thus, one can specify `any non-alphabetic
character' with `[^A-Za-z]'. 2. Name of a well-known PD
regexp-handling package in portable C, written by revered USENETter
Henry Spencer .

:register dancing: n. Many older processor architectures suffer
from a serious shortage of general-purpose registers. This is
especially a problem for compiler-writers, because their generated
code needs places to store temporaries for things like intermediate
values in expression evaluation. Some designs with this problem,
like the Intel 80x86, do have a handful of special-purpose
registers that can be pressed into service, providing suitable care
is taken to avoid unpleasant side-effects on the state of the
processor: while the special-purpose register is being used to hold
an intermediate value, a delicate minuet is required in which the
previous value of the register is saved and then restored just before
the official function (and value) of the special-purpose register is
again needed.

:reincarnation, cycle of: n. See {cycle of reincarnation}.

:reinvent the wheel: v. To design or implement a tool equivalent to
an existing one or part of one, with the implication that doing so
is silly or a waste of time. This is often a valid criticism.
On the other hand, automobiles don't use wooden rollers, and some
kinds of wheel have to be reinvented many times before you get them
right. On the third hand, people reinventing the wheel do tend to
come up with the moral equivalent of a trapezoid with an offset
axle.

:religious issues: n. Questions which seemingly cannot be raised
without touching off {holy wars}, such as "What is the best
operating system (or editor, language, architecture, shell, mail
reader, news reader)?", "What about that Heinlein guy, eh?",
"What should we add to the new Jargon File?" See {holy wars};
see also {theology}, {bigot}.

This term is an example of {ha ha only serious}. People
actually develop the most amazing and religiously intense
attachments to their tools, even when the tools are intangible.
The most constructive thing one can do when one stumbles into the
crossfire is mumble {Get a life!} and leave --- unless, of course,
one's *own* unassailably rational and obviously correct
choices are being slammed.

:replicator: n. Any construct that acts to produce copies of
itself; this could be a living organism, an idea (see {meme}), a
program (see {worm}, {wabbit}, {fork bomb}, and
{virus}), a pattern in a cellular automaton (see {life},
sense 1), or (speculatively) a robot or {nanobot}. It is even
claimed by some that {{UNIX}} and {C} are the symbiotic halves
of an extremely successful replicator; see {UNIX conspiracy}.

:reply: n. See {followup}.

:reset: [the MUD community] v. In AberMUD, to bring all dead mobiles
to life and move items back to their initial starting places. New
players who can't find anything shout "Reset! Reset!" quite a bit.
Higher-level players shout back "No way!" since they know where
points are to be found. Used in {RL}, it means to put things back
to the way they were when you found them.

:restriction: n. A {bug} or design error that limits a program's
capabilities, and which is sufficiently egregious that nobody can
quite work up enough nerve to describe it as a {feature}. Often
used (esp. by {marketroid} types) to make it sound as though
some crippling bogosity had been intended by the designers all
along, or was forced upon them by arcane technical constraints of a
nature no mere user could possibly comprehend (these claims are
almost invariably false).

Old-time hacker Joseph M. Newcomer advises that whenever choosing a
quantifiable but arbitrary restriction, you should make it either a
power of 2 or a power of 2 minus 1. If you impose a limit of
17 items in a list, everyone will know it is a random number --- on
the other hand, a limit of 15 or 16 suggests some deep reason
(involving 0- or 1-based indexing in binary) and you will get less
{flamage} for it. Limits which are round numbers in base 10 are
always especially suspect.

:retcon: /ret'kon/ [`retroactive continuity', from the USENET
newsgroup rec.arts.comics] 1. n. The common situation in pulp
fiction (esp. comics or soap operas) where a new story
`reveals' things about events in previous stories, usually
leaving the `facts' the same (thus preserving continuity) while
completely changing their interpretation. For example, revealing
that a whole season of "Dallas" was a dream was a retcon.
2. vt. To write such a story about a character or fictitious
object. "Byrne has retconned Superman's cape so that it is no
longer unbreakable." "Marvelman's old adventures were retconned
into synthetic dreams." "Swamp Thing was retconned from a
transformed person into a sentient vegetable." "Darth Vader was
retconned into Luke Skywalker's father in "The Empire Strikes
Back".

[This is included because it is a good example of hackish
linguistic innovation in a field completely unrelated to computers.
The word `retcon' will probably spread through comics fandom and
lose its association with hackerdom within a couple of years; for
the record, it started here. --- ESR]

:RETI: v. Syn. {RTI}

:retrocomputing: /ret'-roh-k*m-pyoo'ting/ n. Refers to emulations
of way-behind-the-state-of-the-art hardware or software, or
implementations of never-was-state-of-the-art; esp. if such
implementations are elaborate practical jokes and/or parodies,
written mostly for {hack value}, of more `serious' designs.
Perhaps the most widely distributed retrocomputing utility was the
`pnch(6)' or `bcd(6)' program on V7 and other early UNIX
versions, which would accept up to 80 characters of text argument
and display the corresponding pattern in {{punched card}} code.
Other well-known retrocomputing hacks have included the programming
language {INTERCAL}, a {JCL}-emulating shell for UNIX, the
card-punch-emulating editor named 029, and various elaborate PDP-11
hardware emulators and RT-11 OS emulators written just to keep an
old, sourceless {Zork} binary running.

:RFC: /R-F-C/ [Request For Comment] n. One of a long-established
series of numbered Internet standards widely followed by commercial
and PD software in the Internet and UNIX communities. Perhaps the
single most influential one has been RFC-822 (the Internet
mail-format standard). The RFCs are unusual in that they are
floated by technical experts acting on their own initiative and
reviewed by the Internet at large, rather than formally promulgated
through an institution such as ANSI. For this reason, they remain
known as RFCs even once adopted.

The RFC tradition of pragmatic, experience-driven, after-the-fact
standard-writing done by individuals or small working groups has
important advantages over the more formal, committee-driven process
typical of ANSI or ISO. Emblematic of some of these is the
existence of a flourishing tradition of `joke' RFCs; usually at
least one a year is published, usually on April 1st. Well-known
joke RFCs have included 527 ("ARPAWOCKY", R. Merryman, UCSD; 22
June 1973), 748 ("Telnet Randomly-Lose Option", Mark R. Crispin;
1 April 1978), and 1149 ("A Standard for the Transmission of IP
Datagrams on Avian Carriers", D. Waitzman, BBN STC; 1 April 1990).
The first was a Lewis Carrol pastiche; the second a parody of the
TCP-IP documentation style, and the third a deadpan skewering of
standards-document legalese describing protocols for transmiitting
Internet data packets by carrier pigeon.

The RFCs are most remarkable for how well they work --- they manage to
have neither the ambiguities which are usually rife in informal
specifications, nor the committee-perpetrated misfeatures which often
haunt formal standards, and they define a network which has grown to
truly worldwide proportions.

:RFE: /R-F-E/ n. 1. [techspeak] Request For Enhancement.
2. [from `Radio Free Europe', Bellcore and Sun] Radio Free
Ethernet, a system (originated by Peter Langston) for broadcasting
audio among Sun SPARCstations over the ethernet.

:rib site: [by analogy with {backbone site}] n. A machine that
has an on-demand high-speed link to a {backbone site} and serves
as a regional distribution point for lots of third-party traffic in
email and USENET news. Compare {leaf site}, {backbone site}.

:rice box: [from ham radio slang] n. Any Asian-made commodity
computer, esp. an 80x86-based machine built to IBM PC-compatible
ISA or EISA-bus standards.

:Right Thing: n. That which is *compellingly* the correct or
appropriate thing to use, do, say, etc. Often capitalized, always
emphasized in speech as though capitalized. Use of this term often
implies that in fact reasonable people may disagree. "What's the
right thing for LISP to do when it sees `(mod a 0)'? Should
it return `a', or give a divide-by-0 error?" Oppose
{Wrong Thing}.

:RL: // [MUD community] n. Real Life. "Firiss laughs in RL"
means that Firiss's player is laughing. Oppose {VR}.

:roach: [Bell Labs] vt. To destroy, esp. of a data structure. Hardware
gets {toast}ed or {fried}, software gets roached.

:robot: [IRC, MUD] n. An {IRC} or {MUD} user who is actually
a program. On IRC, typically the robot provides some useful
service. Examples are NickServ, which tries to prevent random
users from adopting {nick}s already claimed by others, and
MsgServ, which allows one to send asynchronous messages to be
delivered when the recipient signs on. Also common are
"annoybots", such as KissServ, which perform no useful function
except to send cute messages to other people. Service robots are
less common on MUDs; but some others, such as the `Julia' robot
active in 1990-91, have been remarkably impressive Turing-test
experiments, able to pass as human for as long as ten or fifteen
minutes of conversation.

:robust: adj. Said of a system that has demonstrated an ability to
recover gracefully from the whole range of exceptional inputs and
situations in a given environment. One step below {bulletproof}.
Carries the additional connotation of elegance in addition to just
careful attention to detail. Compare {smart}, oppose
{brittle}.

:rococo: adj. {Baroque} in the extreme. Used to imply that a
program has become so encrusted with the software equivalent of
gold leaf and curlicues that they have completely swamped the
underlying design. Called after the later and more extreme forms
of Baroque architecture and decoration prevalent during the
mid-1700s in Europe. Alan Perlis said: "Every program eventually
becomes rococo, and then rubble." Compare {critical
mass}.

:rogue: [UNIX] n. A Dungeons-and-Dragons-like game using character
graphics, written under BSD UNIX and subsequently ported to other
UNIX systems. The original BSD `curses(3)' screen-handling
package was hacked together by Ken Arnold to support
`rogue(6)' and has since become one of UNIX's most important
and heavily used application libraries. Nethack, Omega, Larn, and
an entire subgenre of computer dungeon games all took off from the
inspiration provided by `rogue(6)'. See {nethack}.

:room-temperature IQ: [IBM] quant. 80 or below. Used in describing the
expected intelligence range of the {luser}. "Well, but
how's this interface going to play with the room-temperature IQ
crowd?" See {drool-proof paper}. This is a much more insulting
phrase in countries that use Celsius thermometers.

:root: [UNIX] n. 1. The {superuser} account that ignores
permission bits, user number 0 on a UNIX system. This account
has the user name `root'. The term {avatar} is also used.
2. The top node of the system directory structure (home directory
of the root user). 3. By extension, the privileged
system-maintenance login on any OS. See {root mode}, {go root}.

:root mode: n. Syn. with {wizard mode} or `wheel mode'. Like
these, it is often generalized to describe privileged states in
systems other than OSes.

:rot13: /rot ther'teen/ [USENET: from `rotate alphabet
13 places'] n., v. The simple Caesar-cypher encryption that
replaces each English letter with the one 13 places forward or back
along the alphabet, so that "The butler did it!" becomes "Gur
ohgyre qvq vg!" Most USENET news reading and posting programs
include a rot13 feature. It is used to enclose the text in a
sealed wrapper that the reader must choose to open --- e.g., for
posting things that might offend some readers, or answers to
puzzles. A major advantage of rot13 over rot(N) for
other N is that it is self-inverse, so the same code can be
used for encoding and decoding.

:rotary debugger: [Commodore] n. Essential equipment for those
late-night or early-morning debugging sessions. Mainly used as
sustenance for the hacker. Comes in many decorator colors, such as
Sausage, Pepperoni, and Garbage. See {pizza, ANSI standard}.

:round tape: n. Industry-standard 1/2" magnetic tape (7- or
9-track) on traditional circular reels; oppose {square tape}.

:RSN: /R-S-N/ adj. See {Real Soon Now}.

:RTBM: /R-T-B-M/ [UNIX] imp. Commonwealth Hackish variant of
{RTFM}; expands to `Read The Bloody Manual'. RTBM is often the
entire text of the first reply to a question from a {newbie};
the *second* would escalate to "RTFM".

:RTFAQ: /R-T-F-A-Q/ [USENET: primarily written, by analogy with
{RTFM}] imp. Abbrev. for `Read the FAQ!', an exhortation that
the person addressed ought to read the newsgroup's {FAQ list}
before posting questions.

:RTFB: /R-T-F-B/ [UNIX] imp. Acronym for `Read The Fucking
Binary'. Used when neither documentation nor the the source for the
problem at hand exists and the only thing to do is use some
debugger or monitor and directly analyze the assembler or even
the machine code. "No source for the buggy port driver? Aaargh! I
*hate* proprietary operating systems. Time to RTFB."

:RTFM: /R-T-F-M/ [UNIX] imp. Acronym for `Read The Fucking
Manual'. 1. Used by {guru}s to brush off questions they
consider trivial or annoying. Compare {Don't do that, then!}
2. Used when reporting a problem to indicate that you aren't just
asking out of {randomness}. "No, I can't figure out how to
interface UNIX to my toaster, and yes, I have RTFM." Unlike
sense 1, this use is considered polite. See also {FM},
{RTFAQ}, {RTFB}, {RTFS}, {RTM}, all of which mutated
from RTFM, and compare {UTSL}.

:RTFS: /R-T-F-S/ [UNIX] 1. imp. Acronym for `Read The Fucking
Source'. Stronger form of {RTFM}, used when the problem
at hand is not necessarily obvious and not available from
the manuals --- or the manuals are not yet written and maybe
never will be. For even more tricky situations, see {RTFB}.
2. imp. `Read The Fucking Standard;' this oath can only be used when
the problem area (e.g. a language or operating system interface) has
actually been codified in a ratified standards document. The
existence of these standards documents (and the technically
inappropriate but politically mandated compromises which they
inevitably contain, and the stifling language in which they are
invariably written, and the unbelievably tedious bureaucratic process
by which they are produced) can be unnerving to hackers, who are used
to a certain amount of ambiguity in the specifications of the systems
they use. (Hackers feel that such ambiguities are acceptable as long
as the {Right Thing} to do is obvious to any thinking observer;
sadly, this casual attitude towards specifications becomes unworkable
when a system becomes popular in the {real world}.) Since a hacker
is likely to feel that a standards document is both unnecessary and
technically deficient, the deprecation inherent in this term may be
directed as much against the standard as against the person who ought
to read it.

:RTI: /R-T-I/ interj. The mnemonic for the `return from
interrupt' instruction on many computers including the 6502 and
6800. The variant `RETI' is found among former Z80 hackers
(almost nobody programs these things in assembler anymore).
Equivalent to "Now, where was I?" or used to end a
conversational digression. See {pop}; see also {POPJ}.

:RTM: /R-T-M/ [USENET: abbreviation for `Read The Manual']
1. Politer variant of {RTFM}. 2. Robert T. Morris Jr.,
perpetrator of the great Internet worm of 1988 (see {Great Worm,
the}); villain to many, na"ive hacker gone wrong to a few. Morris
claimed that the worm that brought the Internet to its knees was a
benign experiment that got out of control as the result of a coding
error. After the storm of negative publicity that followed this
blunder, Morris's name on ITS was hacked from RTM to {RTFM}.

:rude: [WPI] adj. 1. (of a program) Badly written. 2. Functionally
poor, e.g., a program that is very difficult to use because of
gratuitously poor (random?) design decisions. Oppose {cuspy}.
3. Anything that manipulates a shared resource without regard for
its other users in such a way as to cause a (non-fatal) problem is
said to be `rude'. Examples: programs that change tty modes
without resetting them on exit, or windowing programs that keep
forcing themselves to the top of the window stack. Compare
{all-elbows}.

:runes: pl.n. 1. Anything that requires {heavy wizardry} or
{black art} to {parse}: core dumps, JCL commands, APL, or code
in a language you haven't a clue how to read. Compare {casting
the runes}, {Great Runes}. 2. Special display characters (for
example, the high-half graphics on an IBM PC).

:runic: adj. Syn. {obscure}. VMS fans sometimes refer to UNIX as
`Runix'; UNIX fans return the compliment by expanding VMS to `Very
Messy Syntax' or `Vachement Mauvais Syst`eme' (French; lit.
"Cowlike Bad System", idiomatically "Bitchy Bad System").

:rusty iron: n. Syn. {tired iron}. It has been claimed that this
is the inevitable fate of {water MIPS}.

:rusty memory: n. Mass-storage that uses iron-oxide-based magnetic
media (esp. tape and the pre-Winchester removable disk packs used
in {washing machine}s). Compare {donuts}.

= S =
=====

:S/N ratio: // n. (also `s/n ratio', `s:n ratio'). Syn.
{signal-to-noise ratio}. Often abbreviated `SNR'.

:sacred: adj. Reserved for the exclusive use of something (an
extension of the standard meaning). Often means that anyone may
look at the sacred object, but clobbering it will screw whatever it
is sacred to. The comment "Register 7 is sacred to the interrupt
handler" appearing in a program would be interpreted by a hacker
to mean that if any *other* part of the program changes the
contents of register 7, dire consequences are likely to ensue.

:saga: [WPI] n. A cuspy but bogus raving story about N random
broken people.

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 `olallieberry' --- 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]

:sagan: /say'gn/ [from Carl Sagan's TV series "Cosmos";
think "billions and billions"] n. A large quantity of anything.
"There's a sagan different ways to tweak EMACS." "The
U.S. Government spends sagans on bombs and welfare --- hard to say
which is more destructive."

:SAIL:: /sayl/, not /S-A-I-L/ n. 1. Stanford Artificial
Intelligence Lab. An important site in the early development of
LISP; with the MIT AI Lab, BBN, CMU, XEROX PARC, and the UNIX
community, one of the major wellsprings of technical innovation and
hacker-culture traditions (see the {{WAITS}} entry for details).
The SAIL machines were officially shut down in late May 1990, scant
weeks after the MIT AI Lab's ITS cluster was officially
decommissioned. 2. The Stanford Artificial Intelligence Language
used at SAIL (sense 1). It was an Algol-60 derivative with a
coroutining facility and some new data types intended for building
search trees and association lists.

:salescritter: /sayls'kri`tr/ n. Pejorative hackerism for a computer
salesperson. Hackers tell the following joke:

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

:salsman: /salz'm*n/ v. To flood a mailing list or newsgroup with
huge amounts of useless, trivial or redundant information. From
the name of a hacker who has frequently done this on some widely
distributed mailing lists.

:salt mines: n. Dense quarters housing large numbers of programmers
working long hours on grungy projects, with some hope of seeing the
end of the tunnel in N years. Noted for their absence of sunshine.
Compare {playpen}, {sandbox}.

:salt substrate: [MIT] n. Collective noun used to refer to potato
chips, pretzels, saltines, or any other form of snack food
designed primarily as a carrier for sodium chloride. From the
technical term `chip substrate', used to refer to the silicon on the
top of which the active parts of integrated circuits are deposited.

:same-day service: n. Ironic term used to describe long response
time, particularly with respect to {{MS-DOS}} system calls (which
ought to require only a tiny fraction of a second to execute).
Such response time is a major incentive for programmers to write
programs that are not {well-behaved}. See also {PC-ism}.

:samurai: n. A hacker who hires out for legal cracking jobs,
snooping for factions in corporate political fights, lawyers
pursuing privacy-rights and First Amendment cases, and other
parties with legitimate reasons to need an electronic locksmith.
In 1991, mainstream media reported the existence of a loose-knit
culture of samurai that meets electronically on BBS systems, mostly
bright teenagers with personal micros; they have modeled
themselves explicitly on the historical samurai of Japan and on the
"net cowboys" of William Gibson's {cyberpunk} novels. Those
interviewed claim to adhere to a rigid ethic of loyalty to their
employers and to disdain the vandalism and theft practiced by
criminal crackers as beneath them and contrary to the hacker ethic;
some quote Miyamoto Musashi's `Book of Five Rings', a classic
of historical samurai doctrine, in support of these principles.
See also {Stupids}, {social engineering}, {cracker},
{hacker ethic, the}, and {dark-side hacker}.

:sandbender: [IBM] n. A person involved with silicon lithography and
the physical design of chips. Compare {ironmonger}, {polygon
pusher}.

:sandbox: n. 1. (also `sandbox, the') Common term for the
R&D department at many software and computer companies (where hackers
in commercial environments are likely to be found). Half-derisive,
but reflects the truth that research is a form of creative play.
Compare {playpen}. 2. Syn. {link farm}

:sanity check: n. 1. The act of checking a piece of code (or
anything else, e.g., a USENET posting) for completely stupid mistakes.
Implies that the check is to make sure the author was sane when it
was written; e.g., if a piece of scientific software relied on a
particular formula and was giving unexpected results, one might
first look at the nesting of parentheses or the coding of the
formula, as a `sanity check', before looking at the more complex
I/O or data structure manipulation routines, much less the
algorithm itself. Compare {reality check}. 2. A run-time test,
either validating input or ensuring that the program hasn't screwed
up internally (producing an inconsistent value or state).

:Saturday-night special: [from police slang for a cheap handgun] n.
A program or feature kluged together during off hours, under a
deadline, and in response to pressure from a {salescritter}.
Such hacks are dangerously unreliable, but all too often sneak into
a production release after insufficient review.

:say: vt. 1. To type to a terminal. "To list a directory
verbosely, you have to say `ls -l'." Tends to imply a
{newline}-terminated command (a `sentence'). 2. A computer
may also be said to `say' things to you, even if it doesn't have
a speech synthesizer, by displaying them on a terminal in response
to your commands. Hackers find it odd that this usage confuses
{mundane}s.

:scag: vt. To destroy the data on a disk, either by corrupting the
filesystem or by causing media damage. "That last power hit scagged
the system disk." Compare {scrog}, {roach}.

:scanno: n. An error in a document caused by a scanner glitch,
analgous to typo or {thinko}.

:schroedinbug: [MIT: from the Schroedinger's Cat thought-experiment in
quantum physics] n. A design or implementation bug in a program
which doesn't manifest until someone reading source or using the
program in an unusual way notices that it never should have worked,
at which point the program promptly stops working for everybody
until fixed. Though this sounds impossible, it happens; some
programs have harbored latent schroedinbugs for years. Compare
{heisenbug}, {Bohr bug}, {mandelbug}.

:science-fiction fandom:: n. Another voluntary subculture having a
very heavy overlap with hackerdom; most hackers read SF and/or
fantasy fiction avidly, and many go to `cons' (SF conventions) or
are involved in fandom-connected activities such as the Society for
Creative Anachronism. Some hacker jargon originated in SF fandom;
see {defenestration}, {great-wall}, {cyberpunk}, {h}, {ha ha
only serious}, {IMHO}, {mundane}, {neep-neep}, {Real
Soon Now}. Additionally, the jargon terms {cowboy},
{cyberspace}, {de-rezz}, {go flatline}, {ice}, {virus},
{wetware}, {wirehead}, and {worm} originated in SF
stories.

:scram switch: [from the nuclear power industry] n. An
emergency-power-off switch (see {Big Red Switch}), esp. one
positioned to be easily hit by evacuating personnel. In general,
this is *not* something you {frob} lightly; these often
initiate expensive events (such as Halon dumps) and are installed
in a {dinosaur pen} for use in case of electrical fire or in
case some luckless {field servoid} should put 120 volts across
himself while {Easter egging}. (See also {molly-guard}.)

:scratch: 1. [from `scratchpad'] adj. Describes a data
structure or recording medium attached to a machine for testing or
temporary-use purposes; one that can be {scribble}d on without
loss. Usually in the combining forms `scratch memory',
`scratch register', `scratch disk', `scratch tape',
`scratch volume'. See {scratch monkey}. 2. [primarily
IBM] vt. To delete (as in a file).

:scratch monkey: n. As in "Before testing or reconfiguring, always
mount a {scratch monkey}", a proverb used to advise caution
when dealing with irreplaceable data or devices. Used to refer to
any scratch volume hooked to a computer during any risky operation
as a replacement for some precious resource or data that might
otherwise get trashed.

This term preserves the memory of Mabel, the Swimming Wonder
Monkey, star of a biological research program at the University of
Toronto ca. 1986. 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 DEC {PM}ed the PDP-11 controlling
her regulator (see also {provocative maintenance}).

It is recorded 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.

:screw: [MIT] n. A {lose}, usually in software. Especially used for
user-visible misbehavior caused by a bug or misfeature. This use
has become quite widespread outside MIT.

:screwage: /skroo'*j/ n. Like {lossage} but connotes that the
failure is due to a designed-in misfeature rather than a simple
inadequacy or a mere bug.

:scribble: n. To modify a data structure in a random and
unintentionally destructive way. "Bletch! Somebody's
disk-compactor program went berserk and scribbled on the i-node
table." "It was working fine until one of the allocation routines
scribbled on low core." Synonymous with {trash}; compare {mung},
which conveys a bit more intention, and {mangle}, which is more
violent and final.

:scrog: /skrog/ [Bell Labs] vt. To damage, trash, or corrupt a
data structure. "The list header got scrogged." Also reported
as `skrog', and ascribed to the comic strip "The Wizard of
Id". Compare {scag}; possibly the two are related. Equivalent
to {scribble} or {mangle}.

:scrool: /skrool/ [from the pioneering Roundtable chat system in
Houston ca. 1984; prob. originated as a typo for `scroll'] n. The
log of old messages, available for later perusal or to help one get
back in synch with the conversation. It was originally called the
`scrool monster', because an early version of the roundtable
software had a bug where it would dump all 8K of scrool on a user's
terminal.

:scrozzle: /skroz'l/ vt. Used when a self-modifying code segment runs
incorrectly and corrupts the running program or vital data. "The
damn compiler scrozzled itself again!"

:scruffies: n. See {neats vs. scruffies}.

:SCSI: [Small Computer System Interface] n. A bus-independent
standard for system-level interfacing between a computer and
intelligent devices. Typically annotated in literature with `sexy'
(/sek'see/), `sissy' (/sis'ee/), and `scuzzy' (/skuh'zee/) as
pronunciation guides --- the last being the overwhelmingly
predominant form, much to the dismay of the designers and their
marketing people. One can usually assume that a person who
pronounces it /S-C-S-I/ is clueless.

:ScumOS: n. Unflattering hackerism for SunOS, the UNIX variant
supported on Sun Microsystems's UNIX workstations (see also
{sun-stools}), and compare {AIDX}, {terminak},
{Macintrash} {Nominal Semidestructor}, {Open DeathTrap},
{HP-SUX}. Despite what this term might suggest, Sun was
founded by hackers and still enjoys excellent relations with
hackerdom; usage is more often in exasperation than outright
loathing.

:search-and-destroy mode: n. Hackerism for the search-and-replace
facility in an editor, so called because an incautiously chosen
match pattern can cause {infinite} damage.

:second-system effect: n. (sometimes, more euphoniously,
`second-system syndrome') When one is designing the successor to
a relatively small, elegant, and successful system, there is a
tendency to become grandiose in one's success and design an
{elephantine} feature-laden monstrosity. The term was first
used by Fred Brooks in his classic `The Mythical Man-Month:
Essays on Software Engineering' (Addison-Wesley, 1975; ISBN
0-201-00650-2). It described the jump from a set of nice, simple
operating systems on the IBM 70xx series to OS/360 on the
360 series. A similar effect can also happen in an evolving
system; see {Brooks's Law}, {creeping elegance}, {creeping
featurism}. See also {{Multics}}, {OS/2}, {X}, {software
bloat}.

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

:secondary damage: n. When a fatal error occurs (esp. a
{segfault}) the immediate cause may be that a pointer has been
trashed due to a previous {fandango on core}. However, this
fandango may have been due to an *earlier* fandango, so no
amount of analysis will reveal (directly) how the damage occurred.
"The data structure was clobbered, but it was secondary damage."


 


Back to Full Books