Humanist Discussion Group, Vol. 15, No. 280.
Centre for Computing in the Humanities, King's College London
Date: Wed, 03 Oct 2001 09:20:18 +0100
From: Willard McCarty <email@example.com>
Subject: heisenbugs & other evidence of wit
Should anyone wish to have evidence at hand for the linguistic
inventiveness and wit of the propeller-heads among us, I would think there
could be no better source than Eric S Raymond, comp., The New Hacker's
Dictionary, 3rd edn. (Cambridge MA: MIT Press, 1999). Like many of you, I
suppose, I plant various kinds of books in crucial locations throughout my
house so that when detained in one of these I can reach for a suitable
book. Thus I have spent much time in small bits in the last month or so
delighting in the wit of techies, e.g.
creationism n. The (false) belief that large, innovative software designs
can be completely specified in advance and then painlessly magicked out of
the void by normal efforts of a team of normally talented programmers. In
fact, experience has shown repeatedly that good designs arise only from
evolutionary, exploratory interaction between one (or at most a small
handful of) exceptionally able designer(s) and an active user population --
and that the first try at a big new idea is always wrong. Unfortunately,
because these truths don't fit planning models beloved of "management",
they are generally ignored.
heavy wizardry n. Code or designs that trade on 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 "vodoo programming".
heisenbug /hi'zen-buhg/ n. [from Heisenberg's Uncertainty Principle in
quantum physics] A bug that disappears or alters its behavior when one
attempts to probe or isolate it. (This usage is not even particularly
fanciful; the use of a debugger sometimes alters a program's operating
environment significantly enough that buggy code, such as that which relies
on the values of uninitialised memory, behaves quite differently.) Antonym
of "Bohr bug"; see also "mandelbug", "schroedinbug". In C, nine out of ten
heisenbugs result from uninitialised auto variables, "fandango on core"
phenomena (esp. lossage related to corruption of the malloc "arena") or
errors that "smash the stack".
sucking mud [Applied Data Research] adj. (also "pumping mud") Crashed or
"wedged". Usually said of a machine that provides a service to a network,
such as a file server. The Dallas regionalism derives from the East Texan
oilfield lament, "Shut 'er down, Ma, she's a-suckin' mud". Often used as a
query. "We are going to reconfigure the network, are you ready to suck mud?"
Dr Willard McCarty / Senior Lecturer /
Centre for Computing in the Humanities / King's College London /
Strand / London WC2R 2LS / U.K. /
+44 (0)20 7848-2784 / ilex.cc.kcl.ac.uk/wlm/
This archive was generated by hypermail 2b30 : Wed Oct 03 2001 - 04:33:29 EDT