A software or hardware feature included in order to
simplify later additions or changes by a user. For example, a
simple program that prints numbers might always print them in base
10, but a more flexible version would let a variable determine what
base to use; setting the variable to 5 would make the program print
numbers in base 5. The variable is a simple hook. An even more
flexible program might examine the variable and treat a value of 16
or less as the base to use, but treat any other number as the
address of a user-supplied routine for printing a number. This is
a hairy but powerful hook; one can then write a routine to
print numbers as Roman numerals, say, or as Hebrew characters, and
plug it into the program through the hook. Often the difference
between a good program and a superb one is that the latter has
useful hooks in judiciously chosen places. Both may do the
original job about equally well, but the one with the hooks is much
more flexible for future expansion of capabilities (EMACS, for
example, is all hooks). The term `user exit' is
synonymous but much more formal and less hackish.
brute force adj.
Describes a primitive programming style
one in which the programmer relies on the computer's processing
power instead of using his or her own intelligence to simplify the
problem, often ignoring problems of scale and applying naive
methods suited to small problems directly to large ones....
munching squares: n. A {display hack} dating back to the PDP-1
(ca. 1962, reportedly discovered by Jackson Wright), which employs
a trivial computation (repeatedly plotting the graph Y = X XOR T
for successive values of T --- see {HAKMEM} items 146--148) to
produce an impressive display of moving and growing squares that
devour the screen....