Part 43
1. A control file for a program, esp. a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customize the program's behavior. Used to avoid hardcoded choices (see also dot file, rc file). 2. [techspeak] A report on the amounts of time spent in each routine of a program, used to find and tune away the hot spots in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar. 3.[techspeak] A subset of a standard used for a
## particular purpose. This sense confuses hackers who wander into
the weird world of ISO standards no end!
Node:progasm, Next:proggy, Previous:profile, Up:= P =
progasm /proh'gaz-m/ n.
[University of Wisconsin] The euphoria experienced upon the completion of a program or other computer-related project.
Node:proggy, Next:proglet, Previous:progasm, Up:= P =
proggy n.
1. Any computer program that is considered a full application. 2. Any computer program that is made up of or otherwise contains proglets. 3. Any computer program that is large enough to be normally distributed as an RPM or tarball.
Node:proglet, Next:program, Previous:proggy, Up:= P =
proglet /prog'let/ n.
[UK] A short _extempore_ program written to meet an immediate, transient need. Often written in BASIC, rarely more than a dozen lines long, and containing no subroutines. The largest amount of code that can be written off the top of one's head, that does not need any editing, and that runs correctly the first time (this amount varies significantly according to one's skill and the language one is using). Compare toy program, noddy, one-liner wars.
Node:program, Next:Programmer's Cheer, Previous:proglet, Up:= P =
program n.
1. A magic spell cast over a computer allowing it to turn one's input into error messages. 2. An exercise in experimental epistemology. 3. A form of art, ostensibly intended for the instruction of computers, which is nevertheless almost inevitably a failure if other programmers can't understand it.
Node:Programmer's Cheer, Next:programming, Previous:program, Up:= P =
Programmer's Cheer
"Shift to the left! Shift to the right! Pop up, push down! Byte! Byte! Byte!" A joke so old it has hair on it.
Node:programming, Next:programming fluid, Previous:Programmer's Cheer, Up:= P =
programming n.
1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file). "Bloody instructions which, being taught, return to plague their inventor" ("Macbeth", Act 1, Scene 7) 2. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward. 3. The most fun you can have with your clothes on. 4. The least fun you can have with your clothes off.
Node:programming fluid, Next:propeller head, Previous:programming, Up:= P =
programming fluid n.
1. Coffee. 2. Cola. 3. Any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs. See wirewater.
Node:propeller head, Next:propeller key, Previous:programming fluid, Up:= P =
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).
Node:propeller key, Next:proprietary, Previous:propeller head, Up:= P =
propeller key n.
[Mac users] See feature key.
Node:proprietary, Next:protocol, Previous:propeller key, Up:= P =
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. Often in the phrase "proprietary crap". 3. Synonym for closed-source, e.g. software issued in binary without source and under a restructive license.
Since the coining of the term open source, many hackers have made a conscious effort to distinguish between `proprietary' and `commercial' software. It is possible for software to be commercial (that is, intended to make a profit for the producers) without being proprietary. The reverse is also possible, for example in binary-only freeware.
Node:protocol, Next:provocative maintenance, Previous:proprietary, Up:= P =
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.
Node:provocative maintenance, Next:prowler, Previous:protocol, Up:= P =
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 unusable state for an indeterminate amount of time. See also scratch monkey.
Node:prowler, Next:pseudo, Previous:provocative maintenance, Up:= P =
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.
Node:pseudo, Next:pseudoprime, Previous:prowler, Up:= P =
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.
Node:pseudoprime, Next:pseudosuit, Previous:pseudo, Up:= P =
pseudoprime n.
A backgammon prime (six consecutive occupied points) with one point missing. This term is an esoteric pun derived from number theory: a number that passes a certain kind of "primality test" may be called a `pseudoprime' (all primes pass any such test, but so do some composite numbers), and any number that passes several is, in some sense, almost certainly prime. The hacker backgammon usage stems from the idea that a pseudoprime is almost as good as a prime: it will do the same job unless you are unlucky.
Node:pseudosuit, Next:psychedelicware, Previous:pseudoprime, Up:= P =
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.
Node:psychedelicware, Next:psyton, Previous:pseudosuit, Up:= P =
psychedelicware /si:`k*-del'-ik-weir/ n.
[UK] Syn. display hack. See also smoking clover.
Node:psyton, Next:pubic directory, Previous:psychedelicware, Up:= P =
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]
Node:pubic directory, Next:puff, Previous:psyton, Up:= P =
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."
Node:puff, Next:pumpkin holder, Previous:pubic directory, Up:= P =
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.
Node:pumpkin holder, Next:pumpking, Previous:puff, Up:= P =
pumpkin holder n.
See patch pumpkin.
Node:pumpking, Next:punched card, Previous:pumpkin holder, Up:= P =
pumpking n.
Syn. for pumpkin holder; see patch pumpkin.
Node:punched card, Next:punt, Previous:pumpking, Up:= P =
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.
Node:punt, Next:Purple Book, Previous:punched card, Up:= P =
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." 5. To knock someone off an Internet or chat connection; a `punter' thus, is a person or program that does this.
Node:Purple Book, Next:purple wire, Previous:punt, Up:= P =
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.
Node:purple wire, Next:push, Previous:Purple Book, Up:= P =
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.
Node:push, Next:Python, Previous:purple wire, Up:= P =
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.
Node:Python, Next:quad, Previous:push, Up:= P =
Python /pi:'thon/
In the words of its author, "the other scripting language" (other than Perl, that is). Python's design is notably clean, elegant, and well thought through; it tends to attract the sort of programmers who find Perl grubby and exiguous. Python's relationship with Perl is rather like the BSD community's relationship to Linux - it's the smaller party in a (usually friendly) rivalry, but the average quality of its developers is generally conceded to be rather higher than in the larger community it competes with. There's a Python resource page at http://www.python.org. See also Guido.
Node:= Q =, Next:= R =, Previous:= P =, Up:The Jargon Lexicon
= Q =
quad:
quadruple bucky:
quantifiers:
quantum bogodynamics:
quarter:
ques:
quick-and-dirty:
quine:
quote chapter and verse:
quotient:
quux:
qux:
QWERTY:
Node:quad, Next:quadruple bucky, Previous:Python, Up:= 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.
Node:quadruple bucky, Next:quantifiers, Previous:quad, Up:= Q =
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.
Node:quantifiers, Next:quantum bogodynamics, Previous:quadruple bucky, Up:= Q =
quantifiers
In techspeak and jargon, the standard metric prefixes used in the SI (Système 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.]
[1999 upate: there is an IEC proposal for binary multipliers, but no evidence that any of its proposals are in live use.]
Node:quantum bogodynamics, Next:quarter, Previous:quantifiers, Up:= Q =
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 suits 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.
Node:quarter, Next:ques, Previous:quantum bogodynamics, Up:= Q =
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.
Node:ques, Next:quick-and-dirty, Previous:quarter, Up:= Q =
ques /kwes/
1. n. The question mark character (?, ASCII 0111111). 2. interj. What? Also frequently verb-doubled as "Ques ques?" See wall.
Node:quick-and-dirty, Next:quine, Previous:ques, Up:= Q =
quick-and-dirty adj.
[common] 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.
Node:quine, Next:quote chapter and verse, Previous:quick-and-dirty, Up:= Q =
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. (We ignore some variants of BASIC in which a program consisting of a single empty string literal reproduces itself trivially.) 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. Here is another elegant quine in ANSI C:
#define q(k)main(){return!puts(#k"\nq("#k")");} q(#define q(k)main(){return!puts(#k"\nq("#k")");})
Some infamous Obfuscated C Contest entries have been quines that reproduced in exotic ways. There is an amusing Quine Home Page.
Node:quote chapter and verse, Next:quotient, Previous:quine, Up:= Q =
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).
Node:quotient, Next:quux, Previous:quote chapter and verse, Up:= Q =
quotient n.
See coefficient of X.
Node:quux, Next:qux, Previous:quotient, Up:= Q =
quux /kwuhks/ n.