P

P.O.D.: /P·O·D/, abbrev.

[rare; sometimes “POD” without the periods] Acronym for “Piece Of Data” or “Plain Old Data” (as opposed to a code section, or a section containing mixed code and data). The latter expansion was in use by the C++ standards committee, for which it indicated a struct or class which only contains data (as in C), distinguished from one which has a constructor and member functions. There are things which you can do with a P.O.D. which you can’t with a more general class.

packet over air: //, n.

[common among backbone ISPs] The protocol notionally being used by Internet data attempting to traverse a physical gap or break in the network, such as might be caused by a fiber-seeking backhoe. “I see why you’re dropping packets. You seem to have a packet over air problem.”

padded cell: //, n.

Where you put lusers 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 naivete (see naive). Also “padded cell environment”.

page in: //, v.

[MIT]

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!”

2. Syn. “swap in”; see swap.

page out: //, vi.

[MIT]

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 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 blocks sometimes include a “Paper-Net:” header just before the sender’s postal address; common variants of this are “Papernet” and “P-Net”. Note that the standard netiquette guidelines discourage this practice as a waste of bandwidth, since netters are quite unlikely to casually use postal addresses. Compare voice-net, snail-mail.

param: /p@·ram´/, n.

[common] Shorthand for “parameter”. See also parm; compare arg, var.

PARC: //, n.

See XEROX PARC.

parent message: //, n.

What a followup follows up.

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 memory hardware. It predates RAM; in fact, this term is reported to have already have been in use in its jargon sense back in the 1960s when magnetic cores ruled. Parity errors can also afflict mass storage and serial communication lines; this is more serious because not always correctable.

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. (The original 1958 Parkinson’s Law described the structural tendency of bureaucracies to make work for themselves.) It has been observed since the mid-1980s that the memory usage of evolving systems tends to double roughly once every 18 months. Fortunately, memory density available for constant dollars also tends to about double once every 18 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: //, 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. Part of his discussion is worth repeating here, because its criticisms are still apposite to Pascal itself after many years of improvement and could also stand as an indictment of many other bondage-and-discipline languages. (The entire essay is available at http://www.lysator.liu.se/c/bwk-on-pascal.html.) 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 entirely displaced (mainly by C) from the niches it had acquired in serious applications and systems programming, and from its role as a teaching language by Java.

PascalCasing: //, v.

The practice of marking all word boundaries in long identifiers (such as ThisIsASampleVariable) (including the first letter of the identifier) with uppercase. Constrasts with “camelCasing”, in which the first character of the identifier is left in lowercase (thisIsASampleVariable), and with the traditional C style of short all-lower-case names with internal word breaks marked by an underscore (sample_var).

Where these terms are used, they usually go with advice to use PascalCasing for public interfaces and camelCasing for private ones. They may have originated at Microsoft, but are in more general use in ECMA standards, among Java programmers, and elsewhere.

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, might remind the user that it is used to generate the ρ 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 pumpkin: //, n.

[Perl hackers] A notional token passed around among the members of a project. Possession of the patch pumpkin means one has the exclusive authority to make changes on the project’s master source tree. The implicit assumption is that “pumpkin holder” status is temporary and rotates periodically among senior project members.

This term comes from the Perl development community, but has been sighted elsewhere. It derives from a stuffed-toy pumpkin that was passed around at a development shop years ago as the access control for a shared backup-tape drive.

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 near-universal use of compilers and interpreters has made this term rare; it is now primarily historical outside IBM shops. See patch (sense 4), zap (sense 4), hook.

patch: //, n.

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 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 patches that you can’t – or don’t – inspect and examine before installing). They couldn’t find any trap doors 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.

path: //, n.

1. A bang path or explicitly routed Internet address; a node-by-node specification of a link between two machines. Though these are now obsolete as a form of addressing, they still show up in diagnostics and trace headers occasionally (e.g. in NNTP headers).

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/Windows] 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 they will happen so infrequently (if at all) that it doesn’t seem worth going to the extra trouble to handle that case (see sense 1).

payware: /pay´weir/, n.

Commercial software. Oppose shareware or freeware.

PBD: /P·B·D/, n.

[abbrev. of “Programmer Brain Damage”] 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.

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.

PDP-10: //, n.

[Programmed Data Processor model 10] 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 Mars.) 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, BLT, EXCH, pop, push. See also http://www.inwap.com/pdp10/.

PDP-11: //, n.

Possibly the single most successful minicomputer design in history, a favorite of hackers for many years, and the first major Unix machine, The first PDP-11s (the 11/15 and 11/20) shipped in 1970 from DEC; the last (11/93 and 11/94) in 1990. Along the way, the 11 gave birth to the VAX, strongly influenced the design of microprocessors such as the Motorola 6800 and Intel 386, and left a permanent imprint on the C language (which has an odd preference for octal embedded in its syntax because of the way PDP-11 machine instructions were formatted). There is a history site.

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

PEBKAC: /peb´kak/, abbrev.

[Abbrev., “Problem Exists Between Keyboard And Chair”] Used by support people, particularly at call centers and help desks. Not used with the public. Denotes pilot error as the cause of the crash, especially stupid errors that even a luser could figure out. Very derogatory. Usage: “Did you ever figure out why that guy couldn’t print?” “Yeah, he kept cancelling the operation before it could finish. PEBKAC”. See also pilot error, UBD.

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 used to consist of “peeking” 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 circulated. The results of “pokes” at these addresses may be highly useful, mildly amusing, useless but neat, or (most likely) total lossage (see 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 kernel 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.

Pentagram Pro: //, n.

A humorous corruption of “Pentium Pro”, with a Satanic reference, implying that the chip is inherently evil. Often used with “666 MHz”; there is a T-shirt. See Pentium

ESR intended to insert this picture, I think.

Pentium: //, n.

The name given to Intel’s P5 chip, the successor to the 80486. The name was chosen because of difficulties Intel had in trademarking a number. It suggests the number five (implying 586) while (according to Intel) conveying a meaning of strength “like titanium”. Among hackers, the plural is frequently “pentia”. See also Pentagram Pro.

Intel did not stick to this convention when naming its P6 processor the Pentium Pro; many believe this is due to difficulties in selling a chip with “hex” or “sex” in its name. Successor chips have been called “Pentium II”, “Pentium III”, and “Pentium IV”.

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´/, n.

[From the code in C’s printf(3) library function used to insert an arbitrary string argument] An unspecified person or object. “I was just talking to some percent-s in administration.” Compare random.

perf: /perf/, n.

Syn. chad (sense 1). The term “perfory” /per´f@-ree/ is also heard. The term perf may also refer to the perforations themselves, rather than the chad they produce when torn (philatelists use it this way).

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 problems). “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 mode.”

Perl: /perl/, n.

[Practical Extraction and Report Language, a.k.a. Pathologically Eclectic Rubbish Lister] An interpreted language developed by Larry Wall, author of patch(1) and rn(1)). Superficially resembles awk, but is much hairier, including many facilities reminiscent of sed(1) and shells and a comprehensive Unix system-call interface. Unix sysadmins, who are almost always incorrigible hackers, generally consider it one of the languages of choice, and it is by far the most widely used tool for making “live” web pages via CGI. Perl has been described, in a parody of a famous remark about lex(1), as the Swiss-Army chainsaw of Unix programming. Though Perl is very useful, it would be a stretch to describe it as pretty or elegant; people who like clean, spare design generally prefer Python. See also Camel Book, TMTOWTDI.

person of no account: //, n.

[University of California at Santa Cruz] Used when referring to a person with no network address, frequently to forestall confusion. Most often as part of an introduction: “This is Bill, a person of no account, but he used to be bill@random.com”. Compare return from the dead.

pessimal: /pes´im·l/, adj.

[Latin-based antonym for “optimal”] 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/, n.

[antonym of techspeak “optimizing compiler”] 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@/, pref.

[SI] See quantifiers.

pffft: //, interj.

[IRC] A metamorphic expletive which can be used to convey emotion, particularly shock or surprise, disgust or anger. The amplitude of the reaction can be measured by counting intermediary fs. For example:

<jrandom> someone stole my hotdog
<fred> pffft

<frodo> Cthulhu stole my hotdog
<joe> pffffffffffffft!

PFY: //, n.

[Usenet; common, originally from the BOFH mythos] Abbreviation for “Pimply-Faced Youth”. A BOFH in training, esp. one apprenticed to an elder BOFH aged in evil.

phage: //, n.

A program that modifies other programs or databases in unauthorized ways; esp. one that propagates a virus or worm, mockingbird. The analogy, of course, is with phage viruses in biology.

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.” See also heisenbug.

True story: Once upon a time there was a program bug that really did depend on the phase of the moon. There was 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.

However, beware of assumptions. A few years ago, engineers of CERN (European Center for Nuclear Research) were baffled by some errors in experiments conducted with the LEP particle accelerator. As the formidable amount of data generated by such devices is heavily processed by computers before being seen by humans, many people suggested the software was somehow sensitive to the phase of the moon. A few desperate engineers discovered the truth; the error turned out to be the result of a tiny change in the geometry of the 27km circumference ring, physically caused by the deformation of the Earth by the passage of the Moon! This story has entered physics folklore as a Newtonian vengeance on particle physics and as an example of the relevance of the simplest and oldest physical laws to the most modern science.

phase-wrapping: //, n.

[MIT] Syn. wrap around, sense 2.

phase: //, n.

1. n. The offset of one’s waking-sleeping schedule with respect to the standard 24-hour cycle; 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 8PM 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 is really 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.

PHB: /P·H·B/, n.

[Usenet; common; rarely spoken] Abbreviation, “Pointy-Haired Boss”. From the Dilbert character, the archetypal halfwitted middle-management type. See also pointy-haired.

phreaker: /freek´r/, n.

One who engages in phreaking. See also blue box.

phreaking: /freek´ing/, n.

[from “phone phreak”]

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-: //, pref.

[SI: a quantifier meaning × 10-12] Smaller than nano-; used in the same rather loose connotative way as nano- and micro-. This usage is not yet common in the way micro- are, but should be instantly recognizable to any hacker. See also micro-.

pig-tail: //, n.

[radio hams] A short piece of cable with two connectors on each end for converting between one connector type and another. Common pig-tails are 9-to-25-pin serial-port converters and cables to connect PCMCIA network cards to an RJ-45 network cable.

pilot error: //, n.

[Sun: from aviation] 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.” Compare PEBKAC, ID10T.

Ping O’ Death: //, n.

A notorious exploit that (when first discovered) could be easily used to crash a wide variety of machines by overrunning size limits in their TCP/IP stacks. First revealed in late 1996. The open-source Unix community patched its systems to remove the vulnerability within days or weeks, the closed-source OS vendors generally took months. While the difference in response times repeated a pattern familiar from other security incidents, the accompanying glare of Web-fueled publicity proved unusually embarrassing to the OS vendors and so passed into history and myth. The term is now used to refer to any nudge delivered by network wizards over the network that causes bad things to happen on the system being nudged. For the full story on the original exploit, see http://www.insecure.org/sploits/ping-o-death.html. Compare kamikaze packet and 'Chernobyl packet.'

ping storm: //, n.

A form of DoS attack consisting of a flood of ping requests (normally used to check network conditions) designed to disrupt the normal activity of a system. This act is sometimes called “ping lashing” or “ping flood”. Compare broadcast storm.

ping: //, n.

[from 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 alertness of another. The Unix command ping(8) can be used to do this manually (note that ping(8)'s author denies the widespread folk etymology that the name was ever intended as an acronym for “Packet INternet Groper”). Occasionally used as a phone greeting. See ACK, also ENQ.

2. vt. To verify the presence of.

3. vt. To get the attention of.

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 contract: //, n.

[spamfighters: from the color of the tinned meat] A contract from an Internet service provider to a spammer exempting the spammer from the usual terms of service prohibiting spamming. Usually pink contracts come about because ISPs can charge the spammer a great deal more than they would a normal client.

pink wire: //, n.

[from the pink PTFE wire used in military equipment] As blue wire, but used in military applications.

2. vi. To add a pink wire to a board.

pipe: //, n.

[common] Idiomatically, one’s connection to the Internet; in context, the expansion “bit pipe” is understood. A “fat pipe” is a line with T1 or higher capacity. A person with a 28.8 modem might be heard to complain “I need a bigger pipe”.

pistol: //, n.

[IBM] A tool that makes it all too easy for you to shoot yourself in the foot. “Unix rm * makes such a nice pistol!”

pixel sort: //, n.

[Commodore users] Any compression routine which irretrievably loses valuable data in the process of crunching it. Disparagingly used for “lossy” methods such as JPEG. The theory, of course, is that these methods are only used on photographic images in which minor loss-of-data is not visible to the human eye. The term “pixel sort” implies distrust of this theory. Compare bogo-sort.

pizza box: //, n.

[Sun] 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.

plaid screen: //, n.

[XEROX PARC] A “special effect” that occurs when certain kinds of memory smashes overwrite the control blocks or image memory of a bit-mapped display. The term “salt and 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/, adj.

Syn. flat-ASCII.

Plan 9: //, n.

In the late 1980s, researchers at Bell Labs (especially Rob Pike of Kernighan & Pike fame) got bored with the limitations of UNIX and decided to reimplement the entire system. The result was called Plan 9 in “the Bell Labs tradition of selecting names that make marketeers wince.” The developers also wished to pay homage to the famous film, “Plan 9 From Outer Space”, considered by some to be the worst movie ever made. The source is available for download under open-source terms. The developers and a small fan base hang out at comp.os.plan9, where one can occasionally hear “If you want UNIX, you know where to find it”

plan file: //, n.

[Unix] 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 also Hacking X for Y.

A recent innovation in plan files has been the introduction of “scrolling plan files” which are one-dimensional animations made using only the printable ASCII character set, carriage return and line feed, avoiding terminal specific escape sequences, since the finger command will (for security reasons; see letterbomb) not pass the escape character.

Scrolling .plan files have become art forms in miniature, and some sites have started competitions to find who can create the longest running, funniest, and most original animations. Various animation characters include:
 

Centipede:mmmmme
Lorry/Truck:oo-oP
Andalusian Video Snail:_@/


and a compiler (ASP) is available on Usenet for producing them. See also twirling baton.

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 same 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. But this will have to change; in 2003 it was revealed that the reference kilogram has been shedding mass over time, and is down by 50 micrograms.) “This garbage-collection algorithm has been tested against the platinum-iridium cons cell in Paris.” Compare golden.

playpen: //, n.

[IBM] A room where programmers work. Compare salt mines.

playte: /playt/, n.

16 bits, by analogy with nybble and byte. Usage: rare and extremely silly. See also crumb. General discussion of such terms is under nybble.

plokta: /plok´t@/, v.

[acronym: Press Lots Of Keys To Abort] 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 mashes them down, hoping for some useful response.

A slightly more directed form of plokta can often be seen in mail messages or Usenet articles from new users – the text might end with

   ^X^C   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: //, excl., vt.

[Usenet: possibly influenced by British slang “plonk” for cheap booze, or “plonker” for someone behaving stupidly (latter is lit. equivalent to Yiddish schmuck)] The sound a newbie makes as he falls to the bottom of a kill file. While it originated in the newsgroup talk.bizarre, this term (usually written “*plonk*”) is now (1994) widespread on Usenet as a form of public ridicule.

plug-and-pray: //, adj., vi.

Parody of the techspeak term “plug-and-play”, describing a PC peripheral card which is claimed to have no need for hardware configuration via jumpers or DIP switches, and which should work as soon as it is inserted in the PC. Unfortunately, even the PCI bus is all too often not up to pulling this off reliably, and people who have to do installation or troubleshoot PCs soon find themselves longing for the jumpers and switches.

plugh: /ploogh/, v.

[from the ADVENT game] See xyzzy.

plumbing: //, n.

[Unix] 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/, v.

1. v. (from “preventive maintenance”) To bring down a machine for inspection or test purposes. See provocative maintenance; see also scratch monkey.

2. n. Abbrev. for “Presentation Manager”, an elephantine OS/2 graphical user interface.

point-and-drool interface: //, n.

Parody of the techspeak term “point-and-click interface”, describing a windows, icons, and mouse-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, Macintrash, drool-proof paper. Also “point-and-grunt interface”.

point release: //, n.

[common] A minor release of a software project, especially one intended to fix bugs or do minor cleanups rather than add features. The term implies that such releases are relatively frequent, and is generally used with respect to open source projects being developed in bazaar mode.

pointy-haired: //, adj.

[after the character in the Dilbert comic strip] Describes the extreme form of the property that separates marketroids from hackers. Compare brain-dead; PHB. Always applied to people, never to ideas. The plural form is often used as a noun. "The pointy-haireds ordered me to use Windows NT, but I set up a Linux server with Samba instead."

pointy hat: //, n.

See wizard hat. This synonym specifically refers to the wizards of Unseen University in Terry Pratchett’s Discworld series of humorous fantasies; these books are extremely popular among hackers.

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.

ponytail: //, n.

1. A hairstyle in which long hair is held back so as to hang down like a pony’s tail.

2. A descriptive term for a man having a ponytail hairstyle, or such character traits as might be associated with having a ponytail, eg: effeminacy, narcissism, undue concern with fashion etc.

3. A general term used by hackers for “creatives”: advertising copywriters, graphic designers, video compositors, users characterised by a preference for the Macintosh, recreational drug use, and better sex lives than programmers.

4. A derogatory term for web designers and other persons peripherally associated with IT projects, devoid of programming skills and dismissed as being concerned with visual presentation to the exclusion of actual technical reality.

pop: /pop/, v.

[from the operation that removes the top of a stack, and the fact that procedure return addresses are usually saved on the stack] (also capitalized “POP”)

1. vt. To remove something from a stack. 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 a level of detail so deep 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.

3. [all-caps, as “POP”] Point of Presence, a bank of dial-in lines allowing customers to make (local) calls into an ISP. This is borderline techspeak.

poser: //, n.

[from French poseur] A wannabee; not hacker slang, but used among crackers, phreaks and warez d00dz. Not as negative as leech. Probably derives from a similar usage among punk-rockers and metalheads, putting down those who “talk the talk but don’t walk the walk”.

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.

A kind of 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.)

Postel’s Prescription: //, n.

[proposed] Several of the key Internet RFCs, especially 1122 and 791 contain a piece of advice due to Jon Postel, which is most often stated as:

“Be liberal in what you accept, and conservative in what you send.”

That is, a well-engineered implementation of any of the Internet protocols should be willing to deal with marginal and imperfectly-formed inputs, but should not assume that the program on the other end (that is, the program dealing with the well-engineered implementation’s output) will be anything other than rigid and inflexible, and perhaps even incomplete or downright buggy.

This property is valuable because a network of programs adhering to it will be much more robust in the presence of any uncertainties in the protocol specifications, or any individual implementor’s failure to understand those specifications perfectly. Though the policy does tend to accommodate broken implementations it is held to more important to get the communication flowing than to immediately (but terminally) diagnose the broken implementations at the expense of the people trying to use them.

The principle is a well-known one in the design of programs that handle Internet wire protocols, especially network relays and servers, and it is regularly applied by extension in any situation where two or more separately-implemented pieces of software are supposed to interoperate even though the various implementors have never talked to each other and have absolutely nothing whatsoever in common other than having all read the same protocol specification. The principle travels under several different names, including “the Internet credo”, “the IETF maxim”, “the Internet Engineering Principle”, and “the liberal/conservative rule”; the [proposed] term “Postel’s Prescription” is a tribute to its inventor, the first RFC editor and (until his untimely death) probably the single most respected individual in the Internet engineering community.

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 network. 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 page description language, 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 gronked state. See also Big Red Switch. Compare bounce (sense 4), and boot, and see the Some 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).

pr0n: //, n.

[Usenet, IRC] Pornography. Originally this referred only to Internet porn but since then it has expanded to refer to just about any kind. The term comes from the warez kiddies tendency to replace letters with numbers. At some point on IRC someone mistyped, swapping the middle two characters, and the name stuck. It then propagated over into mainstream hacker usage. New versions of the Mozilla web browser internally refer to the image library as “libpr0n”. Compare filk, hing and newsfroup.

precedence lossage: /pre´s@·dens los'@j/, n.

[C programmers] Coding error in an expression due to unexpected grouping of arithmetic or logical operators by the compiler. Used esp. of certain common coding errors in C due to the nonintuitively low precedence levels of &, |, ^, <<, and >> (for this reason, experienced C programmers deliberately forget the language’s baroque precedence hierarchy and parenthesize defensively). Can always be avoided by suitable use of parentheses. LISP fans enjoy pointing out that this can’t happen in their favorite language, which eschews precedence entirely, requiring one to use explicit parentheses everywhere. See aliasing bug, memory smash, smash the stack, overrun screw.

pred: //, adj.

[Usenet; orig. fr. the Island MUD via Oxford University] Abbreviation for “predictable”, used to signify or preempt responses that are extremely predictable but have to be filled in for the sake of form (the phrase is bracketed by <pred>...</pred>). X-Pred headers in mail or news serve the same end. Figuring out the connection between the X-Pred tagline and the thread is part of the entertainment. For example, it is said that any thread about taxation must contain a reference to Raquel Welch, if only to stop other people from mentioning her. This is allegedly due to a Monty Python sketch where a character declares that he would tax Raquel Welch, and he has a feeling she would tax him.

prepend: //pree`pend´/, vt.

[by analogy with “append”] 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/, v.

(alt.: “pretty-print”)

1. To generate “pretty” human-readable output from a hairy internal representation; esp. used for the process of grinding (sense 1) program code, and most esp. for LISP code.

2. To format in some particularly slick and nontrivial way.

pretzel key: //, n.

[Mac users] See feature key.

priesthood: //, n.

[TMRC; obs.] The select group of system managers responsible for the operation and maintenance of a batch computer system. On these computers, a user never had direct access to a computer, but had to submit his/her data and programs to a priest for execution. Results were returned days or even weeks later.

prime time: //, n.

[from TV programming] Normal high-usage hours on a system or network. Back in the days of big timesharing machines “prime time” was when lots of people were competing for limited cycles, usually the day shift. Avoidance of prime time was traditionally given as a major reason for night mode hacking. The term fell into disuse during the early PC era, but has been revived to refer to times of day or evening at which the Internet tends to be heavily loaded, making Web access slow. The hackish tendency to late-night hacking runs has changed not a bit.

print: //, v.

To output, even if to a screen. If a hacker says that a program “printed a message”, he means this; if he refers to printing a file, he probably means it in the conventional sense of writing to a hardcopy device (compounds like “print job” and “printout”, on the other hand, always refer to the latter). This very common term is likely a holdover from the days when printing terminals were the norm, perpetuated by programming language constructs like C’s printf(3). See senses 1 and 2 of tty.

printing discussion: //, n.

[XEROX PARC] A protracted, low-level, time-consuming, generally pointless discussion of something only peripherally interesting to all.

priority interrupt: //, n.

[from the hardware term] 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 (see also 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!

progasm: /proh´gaz·m/, n.

[University of Wisconsin] The euphoria experienced upon the completion of a program or other computer-related project. For example, the rush you get when you finally run the code you’ve been hacking for the past week and it works first time. (The quality of the experience is directly proportional to the complexity of the code and inversely proportional to the amount of debugging it took to get the code working.) Compare geekasm.

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.

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 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: //, n.

“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 fluid: //, n.

1. Coffee.

2. Cola.

3. Any caffeinacious stimulant. Many hackers consider these essential for those all-night hacking runs. See wirewater.

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.

propeller head: //, n.

Used by hackers, this is syn. with geek. Non-hackers sometimes use it to describe all techies. Prob. derives from SF fandom’s tradition (originally invented by old-time fan Ray Faraday Nelson) of propeller beanies as fannish insignia (though nobody actually wears them except as a joke).

propeller key: //, n.

[Mac users] See feature key.

proprietary: //, adj.

1. In marketroid-speak, superior; implies a product imbued with exclusive magic by the unmatched brilliance of the company’s own hardware or software designers.

2. In the language of hackers and users, inferior; implies a product not conforming to open-systems standards, and thus one that puts the customer at the mercy of a vendor able to gouge freely on service and upgrade charges after the initial sale has locked the customer in. Often used in the phrase “proprietary crap”.

3. Synonym for closed-source or non-free, e.g. software issued without license rights permitting the public to independently review, develop and redistribute it.

Proprietary software should be distinguished from 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.

protocol: //, n.

As used by hackers, this never refers to niceties about the proper form for addressing letters to the Papal Nuncio or the order in which one should use the forks in a Russian-style place setting; hackers don’t care about such things. It is used instead to describe any set of rules that allow different machines or pieces of software to coordinate with each other without ambiguity. So, for example, it does include niceties about the proper form for addressing packets on a network or the order in which one should use the forks in the Dining Philosophers Problem. It implies that there is some common message format and an accepted set of primitives or commands that all parties involved understand, and that transactions among them follow predictable logical sequences. See also handshaking, do protocol.

provocative maintenance: //, n.

[common ironic mutation of “preventive maintenance”] Actions performed upon a machine at regularly scheduled intervals to ensure that the system remains in a usable state. So called because it is all too often performed by a field servoid who doesn’t know what he is doing; such “maintenance” often induces problems, or otherwise results in the machine’s remaining in an unusable state for an indeterminate amount of time. See also scratch monkey.

prowler: //, n.

[Unix] A daemon that is run periodically (typically once a week) to seek out and erase core files, truncate administrative logfiles, nuke lost+found directories, and otherwise clean up the cruft that tends to pile up in the corners of a file system. See also reaper, skulker.

pseudo: /soo´doh/, n.

[Usenet: truncation of “pseudonym”]

1. An electronic-mail or Usenet persona adopted by a human for amusement value or as a means of avoiding negative repercussions of one’s net.behavior; a “nom de Usenet”, often associated with forged postings designed to conceal message origins. Perhaps the best-known and funniest hoax of this type is tentacle.

2. Notionally, a flamage-generating AI program simulating a Usenet user. Many flamers have been accused of actually being such entities, despite the fact that no AI program of the required sophistication yet exists. However, in 1989 there was a famous series of forged postings that used a phrase-frequency-based travesty generator to simulate the styles of several well-known flamers; it was based on large samples of their back postings (compare Dissociated Press). A significant number of people were fooled by the forgeries, and the debate over their authenticity was settled only when the perpetrator came forward to publicly admit the hoax.

pseudoprime: //, n.

A backgammon prime (six consecutive occupied points) with one point missing. This term is an esoteric pun derived from 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.

pseudosuit: /soo´doh·s[y]oot`/, n.

A suit wannabee; a hacker who has decided that he wants to be in management or administration and begins wearing ties, sport coats, and (shudder!) suits voluntarily. It’s his funeral. See also lobotomy.

psychedelicware: /si:`k@·del'·ik·weir/, n.

[UK] Syn. display hack. See also smoking clover.

psyton: /si:´ton/, n.

[TMRC] The elementary particle carrying the sinister force. The probability of a process losing is proportional to the number of psytons falling on it. Psytons are generated by observers, which is why demos are more likely to fail when lots of people are watching. [This term appears to have been largely superseded by bogon; see also quantum bogodynamics. – ESR]

pubic directory: //pyoob´ik d@·rek´t@·ree/, n.

[NYU] (also “pube directory” /pyoob' d@·rek´t@·ree/) The “pub” (public) directory on a machine that allows FTP access. So called because it is the default location for SEX (sense 1). "I’ll have the source in the pube directory by Friday."

puff: //, vt.

To decompress data that has been crunched by Huffman coding. At least one widely distributed Huffman decoder program was actually named “PUFF”, but these days it is usually packaged with the encoder. Oppose huff, see inflate.

pumpkin holder: //, n.

See patch pumpkin.

pumpking: //, n.

Syn. for pumpkin holder; see patch pumpkin.

punched card: //, n.

[techspeak] (alt.: “punch card”) The signature medium of computing’s Stone Age, now obsolescent. 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 box, eighty-column mind, dusty deck, code grinder.

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.

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. See also book titles.

purple wire: //, n.

[IBM] Wire installed by Field Engineers to work around problems discovered during testing or debugging. These are called “purple wires” even when (as is frequently the case) their actual physical color is yellow... Compare blue wire, yellow wire, and red wire.

push: //, v.

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

Python: /pi:´thon/, n.

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. Some people revolt at its use of whitespace to define logical structure by indentation, objecting that this harks back to the horrible old fixed-field languages of the 1960s. 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 BDFL.


Previous | Next | Found Subjects | Moonspeaker