The KL-10 Massbus connector was
actually *patented* by DEC, which reputedly refused to license
the design and thus effectively locked third parties out of
competition for the lucrative Massbus peripherals market. This is
a source of never-ending frustration for the diehards who maintain
older PDP-10 or VAX systems. Their CPUs work fine, but they are
stuck with dying, obsolescent disk and tape drives with low
capacity and high power requirements.
[hide=10] In these latter days of open-systems computing this term has fallen
somewhat into disuse, to be replaced by the observation that
"Standards are great! There are so *many* of them to choose
from!" Compare {backward combatability}.
cons: /konz/ or /kons/ [from LISP] 1. vt. To add a new element
to a specified list, esp. at the top. "OK, cons picking a
replacement for the console TTY onto the agenda." 2. `cons up':
vt. To synthesize from smaller pieces: "to cons up an example".
In LISP itself, `cons' is the most fundamental operation for
building structures. It takes any two objects and returns a
`dot-pair' or two-branched tree with one object hanging from each
branch. Because the result of a cons is an object, it can be used
to build binary trees of any shape and complexity. Hackers think
of it as a sort of universal constructor, and that is where the
jargon meanings spring from.
considered harmful: adj. Edsger W. Dijkstra's note in the
March 1968 `Communications of the ACM', "Goto Statement
Considered Harmful", fired the first salvo in the structured
programming wars. Amusingly, the ACM considered the resulting
acrimony sufficiently harmful that it will (by policy) no longer
print an article taking so assertive a position against a coding
practice. In the ensuing decades, a large number of both serious
papers and parodies have borne titles of the form "X
considered Y". The structured-programming wars eventually blew
over with the realization that both sides were wrong, but use of
such titles has remained as a persistent minor in-joke (the
`considered silly' found at various places in this lexicon is
related).
console:: n. 1. The operator's station of a {mainframe}. In
times past, this was a privileged location that conveyed godlike
powers to anyone with fingers on its keys. Under UNIX and other
modern timesharing OSes, such privileges are guarded by passwords
instead, and the console is just the {tty} the system was booted
from. Some of the mystique remains, however, and it is traditional
for sysadmins to post urgent messages to all users from the console
(on UNIX, /dev/console). 2. On microcomputer UNIX boxes, the main
screen and keyboard (as opposed to character-only terminals talking
to a serial port). Typically only the console can do real graphics
or run {X}. See also {CTY}.
console jockey: n. See {terminal junkie}.
content-free: [by analogy with techspeak `context-free'] adj.
Used of a message that adds nothing to the recipient's knowledge.
Though this adjective is sometimes applied to {flamage}, it more
usually connotes derision for communication styles that exalt form
over substance or are centered on concerns irrelevant to the
subject ostensibly at hand. Perhaps most used with reference to
speeches by company presidents and other professional manipulators.
"Content-free? Uh...that's anything printed on glossy
paper." See also {four-color glossies}. "He gave a talk on
the implications of electronic networks for postmodernism and the
fin-de-siecle aesthetic. It was content-free."
control-C: vi. 1. "Stop whatever you are doing." From the
interrupt character used on many operating systems to abort a
running program. Considered silly. 2. interj. Among BSD UNIX
hackers, the canonical humorous response to "Give me a break!"
control-O: vi. "Stop talking." From the character used on some
operating systems to abort output but allow the program to keep on
running. Generally means that you are not interested in hearing
anything more from that person, at least on that topic; a standard
response to someone who is flaming. Considered silly.
control-Q: vi. "Resume." From the ASCII XON character used to
undo a previous control-S (in fact it is also pronounced
XON /X-on/).
control-S: vi. "Stop talking for a second." From the ASCII XOFF
character (this is also pronounced XOFF /X-of/). Control-S
differs from {control-O} in that the person is asked to stop
talking (perhaps because you are on the phone) but will be allowed
to continue when you're ready to listen to him --- as opposed to
control-O, which has more of the meaning of "Shut up." Considered
silly.
Conway's Law: prov. The rule that the organization of the software and
the organization of the software team will be congruent; originally
stated as "If you have four groups working on a compiler, you'll
get a 4-pass compiler".
This was originally promulgated by Melvin Conway, an early
proto-hacker who wrote an assembler for the Burroughs 220 called
SAVE. The name `SAVE' didn't stand for anything; it was just that
you lost fewer card decks and listings because they all had SAVE
written on them.
cookbook: [from amateur electronics and radio] n. A book of small
code segments that the reader can use to do various {magic}
things in programs. One current example is the `PostScript
Language Tutorial and Cookbook' by Adobe Systems, Inc
(Addison-Wesley, ISBN 0-201-10179-3) which has recipes for things
like wrapping text around arbitrary curves and making 3D fonts.
Cookbooks, slavishly followed, can lead one into {voodoo
programming}, but are useful for hackers trying to {monkey up}
small programs in unknown languages. This is analogous to the role
of phrasebooks in human languages.
cookie: n. A handle, transaction ID, or other token of agreement
between cooperating programs. "I give him a packet, he gives me
back a cookie." The claim check you get from a dry-cleaning shop
is a perfect mundane example of a cookie; the only thing it's
useful for is to relate a later transaction to this one (so you get
the same clothes back). Compare {magic cookie}; see also
{fortune cookie}.
cookie bear: n. Syn. {cookie monster}.
cookie file: n. A collection of {fortune cookie}s in a format
that facilitates retrieval by a fortune program. There are several
different ones in public distribution, and site admins often
assemble their own from various sources including this lexicon.
cookie monster: [from "Sesame Street"] n. Any of a family of
early (1970s) hacks reported on {{TOPS-10}}, {{ITS}}, {{Multics}},
and elsewhere that would lock up either the victim's terminal (on a
time-sharing machine) or the {{console}} (on a batch
{mainframe}), repeatedly demanding "I WANT A COOKIE". The
required responses ranged in complexity from "COOKIE" through
"HAVE A COOKIE" and upward. See also {wabbit}.
copper: n. Conventional electron-carrying network cable with a
core conductor of copper --- or aluminum! Opposed to {light
pipe} or, say, a short-range microwave link.
copy protection: n. A class of clever methods for preventing
incompetent pirates from stealing software and legitimate customers
from using it. Considered silly.
copybroke: /ko'pee-brohk/ adj. [play on `copyright'] Used to
describe an instance of a copy-protected program that has been
`broken'; that is, a copy with the copy-protection scheme disabled.
Syn. {copywronged}.
copyleft: /kop'ee-left/ [play on `copyright'] n. 1. The
copyright notice (`General Public License'carried by {GNU}
{EMACS} and other Free Software Foundation software, granting reuse
and reproduction rights to all comers (but see also {General
Public Virus}). 2. By extension, any copyright notice intended to
achieve similar aims.
copywronged: /ko'pee-rongd/ [play on `copyright'] adj. Syn. for
{copybroke}.
core: n. Main storage or RAM. Dates from the days of ferrite-core
memory; now archaic as techspeak most places outside IBM, but also
still used in the UNIX community and by old-time hackers or those
who would sound like them. Some derived idioms are quite current;
`in core', for example, means `in memory' (as opposed to `on
disk', and both {core dump} and the `core image' or `core
file' produced by one are terms in favor. Commonwealth hackish
prefers {store}.
core dump: n. [common {Iron Age} jargon, preserved by UNIX]
1. [techspeak] A copy of the contents of {core}, produced when a
process is aborted by certain kinds of internal error. 2. By
extension, used for humans passing out, vomiting, or registering
extreme shock. "He dumped core. All over the floor. What a
mess." "He heard about X and dumped core." 3. Occasionally
used for a human rambling on pointlessly at great length; esp. in
apology: "Sorry, I dumped core on you". 4. A recapitulation of
knowledge (compare {bits}, sense 1). Hence, spewing all one
knows about a topic, esp. in a lecture or answer to an exam
question. "Short, concise answers are better than core dumps"
(from the instructions to an exam at Columbia; syn. {brain
dump}). See {core}.
core leak: n. Syn. {memory leak}.
Core Wars: n. A game between `assembler' programs in a
simulated machine, where the objective is to kill your opponent's
program by overwriting it. Popularized by A. K. Dewdney's column
in `Scientific American' magazine, this was actually
devised by Victor Vyssotsky, Robert Morris, and Dennis Ritchie in
the early 1960s (their original game was called `Darwin' and ran on
a PDP-1 at Bell Labs). See {core}.
corge: /korj/ [originally, the name of a cat] n. Yet another
meta-syntactic variable, invented by Mike Gallaher and propagated
by the {GOSMACS} documentation. See {grault}.
cosmic rays: n. Notionally, the cause of {bit rot}. However, this is
a semi-independent usage that may be invoked as a humorous way to
{handwave} away any minor {randomness} that doesn't seem worth the
bother of investigating. "Hey, Eric --- I just got a burst of
garbage on my {tube}, where did that come from?" "Cosmic rays, I
guess." Compare {sunspots}, {phase of the moon}. The British seem
to prefer the usage `cosmic showers'; `alpha particles' is also
heard, because stray alpha particles passing through a memory chip
can cause single-bit errors (this becomes increasingly more likely
as memory sizes and densities increase).
Factual note: Alpha particles cause bit rot, cosmic rays do not
(except occasionally in spaceborne computers). Intel could not
explain random bit drops in their early chips, and one hypothesis
was cosmic rays. So they created the World's Largest Lead Safe,
using 25 tons of the stuff, and used two identical boards for
testing. One was placed in the safe, one outside. The hypothesis
was that if cosmic rays were causing the bit drops, they should see
a statistically significant difference between the error rates on
the two boards. They did not observe such a difference. Further
investigation demonstrated conclusively that the bit drops were due
to alpha particle emissions from thorium (and to a much lesser
degree uranium) in the encapsulation material. Since it is
impossible to eliminate these radioactives (they are uniformly
distributed through the earth's crust, with the statistically
insignificant exception of uranium lodes) it became obvious that
you have to design memories to withstand these hits.
cough and die: v. Syn. {barf}. Connotes that the program is
throwing its hands up by design rather than because of a bug or
oversight. "The parser saw a control-A in its input where it was
looking for a printable, so it coughed and died."
cowboy: [Sun, from William Gibson's {cyberpunk} SF] n. Synonym
for {hacker}. It is reported that at Sun this word is often
said with reverence.
CP/M:: /C-P-M/ n. [Control Program for Microcomputers] An
early microcomputer {OS} written by hacker Gary Kildall for
8080- and Z80-based machines, very popular in the late 1970s but
virtually wiped out by MS-DOS after the release of the IBM PC
in 1981. Legend has it that Kildall's company blew its chance to
write the OS for the IBM PC because Kildall decided to spend a day
IBM's reps wanted to meet with him enjoying the perfect flying
weather in his private plane. Many of CP/M's features and conventions
strongly resemble those of early DEC operating systems such as
{{TOPS-10}}, OS/8, RSTS, and RSX-11. See {{MS-DOS}},
{operating system}.
CPU Wars: /C-P-U worz/ n. A 1979 large-format comic by Chas
Andres chronicling the attempts of the brainwashed androids of IPM
(Impossible to Program Machines) to conquer and destroy the
peaceful denizens of HEC (Human Engineered Computers). This rather
transparent allegory featured many references to {ADVENT} and
the immortal line "Eat flaming death, minicomputer mongrels!"
(uttered, of course, by an IPM stormtrooper). It is alleged that
the author subsequently received a letter of appreciation on IBM
company stationery from the head of IBM's Thomas J. Watson Research
Laboratories (then, as now, one of the few islands of true
hackerdom in the IBM archipelago). The lower loop of the B in the
IBM logo, it is said, had been carefully whited out. See {eat
flaming death}.
cracker: n. One who breaks security on a system. Coined ca. 1985
by hackers in defense against journalistic misuse of {hacker}
(q.v., sense 8). An earlier attempt to establish `worm' in this
sense around 1981--82 on USENET was largely a failure.
crank: [from automotive slang] vt. Verb used to describe the
performance of a machine, especially sustained performance. "This
box cranks (or, cranks at) about 6 {megaflops}, with a burst mode
of twice that on vectorized operations."
crash: 1. n. A sudden, usually drastic failure. Most often said
of the {system} (q.v., sense 1), sometimes of magnetic disk
drives. "Three {luser}s lost their files in last night's disk
crash." A disk crash that involves the read/write heads dropping
onto the surface of the disks and scraping off the oxide may also
be referred to as a `head crash', whereas the term `system
crash' usually, though not always, implies that the operating
system or other software was at fault. 2. v. To fail suddenly.
"Has the system just crashed?" "Something crashed the OS!" See
{down}. Also used transitively to indicate the cause of the
crash (usually a person or a program, or both). "Those idiots
playing {SPACEWAR} crashed the system." 3. vi. Sometimes said
of people hitting the sack after a long {hacking run}; see
{gronk out}.
crash and burn: vi.,n. A spectacular crash, in the mode of the
conclusion of the car-chase scene in the movie "Bullitt" and
many subsequent imitators. Sun-3 monitors losing the flyback
transformer and lightning strikes on VAX-11/780 backplanes are
notable crash and burn generators. The construction
`crash-and-burn machine' is reported for a computer used
exclusively for alpha or {beta} testing, or reproducing bugs
(i.e., not for development). The implication is that it wouldn't
be such a disaster if that machine crashed, since only the testers
would be inconvenienced.
crawling horror: n. Ancient crufty hardware or software that is
kept obstinately alive by forces beyond the control of the hackers
at a site. Like {dusty deck} or {gonkulator}, but connotes
that the thing described is not just an irritation but an active
menace to health and sanity. "Mostly we code new stuff in C, but
they pay us to maintain one big FORTRAN II application from
nineteen-sixty-X that's a real crawling horror...." Compare
{WOMBAT}.
cray: /kray/ n. 1. (properly, capitalized) One of the line of
supercomputers designed by Cray Research. 2. Any supercomputer at
all. 3. The {canonical} {number-crunching} machine.
The term is actually the lowercased last name of Seymour Cray, a
noted computer architect and co-founder of the company. Numerous
vivid legends surround him, some true and some admittedly invented
by Cray Research brass to shape their corporate culture and image.
cray instability: n. A shortcoming of a program or algorithm that
manifests itself only when a large problem is being run on a powerful
machine (see {cray}). Generally more subtle than bugs that can
be detected in smaller problems running on a workstation or mini.
crayola: /kray-oh'l*/ n. A super-mini or -micro computer that
provides some reasonable percentage of supercomputer performance
for an unreasonably low price. Might also be a {killer micro}.
crayon: n. 1. Someone who works on Cray supercomputers. More
specifically, it implies a programmer, probably of the CDC ilk,
probably male, and almost certainly wearing a tie (irrespective of
gender). Systems types who have a UNIX background tend not to be
described as crayons. 2. A {computron} (sense 2) that
participates only in {number-crunching}. 3. A unit of
computational power equal to that of a single Cray-1. There is a
standard joke about this that derives from an old Crayola crayon
promotional gimmick: When you buy 64 crayons you get a free
sharpener.
creationism: n. The (false) belief that large, innovative designs
can be completely specified in advance and then painlessly magicked
out of the void by the normal efforts of a team of normally
talented programmers. In fact, experience has shown repeatedly
that good designs arise only from evolutionary, exploratory
interaction between one (or at most a small handful of)
exceptionally able designer(s) and an active user population ---
and that the first try at a big new idea is always wrong.
Unfortunately, because these truths don't fit the planning models
beloved of {management}, they are generally ignored.
creeping elegance: n. Describes a tendency for parts of a design to
become {elegant} past the point of diminishing return. This
often happens at the expense of the less interesting parts of the
design, the schedule, and other things deemed important in the
{Real World}. See also {creeping featurism}, {second-system
effect}, {tense}.
creeping featurism: /kree'ping fee'chr-izm/ n. 1. Describes a
systematic tendency to load more {chrome} and {feature}s onto
systems at the expense of whatever elegance they may have possessed
when originally designed. See also {feeping creaturism}. "You
know, the main problem with {BSD} UNIX has always been creeping
featurism." 2. More generally, the tendency for anything
complicated to become even more complicated because people keep
saying "Gee, it would be even better if it had this feature
too". (See {feature}.) The result is usually a patchwork
because it grew one ad-hoc step at a time, rather than being
planned. Planning is a lot of work, but it's easy to add just one
extra little feature to help someone ... and then another ...
and another.... When creeping featurism gets out of hand, it's
like a cancer. Usually this term is used to describe computer
programs, but it could also be said of the federal government, the
IRS 1040 form, and new cars. A similar phenomenon sometimes
afflicts conscious redesigns; see {second-system effect}. See
also {creeping elegance}.
creeping featuritis: /kree'ping fee'-chr-i:`t*s/ n. Variant of
{creeping featurism}, with its own spoonerization: `feeping
creaturitis'. Some people like to reserve this form for the
disease as it actually manifests in software or hardware, as
opposed to the lurking general tendency in designers' minds. (After
all, -ism means `condition' or `pursuit of', whereas -itis usually
means `inflammation of'.)
cretin: /kret'n/ or /kree'tn/ n. Congenital {loser}; an obnoxious
person; someone who can't do anything right. It has been observed
that many American hackers tend to favor the British pronunciation
/kre'tn/ over standard American /kree'tn/; it is thought this may
be due to the insidious phonetic influence of Monty Python's Flying
Circus.
cretinous: /kret'n-*s/ or /kreet'n-*s/ adj. Wrong; stupid;
non-functional; very poorly designed. Also used pejoratively of
people. See {dread high-bit disease} for an example.
Approximate synonyms: {bletcherous}, `bagbiting' (see
{bagbiter}), {losing}, {brain-damaged}.
crippleware: n. 1. Software that has some important functionality
deliberately removed, so as to entice potential users to pay for a
working version. 2. [Cambridge] {Guiltware} that exhorts you to
donate to some charity (compare {careware}). 3. Hardware
deliberately crippled, which can be upgraded to a more expensive
model by a trivial change (e.g., cutting a jumper).
critical mass: n. In physics, the minimum amount of fissionable
material required to sustain a chain reaction. Of a software
product, describes a condition of the software such that fixing one
bug introduces one plus {epsilon} bugs. When software achieves
critical mass, it can only be discarded and rewritten.
crlf: /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ n. (often
capitalized as `CRLF'A carriage return (CR) followed by a line
feed (LF). More loosely, whatever it takes to get you from the
end of one line of text to the beginning of the next line. See
{newline}, {terpri}. Under {{UNIX}} influence this usage
has become less common (UNIX uses a bare line feed as its `CRLF'.
crock: [from the obvious mainstream scatologism] n. 1. An awkward
feature or programming technique that ought to be made cleaner.
Using small integers to represent error codes without the
program interpreting them to the user (as in, for example, UNIX
`make(1)', which returns code 139 for a process that dies due
to {segfault}). 2. A technique that works acceptably, but which
is quite prone to failure if disturbed in the least, for example
depending on the machine opcodes having particular bit patterns so
that you can use instructions as data words too; a tightly woven,
almost completely unmodifiable structure. See {kluge},
{brittle}. Also in the adjectives `crockish' and
`crocky', and the nouns `crockishness' and `crockitude'.
cross-post: [USENET] vi. To post a single article simultaneously to
several newsgroups. Distinguished from posting the article
repeatedly, once to each newsgroup, which causes people to see it
multiple times (this is very bad form). Gratuitous cross-posting
without a Followup-To line directing responses to a single followup
group is frowned upon, as it tends to cause {followup} articles
to go to inappropriate newsgroups when people respond to only one
part of the original posting.
crudware: /kruhd'weir/ n. Pejorative term for the hundreds of
megabytes of low-quality {freeware} circulated by user's groups
and BBS systems in the micro-hobbyist world. "Yet *another*
set of disk catalog utilities for {{MS-DOS}}? What crudware!"
cruft: /kruhft/ [back-formation from {crufty}] 1. n. An
unpleasant substance. The dust that gathers under your bed is
cruft; the TMRC Dictionary correctly noted that attacking it with a
broom only produces more. 2. n. The results of shoddy
construction. 3. vt. [from `hand cruft', pun on `hand craft'] To
write assembler code for something normally (and better) done by a
compiler (see {hand-hacking}). 4. n. Excess; superfluous junk.
Esp. used of redundant or superseded code.
cruft together: vt. (also `cruft up'To throw together
something ugly but temporarily workable. Like vt. {kluge up},
but more pejorative. "There isn't any program now to reverse all
the lines of a file, but I can probably cruft one together in about
10 minutes." See {hack together}, {hack up}, {kluge up},
{crufty}.
cruftsmanship: /kruhfts'm*n-ship / n. [from {cruft}] The
antithesis of craftsmanship.
crufty: /kruhf'tee/ [origin unknown; poss. from `crusty' or
`cruddy'] adj. 1. Poorly built, possibly over-complex. The
{canonical} example is "This is standard old crufty DEC
software". In fact, one fanciful theory of the origin of `crufty'
holds that was originally a mutation of `crusty' applied to DEC
software so old that the `s' characters were tall and skinny, looking
more like `f' characters. 2. Unpleasant, especially to the touch,
often with encrusted junk. Like spilled coffee smeared with peanut
butter and catsup. 3. Generally unpleasant. 4. (sometimes spelled
`cruftie'n. A small crufty object (see {frob}); often one
that doesn't fit well into the scheme of things. "A LISP property
list is a good place to store crufties (or, collectively,
{random} cruft)."
crumb: n. Two binary digits; a {quad}. Larger than a {bit},
smaller than a {nybble}. Considered silly. Syn. {tayste}.
crunch: 1. vi. To process, usually in a time-consuming or
complicated way. Connotes an essentially trivial operation that is
nonetheless painful to perform. The pain may be due to the
triviality's being embedded in a loop from 1 to 1,000,000,000.
"FORTRAN programs do mostly {number-crunching}." 2. vt. To
reduce the size of a file by a complicated scheme that produces bit
configurations completely unrelated to the original data, such as
by a Huffman code. (The file ends up looking like a paper document
would if somebody crunched the paper into a wad.) Since such
compression usually takes more computations than simpler methods
such as run-length encoding, the term is doubly appropriate. (This
meaning is usually used in the construction `file crunch(ing)' to
distinguish it from {number-crunching}.) See {compress}.
3. n. The character `#'. Used at XEROX and CMU, among other
places. See {{ASCII}}. 4. vt. To squeeze program source into a
minimum-size representation that will still compile or execute.
The term came into being specifically for a famous program on the
BBC micro that crunched BASIC source in order to make it run more
quickly (it was a wholly interpretive BASIC, so the number of
characters mattered). {Obfuscated C Contest} entries are often
crunched; see the first example under that entry.
cruncha cruncha cruncha: /kruhn'ch* kruhn'ch* kruhn'ch*/ interj.
An encouragement sometimes muttered to a machine bogged down in a
serious {grovel}. Also describes a notional sound made by
groveling hardware. See {wugga wugga}, {grind} (sense 3).
cryppie: /krip'ee/ n. A cryptographer. One who hacks or implements
cryptographic software or hardware.
CTSS: /C-T-S-S/ n. Compatible Time-Sharing System. An early
(1963) experiment in the design of interactive time-sharing
operating systems, ancestral to {{Multics}}, {{UNIX}}, and
{{ITS}}. The name {{ITS}} (Incompatible Time-sharing System)
was a hack on CTSS, meant both as a joke and to express some basic
differences in philosophy about the way I/O services should be
presented to user programs.
CTY: /sit'ee/ or /C-T-Y/ n. [MIT] The terminal physically
associated with a computer's system {{console}}. The term is a
contraction of `Console {tty}', that is, `Console TeleTYpe'.
This {{ITS}}- and {{TOPS-10}}-associated term has become less
common, as most UNIX hackers simply refer to the CTY as `the
console'.
cube: n. 1. [short for `cubicle'] A module in the open-plan
offices used at many programming shops. "I've got the manuals in
my cube." 2. A NeXT machine (which resembles a matte-black cube).
cubing: [parallel with `tubing'] vi. 1. Hacking on an IPSC (Intel
Personal SuperComputer) hypercube. "Louella's gone cubing
*again*!!" 2. Hacking Rubik's Cube or related puzzles,
either physically or mathematically. 3. An indescribable form of
self-torture (see sense 1 or #2).
cursor dipped in X: n. There are a couple of metaphors in English
of the form `pen dipped in X' (perhaps the most common values of X
are `acid', `bile', and `vitriol'. These map over neatly to this
hackish usage (the cursor being what moves, leaving letters behind,
when one is composing on-line). "Talk about a {nastygram}! He
must've had his cursor dipped in acid when he wrote that one!"
cuspy: /kuhs'pee/ [WPI: from the DEC acronym CUSP, for `Commonly
Used System Program', i.e., a utility program used by many people]
adj. 1. (of a program) Well-written. 2. Functionally excellent. A
program that performs well and interfaces well to users is cuspy.
See {rude}. 3. [NYU] Said of an attractive woman, especially one
regarded as available. Implies a certain curvaceousness.
cut a tape: [poss. fr. mainstream `cut a check' or from the
recording industry's `cut a record'] vi. To write a software or
document distribution on magnetic tape for shipment. Has nothing
to do with physically cutting the medium! Though this usage is
quite widespread, one never speaks of analogously `cutting a disk'
or anything else in this sense.
cybercrud: /si:'ber-kruhd/ [coined by Ted Nelson] n. Obfuscatory
tech-talk. Verbiage with a high {MEGO} factor. The computer
equivalent of bureaucratese.
cyberpunk: /si:'ber-puhnk/ [orig. by SF writer Bruce Bethke and/or
editor Gardner Dozois] n.,adj. A subgenre of SF launched in 1982
by William Gibson's epoch-making novel `Neuromancer' (though
its roots go back through Vernor Vinge's `True Names' (see
the Bibliography) to John Brunner's 1975 novel `The Shockwave
Rider'. Gibson's near-total ignorance of computers and the
present-day hacker culture enabled him to speculate about the role
of computers and hackers in the future in ways hackers have since
found both irritatingly na"ive and tremendously stimulating.
Gibson's work was widely imitated, in particular by the short-lived
but innovative "Max Headroom" TV series. See {cyberspace},
{ice}, {go flatline}.
cyberspace: /si:'ber-spays/ n. 1. Notional `information-space'
loaded with visual cues and navigable with brain-computer
interfaces called `cyberspace decks'; a characteristic prop of
{cyberpunk} SF. At the time of this writing (mid-1991),
serious efforts to construct {virtual reality} interfaces
modeled explicitly on Gibsonian cyberspace are already under way,
using more conventional devices such as glove sensors and binocular
TV headsets. Few hackers are prepared to deny outright the
possibility of a cyberspace someday evolving out of the network
(see {network, the}). 2. Occasionally, the metaphoric location
of the mind of a person in {hack mode}. Some hackers report
experiencing strong eidetic imagery when in hack mode;
interestingly, independent reports from multiple sources suggest
that there are common features to the experience. In particular,
the dominant colors of this subjective `cyberspace' are often
gray and silver, and the imagery often involves constellations of
marching dots, elaborate shifting patterns of lines and angles, or
moire patterns.
cycle: 1. n. The basic unit of computation. What every hacker
wants more of (noted hacker Bill Gosper describes himself as a
"cycle junkie"). One can describe an instruction as taking so
many `clock cycles'. Often the computer can access its
memory once on every clock cycle, and so one speaks also of
`memory cycles'. These are technical meanings of {cycle}. The
jargon meaning comes from the observation that there are only so
many cycles per second, and when you are sharing a computer the
cycles get divided up among the users. The more cycles the
computer spends working on your program rather than someone else's,
the faster your program will run. That's why every hacker wants
more cycles: so he can spend less time waiting for the computer to
respond. 2. By extension, a notional unit of *human* thought
power, emphasizing that lots of things compete for the typical
hacker's think time. "I refused to get involved with the Rubik's
Cube back when it was big. Knew I'd burn too many cycles on it if
I let myself." 3. vt. Syn. {bounce}, {120 reset}; from the
phrase `cycle power'. "Cycle the machine again, that serial port's
still hung."
cycle crunch: n. A situation where the number of people trying to
use the computer simultaneously has reached the point where no one
can get enough cycles because they are spread too thin and the
system has probably begun to {thrash}. This is an inevitable
result of Parkinson's Law applied to timesharing. Usually the only
solution is to buy more computer. Happily, this has rapidly become
easier in recent years, so much so that the very term `cycle
crunch' now has a faintly archaic flavor; most hackers now use
workstations or personal computers as opposed to traditional
timesharing systems.
cycle drought: n. A scarcity of cycles. It may be due to a {cycle
crunch}, but it could also occur because part of the computer is
temporarily not working, leaving fewer cycles to go around.
"The {high moby} is {down}, so we're running with only
half the usual amount of memory. There will be a cycle drought
until it's fixed."
cycle of reincarnation: [coined by Ivan Sutherland ca. 1970] n.
Term used to refer to a well-known effect whereby function in a
computing system family is migrated out to special-purpose
peripheral hardware for speed, then the peripheral evolves toward
more computing power as it does its job, then somebody notices that
it is inefficient to support two asymmetrical processors in the
architecture and folds the function back into the main CPU, at
which point the cycle begins again. Several iterations of this
cycle have been observed in graphics-processor design, and at least
one or two in communications and floating-point processors. Also
known as `the Wheel of Life', `the Wheel of Samsara', and other
variations of the basic Hindu/Buddhist theological idea.
cycle server: n. A powerful machine that exists primarily for
running large {batch} jobs. Implies that interactive tasks such as
editing are done on other machines on the network, such as
workstations.
= D =
D. C. Power Lab: n. The former site of {{SAIL}}. Hackers thought
this was very funny because the obvious connection to electrical
engineering was nonexistent --- the lab was named for a Donald C.
Power. Compare {Marginal Hacks}.
daemon: /day'mn/ or /dee'mn/ [from the mythological meaning,
later rationalized as the acronym `Disk And Execution MONitor'] n.
A program that is not invoked explicitly, but lies dormant waiting
for some condition(s) to occur. The idea is that the perpetrator
of the condition need not be aware that a daemon is lurking (though
often a program will commit an action only because it knows that it
will implicitly invoke a daemon). For example, under {{ITS}}
writing a file on the {LPT} spooler's directory would invoke the
spooling daemon, which would then print the file. The advantage is
that programs wanting (in this example) files printed need not
compete for access to the {LPT}. They simply enter their
implicit requests and let the daemon decide what to do with them.
Daemons are usually spawned automatically by the system, and may
either live forever or be regenerated at intervals. Daemon and
{demon} are often used interchangeably, but seem to have
distinct connotations. The term `daemon' was introduced to
computing by {CTSS} people (who pronounced it /dee'mon/) and
used it to refer to what ITS called a {dragon}. Although the
meaning and the pronunciation have drifted, we think this glossary
reflects current (1991) usage.
dangling pointer: n. A reference that doesn't actually lead
anywhere (in C and some other languages, a pointer that doesn't
actually point at anything valid). Usually this is because it
formerly pointed to something that has moved or disappeared. Used
as jargon in a generalization of its techspeak meaning; for
example, a local phone number for a person who has since moved to the
other coast is a dangling pointer.
Datamation: /day`t*-may'sh*n/ n. A magazine that many hackers
assume all {suit}s read. Used to question an unbelieved quote,
as in "Did you read that in `Datamation?'" It used to
publish something hackishly funny every once in a while, like the
original paper on {COME FROM} in 1973, but it has since become much
more exclusively {suit}-oriented and boring.
day mode: n. See {phase} (sense 1). Used of people only.
dd: /dee-dee/ [UNIX: from IBM {JCL}] vt. Equivalent to {cat}
or {BLT}. This was originally the name of a UNIX copy command
with special options suitable for block-oriented devices. Often
used in heavy-handed system maintenance, as in "Let's dd the root
partition onto a tape, then use the boot PROM to load it back on to
a new disk". The UNIX `dd(1)' was designed with a weird,
distinctly non-UNIXy keyword option syntax reminiscent of IBM
System/360 JCL (which had a similar DD command); though the command
filled a need, the interface design was clearly a prank. The
jargon usage is now very rare outside UNIX sites and now nearly
obsolete even there, as `dd(1)' has been {deprecated} for a
long time (though it has no exact replacement). Replaced by
{BLT} or simple English `copy'.
DDT: /D-D-T/ n. 1. Generic term for a program that assists in
debugging other programs by showing individual machine instructions
in a readable symbolic form and letting the user change them. In
this sense the term DDT is now archaic, having been widely
displaced by `debugger' or names of individual programs like
`dbx', `adb', `gdb', or `sdb'. 2. [ITS] Under
MIT's fabled {{ITS}} operating system, DDT (running under the alias
HACTRN) was also used as the {shell} or top level command
language used to execute other programs. 3. Any one of several
specific DDTs (sense 1) supported on early DEC hardware. The DEC
PDP-10 Reference Handbook (1969) contained a footnote on the first
page of the documentation for DDT which illuminates the origin of
the term:
Historical footnote: DDT was developed at MIT for the PDP-1
computer in 1961. At that time DDT stood for "DEC Debugging Tape".
Since then, the idea of an on-line debugging program has propagated
throughout the computer industry. DDT programs are now available
for all DEC computers. Since media other than tape are now
frequently used, the more descriptive name "Dynamic Debugging
Technique" has been adopted, retaining the DDT acronym. Confusion
between DDT-10 and another well known pesticide,
dichloro-diphenyl-trichloroethane (C14-H9-Cl5) should be minimal
since each attacks a different, and apparently mutually exclusive,
class of bugs.
Sadly, this quotation was removed from later editions of the
handbook after the {suit}s took over and DEC became much more
`businesslike'.
de-rezz: /dee-rez'/ [from `de-resolve' via the movie "Tron"]
(also `derezƇ. vi. To disappear or dissolve; the image that goes
with it is of an object breaking up into raster lines and static
and then dissolving. Occasionally used of a person who seems to
have suddenly `fuzzed out' mentally rather than physically.
Usage: extremely silly, also rare. This verb was actually invented
as *fictional* hacker jargon, and adopted in a spirit of irony
by real hackers years after the fact. 2. vt. On a Macintosh, many
program structures (including the code itself) are managed in small
segments of the program file known as `resources'. The standard
resource compiler is Rez. The standard resource decompiler is
DeRez. Thus, decompiling a resource is `derezzing'. Usage: very
common.
dead code: n. Routines that can never be accessed because all calls
to them have been removed, or code that cannot be reached because
it is guarded by a control structure that provably must always
transfer control somewhere else. The presence of dead code may
reveal either logical errors due to alterations in the program or
significant changes in the assumptions and environment of the
program (see also {software rot}); a good compiler should report
dead code so a maintainer can think about what it means. Syn.
{grunge}.
DEADBEEF: /ded-beef/ n. The hexadecimal word-fill pattern for
freshly allocated memory (decimal -21524111) under a number of
IBM environments, including the RS/6000. As in "Your program is
DEADBEEF" (meaning gone, aborted, flushed from memory); if you
start from an odd half-word boundary, of course, you have
BEEFDEAD.
deadlock: n. 1. [techspeak] A situation wherein two or more
processes are unable to proceed because each is waiting for one of
the others to do something. A common example is a program
communicating to a server, which may find itself waiting for output
from the server before sending anything more to it, while the
server is similarly waiting for more input from the controlling
program before outputting anything. (It is reported that this
particular flavor of deadlock is sometimes called a `starvation
deadlock', though the term `starvation' is more properly used for
situations where a program can never run simply because it never
gets high enough priority. Another common flavor is
`constipation', where each process is trying to send stuff to
the other but all buffers are full because nobody is reading
anything.) See {deadly embrace}. 2. Also used of
deadlock-like interactions between humans, as when two people meet
in a narrow corridor, and each tries to be polite by moving aside
to let the other pass, but they end up swaying from side to side
without making any progress because they always both move the same
way at the same time.
deadly embrace: n. Same as {deadlock}, though usually used only when
exactly 2 processes are involved. This is the more popular term in
Europe, while {deadlock} predominates in the United States.
Death Star: [from the movie "Star Wars"] 1. The AT&T corporate
logo, which appears on computers sold by AT&T and bears an uncanny
resemblance to the `Death Star' in the movie. This usage is
particularly common among partisans of {BSD} UNIX, who tend to
regard the AT&T versions as inferior and AT&T as a bad guy. Copies
still circulate of a poster printed by Mt. Xinu showing a starscape
with a space fighter labeled 4.2 BSD streaking away from a broken
AT&T logo wreathed in flames. 2. AT&T's internal magazine,
`Focus', uses `death star' for an incorrectly done AT&T logo
in which the inner circle in the top left is dark instead of light
--- a frequent result of dark-on-light logo images.
DEC Wars: n. A 1983 {USENET} posting by Alan Hastings and Steve Tarr
spoofing the "Star Wars" movies in hackish terms. Some years
later, ESR (disappointed by Hastings and Tarr's failure to exploit a
great premise more thoroughly) posted a 3-times-longer complete
rewrite called "UNIX WARS"; the two are often confused.
DEChead: /dek'hed/ n. 1. A DEC {field servoid}. Not flattering.
2. [from `deadhead'] A Grateful Dead fan working at DEC.
deckle: /dek'l/ [from dec- and {nickle}] n. Two {nickle}s;
10 bits. Reported among developers for Mattel's GI 1600 (the
Intellivision games processor), a chip with 16-bit-wide RAM but
10-bit-wide ROM.
deep hack mode: n. See {hack mode}.
deep magic: [poss. from C. S. Lewis's "Narnia" books] n. An
awesomely arcane technique central to a program or system, esp. one
not generally published and available to hackers at large (compare
{black art}); one that could only have been composed by a true
{wizard}. Compiler optimization techniques and many aspects of
{OS} design used to be {deep magic}; many techniques in
cryptography, signal processing, graphics, and AI still are.
Compare {heavy wizardry}. Esp. found in comments of the form
"Deep magic begins here...". Compare {voodoo programming}.
deep space: n. 1. Describes the notional location of any program
that has gone {off the trolley}. Esp. used of programs that
just sit there silently grinding long after either failure or some
output is expected. "Uh oh. I should have gotten a prompt ten
seconds ago. The program's in deep space somewhere." Compare
{buzz}, {catatonic}, {hyperspace}. 2. The metaphorical
location of a human so dazed and/or confused or caught up in some
esoteric form of {bogosity} that he or she no longer responds
coherently to normal communication. Compare {page out}.
defenestration: [from the traditional Czechoslovak method of
assassinating prime ministers, via SF fandom] n. 1. Proper karmic
retribution for an incorrigible punster. "Oh, ghod, that was
*awful*!" "Quick! Defenestrate him!" 2. The act of
exiting a window system in order to get better response time from a
full-screen program. This comes from the dictionary meaning of
`defenestrate', which is to throw something out a window. 3. The
act of discarding something under the assumption that it will
improve matters. "I don't have any disk space left." "Well,
why don't you defenestrate that 100 megs worth of old core dumps?"
4. [proposed] The requirement to support a command-line interface.
"It has to run on a VT100." "Curses! I've been
defenestrated!"
defined as: adj. In the role of, usually in an organization-chart
sense. "Pete is currently defined as bug prioritizer." Compare
{logical}.
dehose: /dee-hohz/ vt. To clear a {hosed} condition.
delint: /dee-lint/ v. To modify code to remove problems detected
when {lint}ing.
delta: n. 1. [techspeak] A quantitative change, especially a small
or incremental one (this use is general in physics and
engineering). "I just doubled the speed of my program!" "What
was the delta on program size?" "About 30 percent." (He
doubled the speed of his program, but increased its size by only 30
percent.) 2. [UNIX] A {diff}, especially a {diff} stored
under the set of version-control tools called SCCS (Source Code
Control System) or RCS (Revision Control System). 3. n. A small
quantity, but not as small as {epsilon}. The jargon usage of
{delta} and {epsilon} stems from the traditional use of these
letters in mathematics for very small numerical quantities,
particularly in `epsilon-delta' proofs in limit theory (as in the
differential calculus). The term {delta} is often used, once
{epsilon} has been mentioned, to mean a quantity that is
slightly bigger than {epsilon} but still very small. "The cost
isn't epsilon, but it's delta" means that the cost isn't totally
negligible, but it is nevertheless very small. Common
constructions include `within delta of ---', `within epsilon of
---': that is, close to and even closer to.
demented: adj. Yet another term of disgust used to describe a
program. The connotation in this case is that the program works as
designed, but the design is bad. Said, for example, of a program
that generates large numbers of meaningless error messages,
implying that it is on the brink of imminent collapse. Compare
{wonky}, {bozotic}.
demigod: n. A hacker with years of experience, a national reputation,
and a major role in the development of at least one design, tool,
or game used by or known to more than half of the hacker community.
To qualify as a genuine demigod, the person must recognizably
identify with the hacker community and have helped shape it. Major
demigods include Ken Thompson and Dennis Ritchie (co-inventors of
{{UNIX}} and {C}) and Richard M. Stallman (inventor of
{EMACS}). In their hearts of hearts, most hackers dream of
someday becoming demigods themselves, and more than one major
software project has been driven to completion by the author's
veiled hopes of apotheosis. See also {net.god}, {true-hacker}.
demo: /de'moh/ [short for `demonstration'] 1. v. To demonstrate a
product or prototype. A far more effective way of inducing bugs to
manifest than any number of {test} runs, especially when
important people are watching. 2. n. The act of demoing.
demo mode: [Sun] n. 1. The state of being {heads down} in order
to finish code in time for a {demo}, usually due yesterday.
2. A mode in which video games sit there by themselves running
through a portion of the game, also known as `attract mode'.
Some serious {app}s have a demo mode they use as a screen saver,
or may go through a demo mode on startup (for example, the
Microsoft Windows opening screen --- which lets you impress your
neighbors without actually having to put up with {Microsloth
Windows}).
demon: n. 1. [MIT] A portion of a program that is not invoked
explicitly, but that lies dormant waiting for some condition(s) to
occur. See {daemon}. The distinction is that demons are
usually processes within a program, while daemons are usually
programs running on an operating system. Demons are particularly
common in AI programs. For example, a knowledge-manipulation
program might implement inference rules as demons. Whenever a new
piece of knowledge was added, various demons would activate (which
demons depends on the particular piece of data) and would create
additional pieces of knowledge by applying their respective
inference rules to the original piece. These new pieces could in
turn activate more demons as the inferences filtered down through
chains of logic. Meanwhile, the main program could continue with
whatever its primary task was. 2. [outside MIT] Often used
equivalently to {daemon} --- especially in the {{UNIX}} world,
where the latter spelling and pronunciation is considered mildly
archaic.
depeditate: /dee-ped'*-tayt/ [by (faulty) analogy with
`decapitate'] vt. Humorously, to cut off the feet of. When one is
using some computer-aided typesetting tools, careless placement of
text blocks within a page or above a rule can result in chopped-off
letter descenders. Such letters are said to have been depeditated.
deprecated: adj. Said of a program or feature that is considered
obsolescent and in the process of being phased out, usually in
favor of a specified replacement. Deprecated features can,
unfortunately, linger on for many years.
deserves to lose: adj. Said of someone who willfully does the
{Wrong Thing}; humorously, if one uses a feature known to be
{marginal}. What is meant is that one deserves the consequences
of one's {losing} actions. "Boy, anyone who tries to use
{mess-dos} deserves to {lose}!" ({{ITS}} fans used to say this
of {{UNIX}}; many still do.) See also {screw}, {chomp},
{bagbiter}.
desk check: n.,v. To {grovel} over hardcopy of source code,
mentally simulating the control flow; a method of catching bugs.
No longer common practice in this age of on-screen editing, fast
compiles, and sophisticated debuggers --- though some maintain
stoutly that it ought to be. Compare {eyeball search},
{vdiff}, {vgrep}.
Devil Book: n. `The Design and Implementation of the 4.3BSD
UNIX Operating System', by Samuel J. Leffler, Marshall Kirk
McKusick, Michael J. Karels, and John S. Quarterman (Addison-Wesley
Publishers, 1989) --- the standard reference book on the internals
of {BSD} UNIX. So called because the cover has a picture
depicting a little devil (a visual play on {daemon}) in
sneakers, holding a pitchfork (referring to one of the
characteristic features of UNIX, the {fork(2)} system call).
devo: /dee'voh/ [orig. in-house jargon at Symbolics] n. A person in a
development group. See also {doco} and {mango}.
dickless workstation: n. Extremely pejorative hackerism for
`diskless workstation', a class of botches including the Sun 3/50
and other machines designed exclusively to network with an
expensive central disk server. These combine all the disadvantages
of time-sharing with all the disadvantages of distributed personal
computers.
dictionary flame: [USENET] n. An attempt to sidetrack a debate
away from issues by insisting on meanings for key terms that
presuppose a desired conclusion or smuggle in an implicit premise.
A common tactic of people who prefer argument over definitions to
disputes about reality.
diddle: 1. vt. To work with or modify in a not particularly
serious manner. "I diddled a copy of {ADVENT} so it didn't
double-space all the time." "Let's diddle this piece of code and
see if the problem goes away." See {tweak} and {twiddle}.
2. n. The action or result of diddling. See also {tweak},
{twiddle}, {frob}.
diff: /dif/ n. 1. A change listing, especially giving differences
between (and additions to) source code or documents (the term is
often used in the plural `diffs'. "Send me your diffs for the
Jargon File!" Compare {vdiff}. 2. Specifically, such a listing
produced by the `diff(1)' command, esp. when used as
specification input to the `patch(1)' utility (which can
actually perform the modifications; see {patch}). This is a
common method of distributing patches and source updates in the
UNIX/C world. See also {vdiff}, {mod}.
digit: n. An employee of Digital Equipment Corporation. See also
{VAX}, {VMS}, {PDP-10}, {{TOPS-10}}, {DEChead}, {double
DECkers}, {field circus}.
dike: vt. To remove or disable a portion of something, as a wire
from a computer or a subroutine from a program. A standard slogan
is "When in doubt, dike it out". (The implication is that it is
usually more effective to attack software problems by reducing
complexity than by increasing it.) The word `dikes' is widely
used among mechanics and engineers to mean `diagonal cutters',
esp. a heavy-duty metal-cutting device, but may also refer to a
kind of wire-cutters used by electronics techs. To `dike
something out' means to use such cutters to remove something.
Indeed, the TMRC Dictionary defined dike as "to attack with
dikes". Among hackers this term has been metaphorically extended
to informational objects such as sections of code.
ding: n.,vi. 1. Synonym for {feep}. Usage: rare among hackers,
but commoner in the {Real World}. 2. `dinged': What happens
when someone in authority gives you a minor bitching about
something, esp. something trivial. "I was dinged for having a
messy desk."
dink: /dink/ n. Said of a machine that has the {bitty box}
nature; a machine too small to be worth bothering with --- sometimes
the system you're currently forced to work on. First heard from an
MIT hacker (BADOworking on a CP/M system with 64K, in reference
to any 6502 system, then from fans of 32-bit architectures about
16-bit machines. "GNUMACS will never work on that dink machine."
Probably derived from mainstream `dinky', which isn't sufficiently
pejorative.
dinosaur: n. 1. Any hardware requiring raised flooring and special
power. Used especially of old minis and mainframes, in contrast
with newer microprocessor-based machines. In a famous quote from
the 1988 UNIX EXPO, Bill Joy compared the mainframe in the massive
IBM display with a grazing dinosaur "with a truck outside pumping
its bodily fluids through it". IBM was not amused. Compare
{big iron}; see also {mainframe}. 2. [IBM] A very conservative
user; a {zipperhead}.
dinosaur pen: n. A traditional {mainframe} computer room complete with
raised flooring, special power, its own ultra-heavy-duty air
conditioning, and a side order of Halon fire extinguishers. See
{boa}.
dinosaurs mating: n. Said to occur when yet another {big iron}
merger or buyout occurs; reflects a perception by hackers that
these signal another stage in the long, slow dying of the
{mainframe} industry. In its glory days of the 1960s, it was
`IBM and the Seven Dwarves': Burroughs, Control Data, General
Electric, Honeywell, NCR, RCA, and Univac. RCA and GE sold out
early, and it was `IBM and the Bunch' (Burroughs, Univac, NCR,
Control Data, and Honeywell) for a while. Honeywell was bought out
by Bull; Burroughs merged with Univac to form Unisys (in 1984 --- this
was when the phrase `dinosaurs mating' was coined); and as this is
written AT&T is attempting to recover from a disastrously bad first
6 years in the hardware industry by absorbing NCR. More such
earth-shaking unions of doomed giants seem inevitable.
dirty power: n. Electrical mains voltage that is unfriendly to
the delicate innards of computers. Spikes, {drop-outs}, average
voltage significantly higher or lower than nominal, or just plain
noise can all cause problems of varying subtlety and severity.
Discordianism: /dis-kor'di-*n-ism/ n. The veneration of<