Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

The New Hacker's Dictionary

.pdf
Скачиваний:
225
Добавлен:
10.08.2013
Размер:
1.62 Mб
Скачать

291

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:[3242]creep, Previous:[3243]crayon, Up:[3244]=

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 [3245]management, they are generally ignored.

---

Node:creep, Next:[3246]creeping elegance, Previous:[3247]creationism, Up:[3248]= 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:[3249]creeping featurism,

Previous:[3250]creep, Up:[3251]= C =

292

creeping elegance n.

Describes a tendency for parts of a design to become [3252]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 [3253]Real World. See also [3254]creeping featurism, [3255]second-system effect, [3256]tense.

---

Node:creeping featurism, Next:[3257]creeping featuritis,

Previous:[3258]creeping elegance, Up:[3259]= C =

creeping featurism /kree'ping fee'chr-izm/ n.

[common] 1. Describes a systematic tendency to load more [3260]chrome and [3261]features onto systems at the expense of whatever elegance they may have possessed when originally designed. See also [3262]feeping creaturism. "You know, the main problem with [3263]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 [3264]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 [3265]second-system effect. See also [3266]creeping elegance.

---

Node:creeping featuritis, Next:[3267]cretin, Previous:[3268]creeping featurism, Up:[3269]= C =

293

creeping featuritis /kree'ping fee'-chr-i:`t*s/ n.

Variant of [3270]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:[3271]cretinous, Previous:[3272]creeping featuritis, Up:[3273]= C =

cretin /kret'in/ or /kree'tn/ n.

Congenital [3274]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:[3275]crippleware, Previous:[3276]cretin,

Up:[3277]= C =

cretinous /kret'n-*s/ or /kreet'n-*s/ adj.

Wrong; stupid; non-functional; very poorly designed. Also used pejoratively of people. See [3278]dread high-bit disease for an example. Approximate synonyms: [3279]bletcherous, [3280]bagbiting [3281]losing, [3282]brain-damaged.

---

294

Node:crippleware, Next:[3283]critical mass, Previous:[3284]cretinous, Up:[3285]= 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 [3286]guiltware that exhorts you to donate to some charity (compare [3287]careware, [3288]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:[3289]crlf, Previous:[3290]crippleware, Up:[3291]= 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 [3292]epsilon bugs. (This malady has many causes: [3293]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:[3294]crock, Previous:[3295]critical mass, Up:[3296]= C =

295

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 [3297]newline, [3298]terpri. Under [3299]Unix influence this usage has become less common (Unix uses a bare line feed as its `CRLF').

---

Node:crock, Next:[3300]cross-post, Previous:[3301]crlf, Up:[3302]= 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 [3303]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 [3304]The Story of Mel in Appendix A.) Many crocks have a tightly woven, almost completely unmodifiable structure. See [3305]kluge, [3306]brittle. The adjectives `crockish' and `crocky', and the nouns `crockishness' and `crockitude', are also used.

---

Node:cross-post, Next:[3307]crossload, Previous:[3308]crock, Up:[3309]=

C =

cross-post vi.

296

[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 [3310]followup articles to go to inappropriate newsgroups when people respond to only one part of the original posting.

---

Node:crossload, Next:[3311]crudware, Previous:[3312]cross-post,

Up:[3313]= C =

crossload v.,n.

[proposed, by analogy with [3314]upload and [3315]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:[3316]cruft, Previous:[3317]crossload, Up:[3318]= C

=

crudware /kruhd'weir/ n.

Pejorative term for the hundreds of megabytes of low-quality [3319]freeware circulated by user's groups and BBS systems in the micro-hobbyist world. "Yet another set of disk catalog utilities for [3320]MS-DOS? What crudware!"

---

Node:cruft, Next:[3321]cruft together, Previous:[3322]crudware, Up:[3323]= C =

297

cruft /kruhft/

[very common; back-formation from [3324]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 [3325]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:[3326]cruftsmanship, Previous:[3327]cruft, Up:[3328]= C =

cruft together vt.

(also `cruft up') To throw together something ugly but temporarily workable. Like vt. [3329]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 [3330]hack together, [3331]hack up, [3332]kluge up, [3333]crufty.

---

Node:cruftsmanship, Next:[3334]crufty, Previous:[3335]cruft together, Up:[3336]= C =

cruftsmanship /kruhfts'm*n-ship / n.

[from [3337]cruft] The antithesis of craftsmanship.

---

298

Node:crufty, Next:[3338]crumb, Previous:[3339]cruftsmanship,

Up:[3340]= C =

crufty /kruhf'tee/ adj.

[very common; origin unknown; poss. from `crusty' or `cruddy'] 1. Poorly built, possibly over-complex. The [3341]canonical example is "This is standard old crufty [3342]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 [3343]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, [3344]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:[3345]crunch, Previous:[3346]crufty, Up:[3347]= C =

crumb n.

Two binary digits; a [3348]quad. Larger than a [3349]bit, smaller than a [3350]nybble. Considered silly. Syn. [3351]tayste. General discussion of such terms is under [3352]nybble.

---

299

Node:crunch, Next:[3353]cryppie, Previous:[3354]crumb, Up:[3355]= 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 [3356]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 [3357]number-crunching.) See [3358]compress. 3. n. The character #. Used at XEROX and CMU, among other places. See [3359]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). [3360]Obfuscated C Contest entries are often crunched; see the first example under that entry.

---

Node:cryppie, Next:[3361]CTSS, Previous:[3362]crunch, Up:[3363]= C =

cryppie /krip'ee/ n.

A cryptographer. One who hacks or implements cryptographic software or hardware.

---

300

Node:CTSS, Next:[3364]cube, Previous:[3365]cryppie, Up:[3366]= 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 [3367]Multics, [3368]Unix, and [3369]ITS. The name [3370]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:[3371]cubing, Previous:[3372]CTSS, Up:[3373]= 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:[3374]cup holder, Previous:[3375]cube, Up:[3376]= 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).

---

Соседние файлы в предмете Английский язык