n.,obs. An infamously losing text
editor. Once, back in the 1960s, when a text editor was needed
for the PDP-6, a hacker crufted together a quick-and-dirty `stopgap editor' to be
used until a better one was written. Unfortunately, the old one
was never really discarded when new ones came along. SOS is a
descendant (`Son of Stopgap') of that editor, and many PDP-10
users gained the dubious pleasure of its acquaintance. Since then
other programs similar in style to SOS have been written, notably
the early font editor BILOS /bye'lohs/, the Brother-In-Law Of
Stopgap (the alternate expansion `Bastard Issue, Loins of
Stopgap' has been proposed).
Node:source, Next:source of all good bits,
Previous:SOS, Up:= S =
source n.
[very common] In reference to software, `source' is invariably
shorthand for `source code', the preferred human-readable and
human-modifiable form of the program. This is as opposed to
object code, the derived binary executable form of a program.
This shorthand readily takes derivative forms; one may speak of
"the sources of a system" or of "having source".
Node:source of all good
bits, Next:space-cadet keyboard, Previous:source, Up:= S =
source of all good bits n.
A person from whom (or a place from which) useful information
may be obtained. If you need to know about a program, a guru might be the source of all good bits.
The title is often applied to a particularly competent
secretary.
Node:space-cadet keyboard,
Next:spaceship
operator, Previous:source of all good bits,
Up:= S =
space-cadet keyboard n.
A now-legendary device used on MIT LISP machines, which
inspired several still-current jargon terms and influenced the
design of EMACS. It was equipped with
no fewer than seven shift keys: four keys for bucky bits (`control', `meta',
`hyper', and `super') and three like regular shift keys, called
`shift', `top', and `front'. Many keys had three symbols on them:
a letter and a symbol on the top, and a Greek letter on the
front. For example, the `L' key had an `L' and a two-way arrow on
the top, and the Greek letter lambda on the front. By pressing
this key with the right hand while playing an appropriate `chord'
with the left hand on the shift keys, you could get the following
results:
L
lowercase l
shift-L
uppercase L
front-L
lowercase lambda
front-shift-L
uppercase lambda
top-L
two-way arrow (front and shift are ignored)
And of course each of these might also be typed with any
combination of the control, meta, hyper, and super keys. On this
keyboard, you could type over 8000 different characters! This
allowed the user to type very complicated mathematical text, and
also to have thousands of single-character commands at his
disposal. Many hackers were actually willing to memorize the
command meanings of that many characters if it reduced typing
time (this attitude obviously shaped the interface of EMACS).
Other hackers, however, thought having that many bucky bits was
overkill, and objected that such a keyboard can require three or
four hands to operate. See bucky
bits, cokebottle, double bucky, meta bit, quadruple bucky.
Note: early versions of this entry incorrectly identified the
space-cadet keyboard with the `Knight keyboard'. Though both were
designed by Tom Knight, the latter term was properly applied only
to a keyboard used for ITS on the PDP-10 and modeled on the
Stanford keyboard (as described under bucky bits). The true space-cadet
keyboard evolved from the first Knight keyboard.
Node:spaceship operator,
Next:SPACEWAR, Previous:space-cadet
keyboard, Up:= S =
spaceship operator n.
The glyph <=>, so-called apparently because
in the low-resolution constant-width font used on many terminals
it vaguely resembles a flying saucer. Perl uses this to denote the signum-of-difference
operation.
Node:SPACEWAR, Next:spaghetti code, Previous:spaceship operator,
Up:= S =
SPACEWAR n.
A space-combat simulation game, inspired by E. E. "Doc"
Smith's "Lensman" books, in which two spaceships duel around a
central sun, shooting torpedoes at each other and jumping through
hyperspace. This game was first implemented on the PDP-1 at MIT
in 1962. In 1968-69, a descendant of the game motivated Ken
Thompson to build, in his spare time on a scavenged PDP-7, the
operating system that became Unix.
Less than nine years after that, SPACEWAR was commercialized as
one of the first video games; descendants are still feeping in video arcades everywhere.
Node:spaghetti code, Next:spaghetti inheritance,
Previous:SPACEWAR, Up:= S =
spaghetti code n.
Code with a complex and tangled control structure, esp. one
using many GOTOs, exceptions, or other `unstructured' branching
constructs. Pejorative. The synonym `kangaroo code' has been
reported, doubtless because such code has so many jumps in
it.
Node:spaghetti inheritance,
Next:spam, Previous:spaghetti code, Up:= S =
spaghetti inheritance n.
[encountered among users of object-oriented languages that use
inheritance, such as Smalltalk] A convoluted class-subclass
graph, often resulting from carelessly deriving subclasses from
other classes just for the sake of reusing their code. Coined in
a (successful) attempt to discourage such practice, through
guilt-by-association with spaghetti code.