[misc.misc] The Jargon File v, part 4 of 17

eric@snark.thyrsus.com (Eric S. Raymond) (03/03/91)

Submitted-by: jargon@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-@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@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@-/;
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