The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗
- Author: Eric S. Raymond
- Performer: 0262680920
Book online «The New Hacker's Dictionary, Eric S. Raymond [bill gates book recommendations .txt] 📗». Author Eric S. Raymond
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, whichautomatically 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; anode-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 grosslyatypical 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 andprofoundly 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 =
Comments (0)