The name of a programming language designed by
Dennis Ritchie during the early 1970s and immediately used to
reimplement UNIX; so called because many features derived
from an earlier compiler named `B' in commemoration of
*its* parent, BCPL. Before Bjarne Stroustrup settled the
question by designing C++, there was a humorous debate over whether
C's successor should be named `D' or `P'. C became immensely
popular outside Bell Labs after about 1980 and is now the dominant
language in systems and microcomputer applications programming.
See also languages of choice, indent style.
C is often described, with a mixture of fondness and disdain
varying according to the speaker, as "a language that combines
all the elegance and power of assembly language with all the
readability and maintainability of assembly language".
C Programmer's Disease n. The tendency of the undisciplined C
programmer to set arbitrary but supposedly generous static limits
on table sizes (defined, if you're lucky, by constants in header
files) rather than taking the trouble to do proper dynamic storage
allocation. If an application user later needs to put 68 elements
into a table of size 50, the afflicted programmer reasons that he
or she can easily reset the table size to 68 (or even as much as
70, to allow for future expansion) and recompile. This gives the
programmer the comfortable feeling of having made the effort to
satisfy the user's (unreasonable) demands, and often affords the
user multiple opportunities to explore the marvelous consequences
of fandango on core. In severe cases of the disease, the
programmer cannot comprehend why each fix of this kind seems only
to further disgruntle the user.
can vt. To abort a job on a time-sharing system. Used esp.
when the person doing the deed is an operator, as in "canned from
the console". Frequently used in an imperative sense, as in
"Can that print job, the LPT just popped a sprocket!" Synonymous
with gun. It is said that the ASCII character with mnemonic
CAN (0011000) was used as a kill-job character on some early OSes.
Alternatively, this term may derive from mainstream slang
`canned' for being laid off or fired.
can't happen The traditional program comment for code executed
under a condition that should never be true, for example a file
size computed as negative. Often, such a condition being true
indicates data corruption or a faulty algorithm; it is almost
always handled by emitting a fatal error message and terminating or
crashing, since there is little else that can be done. Some case
variant of "can't happen" is also often the text emitted if the
`impossible' error actually happens! Although "can't happen"
events are genuinely infrequent in production code, programmers
wise enough to check for them habitually are often surprised at how
frequently they are triggered during development and how many
headaches checking for them turns out to head off. See also
firewall code (sense 2).
candygrammar n. A programming-language grammar that is mostly
syntactic sugar; the term is also a play on `candygram'.
COBOL, Apple's Hypertalk language, and a lot of the so-called
`4GL' database languages share this property. The usual intent
of such designs is that they be as English-like as possible, on the
theory that they will then be easier for unskilled people to
program. This intention comes to grief on the reality that syntax
isn't what makes programming hard; it's the mental effort and
organization required to specify an algorithm precisely that
costs. Thus the invariable result is that `candygrammar'
languages are just as difficult to program in as terser ones, and
far more painful for the experienced hacker.
[The overtones from the old Chevy Chase skit on Saturday Night Live
should not be overlooked. This was a "Jaws" parody.
Someone lurking outside an apartment door tries all kinds of bogus
ways to get the occupant to open up, while ominous music plays in
the background. The last attempt is a half-hearted "Candygram!"
When the door is opened, a shark bursts in and chomps the poor
occupant. There is a moral here for those attracted to
candygrammars. Note that, in many circles, pretty much the same
ones who remember Monty Python sketches, all it takes is the word
"Candygram!", suitably timed, to get people rolling on the
floor. --- GLS]
canonical [historically, `according to religious law'] adj. The
usual or standard state or manner of something. This word has a
somewhat more technical meaning in mathematics. Two formulas such
as 9 + x and x + 9 are said to be equivalent because
they mean the same thing, but the second one is in `canonical
form' because it is written in the usual way, with the highest
power of x first. Usually there are fixed rules you can use
to decide whether something is in canonical form. The jargon
meaning, a relaxation of the technical meaning, acquired its
present loading in computer-science culture largely through its
prominence in Alonzo Church's work in computation theory and
mathematical logic (see Knights Of The Lambda Calculus).
This word has an interesting history. Non-technical academics do
not use the adjective `canonical' in any of the senses defined
above with any regularity; they do however use the nouns `canon'
and `canonicity' (not **canonicalness or **canonicality). The
`canon' of a given author is the complete body of authentic works
by that author (this usage is familiar to Sherlock Holmes fans as
well as to literary scholars). `*The* canon' is the body of
works in a given field (e.g., works of literature, or of art, or of
music) deemed worthwhile for students to study and for scholars to
The word `canon' derives ultimately from the Greek
(akin to the English `cane') referring to a reed. Reeds were used
for measurement, and in Latin and later Greek the word `canon'
meant a rule or a standard. The establishment of a canon of
scriptures within Christianity was meant to define a standard or a
rule for the religion. The above non-techspeak academic usages
stem from this instance of a defined and accepted body of work.
Alongside this usage was the promulgation of `canons' (`rules')
for the government of the Catholic Church. The techspeak usages
("according to religious law") derive from this use of the Latin
Hackers invest this term with a playfulness that makes an ironic
contrast with its historical meaning. A true story: One Bob
Sjoberg, new at the MIT AI Lab, expressed some annoyance at the
incessant use of jargon. Over his loud objections, GLS and RMS
made a point of using as much of it as possible in his presence,
and eventually it began to sink in. Finally, in one conversation,
he used the word `canonical' in jargon-like fashion without
thinking. Steele: "Aha! We've finally got you talking jargon
too!" Stallman: "What did he say?" Steele: "Bob just used
`canonical' in the canonical way."
Of course, canonicality depends on context, but it is implicitly
defined as the way *hackers* normally expect things to be.
Thus, a hacker may claim with a straight face that `according to
religious law' is *not* the canonical meaning of `canonical'.
careware /keir'weir/ n. Shareware for which either the
author suggests that some payment be made to a nominated charity
or a levy directed to charity is included on top of the
distribution charge. Syn. charityware; compare
crippleware, sense 2.
cargo cult programming n. A style of (incompetent) programming
dominated by ritual inclusion of code or program structures that
serve no real purpose. A cargo cult programmer will usually
explain the extra code as a way of working around some bug
encountered in the past, but usually neither the bug nor the reason
the code apparently avoided the bug was ever fully understood
(compare shotgun debugging, voodoo programming).
The term `cargo cult' is a reference to aboriginal religions that
grew up in the South Pacific after World War II. The practices of
these cults center on building elaborate mockups of airplanes and
military style landing strips in the hope of bringing the return of
the god-like airplanes that brought such marvelous cargo during the
war. Hackish usage probably derives from Richard Feynman's
characterization of certain practices as "cargo cult science" in
his book "Surely You're Joking, Mr. Feynman" (W. W. Norton
& Co, New York 1985, ISBN 0-393-01921-7).
cascade n. 1. A huge volume of spurious error-message output
produced by a compiler with poor error recovery. Too frequently,
one trivial syntax error (such as a missing `)' or `}') throws the
parser out of synch so that much of the remaining program text is
interpreted as garbaged or ill-formed. 2. A chain of USENET
followups, each adding some trivial variation or riposte to the text
of the previous one, all of which is reproduced in the new message;
an include war in which the object is to create a sort of
case and paste [from `cut and paste'] n. 1. The addition of a new
feature to an existing system by selecting the code from an
existing feature and pasting it in with minor changes. Common in
telephony circles because most operations in a telephone switch are
selected using `case' statements. Leads to software bloat.
In some circles of EMACS users this is called `programming by
Meta-W', because Meta-W is the EMACS command for copying a block of
text to a kill buffer in preparation to pasting it in elsewhere.
The term is condescending, implying that the programmer is acting
mindlessly rather than thinking carefully about what is required to
integrate the code for two similar cases.
At DEC, this is sometimes called `clone-and-hack' coding.
casters-up mode [IBM, prob. fr. slang belly up] n. Yet another
synonym for `broken' or `down'. Usually connotes a major
failure. A system (hardware or software) which is `down' may be
already being restarted before the failure is noticed, whereas one
which is `casters up' is usually a good excuse to take the rest
of the day off (as long as you're not responsible for fixing
[techspeak] To spew an entire file to the screen or some other
output sink without pause.
By extension, to dump large amounts
of data at an unprepared target or with no intention of browsing it
carefully. Usage: considered silly. Rare outside UNIX sites. See
also dd, BLT.
Among UNIX fans, `cat(1)' is considered an excellent example
of user-interface design, because it delivers the file contents
without such verbosity as spacing or headers between the files, and
because it does not require the files to consist of lines of text,
but works with any sort of data.
Among UNIX haters, `cat(1)' is considered the canonical
example of *bad* user-interface design, because of its
woefully unobvious name. It is far more often used to blast a
file to standard output than to concatenate two files. The name
`cat' for the former operation is just as unintuitive as, say,
catatonic adj. Describes a condition of suspended animation in
which something is so wedged or hung that it makes no
response. If you are typing on a terminal and suddenly the
computer doesn't even echo the letters back to the screen as you
type, let alone do what you're asking it to do, then the computer
is suffering from catatonia (possibly because it has crashed).
"There I was in the middle of a winning game of nethack and it
went catatonic on me! Aaargh!" Compare buzz.
cd tilde /C-D til-d*/ vi. To go home. From the UNIX C-shell
and Korn-shell command `cd ~', which takes one to
one's `$HOME' (`cd' with no arguments happens to do the
same thing). By extension, may be used with other arguments; thus,
over an electronic chat link, `cd ~coffee' would
mean "I'm going to the coffee machine."
cdr /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the
first item from a list of things (generalized from the LISP
operation on binary tree structures, which returns a list
consisting of all but the first element of its argument). In the
form `cdr down', to trace down a list of elements: "Shall we
cdr down the agenda?" Usage: silly. See also loop through.
Historical note: The instruction format of the IBM 7090 that hosted
the original LISP implementation featured two 15-bit fields called
the `address' and `decrement' parts. The term `cdr' was originally
`Contents of Decrement part of Register'. Similarly, `car' stood
for `Contents of Address part of Register'.
The cdr and car operations have since become bases for
formation of compound metaphors in non-LISP contexts. GLS recalls,
for example, a programming project in which strings were
represented as linked lists; the get-character and skip-character
operations were of course called CHAR and CHDR.
The perforated edge strips on printer paper, after
they have been separated from the printed portion. Also called
selvage and perf.
obs. The confetti-like paper bits punched
out of cards or paper tape; this was also called `chaff', `computer
confetti', and `keypunch droppings'.
Historical note: One correspondent believes `chad' (sense 2)
derives from the Chadless keypunch (named for its inventor), which
cut little u-shaped tabs in the card to make a hole when the tab
folded back, rather than punching out a circle/rectangle; it was
clear that if the Chadless keypunch didn't make them, then the
stuff that other keypunches made had to be `chad'.
chad box n. A metal box about the size of a lunchbox (or in some
models a large wastebasket), for collecting the chad (sense 2)
that accumulated in Iron Age card punches. You had to open
the covers of the card punch periodically and empty the chad box.
The bit bucket was notionally the equivalent device in the CPU
enclosure, which was typically across the room in another great
[orig. from BASIC's `CHAIN' statement] vi. To hand
off execution to a child or successor without going through the
OS command interpreter that invoked it. The state of the
parent program is lost and there is no returning to it. Though
this facility used to be common on memory-limited micros and is
still widely supported for backward compatibility, the jargon usage
is semi-obsolescent; in particular, most UNIX programmers will
think of this as an exec. Oppose the more modern
A series of linked data areas within an
operating system or application. `Chain rattling' is the process
of repeatedly running through the linked data areas searching for
one which is of interest to the executing program. The implication
is that there is a very large number of links on the chain.
channel [IRC] n. The basic unit of discussion on IRC. Once
one joins a channel, everything one types is read by others on that
channel. Channels can either be named with numbers or with strings
that begin with a `#' sign and can have topic descriptions (which
are generally irrelevant to the actual subject of discussion).
Some notable channels are `i#initgame', `h#hottub', and
`r#report'. At times of international crisis, `r#report'
has hundreds of members, some of whom take turns listening to
various news services and typing in summaries of the news, or in
some cases, giving first-hand accounts of the action (e.g., Scud
missile attacks in Tel Aviv during the Gulf War in 1991).
channel hopping [IRC, GEnie] n. To rapidly switch channels on
IRC, or a GEnie chat board, just as a social butterfly might hop
from one group to another at a party. This term may derive from the TV
watcher's idiom, `channel surfing'.
channel op /chan'l op/ [IRC] n. Someone who is endowed with
privileges on a particular IRC channel; commonly abbreviated
`chanop' or `CHOP'. These privileges include the right to
kick users, to change various status bits, and to make others
vi. To go through multiple levels of
indirection, as in traversing a linked list or graph structure.
Used esp. by programmers in C, where explicit pointers are a very
common data type. This is techspeak, but it remains jargon when
used of human networks. "I'm chasing pointers. Bob said you
could tell me who to talk to about...." See dangling
pointer and snap.
[Cambridge] `pointer chase' or
`pointer hunt': The process of going through a core dump
(sense 1), interactively or on a large piece of paper printed with
hex runes, following dynamic data-structures. Used only in a
check n. A hardware-detected error condition, most commonly used
to refer to actual hardware failures rather than software-induced
traps. E.g., a `parity check' is the result of a
hardware-detected parity error. Recorded here because the word
often humorously extended to non-technical problems. For example,
the term `child check' has been used to refer to the problems
caused by a small child who is curious to know what happens when
s/he presses all the cute buttons on a computer's console (of
course, this particular problem could have been prevented with
chemist [Cambridge] n. Someone who wastes computer time on
number-crunching when you'd far rather the machine were doing
something more productive, such as working out anagrams of your
name or printing Snoopy calendars or running life patterns.
May or may not refer to someone who actually studies chemistry.
Chernobyl packet /cher-noh'b*l pak'*t/ n. A network packet that
induces a broadcast storm and/or network meltdown,
in memory of the April 1986 nuclear accident at Chernobyl
in Ukraine. The typical scenario involves an IP Ethernet datagram
that passes through a gateway with both source and destination
Ether and IP address set as the respective broadcast addresses for
the subnetworks being gated between. Compare Christmas Tree
chicken head [Commodore] n. The Commodore Business Machines logo,
which strongly resembles a poultry part. Rendered in ASCII as
`C='. With the arguable exception of the Amiga (see amoeba),
Commodore's machines are notoriously crocky little bitty boxes
(see also PETSCII). Thus, this usage may owe something to
Philip K. Dick's novel "Do Androids Dream of Electric Sheep?"
(the basis for the movie "Blade Runner"; the novel is now sold
under that title), in which a `chickenhead' is a mutant with
chiclet keyboard n. A keyboard with a small, flat rectangular or
lozenge-shaped rubber or plastic keys that look like pieces of
chewing gum. (Chiclets is the brand name of a variety of chewing
gum that does in fact resemble the keys of chiclet keyboards.)
Used esp. to describe the original IBM PCjr keyboard. Vendors
unanimously liked these because they were cheap, and a lot of early
portable and laptop products got launched using them. Customers
rejected the idea with almost equal unanimity, and chiclets are not
often seen on anything larger than a digital watch any more.
chine nual /sheen'yu-*l/ [MIT] n.,obs. The LISP Machine Manual, so
called because the title was wrapped around the cover so only those
letters showed on the front.
To reject input, often ungracefully. "NULs make System
V's `lpr(1)' choke." "I tried building an EMACS binary to
use X, but `cpp(1)' choked on all those `d#define's."
See barf, gag, vi.
[MIT] More generally, to fail at any
endeavor, but with some flair or bravado; the popular definition is
"to snatch defeat from the jaws of victory."
chomp vi. To lose; specifically, to chew on something of
which more was bitten off than one can. Probably related to
gnashing of teeth. See bagbiter.
A hand gesture commonly accompanies this. To perform it, hold the
four fingers together and place the thumb against their tips. Now
open and close your hand rapidly to suggest a biting action (much
like what Pac-Man does in the classic video game, though this
pantomime seems to predate that). The gesture alone means `chomp
chomp' (see "Verb Doubling" in the "Jargon Construction" section of the Prependices). The hand may be
pointed at the object of complaint, and for real emphasis you can
use both hands at once. Doing this to a person is equivalent to
saying "You chomper!" If you point the gesture at yourself, it
is a humble but humorous admission of some failure. You might do
this if someone told you that a program you had written had failed
in some surprising way and you felt dumb for not having anticipated
Christmas tree n. A kind of RS-232 line tester or breakout box
featuring rows of blinking red and green LEDs suggestive of
Christmas tree packet n. A packet with every single option set for
whatever protocol is in use. See kamikaze packet, Chernobyl Packet.
(The term doubtless derives from a fanciful image of each
little option bit being represented by a different-colored light
bulb, all turned on.)
chrome [from automotive slang via wargaming] n. Showy features
added to attract users but contributing little or nothing to
the power of a system. "The 3D icons in Motif are just chrome,
but they certainly are *pretty* chrome!" Distinguished from
bells and whistles by the fact that the latter are usually
added to gratify developers' own desires for featurefulness.
Often used as a term of contempt.
chug vi. To run slowly; to grind or grovel. "The disk is
chugging like crazy."
Church of the SubGenius n. A mutant offshoot of
Discordianism launched in 1981 as a spoof of fundamentalist
Christianity by the `Reverend' Ivan Stang, a brilliant satirist
with a gift for promotion. Popular among hackers as a rich source
of bizarre imagery and references such as "Bob" the divine
drilling-equipment salesman, the Benevolent Space Xists, and the
Stark Fist of Removal. Much SubGenius theory is concerned with the
acquisition of the mystical substance or quality of slack.
Cinderella Book [CMU] n. "Introduction to Automata Theory,
Languages, and Computation", by John Hopcroft and Jeffrey Ullman,
(Addison-Wesley, 1979). So called because the cover depicts a girl
(putatively Cinderella) sitting in front of a Rube Goldberg device
and holding a rope coming out of it. On the back cover, the device
is in shambles after she has (inevitably) pulled on the rope. See
also book titles.
CI$ // n. Hackerism for `CIS', CompuServe Information Service.
The dollar sign refers to CompuServe's rather steep line charges.
Often used in sig blocks just before a CompuServe address.
Classic C /klas'ik C/ [a play on `Coke Classic'] n. The
C programming language as defined in the first edition of K&R,
with some small additions. It is also known as `K&R C'. The name
came into use while C was being standardized by the ANSI X3J11
committee. Also `C Classic'.
An analogous construction is sometimes applied elsewhere: thus,
`X Classic', where X = Star Trek (referring to the original TV
series) or X = PC (referring to IBM's ISA-bus machines as opposed
to the PS/2 series). This construction is especially used of
product series in which the newer versions are considered serious
losers relative to the older ones.
clean 1. adj. Used of hardware or software designs, implies
`elegance in the small', that is, a design or implementation that
may not hold any surprises but does things in a way that is
reasonably intuitive and relatively easy to comprehend from the
outside. The antonym is `grungy' or crufty. 2. v. To remove
unneeded or undesired files in a effort to reduce clutter: "I'm
cleaning up my account." "I cleaned up the garbage and now have
100 Meg free on that partition."
clocks n. Processor logic cycles, so called because each
generally corresponds to one clock pulse in the processor's timing.
The relative execution times of instructions on a machine are
usually discussed in clocks rather than absolute fractions of a
second; one good reason for this is that clock speeds for various
models of the machine may increase as technology improves, and it
is usually the relative times one is interested in when discussing
the instruction set. Compare cycle.
An exact duplicate: "Our product is a clone of
their product." Implies a legal reimplementation from
documentation or by reverse-engineering. Also connotes lower
A shoddy, spurious copy: "Their product is a
clone of our product."
A blatant ripoff, most likely violating
copyright, patent, or trade secret protections: "Your
product is a clone of my product." This use implies legal
action is pending.
`PC clone:' a PC-BUS/ISA or
EISA-compatible 80x86-based microcomputer (this use is sometimes
spelled `klone' or `PClone'). These invariably have much
more bang for the buck than the IBM archetypes they resemble.
In the construction `UNIX clone': An OS designed to deliver
a UNIX-lookalike environment without UNIX license fees, or with
additional `mission-critical' features such as support for
v. To make an exact copy of something.
"Let me clone that" might mean "I want to borrow that paper so I
can make a photocopy" or "Let me get a copy of that file before
you mung it".
clustergeeking /kluh'st*r-gee`king/ [CMU] n. Spending more time
at a computer cluster doing CS homework than most people spend
COBOL /koh'bol/ [COmmon Business-Oriented Language] n.
(Synonymous with evil.) A weak, verbose, and flabby language
used by card wallopers to do boring mindless things on
dinosaur mainframes. Hackers believe that all COBOL
programmers are suits or code grinders, and no
self-respecting hacker will ever admit to having learned the
language. Its very name is seldom uttered without ritual
expressions of disgust or horror. See also fear and loathing,
COBOL fingers /koh'bol fing'grz/ n. Reported from Sweden, a
(hypothetical) disease one might get from coding in COBOL. The
language requires code verbose beyond all reason (see
candygrammar); thus it is alleged that programming too much in
COBOL causes one's fingers to wear down to stubs by the endless
typing. "I refuse to type in all that source code again; it would
give me COBOL fingers!"
A suit-wearing minion of the sort hired in
legion strength by banks and insurance companies to implement
payroll packages in RPG and other such unspeakable horrors. In its
native habitat, the code grinder often removes the suit jacket to
reveal an underplumage consisting of button-down shirt (starch
optional) and a tie. In times of dire stress, the sleeves (if
long) may be rolled up and the tie loosened about half an inch. It
seldom helps. The code grinder's milieu is about as far from
hackerdom as one can get and still touch a computer; the term
connotes pity. See Real World, suit.
Used of or to a
hacker, a really serious slur on the person's creative ability;
connotes a design style characterized by primitive technique,
rule-boundedness, brute force, and utter lack of imagination.
Compare card walloper; contrast hacker, real programmer.
code police [by analogy with George Orwell's `thought police'] n.
A mythical team of Gestapo-like storm troopers that might burst
into one's office and arrest one for violating programming style
rules. May be used either seriously, to underline a claim that a
particular style violation is dangerous, or ironically, to suggest
that the practice under discussion is condemned mainly by
anal-retentive weenies. "Dike out that goto or the code
police will get you!" The ironic usage is perhaps more common.
codes [scientific computing] n. Programs. This usage is common
in people who hack supercumputers and heavy-duty
number-crunching, rare to unknown elsewhere (if you say
"codes" to hackers outside scientific computing, their
first association is likely to be "and cyphers").
codewalker n. A program component that traverses other programs for
a living. Compilers have codewalkers in their front ends; so do
cross-reference generators and some database front ends. Other
utility programs that try to do too much with source code may turn
into codewalkers. As in "This new `vgrind' feature would require a
codewalker to implement."
coefficient of X n. Hackish speech makes heavy use of
pseudo-mathematical metaphors. Four particularly important
ones involve the terms `coefficient', `factor', `index', and
`quotient'. They are often loosely applied to things you cannot
really be quantitative about, but there are subtle distinctions
among them that convey information about the way the speaker
mentally models whatever he or she is describing.
`Foo factor' and `foo quotient' tend to describe something for
which the issue is one of presence or absence. The canonical
example is fudge factor. It's not important how much you're
fudging; the term simply acknowledges that some fudging is needed.
You might talk of liking a movie for its silliness factor.
Quotient tends to imply that the property is a ratio of two
opposing factors: "I would have won except for my luck quotient."
This could also be "I would have won except for the luck factor",
but using *quotient* emphasizes that it was bad luck
overpowering good luck (or someone else's good luck overpowering
`Foo index' and `coefficient of foo' both tend to imply
that foo is, if not strictly measurable, at least something that
can be larger or smaller. Thus, you might refer to a paper or
person as having a `high bogosity index', whereas you would be less
likely to speak of a `high bogosity factor'. `Foo index' suggests
that foo is a condensation of many quantities, as in the mundane
cost-of-living index; `coefficient of foo' suggests that foo is a
fundamental quantity, as in a coefficient of friction. The choice
between these terms is often one of personal preference; e.g., some
people might feel that bogosity is a fundamental attribute and thus
say `coefficient of bogosity', whereas others might feel it is a
combination of factors and thus say `bogosity index'.
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