The Hacker's Dictionary

Versió HTML de Lluís de Yzaguirre i Maura

Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza @ upf.es


vadding
======= /vad'ing/ [from VAD, a permutation of ADV (i.e.,
ADVENT), used to avoid a particular admin's continual
search-and-destroy sweeps for the game] n. A leisure-time activity
of certain hackers involving the covert exploration of the
`secret' parts of large buildings --- basements, roofs, freight
elevators, maintenance crawlways, steam tunnels, and the like. A
few go so far as to learn locksmithing in order to synthesize
vadding keys. The verb is `to vad' (compare phreaking; see
also hack, sense 9). This term dates from the late 1970s,
before which such activity was simply called `hacking'; the older
usage is still prevalent at MIT.

The most extreme and dangerous form of vadding is `elevator
rodeo', a.k.a. `elevator surfing', a sport played by wrasslin'
down a thousand-pound elevator car with a 3-foot piece of
string, and then exploiting this mastery in various stimulating
ways (such as elevator hopping, shaft exploration, rat-racing, and
the ever-popular drop experiments). Kids, don't try this at home!
See also hobbit (sense 2).

vanilla
======= [from the default flavor of ice cream in the U.S.] adj.
Ordinary flavor, standard. When used of food, very often does
not mean that the food is flavored with vanilla extract! For
example, `vanilla wonton soup' means ordinary wonton soup, as
opposed to hot-and-sour wonton soup. Applied to hardware and
software, as in "Vanilla Version 7 UNIX can't run on a
vanilla 11/34." Also used to orthogonalize chip nomenclature; for
instance, a 74V00 means what TI calls a 7400, as distinct from
a 74LS00, etc. This word differs from canonical in that the
latter means `default', whereas vanilla simply means `ordinary'.
For example, when hackers go on a great-wall, hot-and-sour
wonton soup is the canonical wonton soup to get (because that
is what most of them usually order) even though it isn't the
vanilla wonton soup.
vannevar
======== /van'*-var/ n. A bogus technological prediction or a
foredoomed engineering concept, esp. one that fails by implicitly
assuming that technologies develop linearly, incrementally, and in
isolation from one another when in fact the learning curve tends to
be highly nonlinear, revolutions are common, and competition is the
rule. The prototype was Vannevar Bush's prediction of
`electronic brains' the size of the Empire State Building with a
Niagara-Falls-equivalent cooling system for their tubes and relays,
a prediction made at a time when the semiconductor effect had
already been demonstrated. Other famous vannevars have included
magnetic-bubble memory, LISP machines, videotex, and a paper
from the late 1970s that computed a purported ultimate limit on
areal density for ICs that was in fact less than the routine
densities of 5 years later.
vaporware
========= /vay'pr-weir/ n. Products announced far in advance of
any release (which may or may not actually take place). See also
brochureware.
var
=== /veir/ or /var/ n. Short for `variable'. Compare arg,
param.
VAX
=== /vaks/ n. 1. [from Virtual Address eXtension] The most
successful minicomputer design in industry history, possibly
excepting its immediate ancestor, the PDP-11. Between its release
in 1978 and its eclipse by killer micros after about 1986, the
VAX was probably the hacker's favorite machine of them all, esp.
after the 1982 release of 4.2 BSD UNIX (see BSD). Esp.
noted for its large, assembler-programmer-friendly instruction set
--- an asset that became a liability after the RISC revolution.
2. A major brand of vacuum cleaner in Britain. Cited here because
its alleged sales pitch, "Nothing sucks like a VAX!" became a
sort of battle-cry of RISC partisans. It is even sometimes claimed
that DEC actually entered a cross-licensing deal with the
vacuum-Vax people that allowed them to market VAX computers in the
U.K. in return for not challenging the vacuum cleaner trademark in
the U.S.

It is sometimes claimed that this slogan was *not* actually
used by the Vax vacuum-cleaner people, but was actually that of a
rival brand called Electrolux (as in "Nothing sucks
like..."). It has been reliably confirmed that Electrolux (a
Swedish company) actually did use this slogan in the late 1960s; it
has apparently become a classic example (used in textbooks) of the
perils of not knowing the local idiom.

It appears, however, that the Vax people thought the slogan a
sufficiently good idea to copy it. Several British hackers report
that their promotions used it in 1986--1987, and we have one report
from a New Zealander that the infamous slogan surfaced there in TV
ads for the product as recently as 1992!

VAXectomy
========= /vak-sek't*-mee/ [by analogy with `vasectomy'] n. A
VAX removal. DEC's Microvaxen, especially, are much slower than
newer RISC-based workstations such as the SPARC. Thus, if one knows
one has a replacement coming, VAX removal can be cause for
celebration.
VAXen
===== /vak'sn/ [from `oxen', perhaps influenced by `vixen'] n.
(alt. `vaxen') The plural canonically used among hackers for the
DEC VAX computers. "Our installation has four PDP-10s and twenty
vaxen." See boxen.
vaxherd
======= n. /vaks'herd/ [from `oxherd'] A VAX operator.
vaxism
====== /vak'sizm/ n. A piece of code that exhibits
vaxocentrism in critical areas. Compare PC-ism,
unixism.
vaxocentrism
============ /vak`soh-sen'trizm/ [analogy with
`ethnocentrism'] n. A notional disease said to afflict
C programmers who persist in coding according to certain
assumptions that are valid (esp. under UNIX) on VAXen but
false elsewhere. Among these are:

1. The assumption that dereferencing a null pointer is safe because it
is all bits 0, and location 0 is readable and 0. Problem: this may
instead cause an illegal-address trap on non-VAXen, and even on
VAXen under OSes other than BSD UNIX. Usually this is an implicit
assumption of sloppy code (forgetting to check the pointer before
using it), rather than deliberate exploitation of a misfeature.

2. The assumption that characters are signed.

3. The assumption that a pointer to any one type can freely be cast
into a pointer to any other type. A stronger form of this is the
assumption that all pointers are the same size and format, which
means you don't have to worry about getting the casts or types
correct in calls. Problem: this fails on word-oriented machines or
others with multiple pointer formats.

4. The assumption that the parameters of a routine are stored in
memory, on a stack, contiguously, and in strictly ascending or
descending order. Problem: this fails on many RISC architectures.

5. The assumption that pointer and integer types are the same size,
and that pointers can be stuffed into integer variables (and
vice-versa) and drawn back out without being truncated or mangled.
Problem: this fails on segmented architectures or word-oriented
machines with funny pointer formats.

6. The assumption that a data type of any size may begin at any byte
address in memory (for example, that you can freely construct and
dereference a pointer to a word- or greater-sized object at an odd
char address). Problem: this fails on many (esp. RISC)
architectures better optimized for HLL execution speed, and can
cause an illegal address fault or bus error.

7. The (related) assumption that there is no padding at the end of
types and that in an array you can thus step right from the last
byte of a previous component to the first byte of the next one.
This is not only machine- but compiler-dependent.

8. The assumption that memory address space is globally flat and that
the array reference `foo[-1]' is necessarily valid. Problem: this
fails at 0, or other places on segment-addressed machines like
Intel chips (yes, segmentation is universally considered a
brain-damaged way to design machines (see moby), but that is a
separate issue).

9. The assumption that objects can be arbitrarily large with no
special considerations. Problem: this fails on segmented
architectures and under non-virtual-addressing environments.

10. The assumption that the stack can be as large as memory. Problem:
this fails on segmented architectures or almost anything else
without virtual addressing and a paged stack.

11. The assumption that bits and addressable units within an object are
ordered in the same way and that this order is a constant of
nature. Problem: this fails on big-endian machines.

12. The assumption that it is meaningful to compare pointers to
different objects not located within the same array, or to objects
of different types. Problem: the former fails on segmented
architectures, the latter on word-oriented machines or others with
multiple pointer formats.

13. The assumption that an `int' is 32 bits, or (nearly equivalently)
the assumption that `sizeof(int) == sizeof(long)'. Problem: this
fails on PDP-11s, 286-based systems and even on 386 and 68000
systems under some compilers.

14. The assumption that `argv[]' is writable. Problem: this fails in
many embedded-systems C environments and even under a few flavors
of UNIX.

Note that a programmer can validly be accused of vaxocentrism
even if he or she has never seen a VAX. Some of these assumptions
(esp. 2--5) were valid on the PDP-11, the original C machine, and
became endemic years before the VAX. The terms `vaxocentricity'
and `all-the-world's-a-VAX syndrome' have been used synonymously.

vdiff
===== /vee'dif/ v.,n. Visual diff. The operation of finding
differences between two files by eyeball search. The term
`optical diff' has also been reported, and is sometimes more
specifically used for the act of superimposing two nearly identical
printouts on one another and holding them up to a light to spot
differences. Though this method is poor for detecting omissions in
the `rear' file, it can also be used with printouts of graphics, a
claim few if any diff programs can make. See diff.
veeblefester
============ /vee'b*l-fes`tr/ [from the "Born Loser"
comix via Commodore; prob. originally from "Mad" Magazine's
`Veeblefeetzer' parodies ca. 1960] n. Any obnoxious person engaged
in the (alleged) professions of marketing or management. Antonym
of hacker. Compare suit, marketroid.
ventilator card
=============== n. Syn. lace card.
Venus flytrap
============= [after the insect-eating plant] n. See [firewall
machine}.
verbage
======= /ver'b*j/ n. A deliberate misspelling and mispronunciation of
verbiage that assimilates it to the word `garbage'. Compare
content-free. More pejorative than `verbiage'.
verbiage
======== n. When the context involves a software or hardware
system, this refers to "documentation". This term borrows the
connotations of mainstream `verbiage' to suggest that the
documentation is of marginal utility and that the motives behind
its production have little to do with the ostensible subject.
Version 7
========= alt. V7 /vee' se'vn/ n. The 1978 unsupported release of
"UNIX" ancestral to all current commercial versions. Before
the release of the POSIX/SVID standards, V7's features were often
treated as a UNIX portability baseline. See BSD, USG UNIX,
"UNIX". Some old-timers impatient with commercialization and
kernel bloat still maintain that V7 was the Last True UNIX.
vgrep
===== /vee'grep/ v.,n. Visual grep. The operation of finding
patterns in a file optically rather than digitally (also called an
`optical grep'). See grep; compare vdiff.
vi
== /V-I/, *not* /vi:/ and *never* /siks/ [from
`Visual Interface'] n. A screen editor crufted together by Bill Joy
for an early BSD release. Became the de facto standard
UNIX editor and a nearly undisputed hacker favorite outside of MIT
until the rise of EMACS after about 1984. Tends to frustrate
new users no end, as it will neither take commands while expecting
input text nor vice versa, and the default setup provides no
indication of which mode the editor is in (one correspondent
accordingly reports that he has often heard the editor's name
pronounced /vi:l/). Nevertheless it is still widely used (about
half the respondents in a 1991 USENET poll preferred it), and even
EMACS fans often resort to it as a mail editor and for small
editing jobs (mainly because it starts up faster than the bulkier
versions of EMACS). See holy wars.
videotex
======== n. obs. An electronic service offering people the
privilege of paying to read the weather on their television screens
instead of having somebody read it to them for free while they
brush their teeth. The idea bombed everywhere it wasn't
government-subsidized, because by the time videotex was practical
the installed base of personal computers could hook up to
timesharing services and do the things for which videotex might
have been worthwhile better and cheaper. Videotex planners badly
overestimated both the appeal of getting information from a
computer and the cost of local intelligence at the user's end.
Like the gorilla arm effect, this has been a cautionary tale
to hackers ever since. See also vannevar.
virgin
====== adj. Unused; pristine; in a known initial state. "Let's
bring up a virgin system and see if it crashes again." (Esp.
useful after contracting a virus through SEX.) Also, by
extension, buffers and the like within a program that have not yet
been used.
virtual
======= [via the technical term `virtual memory', prob. from
the term `virtual image' in optics] adj. 1. Common alternative
to logical; often used to refer to the artificial objects
(like addressable virtual memory larger than physical memory)
created by a computer system to help the system control access to
shared resources. 2. Simulated; performing the functions of
something that isn't really there. An imaginative child's doll may
be a virtual playmate. Oppose real.
virtual Friday
============== n. (also `logical Friday') The last day before
an extended weekend, if that day is not a `real' Friday. For
example, the U.S. holiday Thanksgiving is always on a Thursday.
The next day is often also a holiday or taken as an extra day off,
in which case Wednesday of that week is a virtual Friday (and
Thursday is a virtual Saturday, as is Friday). There are also
`virtual Mondays' that are actually Tuesdays, after the three-day
weekends associated with many national holidays in the U.S.
virtual reality
=============== n. 1. Computer simulations that use 3-D graphics
and devices such as the Dataglove to allow the user to interact
with the simulation. See cyberspace. 2. A form of network
interaction incorporating aspects of role-playing games,
interactive theater, improvisational comedy, and `true confessions'
magazines. In a virtual reality forum (such as USENET's
alt.callahans newsgroup or the MUD experiments on Internet),
interaction between the participants is written like a shared novel
complete with scenery, `foreground characters' that may be
personae utterly unlike the people who write them, and common
`background characters' manipulable by all parties. The one
iron law is that you may not write irreversible changes to a
character without the consent of the person who `owns' it.
Otherwise anything goes. See bamf, cyberspace.
virtual shredder
================ n. The jargonic equivalent of the bit bucket
at shops using IBM's VM/CMS operating system. VM/CMS officially
supports a whole bestiary of virtual card readers, virtual
printers, and other phantom devices; these are used to supply some
of the same capabilities UNIX gets from pipes and I/O redirection.
virus
===== [from the obvious analogy with biological viruses, via SF]
n. A cracker program that searches out other programs and `infects'
them by embedding a copy of itself in them, so that they become
Trojan horses. When these programs are executed, the embedded
virus is executed too, thus propagating the `infection'. This
normally happens invisibly to the user. Unlike a worm, a
virus cannot infect other computers without assistance. It is
propagated by vectors such as humans trading programs with their
friends (see SEX). The virus may do nothing but propagate
itself and then allow the program to run normally. Usually,
however, after propagating silently for a while, it starts doing
things like writing cute messages on the terminal or playing
strange tricks with the display (some viruses include nice
display hacks). Many nasty viruses, written by particularly
perversely minded crackers, do irreversible damage, like
nuking all the user's files.

In the 1990s, viruses have become a serious problem, especially
among IBM PC and Macintosh users (the lack of security on these
machines enables viruses to spread easily, even infecting the
operating system). The production of special anti-virus software
has become an industry, and a number of exaggerated media reports
have caused outbreaks of near hysteria among users; many
lusers tend to blame *everything* that doesn't work as
they had expected on virus attacks. Accordingly, this sense of
`virus' has passed not only into techspeak but into also popular
usage (where it is often incorrectly used to denote a worm or
even a Trojan horse). See phage; compare back door;
see also UNIX conspiracy.

visionary
========= n. 1. One who hacks vision, in the sense of an
Artificial Intelligence researcher working on the problem of
getting computers to `see' things using TV cameras. (There isn't
any problem in sending information from a TV camera to a computer.
The problem is, how can the computer be programmed to make use of
the camera information? See SMOP, AI-complete.) 2. [IBM]
One who reads the outside literature. At IBM, apparently, such a
penchant is viewed with awe and wonder.
VMS
=== /V-M-S/ n. DEC's proprietary operating system for its VAX
minicomputer; one of the seven or so environments that loom largest
in hacker folklore. Many UNIX fans generously concede that VMS
would probably be the hacker's favorite commercial OS if UNIX
didn't exist; though true, this makes VMS fans furious. One major
hacker gripe with VMS concerns its slowness --- thus the following
limerick:

There once was a system called VMS
Of cycles by no means abstemious.
It's chock-full of hacks
And runs on a VAX
And makes my poor stomach all squeamious.
--- The Great Quux

See also VAX, "TOPS-10", "TOPS-20", "UNIX", runic.

voice
===== vt. To phone someone, as opposed to emailing them or
connecting in talk mode. "I'm busy now; I'll voice you later."
voice-net
========= n. Hackish way of referring to the telephone system,
analogizing it to a digital network. USENET sig blocks not
uncommonly include the sender's phone next to a "Voice:" or
"Voice-Net:" header; common variants of this are "Voicenet" and
"V-Net". Compare paper-net, snail-mail.
voodoo programming
================== [from George Bush's "voodoo economics"] n.
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.
VR
== // [MUD] n. On-line abbrev for virtual reality, as
opposed to RL.
Vulcan nerve pinch
================== n. [from the old "Star Trek" TV series via
Commodore Amiga hackers] The keyboard combination that forces a
soft-boot or jump to ROM monitor (on machines that support such a
feature). On many micros this is Ctrl-Alt-Del; on Suns, L1-A; on
some Macintoshes, it is -! Also called
three-finger salute. Compare quadruple bucky.
vulture capitalist
================== n. Pejorative hackerism for `venture
capitalist', deriving from the common practice of pushing contracts
that deprive inventors of control over their own innovations and
most of the money they ought to have made from them.