home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 2 / 2927 < prev    next >
Internet Message Format  |  1991-03-02  |  51KB

  1. From: eric@snark.thyrsus.com (Eric S. Raymond)
  2. Newsgroups: alt.folklore.computers,alt.sources,misc.misc
  3. Subject: The Jargon File v, part 4 of 17
  4. Message-ID: <1ZdTt9#7xjpwZ7Z3B033RbmV68XTmCQ=eric@snark.thyrsus.com>
  5. Date: 2 Mar 91 18:15:40 GMT
  6.  
  7. Submitted-by: jargon@thyrsus.com
  8. Archive-name: jargon/part04
  9.  
  10. ---- Cut Here and feed the following to sh ----
  11. #!/bin/sh
  12. # this is jargon.04 (part 4 of jargon)
  13. # do not concatenate these parts, unpack them in order with /bin/sh
  14. # file jargon.ascii continued
  15. #
  16. if test ! -r _shar_seq_.tmp; then
  17.     echo 'Please unpack part 1 first!'
  18.     exit 1
  19. fi
  20. (read Scheck
  21.  if test "$Scheck" != 4; then
  22.     echo Please unpack part "$Scheck" next!
  23.     exit 1
  24.  else
  25.     exit 0
  26.  fi
  27. ) < _shar_seq_.tmp || exit 1
  28. if test -f _shar_wnt_.tmp; then
  29. sed 's/^X//' << 'SHAR_EOF' >> 'jargon.ascii' &&
  30. X   clearly very `stupid' in that it considers even obviously absurd
  31. X   routes (like going from Boston to Houston via San Francisco and New
  32. X   York, in that order).  For small N it works well, but it rapidly
  33. X   becomes absurdly inefficient when N increases (for N=15, there are
  34. X   already 1,307,674,368,000 possible routes to consider, and for
  35. X   N=1000...well, see {bignum}).  See also {NP-}.
  36. X
  37. X   A more simple-minded example of brute-force programming is finding
  38. X   the smallest number in a large list by first using an existing
  39. X   program to sort the list in ascending order, and then picking the
  40. X   first number off the front.
  41. X
  42. X   Note that whether brute-force programming should be considered
  43. X   stupid or not depends on the context; if the problem isn't too big,
  44. X   the extra CPU time spent on a brute-force solution may cost less
  45. X   than the programmer time it would take to develop a more
  46. X   `intelligent' algorithm.  Alternatively, a more intelligent
  47. X   algorithm may imply more long-term complexity cost and bug-chasing
  48. X   than are justified by the speed improvement.
  49. X
  50. X   Ken Thompson, co-inventor of UNIX, is reported to have uttered the
  51. X   epigram "When in doubt, use brute force".  He probably intended
  52. X   this as a {ha ha only serious}, but the original UNIX kernel's
  53. X   preference for simple, robust, and portable algorithms over fragile
  54. X   `smart' ones does seem to have been a significant factor in the
  55. X   success of that OS.  Like so many other tradeoffs in software
  56. X   design, the choice between brute force and complex, finely-tuned
  57. X   cleverness is often a difficult one that requires both engineering
  58. X   savvy and delicate esthetic judgement.
  59. X
  60. Xbrute force and ignorance: n. A popular design technique at many
  61. X   software houses --- {brute force} coding unrelieved by any
  62. X   knowledge of how problems have been previously solved in elegant
  63. X   ways.  Dogmatic adherence to design methodologies tends to
  64. X   encourage it.  Characteristic of early {larval stage} programming;
  65. X   unfortunately, many never outgrow it.  Often abbreviated BFI, as
  66. X   in: "Gak, they used a bubble sort!  That's strictly from BFI."
  67. X   Compare {bogosity}.
  68. X
  69. XBSD: /bee-ess-dee/ n. [acronym for Berkeley System Distribution] a
  70. X   family of {UNIX} versions for the DEC {VAX} developed by Bill
  71. X   Joy and others at University of California at Berkeley starting
  72. X   around 1980, incorporating paged virtual memory, TCP/IP networking
  73. X   enhancements and many other features.  The BSD versions (4.1, 4.2,
  74. X   and 4.3) and commercial versions derived from them (SunOS, ULTRIX,
  75. X   and Mt. Xinu) held the technical lead in the UNIX world until
  76. X   AT&T's successful standardization efforts after about 1986, and are
  77. X   still widely popular.  See {UNIX}, {USG UNIX}.
  78. X
  79. Xbubble sort: n. Techspeak for a particular sorting technique.
  80. X   Because it is not very good compared to other methods, and is the
  81. X   one typically stumbled on by {naive} and untutored programmers,
  82. X   hackers consider it the canonical example of a naive algorithm.
  83. X   The canonical example of a really *bad* algorithm is
  84. X   {bogo-sort}.  A bubble sort might be used out of ignorance, but
  85. X   any use of bogo-sort could issue only from brain-damage or willful
  86. X   perversity.
  87. X
  88. Xbucky bits: /buh'kee bits/ [primarily Stanford] n. The bits
  89. X   produced by the CTRL, META, SUPER, and HYPER shift keys, esp. on a
  90. X   Stanford or MIT (Knight) keyboard (see {space-cadet keyboard}).
  91. X   By extension, bits associated with `extra' shift keys on any
  92. X   keyboard, e.g. the ALT on an IBM PC or command and option keys on a
  93. X   Macintosh.
  94. X
  95. X   It is rumored that these were in fact named for Buckminster Fuller
  96. X   during a period when he was consulting at Stanford.  Unfortunately,
  97. X   legend also has it that `Bucky' was Niklaus Wirth's nickname when
  98. X   *he* was consulting at Stanford and that he first suggested
  99. X   the idea of the meta key, so its bit was named after him.  See
  100. X   {double bucky}, {quadruple bucky}.
  101. X
  102. Xbuffer overflow: n. What happens when you try to stuff more data
  103. X   into a buffer (holding area) than it can handle.  This may be due
  104. X   to a mismatch in the processing rates of the producing and
  105. X   consuming processes (see {overrun}), or because the buffer is
  106. X   simply too small to hold all the data that needs to accumulate
  107. X   before a piece of it can be processed. For example, in a text
  108. X   processing tool that crunches newline-terminated lines, a short
  109. X   line buffer can result in {lossage} as input from a long line
  110. X   overflows the buffer and trashes data beyond it.  See also
  111. X   {spam}, {overrun screw}.
  112. X
  113. Xbug: n. An unwanted and unintended property of a program or hardware,
  114. X   esp. one which causes it to malfunction.  Antonym of {feature}.
  115. X   Examples: "There's a bug in the editor: it writes things out
  116. X   backwards."  "The system crashed because of a hardware bug."
  117. X   "Fred is a winner, but he has a few bugs."  (i.e., Fred is a good
  118. X   guy, but he has a few personality problems.)
  119. X
  120. X   Some have said this term came from telephone company usage, in
  121. X   which "bugs in a telephone cable" were blamed for noisy lines,
  122. X   but this appears to be an incorrect folk etymology.  Admiral Grace
  123. X   Hopper (an early computing pioneer better known for inventing
  124. X   {COBOL}) liked to tell a story in which a technician solved a
  125. X   persistent {glitch} in the Harvard Mark II machine by pulling an
  126. X   actual physical bug out from between the contacts of one of its
  127. X   relays, and she subsequently promulgated {bug} in its hackish
  128. X   sense as a joke about the incident (though, as she was careful to
  129. X   admit, she was not there when it happened).  For many years the
  130. X   logbook associated with the incident and the actual bug in question
  131. X   (a moth) sat in a display case at the Naval Surface Warfare Center;
  132. X   it now resides in the Smithsonian.  The entire story, with a
  133. X   picture of the logbook and the moth taped into it, is recorded in
  134. X   the Annals of the History of Computing, Volume 3, Number 3 (July
  135. X   1981), on pages 285-286.
  136. X
  137. X   Interestingly, the text of the log entry (from September 9th,
  138. X   1945), which reads "1545 Relay #70 Panel F (moth) in relay.  First
  139. X   actual case of bug being found", seems to establish that the term
  140. X   was already in use at the time.  Indeed, the use of `bug' to mean
  141. X   an industrial defect was already established in Thomas Edison's
  142. X   time, and `bug' in the sense of an disruptive event goes back to
  143. X   Shakespeare!  In the First Edition of Johnson's Dictionary one
  144. X   meaning of `bug' is "A frightful object; a walking spectre"; this
  145. X   is traced to `bugbear', a Welsh term for a variety of mythological
  146. X   monster which (to complete the circle) has recently been
  147. X   reintroduced into the popular lexicon through fantasy role-playing
  148. X   games.
  149. X
  150. X   In any case, in jargon the word almost never refers to insects.
  151. X   Here is a plausible conversation that never actually happened:
  152. X
  153. X   "There is a bug in this ant-farm!"
  154. X
  155. X   "What do you mean?  I don't see any ants in it."
  156. X
  157. X   "That's the bug."
  158. X
  159. Xbug-compatible: n. Said of a design or revision the design of which
  160. X   has been badly compromised by a requirement to be compatible with
  161. X   {fossil}s or {misfeature}s in other programs or (esp.) previous
  162. X   releases of itself.
  163. X
  164. Xbug-for-bug compatible: n. Same as {bug-compatible}, with the
  165. X   additional implication that much tedious effort went into ensuring
  166. X   that each (known) bug was replicated.
  167. X
  168. Xbuglix: n. Pejorative term referring to DEC's ULTRIX operating
  169. X   system in its earlier *severely* buggy versions.  Still used to
  170. X   describe ULTRIX but without venom.  Compare {HP-SUX}.
  171. X
  172. Xbulletproof: adj. Used of an algorithm or implementation considered
  173. X   extremely {robust}; lossage-resistant; capable of correctly
  174. X   recovering from any imaginable exception condition.  This is a rare
  175. X   and valued quality.  Syn. {armor-plated}.
  176. X
  177. Xbum: 1. vt. To make highly efficient, either in time or space,
  178. X   often at the expense of clarity.  "I managed to bum three more
  179. X   instructions out of that code."  "I spent half the night bumming
  180. X   the interrupt code."  2. To squeeze out excess; to remove
  181. X   something in order to improve whatever it was removed from (without
  182. X   changing function; this distinguishes the process from a
  183. X   featurectomy).  3. n. A small change to an algorithm, program, or
  184. X   hardware device to make it more efficient.  "This hardware bum
  185. X   makes the jump instruction faster."  Usage: now uncommon, largely
  186. X   superseded by v. {tune} (and n. {tweak}, {hack}), though none
  187. X   of these exactly capture sense #2.  Note that both these uses are
  188. X   rare in Commonwealth hackish, because in the parent dialects of
  189. X   English `bum' is interpreted as a rude synonym for `buttocks'.
  190. X
  191. Xbump: vt. Synonym for increment.  Has the same meaning as C's ++
  192. X   operator.  Used esp. of counter variables, pointers, and index
  193. X   dummies in `for', `while', and `do-while' loops.
  194. X
  195. Xburble: vi. Like {flame}, but connotes that the source is truly
  196. X   clueless and ineffectual (mere flamers can be competent).  A term
  197. X   of deep contempt.
  198. X
  199. Xburn-in period: n. 1. A factory test designed to catch systems
  200. X   with {marginal} components before they get out the door; the
  201. X   theory is that burn-in will protect customers by outwaiting the
  202. X   steepest part of the {bathtub curve} (see {infant mortality}).
  203. X   2. A period of indeterminate length in which a person using a
  204. X   computer is so intensely involved in his project that he forgets
  205. X   basic needs such as food, drink, sleep, sex, etc.  See {hack
  206. X   mode}, {larval stage}.
  207. X
  208. Xbusy-wait: vi. 1. [techspeak] To wait on an event by {spin}ning
  209. X   through a tight or timed-delay loop that polls for the event on
  210. X   each pass, as opposed to setting up an interrupt handler and
  211. X   continuing execution on another part of the task.  A wasteful
  212. X   technique, best avoided on time-sharing systems where a
  213. X   busy-waiting program may hog the processor.  Syn. {spin-lock}.
  214. X   2. May be used of human behavior to convey that one is busy
  215. X   waiting for someone or something and that one intends to move
  216. X   instantly as soon as it shows up (for example, if one is waiting at
  217. X   the office door of a person in conference); thus that one cannot do
  218. X   anything else at the moment.
  219. X
  220. Xbuzz: vi. 1. Of a program, to run with no indication of progress
  221. X   and perhaps without guarantee of ever finishing; esp. said of
  222. X   programs thought to be executing tight loops of code.  A program
  223. X   which is buzzing appears to be {catatonic}, but you never get out
  224. X   of catatonia, while a buzzing loop may eventually end of its own
  225. X   accord.  Example: "The program buzzes for about ten seconds trying
  226. X   to sort all the names into order."  See {spin}; see also
  227. X   {grovel}.  2. [ETA Systems] To test a wire or printed circuit
  228. X   trace for continuity by applying an AC signal as opposed to
  229. X   applying a DC signal.  Some wire faults will pass DC tests but fail
  230. X   a buzz test.
  231. X
  232. XBWQ: /bee duhb'l-yoo kyoo/ [IBM; acronym, Buzz Word Quotient] The
  233. X   percentage of buzzwords in a speech or documents.  Usually roughly
  234. X   proportional to {bogosity}.  See {TLA}.
  235. X
  236. Xby hand: adv. Said of an operation (especially a repetitive, trivial
  237. X   and/or tedious one) which ought to be performed automatically by
  238. X   the computer, but which a hacker instead has to step tediously
  239. X   through.  "My mailer doesn't have a command to include the text of
  240. X   the message I'm replying to, so I have to do it by hand".  Compare
  241. X   {eyeball search}.
  242. X
  243. Xbyte:: [techspeak] n. A unit of memory or data equal to the amount
  244. X   needed to represent one character; usually 8 bits, occasionally 9
  245. X   (on 36-bit machines).  The term originated in 1956 during the early
  246. X   design phase for the IBM Stretch computer; originally it was
  247. X   described as one to six bits (typical I/O equipment of the period
  248. X   used 6-bit chunks of information).  The move to an 8-bit byte
  249. X   happened in late 1956, and this size was later adopted and
  250. X   promulgated as a standard by the System/360.  The term `byte'
  251. X   was coined by mutating the word `bite' so it would not be
  252. X   accidentally misspelt as {bit}.  See also {nybble}.
  253. X
  254. Xbytesexual: /biet-seks'u-@l/ adj. Said of hardware, denotes
  255. X   willingness to compute or pass data in either {big-endian} or
  256. X   {little-endian} format (depending, presumably, on a {mode bit}
  257. X   somewhere).  See also {NUXI problem}.
  258. X
  259. X= C =
  260. X=====
  261. X
  262. XC: n. 1. The third letter of the Latin alphabet.  2. ASCII
  263. X   #b1000011.  3. The name of a programming language designed by
  264. X   Dennis Ritchie during the early 1970s and immediately used to
  265. X   re-implement {UNIX}.  So called because many features derived
  266. X   from an earlier interpreter named `B' in commemoration of
  267. X   *its* parent, BCPL; before Bjarne Stroustrup settled the
  268. X   question by designing C++, there was a humorous debate over whether
  269. X   C's successor should be named `D' or `P'.  C became immensely
  270. X   popular outside Bell Labs after about 1980 and is now the dominant
  271. X   language in systems and microcomputer applications programming.
  272. X   See also {languages of choice}, {indent style}.
  273. X
  274. X   C is often described, with a mixture of fondness and disdain
  275. X   varying according to the speaker, as "a language which combines
  276. X   all the elegance and power of assembly language with the
  277. X   readability and maintainability of assembly language".
  278. X
  279. Xcalculator: [Cambridge] n. Syn. for {bitty box}.
  280. X
  281. Xcan: vt. To abort a job on a time-sharing system.  Used esp. when the
  282. X   person doing the deed is an operator, as in "canned from the
  283. X   {{console}}".  Frequently used in an imperative sense, as in "Can
  284. X   that print job, the LPT just popped a sprocket!".  Synonymous with
  285. X   {gun}.  It is said that the ASCII character with mnemonic CAN
  286. X   (#b0011000) was used as a kill-job character on some early OSs.
  287. X
  288. Xcanonical: [historically, `according to religious law'] adj. The
  289. X   usual or standard state or manner of something.  This word has a
  290. X   somewhat more technical meaning in mathematics.  For example, one
  291. X   sometimes speaks of a formula as being in canonical form.  Two
  292. X   formulas such as `9 + x' and `x + 9' are said to be
  293. X   equivalent because they mean the same thing, but the second one is
  294. X   in canonical form because it is written in the usual way, with the
  295. X   highest power of `x' first.  Usually there are fixed rules you
  296. X   can use to decide whether something is in canonical form.  The
  297. X   jargon meaning is a relaxation of the technical meaning (this
  298. X   generalization is actually not confined to hackers, and may be
  299. X   found throughout academia).  Compare {vanilla}.
  300. X
  301. X   A true story: One Bob Sjoberg, new at the MIT AI Lab, expressed
  302. X   some annoyance at the use of jargon.  Over his loud objections, GLS
  303. X   and RMS made a point of using it as much as possible in his
  304. X   presence, and eventually it began to sink in.  Finally, in one
  305. X   conversation, he used the word `canonical' in jargon-like fashion
  306. X   without thinking.  Steele: "Aha!  We've finally got you talking
  307. X   jargon too!"  Stallman: "What did he say?"  Steele: "Bob just
  308. X   used `canonical' in the canonical way."
  309. X
  310. X   Of course, canonicality depends on context, but is implicitly
  311. X   defined as the way *hackers* normally do things.  Thus, a
  312. X   hacker may claim with a straight face that "according to religious
  313. X   law" is *not* the canonical meaning of `canonical'.
  314. X
  315. Xcard: n. 1. An electronic printed-circuit board (see also {tall
  316. X   card}, {short card}.  2. obs. Syn. {{punched card}}.
  317. X
  318. Xcard walloper: n. An EDP programmer who grinds out batch programs
  319. X   that do stupid things like print people's paychecks.  Compare
  320. X   {code grinder}.  See also {{punched card}}, {eighty-column
  321. X   mind}.
  322. X
  323. Xcargo-cult programming: n. A style of (incompetent) programming
  324. X   dominated by ritual inclusion of code or program structures that
  325. X   serve no real purpose.  A cargo-cult programmer will usually
  326. X   explain the extra code as a way of working around some bug
  327. X   encountered in the past, but usually neither the bug nor the
  328. X   reason the code avoided the bug were ever fully understood (compare
  329. X   {shotgun debugging}).
  330. X
  331. X   The term cargo-cult is a reference to aboriginal religions that
  332. X   grew up in the South Pacific after World War II.  The practices of
  333. X   these cults center on building elaborate mockups of airplanes and
  334. X   military style landing strips in the hope of bringing the return of
  335. X   the god-like airplanes that brought such marvelous cargo during the
  336. X   war.  Hackish usage probably derives from Richard Feynman's
  337. X   characterization of certain practices as "cargo-cult science" in
  338. X   his book `Surely You're Joking, Mr. Feynman' (W. W Norton &
  339. X   Co, New York 1985, ISBN 0-393-01921-7).
  340. X
  341. Xcase and paste: [from `cut and paste'] n. 1. The addition of a new
  342. X   {feature} to an existing system by selecting the code from an
  343. X   existing feature and pasting it in with minor changes.  Common in
  344. X   telephony circles because most operations in a telephone switch are
  345. X   selected using case statements.  Leads to {software bloat}.
  346. X
  347. X   In some circles of EMACS users this is called `programming by
  348. X   Meta-W', because Meta-W is the EMACS command for copying a block of
  349. X   text to a kill buffer in preparation to pasting it in elsewhere.
  350. X   The term is condescending, implying that the programmer is acting
  351. X   mindlessly rather than thinking carefully about what is required to
  352. X   integrate the code for two similar cases.
  353. X
  354. Xcasters-up mode: /cas'trz uhp mohd/ [IBM] n. Yet another synonym
  355. X   for `broken' or `down'.
  356. X
  357. Xcasting the runes: n. The act of getting a {guru} to run a particular
  358. X   program and type at it because it never works for anyone else; esp.
  359. X   used when nobody can ever see what the guru is doing different from
  360. X   what J. Random Luser does.  Compare {incantation}, {runes},
  361. X   {examining the entrails}; also see the AI koan about Tom Knight
  362. X   in Appendix A.
  363. X
  364. Xcat: [from `catenate' via {UNIX} `cat(1)'] vt. 1.
  365. X   [techspeak] To spew an entire file to the screen or some other
  366. X   output sink without pause.  2. By extension, to dump large
  367. X   amounts of data at an unprepared target or with no intention of
  368. X   browsing it carefully.  Usage: considered silly.  Rare outside UNIX
  369. X   sites.  See also {dd}, {BLT}.
  370. X
  371. X   Among UNIX-haters, `cat(1)' is considered the {canonical}
  372. X   example of poor user-interface design.  This because it is more
  373. X   often used to {blast} a file to standard output than to
  374. X   concatenate two files.  The name `cat' for the former
  375. X   operation is just as unintuitive as, say, LISP's {cdr}.
  376. X
  377. Xcatatonic: adj. Describes a condition of suspended animation in
  378. X   which something is so {wedged} or {hung} that it makes no
  379. X   response.  For example, if you are typing on a terminal and
  380. X   suddenly the computer doesn't even echo the letters back to the
  381. X   screen as you type, let alone do what you're asking it to do, then
  382. X   the computer is suffering from catatonia (possibly because it has
  383. X   crashed).  Compare {buzz}.
  384. X
  385. Xcdr: /ku'dr/ or /kuh'dr/ [from LISP] vt. To skip past the first
  386. X   item from a list of things (generalized from the LISP operation on
  387. X   binary tree structures).  In the form `cdr down', to trace down
  388. X   a list of elements.  "Shall we cdr down the agenda?"  Usage:
  389. X   silly.  See also {loop through}.
  390. X
  391. X   Historical note: the instruction format of the IBM 7090 that hosted
  392. X   the original LISP implementation featured two 15-bit fields called
  393. X   the `address' and `decrement' parts.  The term `cdr' was originally
  394. X   `Contents of Decrement part of Register'.  Similarly, `car' stood
  395. X   for `Contents of Address part of Register'.
  396. X
  397. X   The `cdr' and `car' operations have since become bases for
  398. X   formation of compound metaphors in non-LISP contexts.  GLS recalls,
  399. X   for example, a programming project in which strings were
  400. X   represented as linked lists; the get-character and skip-character
  401. X   operations were of course called CHAR and CHDR.
  402. X
  403. Xchad: /chad/ n. 1. The perforated edge strips on printer paper, after
  404. X   they have been separated from the printed portion.  Also called
  405. X   {selvage} and {perf}.  2. obs. The confetti-like paper bits punched
  406. X   out of cards or paper tape; this was also called `chaff', `computer
  407. X   confetti', and `keypunch droppings'.
  408. X
  409. X   Historical note: one correspondent believes `chad' (sense #2)
  410. X   derives from the Chadless keypunch (named for its inventor), which
  411. X   cut little u-shaped tabs in the card to make a hole when the tab
  412. X   folded back, rather than punching out a circle/rectangle; it was
  413. X   clear that if the `Chadless' keypunch didn't make them, then the
  414. X   stuff that other keypunches made had to be `chad'.
  415. X
  416. Xchad box: n. {Iron Age} card punches contained boxes inside them,
  417. X   about the size of a lunchbox (or in some models a large
  418. X   wastebasket), that held the {chad} (squares of paper punched out
  419. X   of punch cards).  You had to open the covers of the card punch
  420. X   periodically and empty the chad box.  The {bit bucket} was
  421. X   notionally the equivalent device in the CPU enclosure, which was
  422. X   typically across the room in another great grey-and-blue box.
  423. X
  424. Xchain: [orig. from BASIC's CHAIN statement] vi. When used of
  425. X   programming languages, refers to a statement that allows a parent
  426. X   executable to hand off execution to a child or successor without
  427. X   going through the {OS} command interpreter.  The state of the
  428. X   parent program is lost and there is no returning to it.  Though
  429. X   this facility used to be common on memory-limited micros and is
  430. X   still widely supported for backward compatibility, the jargon usage
  431. X   is semi-obsolescent; in particular, most UNIX programmers will think
  432. X   of this as an {exec}.  Oppose the more modern {subshell}.
  433. X
  434. Xchar: /keir/ or /char/; rarely, /kar/ n. Shorthand for `character'.
  435. X   Esp. used by C programmers, as `char' is C's typename for
  436. X   character data.
  437. X
  438. Xchase pointers: 1. vi. To go through multiple levels of
  439. X   indirection, as in traversing a linked list or graph structure.
  440. X   Used esp. by programmers in C, where explicit pointers are a very
  441. X   common data type.  This is almost techspeak, but remains jargon when
  442. X   used of human networks.  "I'm chasing pointers.  Bob said you
  443. X   could tell me who to talk to about...."  2. [Cambridge]
  444. X   `pointer chase' or `pointer hunt': the process of going
  445. X   through a dump (interactively or on a large piece of paper printed
  446. X   with hex {runes}) following dynamic data-structures.  Only used
  447. X   in a debugging context.
  448. X
  449. Xchemist: [Cambridge] n. Someone who wastes computer time on
  450. X   {number-crunching} when you'd far rather the machine were doing
  451. X   something more productive, such as working out anagrams of your
  452. X   name or printing Snoopy calendars or running {life} patterns.
  453. X   May or may not refer to someone who actually studies chemistry.
  454. X
  455. XChernobyl packet: /cher-noh'b@l pak'@t/ n. A network packet that
  456. X   induces {network meltdown} (the result of a {broadcast storm}),
  457. X   in memory of the 1987 nuclear accident at Chernobyl in the Ukraine.
  458. X   The typical case of this is an IP Ethergram that passes through a
  459. X   gateway with both source and destination Ether and IP address set
  460. X   as the respective broadcast addresses for the subnetworks being
  461. X   gated between.  Compare {Christmas tree packet}.
  462. X
  463. Xchiclet keyboard: n. A keyboard with small rectangular or
  464. X   lozenge-shaped rubber or plastic keys that look like pieces of
  465. X   chewing gum (Chiclet is a brand-name and also the Spanish common
  466. X   noun for the stuff).  Used esp. to describe the original IBM PCjr
  467. X   keyboard.  Vendors unanimously liked these because they were cheap,
  468. X   and a lot of early portable and laptop products got launched using
  469. X   them.  Customers rejected the idea with almost equal unanimity, and
  470. X   chiclets are not often seen on anything larger than a digital watch
  471. X   any more.
  472. X
  473. XChinese Army technique: n. Syn. {Mongolian Hordes technique}.
  474. X
  475. Xchoke: vt. To reject input, often ungracefully.  "I tried building
  476. X   an {EMACS} binary to use {X}, but `cpp(1)' choked on all
  477. X   those `#define's."  See {barf}, {gag}, {vi}.
  478. X
  479. Xchomp: vt. To lose; specifically, to chew on something of which
  480. X   more was bitten off than one can.  Probably related to gnashing of
  481. X   teeth.  See {bagbiter}.  A hand gesture commonly accompanies
  482. X   this, consisting of the four fingers held together as if in a
  483. X   mitten or hand puppet, and the fingers and thumb open and close
  484. X   rapidly to illustrate a biting action (much like what the PacMan
  485. X   does in the classic video game, though this pantomime seems to
  486. X   predate that).  The gesture alone means "chomp chomp" (see Verb
  487. X   Doubling).  The hand may be pointed at the object of complaint, and
  488. X   for real emphasis you can use both hands at once.  For example, to
  489. X   do this to a person is equivalent to saying "You chomper!"  If
  490. X   you point the gesture at yourself, it is a humble but humorous
  491. X   admission of some failure.  You might do this if someone told you
  492. X   that a program you had written had failed in some surprising way
  493. X   and you felt dumb for not having anticipated it.
  494. X
  495. Xchomper: n. Someone or something that is chomping; a loser.  See
  496. X   {loser}, {bagbiter}, {chomp}.
  497. X
  498. XChristmas tree: n. A kind of RS-232 line tester or breakout box
  499. X   featuring rows of blinking red and green LEDs like Christmas
  500. X   lights.
  501. X
  502. XChristmas tree packet: n. A packet with every single option set for
  503. X   whatever protocol is in use.  See {kamikaze packet}, {Chernobyl
  504. X   packet}.
  505. X
  506. Xchug: vi. To run slowly; to {grind} or {grovel}.  "The disk is
  507. X   chugging like crazy."
  508. X
  509. Xchrome: [from automotive slang via wargaming] n. Showy features
  510. X   added to attract users but which contribute little or nothing to
  511. X   the power of a system.  "The 3D icons in Motif are just chrome,
  512. X   but they certainly are `pretty' chrome!"  Distinguished from
  513. X   {bells and whistles} by the fact that the latter are usually
  514. X   added to gratify developers' own desires for featurefulness.
  515. X
  516. XChurch of the Sub-Genius: n. A mutant offshoot of {Discordianism}
  517. X   launched in 1981 as a spoof of fundamentalist Christianity by the
  518. X   `Reverend' Ivan Stang, a brilliant satirist with a gift for
  519. X   promotion.  Popular among hackers as a rich source of bizarre
  520. X   imagery and references such as: `Bob' the divine
  521. X   drilling-equipment salesman, the Benevolent Space Xists, and the
  522. X   Stark Fist of Removal.  Much Sub-Genius theory is concerned with
  523. X   the acquisition of the mystical substance or quality of `slack'.
  524. X   See also {ha ha only serious}.
  525. X
  526. XCinderella Book: [CMU] n. `Introduction to Automata Theory,
  527. X   Languages, and Computation', by John Hopcroft and Jeffrey Ullman,
  528. X   Addison-Wesley, 1979.  So-called because the cover depicts a girl
  529. X   (putatively Cinderella) sitting in front of a Rube Goldberg device
  530. X   and holding a rope from that device.  The back cover depicts the
  531. X   girl with the Rube Goldberg in shambles after having pulled on the
  532. X   rope.  See also {{book titles}}.
  533. X
  534. XCI$: n. Hackerism for `CIS', Compuserve Information Service.  The
  535. X   dollar refers to CompuServe's rather steep line charges.  Often
  536. X   used in {sig block}s just before a CompuServe address.
  537. X
  538. XClassic C: /klas'ik see/ [a play on `Coke Classic'] n. The C
  539. X   programming language as defined in the first edition of {K&R},
  540. X   with some small additions.  It is also known as `K&R C'.  The
  541. X   name came into use during the standardization process for C by the
  542. X   ANSI X3J11 committee.  Also `C Classic'.  This is sometimes
  543. X   applied elsewhere: thus, `X Classic' where X = Star Trek (referring
  544. X   to the original TV series), or X = PC (referring to IBM's ISA-bus
  545. X   machines as opposed to the PS/2 series).  This construction is
  546. X   especially used of product series in which the newer versions are
  547. X   considered serious losers relative to the older ones.
  548. X
  549. Xclean: 1. adj. Used of hardware or software designs, implies
  550. X   `elegance in the small', that is, a design or implementation which
  551. X   may not hold any surprises but does things in a way that is
  552. X   reasonably intuitive and relatively easy to comprehend from the
  553. X   outside.  The antonym is `grungy' or {crufty}.  2. v. To remove
  554. X   unneeded or undesired files in a effort to reduce clutter.  "I'm
  555. X   cleaning up my account", or "I cleaned up the garbage and now have
  556. X   100 Meg free on that partition".
  557. X
  558. XCLM: /see el em/ [Sun, `Career Limiting Move'] 1. n. An action
  559. X   endangering one's future prospects of getting plum projects and
  560. X   raises, also possibly one's job.  "He used a {bubble sort}!
  561. X   What a CLM!"  2. adj. Denotes extreme severity of a bug,
  562. X   discovered by a customer and obviously due to poor testing:
  563. X   "That's a CLM bug!"
  564. X
  565. Xclobber: vt. To overwrite; usually unintentionally.  As in "I
  566. X   walked off the end of the array and clobbered the stack."  Compare
  567. X   {mung}, {scribble}, {trash}, and {smash the stack}.
  568. X
  569. Xclocks: n. Processor logic cycles, so called because each generally
  570. X   corresponds to one clock pulse in the processor's timing.  The
  571. X   relative execution times of instructions on a machine are usually
  572. X   discussed in clocks rather than absolute fractions of a second.
  573. X   Compare {cycle}.
  574. X
  575. Xclone: n. 1. An exact duplicate, as in "Our product is a clone of
  576. X   their product."  Implies a legal re-implementation from
  577. X   documentation or by reverse-engineering.  Also connotes lower
  578. X   price.  2. A shoddy, spurious copy, as in "Their product is a
  579. X   clone of our product."  3. A blatant ripoff, most likely violating
  580. X   copyright, patent, or trade secret protections, as in "Your
  581. X   product is a clone of my product."  This usage implies legal
  582. X   action is pending.  4. A `PC clone'; a PC-BUS/ISA or
  583. X   EISA-compatible 80x86 based microcomputer (this use is sometimes
  584. X   spelled `klone' or `PClone').  These invariably have much
  585. X   more bang for the buck than the IBM archetypes they resemble.  5.
  586. X   In the construction `UNIX clone': An OS designed to deliver a
  587. X   UNIX-lookalike environment sans UNIX license fees, or with
  588. X   additional `mission-critical' features such as support for
  589. X   real-time programming.  6. v. To make an exact copy of something.
  590. X   "Let me clone that" might mean "I want to borrow that paper so I
  591. X   can make a photocopy" or "Let me get a copy of that file before
  592. X   you {mung} it".
  593. X
  594. Xclustergeeking: /kluh'ster-gee`king/ [CMU] n. An activity defined by
  595. X   spending more time at a computer cluster doing CS homework than
  596. X   most people spend breathing.
  597. X
  598. XCOBOL: [COmmon Business-Oriented Language] n. Synonymous with
  599. X   {evil} --- a weak, verbose, and flabby language used by {card
  600. X   walloper}s to do boring mindless things on {dinosaur} mainframes.
  601. X   Hackers believe all COBOL programmers are {suit}s or {code
  602. X   grinder}s, and no self-respecting hacker will ever admit to having
  603. X   learned the language.  Its very name is seldom uttered without
  604. X   ritual expressions of disgust or horror.  See also {fear and
  605. X   loathing}, {software rot}.
  606. X
  607. XCOBOL fingers: /koh'bol fing'grs/ n. Reported from Sweden, a
  608. X   (hypothetical) disease one might get from programming in COBOL.
  609. X   The language requires code verbose beyond all reason.  Programming
  610. X   too much in COBOL causes the fingers to wear down (by endless
  611. X   typing), until short stubs remain.  This malformity is called
  612. X   `COBOL fingers'.  "I refuse to type in all that source code
  613. X   again; it would give me COBOL fingers!"
  614. X
  615. Xcode grinder: n. 1. A {suit}-wearing minion of the sort hired in
  616. X   legion strength by banks and insurance companies to implement
  617. X   payroll packages in RPG and other such unspeakable horrors.  In his
  618. X   native habitat, the code grinder often removes the suit jacket to
  619. X   reveal an underplumage consisting of button-down shirt (starch
  620. X   optional) and a tie.  In times of dire stress, the sleeves (if
  621. X   long) may be rolled up and the tie loosened about half an inch.  It
  622. X   seldom helps.  The {code grinder}'s milieu is about as far from
  623. X   hackerdom as you can get and still touch a computer; the term
  624. X   connotes pity.  See {Real World}, {suit}.  2. Used of or to a
  625. X   hacker, a really serious slur on the person's creative ability;
  626. X   connotes a design style characterized by primitive technique,
  627. X   rule-boundedness, and utter lack of imagination.  Compare {card
  628. X   walloper}.
  629. X
  630. Xcode police: [by analogy with `thought police'] n. A mythical team
  631. X   of Gestapo-like storm troopers that might burst into one's office
  632. X   and arrest one for violating style rules.  May be used either
  633. X   seriously, to underline a claim that a particular style violation
  634. X   is dangerous, or ironically, to suggest that the practice under
  635. X   discussion is condemned mainly by anal-retentive weenies.  The
  636. X   ironic usage is perhaps more common.
  637. X
  638. Xcodewalker: n. A program component that traverses other programs for
  639. X   a living.  Compilers have codewalkers in their front ends; so do
  640. X   cross-reference generators and some database front-ends.  Other
  641. X   utility programs that try to do too much with source code may turn
  642. X   into codewalkers.  As in "This new `vgrind' feature would require a
  643. X   codewalker to implement."
  644. X
  645. Xcoefficient of x: n. Hackish speech makes rather heavy use of
  646. X   pseudo-mathematical metaphors.  Four particularly important ones
  647. X   involve the terms `coefficient', `factor', `index' and
  648. X   `quotient'.  They are often loosely applied to things you
  649. X   cannot really be quantitative about, but there are subtle
  650. X   distinctions between them that convey information about the way the
  651. X   speaker mentally models whatever he or she is describing.
  652. X
  653. X   `Foo factor' and `foo quotient' tend to describe something
  654. X   for which the issue is one of presence or absence.  The canonical
  655. X   example is {fudge factor}.  It's not important how much you're
  656. X   fudging; the term simply acknowledges that some fudging is needed.
  657. X   You might talk of liking a movie for its silliness factor.
  658. X   Quotient tends to imply that the property is a ratio of two
  659. X   opposing factors: "I would have won except for my luck quotient."
  660. X   This could also be, "I would have won except for the luck factor",
  661. X   but using *quotient* emphasizes that it was bad luck
  662. X   overpowering good luck.   
  663. X
  664. X   `Foo index' and `coefficient of foo' both tend to imply
  665. X   that foo is, if not strictly measurable, at least something that
  666. X   can be larger or smaller.  Thus, you might refer to a paper or
  667. X   person as having a `high bogosity index', whereas you would be less
  668. X   likely to speak of a `high bogosity factor'.  `Foo index' suggests
  669. X   that foo is a condensation of many quantities, as in the mundane
  670. X   cost-of-living index; `coefficient of foo' suggests that foo is a
  671. X   fundamental quantity, as in a coefficient of friction.  The choice
  672. X   between these terms is often one of personal preference; e.g., some
  673. X   people might feel that bogosity is a fundamental attribute and thus
  674. X   say "coefficient of bogosity", whereas others might feel it is a
  675. X   combination of factors and thus say "bogosity index".
  676. X
  677. Xcokebottle: /kohk'bot-l/ n. Any very unusual character,
  678. X   particularly one that isn't on your keyboard so you can't type it.
  679. X   MIT people used to complain about the `control-meta-cokebottle'
  680. X   commands at SAIL, and SAIL people complained right back about the
  681. X   `altmode-altmode-cokebottle' commands at MIT.  After the demise of
  682. X   the {space-cadet keyboard}, cokebottle faded away as serious
  683. X   usage, but was often invoked humorously to describe an
  684. X   (unspecified) weird or non-intuitive keystroke command.  It may be
  685. X   due for a second inning, however.  The OSF/Motif window manager,
  686. X   mwm, has a reserved keystroke for switching to the default set of
  687. X   keybindings and behavior.  This keystroke is (believe it or not)
  688. X   `control-meta-bang' (see {bang}).  Since the exclamation point
  689. X   looks a lot like an upside down coke bottle, Motif hackers have
  690. X   begun referring to this keystroke as cokebottle.  See also
  691. X   {quadruple bucky}.
  692. X
  693. XCOME FROM: n. A semi-mythical language construct dual to the `go
  694. X   to'; COME FROM <label> would cause the referenced label to act as a
  695. X   sort of trapdoor, so that if the program ever reached it control
  696. X   would quietly and {automagically} be transferred to the statement
  697. X   following the COME FROM.  COME FROM was first proposed in a
  698. X   {Datamation} article of December 1973 (reprinted in the April
  699. X   1984 issue of Communications of the ACM) that parodied the
  700. X   then-raging `structured programming' {holy wars} (see
  701. X   {considered harmful}).  Mythically, some variants are the
  702. X   `assigned come from', and the `computed come from'
  703. X   (parodying some nasty control constructs in FORTRAN and some
  704. X   extended BASICs).  Obviously, multi-tasking (or non-determinism)
  705. X   could be implemented by having more than one COME FROM statement
  706. X   coming from the same label.
  707. X
  708. X   In some ways the FORTRAN DO looks like a COME FROM statement.
  709. X   After the terminating label/CONTINUE is reached, control continues
  710. X   at the statement following the DO.  Some generous FORTRANs would
  711. X   allow arbitrary statements (other than CONTINUE) for the
  712. X   label, leading to examples like this
  713. X
  714. X           DO 10 I=1,LIMIT
  715. X     C imagine many lines of code here, leaving the original DO
  716. X     C statement lost in the spaghetti...
  717. X           WRITE(6,10) I,FROB(I)
  718. X      10   FORMAT(1X,I5,G10.4)
  719. X
  720. X   in which the trapdoor is just after the statement labelled 10.
  721. X
  722. X   While sufficiently astonishing to the unsuspecting reader, this
  723. X   form of COME FROM statement isn't completely general.  After all,
  724. X   control will eventually pass to the following statement.  The
  725. X   implementation of the general form was left to Univac FORTRAN,
  726. X   c.1975.  The statement `AT 100' would perform a `COME
  727. X   FROM 100'.  It was intended strictly as a debugging aid, with dire
  728. X   consequences promised to anyone so deranged as to use it in
  729. X   production code.  More horrible things had already been perpetrated
  730. X   in production languages, however; doubters need only contemplate
  731. X   COBOL's `ALTER' verb.
  732. X
  733. X   COME FROM was supported under its own name for the first time
  734. X   fifteen years later, in C-INTERCAL (see {INTERCAL},
  735. X   {retrocomputing}); knowledgeable observers are still reeling from
  736. X   shock.
  737. X
  738. Xcommand key: [Mac users] n. The Macintosh key with the cloverleaf
  739. X   graphic on its keytop; sometimes referred to as `flower',
  740. X   `clover', `propellor', or `beanie' (an apparent reference to the
  741. X   propellor on a beanie).  The Mac's equivalent to an {ALT} key.
  742. X
  743. Xcomm mode: /kom mohd/ [from the ITS feature supporting on-line
  744. X   chat, spelled with one or two Ms] Syn. for {talk mode}; also
  745. X   spelled `com mode'.
  746. X
  747. Xcomment out: vt. To surround a section of code with comment
  748. X   delimiters or to prefix every line in the section with a comment
  749. X   marker; this prevents it from being compiled or interpreted.  Often
  750. X   done when the code is redundant or obsolete, but you want to leave
  751. X   it in the source to make the intent of the active code clearer;
  752. X   also when the code in that section is broken and you want to bypass
  753. X   it in order to debug some other part of the code.  Compare
  754. X   {condition out}, usually the preferred technique in languages
  755. X   (like {C}) that make it possible.
  756. X
  757. XCommonwealth Hackish:: n. Hacker jargon as spoken outside the
  758. X   U.S., esp. in the British Commonwealth.  It is reported that
  759. X   Commonwealth speakers are more likely to pronounce `char', `soc',
  760. X   etc. as spelled (/char/, /sok/) as opposed to American /keir/ or
  761. X   /sohsh/.  Dots in {newsgroup} names tend to be pronounced more
  762. X   often (so soc.wibble is /sok dot wi'bble/ rather than /sohsh
  763. X   wib'ble/).  The prefix {meta} may be pronounced /mee't@-/;
  764. X   similarly, Greek letter beta is often /bee't@/, zeta is often
  765. X   /zee't@/ and so forth.  Preferred metasyntactic variables include
  766. X   EEK, OOK, FRODO, and BILBO; WIBBLE, WOBBLE, and in emergencies
  767. X   WUBBLE; BANANA, WOMBAT, FROG, {fish}, and so on and on (see
  768. X   {foo}, sense #4).
  769. X
  770. X   Alternatives to verb doubling include suffixes `-o-rama',
  771. X   `frenzy' (as in feeding frenzy) and `city' (as in "barf
  772. X   city!" "hack-o-rama!" "core dump frenzy!").  Finally, note
  773. X   that the American terms `parens', `brackets', and `braces' for (),
  774. X   [], and {} are uncommon; Commonwealth hackish prefers
  775. X   `brackets', `square brackets', and `curly brackets'.  Also, the
  776. X   use of `pling' for {bang} is common outside the United States.
  777. X
  778. X   See also {attoparsec}, {calculator}, {chemist}, {console
  779. X   jockey}, {fish}, {grunge}, {hakspek}, {heavy metal},
  780. X   {leaky heap}, {lord high fixer}, {noddy},
  781. X   {psychedelicware}, {plingnet}, {raster blaster}, {seggie},
  782. X   {spin-lock}, {terminal junkie}, {tick-list features},
  783. X   {weeble}, {weasel}, {YABA}, and notes or definitions under
  784. X   {Bad Thing}, {barf}, {bogus}, {bum}, {chase pointers},
  785. X   {cosmic rays}, {crippleware}, {crunch}, {dodgy}, {gonk},
  786. X   {mess-dos}, {nybble}, {root}, {tweak}, and
  787. X   {xyzzy}.
  788. X
  789. Xcompact: adj. Of a design, describes the valuable property that it
  790. X   can all be apprehended at once in one's head.  This generally means
  791. X   the thing created from the design can be used with greater facility
  792. X   and fewer errors than an equivalent tool that is not compact.  Note
  793. X   that compactness does not imply triviality or lack of power; for
  794. X   example, C is compact and FORTRAN is not, but C is more powerful
  795. X   than FORTRAN.  Designs become non-compact through accreting
  796. X   {feature}s and {cruft} that don't merge cleanly into the overall
  797. X   design scheme.
  798. X
  799. Xcompress: [UNIX] vt. When used without a qualifier, generally refers
  800. X   to {crunch}ing of a file using a particular C implementation of
  801. X   Lempel-Ziv compression by James A. Woods et al. and widely
  802. X   circulated via {USENET}.  Use of {crunch} itself in this sense is
  803. X   rare among UNIX hackers.
  804. X
  805. Xcomputer confetti: n. Syn {chad}.  Though this term is common,
  806. X   this use of the punched-card chad is not a good idea, as the pieces
  807. X   are stiff and have sharp corners that could injure the eyes.  GLS
  808. X   reports that he once attended a wedding at MIT during which he and
  809. X   a few otherguests enthusiastically threw chad instead of rice. The
  810. X   groom later grumbled that he and his bride had spent most of the
  811. X   evening trying to get the stuff out of their hair.
  812. X
  813. Xcomputer geek: n. One who eats (computer) bugs for a living.  One
  814. X   who fulfills all of the dreariest negative stereotypes about
  815. X   hackers: an asocial, malodorous, pasty-faced monomaniac with all
  816. X   the personality of a cheese grater.  Cannot be used by outsiders
  817. X   without implied insult to all hackers; compare black-on-black usage
  818. X   of `nigger'.  A computer geek may be either a fundamentally
  819. X   clueless individual or a proto-hacker in {larval stage}.  Also
  820. X   called `turbo nerd', `turbo geek'.  See also
  821. X   {clustergeeking}, {wannabee}, {terminal junkie}.
  822. X
  823. Xcomputron: /kom'pyoo-tron`/ n. 1. A notional unit of computing power
  824. X   combining instruction speed and storage capacity, dimensioned
  825. X   roughly in instructions-per-second times megabytes-of-main-store times
  826. X   megabytes-of-mass-storage.  "That machine can't run GNU EMACS, it
  827. X   doesn't have enough computrons!"  This usage is usually found in
  828. X   metaphors that treat computing power as a fungible commodity good
  829. X   like a crop yield or diesel horsepower.  See {bitty box}, {Get a
  830. X   real computer!}, {toy}, {crank}.  2. A mythical subatomic particle
  831. X   that bears the unit quantity of computation or information, in much
  832. X   the same way that an electron bears one unit of electric charge
  833. X   (see {bogon}).  An elaborate pseudo-scientific theory of computrons
  834. X   has been worked out based on the physical fact that the molecules
  835. X   in a solid object move more rapidly as it is heated.  It is argued
  836. X   that an object melts because the molecules have lost their
  837. X   information about where they are supposed to be (that is, they have
  838. X   emitted computrons).  This explains why computers get so hot and
  839. X   require air conditioning; they use up computrons.  Conversely, you
  840. X   should be able to cool down an object by placing it in the path of
  841. X   a computron beam.  It is believed that this may also explain why
  842. X   machines that work at the factory fail in the computer room ---
  843. X   because the computrons there have been all used up by your other
  844. X   hardware.  (This may owe something to the group of fantasy stories
  845. X   by Larry Niven, beginning with `What Good is a Glass Dagger?',
  846. X   in which magic is fueled by an exhaustible natural resource called
  847. X   `mana').
  848. X
  849. Xcondition out: vt. To prevent a section of code from being compiled
  850. X   by surrounding it with a conditional-compilation directive whose
  851. X   condition is always false.  The {canonical} example is
  852. X   `#if 0' and `#endif' in C.  Compare {comment out}.
  853. X
  854. Xcondom: n. The protective plastic baggy that accompanies 3.5"
  855. X   microfloppy diskettes.  Rarely, used of (paper) disk envelopes.
  856. X   Unlike the write protect, the condom (when left on) not only
  857. X   impedes the practice of {SEX}, it has been shown to have a high
  858. X   failure rate as drive mechanisms attempt to access the disk --- and
  859. X   can even fatally frustrate insertion!
  860. X
  861. Xconnector conspiracy: [probably came into prominence with the
  862. X   appearance of the KL-10, none of whose connectors matched anything
  863. X   else] n. The tendency of manufacturers (or, by extension,
  864. X   programmers or purveyors of anything) to come up with new products
  865. X   which don't fit together with the old stuff, thereby making you buy
  866. X   either all new stuff or expensive interface devices.  The KL-10
  867. X   Massbus connector was actually *patented* by DEC, which
  868. X   then refused to license the design and thus effectively locked
  869. X   third parties out of competition for the lucrative Massbus
  870. X   peripherals market.
  871. X
  872. X   In these latter days of open-systems computing this term has fallen
  873. X   somewhat into disuse, to be replaced by the observation that
  874. X   standards are great!  There are so *many* of them.  Compare
  875. X   {backward combatability}.
  876. X
  877. Xcons: /konz/ or /cons/ [from LISP] 1. v. To add a new element to a
  878. X   list, esp. at the top.  2. `cons up': vt. To synthesize from
  879. X   smaller pieces: "to cons up an example".
  880. X
  881. Xconsidered harmful: adj. Edsger W. Dijkstra's infamous March 1968
  882. X   Communications of the ACM note, `Goto Statement Considered
  883. X   Harmful', fired the first salvo in the `structured programming'
  884. X   wars.  Amusingly, the ACM considered the resulting acrimony
  885. X   sufficiently harmful that they will (by policy) no longer print an
  886. X   article which takes up that assertive a position against a coding
  887. X   practice.  In the ensuing decades, a large number of both serious
  888. X   papers and parodies have borne titles of the form `X considered Y'.
  889. X   The `structured programming' wars eventually blew over with the
  890. X   realization that both sides were wrong, but use of such titles has
  891. X   remained as a persistent minor in-joke (the `considered silly'
  892. X   found at various places in this lexicon is related).
  893. X
  894. Xconsole:: n. 1. The operator's station of a {mainframe}.  In times
  895. X   past, this was a privileged location which conveyed godlike powers
  896. X   to him (almost invariably a `him') with his fingers on the keys.  Under
  897. X   UNIX and other modern timesharing OSs, it is just the {tty} the system
  898. X   was booted from.  Some of the mystique remains, however, and it is
  899. X   traditional for sysadmins to post urgent messages to all users from
  900. X   /dev/console.  2. On microcomputer UNIX boxes: the main screen and
  901. X   keyboard (as opposed to character-only terminals talking to a
  902. X   serial port).  Typically only the console can do real graphics or
  903. X   run {X}.  See also {CTY}.
  904. X
  905. Xconsole jockey: n. See {terminal junkie}.
  906. X
  907. Xcontent-free: adj. Ironic analogy with `context-free', used of a
  908. X   message that adds nothing to the recipient's knowledge.  Though
  909. X   this adjective is sometimes applied to {flamage}, it more usually
  910. X   connotes derision for communication styles which exalt form over
  911. X   substance, or are centered on concerns irrelevant to the subject
  912. X   ostensibly at hand.  Perhaps most used with reference to speeches
  913. X   by company presidents and like animals.  "Content-free?
  914. X   Uh...that's anything printed on glossy paper".  See also
  915. X   {four-color glossies}.
  916. X
  917. XConway's Law: prov. The rule that the organization of the software and
  918. X   the organization of the software team will be congruent; originally
  919. X   stated as "If you have four groups working on a compiler, you'll
  920. X   get a four-pass compiler."
  921. X
  922. X   This was originally promulgated by Melvin Conway, an early
  923. X   proto-hacker who wrote an assembler for the Burroughs 220 called
  924. X   SAVE.  The name `SAVE' didn't stand for anything; it was just that
  925. X   you lost fewer decks and listings because they all had SAVE written
  926. X   on top of them.
  927. X
  928. Xcookie: n. A handle, transaction ID, or other token of agreement
  929. X   between cooperating programs.  "I give him a packet, he gives me
  930. X   back a cookie."  Compare {magic cookie}; see also {fortune
  931. X   cookie}.
  932. X
  933. Xcookie file: n. A collection of {fortune cookie}s in a format
  934. X   that facilitates retrieval by a fortune program.  There are several
  935. X   different ones in public distribution, and site admins often
  936. X   assemble their own from various sources including this lexicon.
  937. X
  938. Xcookie monster: [from `Sesame Street'] n. Any of a family of
  939. X   early (1970s) hacks reported on {TOPS-10}, {ITS}, {Multics},
  940. X   and elsewhere that would lock up either the victim's terminal (on a
  941. X   time-sharing machine) or the {{console}} (on a batch
  942. X   {mainframe}), repeatedly demanding "I WANT A COOKIE".  The
  943. X   required responses ranged in complexity from "COOKIE" through
  944. X   "HAVE A COOKIE" and upward.  See also {wabbit}.
  945. SHAR_EOF
  946. true || echo 'restore of jargon.ascii failed'
  947. fi
  948. echo 'End of part 4, continue with part 5'
  949. echo 5 > _shar_seq_.tmp
  950. exit 0
  951.