Xref: utzoo alt.folklore.computers:10435 comp.misc:11775 Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!cs.utexas.edu!sun-barr!rutgers!cbmvax!snark!eric From: eric@snark.thyrsus.com (Eric S. Raymond) Newsgroups: alt.folklore.computers,comp.misc Subject: The Jargon File v2.8.1, 22 MAR 1991, part 4 of 19 Message-ID: <1ZsDxg#9O5HWP2XZR7Z07gXlz3DwJvC=eric@snark.thyrsus.com> Date: 22 Mar 91 23:38:44 GMT Lines: 962 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 See {{Pascal}}; oppose {languages of choice}. X Xbonk/oif: /bonk/, /oyf/ interj. In the {MUD} community, it has X become traditional to express pique or censure by `bonking' the X offending person. There is a convention that one should X acknowledge a bonk by saying `oif!' and a myth to the effect that X failing to do so upsets the cosmic bonk/oif balance, causing much X trouble in the universe. Some MUDs have implemented special X commands for bonking and oifing. See also {talk mode}, X {posing}. X Xbook titles:: There is a tradition in hackerdom of informally X tagging important textbooks and standards documents with the X dominant color of their covers or with some other conspicuous X feature of the cover. Many of these are described in this lexicon X under their own entries. X X See also {Blue Book}, {Red Book}, {Green Book}, {Silver X Book}, {Purple Book}, {Orange Book}, {White Book}, {Yellow X Book}, {Pink-Shirt Book}, {Aluminum Book}, {Dragon Book}, X {Wizard Book}, {Cinderella Book}. X Xboot: [techspeak; from `by one's bootstraps'] v.,n. To load and X initialize the operating system on a machine. This usage is no X longer jargon but has given rise to some derivatives which still X are. X X The derivative `reboot' implies that the machine hasn't been X down for long, even that the boot is a {bounce} intended to clear X some state of {wedgitude}. This is sometimes used of human X thought processes, as in the following exchange: "You've lost X me." "O.K., reboot. Here's the theory...." X X Also found in the variants `cold boot' (from power-off condition) X and `warm boot' (with the CPU and all devices already powered up, X as after a hardware reset or software crash). X X Another variant: `soft boot', re-initialization of only part of a X system, under control of other software that's still running: "If X you're running the {mess-dos} emulator, control-alt-insert will X cause a soft-boot of the emulator, while leaving the rest of the X system running." X X Opposed to this there is `hard boot', which connotes hostility X towards or frustration with the machine being booted. "I'll have X to hard-boot this losing Sun" or "I recommend booting it hard." X X Historical note: this term derives from `bootstrap loader', a short X program which was read in from cards or paper tape, or toggled in X from the front panel switches. This program was always very short X (great efforts were expended on making it short in order to X minimize the labor and chance of error involved in toggling it in), X but was just smart enough to read in a slightly more complex X program (usually from a card or paper tape reader), to which it X handed control; this program in turn was smart enough to read the X application or operating system from a magnetic tape drive or disk X drive. Thus, in successive steps, the computer "pulled itself up X by its bootstraps" to a useful operating state. Nowadays the X bootstrap is usually found in ROM or EPROM, and reads the first X stage in from a fixed location on the disk, called the `boot X block'. When this program gains control, it is powerful enough to X load the actual OS and hand control over to it. X Xbottom-up implementation: n. Hackish opposite of the techspeak term X `top-down design'. It is now received wisdom in most X programming cultures that it is best to design from higher levels X of abstraction down to lower, specifying sequences of action in X increasing detail until you get to actual code. Hackers often find X (especially in exploratory designs which cannot be closely X specified in advance) that it works best to `build' things in X the opposite order, by writing and testing a clean set of primitive X operations and then knitting them together. X Xbounce: v. 1. [UNIX, perhaps from the image of a thrown ball X bouncing off a wall] An electronic mail message which is X undeliverable and returns an error notification to the sender is X said to `bounce'. See also {bounce message}. 2. [Stanford] To X play volleyball. At the now-demolished DC Power building used by X the Stanford AI Lab in the 1970's there was a volleyball court on X the front lawn. From 5:00 PM to 7:00 PM was the scheduled X maintenance time for the computer, so every afternoon at 5:00 the X computer would become unavailable, and over the intercom a voice X would cry , "Now hear this: bounce, bounce!" followed by Brian X McCune loudly bouncing a volleyball on the floor outside the X offices of known volleyballers. 3. To engage in sexual X intercourse; prob. from the expression `bouncing the mattress', but X influenced by Piglet's psychosexually loaded "Bounce on me too, X Tigger!" from the Winnie-the-Pooh books. Compare {boink}. X 4. To casually reboot a system in order to clear up a transient X problem. Reported primarily among {VMS} users. 5. [IBM] To X {power cycle} a peripheral in order to reset it. X Xbounce message: [UNIX] n. Notification message returned to sender by X a site unable to relay {email} to the intended {{Internet address}} X recipient or the next link in a {bang path} (see {bounce}). X Reasons might include a nonexistent or misspelled username or a X down relay site. Bounce messages can themselves fail, with X occasionally ugly results; see {sorcerer's apprentice mode}. X The collective `bounce mail' is also common. X Xbox: n. 1. A computer; esp. in the construction "foo box" X where foo is some functional qualifier, like `graphics', or the X name of an OS (thus, `UNIX box', `MS-DOS box', etc. X 2. [within IBM] Without qualification but within an SNA-using site X (see {Blue Glue}), this refers specifically to an IBM front-end X processor or FEP /eff-ee-pee/. An FEP is a small computer X necessary to enable an IBM {mainframe} to communicate beyond the X limits of the {dinosaur pen}. Typically used in expressions like X the cry that goes up when an SNA network goes down, "Looks like X the {box} has fallen over." (see {fall over}.) See also X {IBM}, {fear and loathing}, {fepped out}, {Blue Glue}. X Xboxed comments: n. Comments (explanatory notes in code) which occupy X several lines by themselves; so called because in assembler and C X code they are often surrounded by a box in a style something like X this: X X /************************************************* X * X * This is a boxed comment in C style X * X *************************************************/ X X Common variants of this style omit the asterisks in column two or X add a matching row of asterisks closing the right end of the box. X The sparest variant omits all but the comment delimiters at X the extreme left; the `box' is implied. Oppose {winged X comments}. X Xboxen: /bok'sn/ [by analogy with {VAXen}] pl.n. Fanciful plural of X {box} often encountered in the phrase `UNIX boxen', used to X describe commodity {UNIX} hardware. The connotation is that any X two UNIX boxen are interchangeable. X Xboxology: /bok-sol'*-jee/ n. 1. The fine art of drawing diagrams X using the `box' characters (mainly, `|', `-', and X `+') in ASCII-monospace fonts. Also known as `character X graphics' or `ASCII graphics'. 2. Boxological drawings. X "His report has a lot of boxology in it". Compare {macrology}. X Xbozotic: /boh-zoh'tik/ [from a TV clown even more losing than X Ronald McDonald] adj. Resembling or having the quality of a bozo; X that is, clownish, ludicrously wrong, unintentionally humorous. X Compare {wonky}, {demented}. Note that the noun `bozo' occurs X in slang, but the mainstream adjectival form would be `bozo-like' X or (in New England) `bozoish'; the formation `bozotic' is hackish. X XBQS: /bee-kyoo-ess/ adj. Syn. {Berkeley Quality Software}. X Xbrain dump: n. The act of telling someone everything one knows X about a particular topic or project. Typically used when someone X is going to let a new party maintain a piece of code. Conceptually X analogous to an operating system {core dump} in that it saves a X lot of useful {state} before an exit. Example: "You'll have to X give me a brain dump on FOOBAR, before you start your new job at X HackerCorp." See {core dump} (sense #4). At Sun, this is also X known as `TOI' (transfer of information). X Xbrain-damaged: [generalization of `Honeywell Brain Damage' (HBD), a X theoretical disease invented to explain certain utter cretinisms X in Honeywell {Multics}] adj. Obviously wrong; {cretinous}; X {demented}. There is an implication that the person responsible X must have suffered brain damage, because he should have known X better. Calling something brain-damaged is really bad; it also X implies it is unusable, and that its failure to work is due to poor X design rather than some accident. X Xbrain-dead: adj. Brain-damaged in the extreme. Not quite like X mainstream use, as it tends to imply terminal design failure rather X than malfunction or simple stupidity. X Xbraino: /bray'no/ n. Syn. for {thinko}. X Xbranch to Fishkill: [IBM, from the location of one of their X facilities] n. Any unexpected jump in a program that produces X catastrophic or just plain weird results. See {jump off into X never-never land}, {hyperspace}. X Xbrand brand brand: n. Humorous catch-phrase from {BartleMUD}s, in which X players were described carrying a list of objects, the most X common of which would usually be a brand. Often used as a joke X in {talk mode} as in "Fred the wizard is here, carrying brand X ruby brand brand brand kettle broadsword flamethrower". Prob. X influenced by the infamous Monty Python `Spam' skit. X Xbreak: 1. vt. To cause to be broken (in any sense). "Your X latest patch to the editor broke the paragraph commands." 2. v. X (of a program) To stop temporarily, so that it may debugged. The X place where it stops is a "breakpoint". 3. [techspeak] vi. To X send an RS-232 break (125 msec. of line high) over a serial comm X line. 4. [UNIX] vi. To strike whatever key currently causes the X tty driver to send SIGINT to the current process. Normally break X (sense 3) or delete does this. X Xbreakage: 1. Brokenness and the consequent mess. 2. [IBM] n. X The extra people that must be added to an organization because its X master plan has changed; used esp. of software and hardware X development teams. X Xbreath-of-life packet: [XEROX PARC] n. An Ethernet packet that X contained bootstrap code, periodically sent out from a working X computer to infuse the `breath of life' into any computer on the X network that had happened to crash. The machines had hardware or X firmware that would wait for such a packet after a catastrophic X error. X Xbring X to its knees: v. Of a machine, operating system, piece of X software, or algorithm; to present it with a load so extreme or X pathological that it grinds virtually to a halt. "To bring a X MicroVAX to its knees, try twenty users running {vi} --- or four X running {EMACS}." Compare {hog}. X Xbrittle: adj. Said of software that's functional but easily broken X by changes in operating environment or configuration, or by any X minor tweak to the software itself. Also, any system which X responds inappropriately and disastrously to expected external X stimuli, e.g., a file system that is usually totally scrambled by a X power failure is said to be brittle. This term is often used to X describe the results of a research effort that were never intended X to be robust, but can be applied to commercially developed X software. Oppose {robust}. X Xbroadcast storm: n. An incorrect packet broadcast on a network that X causes most hosts to respond all at once, typically with wrong X answers that start the process over again. See {network X meltdown}. X Xbroken: adj. 1. Not working properly (of programs). 2. Behaving X strangely; especially, (when used of people) exhibiting extreme X depression. X Xbroket: /broh'k*t/ or /broh'ket/ [by analogy with `bracket': a X `broken bracket'] n. Either of the characters `<' and X `>', when used as paired enclosing delimiters. This word X originated as a contraction of the phrase `broken bracket', that X is, a bracket that is bent in the middle. (At MIT, and apparently X in the {Real World} as well, these are usually called {angle X brackets}.) X XBrooks's Law: prov. "Adding manpower to a late software project X makes it later" --- a result of the fact that the advantage from X splitting work between N programmers is O(N), but the complexity X and communications cost associated with coordinating and then X merging their work is O(N^2). The quote is from Fred Brooks, a X manager of IBM's OS/360 project and author of `The Mythical X Man-Month' (Addison-Wesley, 1975, ISBN, 0-201-00650-2), an X excellent early book on software engineering; the myth in question X has been most tersely expressed as "Programmer time is fungible", X and Brooks established conclusively that it is not. Hackers have X never forgotten his advice; too often, {management} does. X XBRS: n. Syn. {Big Red Switch}. This abbreviation is fairly X common on-line. X Xbrute force: adj. Describes a certain kind of primitive X programming style; broadly speaking, one in which the programmer X relies on the computer's processing power instead of using his/her X own intelligence to simplify the problem, often ignoring problems X of scale and applying naive methods suited to small problems X directly to large ones. X X The {canonical} example of a brute force algorithm is associated X with the `Travelling salesman problem' (TSP), a classical NP-hard X problem: suppose a person is in Boston and wishes to drive to N X other cities. In what order should he/she visit them in order to X minimize the distance travelled? The brute force method is to X simply generate all possible routes and compare the distances; X while guaranteed to work and simple to implement, this algorithm is 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/ n. 1. obs. The bits produced by the X CONTROL and META shift keys, on a SAIL keyboard, resulting in a X 9-bit keyboard character set. The MIT-AI TV (Knight) keyboards X extended this with TOP and separate left and right CONTROL and META X keys, resulting in a 12-bit character set; later, Lisp Machines X added such keys as SUPER, HYPER, and GREEK (see {space-cadet X keyboard}). 2. By extension, bits associated with `extra' shift X keys on any keyboard, e.g. the ALT on an IBM PC or command and X option keys on a Macintosh. X X It is rumored that `bucky bits' were named for Buckminster Fuller X during a period when he was consulting at Stanford. Actually, X `Bucky' was Niklaus Wirth's nickname when *he* was at X Stanford; he first suggested the idea of an EDIT key to set the 8th X bit of an otherwise 7-bit ASCII character. This was used in a X number of editors written at Stanford or environs (TV-EDIT and NLS X being the most well-known). The term spread to MIT and CMU early X and is now in general use. See {double bucky}, {quadruple X 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 all 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 Xburied treasure: n. A surprising piece of code found in some X program. While usually not wrong, it tends to vary from {crufty} X to {bletcherous}, and has lain undiscovered only because it was X functionally correct, however horrible it is. Used sarcastically, X because what is found is anything *but* treasure. Buried X treasure almost always needs to be dug up and removed. "I just X found that the scheduler sorts it queue using {bubble sort}! X Buried Treasure!" 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. 2. May be used of X human behavior to convey that one is busy waiting for someone or X something and that one intends to move instantly as soon as it X shows up (for example, if one is waiting at the office door of a X person in conference); thus that one cannot do anything else at the X 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:: /biet/ [techspeak] n. A unit of memory or data equal to the X amount used to represent one character; on modern architectures X this is usually 8 bits, but may be 9 on 36-bit machines. Some X older architectures used `byte' for quantities of six or seven X bits, and the PDP-10 supported `bytes' which were actually X bitfields of 1 to 36 bits! These usages are now obsolete, and even X 9-bit bytes have become rare in the general trend power-of-two word X sizes. X X The term originated in 1956 during the early design phase X for the IBM Stretch computer; originally it was described as one to X six bits (typical I/O equipment of the period used 6-bit chunks of X information). The move to an 8-bit byte happened in late 1956, and X this size was later adopted and promulgated as a standard by the X System/360. The term `byte' was coined by mutating the word X `bite' so it would not be accidentally misspelt as {bit}. See X 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 OSes. 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 expect things to be. X Thus, a hacker may claim with a straight face that "according to X religious 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 Xcareware: n. {Shareware} for which either the author suggests X that some payment be made to a nominated charity, or a levy X directed to charity is included on top of the distribution charge. X Syn. {charityware}. Compare {crippleware}, sense #2. 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 X particular program and type at it because it never works for anyone X else; esp. used when nobody can ever see what the guru is doing X different from what J. Random Luser does. Compare {incantation}, X {runes}, {examining the entrails}; also see the AI koan about X Tom Knight in Appendix A. X Xcat: [from `catenate' via {UNIX} `cat(1)'] vt. X 1. [techspeak] To spew an entire file to the screen or some other X output sink without pause. 2. By extension, to dump large amounts X of data at an unprepared target or with no intention of browsing it X carefully. Usage: considered silly. Rare outside UNIX sites. See X 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 Xcharityware: n. Syn. {careware}. 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 Ethernet datagram that passes X through a gateway with both source and destination Ether and IP X address set as the respective broadcast addresses for the X subnetworks being gated between. Compare {Christmas tree X packet}. X Xchicken head: [Commodore] n. The Commodore Business Machines logo, X which strongly resembles a poultry part. Rendered in ASCII as X `C='. 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 Xchine nual: /sheen'yu*l/ [MIT] n.,obs. The Lisp Machine Manual, so X called because the title was wrapped around the cover so only those X letters show. 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 Often used as a term of contempt. 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. X The 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 `Classic Coke'] 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. X 5. In the construction `UNIX clone': An OS designed to deliver X a 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 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