The Hacker's Dictionary

The Hacker's dictionary

HACKER DICTIONARY - U -

Node:u-, Next:, Previous:twonkie, Up:= U =

u- pref.

Written shorthand for micro-; techspeak when applied to metric units, jargon when used otherwise. Derived from the Greek letter "mu", the first letter of "micro" (and which letter looks a lot like the English letter "u").


Node:UBD, Next:, Previous:u-, Up:= U =

UBD /U-B-D/ n.

[abbreviation for `User Brain Damage'] An abbreviation used to close out trouble reports obviously due to utter cluelessness on the user's part. Compare pilot error; oppose PBD; see also brain-damaged.


Node:UBE, Next:, Previous:UBD, Up:= U =

UBE // n.

[abbrev., Unsoliclited Bulk Email] A widespread, more formal term for email spam. Compare UCE. The UBE term recognizes that spam is uttered by nonprofit and advocacy groups whose motives are not commercial.


Node:UCE, Next:, Previous:UBE, Up:= U =

UCE n.

[abbrev., Unsolicited Commercial Email] A widespread, more formal term for email spam. Compare UBE, which may be superseding it.


Node:UDP, Next:, Previous:UCE, Up:= U =

UDP /U-D-P/ v.,n.

[Usenet] Abbreviation for Usenet Death Penalty. Common (probably now more so than the full form), and frequently verbed. Compare IDP.


Node:UN*X, Next:, Previous:UDP, Up:= U =

UN*X n.

Used to refer to the Unix operating system (a trademark of AT&T, then of Novell, then of SCO, and then of Caldera) in writing, but avoiding the need for the ugly (TM) typography. Also used to refer to any or all varieties of Unixoid operating systems. Ironically, lawyers now say that the requirement for the trademark postfix has no legal force, but the asterisk usage is entrenched anyhow. It has been suggested that there may be a psychological connection to practice in certain religions (especially Judaism) in which the name of the deity is never written out in full, e.g., `YHWH' or `G-d' is used. See also glob and splat out.


Node:undefined external reference, Next:, Previous:UN*X, Up:= U =

undefined external reference excl.

[Unix] A message from Unix's linker. Used in speech to flag loose ends or dangling references in an argument or discussion.


Node:under the hood, Next:, Previous:undefined external reference, Up:= U =

under the hood adj.

[hot-rodder talk] 1. Used to introduce the underlying implementation of a product (hardware, software, or idea). Implies that the implementation is not intuitively obvious from the appearance, but the speaker is about to enable the listener to grok it. "Let's now look under the hood to see how ...." 2. Can also imply that the implementation is much simpler than the appearance would indicate: "Under the hood, we are just fork/execing the shell." 3. Inside a chassis, as in "Under the hood, this baby has a 40MHz 68030!"


Node:undocumented feature, Next:, Previous:under the hood, Up:= U =

undocumented feature n.

See feature.


Node:uninteresting, Next:, Previous:undocumented feature, Up:= U =

uninteresting adj.

1. Said of a problem that, although nontrivial, can be solved simply by throwing sufficient resources at it. 2. Also said of problems for which a solution would neither advance the state of the art nor be fun to design and code.

Hackers regard uninteresting problems as intolerable wastes of time, to be solved (if at all) by lesser mortals. Real hackers (see toolsmith) generalize uninteresting problems enough to make them interesting and solve them -- thus solving the original problem as a special case (and, it must be admitted, occasionally turning a molehill into a mountain, or a mountain into a tectonic plate). See WOMBAT, SMOP; compare toy problem, oppose interesting.


Node:Unix, Next:, Previous:uninteresting, Up:= U =

Unix /yoo'niks/ n.

[In the authors' words, "A weak pun on Multics"; very early on it was `UNICS'] (also `UNIX') An interactive time-sharing system invented in 1969 by Ken Thompson after Bell Labs left the Multics project, originally so he could play games on his scavenged PDP-7. Dennis Ritchie, the inventor of C, is considered a co-author of the system. The turning point in Unix's history came when it was reimplemented almost entirely in C during 1972-1974, making it the first source-portable OS. Unix subsequently underwent mutations and expansions at the hands of many different people, resulting in a uniquely flexible and developer-friendly environment. By 1991, Unix had become the most widely used multiuser general-purpose operating system in the world - and since 1996 the variiant called Linux has been at the cutting edge of the open source movement. Many people consider the success of Unix the most important victory yet of hackerdom over industry opposition (but see Unix weenie and Unix conspiracy for an opposing point of view). See Version 7, BSD, USG Unix, Linux.

Some people are confused over whether this word is appropriately `UNIX' or `Unix'; both forms are common, and used interchangeably. Dennis Ritchie says that the `UNIX' spelling originally happened in CACM's 1974 paper "The UNIX Time-Sharing System" because "we had a new typesetter and troff had just been invented and we were intoxicated by being able to produce small caps." Later, dmr tried to get the spelling changed to `Unix' in a couple of Bell Labs papers, on the grounds that the word is not acronymic. He failed, and eventually (his words) "wimped out" on the issue. So, while the trademark today is `UNIX', both capitalizations are grounded in ancient usage; the Jargon File uses `Unix' in deference to dmr's wishes.


Node:Unix brain damage, Next:, Previous:Unix, Up:= U =

Unix brain damage n.

Something that has to be done to break a network program (typically a mailer) on a non-Unix system so that it will interoperate with Unix systems. The hack may qualify as `Unix brain damage' if the program conforms to published standards and the Unix program in question does not. Unix brain damage happens because it is much easier for other (minority) systems to change their ways to match non-conforming behavior than it is to change all the hundreds of thousands of Unix systems out there.

An example of Unix brain damage is a kluge in a mail server to recognize bare line feed (the Unix newline) as an equivalent form to the Internet standard newline, which is a carriage return followed by a line feed. Such things can make even a hardened jock weep.


Node:Unix conspiracy, Next:, Previous:Unix brain damage, Up:= U =

Unix conspiracy n.

[ITS] According to a conspiracy theory long popular among ITS and TOPS-20 fans, Unix's growth is the result of a plot, hatched during the 1970s at Bell Labs, whose intent was to hobble AT&T's competitors by making them dependent upon a system whose future evolution was to be under AT&T's control. This would be accomplished by disseminating an operating system that is apparently inexpensive and easily portable, but also relatively unreliable and insecure (so as to require continuing upgrades from AT&T). This theory was lent a substantial impetus in 1984 by the paper referenced in the back door entry.

In this view, Unix was designed to be one of the first computer viruses (see virus) -- but a virus spread to computers indirectly by people and market forces, rather than directly through disks and networks. Adherents of this `Unix virus' theory like to cite the fact that the well-known quotation "Unix is snake oil" was uttered by DEC president Kenneth Olsen shortly before DEC began actively promoting its own family of Unix workstations. (Olsen now claims to have been misquoted.)

[If there was ever such a conspiracy, it got thoroughly out of the plotters' control after 1990. AT&T sold its UNIX operation to Novell around the same time Linux and other free-UNIX distributions were beginning to make noise. --ESR]


Node:Unix weenie, Next:, Previous:Unix conspiracy, Up:= U =

Unix weenie n.

[ITS] 1. A derogatory play on `Unix wizard', common among hackers who use Unix by necessity but would prefer alternatives. The implication is that although the person in question may consider mastery of Unix arcana to be a wizardly skill, the only real skill involved is the ability to tolerate (and the bad taste to wallow in) the incoherence and needless complexity that is alleged to infest many Unix programs. "This shell script tries to parse its arguments in 69 bletcherous ways. It must have been written by a real Unix weenie." 2. A derogatory term for anyone who engages in uncritical praise of Unix. Often appearing in the context "stupid Unix weenie". See Weenix, Unix conspiracy. See also weenie.


Node:unixism, Next:, Previous:Unix weenie, Up:= U =

unixism n.

A piece of code or a coding technique that depends on the protected multi-tasking environment with relatively low process-spawn overhead that exists on virtual-memory Unix systems. Common unixisms include: gratuitous use of fork(2); the assumption that certain undocumented but well-known features of Unix libraries such as stdio(3) are supported elsewhere; reliance on obscure side-effects of system calls (use of sleep(2) with a 0 argument to clue the scheduler that you're willing to give up your time-slice, for example); the assumption that freshly allocated memory is zeroed; and the assumption that fragmentation problems won't arise from never free()ing memory. Compare vaxocentrism; see also New Jersey.


Node:unswizzle, Next:, Previous:unixism, Up:= U =

unswizzle v.

See swizzle.


Node:unwind the stack, Next:, Previous:unswizzle, Up:= U =

unwind the stack vi.

1. [techspeak] During the execution of a procedural language, one is said to `unwind the stack' from a called procedure up to a caller when one discards the stack frame and any number of frames above it, popping back up to the level of the given caller. In C this is done with longjmp/setjmp, in LISP or C++ with throw/catch. See also smash the stack. 2. People can unwind the stack as well, by quickly dealing with a bunch of problems: "Oh heck, let's do lunch. Just a second while I unwind my stack."


Node:unwind-protect, Next:, Previous:unwind the stack, Up:= U =

unwind-protect n.

[MIT: from the name of a LISP operator] A task you must remember to perform before you leave a place or finish a project. "I have an unwind-protect to call my advisor."


Node:up, Next:, Previous:unwind-protect, Up:= U =

up adj.

1. Working, in order. "The down escalator is up." Oppose down. 2. `bring up': vt. To create a working version and start it. "They brought up a down system." 3. `come up' vi. To become ready for production use.


Node:upload, Next:, Previous:up, Up:= U =

upload /uhp'lohd/ v.

1. [techspeak] To transfer programs or data over a digital communications link from a system near you (espercially a smaller or peripheral `client' system) to one further away from you (especially a larger or central `host' system). A transfer in the other direction is, of course, called a download 2. [speculatively] To move the essential patterns and algorithms that make up one's mind from one's brain into a computer. Those who are convinced that such patterns and algorithms capture the complete essence of the self view this prospect with pleasant anticipation.


Node:upthread, Next:, Previous:upload, Up:= U =

upthread adv.

Earlier in the discussion (see thread), i.e., `above'. "As Joe pointed out upthread, ..." See also followup.


Node:urchin, Next:, Previous:upthread, Up:= U =

urchin n.

See munchkin.


Node:URL, Next:, Previous:urchin, Up:= U =

URL /U-R-L/ or /erl/ n.

Uniform Resource Locator, an address widget that identifies a document or resource on the World Wide Web. This entry is here primarily to record the fact that the term is commonly pronounced both /erl/, and /U-R-L/ (the latter predominates in more formal contexts).


Node:Usenet, Next:, Previous:URL, Up:= U =

Usenet /yoos'net/ or /yooz'net/ n.

[from `Users' Network'; the original spelling was USENET, but the mixed-case form is now widely preferred] A distributed bboard (bulletin board) system supported mainly by Unix machines. Originally implemented in 1979-1980 by Steve Bellovin, Jim Ellis, Tom Truscott, and Steve Daniel at Duke University, it has swiftly grown to become international in scope and is now probably the largest decentralized information utility in existence. As of early 1996, it hosts over 10,000 newsgroups and an average of over 500 megabytes (the equivalent of several thousand paper pages) of new technical articles, news, discussion, chatter, and flamage every day (and that leaves out the graphics...).

By the year the Internet hit the mainstream (1994) the original UUCP transport for Usenet was fading out of use (see UUCPNET) - almost all Usenet connections were over Internet links. A lot of newbies and journalists began to refer to "Internet newsgroups" as though Usenet was and always had been just another Internet service. This ignorance greatly annoys experienced Usenetters.


Node:Usenet Death Penalty, Next:, Previous:Usenet, Up:= U =

Usenet Death Penalty

[Usenet] A sanction against sites that habitually spew Usenet spam. This can be either passive or active. A passive UDP refers to the dropping of all postings by a particular domain so as to inhibit propagation. An active UDP refers to third-party cancellation of all postings by the UDPed domain. A partial UDP is one which applies only to certain newsgroups or hierarchies in Usenet. Compare Internet Death Penalty, with which this term is sometimes confused.


Node:user, Next:, Previous:Usenet Death Penalty, Up:= U =

user n.

1. Someone doing `real work' with the computer, using it as a means rather than an end. Someone who pays to use a computer. See real user. 2. A programmer who will believe anything you tell him. One who asks silly questions. [GLS observes: This is slightly unfair. It is true that users ask questions (of necessity). Sometimes they are thoughtful or deep. Very often they are annoying or downright stupid, apparently because the user failed to think for two seconds or look in the documentation before bothering the maintainer.] See luser. 3. Someone who uses a program from the outside, however skillfully, without getting into the internals of the program. One who reports bugs instead of just going ahead and fixing them.

The general theory behind this term is that there are two classes of people who work with a program: there are implementors (hackers) and lusers. The users are looked down on by hackers to some extent because they don't understand the full ramifications of the system in all its glory. (The few users who do are known as `real winners'.) The term is a relative one: a skilled hacker may be a user with respect to some program he himself does not hack. A LISP hacker might be one who maintains LISP or one who uses LISP (but with the skill of a hacker). A LISP user is one who uses LISP, whether skillfully or not. Thus there is some overlap between the two terms; the subtle distinctions must be resolved by context.


Node:user-friendly, Next:, Previous:user, Up:= U =

user-friendly adj.

Programmer-hostile. Generally used by hackers in a critical tone, to describe systems that hold the user's hand so obsessively that they make it painful for the more experienced and knowledgeable to get any work done. See menuitis, drool-proof paper, Macintrash, user-obsequious.


Node:user-obsequious, Next:, Previous:user-friendly, Up:= U =

user-obsequious adj.

Emphatic form of user-friendly. Connotes a system so verbose, inflexible, and determinedly simple-minded that it is nearly unusable. "Design a system any fool can use and only a fool will want to use it." See WIMP environment, Macintrash.


Node:userland, Next:, Previous:user-obsequious, Up:= U =

userland n.

Anywhere outside the kernel. "That code belongs in userland." This term has been in common use among Linux kernel hackers since at leat 1997, and seems to have originated in that community.


Node:USG Unix, Next:, Previous:userland, Up:= U =

USG Unix /U-S-G yoo'niks/ n.,obs.

Refers to AT&T Unix commercial versions after Version 7, especially System III and System V releases 1, 2, and 3. So called because during most of the lifespan of those versions AT&T's support crew was called the `Unix Support Group', but it is applied to version that pre- and post-dated the USG group but were of the same lineage. This term is now historical. See BSD, Unix.


Node:UTSL, Next:, Previous:USG Unix, Up:= U =

UTSL // n.

[Unix] On-line acronym for `Use the Source, Luke' (a pun on Obi-Wan Kenobi's "Use the Force, Luke!" in "Star Wars") -- analogous to RTFS (sense 1), but more polite. This is a common way of suggesting that someone would be better off reading the source code that supports whatever feature is causing confusion, rather than making yet another futile pass through the manuals, or broadcasting questions on Usenet that haven't attracted wizards to answer them.

Once upon a time in elder days, everyone running Unix had source. After 1978, AT&T's policy tightened up, so this objurgation was in theory appropriately directed only at associates of some outfit with a Unix source license. In practice, bootlegs of Unix source code (made precisely for reference purposes) were so ubiquitous that one could utter it at almost anyone on the network without concern.

Nowadays, free Unix clones have become widely enough distributed that anyone can read source legally. The most widely distributed is certainly Linux, with variants of the NET/2 and 4.4BSD distributions running second. Cheap commercial Unixes with source such as BSD/OS are accelerating this trend.


Node:UUCPNET, Next:, Previous:UTSL, Up:= U =

UUCPNET n. obs.

The store-and-forward network consisting of all the world's connected Unix machines (and others running some clone of the UUCP (Unix-to-Unix CoPy) software). Any machine reachable only via a bang path is on UUCPNET. This term has been rendered obsolescent by the spread of cheap Internet connections in the 1990s; the few remaining UUCP links are essentially slow channels to the Internet rather than an autonomous network. See network address.

Return to INDEX.

= 0 =   0

= A =   THE LETTER A

= B =   THE LETTER B

= C =   THE LETTER C

= D =   THE LETTER D

= E =   THE LETTER E

= F =   THE LETTER F

= G =   THE LETTER G

= H =   THE LETTER H

= I =   THE LETTER I

= J =   THE LETTER J

= K =   THE LETTER K

= L =   THE LETTER L

= M =   THE LETTER M

= N =   THE LETTER N

= O =   THE LETTER O

= P =   THE LETTER P

= Q =   THE LETTER Q

= R =   THE LETTER R

= S =   THE LETTER S

= T =   THE LETTER T

= U =   THE LETTER U

= V =   THE LETTER V

= W =   THE LETTER W

= X =   THE LETTER X

= Y =   THE LETTER Y

= Z =   THE LETTER Z

Index