The New Hacker's Dictionary - Eric S. Raymond (e book reader online txt) 📗
- Author: Eric S. Raymond
- Performer: 0262680920
Book online «The New Hacker's Dictionary - Eric S. Raymond (e book reader online txt) 📗». Author Eric S. Raymond
This usage inspired the following doggerel:
Hey, diddle, diddle
The overflow pdl
To get a little more stack;
If that's not enough
Then you lose it all,
And have to pop all the way back.
-The Great Quux
The term `pdl' (see [9862]PDL) seems to be primarily an MITism;
outside MIT this term is replaced by `overflow [9863]stack' (but that
wouldn't rhyme with `diddle').
Node:overrun, Next:[9864]overrun screw, Previous:[9865]overflow pdl,
Up:[9866]= O =
overrun n.
[techspeak] Term for a frequent consequence of data arriving fasterthan it can be consumed, esp. in serial line communications. For
example, at 9600 baud there is almost exactly one character per
millisecond, so if a [9867]silo can hold only two characters and the
machine takes longer than 2 msec to get to service the interrupt, at
least one character will be lost. 2. Also applied to non-serial-I/O
communications. "I forgot to pay my electric bill due to mail
overrun." "Sorry, I got four phone calls in 3 minutes last night and
lost your message to overrun." When [9868]thrashing at tasks, the next
person to make a request might be told "Overrun!" Compare
[9869]firehose syndrome. 3. More loosely, may refer to a [9870]buffer
overflow not necessarily related to processing time (as in
[9871]overrun screw).
Node:overrun screw, Next:[9872]P-mail, Previous:[9873]overrun,
Up:[9874]= O =
overrun screw n.
[C programming] A variety of [9875]fandango on core produced by
scribbling past the end of an array (C implementations typically have
no checks for this error). This is relatively benign and easy to spot
if the array is static; if it is auto, the result may be to
[9876]smash the stack -- often resulting in [9877]heisenbugs of the
most diabolical subtlety. The term `overrun screw' is used esp. of
scribbles beyond the end of arrays allocated with malloc(3); this
typically trashes the allocation header for the next block in the
[9878]arena, producing massive lossage within malloc and often a core
dump on the next operation to use stdio(3) or malloc(3) itself. See
[9879]spam, [9880]overrun; see also [9881]memory leak, [9882]memory
smash, [9883]aliasing bug, [9884]precedence lossage, [9885]fandango on
core, [9886]secondary damage.
Node:= P =, Next:[9887]= Q =, Previous:[9888]= O =, Up:[9889]The
Jargon Lexicon
= P =
[9890]P-mail:
[9891]P.O.D.:
[9892]packet over air:
[9893]padded cell:
[9894]page in:
[9895]page out:
[9896]pain in the net:
[9897]Pangloss parity:
[9898]paper-net:
[9899]param:
[9900]PARC:
[9901]parent message:
[9902]parity errors:
[9903]Parkinson's Law of Data:
[9904]parm:
[9905]parse:
[9906]Pascal:
[9907]pastie:
[9908]patch:
[9909]patch pumpkin:
[9910]patch space:
[9911]path:
[9912]pathological:
[9913]payware:
[9914]PBD:
[9915]PC-ism:
[9916]PD:
[9917]PDL:
[9918]PDP-10:
[9919]PDP-20:
[9920]PEBKAC:
[9921]peek:
[9922]pencil and paper:
[9923]Pentagram Pro:
[9924]Pentium:
[9925]peon:
[9926]percent-S:
[9927]perf:
[9928]perfect programmer syndrome:
[9929]Perl:
[9930]person of no account:
[9931]pessimal:
[9932]pessimizing compiler:
[9933]peta-:
[9934]PETSCII:
[9935]PFY:
[9936]phage:
[9937]phase:
[9938]phase of the moon:
[9939]phase-wrapping:
[9940]PHB:
[9941]phreaker:
[9942]phreaking:
[9943]pico-:
[9944]pig-tail:
[9945]pilot error:
[9946]ping:
[9947]Ping O' Death:
[9948]ping storm:
[9949]pink wire:
[9950]pipe:
[9951]pistol:
[9952]pixel sort:
[9953]pizza box:
[9954]plaid screen:
[9955]plain-ASCII:
[9956]plan file:
[9957]platinum-iridium:
[9958]playpen:
[9959]playte:
[9960]plingnet:
[9961]plokta:
[9962]plonk:
[9963]plug-and-pray:
[9964]plugh:
[9965]plumbing:
[9966]PM:
[9967]pnambic:
[9968]pod:
[9969]point-and-drool interface:
[9970]pointy hat:
[9971]pointy-haired:
[9972]poke:
[9973]poll:
[9974]polygon pusher:
[9975]POM:
[9976]pop:
[9977]POPJ:
[9978]poser:
[9979]post:
[9980]postcardware:
[9981]posting:
[9982]postmaster:
[9983]PostScript:
[9984]pound on:
[9985]power cycle:
[9986]power hit:
[9987]PPN:
[9988]pr0n:
[9989]precedence lossage:
[9990]prepend:
[9991]prestidigitization:
[9992]pretty pictures:
[9993]prettyprint:
[9994]pretzel key:
[9995]priesthood:
[9996]prime time:
[9997]print:
[9998]printing discussion:
[9999]priority interrupt:
[10000]profile:
[10001]progasm:
[10002]proggy:
[10003]proglet:
[10004]program:
[10005]Programmer's Cheer:
[10006]programming:
[10007]programming fluid:
[10008]propeller head:
[10009]propeller key:
[10010]proprietary:
[10011]protocol:
[10012]provocative maintenance:
[10013]prowler:
[10014]pseudo:
[10015]pseudoprime:
[10016]pseudosuit:
[10017]psychedelicware:
[10018]psyton:
[10019]pubic directory:
[10020]puff:
[10021]pumpkin holder:
[10022]pumpking:
[10023]punched card:
[10024]punt:
[10025]Purple Book:
[10026]purple wire:
[10027]push:
[10028]Python:
Node:P-mail, Next:[10029]P.O.D., Previous:[10030]overrun screw,
Up:[10031]= P =
P-mail n.
[rare] Physical mail, as opposed to [10032]email. Synonymous with
[10033]snail-mail, but much less common.
Node:P.O.D., Next:[10034]packet over air, Previous:[10035]P-mail,
Up:[10036]= P =
P.O.D. /P-O-D/
[rare] Acronym for `Piece Of Data' (as opposed to a code section). See
also [10037]pod.
Node:packet over air, Next:[10038]padded cell, Previous:[10039]P.O.D.,
Up:[10040]= P =
packet over air
[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 [10041]fiber-seeking backhoe. "I
see why you're dropping packets. You seem to have a packet over air
problem.
Node:padded cell, Next:[10042]page in, Previous:[10043]packet over
air, Up:[10044]= P =
padded cell n.
Where you put [10045]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 [10046]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 [10047]naive). Also `padded cell environment'.
Node:page in, Next:[10048]page out, Previous:[10049]padded cell,
Up:[10050]= P =
page in v.
[MIT] 1. To become aware of one's surroundings again after having
paged out (see [10051]page out). Usually confined to the sarcastic
comment: "Eric pages in, [10052]film at 11!" 2. Syn. `swap in'; see
[10053]swap.
Node:page out, Next:[10054]pain in the net, Previous:[10055]page in,
Up:[10056]= P =
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 [10057]page in. Compare [10058]glitch, [10059]thinko. 2.
Syn. `swap out'; see [10060]swap.
Node:pain in the net, Next:[10061]Pangloss parity,
Previous:[10062]page out, Up:[10063]= P =
pain in the net n.
A [10064]flamer.
Node:Pangloss parity, Next:[10065]paper-net, Previous:[10066]pain in
the net, Up:[10067]= P =
Pangloss parity n.
[from Dr. Pangloss, the eternal optimist in Voltaire's "Candide"] In
corporate DP shops, a common condition of severe but equally shared
[10068]lossage resulting from the theory that as long as everyone in
the organization has the exactly the same model of obsolete computer,
everything will be fine.
Node:paper-net, Next:[10069]param, Previous:[10070]Pangloss parity,
Up:[10071]= P =
paper-net n.
Hackish way of referring to the postal service, analogizing it to a
very slow, low-reliability network. Usenet [10072]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 [10073]netiquette guidelines discourage this practice as a
waste of bandwidth, since netters are quite unlikely to casually use
postal addresses. Compare [10074]voice-net, [10075]snail-mail,
[10076]P-mail.
Node:param, Next:[10077]PARC, Previous:[10078]paper-net, Up:[10079]= P
=
param /p*-ram'/ n.
[common] Shorthand for `parameter'. See also [10080]parm; compare
[10081]arg, [10082]var.
Node:PARC, Next:[10083]parent message, Previous:[10084]param,
Up:[10085]= P =
PARC n.
See [10086]XEROX PARC.
Node:parent message, Next:[10087]parity errors, Previous:[10088]PARC,
Up:[10089]= P =
parent message n.
What a [10090]followup follows up.
Node:parity errors, Next:[10091]Parkinson's Law of Data,
Previous:[10092]parent message, Up:[10093]= P =
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
jargoin 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.
Node:Parkinson's Law of Data, Next:[10094]parm, Previous:[10095]parity
errors, Up:[10096]= P =
Parkinson's Law of Data prov.
"Data expands to fill the space available for storage"; buying more
memory encourages the use of more memory-intensive techniques. It has
been observed 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 [10097]Moore's Law); unfortunately,
the laws of physics guarantee that the latter cannot continue
indefinitely.
Node:parm, Next:[10098]parse, Previous:[10099]Parkinson's Law of Data,
Up:[10100]= P =
parm /parm/ n.
Further-compressed form of [10101]param. This term is an IBMism, and
written use is almost unknown outside IBM shops; spoken /parm/ is more
widely distributed, but the synonym [10102]arg is favored among
hackers. Compare [10103]arg, [10104]var.
Node:parse, Next:[10105]Pascal, Previous:[10106]parm, Up:[10107]= P =
parse [from linguistic terminology] vt.
To determine the syntactic structure of a sentence or otherutterance (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 meandeboned'.
Node:Pascal, Next:[10108]pastie, Previous:[10109]parse, Up:[10110]= P
=
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 [10111]Ada (see also
[10112]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
[10113]K&R fame) entitled "Why Pascal is Not My Favorite Programming
Language", which was turned down by the technical journals but
circulated widely via photocopies. It was eventually published in
"Comparing and Assessing Programming Languages", edited by Alan Feuer
and Narain Gehani (Prentice-Hall, 1984). Part of his discussion is
worth repeating here, because its criticisms are still apposite to
Pascal itself after ten years of improvement and could also stand as
an indictment of many other bondage-and-discipline languages. At the
end of a summary of the case against Pascal, Kernighan wrote:
There is no escapeThis last point is perhaps the most important. The language is
inadequate but circumscribed, because there is no way to escape its
limitations. There are no casts to disable the type-checking when
necessary. There is no way to replace the defective run-time
environment with a sensible one, unless one controls the compiler
that defines the "standard procedures". The language is closed.
People who use Pascal for serious programming fall into a fatal
trap. Because the language is impotent, it must be extended. But
each group extends Pascal in its own direction, to make it look
like whatever language they really want. Extensions for separate
compilation, FORTRAN-like COMMON, string data types, internal
static variables, initialization, octal numbers, bit operators,
etc., all add to the utility of the language for one group but
destroy its portability to others.
I feel that it is a mistake to use Pascal for anything much beyond
its original target. In its pure form, Pascal is a toy language,
suitable for teaching but not for real programming.
Pascal has since been almost entirely displaced (by [10114]C) from the
niches it had acquired in serious applications and systems
programming, but retains some popularity as a hobbyist language in the
MS-DOS and Macintosh worlds.
Node:pastie, Next:[10115]patch, Previous:[10116]Pascal, Up:[10117]= P
=
Comments (0)