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