readenglishbook.com » Other » The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗

Book online «The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗». Author Eric S. Raymond



1 ... 79 80 81 82 83 84 85 86 87 ... 125
Go to page:
>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 rho character. The term properly refers to

nipple-concealing devices formerly worn by strippers in concession to

indecent-exposure laws; compare [10118]tits on a keyboard.

Node:patch, Next:[10119]patch pumpkin, Previous:[10120]pastie,

Up:[10121]= P =

patch

n. A temporary addition to a piece of code, usually as a

[10122]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

[10123]diff or [10124]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 [10125]HLL. Compare [10126]one-line fix. 2.

vt. To insert a patch into a piece of code. 3. [in the Unix world] n.

A [10127]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 [10128]patch space and headaches galore.

[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 [10129]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 [10130]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.

Node:patch pumpkin, Next:[10131]patch space, Previous:[10132]patch,

Up:[10133]= P =

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.

Node:patch space, Next:[10134]path, Previous:[10135]patch pumpkin,

Up:[10136]= P =

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

[10137]patch (sense 4), [10138]zap (sense 4), [10139]hook.

Node:path, Next:[10140]pathological, Previous:[10141]patch space,

Up:[10142]= P =

path n.

A [10143]bang path or explicitly routed [10144]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 ocvcasionally (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 apathname'. 3. [Unix

and MS-DOS] The `search path', an environment variable specifying the

directories in which the [10145]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).

Node:pathological, Next:[10146]payware, Previous:[10147]path,

Up:[10148]= P =

pathological adj.

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

Node:payware, Next:[10149]PBD, Previous:[10150]pathological,

Up:[10151]= P =

payware /pay'weir/ n.

Commercial software. Oppose [10152]shareware or [10153]freeware.

Node:PBD, Next:[10154]PC-ism, Previous:[10155]payware, Up:[10156]= P =

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 [10157]UBD; see also

[10158]brain-damaged.

Node:PC-ism, Next:[10159]PD, Previous:[10160]PBD, Up:[10161]= P =

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 running

DOS, e.g., by busy-waiting on a hardware register, direct diddling of

screen memory, or using hard timing loops. Compare [10162]ill-behaved,

[10163]vaxism, [10164]unixism. Also, `PC-ware' n., a program full of

PC-isms on a machine with a more capable operating system. Pejorative.

Node:PD, Next:[10165]PDL, Previous:[10166]PC-ism, Up:[10167]= P =

PD /P-D/ adj.

[common] Abbreviation for `public domain', applied to software

distributed over [10168]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 [10169]snarf a copy. See [10170]copyleft.

Node:PDL, Next:[10171]PDP-10, Previous:[10172]PD, Up:[10173]= P =

PDL /P-D-L/, /pid'l/, /p*d'l/ or /puhd'l/

n. `Program Design Language'. Any of a large class of formal and

profoundly useless pseudo-languages in which [10174]management forces

one to design programs. Too often, management expects PDL descriptions

to be maintained in parallel with the code, imposing massive overhead

to little or no benefit. See also [10175]flowchart. 2. v. To design

using a program design language. "I've been pdling so long my eyes

won't focus beyond 2 feet." 3. 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

[10176]PostScript language, but there are many others, such as Xerox

InterPress, etc. 4. In ITS days, the preferred MITism for

[10177]stack. See [10178]overflow pdl. 5. Dave Lebling, one of the

co-authors of [10179]Zork; (his [10180]network address on the ITS

machines was at one time pdl@dms).

Node:PDP-10, Next:[10181]PDP-20, Previous:[10182]PDL, Up:[10183]= P =

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 [10184]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 [10185]Foonly and [10186]Mars.) This event

spelled the doom of [10187]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 [10188]TOPS-10, [10189]ITS,

[10190]BLT, [10191]DDT, [10192]DPB, [10193]EXCH, [10194]HAKMEM,

[10195]LDB, [10196]pop, [10197]push. See also

[10198]http://www.inwap.com/pdp10/.

Node:PDP-20, Next:[10199]PEBKAC, Previous:[10200]PDP-10, Up:[10201]= P

=

PDP-20 n.

The most famous computer that never was. [10202]PDP-10 computers

running the [10203]TOPS-10 operating system were labeled

`DECsystem-10' as a way of differentiating them from the PDP-11. Later

on, those systems running [10204]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).

Node:PEBKAC, Next:[10205]peek, Previous:[10206]PDP-20, Up:[10207]= P =

PEBKAC /peb'kak/

[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 [10208]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."

Node:peek, Next:[10209]pencil and paper, Previous:[10210]PEBKAC,

Up:[10211]= P =

peek n.,vt.

(and [10212]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 [10213]HLL (peek

reads memory, poke modifies it). Much hacking on small, non-MMU micros

used to consist 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

circulated (see [10214]interrupt list). The results of `poke's at

these addresses may be highly useful, mildly amusing, useless but

neat, or (most likely) total [10215]lossage (see [10216]killer poke).

Since a [10217]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 [10218]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.)

Node:pencil and paper, Next:[10219]Pentagram Pro,

Previous:[10220]peek, Up:[10221]= P =

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.

Node:Pentagram Pro, Next:[10222]Pentium, Previous:[10223]pencil and

paper, Up:[10224]= P =

1 ... 79 80 81 82 83 84 85 86 87 ... 125
Go to page:

Free e-book «The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗» - read online now

Comments (0)

There are no comments yet. You can be the first!
Add a comment