= K =

K /K/ [from kilo-] n. A kilobyte. Used both as a spoken word and a written suffix (like meg and gig for megabyte and gigabyte). See quantifiers.

K&R [Kernighan and Ritchie] n. Brian Kernighan and Dennis Ritchie's book "The C Programming Language", esp. the classic and influential first edition (Prentice-Hall 1978; ISBN 0-113-110163-3). Syn. White Book, Old Testament. See also New Testament.

kahuna /k*-hoo'n*/ [IBM: from the Hawaiian title for a shaman] n. Synonym for wizard, guru.

kamikaze packet n. The `official' jargon for what is more commonly called a Christmas Tree Packet. RFC-1025, "TCP and IP Bake Off" says:

     10 points for correctly being able to process a "Kamikaze"
     packet (AKA nastygram, christmas tree packet, lamp test
     segment, et al.).  That is, correctly handle a segment with the
     maximum combination of features at once (e.g., a SYN URG PUSH
     FIN segment with options and data).
See also Chernobyl Packet.

kangaroo code n. Syn. spaghetti code.

ken /ken/ n.

  1. [UNIX] Ken Thompson, principal inventor of UNIX. In the early days he used to hand-cut distribution tapes, often with a note that read "Love, ken". Old-timers still use his first name (sometimes uncapitalized, because it's a login name and mail address) in third-person reference; it is widely understood (on USENET, in particular) that without a last name `Ken' refers only to Ken Thompson. Similarly, Dennis without last name means Dennis Ritchie (and he is often known as dmr). See also demigod, UNIX.
  2. A flaming user. This was originated by the Software Support group at Symbolics because the two greatest flamers in the user community were both named Ken.

kgbvax /K-G-B'vaks/ n. See kremvax.

KIBO /ki:'boh/

  1. [acronym] Knowledge In, Bullshit Out. A summary of what happens whenever valid data is passed through an organization (or person) that deliberately or accidentally disregards or ignores its significance. Consider, for example, what an advertising campaign can do with a product's actual specifications. Compare GIGO; see also SNAFU Principle.
  2. James Parry , a USENETter infamous for various surrealist net.pranks and an uncanny, machine-assisted knack for joining any thread in which his nom de guerre is mentioned.

kiboze [USENET] v. To grep the USENET news for a string, especially with the intention of posting a follow-up. This activity was popularised by Kibo (see KIBO, sense 2).

kick [IRC] v. To cause somebody to be removed from a IRC channel, an option only available to CHOPs. This is an extreme measure, often used to combat extreme flamage or flooding, but sometimes used at the chop's whim. Compare gun.

kill file [USENET] n. (alt. `KILL file') Per-user file(s) used by some USENET reading programs (originally Larry Wall's `rn(1)') to discard summarily (without presenting for reading) articles matching some particularly uninteresting (or unwanted) patterns of subject, author, or other header lines. Thus to add a person (or subject) to one's kill file is to arrange for that person to be ignored by one's newsreader in future. By extension, it may be used for a decision to ignore the person or subject in other media. See also plonk.

killer micro [popularized by Eugene Brooks] n. A microprocessor-based machine that infringes on mini, mainframe, or supercomputer performance turf. Often heard in "No one will survive the attack of the killer micros!", the battle cry of the downsizers. Used esp. of RISC architectures.

The popularity of the phrase `attack of the killer micros' is doubtless reinforced by the movie title "Attack Of The Killer Tomatoes" (one of the canonical examples of so-bad-it's-wonderful among hackers). This has even more flavor now that killer micros have gone on the offensive not just individually (in workstations) but in hordes (within massively parallel computers).

killer poke n. A recipe for inducing hardware damage on a machine via insertion of invalid values (see poke) into a memory-mapped control register; used esp. of various fairly well-known tricks on bitty boxes without hardware memory management (such as the IBM PC and Commodore PET) that can overload and trash analog electronics in the monitor. See also HCF.

kilo- [SI] pref. See quantifiers.

KIPS /kips/ [abbreviation, by analogy with MIPS using K] n. Thousands (*not* 1024s) of Instructions Per Second. Usage: rare.

KISS Principle /kis' prin'si-pl/ n. "Keep It Simple, Stupid". A maxim often invoked when discussing design to fend off creeping featurism and control development complexity. Possibly related to the marketroid maxim on sales presentations, "Keep It Short and Simple".

kit [USENET; poss. fr. DEC slang for a full software distribution, as opposed to a patch or upgrade] n. A source software distribution that has been packaged in such a way that it can (theoretically) be unpacked and installed according to a series of steps using only standard UNIX tools, and entirely documented by some reasonable chain of references from the top-level README File. The more general term distribution may imply that special tools or more stringent conditions on the host environment are required.

klone /klohn/ n. See clone, sense 4.

kludge /klooj/ or /kluhj/ n. Common (but incorrect) variant of kluge, q.v.

kluge /klooj/ [from the German `klug', clever]

  1. n. A Rube Goldberg (or Heath Robinson) device, whether in hardware or software. (A long-ago "Datamation" article by Jackson Granholme said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.")
  2. n. A clever programming trick intended to solve a particular nasty case in an expedient, if not clear, manner. Often used to repair bugs. Often involves ad-hockery and verges on being a crock. In fact, the TMRC Dictionary defined `kludge' as "a crock that works".
  3. n. Something that works for the wrong reason.
  4. vt. To insert a kluge into a program. "I've kluged this routine to get around that weird bug, but there's probably a better way."
  5. [WPI] n. A feature that is implemented in a rude manner.

Nowadays this term is often encountered in the variant spelling `kludge'. Reports from old farts are consistent that `kluge' was the original spelling, reported around computers as far back as the mid-1950s and, at that time, used exclusively of *hardware* kluges. In 1947, the "New York Folklore Quarterly" reported a classic shaggy-dog story `Murgatroyd the Kluge Maker' then current in the Armed Forces, in which a `kluge' was a complex and puzzling artifact with a trivial function. Other sources report that `kluge' was common Navy slang in the WWII era for any piece of electronics that worked well on shore but consistently failed at sea.

However, there is reason to believe this slang use may be a decade older. Several respondents have connected it to the brand name of a device called a "Kluge paper feeder" dating back at least to 1935, an adjunct to mechanical printing presses. The Kluge feeder was designed before small, cheap electric motors and control electronics; it relied on a fiendishly complex assortment of cams, belts, and linkages to both power and synchronize all its operations from one motive driveshaft. It was accordingly tempermental, subject to frequent breakdowns, and devilishly difficult to repair --- but oh, so clever! One traditional folk etymology of `kluge' makes it the name of a design engineer; in fact, `Kluge' is a surname in German, and the designer of the Kluge feeder may well have been the man behind this myth.

TMRC and the MIT hacker culture of the early '60s seems to have developed in a milieu that remembered and still used some WWII military slang (see also foobar). It seems likely that `kluge' came to MIT via alumni of the many military electronics projects that had been located in Cambridge (many in MIT's venerable Building 20, in which TMRC is also located) during the war.

The variant `kludge' was apparently popularized by the Datamation article mentioned above; it was titled "How to Design a Kludge" (February 1962, pp. 30, 31). Some people who encountered the word first in print or on-line jumped to the reasonable but incorrect conclusion that the word should be pronounced /kluhj/ (rhyming with `sludge'). The result of this tangled history is a mess; in 1993, many (perhaps even most) hackers pronounce the word correctly as /klooj/ but spell it incorrectly as `kludge' (compare the pronunciation drift of mung). Some observers consider this appropriate in view of its meaning.

kluge around vt. To avoid a bug or difficult condition by inserting a kluge. Compare workaround.

kluge up vt. To lash together a quick hack to perform a task; this is milder than cruft together and has some of the connotations of hack up (note, however, that the construction `kluge on' corresponding to hack on is never used). "I've kluged up this routine to dump the buffer contents to a safe place."

Knights of the Lambda Calculus n. A semi-mythical organization of wizardly LISP and Scheme hackers. The name refers to a mathematical formalism invented by Alonzo Church, with which LISP is intimately connected. There is no enrollment list and the criteria for induction are unclear, but one well-known LISPer has been known to give out buttons and, in general, the *members* know who they are....

Knuth /knooth/ [Donald E. Knuth's "The Art of Computer Programming"] n. Mythically, the reference that answers all questions about data structures or algorithms. A safe answer when you do not know: "I think you can find that in Knuth." Contrast literature, the. See also bible.

kremvax /krem-vaks/ [from the then large number of USENET VAXen with names of the form foovax] n. Originally, a fictitious USENET site at the Kremlin, announced on April 1, 1984 in a posting ostensibly originated there by Soviet leader Konstantin Chernenko. The posting was actually forged by Piet Beertema as an April Fool's joke. Other fictitious sites mentioned in the hoax were moskvax and kgbvax. This was probably the funniest of the many April Fool's forgeries perpetrated on USENET (which has negligible security against them), because the notion that USENET might ever penetrate the Iron Curtain seemed so totally absurd at the time.

In fact, it was only six years later that the first genuine site in Moscow, demos.su, joined USENET. Some readers needed convincing that the postings from it weren't just another prank. Vadim Antonov, senior programmer at Demos and the major poster from there up to mid-1991, was quite aware of all this, referred to it frequently in his own postings, and at one point twitted some credulous readers by blandly asserting that he *was* a hoax!

Eventually he even arranged to have the domain's gateway site *named* kremvax, thus neatly turning fiction into truth and demonstrating that the hackish sense of humor transcends cultural barriers. [Mr. Antonov also contributed the Russian-language material for this lexicon. --- ESR]

In an even more ironic historical footnote, kremvax became an electronic center of the anti-communist resistance during the bungled hard-line coup of August 1991. During those three days the Soviet UUCP network centered on kremvax became the only trustworthy news source for many places within the USSR. Though the sysops were concentrating on internal communications, cross-border postings included immediate transliterations of Boris Yeltsin's decrees condemning the coup and eyewitness reports of the demonstrations in Moscow's streets. In those hours, years of speculation that totalitarianism would prove unable to maintain its grip on politically-loaded information in the age of computer networking were proved devastatingly accurate --- and the original kremvax joke became a reality as Yeltsin and the new Russian revolutionaries of `glasnost' and `perestroika' made kremvax one of the timeliest means of their outreach to the West.

kyrka /shir'k*/ [Swedish] n. See feature key.