|
:neep-neep: /neep neep/ [onomatopoeic, from New York SF fandom] n. One who is fascinated by computers. More general than {hacker}, as it need not imply more skill than is required to boot games on a PC. The derived noun 'neep-neeping' applies specifically to the long conversations about computers that tend to develop in the corners at most SF-convention parties. Fandom has a related proverb to the effect that "Hacking is a conversational black hole!".
:neophilia: /nee'oh-fil'-ee-*/ n. The trait of being excited and pleased by novelty. Common trait of most hackers, SF fans, and members of several other connected leading-edge subcultures, including the pro-technology 'Whole Earth' wing of the ecology movement, space activists, many members of Mensa, and the Discordian/neo-pagan underground. All these groups overlap heavily and (where evidence is available) seem to share characteristic hacker tropisms for science fiction, {{music}}, and {{oriental food}}.
:net.-: /net dot/ pref. [USENET] Prefix used to describe people and events related to USENET. From the time before the {Great Renaming}, when most non-local newsgroups had names beginning 'net.'. Includes {net.god}s, 'net.goddesses' (various charismatic net.women with circles of on-line admirers), 'net.lurkers' (see {lurker}), 'net.person', 'net.parties' (a synonym for {boink}, sense 2), and many similar constructs. See also {net.police}.
:net.god: /net god/ n. Used to refer to anyone who satisfies some combination of the following conditions: has been visible on USENET for more than 5 years, ran one of the original backbone sites, moderated an important newsgroup, wrote news software, or knows Gene, Mark, Rick, Mel, Henry, Chuq, and Greg personally. See {demigod}. Net.goddesses such as Rissa or the Slime Sisters have (so far) been distinguished more by personality than by authority.
:net.personality: /net per'sn-al'-*-tee/ n. Someone who has made a name for him or herself on {USENET}, through either longevity or attention-getting posts, but doesn't meet the other requirements of {net.god}hood.
:net.police: /net-p*-lees'/ n. (var. 'net.cops') Those USENET readers who feel it is their responsibility to pounce on and {flame} any posting which they regard as offensive or in violation of their understanding of {netiquette}. Generally used sarcastically or pejoratively. Also spelled 'net police'. See also {net.-}, {code police}.
:NetBOLLIX: [from bollix: to bungle] n. {IBM}'s NetBIOS, an extremely {brain-damaged} network protocol which, like {Blue Glue}, is used at commercial shops that don't know any better.
:netburp: [IRC] n. When {netlag} gets really bad, and delays between servers exceed a certain threshhold, the {IRC} network effectively becomes partitioned for a period of time, and large numbers of people seem to be signing off at the same time and then signing back on again when things get better. An instance of this is called a 'netburp' (or, sometimes, {netsplit}). :netdead: [IRC] n. The state of someone who signs off {IRC}, perhaps during a {netburp}, and doesn't sign back on until later. In the interim, he is "dead to the net".
:nethack: /net'hak/ [UNIX] n. A dungeon game similar to {rogue} but more elaborate, distributed in C source over {USENET} and very popular at UNIX sites and on PC-class machines (nethack is probably the most widely distributed of the freeware dungeon games). The earliest versions, written by Jay Fenlason and later considerably enhanced by Andries Brouwer, were simply called 'hack'. The name changed when maintenance was taken over by a group of hackers originally organized by Mike Stephenson; the current contact address (as of mid-1991) is nethack-bugs@linc.cis.upenn.edu.
:netiquette: /net'ee-ket/ or /net'i-ket/ [portmanteau from "network etiquette"] n. Conventions of politeness recognized on {USENET}, such as avoidance of cross-posting to inappropriate groups or refraining from commercial pluggery on the net.
:netlag: [IRC, MUD] n. A condition that occurs when the delays in the {IRC} network or on a {MUD} become severe enough that servers briefly lose and then reestablish contact, causing messages to be delivered in bursts, often with delays of up to a minute. (Note that this term has nothing to do with mainstream "jetlag", a condition which hackers tend not to be much bothered by.) :netnews: /net'n[y]ooz/ n. 1. The software that makes {USENET} run. 2. The content of USENET. "I read netnews right after my mail most mornings."
:netrock: /net'rok/ [IBM] n. A {flame}; used esp. on VNET, IBM's internal corporate network.
:netsplit: n. Syn. {netburp}.
:netter: n. 1. Loosely, anyone with a {network address}. 2. More specifically, a {USENET} regular. Most often found in the plural. "If you post *that* in a technical group, you're going to be flamed by angry netters for the rest of time!"
:network address: n. (also 'net address') As used by hackers, means an address on 'the' network (see {network, the}; this is almost always a {bang path} or {{Internet address}}). Such an address is essential if one wants to be to be taken seriously by hackers; in particular, persons or organizations that claim to understand, work with, sell to, or recruit from among hackers but *don't* display net addresses are quietly presumed to be clueless poseurs and mentally flushed (see {flush}, sense 4). Hackers often put their net addresses on their business cards and wear them prominently in contexts where they expect to meet other hackers face-to-face (see also {{science-fiction fandom}}). This is mostly functional, but is also a signal that one identifies with hackerdom (like lodge pins among Masons or tie-dyed T-shirts among Grateful Dead fans). Net addresses are often used in email text as a more concise substitute for personal names; indeed, hackers may come to know each other quite well by network names without ever learning each others' 'legal' monikers. See also {sitename}, {domainist}.
:network meltdown: n. A state of complete network overload; the network equivalent of {thrash}ing. This may be induced by a {Chernobyl packet}. See also {broadcast storm}, {kamikaze packet}.
:network, the: n. 1. The union of all the major noncommercial, academic, and hacker-oriented networks, such as Internet, the old ARPANET, NSFnet, {BITNET}, and the virtual UUCP and {USENET} 'networks', plus the corporate in-house networks and commercial time-sharing services (such as CompuServe) that gateway to them. A site is generally considered 'on the network' if it can be reached through some combination of Internet-style (@-sign) and UUCP (bang-path) addresses. See {bang path}, {{Internet address}}, {network address}. 2. A fictional conspiracy of libertarian hacker-subversives and anti-authoritarian monkeywrenchers described in Robert Anton Wilson's novel 'Schr"odinger's Cat', to which many hackers have subsequently decided they belong (this is an example of {ha ha only serious}).
In sense 1, 'network' is often abbreviated to 'net'. "Are you on the net?" is a frequent question when hackers first meet face to face, and "See you on the net!" is a frequent goodbye.
:New Jersey: [primarily Stanford/Silicon Valley] adj. Brain-damaged or of poor design. This refers to the allegedly wretched quality of such software as C, C+, and UNIX (which originated at Bell Labs in Murray Hill, New Jersey). "This compiler bites the bag, but what can you expect from a compiler designed in New Jersey?" Compare {Berkeley Quality Software}. See also {UNIX conspiracy}.
:New Testament: n. [C programmers] The second edition of K&R's 'The C Programming Language' (Prentice-Hall, 1988; ISBN 0-13-110362-8), describing ANSI Standard C. See {K&R}.
:newbie: /n[y]oo'bee/ n. [orig. from British public-school and military slang variant of 'new boy'] A USENET neophyte. This term surfaced in the {newsgroup} talk.bizarre but is now in wide use. Criteria for being considered a newbie vary wildly; a person can be called a newbie in one newsgroup while remaining a respected regular in another. The label 'newbie' is sometimes applied as a serious insult to a person who has been around USENET for a long time but who carefully hides all evidence of having a clue. See {BIFF}.
:newgroup wars: /n[y]oo'groop wohrz/ [USENET] n. The salvos of dueling 'newgroup' and 'rmgroup' messages sometimes exchanged by persons on opposite sides of a dispute over whether a {newsgroup} should be created net-wide. These usually settle out within a week or two as it becomes clear whether the group has a natural constituency (usually, it doesn't). At times, especially in the completely anarchic alt hierarchy, the names of newsgroups themselves become a form of comment or humor; e.g., the spinoff of alt.swedish.chef.bork.bork.bork from alt.tv.muppets in early 1990, or any number of specialized abuse groups named after particularly notorious {flamer}s, e.g., alt.weemba.
:newline: /n[y]oo'li:n/ n. 1. [techspeak, primarily UNIX] The ASCII LF character (0001010), used under {{UNIX}} as a text line terminator. A Bell-Labs-ism rather than a Berkeleyism; interestingly (and unusually for UNIX jargon), it is said to have originally been an IBM usage. (Though the term 'newline' appears in ASCII standards, it never caught on in the general computing world before UNIX). 2. More generally, any magic character, character sequence, or operation (like Pascal's writeln procedure) required to terminate a text record or separate lines. See {crlf}, {terpri}.
:NeWS: /nee'wis/, /n[y]oo'is/ or /n[y]ooz/ [acronym; the 'Network Window System'] n. The road not taken in window systems, an elegant {PostScript}-based environment that would almost certainly have won the standards war with {X} if it hadn't been {proprietary} to Sun Microsystems. There is a lesson here that too many software vendors haven't yet heeded. Many hackers insist on the two-syllable pronunciations above as a way of distinguishing NeWS from {news} (the {netnews} software).
:news: n. See {netnews}.
:newsfroup: // [USENET] n. Silly synonym for {newsgroup}, originally a typo but now in regular use on USENET's talk.bizarre and other lunatic-fringe groups. Compare {hing} and {filk}.
:newsgroup: [USENET] n. One of {USENET}'s huge collection of topic groups or {fora}. Usenet groups can be 'unmoderated' (anyone can post) or 'moderated' (submissions are automatically directed to a moderator, who edits or filters and then posts the results). Some newsgroups have parallel {mailing list}s for Internet people with no netnews access, with postings to the group automatically propagated to the list and vice versa. Some moderated groups (especially those which are actually gatewayed Internet mailing lists) are distributed as 'digests', with groups of postings periodically collected into a single large posting with an index.
Among the best-known are comp.lang.c (the C-language forum), comp.arch (on computer architectures), comp.unix.wizards (for UNIX wizards), rec.arts.sf-lovers (for science-fiction fans), and talk.politics.misc (miscellaneous political discussions and {flamage}).
:nick: [IRC] n. Short for nickname. On {IRC}, every user must pick a nick, which is sometimes the same as the user's real name or login name, but is often more fanciful. :nickle: /ni'kl/ [from 'nickel', common name for the U.S. 5-cent coin] n. A {nybble} + 1; 5 bits. Reported among developers for Mattel's GI 1600 (the Intellivision games processor), a chip with 16-bit-wide RAM but 10-bit-wide ROM. See also {deckle}.
:night mode: n. See {phase} (of people).
:Nightmare File System: n. Pejorative hackerism for Sun's Network File System (NFS). In any nontrivial network of Suns where there is a lot of NFS cross-mounting, when one Sun goes down, the others often freeze up. Some machine tries to access the down one, and (getting no response) repeats indefinitely. This causes it to appear dead to some messages (what is actually happening is that it is locked up in what should have been a brief excursion to a higher {spl} level). Then another machine tries to reach either the down machine or the pseudo-down machine, and itself becomes pseudo-down. The first machine to discover the down one is now trying both to access the down one and to respond to the pseudo-down one, so it is even harder to reach. This situation snowballs very fast, and soon the entire network of machines is frozen —- worst of all, the user can't even abort the file access that started the problem! Many of NFS'es problems are excused by partisans as being an inevitable result of its statelessness, which is held to be a great feature (critics, of course, call it a great {misfeature}). (ITS partisans are apt to cite this as proof of UNIX's alleged bogosity; ITS had a working NFS-like shared file system with none of these problems in the early 1970s.) See also {broadcast storm}.
:NIL: /nil/ No. Used in reply to a question, particularly one asked using the '-P' convention. Most hackers assume this derives simply from LISP terminology for 'false' (see also {T}), but NIL as a negative reply was well-established among radio hams decades before the advent of LISP. The historical connection between early hackerdom and the ham radio word was strong enough that this may have been an influence.
:NMI: /N-M-I/ n. Non-Maskable Interrupt. An IRQ 7 on the PDP-11 or 680[01234]0; the NMI line on an 80[1234]86. In contrast with a {priority interrupt} (which might be ignored, although that is unlikely), an NMI is *never* ignored.
:no-op: /noh'op/ alt. NOP /nop/ [no operation] n. 1. (also v.) A machine instruction that does nothing (sometimes used in assembler-level programming as filler for data or patch areas, or to overwrite code to be removed in binaries). See also {JFCL}. 2. A person who contributes nothing to a project, or has nothing going on upstairs, or both. As in "He's a no-op." 3. Any operation or sequence of operations with no effect, such as circling the block without finding a parking space, or putting money into a vending machine and having it fall immediately into the coin-return box, or asking someone for help and being told to go away. "Oh, well, that was a no-op." Hot-and-sour soup (see {great-wall}) that is insufficiently either is 'no-op soup'; so is wonton soup if everybody else is having hot-and-sour.
:noddy: /nod'ee/ [UK: from the children's books] adj. 1. Small and un-useful, but demonstrating a point. Noddy programs are often written by people learning a new language or system. The archetypal noddy program is {hello, world}. Noddy code may be used to demonstrate a feature or bug of a compiler. May be used of real hardware or software to imply that it isn't worth using. "This editor's a bit noddy." 2. A program that is more or less instant to produce. In this use, the term does not necessarily connote uselessness, but describes a {hack} sufficiently trivial that it can be written and debugged while carrying on (and during the space of) a normal conversation. "I'll just throw together a noddy {awk} script to dump all the first fields." In North America this might be called a {mickey mouse program}. See {toy program}.
:NOMEX underwear: /noh'meks uhn'-der-weir/ [USENET] n. Syn. {asbestos longjohns}, used mostly in auto-related mailing lists and newsgroups. NOMEX underwear is an actual product available on the racing equipment market, used as a fire resistance measure and required in some racing series.
:Nominal Semidestructor: n. Sound-alike slang for 'National Semiconductor', found among other places in the 4.3BSD networking sources. During the late 1970s to mid-1980s this company marketed a series of microprocessors including the NS16000 and NS32000 and several variants. At one point early in the great microprocessor race, the specs on these chips made them look like serious competition for the rising Intel 80x86 and Motorola 680x0 series. Unfortunately, the actual parts were notoriously flaky and never implemented the full instruction set promised in their literature, apparently because the company couldn't get any of the mask steppings to work as designed. They eventually sank without trace, joining the Zilog Z80,000 and a few even more obscure also-rans in the graveyard of forgotten microprocessors. Compare {HP-SUX}, {AIDX}, {buglix}, {Macintrash}, {Telerat}, {Open DeathTrap}, {ScumOS}, {sun-stools}.
:non-optimal solution: n. (also 'sub-optimal solution') An astoundingly stupid way to do something. This term is generally used in deadpan sarcasm, as its impact is greatest when the person speaking looks completely serious. Compare {stunning}. See also {Bad Thing}.
:nonlinear: adj. [scientific computation] 1. Behaving in an erratic and unpredictable fashion; unstable. When used to describe the behavior of a machine or program, it suggests that said machine or program is being forced to run far outside of design specifications. This behavior may be induced by unreasonable inputs, or may be triggered when a more mundane bug sends the computation far off from its expected course. 2. When describing the behavior of a person, suggests a tantrum or a {flame}. "When you talk to Bob, don't mention the drug problem or he'll go nonlinear for hours." In this context, 'go nonlinear' connotes 'blow up out of proportion' (proportion connotes linearity).
:nontrivial: adj. Requiring real thought or significant computing power. Often used as an understated way of saying that a problem is quite difficult or impractical, or even entirely unsolvable ("Proving P=NP is nontrivial"). The preferred emphatic form is 'decidedly nontrivial'. See {trivial}, {uninteresting}, {interesting}.
:notwork: /not'werk/ n. A network, when it is acting {flaky} or is {down}. Compare {nyetwork}. Said at IBM to have orig. referred to a particular period of flakiness on IBM's VNET corporate network, ca. 1988; but there are independent reports of the term from elsewhere.
:NP-: /N-P/ pref. Extremely. Used to modify adjectives describing a level or quality of difficulty; the connotation is often 'more so than it should be' (NP-complete problems all seem to be very hard, but so far no one has found a good a priori reason that they should be.) "Coding a BitBlt implementation to perform correctly in every case is NP-annoying." This is generalized from the computer-science terms 'NP-hard' and 'NP-complete'. NP is the set of Nondeterministic-Polynomial algorithms, those that can be completed by a nondeterministic Turing machine in an amount of time that is a polynomial function of the size of the input; a solution for one NP-complete problem would solve all the others. Note, however, that the NP- prefix is, from a complexity theorist's point of view, the wrong part of 'NP-complete' to connote extreme difficulty; it is the completeness, not the NP-ness, that puts any problem it describes in the 'hard' category.
:nroff: /en'rof/ [UNIX, from "new runoff"] n. A companion program to the UNIX typesetter 'troff', accepting identical input but preparing output for terminals and line printers.
:NSA line eater: n. The National Security Agency trawling program sometimes assumed to be reading {USENET} for the U.S. Government's spooks. Most hackers describe it as a mythical beast, but some believe it actually exists, more aren't sure, and many believe in acting as though it exists just in case. Some netters put loaded phrases like 'KGB', 'Uzi', 'nuclear materials', 'Palestine', 'cocaine', and 'assassination' in their {sig block}s in a (probably futile) attempt to confuse and overload the creature. The {GNU} version of {EMACS} actually has a command that randomly inserts a bunch of insidious anarcho-verbiage into your edited text.
There is a mainstream variant of this myth involving a 'Trunk Line Monitor', which supposedly used speech recognition to extract words from telephone trunks. This one was making the rounds in the late 1970s, spread by people who had no idea of then-current technology or the storage, signal-processing, or speech recognition needs of such a project. On the basis of mass-storage costs alone it would have been cheaper to hire 50 high-school students and just let them listen in. Speech-recognition technology can't do this job even now (1991), and almost certainly won't in this millennium, either. The peak of silliness came with a letter to an alternative paper in New Haven, Connecticut, laying out the factoids of this Big Brotherly affair. The letter writer then revealed his actual agenda by offering —- at an amazing low price, just this once, we take VISA and MasterCard —- a scrambler guaranteed to daunt the Trunk Trawler and presumably allowing the would-be Baader-Meinhof gangs of the world to get on with their business.
:nuke: vt. 1. To intentionally delete the entire contents of a given directory or storage volume. "On UNIX, 'rm -r /usr' will nuke everything in the usr filesystem." Never used for accidental deletion. Oppose {blow away}. 2. Syn. for {dike}, applied to smaller things such as files, features, or code sections. Often used to express a final verdict. "What do you want me to do with that 80-meg {wallpaper} file?" "Nuke it." 3. Used of processes as well as files; nuke is a frequent verbal alias for 'kill -9' on UNIX. 4. On IBM PCs, a bug that results in {fandango on core} can trash the operating system, including the FAT (the in-core copy of the disk block chaining information). This can utterly scramble attached disks, which are then said to have been 'nuked'. This term is also used of analogous lossages on Macintoshes and other micros without memory protection.
:number-crunching: n. Computations of a numerical nature, esp. those that make extensive use of floating-point numbers. The only thing {Fortrash} is good for. This term is in widespread informal use outside hackerdom and even in mainstream slang, but has additional hackish connotations: namely, that the computations are mindless and involve massive use of {brute force}. This is not always {evil}, esp. if it involves ray tracing or fractals or some other use that makes {pretty pictures}, esp. if such pictures can be used as {wallpaper}. See also {crunch}.
:numbers: [scientific computation] n. Output of a computation that may not be significant results but at least indicate that the program is running. May be used to placate management, grant sponsors, etc. 'Making numbers' means running a program because output —- any output, not necessarily meaningful output —- is needed as a demonstration of progress. See {pretty pictures}, {math-out}, {social science number}.
:NUXI problem: /nuk'see pro'bl*m/ n. This refers to the problem of transferring data between machines with differing byte-order. The string 'UNIX' might look like 'NUXI' on a machine with a different 'byte sex' (e.g., when transferring data from a {little-endian} to a {big-endian}, or vice-versa). See also {middle-endian}, {swab}, and {bytesexual}.
:nybble: /nib'l/ (alt. 'nibble') [from v. 'nibble' by analogy with 'bite' => 'byte'] n. Four bits; one {hex} digit; a half-byte. Though 'byte' is now techspeak, this useful relative is still jargon. Compare {{byte}}, {crumb}, {tayste}, {dynner}; see also {bit}, {nickle}, {deckle}. Apparently this spelling is uncommon in Commonwealth Hackish, as British orthography suggests the pronunciation /ni:'bl/.
:nyetwork: /nyet'werk/ [from Russian 'nyet' = no] n. A network, when it is acting {flaky} or is {down}. Compare {notwork}.
= O = =====
:Ob-: /ob/ pref. Obligatory. A piece of {netiquette} acknowledging that the author has been straying from the newsgroup's charter topic. For example, if a posting in alt.sex is a response to a part of someone else's posting that has nothing particularly to do with sex, the author may append 'ObSex' (or 'Obsex') and toss off a question or vignette about some unusual erotic act. It is considered a sign of great {winnitude} when your Obs are more interesting than other people's whole postings.
:Obfuscated C Contest: n. An annual contest run since 1984 over USENET by Landon Curt Noll and friends. The overall winner is whoever produces the most unreadable, creative, and bizarre (but working) C program; various other prizes are awarded at the judges' whim. C's terse syntax and macro-preprocessor facilities give contestants a lot of maneuvering room. The winning programs often manage to be simultaneously (a) funny, (b) breathtaking works of art, and (c) horrible examples of how *not* to code in C.
This relatively short and sweet entry might help convey the flavor of obfuscated C:
/* * HELLO WORLD program * by Jack Applin and Robert Heckendorn, 1985 */ main(v,c)char**c;{for(vc="Hello, world! )"; (!!c)c&&(v c&&execlp(*c,*c,c[!!c]+!!c,!c)); **c=!c)write(!!*c,*c,!!**c);}
Here's another good one:
/* * Program to compute an approximation of pi * by Brian Westley, 1988 */
#define -F<00 F-OO ; int F=00,OO=00; main(){FOO();printf("%1.3f ",4.*-F/OO/OO);}FOO() { --- -------- ----------- ------------- -------------- -------------- --------------- --------------- --------------- --------------- -------------- -------------- ------------- ----------- ------- --- }
See also {hello, world}.
:obi-wan error: /oh'bee-won' er'*r/ [RPI, from 'off-by-one' and the Obi-Wan Kenobi character in "Star Wars"] n. A loop of some sort in which the index is off by 1. Common when the index should have started from 0 but instead started from 1. A kind of {off-by-one error}. See also {zeroth}.
:Objectionable-C: n. Hackish take on "Objective-C", the name of an object-oriented dialect of C in competition with the better-known C+ (it is used to write native applications on the NeXT machine). Objectionable-C uses a Smalltalk-like syntax, but lacks the flexibility of Smalltalk method calls, and (like many such efforts) comes frustratingly close to attaining the {Right Thing} without actually doing so.
:obscure: adj. Used in an exaggeration of its normal meaning, to imply total incomprehensibility. "The reason for that last crash is obscure." "The 'find(1)' command's syntax is obscure!" The phrase 'moderately obscure' implies that it could be figured out but probably isn't worth the trouble. The construction 'obscure in the extreme' is the preferred emphatic form.
:octal forty: /ok'tl for'tee/ n. Hackish way of saying "I'm drawing a blank." Octal 40 is the {{ASCII}} space character, 0100000; by an odd coincidence, {hex} 40 (01000000) is the {{EBCDIC}} space character. See {wall}.
:off the trolley: adj. Describes the behavior of a program that malfunctions and goes catatonic, but doesn't actually {crash} or abort. See {glitch}, {bug}, {deep space}.
:off-by-one error: n. Exceedingly common error induced in many ways, such as by starting at 0 when you should have started at 1 or vice versa, or by writing '< N' instead of '<= N' or vice-versa. Also applied to giving something to the person next to the one who should have gotten it. Often confounded with {fencepost error}, which is properly a particular subtype of it.
:offline: adv. Not now or not here. "Let's take this discussion offline." Specifically used on {USENET} to suggest that a discussion be taken off a public newsgroup to email.
:old fart: n. Tribal elder. A title self-assumed with remarkable frequency by (esp.) USENETters who have been programming for more than about 25 years; often appears in {sig block}s attached to Jargon File contributions of great archeological significance. This is a term of insult in the second or third person but one of pride in first person.
:Old Testament: n. [C programmers] The first edition of {K&R}, the sacred text describing {Classic C}.
:one-banana problem: n. At mainframe shops, where the computers have operators for routine administrivia, the programmers and hardware people tend to look down on the operators and claim that a trained monkey could do their job. It is frequently observed that the incentives which would be offered said monkeys can be used as a scale to describe the difficulty of a task. A one-banana problem is simple; hence "It's only a one-banana job at the most; what's taking them so long?"
At IBM, folklore divides the world into one-, two-, and three-banana problems. Other cultures have different hierarchies and may divide them more finely; at ICL, for example, five grapes (a bunch) equals a banana. Their upper limit for the in-house {sysape}s is said to be two bananas and three grapes (another source claims it's three bananas and one grape, but observes "However, this is subject to local variations, cosmic rays and ISO"). At a complication level any higher than that, one asks the manufacturers to send someone around to check things.
:one-line fix: n. Used (often sarcastically) of a change to a program that is thought to be trivial or insignificant right up to the moment it crashes the system. Usually 'cured' by another one-line fix. See also {I didn't change anything!}
:one-liner wars: n. A game popular among hackers who code in the language APL (see {write-only language} and {line noise}). The objective is to see who can code the most interesting and/or useful routine in one line of operators chosen from APL's exceedingly {hairy} primitive set. A similar amusement was practiced among {TECO} hackers and is now popular among {Perl} aficionados. Ken Iverson, the inventor of APL, has been credited with a one-liner that, given a number N, produces a list of the prime numbers from 1 to N inclusive. It looks like this:
(2 = 0 +.= T o. T) / T <- iN
where 'o' is the APL null character, the assignment arrow is a single character, and 'i' represents the APL iota.
:ooblick: /oo'blik/ [from Dr. Seuss's 'Bartholomew and the Oobleck'] n. A bizarre semi-liquid sludge made from cornstarch and water. Enjoyed among hackers who make batches during playtime at parties for its amusing and extremely non-Newtonian behavior; it pours and splatters, but resists rapid motion like a solid and will even crack when hit by a hammer. Often found near lasers.
Here is a field-tested ooblick recipe contributed by GLS:
1 cup cornstarch
1 cup baking soda
3/4 cup water
N drops of food coloring
This recipe isn't quite as non-Newtonian as a pure cornstarch ooblick, but has an appropriately slimy feel.
Some, however, insist that the notion of an ooblick *recipe* is far too mechanical, and that it is best to add the water in small increments so that the various mixed states the cornstarch goes through as it *becomes* ooblick can be grokked in fullness by many hands. For optional ingredients of this experience, see the "{Ceremonial Chemicals}" section of {appendix B}.
:op: /op/ [IRC] n. Someone who is endowed with privileges on {IRC}, not limited to a particular channel. These are generally people who are in charge of the IRC server at their particular site. Sometimes used interchangably with {CHOP}. Compare {sysop}.
:open: n. Abbreviation for 'open (or left) parenthesis' —- used when necessary to eliminate oral ambiguity. To read aloud the LISP form (DEFUN FOO (X) (PLUS X 1)) one might say: "Open defun foo, open eks close, open, plus eks one, close close."
:Open DeathTrap: n. Abusive hackerism for the Santa Cruz Operation's 'Open DeskTop' product, a Motif-based graphical interface over their UNIX. The funniest part is that this was coined by SCO's own developers...compare {AIDX}, {terminak}, {Macintrash} {Nominal Semidestructor}, {ScumOS}, {sun-stools}, {HP-SUX}.
:open switch: [IBM: prob. from railroading] n. An unresolved question, issue, or problem.
:operating system:: [techspeak] n. (Often abbreviated 'OS') The foundation software of a machine, of course; that which schedules tasks, allocates storage, and presents a default interface to the user between applications. The facilities an operating system provides and its general design philosophy exert an extremely strong influence on programming style and on the technical cultures that grow up around its host machines. Hacker folklore has been shaped primarily by the {{UNIX}}, {{ITS}}, {{TOPS-10}}, {{TOPS-20}}/{{TWENEX}}, {{WAITS}}, {{CP/M}}, {{MS-DOS}}, and {{Multics}} operating systems (most importantly by ITS and UNIX).
:optical diff: n. See {vdiff}.
:optical grep: n. See {vgrep}.
:Orange Book: n. The U.S. Government's standards document 'Trusted Computer System Evaluation Criteria, DOD standard 5200.28-STD, December, 1985' which characterize secure computing architectures and defines levels A1 (most secure) through D (least). Stock UNIXes are roughly C1, and can be upgraded to about C2 without excessive pain. See also {{book titles}}.
:oriental food:: n. Hackers display an intense tropism towards oriental cuisine, especially Chinese, and especially of the spicier varieties such as Szechuan and Hunan. This phenomenon (which has also been observed in subcultures that overlap heavily with hackerdom, most notably science-fiction fandom) has never been satisfactorily explained, but is sufficiently intense that one can assume the target of a hackish dinner expedition to be the best local Chinese place and be right at least three times out of four. See also {ravs}, {great-wall}, {stir-fried random}, {laser chicken}, {Yu-Shiang Whole Fish}. Thai, Indian, Korean, and Vietnamese cuisines are also quite popular.
:orphan: [UNIX] n. A process whose parent has died; one inherited by 'init(1)'. Compare {zombie}.
:orphaned i-node: /or'f*nd i:'nohd/ [UNIX] n. 1. [techspeak] A file that retains storage but no longer appears in the directories of a filesystem. 2. By extension, a pejorative for any person serving no useful function within some organization, esp. {lion food} without subordinates.
:orthogonal: [from mathematics] adj. Mutually independent; well separated; sometimes, irrelevant to. Used in a generalization of its mathematical meaning to describe sets of primitives or capabilities that, like a vector basis in geometry, span the entire 'capability space' of the system and are in some sense non-overlapping or mutually independent. For example, in architectures such as the PDP-11 or VAX where all or nearly all registers can be used interchangeably in any role with respect to any instruction, the register set is said to be orthogonal. Or, in logic, the set of operators 'not' and 'or' is orthogonal, but the set 'nand', 'or', and 'not' is not (because any one of these can be expressed in terms of the others). Also used in comments on human discourse: "This may be orthogonal to the discussion, but...."
:OS: /O-S/ 1. [Operating System] n. An abbreviation heavily used in email, occasionally in speech. 2. n.,obs. On ITS, an output spy. See "{OS and JEDGAR}" (in {appendix A}).
:OS/2: /O S too/ n. The anointed successor to MS-DOS for Intel 286- and 386-based micros; proof that IBM/Microsoft couldn't get it right the second time, either. Mentioning it is usually good for a cheap laugh among hackers —- the design was so {baroque}, and the implementation of 1.x so bad, that 3 years after introduction you could still count the major {app}s shipping for it on the fingers of two hands —- in unary. Often called 'Half-an-OS'. On January 28, 1991, Microsoft announced that it was dropping its OS/2 development to concentrate on Windows, leaving the OS entirely in the hands of IBM; on January 29 they claimed the media had got the story wrong, but were vague about how. It looks as though OS/2 is moribund. See {vaporware}, {monstrosity}, {cretinous}, {second-system effect}.
:out-of-band: [from telecommunications and network theory] adj. 1. In software, describes values of a function which are not in its 'natural' range of return values, but are rather signals that some kind of exception has occurred. Many C functions, for example, return either a nonnegative integral value, or indicate failure with an out-of-band return value of -1. Compare {hidden flag}, {green bytes}. 2. Also sometimes used to describe what communications people call 'shift characters', like the ESC that leads control sequences for many terminals, or the level shift indicators in the old 5-bit Baudot codes. 3. In personal communication, using methods other than email, such as telephones or {snail-mail}.
:overflow bit: n. 1. [techspeak] On some processors, an attempt to calculate a result too large for a register to hold causes a particular {flag} called an {overflow bit} to be set. 2. Hackers use the term of human thought too. "Well, the {{Ada}} description was {baroque} all right, but I could hack it OK until they got to the exception handling ... that set my overflow bit." 3. The hypothetical bit that will be set if a hacker doesn't get to make a trip to the Room of Porcelain Fixtures: "I'd better process an internal interrupt before the overflow bit gets set".
:overflow pdl: [MIT] n. The place where you put things when your {pdl} is full. If you don't have one and too many things get pushed, you forget something. The overflow pdl for a person's memory might be a memo pad. This usage inspired the following doggerel:
Hey, diddle, diddle The overflow pdl To get a little more stack; If that's not enough Then you lose it all, And have to pop all the way back. —The Great Quux
The term {pdl} seems to be primarily an MITism; outside MIT this term would logically be replaced by 'overflow {stack}', but the editors have heard no report of the latter term actually being in use.
:overrun: n. 1. [techspeak] Term for a frequent consequence of data arriving faster than it can be consumed, esp. in serial line communications. For example, at 9600 baud there is almost exactly one character per millisecond, so if your {silo} can hold only two characters and the machine takes longer than 2 msec to get to service the interrupt, at least one character will be lost. 2. Also applied to non-serial-I/O communications. "I forgot to pay my electric bill due to mail overrun." "Sorry, I got four phone calls in 3 minutes last night and lost your message to overrun." When {thrash}ing at tasks, the next person to make a request might be told "Overrun!" Compare {firehose syndrome}. 3. More loosely, may refer to a {buffer overflow} not necessarily related to processing time (as in {overrun screw}).
:overrun screw: [C programming] n. A variety of {fandango on core} produced by scribbling past the end of an array (C implementations typically have no checks for this error). This is relatively benign and easy to spot if the array is static; if it is auto, the result may be to {smash the stack} —- often resulting in {heisenbug}s of the most diabolical subtlety. The term 'overrun screw' is used esp. of scribbles beyond the end of arrays allocated with 'malloc(3)'; this typically trashes the allocation header for the next block in the {arena}, producing massive lossage within malloc and often a core dump on the next operation to use 'stdio(3)' or 'malloc(3)' itself. See {spam}, {overrun}; see also {memory leak}, {memory smash}, {aliasing bug}, {precedence lossage}, {fandango on core}, {secondary damage}.
= P = =====
:P.O.D.: /P-O-D/ Acronym for 'Piece Of Data' (as opposed to a code section). Usage: pedantic and rare. See also {pod}.
:padded cell: n. Where you put {luser}s so they can't hurt anything. A program that limits a luser to a carefully restricted subset of the capabilities of the host system (for example, the 'rsh(1)' utility on USG UNIX). Note that this is different from an {iron box} because it is overt and not aimed at enforcing security so much as protecting others (and the luser) from the consequences of the luser's boundless na"ivet'e (see {na"ive}). Also 'padded cell environment'.
:page in: [MIT] vi. 1. To become aware of one's surroundings again after having paged out (see {page out}). Usually confined to the sarcastic comment: "Eric pages in. Film at 11." See {film at 11}. 2. Syn. 'swap in'; see {swap}.
:page out: [MIT] vi. 1. To become unaware of one's surroundings temporarily, due to daydreaming or preoccupation. "Can you repeat that? I paged out for a minute." See {page in}. Compare {glitch}, {thinko}. 2. Syn. 'swap out'; see {swap}.
:pain in the net: n. A {flamer}.
:paper-net: n. Hackish way of referring to the postal service, analogizing it to a very slow, low-reliability network. USENET {sig block}s not uncommonly include a "Paper-Net:" header just before the sender's postal address; common variants of this are "Papernet" and "P-Net". Compare {voice-net}, {snail-mail}.
:param: /p*-ram'/ n. Shorthand for 'parameter'. See also {parm}; compare {arg}, {var}.
:PARC: n. See {XEROX PARC}.
:parent message: n. See {followup}.
:parity errors: pl.n. Little lapses of attention or (in more severe cases) consciousness, usually brought on by having spent all night and most of the next day hacking. "I need to go home and crash; I'm starting to get a lot of parity errors." Derives from a relatively common but nearly always correctable transient error in RAM hardware.
:Parkinson's Law of Data: prov. "Data expands to fill the space available for storage"; buying more memory encourages the use of more memory-intensive techniques. It has been observed over the last 10 years that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars tends to double about once every 12 months (see {Moore's Law}); unfortunately, the laws of physics guarantee that the latter cannot continue indefinitely.
:parm: /parm/ n. Further-compressed form of {param}. This term is an IBMism, and written use is almost unknown outside IBM shops; spoken /parm/ is more widely distributed, but the synonym {arg} is favored among hackers. Compare {arg}, {var}.
:parse: [from linguistic terminology] vt. 1. To determine the syntactic structure of a sentence or other utterance (close to the standard English meaning). "That was the one I saw you." "I can't parse that." 2. More generally, to understand or comprehend. "It's very simple; you just kretch the glims and then aos the zotz." "I can't parse that." 3. Of fish, to have to remove the bones yourself. "I object to parsing fish", means "I don't want to get a whole fish, but a sliced one is okay". A 'parsed fish' has been deboned. There is some controversy over whether 'unparsed' should mean 'bony', or also mean 'deboned'.
:Pascal:: n. An Algol-descended language designed by Niklaus Wirth on the CDC 6600 around 1967—68 as an instructional tool for elementary programming. This language, designed primarily to keep students from shooting themselves in the foot and thus extremely restrictive from a general-purpose-programming point of view, was later promoted as a general-purpose tool and, in fact, became the ancestor of a large family of languages including Modula-2 and {{Ada}} (see also {bondage-and-discipline language}). The hackish point of view on Pascal was probably best summed up by a devastating (and, in its deadpan way, screamingly funny) 1981 paper by Brian Kernighan (of {K&R} fame) entitled "Why Pascal is Not My Favorite Programming Language", which was turned down by the technical journals but circulated widely via photocopies. It was eventually published in "Comparing and Assessing Programming Languages", edited by Alan Feuer and Narain Gehani (Prentice-Hall, 1984). Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after ten years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. At the end of a summary of the case against Pascal, Kernighan wrote:
9. There is no escape
This last point is perhaps the most important. The language is inadequate but circumscribed, because there is no way to escape its limitations. There are no casts to disable the type-checking when necessary. There is no way to replace the defective run-time environment with a sensible one, unless one controls the compiler that defines the "standard procedures". The language is closed.
People who use Pascal for serious programming fall into a fatal trap. Because the language is impotent, it must be extended. But each group extends Pascal in its own direction, to make it look like whatever language they really want. Extensions for separate compilation, FORTRAN-like COMMON, string data types, internal static variables, initialization, octal numbers, bit operators, etc., all add to the utility of the language for one group but destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond its original target. In its pure form, Pascal is a toy language, suitable for teaching but not for real programming.
Pascal has since been almost entirely displaced (by {C}) from the niches it had acquired in serious applications and systems programming, but retains some popularity as a hobbyist language in the MS-DOS and Macintosh worlds.
:pastie: /pay'stee/ n. An adhesive-backed label designed to be attached to a key on a keyboard to indicate some non-standard character which can be accessed through that key. Pasties are likely to be used in APL environments, where almost every key is associated with a special character. A pastie on the R key, for example, would remind the user that it is used to generate the rho character. The term properly refers to nipple-concealing devices formerly worn by strippers in concession to indecent-exposure laws; compare {tits on a keyboard}.
:patch: 1. n. A temporary addition to a piece of code, usually as a {quick-and-dirty} remedy to an existing bug or misfeature. A patch may or may not work, and may or may not eventually be incorporated permanently into the program. Distinguished from a {diff} or {mod} by the fact that a patch is generated by more primitive means than the rest of the program; the classical examples are instructions modified by using the front panel switches, and changes made directly to the binary executable of a program originally written in an {HLL}. Compare {one-line fix}. 2. vt. To insert a patch into a piece of code. 3. [in the UNIX world] n. A {diff} (sense 2). 4. A set of modifications to binaries to be applied by a patching program. IBM operating systems often receive updates to the operating system in the form of absolute hexadecimal patches. If you have modified your OS, you have to disassemble these back to the source. The patches might later be corrected by other patches on top of them (patches were said to "grow scar tissue"). The result was often a convoluted {patch space} and headaches galore. 5. [UNIX] the 'patch(1)' program, written by Larry Wall, which automatically applies a patch (sense 3) to a set of source code.
There is a classic story of a {tiger team} penetrating a secure military computer that illustrates the danger inherent in binary patches (or, indeed, any that you can't —- or don't —- inspect and examine before installing). They couldn't find any {trap door}s or any way to penetrate security of IBM's OS, so they made a site visit to an IBM office (remember, these were official military types who were purportedly on official business), swiped some IBM stationery, and created a fake patch. The patch was actually the trapdoor they needed. The patch was distributed at about the right time for an IBM patch, had official stationery and all accompanying documentation, and was dutifully installed. The installation manager very shortly thereafter learned something about proper procedures.
:patch space: n. An unused block of bits left in a binary so that it can later be modified by insertion of machine-language instructions there (typically, the patch space is modified to contain new code, and the superseded code is patched to contain a jump or call to the patch space). The widening use of HLLs has made this term rare; it is now primarily historical outside IBM shops. See {patch} (sense 4), {zap} (sense 4), {hook}.
:path: n. 1. A {bang path} or explicitly routed {{Internet address}}; a node-by-node specification of a link between two machines. 2. [UNIX] A filename, fully specified relative to the root directory (as opposed to relative to the current directory; the latter is sometimes called a 'relative path'). This is also called a 'pathname'. 3. [UNIX and MS-DOS] The 'search path', an environment variable specifying the directories in which the {shell} (COMMAND.COM, under MS-DOS) should look for commands. Other, similar constructs abound under UNIX (for example, the C preprocessor has a 'search path' it uses in looking for '#include' files).
:pathological: adj. 1. [scientific computation] Used of a data set that is grossly atypical of normal expected input, esp. one that exposes a weakness or bug in whatever algorithm one is using. An algorithm that can be broken by pathological inputs may still be useful if such inputs are very unlikely to occur in practice. 2. When used of test input, implies that it was purposefully engineered as a worst case. The implication in both senses is that the data is spectacularly ill-conditioned or that someone had to explicitly set out to break the algorithm in order to come up with such a crazy example. 3. Also said of an unlikely collection of circumstances. "If the network is down and comes up halfway through the execution of that command by root, the system may just crash." "Yes, but that's a pathological case." Often used to dismiss the case from discussion, with the implication that the consequences are acceptable since that they will happen so infrequently (if at all) that there is no justification for going to extra trouble to handle that case (see sense 1).
:payware: /pay'weir/ n. Commercial software. Oppose {shareware} or {freeware}.
:PBD: /P-B-D/ [abbrev. of 'Programmer Brain Damage'] n. Applied to bug reports revealing places where the program was obviously broken by an incompetent or short-sighted programmer. Compare {UBD}; see also {brain-damaged}.
:PC-ism: /P-C-izm/ n. A piece of code or coding technique that takes advantage of the unprotected single-tasking environment in IBM PCs and the like, e.g., by busy-waiting on a hardware register, direct diddling of screen memory, or using hard timing loops. Compare {ill-behaved}, {vaxism}, {unixism}. Also, 'PC-ware' n., a program full of PC-isms on a machine with a more capable operating system. Pejorative.
:PD: /P-D/ adj. Common abbreviation for 'public domain', applied to software distributed over {USENET} and from Internet archive sites. Much of this software is not in fact public domain in the legal sense but travels under various copyrights granting reproduction and use rights to anyone who can {snarf} a copy. See {copyleft}.
:pdl: /pid'l/ or /puhd'l/ [abbreviation for 'Push Down List'] 1. n. In ITS days, the preferred MITism for {stack}. See {overflow pdl}. 2. n. Dave Lebling, one of the co-authors of {Zork}; (his {network address} on the ITS machines was at one time pdl@dms). 3. n. 'Program Design Language'. Any of a large class of formal and profoundly useless pseudo-languages in which {management} forces one to design programs. {Management} often expects it to be maintained in parallel with the code. See also {{flowchart}}. 4. v. To design using a program design language. "I've been pdling so long my eyes won't focus beyond 2 feet." 5. n. 'Page Description Language'. Refers to any language which is used to control a graphics device, usually a laserprinter. The most common example, is of course, Adobe's {PostScript} language, but there are many others, such as Xerox InterPress, etc.
:PDP-10: [Programmed Data Processor model 10] n. The machine that made timesharing real. It looms large in hacker folklore because of its adoption in the mid-1970s by many university computing facilities and research labs, including the MIT AI Lab, Stanford, and CMU. Some aspects of the instruction set (most notably the bit-field instructions) are still considered unsurpassed. The 10 was eventually eclipsed by the VAX machines (descendants of the PDP-11) when DEC recognized that the 10 and VAX product lines were competing with each other and decided to concentrate its software development effort on the more profitable VAX. The machine was finally dropped from DEC's line in 1983, following the failure of the Jupiter Project at DEC to build a viable new model. (Some attempts by other companies to market clones came to nothing; see {Foonly}) This event spelled the doom of {{ITS}} and the technical cultures that had spawned the original Jargon File, but by mid-1991 it had become something of a badge of honorable old-timerhood among hackers to have cut one's teeth on a PDP-10. See {{TOPS-10}}, {{ITS}}, {AOS}, {BLT}, {DDT}, {DPB}, {EXCH}, {HAKMEM}, {JFCL}, {LDB}, {pop}, {push}, {appendix A}.
:PDP-20: n. The most famous computer that never was. {PDP-10} computers running the {{TOPS-10}} operating system were labeled 'DECsystem-10' as a way of differentiating them from the PDP-11. Later on, those systems running {TOPS-20} were labeled 'DECSYSTEM-20' (the block capitals being the result of a lawsuit brought against DEC by Singer, which once made a computer called 'system-10'), but contrary to popular lore there was never a 'PDP-20'; the only difference between a 10 and a 20 was the operating system and the color of the paint. Most (but not all) machines sold to run TOPS-10 were painted 'Basil Blue', whereas most TOPS-20 machines were painted 'Chinese Red' (often mistakenly called orange).
:peek: n.,vt. (and {poke}) The commands in most microcomputer BASICs for directly accessing memory contents at an absolute address; often extended to mean the corresponding constructs in any {HLL} (peek reads memory, poke modifies it). Much hacking on small, non-MMU micros consists of 'peek'ing around memory, more or less at random, to find the location where the system keeps interesting stuff. Long (and variably accurate) lists of such addresses for various computers circulate (see {{interrupt list, the}}). The results of 'poke's at these addresses may be highly useful, mildly amusing, useless but neat, or (most likely) total {lossage} (see {killer poke}).
Since a {real operating system} provides useful, higher-level services for the tasks commonly performed with peeks and pokes on micros, and real languages tend not to encourage low-level memory groveling, a question like "How do I do a peek in C?" is diagnostic of the {newbie}. (Of course, OS kernels often have to do exactly this; a real C hacker would unhesitatingly, if unportably, assign an absolute address to a pointer variable and indirect through it.)
:pencil and paper: n. An archaic information storage and transmission device that works by depositing smears of graphite on bleached wood pulp. More recent developments in paper-based technology include improved 'write-once' update devices which use tiny rolling heads similar to mouse balls to deposit colored pigment. All these devices require an operator skilled at so-called 'handwriting' technique. These technologies are ubiquitous outside hackerdom, but nearly forgotten inside it. Most hackers had terrible handwriting to begin with, and years of keyboarding tend to have encouraged it to degrade further. Perhaps for this reason, hackers deprecate pencil-and-paper technology and often resist using it in any but the most trivial contexts. See also {appendix B}.
:peon: n. A person with no special ({root} or {wheel}) privileges on a computer system. "I can't create an account on *foovax* for you; I'm only a peon there."
:percent-S: /per-sent' es'/ [From the code in C's 'printf(3)' library function used to insert an arbitrary string argument] n. An unspecified person or object. "I was just talking to some percent-s in administration." Compare {random}.
:perf: /perf/ n. See {chad} (sense 1). The term 'perfory' /per'f*-ree/ is also heard. The term {perf} may also refer to the preforations themselves, rather than the chad they produce when torn.
:perfect programmer syndrome: n. Arrogance; the egotistical conviction that one is above normal human error. Most frequently found among programmers of some native ability but relatively little experience (especially new graduates; their perceptions may be distorted by a history of excellent performance at solving {toy problem}s). "Of course my program is correct, there is no need to test it." "Yes, I can see there may be a problem here, but *I'll* never type 'rm -r /' while in {root}."
:Perl: /perl/ [Practical Extraction and Report Language, a.k.a Pathologically Eclectic Rubbish Lister] n. An interpreted language developed by Larry Wall , author of 'patch(1)' and 'rn(1)') and distributed over USENET. Superficially resembles 'awk(1)', but is much hairier (see {awk}). UNIX sysadmins, who are almost always incorrigible hackers, increasingly consider it one of the {languages of choice}. Perl has been described, in a parody of a famous remark about 'lex(1)', as the "Swiss-Army chainsaw" of UNIX programming.
:pessimal: /pes'im-l/ [Latin-based antonym for 'optimal'] adj. Maximally bad. "This is a pessimal situation." Also 'pessimize' vt. To make as bad as possible. These words are the obvious Latin-based antonyms for 'optimal' and 'optimize', but for some reason they do not appear in most English dictionaries, although 'pessimize' is listed in the OED.
:pessimizing compiler: /pes'*-mi:z'ing k*m-pi:l'r/ [antonym of 'optimizing compiler'] n. A compiler that produces object code that is worse than the straightforward or obvious hand translation. The implication is that the compiler is actually trying to optimize the program, but through excessive cleverness is doing the opposite. A few pessimizing compilers have been written on purpose, however, as pranks or burlesques.
:peta-: /pe't*/ [SI] pref. See {{quantifiers}}.
:PETSCII: /pet'skee/ [abbreviation of PET ASCII] n. The variation (many would say perversion) of the {{ASCII}} character set used by the Commodore Business Machines PET series of personal computers and the later Commodore C64, C16, and C128 machines. The PETSCII set used left-arrow and up-arrow (as in old-style ASCII) instead of underscore and caret, placed the unshifted alphabet at positions 65—90, put the shifted alphabet at positions 193—218, and added graphics characters.
:phase: 1. n. The phase of one's waking-sleeping schedule with respect to the standard 24-hour cycle. This is a useful concept among people who often work at night and/or according to no fixed schedule. It is not uncommon to change one's phase by as much as 6 hours per day on a regular basis. "What's your phase?" "I've been getting in about 8 P.M. lately, but I'm going to {wrap around} to the day schedule by Friday." A person who is roughly 12 hours out of phase is sometimes said to be in 'night mode'. (The term 'day mode' is also (but less frequently) used, meaning you're working 9 to 5 (or, more likely, 10 to 6).) The act of altering one's cycle is called 'changing phase'; 'phase shifting' has also been recently reported from Caltech. 2. 'change phase the hard way': To stay awake for a very long time in order to get into a different phase. 3. 'change phase the easy way': To stay asleep, etc. However, some claim that either staying awake longer or sleeping longer is easy, and that it is *shortening* your day or night that's hard (see {wrap around}). The 'jet lag' that afflicts travelers who cross many time-zone boundaries may be attributed to two distinct causes: the strain of travel per se, and the strain of changing phase. Hackers who suddenly find that they must change phase drastically in a short period of time, particularly the hard way, experience something very like jet lag without traveling.
:phase of the moon: n. Used humorously as a random parameter on which something is said to depend. Sometimes implies unreliability of whatever is dependent, or that reliability seems to be dependent on conditions nobody has been able to determine. "This feature depends on having the channel open in mumble mode, having the foo switch set, and on the phase of the moon."
True story: Once upon a time there was a bug that really did depend on the phase of the moon. There is a little subroutine that had traditionally been used in various programs at MIT to calculate an approximation to the moon's true phase. GLS incorporated this routine into a LISP program that, when it wrote out a file, would print a timestamp line almost 80 characters long. Very occasionally the first line of the message would be too long and would overflow onto the next line, and when the file was later read back in the program would {barf}. The length of the first line depended on both the precise date and time and the length of the phase specification when the timestamp was printed, and so the bug literally depended on the phase of the moon!
The first paper edition of the Jargon File (Steele-1983) included an example of one of the timestamp lines that exhibited this bug, but the typesetter 'corrected' it. This has since been described as the phase-of-the-moon-bug bug.
:phase-wrapping: [MIT] n. Syn. {wrap around}, sense 2.
:phreaking: /freek'ing/ [from 'phone phreak'] n. 1. The art and science of cracking the phone network (so as, for example, to make free long-distance calls). 2. By extension, security-cracking in any other context (especially, but not exclusively, on communications networks) (see {cracking}).
At one time phreaking was a semi-respectable activity among hackers; there was a gentleman's agreement that phreaking as an intellectual game and a form of exploration was OK, but serious theft of services was taboo. There was significant crossover between the hacker community and the hard-core phone phreaks who ran semi-underground networks of their own through such media as the legendary 'TAP Newsletter'. This ethos began to break down in the mid-1980s as wider dissemination of the techniques put them in the hands of less responsible phreaks. Around the same time, changes in the phone network made old-style technical ingenuity less effective as a way of hacking it, so phreaking came to depend more on overtly criminal acts such as stealing phone-card numbers. The crimes and punishments of gangs like the '414 group' turned that game very ugly. A few old-time hackers still phreak casually just to keep their hand in, but most these days have hardly even heard of 'blue boxes' or any of the other paraphernalia of the great phreaks of yore.
:pico-: [SI: a quantifier meaning * 10^-12] pref. Smaller than {nano-}; used in the same rather loose connotative way as {nano-} and {micro-}. This usage is not yet common in the way {nano-} and {micro-} are, but should be instantly recognizable to any hacker. See also {{quantifiers}}, {micro-}.
:pig, run like a: v. To run very slowly on given hardware, said of software. Distinct from {hog}.
:pilot error: [Sun: from aviation] n. A user's misconfiguration or misuse of a piece of software, producing apparently buglike results (compare {UBD}). "Joe Luser reported a bug in sendmail that causes it to generate bogus headers." "That's not a bug, that's pilot error. His 'sendmail.cf' is hosed."
:ping: [from the TCP/IP acronym 'Packet INternet Groper', prob. originally contrived to match the submariners' term for a sonar pulse] 1. n. Slang term for a small network message (ICMP ECHO) sent by a computer to check for the presence and aliveness of another. Occasionally used as a phone greeting. See {ACK}, also {ENQ}. 2. vt. To verify the presence of. 3. vt. To get the attention of. From the UNIX command 'ping(1)' that sends an ICMP ECHO packet to another host. 4. vt. To send a message to all members of a {mailing list} requesting an {ACK} (in order to verify that everybody's addresses are reachable). "We haven't heard much of anything from Geoff, but he did respond with an ACK both times I pinged jargon-friends." 5. n. A quantum packet of happiness. People who are very happy tend to exude pings; furthermore, one can intentionally create pings and aim them at a needy party (e.g. a depressed person). This sense of ping may appear as an exclamation; "Ping!" (I'm happy; I am emitting a quantum of happiness; I have been struck by a quantum of happiness). The form "pingfulness", which is used to describe people who exude pings, also occurs. (In the standard abuse of language, "pingfulness" can also be used as an exclamation, in which case it's a much stronger exclamation than just "ping"!). Oppose {blargh}.
The funniest use of 'ping' to date was described in January 1991 by Steve Hayman on the USENET group comp.sys.next. He was trying to isolate a faulty cable segment on a TCP/IP Ethernet hooked up to a NeXT machine, and got tired of having to run back to his console after each cabling tweak to see if the ping packets were getting through. So he used the sound-recording feature on the NeXT, then wrote a script that repeatedly invoked 'ping(8)', listened for an echo, and played back the recording on each returned packet. Result? A program that caused the machine to repeat, over and over, "Ping ... ping ... ping ..." as long as the network was up. He turned the volume to maximum, ferreted through the building with one ear cocked, and found a faulty tee connector in no time.
:Pink-Shirt Book: 'The Peter Norton Programmer's Guide to the IBM PC'. The original cover featured a picture of Peter Norton with a silly smirk on his face, wearing a pink shirt. Perhaps in recognition of this usage, the current edition has a different picture of Norton wearing a pink shirt. See also {{book titles}}.
:PIP: /pip/ [Peripheral Interchange Program] vt.,obs. To copy; from the program PIP on CP/M, RSX-11, RSTS/E, TOPS-10, and OS/8 (derived from a utility on the PDP-6) that was used for file copying (and in OS/8 and RT-11 for just about every other file operation you might want to do). It is said that when the program was originated, during the development of the PDP-6 in 1963, it was called ATLATL ('Anything, Lord, to Anything, Lord'; this played on the Nahuatl word 'atlatl' for a spear-thrower, with connotations of utility and primitivity that were no doubt quite intentional).
:pistol: [IBM] n. A tool that makes it all too easy for you to shoot yourself in the foot. "UNIX 'rm *' makes such a nice pistol!"
:pizza box: [Sun] n. The largish thin box housing the electronics in (especially Sun) desktop workstations, so named because of its size and shape and the dimpled pattern that looks like air holes.
Two meg single-platter removable disk packs used to be called pizzas, and the huge drive they were stuck into was referred to as a pizza oven. It's an index of progress that in the old days just the disk was pizza-sized, while now the entire computer is.
:pizza, ANSI standard: /an'see stan'd*rd peet'z*/ [CMU] Pepperoni and mushroom pizza. Coined allegedly because most pizzas ordered by CMU hackers during some period leading up to mid-1990 were of that flavor. See also {rotary debugger}; compare {tea, ISO standard cup of}.
:plaid screen: [XEROX PARC] n. A 'special effect' which occurs when certain kinds of {memory smash}es overwrite the control blocks or image memory of a bit-mapped display. The term "salt & pepper" may refer to a different pattern of similar origin. Though the term as coined at PARC refers to the result of an error, some of the {X} demos induce plaid-screen effects deliberately as a {display hack}.
:plain-ASCII: /playn-as'kee/ Syn. {flat-ASCII}.
:plan file: [UNIX] n. On systems that support {finger}, the '.plan' file in a user's home directory is displayed when the user is fingered. This feature was originally intended to be used to keep potential fingerers apprised of one's location and near-future plans, but has been turned almost universally to humorous and self-expressive purposes (like a {sig block}). See {Hacking X for Y}.
:platinum-iridium: adj. Standard, against which all others of the same category are measured. Usage: silly. The notion is that one of whatever it is has actually been cast in platinum-iridium alloy and placed in the vault beside the Standard Kilogram at the International Bureau of Weights and Measures near Paris. (From 1889 to 1960, the meter was defined to be the distance between two scratches in a platinum-iridium bar kept in that vault —- this replaced an earlier definition as 10^(-7) times the distance between the North Pole and the Equator along a meridian through Paris; unfortunately, this had been based on an inexact value of the circumference of the Earth. From 1960 to 1984 it was defined to be 1650763.73 wavelengths of the orange-red line of krypton-86 propagating in a vacuum. It is now defined as the length of the path traveled by light in a vacuum in the time interval of 1/299,792,458 of a second. The kilogram is now the only unit of measure officially defined in terms of a unique artifact.) "This garbage-collection algorithm has been tested against the platinum-iridium cons cell in Paris." Compare {golden}.
:playpen: [IBM] n. A room where programmers work. Compare {salt mines}.
:playte: /playt/ 16 bits, by analogy with {nybble} and {{byte}}. Usage: rare and extremely silly. See also {dynner} and {crumb}.
:plingnet: /pling'net/ n. Syn. {UUCPNET}. Also see {{Commonwealth Hackish}}, which uses 'pling' for {bang} (as in {bang path}).
:plokta: /plok't*/ [Acronym for 'Press Lots Of Keys To Abort'] v. To press random keys in an attempt to get some response from the system. One might plokta when the abort procedure for a program is not known, or when trying to figure out if the system is just sluggish or really hung. Plokta can also be used while trying to figure out any unknown key sequence for a particular operation. Someone going into 'plokta mode' usually places both hands flat on the keyboard and presses down, hoping for some useful response.
A slightly more diected form of plokta can often be seen in mail messages or USENET articles from new users — the text might end with
q quit :q ^C end x exit ZZ ^D ? help
as the user vainly tries to find the right exit sequence, with the incorrect tries piling up at the end of the message....
:plonk: [USENET: possibly influenced by British slang 'plonk' for cheap booze] The sound a {newbie} makes as he falls to the bottom of a {kill file}. Used almost exclusively in the {newsgroup} talk.bizarre, this term (usually written "*plonk*") is a form of public ridicule.
:plugh: /ploogh/ [from the {ADVENT} game] v. See {xyzzy}.
:plumbing: [UNIX] n. Term used for {shell} code, so called because of the prevalence of 'pipelines' that feed the output of one program to the input of another. Under UNIX, user utilities can often be implemented or at least prototyped by a suitable collection of pipelines and temp-file grinding encapsulated in a shell script; this is much less effort than writing C every time, and the capability is considered one of UNIX's major winning features. A few other OSs such as IBM's VM/CMS support similar facilities. Esp. used in the construction 'hairy plumbing' (see {hairy}). "You can kluge together a basic spell-checker out of 'sort(1)', 'comm(1)', and 'tr(1)' with a little plumbing." See also {tee}.
:PM: /P-M/ 1. v. (from 'preventive maintenance') To bring down a machine for inspection or test purposes; see {scratch monkey}. 2. n. Abbrev. for 'Presentation Manager', an {elephantine} OS/2 graphical user interface. See also {provocative maintenance}.
:pnambic: /p*-nam'bik/ [Acronym from the scene in the film version of 'The Wizard of Oz' in which the true nature of the wizard is first discovered: "Pay no attention to the man behind the curtain."] 1. A stage of development of a process or function that, owing to incomplete implementation or to the complexity of the system, requires human interaction to simulate or replace some or all of the actions, inputs, or outputs of the process or function. 2. Of or pertaining to a process or function whose apparent operations are wholly or partially falsified. 3. Requiring {prestidigitization}.
The ultimate pnambic product was "Dan Bricklin's Demo", a program which supported flashy user-interface design prototyping. There is a related maxim among hackers: "Any sufficiently advanced technology is indistinguishable from a rigged demo." See {magic}, sense 1, for illumination of this point.
:pod: [allegedly from abbreviation POD for 'Prince Of Darkness'] n. A Diablo 630 (or, latterly, any letter-quality impact printer). From the DEC-10 PODTYPE program used to feed formatted text to it. See also {P.O.D.}
:point-and-drool interface: n. Parody of the techspeak term 'point-and-shoot interface', describing a windows, icons, and mice-based interface such as is found on the Macintosh. The implication, of course, is that such an interface is only suitable for idiots. See {for the rest of us}, {WIMP environment}, {Macintrash}, {drool-proof paper}. Also 'point-and-grunt interface'.
:poke: n.,vt. See {peek}.
:poll: v.,n. 1. [techspeak] The action of checking the status of an input line, sensor, or memory location to see if a particular external event has been registered. 2. To repeatedly call or check with someone: "I keep polling him, but he's not answering his phone; he must be swapped out." 3. To ask. "Lunch? I poll for a takeout order daily."
:polygon pusher: n. A chip designer who spends most of his or her time at the physical layout level (which requires drawing *lots* of multi-colored polygons). Also 'rectangle slinger'.
:POM: /P-O-M/ n. Common abbreviation for {phase of the moon}. Usage: usually in the phrase 'POM-dependent', which means {flaky}.
:pop: [from the operation that removes the top of a stack, and the fact that procedure return addresses are saved on the stack] (also capitalized 'POP' /pop/) 1. vt. To remove something from a {stack} or {pdl}. If a person says he/she has popped something from his stack, that means he/she has finally finished working on it and can now remove it from the list of things hanging overhead. 2. When a discussion gets to too deep a level of detail so that the main point of the discussion is being lost, someone will shout "Pop!", meaning "Get back up to a higher level!" The shout is frequently accompanied by an upthrust arm with a finger pointing to the ceiling.
:POPJ: /pop'J/ [from a {PDP-10} return-from-subroutine instruction] n.,v. To return from a digression. By verb doubling, "Popj, popj" means roughly "Now let's see, where were we?" See {RTI}.
:posing: n. On a {MUD}, the use of ':' or an equivalent command to announce to other players that one is taking a certain physical action that has no effect on the game (it may, however, serve as a social signal or propaganda device that induces other people to take game actions). For example, if one's character name is Firechild, one might type ': looks delighted at the idea and begins hacking on the nearest terminal' to broadcast a message that says "Firechild looks delighted at the idea and begins hacking on the nearest terminal". See {RL}.
:post: v. To send a message to a {mailing list} or {newsgroup}. Distinguished in context from 'mail'; one might ask, for example: "Are you going to post the patch or mail it to known users?"
:postcardware: n. {Shareware} that borders on {freeware}, in that the author requests only that satisfied users send a postcard of their home town or something. (This practice, silly as it might seem, serves to remind users that they are otherwise getting something for nothing, and may also be psychologically related to real estate "sales" in which $1 changes hands just to keep the transaction from being a gift.)
:posting: n. Noun corresp. to v. {post} (but note that {post} can be nouned). Distinguished from a 'letter' or ordinary {email} message by the fact that it is broadcast rather than point-to-point. It is not clear whether messages sent to a small mailing list are postings or email; perhaps the best dividing line is that if you don't know the names of all the potential recipients, it is a posting.
:postmaster: n. The email contact and maintenance person at a site connected to the Internet or UUCPNET. Often, but not always, the same as the {admin}. The Internet standard for electronic mail ({RFC}822) requires each machine to have a 'postmaster' address; usually it is aliased to this person.
:PostScript: n. A groundbreaking Page Description Language ({PDL}), based on work originally done by John Gaffney at Evans and Sutherland in 1976, evolving through 'JaM' ('John and Martin', Martin Newell) at {XEROX PARC}, and finally implemented in its current form by John Warnock et al. after he and Chuck Geschke founded Adobe Systems Incorporated in 1982. PostScript gets its leverage by using a full programming language, rather than a series of low-level escape sequences, to describe an image to be printed on a laser printer or other output device (in this it parallels {EMACS}, which exploited a similar insight about editing tasks). It is also noteworthy for implementing on-the fly rasterization, from Bezier curve descriptions, of high-quality fonts at low (e.g. 300 dpi) resolution (it was formerly believed that hand-tuned bitmap fonts were required for this task). Hackers consider PostScript to be among the most elegant hacks of all time, and the combination of technical merits and widespread availability has made PostScript the language of choice for graphical output.
:pound on: vt. Syn. {bang on}.
:power cycle: vt. (also, 'cycle power' or just 'cycle') To power off a machine and then power it on immediately, with the intention of clearing some kind of {hung} or {gronk}ed state. Syn. {120 reset}; see also {Big Red Switch}. Compare {Vulcan nerve pinch}, {bounce}, and {boot}, and see the AI Koan in "{A Selection of AI Koans}" (in {appendix A}) about Tom Knight and the novice.
:power hit: n. A spike or drop-out in the electricity supplying your machine; a power {glitch}. These can cause crashes and even permanent damage to your machine(s).
:PPN: /P-P-N/, /pip'n/ [from 'Project-Programmer Number'] n. A user-ID under {{TOPS-10}} and its various mutant progeny at SAIL, BBN, CompuServe, and elsewhere. Old-time hackers from the PDP-10 era sometimes use this to refer to user IDs on other systems as well.
:precedence lossage: /pre's*-dens los'*j/ [C programmers] n. Coding error in an expression due to unexpected grouping of arithmetic or logical operators by the compiler. Used esp. of certain common coding errors in C due to the nonintuitively low precedence levels of '&', ' ', '^', '>' (for this reason, experienced C programmers deliberately forget the language's {baroque} precedence hierarchy and parenthesize defensively). Can always be avoided by suitable use of parentheses. {LISP} fans enjoy pointing out that this can't happen in *their* favorite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere. See {aliasing bug}, {memory leak}, {memory smash}, {smash the stack}, {fandango on core}, {overrun screw}.
:prepend: /pree'pend'/ [by analogy with 'append'] vt. To prefix. As with 'append' (but not 'prefix' or 'suffix' as a verb), the direct object is always the thing being added and not the original word (or character string, or whatever). "If you prepend a semicolon to the line, the translation routine will pass it through unaltered."
:prestidigitization: /pres't*-di'j*-ti:-zay'sh*n/ n. 1. The act of putting something into digital notation via sleight of hand. 2. Data entry through legerdemain.
:pretty pictures: n. [scientific computation] The next step up from {numbers}. Interesting graphical output from a program that may not have any sensible relationship to the system the program is intended to model. Good for showing to {management}.
:prettyprint: /prit'ee-print/ (alt. 'pretty-print') v. 1. To generate 'pretty' human-readable output from a {hairy} internal representation; esp. used for the process of {grind}ing (sense 2) LISP code. 2. To format in some particularly slick and nontrivial way.
:pretzel key: [Mac users] n. See {feature key}.
:prime time: [from TV programming] n. Normal high-usage hours on a timesharing system; the day shift. Avoidance of prime time is a major reason for {night mode} hacking.
:printing discussion: [PARC] n. A protracted, low-level, time-consuming, generally pointless discussion of something only peripherally interesting to all.
:priority interrupt: [from the hardware term] n. Describes any stimulus compelling enough to yank one right out of {hack mode}. Classically used to describe being dragged away by an {SO} for immediate sex, but may also refer to more mundane interruptions such as a fire alarm going off in the near vicinity. Also called an {NMI} (non-maskable interrupt), especially in PC-land.
:profile: n. 1. A control file for a program, esp. a text file automatically read from each user's home directory and intended to be easily modified by the user in order to customize the program's behavior. Used to avoid {hardcoded} choices. 2. [techspeak] A report on the amounts of time spent in each routine of a program, used to find and {tune} away the {hot spot}s in it. This sense is often verbed. Some profiling modes report units other than time (such as call counts) and/or report at granularities other than per-routine, but the idea is similar.
:proglet: /prog'let/ [UK] n. A short extempore program written to meet an immediate, transient need. Often written in BASIC, rarely more than a dozen lines long, and contains no subroutines. The largest amount of code that can be written off the top of one's head, that does not need any editing, and that runs correctly the first time (this amount varies significantly according to the language one is using). Compare {toy program}, {noddy}, {one-liner wars}.
:program: n. 1. A magic spell cast over a computer allowing it to turn one's input into error messages. 2. An exercise in experimental epistemology. 3. A form of art, ostensibly intended for the instruction of computers, which is nevertheless almost inevitably a failure if other programmers can't understand it.
:Programmer's Cheer: "Shift to the left! Shift to the right! Pop up, push down! Byte! Byte! Byte!" A joke so old it has hair on it.
:programming: n. 1. The art of debugging a blank sheet of paper (or, in these days of on-line editing, the art of debugging an empty file). 2. n. A pastime similar to banging one's head against a wall, but with fewer opportunities for reward. 3. n. The most fun you can have with your clothes on (although clothes are not mandatory).
:programming fluid: n. 1. Coffee. 2. Cola. 3. Any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs. See {unleaded}, {wirewater}.
:propeller head: n. Used by hackers, this is syn. with {computer geek}. Non-hackers sometimes use it to describe all techies. Prob. derives from SF fandom's tradition (originally invented by old-time fan Ray Faraday Nelson) of propeller beanies as fannish insignia (though nobody actually wears them except as a joke).
:propeller key: [Mac users] n. See {feature key}.
:proprietary: adj. 1. In {marketroid}-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company's hardware or software designers. 2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor able to gouge freely on service and upgrade charges after the initial sale has locked the customer in (that's assuming it wasn't too expensive in the first place). |
|