Do you believe in magic?

black art: n.

[common] A collection of arcane, unpublished, and (by implication) mostly ad-hoc techniques developed for a particular application or systems area (compare black magic). VLSI design and compiler code optimization were (in their beginnings) considered classic examples of black art; as theory developed they became deep magic, and once standard textbooks had been written, became merely heavy wizardry. The huge proliferation of formal and informal channels for spreading around new computer-related technologies during the last twenty years has made both the term black art and what it describes less common than formerly. See also voodoo programming.

black magic: n.

[common] A technique that works, though nobody really understands why. More obscure than voodoo programming, which may be done by cookbook. Compare also black art, deep magic, and magic number (sense 2).

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.
magic
  1. adj. As yet unexplained, or too complicated to explain; compare automagically and (Arthur C.) Clarke's Third Law: “Any sufficiently advanced technology is indistinguishable from magic.” “TTY echoing is controlled by a large number of magic bits.” “This routine magically computes the parity of an 8-bit byte in three instructions.”
  2. adj. Characteristic of something that works although no one really understands why (this is especially called black magic).
  3. n. [Stanford] A feature not generally publicized that allows something otherwise impossible, or a feature formerly in that category but now unveiled.
  4. n. The ultimate goal of all engineering & development, elegance in the extreme; from the first corollary to Clarke's Third Law: “Any technology distinguishable from magic is insufficiently advanced”.

Parodies playing on these senses of the term abound; some have made their way into serious documentation, as when a MAGIC directive was described in the Control Card Reference for GCOS c.1978. For more about hackish ‘magic’, see Appendix A. Compare black magic, wizardly, deep magic, heavy wizardry.

wave a dead chicken: v.

To perform a ritual in the direction of crashed software or hardware that one believes to be futile but is nevertheless necessary so that others are satisfied that an appropriate degree of effort has been expended. “I'll wave a dead chicken over the source code, but I really think we've run into an OS bug.” Compare voodoo programming, rain dance; see also casting the runes.

deep magic: n.

[poss. from C. S. Lewis's Narnia books] An awesomely arcane technique central to a program or system, esp. one neither generally published nor available to hackers at large (compare black art); one that could only have been composed by a true wizard. Compiler optimization techniques and many aspects of OS design used to be deep magic; many techniques in cryptography, signal processing, graphics, and AI still are. Compare heavy wizardry. Esp.: found in comments of the form “Deep magic begins here...”. Compare voodoo programming.

heavy wizardry: n.

Code or designs that trade on a particularly intimate knowledge or experience of a particular operating system or language or complex application interface. Distinguished from deep magic, which trades more on arcane theoretical knowledge. Writing device drivers is heavy wizardry; so is interfacing to X (sense 2) without a toolkit. Esp.: found in source-code comments of the form “Heavy wizardry begins here”. Compare voodoo programming.

rain dance: n.
  1. Any ceremonial action taken to correct a hardware problem, with the expectation that nothing will be accomplished. This especially applies to reseating printed circuit boards, reconnecting cables, etc. “I can't boot up the machine. We'll have to wait for Greg to do his rain dance.”
  2. Any arcane sequence of actions performed with computers or software in order to achieve some goal; the term is usually restricted to rituals that include both an incantation or two and physical activity or motion. Compare magic, voodoo programming, black art, cargo cult programming, wave a dead chicken; see also casting the runes.
incantation: n.

Any particularly arbitrary or obscure command that one must mutter at a system to attain a desired result. Not used of passwords or other explicit security features. Especially used of tricks that are so poorly documented that they must be learned from a wizard. “This compiler normally locates initialized data in the data segment, but if you mutter the right incantation they will be forced into text space.”

wizard: n.
  1. Transitively, a person who knows how a complex piece of software or hardware works (that is, who groks it); esp. someone who can find and fix bugs quickly in an emergency. Someone is a hacker if he or she has general hacking ability, but is a wizard with respect to something only if he or she has specific detailed knowledge of that thing. A good hacker could become a wizard for something given the time to study it.
  2. The term ‘wizard’ is also used intransitively of someone who has extremely high-level hacking or problem-solving ability.
  3. A person who is permitted to do things forbidden to ordinary people; one who has wheel privileges on a system.
  4. A Unix expert, esp. a Unix systems programmer. This usage is well enough established that ‘Unix Wizard’ is a recognized job title at some corporations and to most headhunters. See guru, lord high fixer. See also deep magic, heavy wizardry, incantation, magic, mutter, rain dance, voodoo programming, wave a dead chicken.
guru: n.

[Unix] An expert. Implies not only wizard skill but also a history of being a knowledge resource for others. Less often, used (with a qualifier) for other experts on other systems, as in VMS guru. See source of all good bits.

mutter: vt.

To quietly enter a command not meant for the ears, eyes, or fingers of ordinary mortals. Often used in “mutter an incantation”. See also wizard.

wheel: n.

[from slang ‘big wheel’ for a powerful person] A person who has an active wheel bit. “We need to find a wheel to unwedge the hung tape drives.” (See wedged, sense 1.) The traditional name of security group zero in BSD (to which the major system-internal users like root belong) is ‘wheel’. Some vendors have expanded on this usage, modifying Unix so that only members of group ‘wheel’ can go root.

cargo cult programming: n.

A style of (incompetent) programming dominated by ritual inclusion of code or program structures that serve no real purpose. A cargo cult programmer will usually explain the extra code as a way of working around some bug encountered in the past, but usually neither the bug nor the reason the code apparently avoided the bug was ever fully understood (compare shotgun debugging, voodoo programming). The term ‘cargo cult’ is a reference to aboriginal religions that grew up in the South Pacific after World War II. The practices of these cults center on building elaborate mockups of airplanes and military style landing strips in the hope of bringing the return of the god-like airplanes that brought such marvelous cargo during the war. Hackish usage probably derives from Richard Feynman's characterization of certain practices as “cargo cult science” in his book Surely You're Joking, Mr. Feynman! (W. W. Norton & Co, New York 1985, ISBN 0-393-01921-7).

obscure: adj.

Used in an exaggeration of its normal meaning, to imply total incomprehensibility. “The reason for that last crash is obscure.” “The find(1) command's syntax is obscure!” The phrase moderately obscure implies that something could be figured out but probably isn't worth the trouble. The construction obscure in the extreme is the preferred emphatic form.