Skip to content

Chapter V: Rare: book (16)

Text size

:smart: /adj./ Said of a program that does the {Right Thing}
in a wide variety of complicated circumstances. There is a
difference between calling a program smart and calling it
intelligent; in particular, there do not exist any intelligent
programs (yet -- see {AI-complete}). Compare {robust}
(smart programs can be {brittle}).

:smart terminal: /n./ 1. A terminal that has enough computing
capability to render graphics or to offload some kind of front-end
processing from the computer it talks to. The development of
workstations and personal computers has made this term and the
product it describes semi-obsolescent, but one may still hear
variants of the phrase `act like a smart terminal' used to
describe the behavior of workstations or PCs with respect to
programs that execute almost entirely out of a remote {server}'s
storage, using local devices as displays. 2. obs. Any terminal
with an addressable cursor; the opposite of a {glass tty}.
Today, a terminal with merely an addressable cursor, but with none
of the more-powerful features mentioned in sense 1, is called a
{dumb terminal}.

There is a classic quote from Rob Pike (inventor of the {blit}
terminal): "A smart terminal is not a smart*ass* terminal,
but rather a terminal you can educate." This illustrates a common
design problem: The attempt to make peripherals (or anything else)
intelligent sometimes results in finicky, rigid `special
features' that become just so much dead weight if you try to use
the device in any way the designer didn't anticipate. Flexibility
and programmability, on the other hand, are *really* smart.
Compare {hook}.

:smash case: /vi./ To lose or obliterate the
uppercase/lowercase distinction in text input. "MS-DOS will
automatically smash case in the names of all the files you
create." Compare {fold case}.

:smash the stack: /n./ [C programming] To corrupt the execution
stack by writing past the end of a local array or other data
structure. Code that smashes the stack can cause a return from the
routine to jump to a random address, resulting in some of the most
insidious data-dependent bugs known to mankind. Variants include
`trash' the stack, {scribble} the stack, {mangle} the
stack; the term **{mung} the stack is not used, as this is never
done intentionally. See {spam}; see also {aliasing bug},
{fandango on core}, {memory leak}, {memory smash},
{precedence lossage}, {overrun screw}.

:smiley: /n./ See {emoticon}.

:smoke: /vi./ 1. To {crash} or blow up, usually
spectacularly. "The new version smoked, just like the last one."
Used for both hardware (where it often describes an actual physical
event), and software (where it's merely colorful). 2. [from
automotive slang] To be conspicuously fast. "That processor
really smokes." Compare {magic smoke}.

:smoke and mirrors: /n./ Marketing deceptions. The term is
mainstream in this general sense. Among hackers it's strongly
associated with bogus demos and crocked {benchmark}s (see also
{MIPS}, {machoflops}). "They claim their new box cranks 50
MIPS for under $5000, but didn't specify the instruction mix ---
sounds like smoke and mirrors to me." The phrase, popularized by
newspaper columnist Jimmy Breslin c.1975, has been said to
derive from carnie slang for magic acts and `freak show' displays
that depend on `trompe l'oeil' effects, but also calls to mind
the fierce Aztec god Tezcatlipoca (lit. "Smoking Mirror") for
whom the hearts of huge numbers of human sacrificial victims were
regularly cut out. Upon hearing about a rigged demo or yet another
round of fantasy-based marketing promises, hackers often feel
analogously disheartened. See also {stealth manager}.

:smoke test: /n./ 1. A rudimentary form of testing applied to
electronic equipment following repair or reconfiguration, in which
power is applied and the tester checks for sparks, smoke, or other
dramatic signs of fundamental failure. See {magic smoke}.
2. By extension, the first run of a piece of software after
construction or a critical change. See and compare {reality
check}.

There is an interesting semi-parallel to this term among
typographers and printers: When new typefaces are being punch-cut
by hand, a `smoke test' (hold the letter in candle smoke, then
press it onto paper) is used to check out new dies.

:smoking clover: /n./ [ITS] A {display hack} originally due
to Bill Gosper. Many convergent lines are drawn on a color monitor
in {AOS} mode (so that every pixel struck has its color
incremented). The lines all have one endpoint in the middle of the
screen; the other endpoints are spaced one pixel apart around the
perimeter of a large square. The color map is then repeatedly
rotated. This results in a striking, rainbow-hued, shimmering
four-leaf clover. Gosper joked about keeping it hidden from the
FDA (the U.S.'s Food and Drug Administration) lest its
hallucinogenic properties cause it to be banned.

:SMOP: /S-M-O-P/ /n./ [Simple (or Small) Matter of
Programming] 1. A piece of code, not yet written, whose anticipated
length is significantly greater than its complexity. Used to refer
to a program that could obviously be written, but is not worth the
trouble. Also used ironically to imply that a difficult problem
can be easily solved because a program can be written to do it; the
irony is that it is very clear that writing such a program will be
a great deal of work. "It's easy to enhance a FORTRAN compiler to
compile COBOL as well; it's just an SMOP." 2. Often used
ironically by the intended victim when a suggestion for a program
is made which seems easy to the suggester, but is obviously (to the
victim) a lot of work.

:smurf: /smerf/ /n./ [from the soc.motss newsgroup on
Usenet, after some obnoxiously gooey cartoon characters] A
newsgroup regular with a habitual style that is irreverent, silly,
and cute. Like many other hackish terms for people, this one
may be praise or insult depending on who uses it. In general,
being referred to as a smurf is probably not going to make your day
unless you've previously adopted the label yourself in a spirit of
irony. Compare {old fart}.

:SNAFU principle: /sna'foo prin'si-pl/ /n./ [from a WWII Army
acronym for `Situation Normal, All Fucked Up'] "True
communication is possible only between equals, because inferiors
are more consistently rewarded for telling their superiors pleasant
lies than for telling the truth." -- a central tenet of
{Discordianism}, often invoked by hackers to explain why
authoritarian hierarchies screw up so reliably and systematically.
The effect of the SNAFU principle is a progressive disconnection of
decision-makers from reality. This lightly adapted version of a
fable dating back to the early 1960s illustrates the phenomenon
perfectly:

In the beginning was the plan,
and then the specification;
And the plan was without form,
and the specification was void.

And darkness
was on the faces of the implementors thereof;
And they spake unto their leader,
saying:
"It is a crock of shit,
and smells as of a sewer."

And the leader took pity on them,
and spoke to the project leader:
"It is a crock of excrement,
and none may abide the odor thereof."

And the project leader
spake unto his section head, saying:
"It is a container of excrement,
and it is very strong, such that none may abide it."

The section head then hurried to his department manager,
and informed him thus:
"It is a vessel of fertilizer,
and none may abide its strength."

The department manager carried these words
to his general manager,
and spoke unto him
saying:
"It containeth that which aideth the growth of plants,
and it is very strong."

And so it was that the general manager rejoiced
and delivered the good news unto the Vice President.
"It promoteth growth,
and it is very powerful."

The Vice President rushed to the President's side,
and joyously exclaimed:
"This powerful new software product
will promote the growth of the company!"

And the President looked upon the product,
and saw that it was very good.

After the subsequent and inevitable disaster, the {suit}s
protect themselves by saying "I was misinformed!", and the
implementors are demoted or fired.

:snail: /vt./ To {snail-mail} something. "Snail me a copy
of those graphics, will you?"

:snail-mail: /n./ Paper mail, as opposed to electronic.
Sometimes written as the single word `SnailMail'. One's postal
address is, correspondingly, a `snail address'. Derives from
earlier coinage `USnail' (from `U.S. Mail'), for which
there have even been parody posters and stamps made. Also (less
commonly) called `P-mail', from `paper mail' or `physical mail'.
Oppose {email}.

:snap: /v./ To replace a pointer to a pointer with a direct
pointer; to replace an old address with the forwarding address
found there. If you telephone the main number for an institution
and ask for a particular person by name, the operator may tell you
that person's extension before connecting you, in the hopes that
you will `snap your pointer' and dial direct next time. The
underlying metaphor may be that of a rubber band stretched through
a number of intermediate points; if you remove all the thumbtacks
in the middle, it snaps into a straight line from first to last.
See {chase pointers}.

Often, the behavior of a {trampoline} is to perform an error
check once and then snap the pointer that invoked it so as
henceforth to bypass the trampoline (and its one-shot error check).
In this context one also speaks of `snapping links'. For
example, in a LISP implementation, a function interface trampoline
might check to make sure that the caller is passing the correct
number of arguments; if it is, and if the caller and the callee are
both compiled, then snapping the link allows that particular path
to use a direct procedure-call instruction with no further
overhead.

:snarf: /snarf/ /vt./ 1. To grab, esp. to grab a large
document or file for the purpose of using it with or without the
author's permission. See also {BLT}. 2. [in the Unix
community] To fetch a file or set of files across a network. See
also {blast}. This term was mainstream in the late 1960s,
meaning `to eat piggishly'. It may still have this connotation in
context. "He's in the snarfing phase of hacking -- {FTP}ing
megs of stuff a day." 3. To acquire, with little concern for
legal forms or politesse (but not quite by stealing). "They
were giving away samples, so I snarfed a bunch of them."
4. Syn. for {slurp}. "This program starts by snarfing the
entire database into core, then...." 5. [GEnie] To spray
food or {programming fluid}s due to laughing at the wrong
moment. "I was drinking coffee, and when I read your post I
snarfed all over my desk." "If I keep reading this topic, I
think I'll have to snarf-proof my computer with a keyboard
{condom}." [This sense appears to be widespread among mundane
teenagers --ESR]

:snarf & barf: /snarf'n-barf`/ /n./ Under a {WIMP
environment}, the act of grabbing a region of text and then
stuffing the contents of that region into another region (or the
same one) to avoid retyping a command line. In the late 1960s,
this was a mainstream expression for an `eat now, regret it later'
cheap-restaurant expedition.

:snarf down: /v./ To {snarf}, with the connotation of
absorbing, processing, or understanding. "I'll snarf down the
latest version of the {nethack} user's guide -- it's been a
while since I played last and I don't know what's changed
recently."

:snark: /n./ [Lewis Carroll, via the Michigan Terminal System]
1. A system failure. When a user's process bombed, the operator
would get the message "Help, Help, Snark in MTS!" 2. More
generally, any kind of unexplained or threatening event on a
computer (especially if it might be a boojum). Often used to refer
to an event or a log file entry that might indicate an attempted
security violation. See {snivitz}. 3. UUCP name of
snark.thyrsus.com, home site of the Jargon File versions from
2.*.* on (i.e., this lexicon).

:sneaker: /n./ An individual hired to break into places in
order to test their security; analogous to {tiger team}.
Compare {samurai}.

:sneakernet: /snee'ker-net/ /n./ Term used (generally with
ironic intent) for transfer of electronic information by physically
carrying tape, disks, or some other media from one machine to
another. "Never underestimate the bandwidth of a station wagon
filled with magtape, or a 747 filled with CD-ROMs." Also called
`Tennis-Net', `Armpit-Net', `Floppy-Net' or `Shoenet'.

:sniff: /v.,n./ Synonym for {poll}.

:snivitz: /sniv'itz/ /n./ A hiccup in hardware or software; a
small, transient problem of unknown origin (less serious than a
{snark}). Compare {glitch}.

:SO: /S-O/ /n./ 1. (also `S.O.') Abbrev. for Significant
Other, almost invariably written abbreviated and pronounced /S-O/
by hackers. Used to refer to one's primary relationship, esp. a
live-in to whom one is not married. See {MOTAS}, {MOTOS},
{MOTSS}. 2. [techspeak] The Shift Out control character in
ASCII (Control-N, 0001110).

:social engineering: /n./ Term used among {cracker}s and
{samurai} for cracking techniques that rely on weaknesses in
{wetware} rather than software; the aim is to trick people into
revealing passwords or other information that compromises a target
system's security. Classic scams include phoning up a mark who has
the required information and posing as a field service tech or a
fellow employee with an urgent access problem. See also the
{tiger team} story in the {patch} entry.

:social science number: /n./ [IBM] A statistic that is
{content-free}, or nearly so. A measure derived via methods of
questionable validity from data of a dubious and vague nature.
Predictively, having a social science number in hand is seldom much
better than nothing, and can be considerably worse. As a rule,
{management} loves them. See also {numbers}, {math-out},
{pretty pictures}.

:sodium substrate: /n./ Syn {salt substrate}.

:soft boot: /n./ See {boot}.

:softcopy: /soft'kop-ee/ /n./ [by analogy with `hardcopy']
A machine-readable form of corresponding hardcopy. See {bits},
{machinable}.

:software bloat: /n./ The results of {second-system effect}
or {creeping featuritis}. Commonly cited examples include
`ls(1)', {X}, {BSD}, {Missed'em-five}, and {OS/2}.

:software hoarding: /n./ Pejorative term employed by members and
adherents of the {GNU} project to describe the act of holding
software proprietary, keeping it under trade secret or license
terms which prohibit free redistribution and modification. Used
primarily in Free Software Foundation propaganda. For a summary
of related issues, see {GNU}.

:software laser: /n./ An optical laser works by bouncing
photons back and forth between two mirrors, one totally reflective
and one partially reflective. If the lasing material (usually a
crystal) has the right properties, photons scattering off the atoms
in the crystal will excite cascades of more photons, all in
lockstep. Eventually the beam will escape through the
partially-reflective mirror. One kind of {sorcerer's apprentice
mode} involving {bounce message}s can produce closely analogous
results, with a {cascade} of messages escaping to flood nearby
systems. By mid-1993 there had been at least two publicized
incidents of this kind.

:software rot: /n./ Term used to describe the tendency of
software that has not been used in a while to {lose}; such
failure may be semi-humorously ascribed to {bit rot}. More
commonly, `software rot' strikes when a program's assumptions
become out of date. If the design was insufficiently {robust},
this may cause it to fail in mysterious ways.

For example, owing to endemic shortsightedness in the design of
COBOL programs, most will succumb to software rot when their
2-digit year counters {wrap around} at the beginning of the
year 2000. Actually, related lossages often afflict centenarians
who have to deal with computer software designed by unimaginative
clods. One such incident became the focus of a minor public flap
in 1990, when a gentleman born in 1889 applied for a driver's
license renewal in Raleigh, North Carolina. The new system
refused to issue the card, probably because with 2-digit years the
ages 101 and 1 cannot be distinguished.

Historical note: Software rot in an even funnier sense than the
mythical one was a real problem on early research computers (e.g.,
the R1; see {grind crank}). If a program that depended on a
peculiar instruction hadn't been run in quite a while, the user
might discover that the opcodes no longer did the same things they
once did. ("Hey, so-and-so needs an instruction to do
such-and-such. We can {snarf} this opcode, right? No one uses
it.")

Another classic example of this sprang from the time an MIT hacker
found a simple way to double the speed of the unconditional jump
instruction on a PDP-6, so he patched the hardware. Unfortunately,
this broke some fragile timing software in a music-playing program,
throwing its output out of tune. This was fixed by adding a
defensive initialization routine to compare the speed of a timing
loop with the real-time clock; in other words, it figured out how
fast the PDP-6 was that day, and corrected appropriately.

Compare {bit rot}.

:softwarily: /soft-weir'i-lee/ /adv./ In a way pertaining to
software. "The system is softwarily unreliable." The adjective
**`softwary' is *not* used. See {hardwarily}.

:softy: /n./ [IBM] Hardware hackers' term for a software expert who
is largely ignorant of the mysteries of hardware.

:some random X: /adj./ Used to indicate a member of class X,
with the implication that Xs are interchangeable. "I think some
random cracker tripped over the guest timeout last night." See
also {J. Random}.

:sorcerer's apprentice mode: /n./ [from Goethe's "Der
Zauberlehrling" via Paul Dukas's "L'apprenti sorcier" the film
"Fantasia"] A bug in a protocol where, under some
circumstances, the receipt of a message causes multiple messages to
be sent, each of which, when received, triggers the same bug. Used
esp. of such behavior caused by {bounce message} loops in
{email} software. Compare {broadcast storm}, {network
meltdown}, {software laser}, {ARMM}.

:SOS: /S-O-S/ /n. obs./ 1. 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
(in particular, {TECO}) 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). 2. /sos/ /vt./ To decrease; inverse of {AOS}, from
the PDP-10 instruction set.

: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.

: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:

Comments

Log in to leave a comment.

The Jargon File, Version 4.0.0, 24 Jul 1996Chapter V: Rare: book (16)

0%12 min left in chapter