2008-07-18

Best of Jargon File

My favorite definitions from Jargon File (AKA, The New Hacker's Dictionary).


brute force and ignorance
: n.

A popular design technique at many software houses — brute force coding unrelieved by any knowledge of how problems have been previously solved in elegant ways. Dogmatic adherence to design methodologies tends to encourage this sort of thing. Characteristic of early larval stage programming; unfortunately, many never outgrow it. Often abbreviated BFI: “Gak, they used a bubble sort! That's strictly from BFI.” Compare bogosity. A very similar usage is said to be mainstream in Great Britain.


BOFH: //, n.

[common] Acronym, Bastard Operator From Hell. A system administrator with absolutely no tolerance for lusers. “You say you need more filespace? Seems to me you have plenty left...” Many BOFHs (and others who would be BOFHs if they could get away with it) hang out in the newsgroup alt.sysadmin.recovery, although there has also been created a top-level newsgroup hierarchy (bofh.*) of their own.

Several people have written stories about BOFHs. The set usually considered canonical is by Simon Travaglia and may be found at the Bastard Home Page. BOFHs and BOFH wannabes hang out on scary devil monastery and wield LARTs.


buried treasure: n.

A surprising piece of code found in some program. While usually not wrong, it tends to vary from crufty to bletcherous, and has lain undiscovered only because it was functionally correct, however horrible it is. Used sarcastically, because what is found is anything but treasure. Buried treasure almost always needs to be dug up and removed. “I just found that the scheduler sorts its queue using bubble sort! Buried treasure!


code police: n.

[by analogy with George Orwell's ‘thought police’] A mythical team of Gestapo-like storm troopers that might burst into one's office and arrest one for violating programming style rules. May be used either seriously, to underline a claim that a particular style violation is dangerous, or ironically, to suggest that the practice under discussion is condemned mainly by anal-retentive weenies. “Dike out that goto or the code police will get you!” The ironic usage is perhaps more common.


cow orker: n.

[Usenet] n. fortuitous typo for co-worker, widely used in Usenet, with perhaps a hint that orking cows is illegal. This term was popularized by Scott Adams (the creator of Dilbert) but already appears in the January 1996 version of the scary devil monastery FAQ, and has been traced back to a 1989 sig block. Compare hing, grilf, filk, newsfroup.


To look for something in a mass of code or data with one's own native optical sensors, as opposed to using some sort of pattern matching software like grep or any other automated search tool. Also called a vgrep; compare vdiff.


gang bang: n.

The use of large numbers of loosely coupled programmers in an attempt to wedge a great many features into a product in a short time. Though there have been memorable gang bangs (e.g., that over-the-weekend assembler port mentioned in Steven Levy's Hackers), and large numbers of loosely-coupled programmers operating in bazaar mode can do very useful work when they're not on a deadline, most are perpetrated by large companies trying to meet unrealistic deadlines; the inevitable result is enormous buggy masses of code entirely lacking in orthogonality. When market-driven managers make a list of all the features the competition has and assign one programmer to implement each, the probability of maintaining a coherent (or even functional) design goes to epsilon. See also firefighting, Mongolian Hordes technique, Conway's Law.


Guido: /gwee´do/, /khwee´do/

Without qualification, Guido van Rossum (author of Python). Note that Guido answers to English /gwee´do/ but in Dutch it's /khwee´do/. Mythically, Guido's most important attribute besides Python itself is Guido's time machine, a device he is reputed to possess because of the unnerving frequency with which user requests for new features have been met with the response “I just implemented that last night...”. See BDFL.


guiltware: /gilt´weir/, n.

1. A piece of freeware decorated with a message telling one how long and hard the author worked on it and intimating that one is a no-good freeloader if one does not immediately send the poor suffering martyr gobs of money.

2. A piece of shareware that works.


hired gun: n.

A contract programmer, as opposed to a full-time staff member. All the connotations of this term suggested by innumerable spaghetti Westerns are intentional.


hyperspace: /hi:´per·spays/, n.

A memory location that is far away from where the program counter should be pointing, especially a place that is inaccessible because it is not even mapped in by the virtual-memory system. “Another core dump — looks like the program jumped off to hyperspace somehow.” (Compare jump off into never-never land.) This usage is from the SF notion of a spaceship jumping into hyperspace, that is, taking a shortcut through higher-dimensional space — in other words, bypassing this universe. The variant east hyperspace is recorded among CMU and Bliss hackers.


I didn't change anything!: interj.

An aggrieved cry often heard as bugs manifest during a regression test. The canonical reply to this assertion is “Then it works just the same as it did before, doesn't it?” See also one-line fix. This is also heard from applications programmers trying to blame an obvious applications problem on an unrelated systems software change, for example a divide-by-0 fault after terminals were added to a network. Usually, their statement is found to be false. Upon close questioning, they will admit some major restructuring of the program that shouldn't have broken anything, in their opinion, but which actually hosed the code completely.

A contract programmer, as opposed to a full-time staff member. All the connotations of this term suggested by innumerable spaghetti Westerns are intentional.


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.


Macintrash: /mak´in·trash`/, n.

The Apple Macintosh, as described by a hacker who doesn't appreciate being kept away from the real computer by the interface. The term maggotbox has been reported in regular use in the Research Triangle area of North Carolina. Compare Macintoy. See also beige toaster, WIMP environment, point-and-drool interface, drool-proof paper, user-friendly.


meatspace: /meet´spays/, n.

The physical world, where the meat lives — as opposed to cyberspace. Hackers are actually more willing to use this term than ‘cyberspace’, because it's not speculative — we already have a running meatspace implementation (the universe). Compare RL.


Mongolian Hordes technique: n.

[poss. from the Sixties counterculture expression Mongolian clusterfuck for a public orgy] Development by gang bang. Implies that large numbers of inexperienced programmers are being put on a job better performed by a few skilled ones (but see bazaar). Also called Chinese Army technique; see also Brooks's Law.


nipple mouse: n.

Var. clit mouse, clitoris Common term for the pointing device used on IBM ThinkPads and a few other laptop computers. The device, which sits between the ‘g’ and ‘h’ keys on the keyboard, indeed resembles a rubber nipple intended to be tweaked by a forefinger. Many hackers consider these superior to the glide pads found on most laptops, which are harder to control precisely.


optimism: n.

What a programmer is full of after fixing the last bug and before discovering the next last bug. Fred Brooks's book The Mythical Man-Month (See Brooks's Law) contains the following paragraph that describes this extremely well:

All programmers are optimists. Perhaps this modern sorcery especially attracts those who believe in happy endings and fairy godmothers. Perhaps the hundreds of nitty frustrations drive away all but those who habitually focus on the end goal. Perhaps it is merely that computers are young, programmers are younger, and the young are always optimists. But however the selection process works, the result is indisputable: “This time it will surely run,” or “I just found the last bug.”.

See also Lubarsky's Law of Cybernetic Entomology.


pseudosuit: /soo´doh·s[y]oot`/, n.

A suit wannabee; a hacker who has decided that he wants to be in management or administration and begins wearing ties, sport coats, and (shudder!) suits voluntarily. It's his funeral. See also lobotomy.


RTFS: /R·T·F·S/

[Unix] 1. imp. Abbreviation for ‘Read The Fucking Source’. Variant form of RTFM, used when the problem at hand is not necessarily obvious and not answerable from the manuals — or the manuals are not yet written and maybe never will be. For even trickier situations, see RTFB. Unlike RTFM, the anger inherent in RTFS is not usually directed at the person asking the question, but rather at the people who failed to provide adequate documentation.


Saturday-night special: n.

[from police slang for a cheap handgun] A quick-and-dirty program or feature kluged together during off hours, under a deadline, and in response to pressure from a salescritter. Such hacks are dangerously unreliable, but all too often sneak into a production release after insufficient review.


shotgun debugging: n.

The software equivalent of Easter egging; the making of relatively undirected changes to software in the hope that a bug will be perturbed out of existence. This almost never works, and usually introduces more bugs.


space-cadet keyboard: n.

Long one, but a must-see: http://www.catb.org/~esr/jargon/html/S/space-cadet-keyboard.html

Spinning Pizza of Death: n.

[OS X; common] The quartered-circle busy indicator on Mac OS X versions before 10.2, after which it was replaced by a sort of rainbow pinwheel thingy. It was analogous to the Microsoft Windows hourglass, but OS X 10.0's legendary slowness under the Aqua toolkit made this term rather more evocative. See Death, X of.


stealth manager: n.

[Corporate DP] A manager that appears out of nowhere, promises undeliverable software to unknown end users, and vanishes before the programming staff realizes what has happened. See smoke and mirrors.


STFW: imp., /S·T·F·W/

[Usenet] Common abbreviation for “Search The Fucking Web”, a suggestion that what you're asking for is a query better handled by a search engine than a human being. Usage is common and exactly parallel to both senses of RTFM. A politer equivalent is GIYF.


suit: n.

1. Ugly and uncomfortable ‘business clothing’ often worn by non-hackers. Invariably worn with a ‘tie’, a strangulation device that partially cuts off the blood supply to the brain. It is thought that this explains much about the behavior of suit-wearers. Compare droid.

2. A person who habitually wears suits, as distinct from a techie or hacker. See pointy-haired, burble, management, Stupids, SNAFU principle, PHB, and brain-damaged.


sysape: /sys´ayp/, n.

A rather derogatory term for a computer operator; a play on sysop common at sites that use the banana hierarchy of problem complexity (see one-banana problem).


top-post: n., v.

[common] To put the newly-added portion of an email or Usenet response before the quoted part, as opposed to the more logical sequence of quoted portion first with original following. The problem with this practice is neatly summed up by the following FAQ entry:

A: No.
Q: Should I include quotations after my reply?

This term is generally used pejoratively with the implication that the offending person is a newbie, a Microsoft addict (Microsoft mail tools produce a similar format by default), or simply a common-and-garden-variety idiot.


voodoo programming: n.

[from George Bush Sr.'s “voodoo economics”] 1. The use by guess or cookbook of an obscure or hairy system, feature, or algorithm that one does not truly understand. The implication is that the technique may not work, and if it doesn't, one will never know why. Almost synonymous with black magic, except that black magic typically isn't documented and nobody understands it. Compare magic, deep magic, heavy wizardry, rain dance, cargo cult programming, wave a dead chicken, SCSI voodoo.

2. Things programmers do that they know shouldn't work but they try anyway, and which sometimes actually work, such as recompiling everything.


Wintendo: /win·ten´doh/, n.

[Play on “Nintendo”] A PC running the Windows operating system kept primarily for the purpose of viewing multimedia and playing games. The implication is that the speaker uses a Linux or *BSD box for everything else.


zipperhead: n.

[IBM] A person with a closed mind.

No comments:

Post a Comment

Spam comments (i.e. ones that contain links to web development services) will be reported along with user profiles!

Note: only a member of this blog may post a comment.