The Jargon File, Version 4.0.0, 24 Jul 1996
Chapter 35
: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: /n./ [Mac users] 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 own 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.
: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: /n./ [common ironic mutation of `preventive maintenance'] 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; such `maintenance' often *induces* problems, or otherwise results in the machine's remaining in an *un*usable state for an indeterminate amount of time. See also {scratch monkey}.
:prowler: /n./ [Unix] 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/ /n./ [Usenet: truncation of `pseudonym'] 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 {B1FF}. See also {tentacle}. 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 was, before about 1985, called a `pseudoprime' (the terminology used by number theorists has since changed slightly; pre-1985 pseudoprimes are now `probable primes' and `pseudoprime' has a more restricted meaning in modular arithmetic). The hacker backgammon usage stemmed 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/ /n./ [UK] Syn. {display hack}. See also {smoking clover}.
:psyton: /si:'ton/ /n./ [TMRC] 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: /pyoob'ik d*-rek't*-ree/) /n./ [NYU] (also `pube directory' /pyoob' d*-rek't*-ree/) 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}, see {inflate}.
:punched card:: n.obs. [techspeak] (alt. `punch card') 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. There is a widespread myth that it was designed to fit in the currency trays used for that era's larger dollar bills, but recent investigations have falsified this.
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: /v./ [from the punch line of an old joke referring to American football: "Drop back 15 yards and punt!"] 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}. Donald Lewine's "POSIX Programmer's Guide" (O'Reilly, 1991, ISBN 0-937175-73-0). See also {{book titles}}.
:purple wire: /n./ [IBM] 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}, {yellow 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 = =====
: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 Oxford 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 1/1000, 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 that 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 thus `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}. One example of this: it is common to refer to the capacity of 3.5" {microfloppies} as `1.44 MB' In fact, this is a completely {bogus} number. The correct size is 1440 KB, that is, 1440 * 1024 = 1474560 bytes. So the `mega' in `1.44 MB' is compounded of two `kilos', one of which is 1024 and the other of which is 1000. The correct number of megabytes would of course be 1440 / 1024 = 1.40625. Alas, this fine point is probably lost on the world forever.
[1993 update: hacker Morgan Burke has proposed, to general approval on Usenet, the following additional prefixes:
groucho 10^(-30) harpo 10^(-27) harpi 10^(27) grouchi 10^(30)
We observe that this would leave the prefixes zeppo-, gummo-, and chico- available for future expansion. Sadly, there is little immediate prospect that Mr. Burke's eminently sensible proposal will be ratified.]
: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. General discussion of such terms is under {nybble}.
: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: /kwi:n/ /n./ [from the name of the logician Willard van Orman Quine, via Douglas Hofstadter] A program that generates a copy of its own 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 for ASCII machines:
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 interior line breaks. Some infamous {Obfuscated C Contest} entries have been quines that reproduced in exotic ways.
:quote chapter and verse: /v./ [by analogy with the mainstream phrase] 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." See also {legalese}, {language lawyer}, {RTFS} (sense 2).
:quotient: /n./ See {coefficient of X}.
:quux: /kwuhks/ /n./ [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 naive 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, 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 (especially older versions) of the standard series just run {foo}, {bar}, {baz}, {quux}, ....
:QWERTY: /kwer'tee/ /adj./ [from the keycaps at the upper left] 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 = =====
:rabbit job: /n./ [Cambridge] A batch job that does little, if any, real work, but creates one or more copies of itself, breeding like rabbits. Compare {wabbit}, {fork bomb}.
: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}, {cargo cult programming}, {wave a dead chicken}; see also {casting the runes}.
: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}, {crayola books}); 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.