The Jargon File, Version 4.2.2, 20 Aug 2000
Chapter 17
crawling horror n.
Ancient crufty hardware or software that is kept obstinately alive by forces beyond the control of the hackers at a site. Like dusty deck or gonkulator, but connotes that the thing described is not just an irritation but an active menace to health and sanity. "Mostly we code new stuff in C, but they pay us to maintain one big FORTRAN II application from nineteen-sixty-X that's a real crawling horror...." Compare WOMBAT.
Node:cray, Next:cray instability, Previous:crawling horror, Up:= C =
cray /kray/ n.
1. (properly, capitalized) One of the line of supercomputers designed by Cray Research. 2. Any supercomputer at all. 3. The canonical number-crunching machine.
The term is actually the lowercased last name of Seymour Cray, a noted computer architect and co-founder of the company. Numerous vivid legends surround him, some true and some admittedly invented by Cray Research brass to shape their corporate culture and image.
Node:cray instability, Next:crayola, Previous:cray, Up:= C =
cray instability n.
1. A shortcoming of a program or algorithm that manifests itself only when a large problem is being run on a powerful machine (see cray). Generally more subtle than bugs that can be detected in smaller problems running on a workstation or mini. 2. More specifically, a shortcoming of algorithms which are well behaved when run on gentle floating point hardware (such as IEEE-standard or PDP-series machines) but which break down badly when exposed to a Cray's unique `rounding' rules.
Node:crayola, Next:crayola books, Previous:cray instability, Up:= C =
crayola /kray-oh'l*/ n.
A super-mini or -micro computer that provides some reasonable percentage of supercomputer performance for an unreasonably low price. Might also be a killer micro.
Node:crayola books, Next:crayon, Previous:crayola, Up:= C =
crayola books n.
The rainbow series of National Computer Security Center (NCSC) computer security standards (see Orange Book). Usage: humorous and/or disparaging.
Node:crayon, Next:creationism, Previous:crayola books, Up:= C =
crayon n.
1. Someone who works on Cray supercomputers. More specifically, it implies a programmer, probably of the CDC ilk, probably male, and almost certainly wearing a tie (irrespective of gender). Systems types who have a Unix background tend not to be described as crayons. 2. Formerly, anyone who worked for Cray Research; since the buyout by SGI, anyone they inherited from Cray. 3. A computron (sense 2) that participates only in number-crunching. 4. A unit of computational power equal to that of a single Cray-1. There is a standard joke about this usage that derives from an old Crayola crayon promotional gimmick: When you buy 64 crayons you get a free sharpener.
Node:creationism, Next:creep, Previous:crayon, Up:= C =
creationism n.
The (false) belief that large, innovative software designs can be completely specified in advance and then painlessly magicked out of the void by the normal efforts of a team of normally talented programmers. In fact, experience has shown repeatedly that good designs arise only from evolutionary, exploratory interaction between one (or at most a small handful of) exceptionally able designer(s) and an active user population -- and that the first try at a big new idea is always wrong. Unfortunately, because these truths don't fit the planning models beloved of management, they are generally ignored.
Node:creep, Next:creeping elegance, Previous:creationism, Up:= C =
creep v.
To advance, grow, or multiply inexorably. In hackish usage this verb has overtones of menace and silliness, evoking the creeping horrors of low-budget monster movies.
Node:creeping elegance, Next:creeping featurism, Previous:creep, Up:= C =
creeping elegance n.
Describes a tendency for parts of a design to become elegant past the point of diminishing return, something which often happens at the expense of the less interesting parts of the design, the schedule, and other things deemed important in the Real World. See also creeping featurism, second-system effect, tense.
Node:creeping featurism, Next:creeping featuritis, Previous:creeping elegance, Up:= C =
creeping featurism /kree'ping fee'chr-izm/ n.
[common] 1. Describes a systematic tendency to load more chrome and features onto systems at the expense of whatever elegance they may have possessed when originally designed. See also feeping creaturism. "You know, the main problem with BSD Unix has always been creeping featurism." 2. More generally, the tendency for anything complicated to become even more complicated because people keep saying "Gee, it would be even better if it had this feature too". (See feature.) The result is usually a patchwork because it grew one ad-hoc step at a time, rather than being planned. Planning is a lot of work, but it's easy to add just one extra little feature to help someone ... and then another ... and another.... When creeping featurism gets out of hand, it's like a cancer. Usually this term is used to describe computer programs, but it could also be said of the federal government, the IRS 1040 form, and new cars. A similar phenomenon sometimes afflicts conscious redesigns; see second-system effect. See also creeping elegance.
Node:creeping featuritis, Next:cretin, Previous:creeping featurism, Up:= C =
creeping featuritis /kree'ping fee'-chr-i:`t*s/ n.
Variant of creeping featurism, with its own spoonerization: `feeping creaturitis'. Some people like to reserve this form for the disease as it actually manifests in software or hardware, as opposed to the lurking general tendency in designers' minds. (After all, -ism means `condition' or `pursuit of', whereas -itis usually means `inflammation of'.)
Node:cretin, Next:cretinous, Previous:creeping featuritis, Up:= C =
cretin /kret'in/ or /kree'tn/ n.
Congenital loser; an obnoxious person; someone who can't do anything right. It has been observed that many American hackers tend to favor the British pronunciation /kret'in/ over standard American /kree'tn/; it is thought this may be due to the insidious phonetic influence of Monty Python's Flying Circus.
Node:cretinous, Next:crippleware, Previous:cretin, Up:= C =
cretinous /kret'n-*s/ or /kreet'n-*s/ adj.
Wrong; stupid; non-functional; very poorly designed. Also used pejoratively of people. See dread high-bit disease for an example. Approximate synonyms: bletcherous, bagbiting losing, brain-damaged.
Node:crippleware, Next:critical mass, Previous:cretinous, Up:= C =
crippleware n.
1. [common] Software that has some important functionality deliberately removed, so as to entice potential users to pay for a working version. 2. [Cambridge] Variety of guiltware that exhorts you to donate to some charity (compare careware, nagware). 3. Hardware deliberately crippled, which can be upgraded to a more expensive model by a trivial change (e.g., cutting a jumper).
An excellent example of crippleware (sense 3) is Intel's 486SX chip, which is a standard 486DX chip with the co-processor diked out (in some early versions it was present but disabled). To upgrade, you buy a complete 486DX chip with working co-processor (its identity thinly veiled by a different pinout) and plug it into the board's expansion socket. It then disables the SX, which becomes a fancy power sink. Don't you love Intel?
Node:critical mass, Next:crlf, Previous:crippleware, Up:= C =
critical mass n.
In physics, the minimum amount of fissionable material required to sustain a chain reaction. Of a software product, describes a condition of the software such that fixing one bug introduces one plus epsilon bugs. (This malady has many causes: creeping featurism, ports to too many disparate environments, poor initial design, etc.) When software achieves critical mass, it can never be fixed; it can only be discarded and rewritten.
Node:crlf, Next:crock, Previous:critical mass, Up:= C =
crlf /ker'l*f/, sometimes /kru'l*f/ or /C-R-L-F/ n.
(often capitalized as `CRLF') A carriage return (CR, ASCII 0001101) followed by a line feed (LF, ASCII 0001010). More loosely, whatever it takes to get you from the end of one line of text to the beginning of the next line. See newline, terpri. Under Unix influence this usage has become less common (Unix uses a bare line feed as its `CRLF').
Node:crock, Next:cross-post, Previous:crlf, Up:= C =
crock n.
[from the American scatologism `crock of shit'] 1. An awkward feature or programming technique that ought to be made cleaner. For example, using small integers to represent error codes without the program interpreting them to the user (as in, for example, Unix make(1), which returns code 139 for a process that dies due to segfault). 2. A technique that works acceptably, but which is quite prone to failure if disturbed in the least. For example, a too-clever programmer might write an assembler which mapped instruction mnemonics to numeric opcodes algorithmically, a trick which depends far too intimately on the particular bit patterns of the opcodes. (For another example of programming with a dependence on actual opcode values, see The Story of Mel in Appendix A.) Many crocks have a tightly woven, almost completely unmodifiable structure. See kluge, brittle. The adjectives `crockish' and `crocky', and the nouns `crockishness' and `crockitude', are also used.
Node:cross-post, Next:crossload, Previous:crock, Up:= C =
cross-post vi.
[Usenet; very common] To post a single article simultaneously to several newsgroups. Distinguished from posting the article repeatedly, once to each newsgroup, which causes people to see it multiple times (which is very bad form). Gratuitous cross-posting without a Followup-To line directing responses to a single followup group is frowned upon, as it tends to cause followup articles to go to inappropriate newsgroups when people respond to only one part of the original posting.
Node:crossload, Next:crudware, Previous:cross-post, Up:= C =
crossload v.,n.
[proposed, by analogy with upload and download] To move files between machines on a peer-to-peer network of nodes that act as both servers and clients for a distributed file store. Esp. appropriate for ananonymized networks like Gnutella and Freenet.
Node:crudware, Next:cruft, Previous:crossload, Up:= C =
crudware /kruhd'weir/ n.
Pejorative term for the hundreds of megabytes of low-quality freeware circulated by user's groups and BBS systems in the micro-hobbyist world. "Yet another set of disk catalog utilities for MS-DOS? What crudware!"
Node:cruft, Next:cruft together, Previous:crudware, Up:= C =
cruft /kruhft/
[very common; back-formation from crufty] 1. n. An unpleasant substance. The dust that gathers under your bed is cruft; the TMRC Dictionary correctly noted that attacking it with a broom only produces more. 2. n. The results of shoddy construction. 3. vt. [from `hand cruft', pun on `hand craft'] To write assembler code for something normally (and better) done by a compiler (see hand-hacking). 4. n. Excess; superfluous junk; used esp. of redundant or superseded code. 5. [University of Wisconsin] n. Cruft is to hackers as gaggle is to geese; that is, at UW one properly says "a cruft of hackers".
Node:cruft together, Next:cruftsmanship, Previous:cruft, Up:= C =
cruft together vt.
(also `cruft up') To throw together something ugly but temporarily workable. Like vt. kluge up, but more pejorative. "There isn't any program now to reverse all the lines of a file, but I can probably cruft one together in about 10 minutes." See hack together, hack up, kluge up, crufty.
Node:cruftsmanship, Next:crufty, Previous:cruft together, Up:= C =
cruftsmanship /kruhfts'm*n-ship / n.
[from cruft] The antithesis of craftsmanship.
Node:crufty, Next:crumb, Previous:cruftsmanship, Up:= C =
crufty /kruhf'tee/ adj.
[very common; origin unknown; poss. from `crusty' or `cruddy'] 1. Poorly built, possibly over-complex. The canonical example is "This is standard old crufty DEC software". In fact, one fanciful theory of the origin of `crufty' holds that was originally a mutation of `crusty' applied to DEC software so old that the `s' characters were tall and skinny, looking more like `f' characters. 2. Unpleasant, especially to the touch, often with encrusted junk. Like spilled coffee smeared with peanut butter and catsup. 3. Generally unpleasant. 4. (sometimes spelled `cruftie') n. A small crufty object (see frob); often one that doesn't fit well into the scheme of things. "A LISP property list is a good place to store crufties (or, collectively, random cruft)."
This term is one of the oldest in the jargon and no one is sure of its etymology, but it is suggestive that there is a Cruft Hall at Harvard University which is part of the old physics building; it's said to have been the physics department's radar lab during WWII. To this day (early 1993) the windows appear to be full of random techno-junk. MIT or Lincoln Labs people may well have coined the term as a knock on the competition.
Node:crumb, Next:crunch, Previous:crufty, Up:= C =
crumb n.
Two binary digits; a quad. Larger than a bit, smaller than a nybble. Considered silly. Syn. tayste. General discussion of such terms is under nybble.
Node:crunch, Next:cryppie, Previous:crumb, Up:= C =
crunch 1. vi.
To process, usually in a time-consuming or complicated way. Connotes an essentially trivial operation that is nonetheless painful to perform. The pain may be due to the triviality's being embedded in a loop from 1 to 1,000,000,000. "FORTRAN programs do mostly number-crunching." 2. vt. To reduce the size of a file by a complicated scheme that produces bit configurations completely unrelated to the original data, such as by a Huffman code. (The file ends up looking something like a paper document would if somebody crunched the paper into a wad.) Since such compression usually takes more computations than simpler methods such as run-length encoding, the term is doubly appropriate. (This meaning is usually used in the construction `file crunch(ing)' to distinguish it from number-crunching.) See compress. 3. n. The character #. Used at XEROX and CMU, among other places. See ASCII. 4. vt. To squeeze program source into a minimum-size representation that will still compile or execute. The term came into being specifically for a famous program on the BBC micro that crunched BASIC source in order to make it run more quickly (it was a wholly interpretive BASIC, so the number of characters mattered). Obfuscated C Contest entries are often crunched; see the first example under that entry.
Node:cryppie, Next:CTSS, Previous:crunch, Up:= C =
cryppie /krip'ee/ n.
A cryptographer. One who hacks or implements cryptographic software or hardware.
Node:CTSS, Next:cube, Previous:cryppie, Up:= C =
CTSS /C-T-S-S/ n.
Compatible Time-Sharing System. An early (1963) experiment in the design of interactive time-sharing operating systems, ancestral to Multics, Unix, and ITS. The name ITS (Incompatible Time-sharing System) was a hack on CTSS, meant both as a joke and to express some basic differences in philosophy about the way I/O services should be presented to user programs.
Node:cube, Next:cubing, Previous:CTSS, Up:= C =
cube n.
1. [short for `cubicle'] A module in the open-plan offices used at many programming shops. "I've got the manuals in my cube." 2. A NeXT machine (which resembles a matte-black cube).
Node:cubing, Next:cup holder, Previous:cube, Up:= C =
cubing vi.
[parallel with `tubing'] 1. Hacking on an IPSC (Intel Personal SuperComputer) hypercube. "Louella's gone cubing again!!" 2. Hacking Rubik's Cube or related puzzles, either physically or mathematically. 3. An indescribable form of self-torture (see sense 1 or 2).
Node:cup holder, Next:cursor dipped in X, Previous:cubing, Up:= C =
cup holder n.
The tray of a CD-ROM drive, or by extension the CD drive itself. So called because of a common tech support legend about the idiot who called to complain that the cup holder on his computer broke. A joke program was once distributed around the net called "cupholder.exe", which when run simply extended the CD drive tray. The humor of this was of course lost on people whose drive had a slot or a caddy instead.
Node:cursor dipped in X, Next:cuspy, Previous:cup holder, Up:= C =
cursor dipped in X n.
There are a couple of metaphors in English of the form `pen dipped in X' (perhaps the most common values of X are `acid', `bile', and `vitriol'). These map over neatly to this hackish usage (the cursor being what moves, leaving letters behind, when one is composing on-line). "Talk about a nastygram! He must've had his cursor dipped in acid when he wrote that one!"
Node:cuspy, Next:cut a tape, Previous:cursor dipped in X, Up:= C =
cuspy /kuhs'pee/ adj.
[WPI: from the DEC abbreviation CUSP, for `Commonly Used System Program', i.e., a utility program used by many people] 1. (of a program) Well-written. 2. Functionally excellent. A program that performs well and interfaces well to users is cuspy. See rude. 3. [NYU] Said of an attractive woman, especially one regarded as available. Implies a certain curvaceousness.
Node:cut a tape, Next:cybercrud, Previous:cuspy, Up:= C =
cut a tape vi.
To write a software or document distribution on magnetic tape for shipment. Has nothing to do with physically cutting the medium! Early versions of this lexicon claimed that one never analogously speaks of `cutting a disk', but this has since been reported as live usage. Related slang usages are mainstream business's `cut a check', the recording industry's `cut a record', and the military's `cut an order'.
All of these usages reflect physical processes in obsolete recording and duplication technologies. The first stage in manufacturing an old-style vinyl record involved cutting grooves in a stamping die with a precision lathe. More mundanely, the dominant technology for mass duplication of paper documents in pre-photocopying days involved "cutting a stencil", punching away portions of the wax overlay on a silk screen. More directly, paper tape with holes punched in it was an important early storage medium.
Node:cybercrud, Next:cyberpunk, Previous:cut a tape, Up:= C =
cybercrud /si:'ber-kruhd/ n.
1. [coined by Ted Nelson] Obfuscatory tech-talk. Verbiage with a high MEGO factor. The computer equivalent of bureaucratese. 2. Incomprehensible stuff embedded in email. First there were the "Received" headers that show how mail flows through systems, then MIME (Multi-purpose Internet Mail Extensions) headers and part boundaries, and now huge blocks of radix-64 for PEM (Privacy Enhanced Mail) or PGP (Pretty Good Privacy) digital signatures and certificates of authenticity. This stuff all services a purpose and good user interfaces should hide it, but all too often users are forced to wade through it.
Node:cyberpunk, Next:cyberspace, Previous:cybercrud, Up:= C =
cyberpunk /si:'ber-puhnk/ n.,adj.
[orig. by SF writer Bruce Bethke and/or editor Gardner Dozois] A subgenre of SF launched in 1982 by William Gibson's epoch-making novel "Neuromancer" (though its roots go back through Vernor Vinge's "True Names" (see the Bibliography in Appendix C) to John Brunner's 1975 novel "The Shockwave Rider"). Gibson's near-total ignorance of computers and the present-day hacker culture enabled him to speculate about the role of computers and hackers in the future in ways hackers have since found both irritatingly naïve and tremendously stimulating. Gibson's work was widely imitated, in particular by the short-lived but innovative "Max Headroom" TV series. See cyberspace, ice, jack in, go flatline.
Since 1990 or so, popular culture has included a movement or fashion trend that calls itself `cyberpunk', associated especially with the rave/techno subculture. Hackers have mixed feelings about this. On the one hand, self-described cyberpunks too often seem to be shallow trendoids in black leather who have substituted enthusiastic blathering about technology for actually learning and doing it. Attitude is no substitute for competence. On the other hand, at least cyberpunks are excited about the right things and properly respectful of hacking talent in those who have it. The general consensus is to tolerate them politely in hopes that they'll attract people who grow into being true hackers.
Node:cyberspace, Next:cycle, Previous:cyberpunk, Up:= C =
cyberspace /si:'br-spays`/ n.
1. Notional `information-space' loaded with visual cues and navigable with brain-computer interfaces called `cyberspace decks'; a characteristic prop of cyberpunk SF. Serious efforts to construct virtual reality interfaces modeled explicitly on Gibsonian cyberspace are under way, using more conventional devices such as glove sensors and binocular TV headsets. Few hackers are prepared to deny outright the possibility of a cyberspace someday evolving out of the network (see the network). 2. The Internet or Matrix (sense #2) as a whole, considered as a crude cyberspace (sense 1). Although this usage became widely popular in the mainstream press during 1994 when the Internet exploded into public awareness, it is strongly deprecated among hackers because the Internet does not meet the high, SF-inspired standards they have for true cyberspace technology. Thus, this use of the term usually tags a wannabee or outsider. Oppose meatspace. 3. Occasionally, the metaphoric location of the mind of a person in hack mode. Some hackers report experiencing strong eidetic imagery when in hack mode; interestingly, independent reports from multiple sources suggest that there are common features to the experience. In particular, the dominant colors of this subjective `cyberspace' are often gray and silver, and the imagery often involves constellations of marching dots, elaborate shifting patterns of lines and angles, or moire patterns.
Node:cycle, Next:cycle crunch, Previous:cyberspace, Up:= C =
cycle
1. n. The basic unit of computation. What every hacker wants more of (noted hacker Bill Gosper described himself as a "cycle junkie"). One can describe an instruction as taking so many `clock cycles'. Often the computer can access its memory once on every clock cycle, and so one speaks also of `memory cycles'. These are technical meanings of cycle. The jargon meaning comes from the observation that there are only so many cycles per second, and when you are sharing a computer the cycles get divided up among the users. The more cycles the computer spends working on your program rather than someone else's, the faster your program will run. That's why every hacker wants more cycles: so he can spend less time waiting for the computer to respond. 2. By extension, a notional unit of human thought power, emphasizing that lots of things compete for the typical hacker's think time. "I refused to get involved with the Rubik's Cube back when it was big. Knew I'd burn too many cycles on it if I let myself." 3. vt. Syn. bounce (sense 4), 120 reset; from the phrase `cycle power'. "Cycle the machine again, that serial port's still hung."
Node:cycle crunch, Next:cycle drought, Previous:cycle, Up:= C =
cycle crunch n.,obs.
A situation wherein the number of people trying to use a computer simultaneously has reached the point where no one can get enough cycles because they are spread too thin and the system has probably begun to thrash. This scenario is an inevitable result of Parkinson's Law applied to timesharing. Usually the only solution is to buy more computer. Happily, this has rapidly become easier since the mid-1980s, so much so that the very term `cycle crunch' now has a faintly archaic flavor; most hackers now use workstations or personal computers as opposed to traditional timesharing systems, and are far more likely to complain of `bandwidth crunch' on their shared networks rather than cycle crunch.
Node:cycle drought, Next:cycle of reincarnation, Previous:cycle crunch, Up:= C =