The Jargon File v, part 4 of 17
Eric S. Raymond
eric at snark.thyrsus.com
Sun Mar 3 04:15:40 AEST 1991
Submitted-by: jargon at thyrsus.com
Archive-name: jargon/part04
---- Cut Here and feed the following to sh ----
#!/bin/sh
# this is jargon.04 (part 4 of jargon)
# do not concatenate these parts, unpack them in order with /bin/sh
# file jargon.ascii continued
#
if test ! -r _shar_seq_.tmp; then
echo 'Please unpack part 1 first!'
exit 1
fi
(read Scheck
if test "$Scheck" != 4; then
echo Please unpack part "$Scheck" next!
exit 1
else
exit 0
fi
) < _shar_seq_.tmp || exit 1
if test -f _shar_wnt_.tmp; then
sed 's/^X//' << 'SHAR_EOF' >> 'jargon.ascii' &&
X clearly very `stupid' in that it considers even obviously absurd
X routes (like going from Boston to Houston via San Francisco and New
X York, in that order). For small N it works well, but it rapidly
X becomes absurdly inefficient when N increases (for N=15, there are
X already 1,307,674,368,000 possible routes to consider, and for
X N=1000...well, see {bignum}). See also {NP-}.
X
X A more simple-minded example of brute-force programming is finding
X the smallest number in a large list by first using an existing
X program to sort the list in ascending order, and then picking the
X first number off the front.
X
X Note that whether brute-force programming should be considered
X stupid or not depends on the context; if the problem isn't too big,
X the extra CPU time spent on a brute-force solution may cost less
X than the programmer time it would take to develop a more
X `intelligent' algorithm. Alternatively, a more intelligent
X algorithm may imply more long-term complexity cost and bug-chasing
X than are justified by the speed improvement.
X
X Ken Thompson, co-inventor of UNIX, is reported to have uttered the
X epigram "When in doubt, use brute force". He probably intended
X this as a {ha ha only serious}, but the original UNIX kernel's
X preference for simple, robust, and portable algorithms over fragile
X `smart' ones does seem to have been a significant factor in the
X success of that OS. Like so many other tradeoffs in software
X design, the choice between brute force and complex, finely-tuned
X cleverness is often a difficult one that requires both engineering
X savvy and delicate esthetic judgement.
X
Xbrute force and ignorance: n. A popular design technique at many
X software houses --- {brute force} coding unrelieved by any
X knowledge of how problems have been previously solved in elegant
X ways. Dogmatic adherence to design methodologies tends to
X encourage it. Characteristic of early {larval stage} programming;
X unfortunately, many never outgrow it. Often abbreviated BFI, as
X in: "Gak, they used a bubble sort! That's strictly from BFI."
X Compare {bogosity}.
X
XBSD: /bee-ess-dee/ n. [acronym for Berkeley System Distribution] a
X family of {UNIX} versions for the DEC {VAX} developed by Bill
X Joy and others at University of California at Berkeley starting
X around 1980, incorporating paged virtual memory, TCP/IP networking
X enhancements and many other features. The BSD versions (4.1, 4.2,
X and 4.3) and commercial versions derived from them (SunOS, ULTRIX,
X and Mt. Xinu) held the technical lead in the UNIX world until
X AT&T's successful standardization efforts after about 1986, and are
X still widely popular. See {UNIX}, {USG UNIX}.
X
Xbubble sort: n. Techspeak for a particular sorting technique.
X Because it is not very good compared to other methods, and is the
X one typically stumbled on by {naive} and untutored programmers,
X hackers consider it the canonical example of a naive algorithm.
X The canonical example of a really *bad* algorithm is
X {bogo-sort}. A bubble sort might be used out of ignorance, but
X any use of bogo-sort could issue only from brain-damage or willful
X perversity.
X
Xbucky bits: /buh'kee bits/ [primarily Stanford] n. The bits
X produced by the CTRL, META, SUPER, and HYPER shift keys, esp. on a
X Stanford or MIT (Knight) keyboard (see {space-cadet keyboard}).
X By extension, bits associated with `extra' shift keys on any
X keyboard, e.g. the ALT on an IBM PC or command and option keys on a
X Macintosh.
X
X It is rumored that these were in fact named for Buckminster Fuller
X during a period when he was consulting at Stanford. Unfortunately,
X legend also has it that `Bucky' was Niklaus Wirth's nickname when
X *he* was consulting at Stanford and that he first suggested
X the idea of the meta key, so its bit was named after him. See
X {double bucky}, {quadruple bucky}.
X
Xbuffer overflow: n. What happens when you try to stuff more data
X into a buffer (holding area) than it can handle. This may be due
X to a mismatch in the processing rates of the producing and
X consuming processes (see {overrun}), or because the buffer is
X simply too small to hold all the data that needs to accumulate
X before a piece of it can be processed. For example, in a text
X processing tool that crunches newline-terminated lines, a short
X line buffer can result in {lossage} as input from a long line
X overflows the buffer and trashes data beyond it. See also
X {spam}, {overrun screw}.
X
Xbug: n. An unwanted and unintended property of a program or hardware,
X esp. one which causes it to malfunction. Antonym of {feature}.
X Examples: "There's a bug in the editor: it writes things out
X backwards." "The system crashed because of a hardware bug."
X "Fred is a winner, but he has a few bugs." (i.e., Fred is a good
X guy, but he has a few personality problems.)
X
X Some have said this term came from telephone company usage, in
X which "bugs in a telephone cable" were blamed for noisy lines,
X but this appears to be an incorrect folk etymology. Admiral Grace
X Hopper (an early computing pioneer better known for inventing
X {COBOL}) liked to tell a story in which a technician solved a
X persistent {glitch} in the Harvard Mark II machine by pulling an
X actual physical bug out from between the contacts of one of its
X relays, and she subsequently promulgated {bug} in its hackish
X sense as a joke about the incident (though, as she was careful to
X admit, she was not there when it happened). For many years the
X logbook associated with the incident and the actual bug in question
X (a moth) sat in a display case at the Naval Surface Warfare Center;
X it now resides in the Smithsonian. The entire story, with a
X picture of the logbook and the moth taped into it, is recorded in
X the Annals of the History of Computing, Volume 3, Number 3 (July
X 1981), on pages 285-286.
X
X Interestingly, the text of the log entry (from September 9th,
X 1945), which reads "1545 Relay #70 Panel F (moth) in relay. First
X actual case of bug being found", seems to establish that the term
X was already in use at the time. Indeed, the use of `bug' to mean
X an industrial defect was already established in Thomas Edison's
X time, and `bug' in the sense of an disruptive event goes back to
X Shakespeare! In the First Edition of Johnson's Dictionary one
X meaning of `bug' is "A frightful object; a walking spectre"; this
X is traced to `bugbear', a Welsh term for a variety of mythological
X monster which (to complete the circle) has recently been
X reintroduced into the popular lexicon through fantasy role-playing
X games.
X
X In any case, in jargon the word almost never refers to insects.
X Here is a plausible conversation that never actually happened:
X
X "There is a bug in this ant-farm!"
X
X "What do you mean? I don't see any ants in it."
X
X "That's the bug."
X
Xbug-compatible: n. Said of a design or revision the design of which
X has been badly compromised by a requirement to be compatible with
X {fossil}s or {misfeature}s in other programs or (esp.) previous
X releases of itself.
X
Xbug-for-bug compatible: n. Same as {bug-compatible}, with the
X additional implication that much tedious effort went into ensuring
X that each (known) bug was replicated.
X
Xbuglix: n. Pejorative term referring to DEC's ULTRIX operating
X system in its earlier *severely* buggy versions. Still used to
X describe ULTRIX but without venom. Compare {HP-SUX}.
X
Xbulletproof: adj. Used of an algorithm or implementation considered
X extremely {robust}; lossage-resistant; capable of correctly
X recovering from any imaginable exception condition. This is a rare
X and valued quality. Syn. {armor-plated}.
X
Xbum: 1. vt. To make highly efficient, either in time or space,
X often at the expense of clarity. "I managed to bum three more
X instructions out of that code." "I spent half the night bumming
X the interrupt code." 2. To squeeze out excess; to remove
X something in order to improve whatever it was removed from (without
X changing function; this distinguishes the process from a
X featurectomy). 3. n. A small change to an algorithm, program, or
X hardware device to make it more efficient. "This hardware bum
X makes the jump instruction faster." Usage: now uncommon, largely
X superseded by v. {tune} (and n. {tweak}, {hack}), though none
X of these exactly capture sense #2. Note that both these uses are
X rare in Commonwealth hackish, because in the parent dialects of
X English `bum' is interpreted as a rude synonym for `buttocks'.
X
Xbump: vt. Synonym for increment. Has the same meaning as C's ++
X operator. Used esp. of counter variables, pointers, and index
X dummies in `for', `while', and `do-while' loops.
X
Xburble: vi. Like {flame}, but connotes that the source is truly
X clueless and ineffectual (mere flamers can be competent). A term
X of deep contempt.
X
Xburn-in period: n. 1. A factory test designed to catch systems
X with {marginal} components before they get out the door; the
X theory is that burn-in will protect customers by outwaiting the
X steepest part of the {bathtub curve} (see {infant mortality}).
X 2. A period of indeterminate length in which a person using a
X computer is so intensely involved in his project that he forgets
X basic needs such as food, drink, sleep, sex, etc. See {hack
X mode}, {larval stage}.
X
Xbusy-wait: vi. 1. [techspeak] To wait on an event by {spin}ning
X through a tight or timed-delay loop that polls for the event on
X each pass, as opposed to setting up an interrupt handler and
X continuing execution on another part of the task. A wasteful
X technique, best avoided on time-sharing systems where a
X busy-waiting program may hog the processor. Syn. {spin-lock}.
X 2. May be used of human behavior to convey that one is busy
X waiting for someone or something and that one intends to move
X instantly as soon as it shows up (for example, if one is waiting at
X the office door of a person in conference); thus that one cannot do
X anything else at the moment.
X
Xbuzz: vi. 1. Of a program, to run with no indication of progress
X and perhaps without guarantee of ever finishing; esp. said of
X programs thought to be executing tight loops of code. A program
X which is buzzing appears to be {catatonic}, but you never get out
X of catatonia, while a buzzing loop may eventually end of its own
X accord. Example: "The program buzzes for about ten seconds trying
X to sort all the names into order." See {spin}; see also
X {grovel}. 2. [ETA Systems] To test a wire or printed circuit
X trace for continuity by applying an AC signal as opposed to
X applying a DC signal. Some wire faults will pass DC tests but fail
X a buzz test.
X
XBWQ: /bee duhb'l-yoo kyoo/ [IBM; acronym, Buzz Word Quotient] The
X percentage of buzzwords in a speech or documents. Usually roughly
X proportional to {bogosity}. See {TLA}.
X
Xby hand: adv. Said of an operation (especially a repetitive, trivial
X and/or tedious one) which ought to be performed automatically by
X the computer, but which a hacker instead has to step tediously
X through. "My mailer doesn't have a command to include the text of
X the message I'm replying to, so I have to do it by hand". Compare
X {eyeball search}.
X
Xbyte:: [techspeak] n. A unit of memory or data equal to the amount
X needed to represent one character; usually 8 bits, occasionally 9
X (on 36-bit machines). The term originated in 1956 during the early
X design phase for the IBM Stretch computer; originally it was
X described as one to six bits (typical I/O equipment of the period
X used 6-bit chunks of information). The move to an 8-bit byte
X happened in late 1956, and this size was later adopted and
X promulgated as a standard by the System/360. The term `byte'
X was coined by mutating the word `bite' so it would not be
X accidentally misspelt as {bit}. See also {nybble}.
X
Xbytesexual: /biet-seks'u- at l/ adj. Said of hardware, denotes
X willingness to compute or pass data in either {big-endian} or
X {little-endian} format (depending, presumably, on a {mode bit}
X somewhere). See also {NUXI problem}.
X
X= C =
X=====
X
XC: n. 1. The third letter of the Latin alphabet. 2. ASCII
X #b1000011. 3. The name of a programming language designed by
X Dennis Ritchie during the early 1970s and immediately used to
X re-implement {UNIX}. So called because many features derived
X from an earlier interpreter named `B' in commemoration of
X *its* parent, BCPL; before Bjarne Stroustrup settled the
X question by designing C++, there was a humorous debate over whether
X C's successor should be named `D' or `P'. C became immensely
X popular outside Bell Labs after about 1980 and is now the dominant
X language in systems and microcomputer applications programming.
X See also {languages of choice}, {indent style}.
X
X C is often described, with a mixture of fondness and disdain
X varying according to the speaker, as "a language which combines
X all the elegance and power of assembly language with the
X readability and maintainability of assembly language".
X
Xcalculator: [Cambridge] n. Syn. for {bitty box}.
X
Xcan: vt. To abort a job on a time-sharing system. Used esp. when the
X person doing the deed is an operator, as in "canned from the
X {{console}}". Frequently used in an imperative sense, as in "Can
X that print job, the LPT just popped a sprocket!". Synonymous with
X {gun}. It is said that the ASCII character with mnemonic CAN
X (#b0011000) was used as a kill-job character on some early OSs.
X
Xcanonical: [historically, `according to religious law'] adj. The
X usual or standard state or manner of something. This word has a
X somewhat more technical meaning in mathematics. For example, one
X sometimes speaks of a formula as being in canonical form. Two
X formulas such as `9 + x' and `x + 9' are said to be
X equivalent because they mean the same thing, but the second one is
X in canonical form because it is written in the usual way, with the
X highest power of `x' first. Usually there are fixed rules you
X can use to decide whether something is in canonical form. The
X jargon meaning is a relaxation of the technical meaning (this
X generalization is actually not confined to hackers, and may be
X found throughout academia). Compare {vanilla}.
X
X A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed
X some annoyance at the use of jargon. Over his loud objections, GLS
X and RMS made a point of using it as much as possible in his
X presence, and eventually it began to sink in. Finally, in one
X conversation, he used the word `canonical' in jargon-like fashion
X without thinking. Steele: "Aha! We've finally got you talking
X jargon too!" Stallman: "What did he say?" Steele: "Bob just
X used `canonical' in the canonical way."
X
X Of course, canonicality depends on context, but is implicitly
X defined as the way *hackers* normally do things. Thus, a
X hacker may claim with a straight face that "according to religious
X law" is *not* the canonical meaning of `canonical'.
X
Xcard: n. 1. An electronic printed-circuit board (see also {tall
X card}, {short card}. 2. obs. Syn. {{punched card}}.
X
Xcard walloper: n. An EDP programmer who grinds out batch programs
X that do stupid things like print people's paychecks. Compare
X {code grinder}. See also {{punched card}}, {eighty-column
X mind}.
X
Xcargo-cult programming: n. A style of (incompetent) programming
X dominated by ritual inclusion of code or program structures that
X serve no real purpose. A cargo-cult programmer will usually
X explain the extra code as a way of working around some bug
X encountered in the past, but usually neither the bug nor the
X reason the code avoided the bug were ever fully understood (compare
X {shotgun debugging}).
X
X The term cargo-cult is a reference to aboriginal religions that
X grew up in the South Pacific after World War II. The practices of
X these cults center on building elaborate mockups of airplanes and
X military style landing strips in the hope of bringing the return of
X the god-like airplanes that brought such marvelous cargo during the
X war. Hackish usage probably derives from Richard Feynman's
X characterization of certain practices as "cargo-cult science" in
X his book `Surely You're Joking, Mr. Feynman' (W. W Norton &
X Co, New York 1985, ISBN 0-393-01921-7).
X
Xcase and paste: [from `cut and paste'] n. 1. The addition of a new
X {feature} to an existing system by selecting the code from an
X existing feature and pasting it in with minor changes. Common in
X telephony circles because most operations in a telephone switch are
X selected using case statements. Leads to {software bloat}.
X
X In some circles of EMACS users this is called `programming by
X Meta-W', because Meta-W is the EMACS command for copying a block of
X text to a kill buffer in preparation to pasting it in elsewhere.
X The term is condescending, implying that the programmer is acting
X mindlessly rather than thinking carefully about what is required to
X integrate the code for two similar cases.
X
Xcasters-up mode: /cas'trz uhp mohd/ [IBM] n. Yet another synonym
X for `broken' or `down'.
X
Xcasting the runes: n. The act of getting a {guru} to run a particular
X program and type at it because it never works for anyone else; esp.
X used when nobody can ever see what the guru is doing different from
X what J. Random Luser does. Compare {incantation}, {runes},
X {examining the entrails}; also see the AI koan about Tom Knight
X in Appendix A.
X
Xcat: [from `catenate' via {UNIX} `cat(1)'] vt. 1.
X [techspeak] To spew an entire file to the screen or some other
X output sink without pause. 2. By extension, to dump large
X amounts of data at an unprepared target or with no intention of
X browsing it carefully. Usage: considered silly. Rare outside UNIX
X sites. See also {dd}, {BLT}.
X
X Among UNIX-haters, `cat(1)' is considered the {canonical}
X example of poor user-interface design. This because it is more
X often used to {blast} a file to standard output than to
X concatenate two files. The name `cat' for the former
X operation is just as unintuitive as, say, LISP's {cdr}.
X
Xcatatonic: adj. Describes a condition of suspended animation in
X which something is so {wedged} or {hung} that it makes no
X response. For example, if you are typing on a terminal and
X suddenly the computer doesn't even echo the letters back to the
X screen as you type, let alone do what you're asking it to do, then
X the computer is suffering from catatonia (possibly because it has
X crashed). Compare {buzz}.
X
Xcdr: /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the first
X item from a list of things (generalized from the LISP operation on
X binary tree structures). In the form `cdr down', to trace down
X a list of elements. "Shall we cdr down the agenda?" Usage:
X silly. See also {loop through}.
X
X Historical note: the instruction format of the IBM 7090 that hosted
X the original LISP implementation featured two 15-bit fields called
X the `address' and `decrement' parts. The term `cdr' was originally
X `Contents of Decrement part of Register'. Similarly, `car' stood
X for `Contents of Address part of Register'.
X
X The `cdr' and `car' operations have since become bases for
X formation of compound metaphors in non-LISP contexts. GLS recalls,
X for example, a programming project in which strings were
X represented as linked lists; the get-character and skip-character
X operations were of course called CHAR and CHDR.
X
Xchad: /chad/ n. 1. The perforated edge strips on printer paper, after
X they have been separated from the printed portion. Also called
X {selvage} and {perf}. 2. obs. The confetti-like paper bits punched
X out of cards or paper tape; this was also called `chaff', `computer
X confetti', and `keypunch droppings'.
X
X Historical note: one correspondent believes `chad' (sense #2)
X derives from the Chadless keypunch (named for its inventor), which
X cut little u-shaped tabs in the card to make a hole when the tab
X folded back, rather than punching out a circle/rectangle; it was
X clear that if the `Chadless' keypunch didn't make them, then the
X stuff that other keypunches made had to be `chad'.
X
Xchad box: n. {Iron Age} card punches contained boxes inside them,
X about the size of a lunchbox (or in some models a large
X wastebasket), that held the {chad} (squares of paper punched out
X of punch cards). You had to open the covers of the card punch
X periodically and empty the chad box. The {bit bucket} was
X notionally the equivalent device in the CPU enclosure, which was
X typically across the room in another great grey-and-blue box.
X
Xchain: [orig. from BASIC's CHAIN statement] vi. When used of
X programming languages, refers to a statement that allows a parent
X executable to hand off execution to a child or successor without
X going through the {OS} command interpreter. The state of the
X parent program is lost and there is no returning to it. Though
X this facility used to be common on memory-limited micros and is
X still widely supported for backward compatibility, the jargon usage
X is semi-obsolescent; in particular, most UNIX programmers will think
X of this as an {exec}. Oppose the more modern {subshell}.
X
Xchar: /keir/ or /char/; rarely, /kar/ n. Shorthand for `character'.
X Esp. used by C programmers, as `char' is C's typename for
X character data.
X
Xchase pointers: 1. vi. To go through multiple levels of
X indirection, as in traversing a linked list or graph structure.
X Used esp. by programmers in C, where explicit pointers are a very
X common data type. This is almost techspeak, but remains jargon when
X used of human networks. "I'm chasing pointers. Bob said you
X could tell me who to talk to about...." 2. [Cambridge]
X `pointer chase' or `pointer hunt': the process of going
X through a dump (interactively or on a large piece of paper printed
X with hex {runes}) following dynamic data-structures. Only used
X in a debugging context.
X
Xchemist: [Cambridge] n. Someone who wastes computer time on
X {number-crunching} when you'd far rather the machine were doing
X something more productive, such as working out anagrams of your
X name or printing Snoopy calendars or running {life} patterns.
X May or may not refer to someone who actually studies chemistry.
X
XChernobyl packet: /cher-noh'b at l pak'@t/ n. A network packet that
X induces {network meltdown} (the result of a {broadcast storm}),
X in memory of the 1987 nuclear accident at Chernobyl in the Ukraine.
X The typical case of this is an IP Ethergram that passes through a
X gateway with both source and destination Ether and IP address set
X as the respective broadcast addresses for the subnetworks being
X gated between. Compare {Christmas tree packet}.
X
Xchiclet keyboard: n. A keyboard with small rectangular or
X lozenge-shaped rubber or plastic keys that look like pieces of
X chewing gum (Chiclet is a brand-name and also the Spanish common
X noun for the stuff). Used esp. to describe the original IBM PCjr
X keyboard. Vendors unanimously liked these because they were cheap,
X and a lot of early portable and laptop products got launched using
X them. Customers rejected the idea with almost equal unanimity, and
X chiclets are not often seen on anything larger than a digital watch
X any more.
X
XChinese Army technique: n. Syn. {Mongolian Hordes technique}.
X
Xchoke: vt. To reject input, often ungracefully. "I tried building
X an {EMACS} binary to use {X}, but `cpp(1)' choked on all
X those `#define's." See {barf}, {gag}, {vi}.
X
Xchomp: vt. To lose; specifically, to chew on something of which
X more was bitten off than one can. Probably related to gnashing of
X teeth. See {bagbiter}. A hand gesture commonly accompanies
X this, consisting of the four fingers held together as if in a
X mitten or hand puppet, and the fingers and thumb open and close
X rapidly to illustrate a biting action (much like what the PacMan
X does in the classic video game, though this pantomime seems to
X predate that). The gesture alone means "chomp chomp" (see Verb
X Doubling). The hand may be pointed at the object of complaint, and
X for real emphasis you can use both hands at once. For example, to
X do this to a person is equivalent to saying "You chomper!" If
X you point the gesture at yourself, it is a humble but humorous
X admission of some failure. You might do this if someone told you
X that a program you had written had failed in some surprising way
X and you felt dumb for not having anticipated it.
X
Xchomper: n. Someone or something that is chomping; a loser. See
X {loser}, {bagbiter}, {chomp}.
X
XChristmas tree: n. A kind of RS-232 line tester or breakout box
X featuring rows of blinking red and green LEDs like Christmas
X lights.
X
XChristmas tree packet: n. A packet with every single option set for
X whatever protocol is in use. See {kamikaze packet}, {Chernobyl
X packet}.
X
Xchug: vi. To run slowly; to {grind} or {grovel}. "The disk is
X chugging like crazy."
X
Xchrome: [from automotive slang via wargaming] n. Showy features
X added to attract users but which contribute little or nothing to
X the power of a system. "The 3D icons in Motif are just chrome,
X but they certainly are `pretty' chrome!" Distinguished from
X {bells and whistles} by the fact that the latter are usually
X added to gratify developers' own desires for featurefulness.
X
XChurch of the Sub-Genius: n. A mutant offshoot of {Discordianism}
X launched in 1981 as a spoof of fundamentalist Christianity by the
X `Reverend' Ivan Stang, a brilliant satirist with a gift for
X promotion. Popular among hackers as a rich source of bizarre
X imagery and references such as: `Bob' the divine
X drilling-equipment salesman, the Benevolent Space Xists, and the
X Stark Fist of Removal. Much Sub-Genius theory is concerned with
X the acquisition of the mystical substance or quality of `slack'.
X See also {ha ha only serious}.
X
XCinderella Book: [CMU] n. `Introduction to Automata Theory,
X Languages, and Computation', by John Hopcroft and Jeffrey Ullman,
X Addison-Wesley, 1979. So-called because the cover depicts a girl
X (putatively Cinderella) sitting in front of a Rube Goldberg device
X and holding a rope from that device. The back cover depicts the
X girl with the Rube Goldberg in shambles after having pulled on the
X rope. See also {{book titles}}.
X
XCI$: n. Hackerism for `CIS', Compuserve Information Service. The
X dollar refers to CompuServe's rather steep line charges. Often
X used in {sig block}s just before a CompuServe address.
X
XClassic C: /klas'ik see/ [a play on `Coke Classic'] n. The C
X programming language as defined in the first edition of {K&R},
X with some small additions. It is also known as `K&R C'. The
X name came into use during the standardization process for C by the
X ANSI X3J11 committee. Also `C Classic'. This is sometimes
X applied elsewhere: thus, `X Classic' where X = Star Trek (referring
X to the original TV series), or X = PC (referring to IBM's ISA-bus
X machines as opposed to the PS/2 series). This construction is
X especially used of product series in which the newer versions are
X considered serious losers relative to the older ones.
X
Xclean: 1. adj. Used of hardware or software designs, implies
X `elegance in the small', that is, a design or implementation which
X may not hold any surprises but does things in a way that is
X reasonably intuitive and relatively easy to comprehend from the
X outside. The antonym is `grungy' or {crufty}. 2. v. To remove
X unneeded or undesired files in a effort to reduce clutter. "I'm
X cleaning up my account", or "I cleaned up the garbage and now have
X 100 Meg free on that partition".
X
XCLM: /see el em/ [Sun, `Career Limiting Move'] 1. n. An action
X endangering one's future prospects of getting plum projects and
X raises, also possibly one's job. "He used a {bubble sort}!
X What a CLM!" 2. adj. Denotes extreme severity of a bug,
X discovered by a customer and obviously due to poor testing:
X "That's a CLM bug!"
X
Xclobber: vt. To overwrite; usually unintentionally. As in "I
X walked off the end of the array and clobbered the stack." Compare
X {mung}, {scribble}, {trash}, and {smash the stack}.
X
Xclocks: n. Processor logic cycles, so called because each generally
X corresponds to one clock pulse in the processor's timing. The
X relative execution times of instructions on a machine are usually
X discussed in clocks rather than absolute fractions of a second.
X Compare {cycle}.
X
Xclone: n. 1. An exact duplicate, as in "Our product is a clone of
X their product." Implies a legal re-implementation from
X documentation or by reverse-engineering. Also connotes lower
X price. 2. A shoddy, spurious copy, as in "Their product is a
X clone of our product." 3. A blatant ripoff, most likely violating
X copyright, patent, or trade secret protections, as in "Your
X product is a clone of my product." This usage implies legal
X action is pending. 4. A `PC clone'; a PC-BUS/ISA or
X EISA-compatible 80x86 based microcomputer (this use is sometimes
X spelled `klone' or `PClone'). These invariably have much
X more bang for the buck than the IBM archetypes they resemble. 5.
X In the construction `UNIX clone': An OS designed to deliver a
X UNIX-lookalike environment sans UNIX license fees, or with
X additional `mission-critical' features such as support for
X real-time programming. 6. v. To make an exact copy of something.
X "Let me clone that" might mean "I want to borrow that paper so I
X can make a photocopy" or "Let me get a copy of that file before
X you {mung} it".
X
Xclustergeeking: /kluh'ster-gee`king/ [CMU] n. An activity defined by
X spending more time at a computer cluster doing CS homework than
X most people spend breathing.
X
XCOBOL: [COmmon Business-Oriented Language] n. Synonymous with
X {evil} --- a weak, verbose, and flabby language used by {card
X walloper}s to do boring mindless things on {dinosaur} mainframes.
X Hackers believe all COBOL programmers are {suit}s or {code
X grinder}s, and no self-respecting hacker will ever admit to having
X learned the language. Its very name is seldom uttered without
X ritual expressions of disgust or horror. See also {fear and
X loathing}, {software rot}.
X
XCOBOL fingers: /koh'bol fing'grs/ n. Reported from Sweden, a
X (hypothetical) disease one might get from programming in COBOL.
X The language requires code verbose beyond all reason. Programming
X too much in COBOL causes the fingers to wear down (by endless
X typing), until short stubs remain. This malformity is called
X `COBOL fingers'. "I refuse to type in all that source code
X again; it would give me COBOL fingers!"
X
Xcode grinder: n. 1. A {suit}-wearing minion of the sort hired in
X legion strength by banks and insurance companies to implement
X payroll packages in RPG and other such unspeakable horrors. In his
X native habitat, the code grinder often removes the suit jacket to
X reveal an underplumage consisting of button-down shirt (starch
X optional) and a tie. In times of dire stress, the sleeves (if
X long) may be rolled up and the tie loosened about half an inch. It
X seldom helps. The {code grinder}'s milieu is about as far from
X hackerdom as you can get and still touch a computer; the term
X connotes pity. See {Real World}, {suit}. 2. Used of or to a
X hacker, a really serious slur on the person's creative ability;
X connotes a design style characterized by primitive technique,
X rule-boundedness, and utter lack of imagination. Compare {card
X walloper}.
X
Xcode police: [by analogy with `thought police'] n. A mythical team
X of Gestapo-like storm troopers that might burst into one's office
X and arrest one for violating style rules. May be used either
X seriously, to underline a claim that a particular style violation
X is dangerous, or ironically, to suggest that the practice under
X discussion is condemned mainly by anal-retentive weenies. The
X ironic usage is perhaps more common.
X
Xcodewalker: n. A program component that traverses other programs for
X a living. Compilers have codewalkers in their front ends; so do
X cross-reference generators and some database front-ends. Other
X utility programs that try to do too much with source code may turn
X into codewalkers. As in "This new `vgrind' feature would require a
X codewalker to implement."
X
Xcoefficient of x: n. Hackish speech makes rather heavy use of
X pseudo-mathematical metaphors. Four particularly important ones
X involve the terms `coefficient', `factor', `index' and
X `quotient'. They are often loosely applied to things you
X cannot really be quantitative about, but there are subtle
X distinctions between them that convey information about the way the
X speaker mentally models whatever he or she is describing.
X
X `Foo factor' and `foo quotient' tend to describe something
X for which the issue is one of presence or absence. The canonical
X example is {fudge factor}. It's not important how much you're
X fudging; the term simply acknowledges that some fudging is needed.
X You might talk of liking a movie for its silliness factor.
X Quotient tends to imply that the property is a ratio of two
X opposing factors: "I would have won except for my luck quotient."
X This could also be, "I would have won except for the luck factor",
X but using *quotient* emphasizes that it was bad luck
X overpowering good luck.
X
X `Foo index' and `coefficient of foo' both tend to imply
X that foo is, if not strictly measurable, at least something that
X can be larger or smaller. Thus, you might refer to a paper or
X person as having a `high bogosity index', whereas you would be less
X likely to speak of a `high bogosity factor'. `Foo index' suggests
X that foo is a condensation of many quantities, as in the mundane
X cost-of-living index; `coefficient of foo' suggests that foo is a
X fundamental quantity, as in a coefficient of friction. The choice
X between these terms is often one of personal preference; e.g., some
X people might feel that bogosity is a fundamental attribute and thus
X say "coefficient of bogosity", whereas others might feel it is a
X combination of factors and thus say "bogosity index".
X
Xcokebottle: /kohk'bot-l/ n. Any very unusual character,
X particularly one that isn't on your keyboard so you can't type it.
X MIT people used to complain about the `control-meta-cokebottle'
X commands at SAIL, and SAIL people complained right back about the
X `altmode-altmode-cokebottle' commands at MIT. After the demise of
X the {space-cadet keyboard}, cokebottle faded away as serious
X usage, but was often invoked humorously to describe an
X (unspecified) weird or non-intuitive keystroke command. It may be
X due for a second inning, however. The OSF/Motif window manager,
X mwm, has a reserved keystroke for switching to the default set of
X keybindings and behavior. This keystroke is (believe it or not)
X `control-meta-bang' (see {bang}). Since the exclamation point
X looks a lot like an upside down coke bottle, Motif hackers have
X begun referring to this keystroke as cokebottle. See also
X {quadruple bucky}.
X
XCOME FROM: n. A semi-mythical language construct dual to the `go
X to'; COME FROM <label> would cause the referenced label to act as a
X sort of trapdoor, so that if the program ever reached it control
X would quietly and {automagically} be transferred to the statement
X following the COME FROM. COME FROM was first proposed in a
X {Datamation} article of December 1973 (reprinted in the April
X 1984 issue of Communications of the ACM) that parodied the
X then-raging `structured programming' {holy wars} (see
X {considered harmful}). Mythically, some variants are the
X `assigned come from', and the `computed come from'
X (parodying some nasty control constructs in FORTRAN and some
X extended BASICs). Obviously, multi-tasking (or non-determinism)
X could be implemented by having more than one COME FROM statement
X coming from the same label.
X
X In some ways the FORTRAN DO looks like a COME FROM statement.
X After the terminating label/CONTINUE is reached, control continues
X at the statement following the DO. Some generous FORTRANs would
X allow arbitrary statements (other than CONTINUE) for the
X label, leading to examples like this
X
X DO 10 I=1,LIMIT
X C imagine many lines of code here, leaving the original DO
X C statement lost in the spaghetti...
X WRITE(6,10) I,FROB(I)
X 10 FORMAT(1X,I5,G10.4)
X
X in which the trapdoor is just after the statement labelled 10.
X
X While sufficiently astonishing to the unsuspecting reader, this
X form of COME FROM statement isn't completely general. After all,
X control will eventually pass to the following statement. The
X implementation of the general form was left to Univac FORTRAN,
X c.1975. The statement `AT 100' would perform a `COME
X FROM 100'. It was intended strictly as a debugging aid, with dire
X consequences promised to anyone so deranged as to use it in
X production code. More horrible things had already been perpetrated
X in production languages, however; doubters need only contemplate
X COBOL's `ALTER' verb.
X
X COME FROM was supported under its own name for the first time
X fifteen years later, in C-INTERCAL (see {INTERCAL},
X {retrocomputing}); knowledgeable observers are still reeling from
X shock.
X
Xcommand key: [Mac users] n. The Macintosh key with the cloverleaf
X graphic on its keytop; sometimes referred to as `flower',
X `clover', `propellor', or `beanie' (an apparent reference to the
X propellor on a beanie). The Mac's equivalent to an {ALT} key.
X
Xcomm mode: /kom mohd/ [from the ITS feature supporting on-line
X chat, spelled with one or two Ms] Syn. for {talk mode}; also
X spelled `com mode'.
X
Xcomment out: vt. To surround a section of code with comment
X delimiters or to prefix every line in the section with a comment
X marker; this prevents it from being compiled or interpreted. Often
X done when the code is redundant or obsolete, but you want to leave
X it in the source to make the intent of the active code clearer;
X also when the code in that section is broken and you want to bypass
X it in order to debug some other part of the code. Compare
X {condition out}, usually the preferred technique in languages
X (like {C}) that make it possible.
X
XCommonwealth Hackish:: n. Hacker jargon as spoken outside the
X U.S., esp. in the British Commonwealth. It is reported that
X Commonwealth speakers are more likely to pronounce `char', `soc',
X etc. as spelled (/char/, /sok/) as opposed to American /keir/ or
X /sohsh/. Dots in {newsgroup} names tend to be pronounced more
X often (so soc.wibble is /sok dot wi'bble/ rather than /sohsh
X wib'ble/). The prefix {meta} may be pronounced /mee't at -/;
X similarly, Greek letter beta is often /bee't@/, zeta is often
X /zee't@/ and so forth. Preferred metasyntactic variables include
X EEK, OOK, FRODO, and BILBO; WIBBLE, WOBBLE, and in emergencies
X WUBBLE; BANANA, WOMBAT, FROG, {fish}, and so on and on (see
X {foo}, sense #4).
X
X Alternatives to verb doubling include suffixes `-o-rama',
X `frenzy' (as in feeding frenzy) and `city' (as in "barf
X city!" "hack-o-rama!" "core dump frenzy!"). Finally, note
X that the American terms `parens', `brackets', and `braces' for (),
X [], and {} are uncommon; Commonwealth hackish prefers
X `brackets', `square brackets', and `curly brackets'. Also, the
X use of `pling' for {bang} is common outside the United States.
X
X See also {attoparsec}, {calculator}, {chemist}, {console
X jockey}, {fish}, {grunge}, {hakspek}, {heavy metal},
X {leaky heap}, {lord high fixer}, {noddy},
X {psychedelicware}, {plingnet}, {raster blaster}, {seggie},
X {spin-lock}, {terminal junkie}, {tick-list features},
X {weeble}, {weasel}, {YABA}, and notes or definitions under
X {Bad Thing}, {barf}, {bogus}, {bum}, {chase pointers},
X {cosmic rays}, {crippleware}, {crunch}, {dodgy}, {gonk},
X {mess-dos}, {nybble}, {root}, {tweak}, and
X {xyzzy}.
X
Xcompact: adj. Of a design, describes the valuable property that it
X can all be apprehended at once in one's head. This generally means
X the thing created from the design can be used with greater facility
X and fewer errors than an equivalent tool that is not compact. Note
X that compactness does not imply triviality or lack of power; for
X example, C is compact and FORTRAN is not, but C is more powerful
X than FORTRAN. Designs become non-compact through accreting
X {feature}s and {cruft} that don't merge cleanly into the overall
X design scheme.
X
Xcompress: [UNIX] vt. When used without a qualifier, generally refers
X to {crunch}ing of a file using a particular C implementation of
X Lempel-Ziv compression by James A. Woods et al. and widely
X circulated via {USENET}. Use of {crunch} itself in this sense is
X rare among UNIX hackers.
X
Xcomputer confetti: n. Syn {chad}. Though this term is common,
X this use of the punched-card chad is not a good idea, as the pieces
X are stiff and have sharp corners that could injure the eyes. GLS
X reports that he once attended a wedding at MIT during which he and
X a few otherguests enthusiastically threw chad instead of rice. The
X groom later grumbled that he and his bride had spent most of the
X evening trying to get the stuff out of their hair.
X
Xcomputer geek: n. One who eats (computer) bugs for a living. One
X who fulfills all of the dreariest negative stereotypes about
X hackers: an asocial, malodorous, pasty-faced monomaniac with all
X the personality of a cheese grater. Cannot be used by outsiders
X without implied insult to all hackers; compare black-on-black usage
X of `nigger'. A computer geek may be either a fundamentally
X clueless individual or a proto-hacker in {larval stage}. Also
X called `turbo nerd', `turbo geek'. See also
X {clustergeeking}, {wannabee}, {terminal junkie}.
X
Xcomputron: /kom'pyoo-tron`/ n. 1. A notional unit of computing power
X combining instruction speed and storage capacity, dimensioned
X roughly in instructions-per-second times megabytes-of-main-store times
X megabytes-of-mass-storage. "That machine can't run GNU EMACS, it
X doesn't have enough computrons!" This usage is usually found in
X metaphors that treat computing power as a fungible commodity good
X like a crop yield or diesel horsepower. See {bitty box}, {Get a
X real computer!}, {toy}, {crank}. 2. A mythical subatomic particle
X that bears the unit quantity of computation or information, in much
X the same way that an electron bears one unit of electric charge
X (see {bogon}). An elaborate pseudo-scientific theory of computrons
X has been worked out based on the physical fact that the molecules
X in a solid object move more rapidly as it is heated. It is argued
X that an object melts because the molecules have lost their
X information about where they are supposed to be (that is, they have
X emitted computrons). This explains why computers get so hot and
X require air conditioning; they use up computrons. Conversely, you
X should be able to cool down an object by placing it in the path of
X a computron beam. It is believed that this may also explain why
X machines that work at the factory fail in the computer room ---
X because the computrons there have been all used up by your other
X hardware. (This may owe something to the group of fantasy stories
X by Larry Niven, beginning with `What Good is a Glass Dagger?',
X in which magic is fueled by an exhaustible natural resource called
X `mana').
X
Xcondition out: vt. To prevent a section of code from being compiled
X by surrounding it with a conditional-compilation directive whose
X condition is always false. The {canonical} example is
X `#if 0' and `#endif' in C. Compare {comment out}.
X
Xcondom: n. The protective plastic baggy that accompanies 3.5"
X microfloppy diskettes. Rarely, used of (paper) disk envelopes.
X Unlike the write protect, the condom (when left on) not only
X impedes the practice of {SEX}, it has been shown to have a high
X failure rate as drive mechanisms attempt to access the disk --- and
X can even fatally frustrate insertion!
X
Xconnector conspiracy: [probably came into prominence with the
X appearance of the KL-10, none of whose connectors matched anything
X else] n. The tendency of manufacturers (or, by extension,
X programmers or purveyors of anything) to come up with new products
X which don't fit together with the old stuff, thereby making you buy
X either all new stuff or expensive interface devices. The KL-10
X Massbus connector was actually *patented* by DEC, which
X then refused to license the design and thus effectively locked
X third parties out of competition for the lucrative Massbus
X peripherals market.
X
X In these latter days of open-systems computing this term has fallen
X somewhat into disuse, to be replaced by the observation that
X standards are great! There are so *many* of them. Compare
X {backward combatability}.
X
Xcons: /konz/ or /cons/ [from LISP] 1. v. To add a new element to a
X list, esp. at the top. 2. `cons up': vt. To synthesize from
X smaller pieces: "to cons up an example".
X
Xconsidered harmful: adj. Edsger W. Dijkstra's infamous March 1968
X Communications of the ACM note, `Goto Statement Considered
X Harmful', fired the first salvo in the `structured programming'
X wars. Amusingly, the ACM considered the resulting acrimony
X sufficiently harmful that they will (by policy) no longer print an
X article which takes up that assertive a position against a coding
X practice. In the ensuing decades, a large number of both serious
X papers and parodies have borne titles of the form `X considered Y'.
X The `structured programming' wars eventually blew over with the
X realization that both sides were wrong, but use of such titles has
X remained as a persistent minor in-joke (the `considered silly'
X found at various places in this lexicon is related).
X
Xconsole:: n. 1. The operator's station of a {mainframe}. In times
X past, this was a privileged location which conveyed godlike powers
X to him (almost invariably a `him') with his fingers on the keys. Under
X UNIX and other modern timesharing OSs, it is just the {tty} the system
X was booted from. Some of the mystique remains, however, and it is
X traditional for sysadmins to post urgent messages to all users from
X /dev/console. 2. On microcomputer UNIX boxes: the main screen and
X keyboard (as opposed to character-only terminals talking to a
X serial port). Typically only the console can do real graphics or
X run {X}. See also {CTY}.
X
Xconsole jockey: n. See {terminal junkie}.
X
Xcontent-free: adj. Ironic analogy with `context-free', used of a
X message that adds nothing to the recipient's knowledge. Though
X this adjective is sometimes applied to {flamage}, it more usually
X connotes derision for communication styles which exalt form over
X substance, or are centered on concerns irrelevant to the subject
X ostensibly at hand. Perhaps most used with reference to speeches
X by company presidents and like animals. "Content-free?
X Uh...that's anything printed on glossy paper". See also
X {four-color glossies}.
X
XConway's Law: prov. The rule that the organization of the software and
X the organization of the software team will be congruent; originally
X stated as "If you have four groups working on a compiler, you'll
X get a four-pass compiler."
X
X This was originally promulgated by Melvin Conway, an early
X proto-hacker who wrote an assembler for the Burroughs 220 called
X SAVE. The name `SAVE' didn't stand for anything; it was just that
X you lost fewer decks and listings because they all had SAVE written
X on top of them.
X
Xcookie: n. A handle, transaction ID, or other token of agreement
X between cooperating programs. "I give him a packet, he gives me
X back a cookie." Compare {magic cookie}; see also {fortune
X cookie}.
X
Xcookie file: n. A collection of {fortune cookie}s in a format
X that facilitates retrieval by a fortune program. There are several
X different ones in public distribution, and site admins often
X assemble their own from various sources including this lexicon.
X
Xcookie monster: [from `Sesame Street'] n. Any of a family of
X early (1970s) hacks reported on {TOPS-10}, {ITS}, {Multics},
X and elsewhere that would lock up either the victim's terminal (on a
X time-sharing machine) or the {{console}} (on a batch
X {mainframe}), repeatedly demanding "I WANT A COOKIE". The
X required responses ranged in complexity from "COOKIE" through
X "HAVE A COOKIE" and upward. See also {wabbit}.
SHAR_EOF
true || echo 'restore of jargon.ascii failed'
fi
echo 'End of part 4, continue with part 5'
echo 5 > _shar_seq_.tmp
exit 0
More information about the Alt.sources
mailing list