home *** CD-ROM | disk | FTP | other *** search
- From: eric@snark.thyrsus.com (Eric S. Raymond)
- Newsgroups: alt.folklore.computers,alt.sources,misc.misc
- Subject: The Jargon File v, part 4 of 17
- Message-ID: <1ZdTt9#7xjpwZ7Z3B033RbmV68XTmCQ=eric@snark.thyrsus.com>
- Date: 2 Mar 91 18:15:40 GMT
-
- 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
-