• Home
  • Posts RSS
  • Comments RSS
  • Edit
  • Showing posts with label Hacker's Dictionary. Show all posts
    Showing posts with label Hacker's Dictionary. Show all posts

    Jargon Hacker's Dictionary (How he works)

    How Jargon Works
    ******************

    Jargon Construction
    =====================

    There are some standard methods of jargonification that became
    established quite early (i.e., before 1970), spreading from such sources
    as the Tech Model Railroad Club, the PDP-1 SPACEWAR hackers, and John
    McCarthy's original crew of LISPers.  These include the following:


    :Verb Doubling: --------------- A standard construction in English is to
    double a verb and use it as an exclamation, such as "Bang, bang!" or
    "Quack, quack!".  Most of these are names for noises.  Hackers also
    double verbs as a concise, sometimes sarcastic comment on what the
    implied subject does.  Also, a doubled verb is often used to terminate a
    conversation, in the process remarking on the current state of affairs
    or what the speaker intends to do next.  Typical examples involve {win},
    {lose}, {hack}, {flame}, {barf}, {chomp}:

         "The disk heads just crashed."  "Lose, lose."
         "Mostly he talked about his latest crock.  Flame, flame."
         "Boy, what a bagbiter!  Chomp, chomp!"

    Some verb-doubled constructions have special meanings not immediately
    obvious from the verb.  These have their own listings in the lexicon.

    The USENET culture has one *tripling* convention unrelated to this; the
    names of `joke' topic groups often have a tripled last element.  The
    first and paradigmatic example was alt.swedish.chef.bork.bork.bork (a
    "Muppet Show" reference); other classics include
    alt.french.captain.borg.borg.borg, alt.wesley.crusher.die.die.die,
    comp.unix.internals.system.calls.brk.brk.brk,
    sci.physics.edward.teller.boom.boom.boom, and
    alt.sadistic.dentists.drill.drill.drill.


    :Soundalike slang: ------------------ Hackers will often make rhymes or
    puns in order to convert an ordinary word or phrase into something more
    interesting.  It is considered particularly {flavorful} if the phrase is
    bent so as to include some other jargon word; thus the computer hobbyist
    magazine `Dr. Dobb's Journal' is almost always referred to among hackers
    as `Dr. Frob's Journal' or simply `Dr. Frob's'.  Terms of this kind that
    have been in fairly wide use include names for newspapers:

         Boston Herald => Horrid (or Harried)
         Boston Globe => Boston Glob
         Houston (or San Francisco) Chronicle
                => the Crocknicle (or the Comical)
         New York Times => New York Slime

    However, terms like these are often made up on the spur of the moment.
    Standard examples include:

         Data General => Dirty Genitals
         IBM 360 => IBM Three-Sickly
         Government Property --- Do Not Duplicate (on keys)
                => Government Duplicity --- Do Not Propagate
         for historical reasons => for hysterical raisins
         Margaret Jacks Hall (the CS building at Stanford)
                => Marginal Hacks Hall

    This is not really similar to the Cockney rhyming slang it has been
    compared to in the past, because Cockney substitutions are opaque
    whereas hacker punning jargon is intentionally transparent.


    :The `-P' convention: --------------------- Turning a word into a
    question by appending the syllable `P'; from the LISP convention of
    appending the letter `P' to denote a predicate (a boolean-valued
    function).  The question should expect a yes/no answer, though it
    needn't.  (See {T} and {NIL}.)

         At dinnertime:
               Q: "Foodp?"
               A: "Yeah, I'm pretty hungry." or "T!"

         At any time:
               Q: "State-of-the-world-P?"
               A: (Straight) "I'm about to go home."
               A: (Humorous) "Yes, the world has a state."

         On the phone to Florida:
               Q: "State-p Florida?"
               A: "Been reading JARGON.TXT again, eh?"

    [One of the best of these is a {Gosperism}.  Once, when we were at a
    Chinese restaurant, Bill Gosper wanted to know whether someone would
    like to share with him a two-person-sized bowl of soup.  His inquiry
    was: "Split-p soup?" --- GLS]


    :Overgeneralization: -------------------- A very conspicuous feature of
    jargon is the frequency with which techspeak items such as names of
    program tools, command language primitives, and even assembler opcodes
    are applied to contexts outside of computing wherever hackers find
    amusing analogies to them.  Thus (to cite one of the best-known
    examples) UNIX hackers often {grep} for things rather than searching for
    them.  Many of the lexicon entries are generalizations of exactly this
    kind.

    Hackers enjoy overgeneralization on the grammatical level as well.  Many
    hackers love to take various words and add the wrong endings to them to
    make nouns and verbs, often by extending a standard rule to nonuniform
    cases (or vice versa).  For example, because

         porous => porosity
         generous => generosity

    hackers happily generalize:

         mysterious => mysteriosity
         ferrous => ferrosity
         obvious => obviosity
         dubious => dubiosity

    Also, note that all nouns can be verbed.  E.g.: "All nouns can be
    verbed", "I'll mouse it up", "Hang on while I clipboard it over", "I'm
    grepping the files".  English as a whole is already heading in this
    direction (towards pure-positional grammar like Chinese); hackers are
    simply a bit ahead of the curve.

    However, note that hackers avoid the unimaginative verb-making
    techniques characteristic of marketroids, bean-counters, and the
    Pentagon; a hacker would never, for example, `productize', `prioritize',
    or `securitize' things.  Hackers have a strong aversion to bureaucratic
    bafflegab and regard those who use it with contempt.

    Similarly, all verbs can be nouned.  This is only a slight
    overgeneralization in modern English; in hackish, however, it is good
    form to mark them in some standard nonstandard way.  Thus:

         win => winnitude, winnage
         disgust => disgustitude
         hack => hackification

    Further, note the prevalence of certain kinds of nonstandard plural
    forms.  Some of these go back quite a ways; the TMRC Dictionary noted
    that the defined plural of `caboose' is `cabeese', and includes an entry
    which implies that the plural of `mouse' is {meeces}.  On a similarly
    Anglo-Saxon note, almost anything ending in `x' may form plurals in
    `-xen' (see {VAXen} and {boxen} in the main text).  Even words ending in
    phonetic /k/ alone are sometimes treated this way; e.g., `soxen' for a
    bunch of socks.  Other funny plurals are `frobbotzim' for the plural of
    `frobbozz' (see {frobnitz}) and `Unices' and `Twenices' (rather than
    `Unixes' and `Twenexes'; see {UNIX}, {TWENEX} in main text).  But note
    that `Unixen' and `Twenexen' are never used; it has been suggested that
    this is because `-ix' and `-ex' are Latin singular endings that attract
    a Latinate plural.  Finally, it has been suggested to general approval
    that the plural of `mongoose' ought to be `polygoose'.

    The pattern here, as with other hackish grammatical quirks, is
    generalization of an inflectional rule that in English is either an
    import or a fossil (such as the Hebrew plural ending `-im', or the
    Anglo-Saxon plural suffix `-en') to cases where it isn't normally
    considered to apply.

    This is not `poor grammar', as hackers are generally quite well aware of
    what they are doing when they distort the language.  It is grammatical
    creativity, a form of playfulness.  It is done not to impress but to
    amuse, and never at the expense of clarity.


    :Spoken inarticulations: ------------------------ Words such as
    `mumble', `sigh', and `groan' are spoken in places where their referent
    might more naturally be used.  It has been suggested that this usage
    derives from the impossibility of representing such noises on a comm
    link or in electronic mail (interestingly, the same sorts of
    constructions have been showing up with increasing frequency in comic
    strips).  Another expression sometimes heard is "Complain!", meaning "I
    have a complaint!"


    :Anthromorphization: -------------------- Semantically, one rich source
    of jargon constructions is the hackish tendency to anthropomorphize
    hardware and software.  This isn't done in a na"ive way; hackers don't
    personalize their stuff in the sense of feeling empathy with it, nor do
    they mystically believe that the things they work on every day are
    `alive'.  What *is* common is to hear hardware or software talked about
    as though it has homunculi talking to each other inside it, with
    intentions and desires.  Thus, one hears "The protocol handler got
    confused", or that programs "are trying" to do things, or one may say of
    a routine that "its goal in life is to X".  One even hears explanations
    like "...  and its poor little brain couldn't understand X, and it
    died."  Sometimes modelling things this way actually seems to make them
    easier to understand, perhaps because it's instinctively natural to
    think of anything with a really complex behavioral repertoire as `like a
    person' rather than `like a thing'.



    Of the six listed constructions, verb doubling, peculiar noun
    formations, anthromorphization, and (especially) spoken inarticulations
    have become quite general; but punning jargon is still largely confined
    to MIT and other large universities, and the `-P' convention is found
    only where LISPers flourish.

    Finally, note that many words in hacker jargon have to be understood as
    members of sets of comparatives.  This is especially true of the
    adjectives and nouns used to describe the beauty and functional quality
    of code.  Here is an approximately correct spectrum:

         monstrosity  brain-damage  screw  bug  lose  misfeature
         crock  kluge  hack  win  feature  elegance  perfection

    The last is spoken of as a mythical absolute, approximated but never
    actually attained.  Another similar scale is used for describing the
    reliability of software:

         broken  flaky  dodgy  fragile  brittle
         solid  robust  bulletproof  armor-plated

    Note, however, that `dodgy' is primarily Commonwealth hackish (it is
    rare in the U.S.) and may change places with `flaky' for some speakers.

    Coinages for describing {lossage} seem to call forth the very finest in
    hackish linguistic inventiveness; it has been truly said that hackers
    have even more words for equipment failures than Yiddish has for
    obnoxious people.

    Credits to Jargon

    Jargon Hacker's Dictionary (Pronounciation and History Lesson)

    :Of Slang, Jargon, and Techspeak:
    =================================

    Linguists usually refer to informal language as `slang' and reserve the
    term `jargon' for the technical vocabularies of various occupations.
    However, the ancestor of this collection was called the `Jargon File',
    and hackish slang is traditionally `the jargon'.  When talking about the
    jargon there is therefore no convenient way to distinguish what a
    *linguist* would call hackers' jargon --- the formal vocabulary they
    learn from textbooks, technical papers, and manuals.

    To make a confused situation worse, the line between hackish slang and
    the vocabulary of technical programming and computer science is fuzzy,
    and shifts over time.  Further, this vocabulary is shared with a wider
    technical culture of programmers, many of whom are not hackers and do
    not speak or recognize hackish slang.


    Accordingly, this lexicon will try to be as precise as the facts of
    usage permit about the distinctions among three categories:
       *`slang': informal language from mainstream English or non-technicalsubcultures (bikers, rock fans, surfers, etc).
       *`jargon': without qualifier, denotes informal `slangy' languagepeculiar to hackers --- the subject of this lexicon.
       *`techspeak': the formal technical vocabulary of programming, computerscience, electronics, and other fields connected to hacking.

    This terminology will be consistently used throughout the remainder of
    this lexicon.

    The jargon/techspeak distinction is the delicate one.  A lot of
    techspeak originated as jargon, and there is a steady continuing uptake
    of jargon into techspeak.  On the other hand, a lot of jargon arises
    from overgeneralization of techspeak terms (there is more about this in
    the "Jargon Construction" section below).

    In general, we have considered techspeak any term that communicates
    primarily by a denotation well established in textbooks, technical
    dictionaries, or standards documents.

    A few obviously techspeak terms (names of operating systems, languages,
    or documents) are listed when they are tied to hacker folklore that
    isn't covered in formal sources, or sometimes to convey critical
    historical background necessary to understand other entries to which
    they are cross-referenced.  Some other techspeak senses of jargon words
    are listed in order to make the jargon senses clear; where the text does
    not specify that a straight technical sense is under discussion, these
    are marked with `[techspeak]' as an etymology.  Some entries have a
    primary sense marked this way, with subsequent jargon meanings explained
    in terms of it.

    We have also tried to indicate (where known) the apparent origins of
    terms.  The results are probably the least reliable information in the
    lexicon, for several reasons.  For one thing, it is well known that many
    hackish usages have been independently reinvented multiple times, even
    among the more obscure and intricate neologisms.  It often seems that
    the generative processes underlying hackish jargon formation have an
    internal logic so powerful as to create substantial parallelism across
    separate cultures and even in different languages!  For another, the
    networks tend to propagate innovations so quickly that `first use' is
    often impossible to pin down.  And, finally, compendia like this one
    alter what they observe by implicitly stamping cultural approval on
    terms and widening their use.

    :Revision History:
    ==================

    The original Jargon File was a collection of hacker jargon from
    technical cultures including the MIT AI Lab, the Stanford AI lab (SAIL),
    and others of the old ARPANET AI/LISP/PDP-10 communities including Bolt,
    Beranek and Newman (BBN), Carnegie-Mellon University (CMU), and
    Worcester Polytechnic Institute (WPI).

    The Jargon File (hereafter referred to as `jargon-1' or `the File') was
    begun by Raphael Finkel at Stanford in 1975.  From this time until the
    plug was finally pulled on the SAIL computer in 1991, the File was named
    AIWORD.RF[UP,DOC] there.  Some terms in it date back considerably
    earlier ({frob} and some senses of {moby}, for instance, go back to the
    Tech Model Railroad Club at MIT and are believed to date at least back
    to the early 1960s).  The revisions of jargon-1 were all unnumbered and
    may be collectively considered `Version 1'.

    In 1976, Mark Crispin, having seen an announcement about the File on the
    SAIL computer, {FTP}ed a copy of the File to MIT.  He noticed that it
    was hardly restricted to `AI words' and so stored the file on his
    directory as AI:MRC;SAIL JARGON.

    The file was quickly renamed JARGON > (the `>' means numbered with a
    version number) as a flurry of enhancements were made by Mark Crispin
    and Guy L. Steele Jr.  Unfortunately, amidst all this activity, nobody
    thought of correcting the term `jargon' to `slang' until the compendium
    had already become widely known as the Jargon File.

    Raphael Finkel dropped out of active participation shortly thereafter
    and Don Woods became the SAIL contact for the File (which was
    subsequently kept in duplicate at SAIL and MIT, with periodic
    resynchronizations).

    The File expanded by fits and starts until about 1983; Richard Stallman
    was prominent among the contributors, adding many MIT and ITS-related
    coinages.

    In Spring 1981, a hacker named Charles Spurgeon got a large chunk of the
    File published in Russell Brand's `CoEvolution Quarterly' (pages 26-35)
    with illustrations by Phil Wadler and Guy Steele (including a couple of
    the Crunchly cartoons).  This appears to have been the File's first
    paper publication.

    A late version of jargon-1, expanded with commentary for the mass
    market, was edited by Guy Steele into a book published in 1983 as `The
    Hacker's Dictionary' (Harper & Row CN 1082, ISBN 0-06-091082-8).  The
    other jargon-1 editors (Raphael Finkel, Don Woods, and Mark Crispin)
    contributed to this revision, as did Richard M. Stallman and Geoff
    Goodfellow.  This book (now out of print) is hereafter referred to as
    `Steele-1983' and those six as the Steele-1983 coauthors.

    Shortly after the publication of Steele-1983, the File effectively
    stopped growing and changing.  Originally, this was due to a desire to
    freeze the file temporarily to facilitate the production of Steele-1983,
    but external conditions caused the `temporary' freeze to become
    permanent.

    The AI Lab culture had been hit hard in the late 1970s by funding cuts
    and the resulting administrative decision to use vendor-supported
    hardware and software instead of homebrew whenever possible.  At MIT,
    most AI work had turned to dedicated LISP Machines.  At the same time,
    the commercialization of AI technology lured some of the AI Lab's best
    and brightest away to startups along the Route 128 strip in
    Massachusetts and out West in Silicon Valley.  The startups built LISP
    machines for MIT; the central MIT-AI computer became a {TWENEX} system
    rather than a host for the AI hackers' beloved {ITS}.

    The Stanford AI Lab had effectively ceased to exist by 1980, although
    the SAIL computer continued as a Computer Science Department resource
    until 1991.  Stanford became a major {TWENEX} site, at one point
    operating more than a dozen TOPS-20 systems; but by the mid-1980s most
    of the interesting software work was being done on the emerging BSD UNIX
    standard.

    In April 1983, the PDP-10-centered cultures that had nourished the File
    were dealt a death-blow by the cancellation of the Jupiter project at
    Digital Equipment Corporation.  The File's compilers, already dispersed,
    moved on to other things.  Steele-1983 was partly a monument to what its
    authors thought was a dying tradition; no one involved realized at the
    time just how wide its influence was to be.

    By the mid-1980s the File's content was dated, but the legend that had
    grown up around it never quite died out.  The book, and softcopies
    obtained off the ARPANET, circulated even in cultures far removed from
    MIT and Stanford; the content exerted a strong and continuing influence
    on hackish language and humor.  Even as the advent of the microcomputer
    and other trends fueled a tremendous expansion of hackerdom, the File
    (and related materials such as the AI Koans in Appendix A) came to be
    seen as a sort of sacred epic, a hacker-culture Matter of Britain
    chronicling the heroic exploits of the Knights of the Lab.  The pace of
    change in hackerdom at large accelerated tremendously --- but the Jargon
    File, having passed from living document to icon, remained essentially
    untouched for seven years.

    This revision contains nearly the entire text of a late version of
    jargon-1 (a few obsolete PDP-10-related entries were dropped after
    careful consultation with the editors of Steele-1983).  It merges in
    about 80% of the Steele-1983 text, omitting some framing material and a
    very few entries introduced in Steele-1983 that are now also obsolete.

    This new version casts a wider net than the old Jargon File; its aim is
    to cover not just AI or PDP-10 hacker culture but all the technical
    computing cultures wherein the true hacker-nature is manifested.  More
    than half of the entries now derive from {USENET} and represent jargon
    now current in the C and UNIX communities, but special efforts have been
    made to collect jargon from other cultures including IBM PC programmers,
    Amiga fans, Mac enthusiasts, and even the IBM mainframe world.

    Eric S. Raymond maintains the new File with
    assistance from Guy L. Steele Jr. ; these are the persons
    primarily reflected in the File's editorial `we', though we take
    pleasure in acknowledging the special contribution of the other
    coauthors of Steele-1983.  Please email all additions, corrections, and
    correspondence relating to the Jargon File to jargon@thyrsus.com
    (UUCP-only sites without connections to an autorouting smart site can
    use ...!uunet!snark!jargon).

    (Warning: other email addresses appear in this file *but are not
    guaranteed to be correct* later than the revision date on the first
    line.  *Don't* email us if an attempt to reach your idol bounces --- we
    have no magic way of checking addresses or looking up people.)

    The 2.9.6 version became the main text of `The New Hacker's Dictionary',
    by Eric Raymond (ed.), MIT Press 1991, ISBN 0-262-68069-6.  The
    maintainers are committed to updating the on-line version of the Jargon
    File through and beyond paper publication, and will continue to make it
    available to archives and public-access sites as a trust of the hacker
    community.

    Here is a chronology of the high points in the recent on-line revisions:

    Version 2.1.1, Jun 12 1990: the Jargon File comes alive again after a
    seven-year hiatus.  Reorganization and massive additions were by Eric S.
    Raymond, approved by Guy Steele.  Many items of UNIX, C, USENET, and
    microcomputer-based jargon were added at that time (as well as The
    Untimely Demise of Mabel The Monkey).

    Version 2.9.6, Aug 16 1991: corresponds to reproduction copy for book.
    This version had 18952 lines, 148629 words, 975551 characters, and 1702
    entries.

    Version 2.9.8, Jan 01 1992: first public release since the book,
    including over fifty new entries and numerous corrections/additions to
    old ones.  Packaged with version 1.1 of vh(1) hypertext reader.  This
    version had 19509 lines, 153108 words, 1006023 characters, and 1760
    entries.

    Version 2.9.9, Apr 01 1992: folded in XEROX PARC lexicon.  This version
    had 20298 lines, 159651 words, 1048909 characters, and 1821 entries.

    Version 2.9.10, Jul 01 1992: lots of new historical material.  This
    version had 21349 lines, 168330 words, 1106991 characters, and 1891
    entries.

    Version numbering: Version numbers should be read as
    major.minor.revision.  Major version 1 is reserved for the `old' (ITS)
    Jargon File, jargon-1.  Major version 2 encompasses revisions by ESR
    (Eric S. Raymond) with assistance from GLS (Guy L.  Steele, Jr.).
    Someday, the next maintainer will take over and spawn `version 3'.
    Usually later versions will either completely supersede or incorporate
    earlier versions, so there is generally no point in keeping old versions
    around.

    Our thanks to the coauthors of Steele-1983 for oversight and assistance,
    and to the hundreds of USENETters (too many to name here) who
    contributed entries and encouragement.  More thanks go to several of the
    old-timers on the USENET group alt.folklore.computers, who contributed
    much useful commentary and many corrections and valuable historical
    perspective: Joseph M. Newcomer , Bernie Cosell
    , Earl Boebert , and Joe Morris
    .

    We were fortunate enough to have the aid of some accomplished linguists.
    David Stampe and Charles Hoequist
    contributed valuable criticism; Joe Keane
    helped us improve the pronunciation guides.

    A few bits of this text quote previous works.  We are indebted to Brian
    A. LaMacchia for obtaining permission for us to
    use material from the `TMRC Dictionary'; also, Don Libes
    contributed some appropriate material from his
    excellent book `Life With UNIX'.  We thank Per Lindberg ,
    author of the remarkable Swedish-language 'zine `Hackerbladet', for
    bringing `FOO!' comics to our attention and smuggling one of the IBM
    hacker underground's own baby jargon files out to us.  Thanks also to
    Maarten Litmaath for generously allowing the inclusion of the ASCII
    pronunciation guide he formerly maintained.  And our gratitude to Marc
    Weiser of XEROX PARC for securing us
    permission to quote from PARC's own jargon lexicon and shipping us a
    copy.

    It is a particular pleasure to acknowledge the major contributions of
    Mark Brader to the final manuscript; he read and reread
    many drafts, checked facts, caught typos, submitted an amazing number of
    thoughtful comments, and did yeoman service in catching typos and minor
    usage bobbles.  Mr. Brader's rare combination of enthusiasm,
    persistence, wide-ranging technical knowledge, and precisionism in
    matters of language made his help invaluable, and the sustained volume
    and quality of his input over many months only allowed him to escape
    co-editor credit by the slimmest of margins.

    Finally, George V.  Reilly helped with TeX arcana and
    painstakingly proofread some 2.7 and 2.8 versions; Steve Summit
    contributed a number of excellent new entries and
    many small improvements to 2.9.10; and Eric Tiedemann
    contributed sage advice throughout on rhetoric, amphigory, and
    philosophunculism.
    Credits to Jargon