The Jargon File, Version 4.0.0, 24 Jul 1996
Chapter 10
(A closely related phenomenon, with a slightly different intent, is the habit manufacturers have of inventing new screw heads so that only Designated Persons, possessing the magic screwdrivers, can remove covers and make repairs or install options. A good 1990s example is the use of Torx screws for cable-TV set-top boxes. Older Apple Macintoshes took this one step further, requiring not only a hex wrench but a specialized case-cracking tool to open the box.)
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 (text at http://www.acm.org/classics). 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: /adj./ [by analogy with techspeak `context-free'] 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. Compare {control-S}.
:control-Q: /vi./ "Resume." From the ASCII DC1 or {XON} character (the pronunciation /X-on/ is therefore also used), used to undo a previous {control-S}.
:control-S: /vi./ "Stop talking for a second." From the ASCII DC3 or XOFF character (the pronunciation /X-of/ is therefore also used). 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".
The law was named after 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.)
There is also Tom Cheatham's amendment of Conway's Law: "If a group of N persons implements a COBOL compiler, there will be N-1 passes. Someone in the group has to be the manager."
:cookbook: /n./ [from amateur electronics and radio] 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), also known as the {Blue Book} 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 function is analogous to the role of phrasebooks in human languages.
:cooked mode: /n./ [Unix, by opposition from {raw mode}] The normal character-input mode, with interrupts enabled and with erase, kill and other special-character interpretations performed directly by the tty driver. Oppose {raw mode}, {rare mode}. This term is techspeak under Unix but jargon elsewhere; other operating systems often have similar mode distinctions, and the raw/rare/cooked way of describing them has spread widely along with the C language and other Unix exports. Most generally, `cooked mode' may refer to any mode of a system that does extensive preprocessing before presenting data to a program.
: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. obs./ Original term, pre-Sesame-Street, for what is now universally called a {cookie monster}. A correspondent observes "In those days, hackers were actually getting their yucks from...sit down now...Andy Williams. Yes, *that* Andy Williams. Seems he had a rather hip (by the standards of the day) TV variety show. One of the best parts of the show was the recurring `cookie bear' sketch. In these sketches, a guy in a bear suit tried all sorts of tricks to get a cookie out of Williams. The sketches would always end with Williams shrieking (and I don't mean figuratively), `No cookies! Not now, not ever...NEVER!!!' And the bear would fall down. Great stuff."
:cookie file: /n./ A collection of {fortune cookie}s in a format that facilitates retrieval by a fortune program. There are several different cookie files in public distribution, and site admins often assemble their own from various sources including this lexicon.
:cookie jar: /n./ An area of memory set aside for storing {cookie}s. Most commonly heard in the Atari ST community; many useful ST programs record their presence by storing a distinctive {magic number} in the jar. Programs can inquire after the presence or otherwise of other programs by searching the contents of the jar.
:cookie monster: /n./ [from the children's TV program "Sesame Street"] 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. Folklorist Jan Brunvand (see {FOAF}) has described these programs as urban legends (implying they probably never existed) but they existed, all right, in several different versions. See also {wabbit}. Interestingly, the term `cookie monster' appears to be a {retcon}; the original term was {cookie bear}.
:copious free time: /n./ [Apple; orig. fr. the intro to Tom Lehrer's song "It Makes A Fellow Proud To Be A Soldier"] 1. [used ironically to indicate the speaker's lack of the quantity in question] A mythical schedule slot for accomplishing tasks held to be unlikely or impossible. Sometimes used to indicate that the speaker is interested in accomplishing the task, but believes that the opportunity will not arise. "I'll implement the automatic layout stuff in my copious free time." 2. [Archly] Time reserved for bogus or otherwise idiotic tasks, such as implementation of {chrome}, or the stroking of {suit}s. "I'll get back to him on that feature in my copious free time."
: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 methods for preventing incompetent pirates from stealing software and legitimate customers from using it. Considered silly.
:copybroke: /kop'ee-brohk/ /adj./ 1. [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}. 2. Copy-protected software which is unusable because of some bit-rot or bug that has confused the anti-piracy check. See also {copy protection}.
:copyleft: /kop'ee-left/ /n./ [play on `copyright'] 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: /kop'ee-rongd/ /adj./ [play on `copyright'] 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. Some varieties of Commonwealth hackish prefer {store}.
:core cancer: /n./ A process that exhibits a slow but inexorable resource {leak} -- like a cancer, it kills by crowding out productive `tissue'.
: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 (syn. {brain dump}), 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). 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 Sr., 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/ /n./ [originally, the name of a cat] Yet another {metasyntactic 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 one has 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." Compare {die}, {die horribly}, {scream and die}.
:cowboy: /n./ [Sun, from William Gibson's {cyberpunk} SF] Synonym for {hacker}. It is reported that at Sun this word is often said with reverence.
:CP/M:: /C-P-M/ /n./ [Control Program/Monitor; later {retcon}ned to 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}.
:crack root: /v./ To defeat the security system of a Unix machine and gain {root} privileges thereby; see {cracking}.
: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.
Use of both these neologisms reflects a strong revulsion against the theft and vandalism perpetrated by cracking rings. While it is expected that any real hacker will have done some playful cracking and knows many of the basic techniques, anyone past {larval stage} is expected to have outgrown the desire to do so except for immediate, benign, practical reasons (for example, if it's necessary to get around some security in order to get some work done).
Thus, there is far less overlap between hackerdom and crackerdom than the {mundane} reader misled by sensationalistic journalism might expect. Crackers tend to gather in small, tight-knit, very secretive groups that have little overlap with the huge, open poly-culture this lexicon describes; though crackers often like to describe *themselves* as hackers, most true hackers consider them a separate and lower form of life.
Ethical considerations aside, hackers figure that anyone who can't imagine a more interesting way to play with their computers than breaking into someone else's has to be pretty {losing}. Some other reasons crackers are looked down on are discussed in the entries on {cracking} and {phreaking}. See also {samurai}, {dark-side hacker}, and {hacker ethic}. For a portrait of the typical teenage cracker, see {warez d00dz}.
:cracking: /n./ The act of breaking into a computer system; what a {cracker} does. Contrary to widespread myth, this does not usually involve some mysterious leap of hackerly brilliance, but rather persistence and the dogged repetition of a handful of fairly well-known tricks that exploit common weaknesses in the security of target systems. Accordingly, most crackers are only mediocre hackers.
:crank: /vt./ [from automotive slang] 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."
:CrApTeX: /krap'tekh/ /n./ [University of York, England] Term of abuse used to describe TeX and LaTeX when they don't work (when used by TeXhackers), or all the time (by everyone else). The non-TeX-enthusiasts generally dislike it because it is more verbose than other formatters (e.g. {{troff}}) and because (particularly if the standard Computer Modern fonts are used) it generates vast output files. See {religious issues}, {{TeX}}.
:crash: 1. /n./ A sudden, usually drastic failure. Most often said of the {system} (q.v., sense 1), esp. of magnetic disk drives (the term originally described what happens when the air gap of a hard disk collapses). "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 (compare {die horribly}). 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./ 1. 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. 2. More specifically, a shortcoming of algorithms which are well behaved when run on gentle floating point hardware (such as IEEE-standard or DEC) but which break down badly when exposed to a Cray's unique `rounding' rules.
: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}.
:crayola books: /n./ The {rainbow series} of National Computer Security Center (NCSC) computer security standards (see {Orange Book}). Usage: humorous and/or disparaging.