The Jargon File, Version 2.9.10, 01 Jul 1992

Part 11

Chapter 11 3,562 words Public domain Markdown

:cokebottle: /kohk'bot-l/ n. Any very unusual character, particularly one you can't type because it it isn't on your keyboard. MIT people used to complain about the `control-meta-cokebottle' commands at SAIL, and SAIL people complained right back about the `{altmode}-altmode-cokebottle' commands at MIT. After the demise of the {space-cadet keyboard}, `cokebottle' faded away as serious usage, but was often invoked humorously to describe an (unspecified) weird or non-intuitive keystroke command. It may be due for a second inning, however. The OSF/Motif window manager, `mwm(1)', has a reserved keystroke for switching to the default set of keybindings and behavior. This keystroke is (believe it or not) `control-meta-bang' (see {bang}). Since the exclamation point looks a lot like an upside down Coke bottle, Motif hackers have begun referring to this keystroke as `cokebottle'. See also {quadruple bucky}.

:cold boot: n. See {boot}.

:COME FROM: n. A semi-mythical language construct dual to the `go to'; `COME FROM' would cause the referenced label to act as a sort of trapdoor, so that if the program ever reached it control would quietly and {automagically} be transferred to the statement following the `COME FROM'. `COME FROM' was first proposed in R.L. Clark's "A Linguistic Contribution to GOTO-less programming", which appeared in a 1973 {Datamation} issue (and was reprinted in the April 1984 issue of `Communications of the ACM'). This parodied the then-raging `structured programming' {holy wars} (see {considered harmful}). Mythically, some variants are the `assigned COME FROM' and the `computed COME FROM' (parodying some nasty control constructs in FORTRAN and some extended BASICs). Of course, multi-tasking (or non-determinism) could be implemented by having more than one `COME FROM' statement coming from the same label.

In some ways the FORTRAN `DO' looks like a `COME FROM' statement. After the terminating statement number/`CONTINUE' is reached, control continues at the statement following the DO. Some generous FORTRANs would allow arbitrary statements (other than `CONTINUE') for the statement, leading to examples like:

DO 10 I=1,LIMIT C imagine many lines of code here, leaving the C original DO statement lost in the spaghetti... WRITE(6,10) I,FROB(I) 10 FORMAT(1X,I5,G10.4)

in which the trapdoor is just after the statement labeled 10. (This is particularly surprising because the label doesn't appear to have anything to do with the flow of control at all!)

While sufficiently astonishing to the unsuspecting reader, this form of `COME FROM' statement isn't completely general. After all, control will eventually pass to the following statement. The implementation of the general form was left to Univac FORTRAN, ca. 1975 (though a roughly similar feature existed on the IBM 7040 ten years earlier). The statement `AT 100' would perform a `COME FROM 100'. It was intended strictly as a debugging aid, with dire consequences promised to anyone so deranged as to use it in production code. More horrible things had already been perpetrated in production languages, however; doubters need only contemplate the `ALTER' verb in {COBOL}.

`COME FROM' was supported under its own name for the first time 15 years later, in C-INTERCAL (see {INTERCAL}, {retrocomputing}); knowledgeable observers are still reeling from the shock.

:comm mode: /kom mohd/ [ITS: from the feature supporting on-line chat; the term may spelled with one or two m's] Syn. for {talk mode}.

:command key: [Mac users] n. Syn. {feature key}.

:comment out: vt. To surround a section of code with comment delimiters or to prefix every line in the section with a comment marker; this prevents it from being compiled or interpreted. Often done when the code is redundant or obsolete, but you want to leave it in the source to make the intent of the active code clearer; also when the code in that section is broken and you want to bypass it in order to debug some other part of the code. Compare {condition out}, usually the preferred technique in languages (such as {C}) that make it possible.

:Commonwealth Hackish:: n. Hacker jargon as spoken outside the U.S., esp. in the British Commonwealth. It is reported that Commonwealth speakers are more likely to pronounce truncations like `char' and `soc', etc., as spelled (/char/, /sok/), as opposed to American /keir/ and /sohsh/. Dots in {newsgroup} names tend to be pronounced more often (so soc.wibble is /sok dot wib'l/ rather than /sohsh wib'l/). The prefix {meta} may be pronounced /mee't*/; similarly, Greek letter beta is often /bee't*/, zeta is often /zee't*/, and so forth. Preferred {metasyntactic variable}s include {blurgle}, `eek', `ook', `frodo', and `bilbo'; `wibble', `wobble', and in emergencies `wubble'; `banana', `wombat', `frog', {fish}, and so on and on (see {foo}, sense 4).

Alternatives to verb doubling include suffixes `-o-rama', `frenzy' (as in feeding frenzy), and `city' (examples: "barf city!" "hack-o-rama!" "core dump frenzy!"). Finally, note that the American terms `parens', `brackets', and `braces' for (), [], and {} are uncommon; Commonwealth hackish prefers `brackets', `square brackets', and `curly brackets'. Also, the use of `pling' for {bang} is common outside the United States.

See also {attoparsec}, {calculator}, {chemist}, {console jockey}, {fish}, {go-faster stripes}, {grunge}, {hakspek}, {heavy metal}, {leaky heap}, {lord high fixer}, {loose bytes}, {muddie}, {nadger}, {noddy}, {psychedelicware}, {plingnet}, {raster blaster}, {RTBM}, {seggie}, {spod}, {sun lounge}, {terminal junkie}, {tick-list features}, {weeble}, {weasel}, {YABA}, and notes or definitions under {Bad Thing}, {barf}, {bogus}, {bum}, {chase pointers}, {cosmic rays}, {crippleware}, {crunch}, {dodgy}, {gonk}, {hamster}, {hardwarily}, {mess-dos}, {nybble}, {proglet}, {root}, {SEX}, {tweak}, and {xyzzy}.

:compact: adj. Of a design, describes the valuable property that it can all be apprehended at once in one's head. This generally means the thing created from the design can be used with greater facility and fewer errors than an equivalent tool that is not compact. Compactness does not imply triviality or lack of power; for example, C is compact and FORTRAN is not, but C is more powerful than FORTRAN. Designs become non-compact through accreting {feature}s and {cruft} that don't merge cleanly into the overall design scheme (thus, some fans of {Classic C} maintain that ANSI C is no longer compact).

:compiler jock: n. See {jock} (sense 2).

:compress: [UNIX] vt. When used without a qualifier, generally refers to {crunch}ing of a file using a particular C implementation of compression by James A. Woods et al. and widely circulated via {USENET}; use of {crunch} itself in this sense is rare among UNIX hackers. Specifically, compress is built around the Lempel-Ziv-Welch algorithm as described in "A Technique for High Performance Data Compression", Terry A. Welch, `IEEE Computer', vol. 17, no. 6 (June 1984), pp. 8-19.

:Compu$erve: n. See {CI$}. The synonyms CompuSpend and Compu$pend are also reported.

:computer confetti: n. Syn. {chad}. Though this term is common, this use of punched-card chad is not a good idea, as the pieces are stiff and have sharp corners that could injure the eyes. GLS reports that he once attended a wedding at MIT during which he and a few other guests enthusiastically threw chad instead of rice. The groom later grumbled that he and his bride had spent most of the evening trying to get the stuff out of their hair.

:computer geek: n. One who eats (computer) bugs for a living. One who fulfills all the dreariest negative stereotypes about hackers: an asocial, malodorous, pasty-faced monomaniac with all the personality of a cheese grater. Cannot be used by outsiders without implied insult to all hackers; compare black-on-black usage of `nigger'. A computer geek may be either a fundamentally clueless individual or a proto-hacker in {larval stage}. Also called `turbo nerd', `turbo geek'. See also {propeller head}, {clustergeeking}, {geek out}, {wannabee}, {terminal junkie}, {spod}, {weenie}.

:computron: /kom'pyoo-tron`/ n. 1. A notional unit of computing power combining instruction speed and storage capacity, dimensioned roughly in instructions-per-second times megabytes-of-main-store times megabytes-of-mass-storage. "That machine can't run GNU EMACS, it doesn't have enough computrons!" This usage is usually found in metaphors that treat computing power as a fungible commodity good, like a crop yield or diesel horsepower. See {bitty box}, {Get a real computer!}, {toy}, {crank}. 2. A mythical subatomic particle that bears the unit quantity of computation or information, in much the same way that an electron bears one unit of electric charge (see also {bogon}). An elaborate pseudo-scientific theory of computrons has been developed based on the physical fact that the molecules in a solid object move more rapidly as it is heated. It is argued that an object melts because the molecules have lost their information about where they are supposed to be (that is, they have emitted computrons). This explains why computers get so hot and require air conditioning; they use up computrons. Conversely, it should be possible to cool down an object by placing it in the path of a computron beam. It is believed that this may also explain why machines that work at the factory fail in the computer room: the computrons there have been all used up by the other hardware. (This theory probably owes something to the "Warlock" stories by Larry Niven, the best known being "What Good is a Glass Dagger?", in which magic is fueled by an exhaustible natural resource called `mana'.)

:condition out: vt. To prevent a section of code from being compiled by surrounding it with a conditional-compilation directive whose condition is always false. The {canonical} examples are `#if 0' (or `#ifdef notdef', though some find this {bletcherous}) and `#endif' in C. Compare {comment out}.

:condom: n. 1. The protective plastic bag that accompanies 3.5-inch microfloppy diskettes. Rarely, also used of (paper) disk envelopes. Unlike the write protect tab, the condom (when left on) not only impedes the practice of {SEX} but has also been shown to have a high failure rate as drive mechanisms attempt to access the disk --- and can even fatally frustrate insertion. 2. The protective cladding on a {light pipe}.

:confuser: n. Common soundalike slang for `computer'. Usually encountered in compounds such as `confuser room', `personal confuser', `confuser guru'. Usage: silly.

:connector conspiracy: [probably came into prominence with the appearance of the KL-10 (one model of the {PDP-10}), none of whose connectors matched anything else] n. The tendency of manufacturers (or, by extension, programmers or purveyors of anything) to come up with new products that don't fit together with the old stuff, thereby making you buy either all new stuff or expensive interface devices. 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.

(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. The Apple Macintosh takes 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. 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. 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".

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.

:cooked mode: [UNIX] n. The normal character-input mode, with interrupts enabled and with erase, kill and other special-character interpretations done directly by the tty driver. Oppose {raw mode}, {rare mode}. This 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. 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}.

:copious free time: [Apple; orig. fr. the intro to Tom Lehrer's song "It Makes A Fellow Proud To Be A Soldier"] n. 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 (occasionally clever) methods for preventing incompetent pirates from stealing software and legitimate customers from using it. Considered silly.

:copybroke: /ko'pee-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.

: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 cancer: n. A process which 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, 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 {metasyntactic variable}, invented by Mike Gallaher and propagated by the {GOSMACS} documentation. See {grault}.