pgn@osupyr.UUCP (04/13/87)
Help! Help! Help! Will someone explain it to me what exactly a "kludge" is? Thanks, Paul Have Orthogonal Polynomials Will Travel Paul Nevai pgn%osupyr.uucp (PREFERRED) Department of Mathematics nevai-p@osu-eddie.uucp The Ohio State University ...!ihnp4!cbatt!osupyr!pgn 231 West Eighteenth Avenue TS1171@OHSTVMA.bitnet Columbus, OH 43210, U.S.A. 1-614-292-5688
sarrel@osu-eddie.UUCP (04/13/87)
I read a story somewhere that said what a kludge is. It goes something like this (pardon me, for I'm paraphrasing): Not too long ago, in the Navy, there was a Seaman who was famous for building Kludges. No one was quite sure what a Kludge was, but all agreed that he was the best at making them. Now, one day an Admiral heard of this famous Kludge- building sailor and decided that every ship in the Navy should be equipped with a kludge. After all, what would happend if the Russians should build Kludges for their ships first? Being a military man, the first thing that the Admiral did was to was to get Congress to appropriate large sums of money for his top-secret Kludge project. Only the President and a few select officials knew the details of the plan (which were few and far between to begin with). Then the Admiral set the Seaman to work. The Admiral offered the best military reasearch labs and equipment in the country, but the Seaman would have none of it. All the seaman wanted was a small room, some old piano wire, some fish hooks, chains, cable and the like. The Admiral, although puzzled, granted the Seaman's request and the Seaman set to work. For nearly a week, the Seaman work furiously. He barely slept and only came out of the room to eat and use the bathroom. Then, on the seventh day, the Seaman announced that he had finished the prototype. The Admiral was very excited and arranged for a demonstration the very next day aboard one of the Navy's biggest and best ships. All the top Navy Brass were present for the unveiling. They waited nervously to see the Kludge in action, for by this time, the rumors of its capabilities and powers had grown almost beyond all rational belief. Then, it was time. The Seaman came out, made a short speech and then revealed his creation. The crowd gasped. None knew quite what to make of it. Before them was what looked like a large ball of tangled wires and junk, nearly six feet accross. It had no real shape, and didn't look like it was capable of doing much of anything. But, the Seaman told them to wait and he would demonstrate. He rolled the Kludge off the pedestal and rolled it to the side of the ship where the railing had been removed. He checked the distance to the water, liked his finger to test the wind direction and then gave the Kludge a strong, but a calculated push off the deck of the ship. It fell for what seemed like an eternity, then, as it hit the water, it went "KLUDGE!" and sank. The Seaman was very pleased. I think I read the original version in a book entitled "Tomfoolery". Hope this explanation helps... :-) -- Marc Sarrel CIS Gradual Student 611 Harley Dr. #1 The Ohio State University Columbus, OH 43202 ..!osu-eddie!sarrel or sarrel@osu-eddie.uucp
lamy@utegc.UUCP (04/14/87)
Folklore has it that a kludge is something that sort of works, but for the wrong reasons (does not fix the right problem). Kind of like vaseline. Jean-Francois Lamy lamy@ai.toronto.edu (CSNet, UUCP) AI Group, Dept of Computer Science, lamy@ai.toronto.cdn (EAN) University of Toronto, Ont, Canada M5S 1A4 lamy@ai.utoronto (Bitnet)
mpease@cvedc.UUCP (04/14/87)
In article <> pgn@.UUCP (Paul G. Nevai) writes: >Will someone explain it to me what exactly a "kludge" is? A kludge is an intentional tweek. -- Mark Pease ..tektronix.csnet!ogcvax.uucp!cvedc!mpease Computervision ..sun.arpa!cvbnet.uucp!cvedc!mpease 14952 N.W. Greenbrier Pkway Beavertion, Oregon 97006 (503)645-2410
dlc@beta.UUCP (04/15/87)
From the examples of seen of what people call kludges, I'd say the short definition is "an inelegant patch which causes a failing object to begin working." For a lawn mower, it might be baling wire to hold the carburetor on. For a program, it might be defining a flag to keep track of whether an early exit from a path should be taken. It surprised me a little that the U. S. Navy was mentioned as originating the use of kludge in English, since the Navy teaches its officer candidates that such a beast is called a "jury-rig."
mwilber@teknowledge-vaxc.UUCP (04/16/87)
ok, i can't stand it any more...back in the 60's a fellow named ascher opler (i think that was his name) defined a kludge as an ill-chosen assortment of parts making up a distressing whole...for more details (given access, of course, to a suitable archive), you might wish to look up a series of articles datamation ran on the kludge komputer korporation some time from 10/64 to 5/66 (there were, as i recall, at least three, maybe six, articles in the series)...some say it's from the old high german word kloege, whose meaning i'll spare you... cheers -- mike
merchant@dartvax.UUCP (04/17/87)
In article <4077@beta.UUCP>, dlc@beta.UUCP (Dale Carstensen) writes: > From the examples of seen of what people call kludges, I'd say the short > definition is "an inelegant patch which causes a failing object to begin > working." For a lawn mower, it might be baling wire to hold the > carburetor on. For a program, it might be defining a flag to keep track > of whether an early exit from a path should be taken. It surprised me > a little that the U. S. Navy was mentioned as originating the use of > kludge in English, since the Navy teaches its officer candidates that > such a beast is called a "jury-rig." Kludges, from the way I understood it, are inelegant solutions to a problem because the elegant solution would require far too much work. (ie, either add this bizarre flag or rewrite the whole routine) In common parlance around here (at the Merchant Marine Academy), "jury-rigs" are done when the resources to create an effective repair are not available (time is also considered a resource). Thus, while they look the same, a kludge is something done by lazy people who don't want to put in the time to do it correctly, whereas a "jury-rig" is a temporary solution until the resources for a proper solution are available. I doubt there's a precise definition, though. -- "Well it's all right now, Peter Merchant (merchant@dartvax.UUCP) In fact it's a gas."
mwilber@teknowledge-vaxc.ARPA (Mike Wilber) (04/22/87)
The following defninition comes from the ARPANet Hacker's Dictionary, as of
11/82 (it may be old, but this definition is still pretty good):
KLUGE (kloodj) alt. KLUDGE [from the German "kluge", clever] n. 1. A
Rube Goldberg device in hardware or software. 2. A clever
programming trick intended to solve a particular nasty case in an
efficient, if not clear, manner. Often used to repair bugs. Often
verges on being a crock. 3. Something that works for the wrong
reason. 4. v. 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." Also KLUGE UP. 5. KLUGE AROUND: To avoid by inserting a
kluge. 6. (WPI) A feature which is implemented in a RUDE manner.
The Hacker's Dictionary also states that
(The following terms are all used to describe programs or portions
thereof, except for the first two, which are included for completeness.)
CRASH STOPPAGE BUG SCREW LOSS MISFEATURE
CROCK KLUGE HACK WIN FEATURE PERFECTION
(The last is never actually attained.)
-- David D. Levine, formerly of Tektronix, now of Intel
...{decvax,ihnp4,hplabs}!tektronix!ogcvax!inteloa!inteloe!davidl
...fyi, this message came with the following header...(i tried to make this
article's header simulate his having sent it directly, please forgive me if i
confused your news reader)...
From mkhaw Tue Apr 21 17:01:28 1987
Date: Tue, 21 Apr 87 17:01:27 pst
From: mkhaw (Michael Khaw)
To: mwilber
Subject: uucp - wrong one last time
Status: R
>From ctnews!pyramid!oliveb!intelca!mipos3!inteloe!davidl Fri Apr 17 13:05:45 1987 remote from sri-unix
Received: by sri-unix.ARPA (5.31/5.14)
id AA03497; Fri, 17 Apr 87 13:05:45 MST
Received: from inteloe.intel.com by omepd.intel.com (5.51/i2.4); Fri, 17 Apr 87 09:16:17 PDT
Received: by inteloe.intel.com (5.52/i2.1); Fri, 17 Apr 87 09:16:50 PST
Message-Id: <8704171716.AA22983@inteloe.intel.com>
To: omepd!mipos3!intelca!oliveb!pyramid!ctnews!sri-unix!teknowledge-vaxc!mwilber
Subject: Re: Re: kludge
In-Reply-To: Your message of 16 Apr 87 03:35:17 GMT.
<11848@teknowledge-vaxc.ARPA>
Date: Fri, 17 Apr 87 09:16:49 PST
From: David D. Levine <sri-unix!mipos3!inteloe!davidl>
I'd like to post this, but I can't (well, not easily). Would you please?
-------------------------------cut here----------------------------------
jim@alberta.UUCP (04/29/87)
> Help! Help! Help! > > Will someone explain it to me what exactly a "kludge" is? > > Thanks, > > Paul Sometime around 1960 IBM produced the 1620. There were many things wrong with that machine but nothing wrong enough to prevent it from being used. It had core memory, which was just about it's only saving grace. Its arithmetic was decimal to arbitrary precision from arithmetic tables which were accessible to the program. Mag tape was 7 track even parity, memory was odd parity, paper tape was odd parity which meant that tape feed (ie. blank tape) was "all holes punched" (this weakened it so much that it usually didn't manage to survive more that two or three readings). The paper tape reader was a classic Rube Goldberg device (It read from the inside of the roll as I recall). Shortly after Datamation published an article entitled "How to Design a Kludge". It was an hilarious article, which I fervently wish I had saved (I didn't). In it they defined a "kludge" - central to that definition was the property that it was distressing to use but would do the job (thereby ensuring that it would indeed be used). Other properties of Kludges were that they had to be expensive to produce and maintain. The ideal Kludge had inexpensive modules (eg. mag. tape, cpu etc) but that the box required to make the whole mess work together cost ten times the rest put together (just part of its being distressing) One of the design rules was "rigid departmentalization" eg. never let the person designing the mag tape talk to the guy who's designing the main memory" The term stuck and more articles were published about the progress of the "Kludge Komputer Korporation". eg. shortly after TSS was announced we were treated to an article about the "Super Kludge Time Sharing System" which could support one interactive user. Data rate was measured in BPF (Bauds per fortnight). Then there was the Kludge OS which reached the epitome of all operating systems - viz. it spent 100% of its time on system activities. I haven't seen any recent article on the "Kludge Komputer Korporation", but then I haven't been looking either. Certainly there's lots of material to work with. Jim Easton (..!alberta!jim)