Chapter 5 of 19 · 3927 words · ~20 min read

Part 5

:bang: 1. n. Common spoken name for `!' (ASCII 0100001), especially when used in pronouncing a {bang path} in spoken hackish. In {elder days} this was considered a CMUish usage, with MIT and Stanford hackers preferring {excl} or {shriek}; but the spread of UNIX has carried `bang' with it (esp. via the term {bang path}) and it is now certainly the most common spoken name for `!'. Note that it is used exclusively for non-emphatic written `!'; one would not say "Congratulations bang" (except possibly for humorous purposes), but if one wanted to specify the exact characters `foo!' one would speak "Eff oh oh bang". See {shriek}, {{ASCII}}. 2. interj. An exclamation signifying roughly "I have achieved enlightenment!", or "The dynamite has cleared out my brain!" Often used to acknowledge that one has perpetrated a {thinko} immediately after one has been called on it.

:bang on: vt. To stress-test a piece of hardware or software: "I banged on the new version of the simulator all day yesterday and it didn't crash once. I guess it is ready for release." The term {pound on} is synonymous.

:bang path: n. An old-style UUCP electronic-mail address specifying hops to get from some assumed-reachable location to the addressee, so called because each {hop} is signified by a {bang} sign. Thus, for example, the path ...!bigsite!foovax!barbox!me directs people to route their mail to machine bigsite (presumably a well-known location accessible to everybody) and from there through the machine foovax to the account of user me on barbox.

In the bad old days of not so long ago, before autorouting mailers became commonplace, people often published compound bang addresses using the { } convention (see {glob}) to give paths from *several* big machines, in the hopes that one's correspondent might be able to get mail to one of them reliably (example: ...!{seismo, ut-sally, ihnp4}!rice!beta!gamma!me). Bang paths of 8 to 10 hops were not uncommon in 1981. Late-night dial-up UUCP links would cause week-long transmission times. Bang paths were often selected by both transmission time and reliability, as messages would often get lost. See {{Internet address}}, {network, the}, and {sitename}.

:banner: n. 1. The title page added to printouts by most print spoolers (see {spool}). Typically includes user or account ID information in very large character-graphics capitals. Also called a `burst page', because it indicates where to burst (tear apart) fanfold paper to separate one user's printout from the next. 2. A similar printout generated (typically on multiple pages of fan-fold paper) from user-specified text, e.g., by a program such as UNIX's `banner({1,6})'. 3. On interactive software, a first screen containing a logo and/or author credits and/or a copyright notice.

:bar: /bar/ n. 1. The second {metasyntactic variable}, after {foo} and before {baz}. "Suppose we have two functions: FOO and BAR. FOO calls BAR...." 2. Often appended to {foo} to produce {foobar}.

:bare metal: n. 1. New computer hardware, unadorned with such snares and delusions as an {operating system}, an {HLL}, or even assembler. Commonly used in the phrase `programming on the bare metal', which refers to the arduous work of {bit bashing} needed to create these basic tools for a new machine. Real bare-metal programming involves things like building boot proms and BIOS chips, implementing basic monitors used to test device drivers, and writing the assemblers that will be used to write the compiler back ends that will give the new machine a real development environment. 2. `Programming on the bare metal' is also used to describe a style of {hand-hacking} that relies on bit-level peculiarities of a particular hardware design, esp. tricks for speed and space optimization that rely on crocks such as overlapping instructions (or, as in the famous case described in {The Story of Mel, a Real Programmer} (in {appendix A}), interleaving of opcodes on a magnetic drum to minimize fetch delays due to the device's rotational latency). This sort of thing has become less common as the relative costs of programming time and machine resources have changed, but is still found in heavily constrained environments such as industrial embedded systems. See {real programmer}.

In the world of personal computing, bare metal programming (especially in sense 1 but sometimes also in sense 2) is often considered a {Good Thing}, or at least a necessary evil (because these machines have often been sufficiently slow and poorly designed to make it necessary; see {ill-behaved}). There, the term usually refers to bypassing the BIOS or OS interface and writing the application to directly access device registers and machine addresses. "To get 19.2 kilobaud on the serial port, you need to get down to the bare metal." People who can do this sort of thing are held in high regard.

:barf: /barf/ [from mainstream slang meaning `vomit'] 1. interj. Term of disgust. This is the closest hackish equivalent of the Val\-speak "gag me with a spoon". (Like, euwww!) See {bletch}. 2. vi. To say "Barf!" or emit some similar expression of disgust. "I showed him my latest hack and he barfed" means only that he complained about it, not that he literally vomited. 3. vi. To fail to work because of unacceptable input. May mean to give an error message. Examples: "The division operation barfs if you try to divide by 0." (That is, the division operation checks for an attempt to divide by zero, and if one is encountered it causes the operation to fail in some unspecified, but generally obvious, manner.) "The text editor barfs if you try to read in a new file before writing out the old one." See {choke}, {gag}. In Commonwealth hackish, `barf' is generally replaced by `puke' or `vom'. {barf} is sometimes also used as a {metasyntactic variable}, like {foo} or {bar}.

:barfmail: n. Multiple {bounce message}s accumulating to the level of serious annoyance, or worse. The sort of thing that happens when an inter-network mail gateway goes down or wonky.

:barfulation: /bar`fyoo-lay'sh*n/ interj. Variation of {barf} used around the Stanford area. An exclamation, expressing disgust. On seeing some particularly bad code one might exclaim, "Barfulation! Who wrote this, Quux?"

:barfulous: /bar'fyoo-l*s/ adj. (alt. `barfucious', /bar-fyoo-sh*s/) Said of something that would make anyone barf, if only for esthetic reasons.

:barney: n. In Commonwealth hackish, `barney' is to {fred} (sense #1) as {bar} is to {foo}. That is, people who commonly use `fred' as their first metasyntactic variable will often use `barney' second. The reference is, of course, to Fred Flintstone and Barney Rubble in the Flintstones cartoons.

:baroque: adj. Feature-encrusted; complex; gaudy; verging on excessive. Said of hardware or (esp.) software designs, this has many of the connotations of {elephantine} or {monstrosity} but is less extreme and not pejorative in itself. "Metafont even has features to introduce random variations to its letterform output. Now *that* is baroque!" See also {rococo}.

:BartleMUD: /bar'tl-muhd/ n. Any of the MUDs derived from the original MUD game by Richard Bartle and Roy Trubshaw (see {MUD}). BartleMUDs are noted for their (usually slightly offbeat) humor, dry but friendly syntax, and lack of adjectives in object descriptions, so a player is likely to come across `brand172', for instance (see {brand brand brand}). Bartle has taken a bad rap in some MUDding circles for supposedly originating this term, but (like the story that MUD is a trademark) this appears to be a myth; he uses `MUD1'.

:BASIC: n. A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which has since become the leading cause of brain-damage in proto-hackers. This is another case (like {Pascal}) of the bad things that happen when a language deliberately designed as an educational toy gets taken too seriously. A novice can write short BASIC programs (on the order of 10--20 lines) very easily; writing anything longer is (a) very painful, and (b) encourages bad habits that will bite him/her later if he/she tries to hack in a real language. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros. As it is, it ruins thousands of potential wizards a year.

:batch: adj. 1. Non-interactive. Hackers use this somewhat more loosely than the traditional technical definitions justify; in particular, switches on a normally interactive program that prepare it to receive non-interactive command input are often referred to as `batch mode' switches. A `batch file' is a series of instructions written to be handed to an interactive program running in batch mode. 2. Performance of dreary tasks all at one sitting. "I finally sat down in batch mode and wrote out checks for all those bills; I guess they'll turn the electricity back on next week..." 3. Accumulation of a number of small tasks that can be lumped together for greater efficiency. "I'm batching up those letters to send sometime" "I'm batching up bottles to take to the recycling center."

:bathtub curve: n. Common term for the curve (resembling an end-to-end section of one of those claw-footed antique bathtubs) that describes the expected failure rate of electronics with time: initially high, dropping to near 0 for most of the system's lifetime, then rising again as it `tires out'. See also {burn-in period}, {infant mortality}.

:baud: /bawd/ [simplified from its technical meaning] n. Bits per second. Hence kilobaud or Kbaud, thousands of bits per second. The technical meaning is `level transitions per second'; this coincides with bps only for two-level modulation with no framing or stop bits. Most hackers are aware of these nuances but blithely ignore them.

Histotical note: this was originally a unit of telegraph signalling speed, set at one pulse per second. It was proposed at the International Telegraph Conference of 1927, and named after J.M.E. Baudot (1845-1903), the French engineer who constructed the first successful teleprinter.

:baud barf: /bawd barf/ n. The garbage one gets on the monitor when using a modem connection with some protocol setting (esp. line speed) incorrect, or when someone picks up a voice extension on the same line, or when really bad line noise disrupts the connection. Baud barf is not completely {random}, by the way; hackers with a lot of serial-line experience can usually tell whether the device at the other end is expecting a higher or lower speed than the terminal is set to. *Really* experienced ones can identify particular speeds.

:baz: /baz/ n. 1. The third {metasyntactic variable} "Suppose we have three functions: FOO, BAR, and BAZ. FOO calls BAR, which calls BAZ...." (See also {fum}) 2. interj. A term of mild annoyance. In this usage the term is often drawn out for 2 or 3 seconds, producing an effect not unlike the bleating of a sheep; /baaaaaaz/. 3. Occasionally appended to {foo} to produce `foobaz'.

Earlier versions of this lexicon derived `baz' as a Stanford corruption of {bar}. However, Pete Samson (compiler of the {TMRC} lexicon) reports it was already current when he joined TMRC in 1958. He says "It came from `Pogo'. Albert the Alligator, when vexed or outraged, would shout `Bazz Fazz!' or `Rowrbazzle!' The club layout was said to model the (mythical) New England counties of Rowrfolk and Bassex (Rowrbazzle mingled with (Norfolk/Suffolk/Middlesex/Essex)."

:bboard: /bee'bord/ [contraction of `bulletin board'] n. 1. Any electronic bulletin board; esp. used of {BBS} systems running on personal micros, less frequently of a USENET {newsgroup} (in fact, use of the term for a newsgroup generally marks one either as a {newbie} fresh in from the BBS world or as a real old-timer predating USENET). 2. At CMU and other colleges with similar facilities, refers to campus-wide electronic bulletin boards. 3. The term `physical bboard' is sometimes used to refer to a old-fashioned, non-electronic cork memo board. At CMU, it refers to a particular one outside the CS Lounge.

In either of senses 1 or 2, the term is usually prefixed by the name of the intended board (`the Moonlight Casino bboard' or `market bboard'); however, if the context is clear, the better-read bboards may be referred to by name alone, as in (at CMU) "Don't post for-sale ads on general".

:BBS: /B-B-S/ [abbreviation, `Bulletin Board System'] n. An electronic bulletin board system; that is, a message database where people can log in and leave broadcast messages for others grouped (typically) into {topic group}s. Thousands of local BBS systems are in operation throughout the U.S., typically run by amateurs for fun out of their homes on MS-DOS boxes with a single modem line each. Fans of USENET and Internet or the big commercial timesharing bboards such as CompuServe and GEnie tend to consider local BBSes the low-rent district of the hacker culture, but they serve a valuable function by knitting together lots of hackers and users in the personal-micro world who would otherwise be unable to exchange code at all.

:beam: [from Star Trek Classic's "Beam me up, Scotty!"] vt. To transfer {softcopy} of a file electronically; most often in combining forms such as `beam me a copy' or `beam that over to his site'. Compare {blast}, {snarf}, {BLT}.

:beanie key: [Mac users] n. See {command key}.

:beep: n.,v. Syn. {feep}. This term seems to be preferred among micro hobbyists.

:beige toaster: n. A Macintosh. See {toaster}; compare {Macintrash}, {maggotbox}.

:bells and whistles: [by analogy with the toyboxes on theater organs] n. Features added to a program or system to make it more {flavorful} from a hacker's point of view, without necessarily adding to its utility for its primary function. Distinguished from {chrome}, which is intended to attract users. "Now that we've got the basic program working, let's go back and add some bells and whistles." No one seems to know what distinguishes a bell from a whistle.

:bells, whistles, and gongs: n. A standard elaborated form of {bells and whistles}; typically said with a pronounced and ironic accent on the `gongs'.

:benchmark: [techspeak] n. An inaccurate measure of computer performance. "In the computer industry, there are three kinds of lies: lies, damn lies, and benchmarks." Well-known ones include Whetstone, Dhrystone, Rhealstone (see {h}), the Gabriel LISP benchmarks (see {gabriel}), the SPECmark suite, and LINPACK. See also {machoflops}, {MIPS}, {smoke and mirrors}.

:Berkeley Quality Software: adj. (often abbreviated `BQS') Term used in a pejorative sense to refer to software that was apparently created by rather spaced-out hackers late at night to solve some unique problem. It usually has nonexistent, incomplete, or incorrect documentation, has been tested on at least two examples, and core dumps when anyone else attempts to use it. This term was frequently applied to early versions of the `dbx(1)' debugger. See also {Berzerkeley}.

:berklix: /berk'liks/ n.,adj. [contraction of `Berkeley UNIX'] See {BSD}. Not used at Berkeley itself. May be more common among {suit}s attempting to sound like cognoscenti than among hackers, who usually just say `BSD'.

:berserking: vi. A {MUD} term meaning to gain points *only* by killing other players and mobiles (non-player characters). Hence, a Berserker-Wizard is a player character that has achieved enough points to become a wizard, but only by killing other characters. Berserking is sometimes frowned upon because of its inherently antisocial nature, but some MUDs have a `berserker mode' in which a player becomes *permanently* berserk, can never flee from a fight, cannot use magic, gets no score for treasure, but does get double kill points. "Berserker wizards can seriously damage your elf!"

:Berzerkeley: /b*r-zer'klee/ [from `berserk', via the name of a now-deceased record label] n. Humorous distortion of `Berkeley' used esp. to refer to the practices or products of the {BSD} UNIX hackers. See {software bloat}, {Missed'em-five}, {Berkeley Quality Software}.

Mainstream use of this term in reference to the cultural and political peculiarities of UC Berkeley as a whole has been reported from as far back as the 1960s.

:beta: /bay't*/, /be't*/ or (Commonwealth) /bee't*/ n. 1. In the {Real World}, software often goes through two stages of testing: Alpha (in-house) and Beta (out-house?). Software is said to be `in beta'. 2. Anything that is new and experimental is in beta. "His girlfriend is in beta" means that he is still testing for compatibility and reserving judgment. 3. Beta software is notoriously buggy, so `in beta' connotes flakiness.

Historical note: More formally, to beta-test is to test a pre-release (potentially unreliable) version of a piece of software by making it available to selected customers and users. This term derives from early 1960s terminology for product cycle checkpoints, first used at IBM but later standard throughout the industry. `Alpha Test' was the unit, module, or component test phase; `Beta Test' was initial system test. These themselves came from earlier A- and B-tests for hardware. The A-test was a feasibility and manufacturability evaluation done before any commitment to design and development. The B-test was a demonstration that the engineering model functioned as specified. The C-test (corresponding to today's beta) was the B-test performed on early samples of the production design.

:BFI: /B-F-I/ n. See {brute force and ignorance}. Also encountered in the variants `BFMI', `brute force and *massive* ignorance' and `BFBI' `brute force and bloody ignorance'.

:bible: n. 1. One of a small number of fundamental source books such as {Knuth} and {K&R}. 2. The most detailed and authoritative reference for a particular language, operating system, or other complex software system.

:BiCapitalization: n. The act said to have been performed on trademarks (such as {PostScript}, NeXT, {NeWS}, VisiCalc, FrameMaker, TK!solver, EasyWriter) that have been raised above the ruck of common coinage by nonstandard capitalization. Too many {marketroid} types think this sort of thing is really cute, even the 2,317th time they do it. Compare {studlycaps}.

:BIFF: /bif/ [USENET] n. The most famous {pseudo}, and the prototypical {newbie}. Articles from BIFF are characterized by all uppercase letters sprinkled liberally with bangs, typos, `cute' misspellings (EVRY BUDY LUVS GOOD OLD BIFF CUZ HE"S A K00L DOOD AN HE RITES REEL AWESUM THINGZ IN CAPITULL LETTRS LIKE THIS!!!), use (and often misuse) of fragments of {talk mode} abbreviations, a long {sig block} (sometimes even a {doubled sig}), and unbounded na"ivet'e. BIFF posts articles using his elder brother's VIC-20. BIFF's location is a mystery, as his articles appear to come from a variety of sites. However, {BITNET} seems to be the most frequent origin. The theory that BIFF is a denizen of BITNET is supported by BIFF's (unfortunately invalid) electronic mail address: BIFF@BIT.NET.

:biff: /bif/ vt. To notify someone of incoming mail. From the BSD utility `biff(1)', which was in turn named after a friendly golden Labrador who used to chase frisbees in the halls at UCB while 4.2BSD was in development (it had a well-known habit of barking whenever the mailman came). No relation to {BIFF}.

:Big Gray Wall: n. What faces a {VMS} user searching for documentation. A full VMS kit comes on a pallet, the documentation taking up around 15 feet of shelf space before the addition of layered products such as compilers, databases, multivendor networking, and programming tools. Recent (since VMS version 5) DEC documentation comes with gray binders; under VMS version 4 the binders were orange (`big orange wall'), and under version 3 they were blue. See {VMS}. Often contracted to `Gray Wall'.

:big iron: n. Large, expensive, ultra-fast computers. Used generally of {number-crunching} supercomputers such as Crays, but can include more conventional big commercial IBMish mainframes. Term of approval; compare {heavy metal}, oppose {dinosaur}.

:Big Red Switch: [IBM] n. The power switch on a computer, esp. the `Emergency Pull' switch on an IBM {mainframe} or the power switch on an IBM PC where it really is large and red. "This !@%$% {bitty box} is hung again; time to hit the Big Red Switch." Sources at IBM report that, in tune with the company's passion for {TLA}s, this is often abbreviated as `BRS' (this has also become established on FidoNet and in the PC {clone} world). It is alleged that the emergency pull switch on an IBM 360/91 actually fired a non-conducting bolt into the main power feed; the BRSes on more recent machines physically drop a block into place so that they can't be pushed back in. People get fired for pulling them, especially inappropriately (see also {molly-guard}). Compare {power cycle}, {three-finger salute}, {120 reset}; see also {scram switch}.

:Big Room, the: n. The extremely large room with the blue ceiling and intensely bright light (during the day) or black ceiling with lots of tiny night-lights (during the night) found outside all computer installations. "He can't come to the phone right now, he's somewhere out in the Big Room."

:big win: n. Serendipity. "Yes, those two physicists discovered high-temperature superconductivity in a batch of ceramic that had been prepared incorrectly according to their experimental schedule. Small mistake; big win!" See {win big}.

:big-endian: [From Swift's `Gulliver's Travels' via the famous paper `On Holy Wars and a Plea for Peace' by Danny Cohen, USC/ISI IEN 137, dated April 1, 1980] adj. 1. Describes a computer architecture in which, within a given multi-byte numeric representation, the most significant byte has the lowest address (the word is stored `big-end-first'). Most processors, including the IBM 370 family, the {PDP-10}, the Motorola microprocessor families, and most of the various RISC designs current in mid-1991, are big-endian. See {little-endian}, {middle-endian}, {NUXI problem}. 2. An {{Internet address}} the wrong way round. Most of the world follows the Internet standard and writes email addresses starting with the name of the computer and ending up with the name of the country. In the U.K. the Joint Networking Team had decided to do it the other way round before the Internet domain standard was established; e.g., me@uk.ac.wigan.cs. Most gateway sites have {ad-hockery} in their mailers to handle this, but can still be confused. In particular, the address above could be in the U.K. (domain uk) or Czechoslovakia (domain cs).

:bignum: /big'nuhm/ [orig. from MIT MacLISP] n. 1. [techspeak] A multiple-precision computer representation for very large integers. More generally, any very large number. "Have you ever looked at the United States Budget? There's bignums for you!" 2. [Stanford] In backgammon, large numbers on the dice are called `bignums', especially a roll of double fives or double sixes (compare {moby}, sense 4). See also {El Camino Bignum}.

Sense 1 may require some explanation. Most computer languages provide a kind of data called `integer', but such computer integers are usually very limited in size; usually they must be smaller than than 2^(31) (2,147,483,648) or (on a losing {bitty box}) 2^(15) (32,768). If you want to work with numbers larger than that, you have to use floating-point numbers, which are usually accurate to only six or seven decimal places. Computer languages that provide bignums can perform exact calculations on very large numbers, such as 1000! (the factorial of 1000, which is 1000 times 999 times 998 times ... times 2 times 1). For example, this value for 1000! was computed by the MacLISP system using bignums:

40238726007709377354370243392300398571937486421071 46325437999104299385123986290205920442084869694048 00479988610197196058631666872994808558901323829669 94459099742450408707375991882362772718873251977950 59509952761208749754624970436014182780946464962910 56393887437886487337119181045825783647849977012476 63288983595573543251318532395846307555740911426241 74743493475534286465766116677973966688202912073791 43853719588249808126867838374559731746136085379534 52422158659320192809087829730843139284440328123155 86110369768013573042161687476096758713483120254785 89320767169132448426236131412508780208000261683151 02734182797770478463586817016436502415369139828126 48102130927612448963599287051149649754199093422215 66832572080821333186116811553615836546984046708975 60290095053761647584772842188967964624494516076535 34081989013854424879849599533191017233555566021394 50399736280750137837615307127761926849034352625200 01588853514733161170210396817592151090778801939317 81141945452572238655414610628921879602238389714760 88506276862967146674697562911234082439208160153780 88989396451826324367161676217916890977991190375403 12746222899880051954444142820121873617459926429565 81746628302955570299024324153181617210465832036786 90611726015878352075151628422554026517048330422614 39742869330616908979684825901254583271682264580665 26769958652682272807075781391858178889652208164348 34482599326604336766017699961283186078838615027946 59551311565520360939881806121385586003014356945272 24206344631797460594682573103790084024432438465657 24501440282188525247093519062092902313649327349756 55139587205596542287497740114133469627154228458623 77387538230483865688976461927383814900140767310446 64025989949022222176590433990188601856652648506179 97023561938970178600408118897299183110211712298459 01641921068884387121855646124960798722908519296819 37238864261483965738229112312502418664935314397013 74285319266498753372189406942814341185201580141233 44828015051399694290153483077644569099073152433278 28826986460278986432113908350621709500259738986355 42771967428222487575867657523442202075736305694988 25087968928162753848863396909959826280956121450994 87170124451646126037902930912088908694202851064018 21543994571568059418727489980942547421735824010636 77404595741785160829230135358081840096996372524230 56085590370062427124341690900415369010593398383577 79394109700277534720000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 00000000000000000000000000000000000000000000000000 000000000000000000.

:bigot: n. A person who is religiously attached to a particular computer, language, operating system, editor, or other tool (see {religious issues}). Usually found with a specifier; thus, `cray bigot', `ITS bigot', `APL bigot', `VMS bigot', `Berkeley bigot'. True bigots can be distinguished from mere partisans or zealots by the fact that they refuse to learn alternatives even when the march of time and/or technology is threatening to obsolete the favored tool. It is said "You can tell a bigot, but you can't tell him much." Compare {weenie}.