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.