HotFreeBooks.com
THE JARGON FILE, VERSION 2.9.10
Previous Part     1  2  3  4  5  6  7  8  9  10  11  12     Next Part
Home - Random Browse

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

Now RPG and his then-wife KBT (Kathy Tracy) were putting us up (putting up with us?) in their home for our visit, so to thank them JONL and I took them out to a nice French restaurant of their choosing. I unadventurously chose the filet mignon, and KBT had je ne sais quoi du jour, but RPG and JONL had lapin (rabbit). (Waitress: "Oui, we have fresh rabbit, fresh today." RPG: "Well, JONL, I guess we won't need any *ginger*!")

We finished the meal late, about 11 P.M., which is 2 A.M Boston time, so JONL and I were rather droopy. But it wasn't yet midnight. Off to Uncle Gaylord's!

Now the French restaurant was in Redwood City, north of Palo Alto. In leaving Redwood City, we somehow got onto route 101 going north instead of south. JONL and I wouldn't have known the difference had RPG not mentioned it. We still knew very little of the local geography. I did figure out, however, that we were headed in the direction of Berkeley, and half-jokingly suggested that we continue north and go to Uncle Gaylord's in Berkeley.

RPG said "Fine!" and we drove on for a while and talked. I was drowsy, and JONL actually dropped off to sleep for 5 minutes. When he awoke, RPG said, "Gee, JONL, you must have slept all the way over the bridge!", referring to the one spanning San Francisco Bay. Just then we came to a sign that said "University Avenue". I mumbled something about working our way over to Telegraph Avenue; RPG said "Right!" and maneuvered some more. Eventually we pulled up in front of an Uncle Gaylord's.

Now, I hadn't really been paying attention because I was so sleepy, and I didn't really understand what was happening until RPG let me in on it a few moments later, but I was just alert enough to notice that we had somehow come to the Palo Alto Uncle Gaylord's after all.

JONL noticed the resemblance to the Palo Alto store, but hadn't caught on. (The place is lit with red and yellow lights at night, and looks much different from the way it does in daylight.) He said, "This isn't the Uncle Gaylord's I went to in Berkeley! It looked like a barn! But this place looks *just like* the one back in Palo Alto!"

RPG deadpanned, "Well, this is the one *I* always come to when I'm in Berkeley. They've got two in San Francisco, too. Remember, they're a chain."

JONL accepted this bit of wisdom. And he was not totally ignorant —- he knew perfectly well that University Avenue was in Berkeley, not far from Telegraph Avenue. What he didn't know was that there is a completely different University Avenue in Palo Alto.

JONL went up to the counter and asked for ginger honey. The guy at the counter asked whether JONL would like to taste it first, evidently their standard procedure with that flavor, as not too many people like it.

JONL said, "I'm sure I like it. Just give me a cone." The guy behind the counter insisted that JONL try just a taste first. "Some people think it tastes like soap." JONL insisted, "Look, I *love* ginger. I eat Chinese food. I eat raw ginger roots. I already went through this hassle with the guy back in Palo Alto. I *know* I like that flavor!"

At the words "back in Palo Alto" the guy behind the counter got a very strange look on his face, but said nothing. KBT caught his eye and winked. Through my stupor I still hadn't quite grasped what was going on, and thought RPG was rolling on the floor laughing and clutching his stomach just because JONL had launched into his spiel ("makes rotten meat a dish for princes") for the forty-third time. At this point, RPG clued me in fully.

RPG, KBT, and I retreated to a table, trying to stifle our chuckles. JONL remained at the counter, talking about ice cream with the guy b.t.c., comparing Uncle Gaylord's to other ice cream shops and generally having a good old time.

At length the g.b.t.c. said, "How's the ginger honey?" JONL said, "Fine! I wonder what exactly is in it?" Now Uncle Gaylord publishes all his recipes and even teaches classes on how to make his ice cream at home. So the g.b.t.c. got out the recipe, and he and JONL pored over it for a while. But the g.b.t.c. could contain his curiosity no longer, and asked again, "You really like that stuff, huh?" JONL said, "Yeah, I've been eating it constantly back in Palo Alto for the past two days. In fact, I think this batch is about as good as the cones I got back in Palo Alto!"

G.b.t.c. looked him straight in the eye and said, "You're *in* Palo Alto!"

JONL turned slowly around, and saw the three of us collapse in a fit of giggles. He clapped a hand to his forehead and exclaimed, "I've been hacked!"

[My spies on the West Coast inform me that there is a close relative of the raspberry found out there called an 'olallieberry' —- ESR]

[Ironic footnote: it appears that the {meme} about ginger vs. rotting meat may be an urban legend. It's not borne out by an examination of medieval recipes or period purchase records for spices, and appears full-blown in the works of Samuel Pegge, a gourmand and notorious flake case who originated numerous food myths. —- ESR]

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

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

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

Q. What's the difference between a used-car dealer and a computer salesman? A. The used-car dealer knows he's lying. [Some versions add: ...and probably knows how to drive.]

This reflects the widespread hacker belief that salescritters are self-selected for stupidity (after all, if they had brains and the inclination to use them, they'd be in programming). The terms 'salesthing' and 'salesdroid' are also common. Compare {marketroid}, {suit}, {droid}.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This term preserves the memory of Mabel, the Swimming Wonder Monkey, star of a biological research program at the University of Toronto ca. 1986. Mabel was not (so the legend goes) your ordinary monkey; the university had spent years teaching her how to swim, breathing through a regulator, in order to study the effects of different gas mixtures on her physiology. Mabel suffered an untimely demise one day when DEC {PM}ed the PDP-11 controlling her regulator (see also {provocative maintenance}).

It is recorded that, after calming down an understandably irate customer sufficiently to ascertain the facts of the matter, a DEC troubleshooter called up the {field circus} manager responsible and asked him sweetly, "Can you swim?"

Not all the consequences to humans were so amusing; the sysop of the machine in question was nearly thrown in jail at the behest of certain clueless droids at the local 'humane' society. The moral is clear: When in doubt, always mount a scratch monkey.

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

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

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

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

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

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

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

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

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

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

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

This version of the jargon lexicon has been described (with altogether too much truth for comfort) as an example of second-system effect run amok on jargon-1....

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

By extension, the corruption resulting from N cascaded fandangoes on core is 'Nth-level damage'. There is at least one case on record in which 17 hours of {grovel}ling with 'adb' actually dug up the underlying bug behind an instance of seventh-level damage! The hacker who accomplished this near-superhuman feat was presented with an award by his fellows.

:security through obscurity: n. A name applied by hackers to most OS vendors' favorite way of coping with security holes —- namely, ignoring them and not documenting them and trusting that nobody will find out about them and that people who do find out about them won't exploit them. This never works for long and occasionally sets the world up for debacles like the {RTM} worm of 1988 (see {Great Worm, the}), but once the brief moments of panic created by such events subside most vendors are all too willing to turn over and go back to sleep. After all, actually fixing the bugs would siphon off the resources needed to implement the next user-interface frill on marketing's wish list —- and besides, if they started fixing security bugs customers might begin to *expect* it and imagine that their warranties of merchantability gave them some sort of *right* to a system with fewer holes in it than a shotgunned Swiss cheese, and *then* where would we be?

Historical note: There are conflicting stories about the origin of this term. It has been claimed that it was first used in the USENET newsgroup in comp.sys.apollo during a campaign to get HP/Apollo to fix security problems in its UNIX-{clone} Aegis/DomainOS (they didn't change a thing). {ITS} fans, on the other hand, say it was coined years earlier in opposition to the incredibly paranoid {Multics} people down the hall, for whom security was everything. In the ITS culture it referred to (1) the fact that that by the time a tourist figured out how to make trouble he'd generally gotten over the urge to make it, because he felt part of the community; and (2) (self-mockingly) the poor coverage of the documentation and obscurity of many commands. One instance of *deliberate* security through obscurity is recorded; the command to allow patching the running ITS system ({altmode} altmode control-R) echoed as $$^D. If you actually typed alt alt ^D, that set a flag which would prevent patching the system even if you later got it right.

:SED: [TMRC, from 'Light-Emitting Diode'] /S-E-D/ n. Smoke-emitting diode. A {friode} that lost the war. See {LER}.

:segfault: n.,vi. Syn. {segment}, {seggie}.

:seggie: /seg'ee/ [UNIX] n. Shorthand for {segmentation fault} reported from Britain.

:segment: /seg'ment/ vi. To experience a {segmentation fault}. Confusingly, this is often pronounced more like the noun 'segment' than like mainstream v. segment; this is because it is actually a noun shorthand that has been verbed.

:segmentation fault: n. [UNIX] 1. An error in which a running program attempts to access memory not allocated to it and {core dump}s with a segmentation violation error. 2. To lose a train of thought or a line of reasoning. Also uttered as an exclamation at the point of befuddlement.

:segv: /seg'vee/ n.,vi. Yet another synonym for {segmentation fault} (actually, in this case, 'segmentation violation').

:self-reference: n. See {self-reference}.

:selvage: /sel'v*j/ [from sewing] n. See {chad} (sense 1).

:semi: /se'mee/ or /se'mi:/ 1. n. Abbreviation for 'semicolon', when speaking. "Commands to {grind} are prefixed by semi-semi-star" means that the prefix is ';;*', not 1/4 of a star. 2. A prefix used with words such as 'immediately' as a qualifier. "When is the system coming up?" "Semi-immediately." (That is, maybe not for an hour.) "We did consider that possibility semi-seriously." See also {infinite}.

:semi-infinite: n. See {infinite}.

:senior bit: [IBM] n. Syn. {meta bit}.

:server: n. A kind of {daemon} that performs a service for the requester and which often runs on a computer other than the one on which the server runs. A particularly common term on the Internet, which is rife with 'name servers', 'domain servers', 'news servers', 'finger servers', and the like.

:SEX: /seks/ [Sun Users' Group & elsewhere] n. 1. Software EXchange. A technique invented by the blue-green algae hundreds of millions of years ago to speed up their evolution, which had been terribly slow up until then. Today, SEX parties are popular among hackers and others (of course, these are no longer limited to exchanges of genetic software). In general, SEX parties are a {Good Thing}, but unprotected SEX can propagate a {virus}. See also {pubic directory}. 2. The rather Freudian mnemonic often used for Sign EXtend, a machine instruction found in the PDP-11 and many other architectures. The RCA 1802 chip used in the early Elf and SuperElf personal computers had a 'SEt X register' SEX instruction, but this seems to have had little folkloric impact.

DEC's engineers nearly got a PDP-11 assembler that used the 'SEX' mnemonic out the door at one time, but (for once) marketing wasn't asleep and forced a change. That wasn't the last time this happened, either. The author of 'The Intel 8086 Primer', who was one of the original designers of the 8086, noted that there was originally a 'SEX' instruction on that processor, too. He says that Intel management got cold feet and decreed that it be changed, and thus the instruction was renamed 'CBW' and 'CWD' (depending on what was being extended). Amusingly, the Intel 8048 (the microcontroller used in IBM PC keyboards) is also missing straight 'SEX' but has logical-or and logical-and instructions 'ORL' and 'ANL'.

The Motorola 6809, used in the U.K.'s 'Dragon 32' personal computer, actually had an official 'SEX' instruction; the 6502 in the Apple II it competed with did not. British hackers thought this made perfect mythic sense; after all, it was commonly observed, you could (on some theoretical level) have sex with a dragon, but you can't have sex with an apple.

:sex changer: n. Syn. {gender mender}.

:shambolic link: n. A UNIX symbolic link, particularly when it confuses you, points to nothing at all, or results in you ending up in some completely unexpected part of the filesystem....

:shareware: /sheir'weir/ n. {Freeware} (sense 1) for which the author requests some payment, usually in the accompanying documentation files or in an announcement made by the software itself. Such payment may or may not buy additional support or functionality. See also {careware}, {charityware}, {crippleware}, {guiltware}, {postcardware}, and {-ware}; compare {payware}.

:shelfware: /shelfweir/ n. Software purchased on a whim (by an individual user) or in accordance with policy (by a corporation or government agency), but not actually required for any particular use. Therefore, it often ends up on some shelf.

:shell: [orig. {{Multics}} techspeak, widely propagated via UNIX] n. 1. [techspeak] The command interpreter used to pass commands to an operating system; so called because it is the part of the operating system that interfaces with the outside world. 2. More generally, any interface program that mediates access to a special resource or {server} for convenience, efficiency, or security reasons; for this meaning, the usage is usually 'a shell around' whatever. This sort of program is also called a 'wrapper'.

Previous Part     1  2  3  4  5  6  7  8  9  10  11  12     Next Part
Home - Random Browse