What galls hackers about most IBM machines above the PC level isn't
so much that they are underpowered and overpriced (though that does
count against them), but that the designs are incredibly archaic,
crufty, and elephantine ... and you can't *fix* them
--- source code is locked up tight, and programming tools are
expensive, hard to find, and bletcherous to use once you've found
them. With the release of the UNIX-based RIOS family this may have
begun to change --- but then, we thought that when the PC-RT came
out, too.
In the spirit of universal peace and brotherhood, this lexicon now
includes a number of entries attributed to `IBM'; these derive from
some rampantly unofficial jargon lists circulated within IBM's own
beleaguered hacker underground.
Neither term is in serious use yet as of mid-1993, but many hackers
find the metaphor attractive, and each may develop a denotation in
the future. In the meantime, the speculative usage could be
confused with `ICE', an acronym for "in-circuit emulator".
`K&R style' --- Named after Kernighan & Ritchie, because the
examples in K&R are formatted this way. Also called `kernel
style' because the UNIX kernel is written in it, and the `One True
Brace Style' (abbrev. 1TBS) by its partisans. The basic indent
shown here is eight spaces (or one tab) per level; four spaces are
occasionally seen, but are much less common.
if (cond) [
`Allman style' --- Named for Eric Allman, a Berkeley hacker who
wrote a lot of the BSD utilities in it (it is sometimes called
`BSD style'). Resembles normal indent style in Pascal and
Algol. Basic indent per level shown here is eight spaces, but four
spaces are just as common (esp. in C++ code).
if (cond)
[
`Whitesmiths style' --- popularized by the examples that came
with Whitesmiths C, an early commercial C compiler. Basic indent
per level shown here is eight spaces, but four spaces are
occasionally seen.
if (cond)
[
`GNU style' --- Used throughout GNU EMACS and the Free Software
Foundation code, and just about nowhere else. Indents are always
four spaces per level, with `[' and `]' halfway between the
outer and inner indent levels.
if (cond)
[
Surveys have shown the Allman and Whitesmiths styles to be the most
common, with about equal mind shares. K&R/1TBS used to be nearly
universal, but is now much less common (the opening brace tends to
get lost against the right paren of the guard part in an `if'
or `while', which is a Bad Thing). Defenders of 1TBS
argue that any putative gain in readability is less important than
their style's relative economy with vertical space, which enables
one to see more code on one's screen at once. Doubtless these
issues will continue to be the subject of holy wars.
This theorem was first popularized by the astronomer Sir Arthur
Eddington. It became part of the idiom of through the classic short
story "Inflexible Logic" by Russell Maloney, and many younger
hackers know it through a reference in Douglas Adams's
"Hitchhiker's Guide to the Galaxy".
It is a well-known and oft-demonstrated fact that a person whose
work is incomprehensible is held in high esteem. For example, if
one were to state that the simplest way to store a value of 65536
in a 32-bit INTERCAL variable is:
DO :1 <- #0$#256
any sensible programmer would say that that was absurd. Since this
is indeed the simplest method, the programmer would be made to look
foolish in front of his boss, who would of course have happened to
turn up, as bosses are wont to do. The effect would be no less
devastating for the programmer having been correct.
INTERCAL has many other peculiar features designed to make it even
more unspeakable. The Woods-Lyons implementation was actually used
by many (well, at least several) people at Princeton. The language
has been recently reimplemented as C-INTERCAL and is consequently
enjoying an unprecedented level of unpopularity; there is even an
alt.lang.intercal newsgroup devoted to the study and ...
appreciation of the language on USENET.
Reading Internet addresses is something of an art. Here are the
four most important top-level functional Internet domains followed
by a selection of geographical domains:
com
commercial organizations
edu
educational institutions
gov
U.S. government civilian sites
mil
U.S. military sites
Note that most of the sites in the com and edu domains are in
the U.S. or Canada.
us
sites in the U.S. outside the functional domains
su
sites in the ex-Soviet Union (see kremvax).
uk
sites in the United Kingdom
Within the us domain, there are subdomains for the fifty
states, each generally with a name identical to the state's postal
abbreviation. Within the uk domain, there is an ac subdomain for
academic sites and a co domain for commercial ones. Other
top-level domains may be divided up in similar ways.