The Hacker's Dictionary

The Hacker's dictionary

HACKER DICTIONARY - K -

Node:K, Next:, Previous:jupiter, Up:= K =

K /K/ n.

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


Node:K&R, Next:, Previous:K, Up:= K =

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-13-110163-3). Syn. White Book, Old Testament. See also New Testament.


Node:k-, Next:, Previous:K&R, Up:= K =

k- pref.

[rare; poss fr. `kilo-' prefix] Extremely. Rare among hackers, but quite common among crackers and warez d00dz in compounds such as `k-kool' /K'kool'/, `k-rad' /K'rad'/, and `k-awesome' /K'aw`sm/. Also used to intensify negatives; thus, `k-evil', `k-lame', `k-screwed', and `k-annoying'. Overuse of this prefix, or use in more formal or technical contexts, is considered an indicator of lamer status.


Node:kahuna, Next:, Previous:k-, Up:= K =

kahuna /k*-hoo'n*/ n.

[IBM: from the Hawaiian title for a shaman] Synonym for wizard, guru.


Node:kamikaze packet, Next:, Previous:kahuna, Up:= K =

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.


Node:kangaroo code, Next:, Previous:kamikaze packet, Up:= K =

kangaroo code n.

Syn. spaghetti code.


Node:ken, Next:, Previous:kangaroo code, Up:= K =

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.


Node:kernel-of-the-week club, Next:, Previous:ken, Up:= K =

kernel-of-the-week club

The fictional society that BSD bigots claim [Linux] users belong to, alluding to the release-early-release-often style preferred by the kernel maintainers. See bazaar. This was almost certainly inspired by the earlier bug-of-the-month club.


Node:kgbvax, Next:, Previous:kernel-of-the-week club, Up:= K =

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

See kremvax.


Node:KIBO, Next:, Previous:kgbvax, Up:= K =

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 <kibo@world.std.com>, 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. He has a website at kibo.com/.


Node:kiboze, Next:, Previous:KIBO, Up:= K =

kiboze v.

[Usenet] 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).


Node:kibozo, Next:, Previous:kiboze, Up:= K =

kibozo /ki:-boh'zoh/ n.

[Usenet] One who kibozes but is not Kibo (see KIBO, sense 2).


Node:kick, Next:, Previous:kibozo, Up:= K =

kick v.

1. [IRC] To cause somebody to be removed from a IRC channel, an option only available to channel ops. This is an extreme measure, often used to combat extreme flamage or flooding, but sometimes used at the CHOP's whim. Compare gun. 2. To reboot a machine or kill a running process. "The server's down, let me go kick it."


Node:kill file, Next:, Previous:kick, Up:= K =

kill file n.

[Usenet; very common] (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.


Node:killer app, Next:, Previous:kill file, Up:= K =

killer app

The application that actually makes a sustaining market for a promising but under-utilized technology. First used in the mid-1980s to describe Lotus 1-2-3 once it became evident that demand for that product had been the major driver of the early business market for IBM PCs. The term was then restrospectively applied to VisiCalc, which had played a similar role in the success of the Apple II. After 1994 it became commonplace to describe the World Wide Web as the Internet's killer app. One of the standard questions asked about each new personal-computer technology as it emerges has become "what's the killer app?"


Node:killer micro, Next:, Previous:killer app, Up:= K =

killer micro n.

[popularized by Eugene Brooks] 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 title of the movie "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).

[1996 update: Eugene Brooks was right. Since this term first entered the Jargon File in 1990, the minicomputer has effectively vanished, the mainframe sector is in deep and apparently terminal decline (with IBM but a shadow of its former self), and even the supercomputer business has contracted into a smaller niche. It's networked killer micros as far as the eye can see. --ESR]


Node:killer poke, Next:, Previous:killer micro, Up:= K =

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.


Node:kilo-, Next:, Previous:killer poke, Up:= K =

kilo- pref.

[SI] See quantifiers.


Node:KIPS, Next:, Previous:kilo-, Up:= K =

KIPS /kips/ n.

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


Node:KISS Principle, Next:, Previous:KIPS, Up:= K =

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".


Node:kit, Next:, Previous:KISS Principle, Up:= K =

kit n.

[Usenet; poss. fr. DEC slang for a full software distribution, as opposed to a patch or upgrade] 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.


Node:klone, Next:, Previous:kit, Up:= K =

klone /klohn/ n.

See clone, sense 4.


Node:kludge, Next:, Previous:klone, Up:= K =

kludge 1. /klooj/ n.

Incorrect (though regrettably common) spelling of kluge (US). These two words have been confused in American usage since the early 1960s, and widely confounded in Great Britain since the end of World War II. 2. [TMRC] A crock that works. (A long-ago "Datamation" article by Jackson Granholme similarly said: "An ill-assorted collection of poorly matching parts, forming a distressing whole.") 3. v. To use a kludge to get around a problem. "I've kludged around it for now, but I'll fix it up properly later."

This word appears to have derived from Scots `kludge' or `kludgie' for a common toilet, via British military slang. It apparently became confused with U.S. kluge during or after World War II; some Britons from that era use both words in definably different ways, but kluge is now uncommon in Great Britain. `Kludge' in Commonwealth hackish differs in meaning from `kluge' in that it lacks the positive senses; a kludge is something no Commonwealth hacker wants to be associated too closely with. Also, `kludge' is more widely known in British mainstream slang than `kluge' is in the U.S.


Node:kluge, Next:, Previous:kludge, Up:= K =

kluge /klooj/

[from the German `klug', clever; poss. related to Polish `klucz' (a key, a hint, a main point)] 1. n. A Rube Goldberg (or Heath Robinson) device, whether in hardware or software. 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. 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", an adjunct to mechanical printing presses. Legend has it that 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 temperamental, subject to frequent breakdowns, and devilishly difficult to repair -- but oh, so clever! People who tell this story also aver that `Kluge' was the name of a design engineer.

There is in fact a Brandtjen & Kluge Inc., an old family business that manufactures printing equipment - interestingly, their name is pronounced /kloo'gee/! Henry Brandtjen, president of the firm, told me (ESR, 1994) that his company was co-founded by his father and an engineer named Kluge /kloo'gee/, who built and co-designed the original Kluge automatic feeder in 1919. Mr. Brandtjen claims, however, that this was a simple device (with only four cams); he says he has no idea how the myth of its complexity took hold.

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). This spelling was probably imported from Great Britain, where kludge has an independent history (though this fact was largely unknown to hackers on either side of the Atlantic before a mid-1993 debate in the Usenet group alt.folklore.computers over the First and Second Edition versions of this entry; everybody used to think kludge was just a mutation of kluge). It now appears that the British, having forgotten the etymology of their own `kludge' when `kluge' crossed the Atlantic, repaid the U.S. by lobbing the `kludge' orthography in the other direction and confusing their American cousins' spelling!

The result of this history is a tangle. Many younger U.S. hackers pronounce the word as /klooj/ but spell it, incorrectly for its meaning and pronunciation, as `kludge'. (Phonetically, consider huge, refuge, centrifuge, and deluge as opposed to sludge, judge, budge, and fudge. Whatever its failings in other areas, English spelling is perfectly consistent about this distinction.) British hackers mostly learned /kluhj/ orally, use it in a restricted negative sense and are at least consistent. European hackers have mostly learned the word from written American sources and tend to pronounce it /kluhj/ but use the wider American meaning!

Some observers consider this mess appropriate in view of the word's meaning.


Node:kluge around, Next:, Previous:kluge, Up:= K =

kluge around vt.

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


Node:kluge up, Next:, Previous:kluge around, Up:= K =

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."


Node:Knights of the Lambda Calculus, Next:, Previous:kluge up, Up:= K =

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....


Node:knobs, Next:, Previous:Knights of the Lambda Calculus, Up:= K =

knobs pl.n.

Configurable options, even in software and even those you can't adjust in real time. Anything you can twiddle is a knob. "Has this PNG viewer got an alpha knob?" Software may be described as having "knobs and switches" or occasionally "knobs and lights".


Node:Knuth, Next:, Previous:knobs, Up:= K =

Knuth /ka-nooth'/ n.

[Donald E. Knuth's "The Art of Computer Programming"] 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 the literature. See also bible. There is a Donald Knuth home page at www-cs-faculty.Stanford.EDU/~knuth.


Node:koan, Next:, Previous:Knuth, Up:= K =

koan /koh'an/ n.

A Zen teaching riddle. Classically, koans are attractive paradoxes to be meditated on; their purpose is to help one to enlightenment by temporarily jamming normal cognitive processing so that something more interesting can happen (this practice is associated with Rinzei Zen Buddhism). Hackers are very fond of the koan form and compose their own koans for humororous and/or enlightening effect. See Some AI Koans, has the X nature, hacker humor.


Node:kremvax, Next:, Previous:koan, Up:= K =

kremvax /krem-vaks/ n.

[from the then large number of Usenet VAXen with names of the form foovax] 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 fact 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.


Node:kyrka, Next:, Previous:kremvax, Up:= K =

kyrka /chur'ka/ n.

[Swedish] See feature key.

Return to INDEX.

= 0 =   0

= A =   THE LETTER A

= B =   THE LETTER B

= C =   THE LETTER C

= D =   THE LETTER D

= E =   THE LETTER E

= F =   THE LETTER F

= G =   THE LETTER G

= H =   THE LETTER H

= I =   THE LETTER I

= J =   THE LETTER J

= K =   THE LETTER K

= L =   THE LETTER L

= M =   THE LETTER M

= N =   THE LETTER N

= O =   THE LETTER O

= P =   THE LETTER P

= Q =   THE LETTER Q

= R =   THE LETTER R

= S =   THE LETTER S

= T =   THE LETTER T

= U =   THE LETTER U

= V =   THE LETTER V

= W =   THE LETTER W

= X =   THE LETTER X

= Y =   THE LETTER Y

= Z =   THE LETTER Z

Index