9. There is no escape

This last point is perhaps the most important. The language is

inadequate but circumscribed, because there is no way to escape its

limitations. There are no casts to disable the type-checking when

necessary. There is no way to replace the defective run-time

environment with a sensible one, unless one controls the compiler

that defines the "standard procedures". The language is closed.

People who use Pascal for serious programming fall into a fatal

trap. Because the language is impotent, it must be extended. But

each group extends Pascal in its own direction, to make it look

like whatever language they really want. Extensions for separate

compilation, FORTRAN-like COMMON, string data types, internal

static variables, initialization, octal numbers, bit operators,

etc., all add to the utility of the language for one group but

destroy its portability to others.

I feel that it is a mistake to use Pascal for anything much beyond

its original target. In its pure form, Pascal is a toy language,

suitable for teaching but not for real programming.

Pascal has since been almost entirely displaced (by {C}) from the

niches it had acquired in serious applications and systems

programming, but retains some popularity as a hobbyist language in

the MS-DOS and Macintosh worlds.

:pastie: /pay'stee/ n. An adhesive-backed label designed to be

attached to a key on a keyboard to indicate some non-standard

character which can be accessed through that key. Pasties are

likely to be used in APL environments, where almost every key is

associated with a special character. A pastie on the R key, for

example, would remind the user that it is used to generate the rho

character. The term properly refers to nipple-concealing devices

formerly worn by strippers in concession to indecent-exposure

laws; compare {tits on a keyboard}.

:patch: 1. n. A temporary addition to a piece of code, usually as a

{quick-and-dirty} remedy to an existing bug or misfeature. A

patch may or may not work, and may or may not eventually be

incorporated permanently into the program. Distinguished from a

{diff} or {mod} by the fact that a patch is generated by more

primitive means than the rest of the program; the classical

examples are instructions modified by using the front panel

switches, and changes made directly to the binary executable of a

program originally written in an {HLL}. Compare {one-line

fix}. 2. vt. To insert a patch into a piece of code. 3. [in the

UNIX world] n. A {diff} (sense 2). 4. A set of modifications to

binaries to be applied by a patching program. IBM operating

systems often receive updates to the operating system in the form

of absolute hexadecimal patches. If you have modified your OS, you

have to disassemble these back to the source. The patches might

later be corrected by other patches on top of them (patches were

said to "grow scar tissue"). The result was often a convoluted

{patch space} and headaches galore. 5. [UNIX] the

`patch(1)' program, written by Larry Wall, which automatically

applies a patch (sense 3) to a set of source code.

There is a classic story of a {tiger team} penetrating a secure

military computer that illustrates the danger inherent in binary

patches (or, indeed, any that you can't --- or don't --- inspect

and examine before installing). They couldn't find any {trap

door}s or any way to penetrate security of IBM's OS, so they made a

site visit to an IBM office (remember, these were official military

types who were purportedly on official business), swiped some IBM

stationery, and created a fake patch. The patch was actually the

trapdoor they needed. The patch was distributed at about the right

time for an IBM patch, had official stationery and all accompanying

documentation, and was dutifully installed. The installation

manager very shortly thereafter learned something about proper

procedures.

:patch space: n. An unused block of bits left in a binary so that

it can later be modified by insertion of machine-language

instructions there (typically, the patch space is modified to

contain new code, and the superseded code is patched to contain a

jump or call to the patch space). The widening use of HLLs has

made this term rare; it is now primarily historical outside IBM

shops. See {patch} (sense 4), {zap} (sense 4), {hook}.

:path: n. 1. A {bang path} or explicitly routed {{Internet

address}}; a node-by-node specification of a link between two

machines. 2. [UNIX] A filename, fully specified relative to the

root directory (as opposed to relative to the current directory;

the latter is sometimes called a `relative path'). This is also

called a `pathname'. 3. [UNIX and MS-DOS] The `search

path', an environment variable specifying the directories in which

the {shell} (COMMAND.COM, under MS-DOS) should look for commands.

Other, similar constructs abound under UNIX (for example, the

C preprocessor has a `search path' it uses in looking for

`#include' files).

:pathological: adj. 1. [scientific computation] Used of a data set

that is grossly atypical of normal expected input, esp. one that

exposes a weakness or bug in whatever algorithm one is using. An

algorithm that can be broken by pathological inputs may still be

useful if such inputs are very unlikely to occur in practice.

2. When used of test input, implies that it was purposefully

engineered as a worst case. The implication in both senses is that

the data is spectacularly ill-conditioned or that someone had to

explicitly set out to break the algorithm in order to come up with

such a crazy example. 3. Also said of an unlikely collection of

circumstances. "If the network is down and comes up halfway

through the execution of that command by root, the system may

just crash." "Yes, but that's a pathological case." Often used

to dismiss the case from discussion, with the implication that the

consequences are acceptable since that they will happen so

infrequently (if at all) that there is no justification for

going to extra trouble to handle that case (see sense 1).

:payware: /pay'weir/ n. Commercial software. Oppose {shareware}

or {freeware}.

:PBD: /P-B-D/ [abbrev. of `Programmer Brain Damage'] n. Applied

to bug reports revealing places where the program was obviously

broken by an incompetent or short-sighted programmer. Compare

{UBD}; see also {brain-damaged}.

:PC-ism: /P-C-izm/ n. A piece of code or coding technique that

takes advantage of the unprotected single-tasking environment in

IBM PCs and the like, e.g., by busy-waiting on a hardware register,

direct diddling of screen memory, or using hard timing loops.

Compare {ill-behaved}, {vaxism}, {unixism}. Also,

`PC-ware' n., a program full of PC-isms on a machine with a more

capable operating system. Pejorative.

:PD: /P-D/ adj. Common abbreviation for `public domain', applied

to software distributed over {USENET} and from Internet archive

sites. Much of this software is not in fact public domain in

the legal sense but travels under various copyrights granting

reproduction and use rights to anyone who can {snarf} a copy. See

{copyleft}.

:pdl: /pid'l/ or /puhd'l/ [abbreviation for `Push Down List']

1. n. In ITS days, the preferred MITism for {stack}. See

{overflow pdl}. 2. n. Dave Lebling, one of the co-authors of

{Zork}; (his {network address} on the ITS machines was at one

time pdl@dms). 3. n. `Program Design Language'. Any of a large

class of formal and profoundly useless pseudo-languages in which

{management} forces one to design programs. {Management}

often expects it to be maintained in parallel with the code. See

also {{flowchart}}. 4. v. To design using a program design

language. "I've been pdling so long my eyes won't focus beyond 2

feet." 5. n. `Page Description Language'. Refers to any language

which is used to control a graphics device, usually a laserprinter.

The most common example, is of course, Adobe's {PostScript}

language, but there are many others, such as Xerox InterPress,

etc.

:PDP-10: [Programmed Data Processor model 10] n. The machine that

made timesharing real. It looms large in hacker folklore because

of its adoption in the mid-1970s by many university computing

facilities and research labs, including the MIT AI Lab, Stanford,

and CMU. Some aspects of the instruction set (most notably the

bit-field instructions) are still considered unsurpassed. The 10

was eventually eclipsed by the VAX machines (descendants of the

PDP-11) when DEC recognized that the 10 and VAX product lines were

competing with each other and decided to concentrate its software

development effort on the more profitable VAX. The machine was

finally dropped from DEC's line in 1983, following the failure of

the Jupiter Project at DEC to build a viable new model. (Some

attempts by other companies to market clones came to nothing; see

{Foonly}) This event spelled the doom of {{ITS}} and the

technical cultures that had spawned the original Jargon File, but

by mid-1991 it had become something of a badge of honorable

old-timerhood among hackers to have cut one's teeth on a PDP-10.

See {{TOPS-10}}, {{ITS}}, {AOS}, {BLT}, {DDT}, {DPB},

{EXCH}, {HAKMEM}, {JFCL}, {LDB}, {pop}, {push},

{appendix A}.

:PDP-20: n. The most famous computer that never was. {PDP-10}

computers running the {{TOPS-10}} operating system were labeled

`DECsystem-10' as a way of differentiating them from the PDP-11.

Later on, those systems running {TOPS-20} were labeled

`DECSYSTEM-20' (the block capitals being the result of a lawsuit

brought against DEC by Singer, which once made a computer called

`system-10'), but contrary to popular lore there was never a

`PDP-20'; the only difference between a 10 and a 20 was the

operating system and the color of the paint. Most (but not all)

machines sold to run TOPS-10 were painted `Basil Blue', whereas

most TOPS-20 machines were painted `Chinese Red' (often mistakenly

called orange).

:peek: n.,vt. (and {poke}) The commands in most microcomputer

BASICs for directly accessing memory contents at an absolute

address; often extended to mean the corresponding constructs in any

{HLL} (peek reads memory, poke modifies it). Much hacking on

small, non-MMU micros consists of `peek'ing around memory, more

or less at random, to find the location where the system keeps

interesting stuff. Long (and variably accurate) lists of such

addresses for various computers circulate (see {{interrupt list,

the}}). The results of `poke's at these addresses may be highly

useful, mildly amusing, useless but neat, or (most likely) total

{lossage} (see {killer poke}).

Since a {real operating system} provides useful, higher-level

services for the tasks commonly performed with peeks and pokes on

micros, and real languages tend not to encourage low-level memory

groveling, a question like "How do I do a peek in C?" is

diagnostic of the {newbie}. (Of course, OS kernels often have to

do exactly this; a real C hacker would unhesitatingly, if

unportably, assign an absolute address to a pointer variable and

indirect through it.)

:pencil and paper: n. An archaic information storage and

transmission device that works by depositing smears of graphite on

bleached wood pulp. More recent developments in paper-based

technology include improved `write-once' update devices which use

tiny rolling heads similar to mouse balls to deposit colored

pigment. All these devices require an operator skilled at

so-called `handwriting' technique. These technologies are

ubiquitous outside hackerdom, but nearly forgotten inside it. Most

hackers had terrible handwriting to begin with, and years of

keyboarding tend to have encouraged it to degrade further. Perhaps

for this reason, hackers deprecate pencil-and-paper technology and

often resist using it in any but the most trivial contexts. See

also {appendix B}.

:peon: n. A person with no special ({root} or {wheel})

privileges on a computer system. "I can't create an account on

*foovax* for you; I'm only a peon there."

:percent-S: /per-sent' es'/ [From the code in C's `printf(3)'

library function used to insert an arbitrary string argument] n. An

unspecified person or object. "I was just talking to some

percent-s in administration." Compare {random}.

:perf: /perf/ n. See {chad} (sense 1). The term `perfory'

/per'f*-ree/ is also heard. The term {perf} may also refer to

the preforations themselves, rather than the chad they produce when

torn.

:perfect programmer syndrome: n. Arrogance; the egotistical

conviction that one is above normal human error. Most frequently

found among programmers of some native ability but relatively

little experience (especially new graduates; their perceptions may

be distorted by a history of excellent performance at solving {toy

problem}s). "Of course my program is correct, there is no need to

test it." "Yes, I can see there may be a problem here, but

*I'll* never type `rm -r /' while in {root}."

:Perl: /perl/ [Practical Extraction and Report Language, a.k.a

Pathologically Eclectic Rubbish Lister] n. An interpreted language

developed by Larry Wall <lwall@jpl.nasa.gov>, author of

`patch(1)' and `rn(1)') and distributed over USENET.

Superficially resembles `awk(1)', but is much hairier (see

{awk}). UNIX sysadmins, who are almost always incorrigible

hackers, increasingly consider it one of the {languages of

choice}. Perl has been described, in a parody of a famous remark

about `lex(1)', as the "Swiss-Army chainsaw" of UNIX

programming.

:pessimal: /pes'im-l/ [Latin-based antonym for `optimal'] adj.

Maximally bad. "This is a pessimal situation." Also `pessimize'

vt. To make as bad as possible. These words are the obvious

Latin-based antonyms for `optimal' and `optimize', but for some

reason they do not appear in most English dictionaries, although

`pessimize' is listed in the OED.

:pessimizing compiler: /pes'*-mi:z`ing k*m-pi:l'r/ [antonym of

`optimizing compiler'] n. A compiler that produces object code that

is worse than the straightforward or obvious hand translation. The

implication is that the compiler is actually trying to optimize the

program, but through excessive cleverness is doing the opposite. A

few pessimizing compilers have been written on purpose, however, as

pranks or burlesques.

:peta-: /pe't*/ [SI] pref. See {{quantifiers}}.

:PETSCII: /pet'skee/ [abbreviation of PET ASCII] n. The variation

(many would say perversion) of the {{ASCII}} character set used by

the Commodore Business Machines PET series of personal computers

and the later Commodore C64, C16, and C128 machines. The PETSCII

set used left-arrow and up-arrow (as in old-style ASCII) instead of

underscore and caret, placed the unshifted alphabet at positions

65--90, put the shifted alphabet at positions 193--218, and added

graphics characters.

:phase: 1. n. The phase of one's waking-sleeping schedule with

respect to the standard 24-hour cycle. This is a useful concept

among people who often work at night and/or according to no fixed

schedule. It is not uncommon to change one's phase by as much as 6

hours per day on a regular basis. "What's your phase?" "I've

been getting in about 8 P.M. lately, but I'm going to {wrap

around} to the day schedule by Friday." A person who is roughly

12 hours out of phase is sometimes said to be in `night mode'.

(The term `day mode' is also (but less frequently) used, meaning

you're working 9 to 5 (or, more likely, 10 to 6).) The act of

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 <henry@zoo.toronto.edu>.

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

The Jargon File, Version 2.9.10, 01 Jul 1992 · 第 18 / 21 题