Chapter 8

Node:

bang

, Next:

bang on

, Previous:

bandwidth

, Up:

= B =

bang

1. n. Common spoken name for!(ASCII 0100001), especially when used in pronouncing abang pathin spoken hackish. Inelder daysthis was considered a CMUish usage, with MIT and Stanford hackers preferringexclorshriek; but the spread of Unix has carried `bang' with it (esp. via the termbang 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". Seeshriek,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 athinkoimmediately after one has been called on it.

Node:

bang on

, Next:

bang path

, Previous:

bang

, Up:

= B =

bang onvt.

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 termpound onis synonymous.

Node:

bang path

, Next:

banner

, Previous:

bang on

, Up:

= B =

bang pathn.

[now historical] An old-style UUCP electronic-mail address specifying hops to get from some assumed-reachable location to the addressee, so called because eachhopis signified by abangsign. Thus, for example, the path...!bigsite!foovax!barbox!medirects people to route their mail to machinebigsite(presumably a well-known location accessible to everybody) and from there through the machinefoovaxto the account of usermeonbarbox.

In the bad old days of not so long ago, before autorouting mailers became commonplace, people often published compound bang addresses using the { } convention (seeglob) to give paths fromseveralbig 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. SeeInternet address,the network, andsitename.

Node:

banner

, Next:

banner ad

, Previous:

bang path

, Up:

= B =

bannern.

1. The title page added to printouts by most print spoolers (seespool). 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'sbanner({1,6}). 3. On interactive software, a first screen containing a logo and/or author credits and/or a copyright notice. This is probably now the commonest sense.

Node:

banner ad

, Next:

banner site

, Previous:

banner

, Up:

= B =

banner adn.

Any of the annoying graphical advertisements that span the tops of way too many Web pages.

Node:

banner site

, Next:

bar

, Previous:

banner ad

, Up:

= B =

banner siten.

[warez d00dz] A FTP site storing pirated files where one must first click on several banners and/or subscribe to various `free' services, usually generating some form of revenues for the site owner, to be able to access the site. More often than not, the username/password painfully obtained by clicking on banners and subscribing to bogus services or mailing lists turns out to be non-working or gives access to a site that always responds busy. Seeratio site,leech mode.

Node:

bar

, Next:

bare metal

, Previous:

banner site

, Up:

= B =

bar/bar/ n.

1. [very common] The secondmetasyntactic variable, afterfooand beforebaz. "Suppose we have two functions: FOO and BAR. FOO calls BAR...." 2. Often appended tofooto producefoobar.

Node:

bare metal

, Next:

barf

, Previous:

bar

, Up:

= B =

bare metaln.

1. [common] New computer hardware, unadorned with such snares and delusions as anoperating system, anHLL, or even assembler. Commonly used in the phrase `programming on the bare metal', which refers to the arduous work ofbit bashingneeded 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 ofhand-hackingthat 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 inThe Story of Mel(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, and in the code of hackers who just can't let go of that low-level control. SeeReal Programmer.

In the world of personal computing, bare metal programming (especially in sense 1 but sometimes also in sense 2) is often considered aGood Thing, or at least a necessary evil (because these machines have often been sufficiently slow and poorly designed to make it necessary; seeill-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 well are held in high regard.

Node:

barf

, Next:

barfmail

, Previous:

bare metal

, Up:

= B =

barf/barf/ n.,v.

[common; from mainstream slang meaning `vomit'] 1. interj. Term of disgust. This is the closest hackish equivalent of the Valspeak "gag me with a spoon". (Like, euwww!) Seebletch. 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, perhaps with a suitable error message, perhaps not. 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." Seechoke,gag. In Commonwealth Hackish, `barf' is generally replaced by `puke' or `vom'.barfis sometimes also used as ametasyntactic variable, likefooorbar.

Node:

barfmail

, Next:

barfulation

, Previous:

barf

, Up:

= B =

barfmailn.

Multiplebounce messages 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.

Node:

barfulation

, Next:

barfulous

, Previous:

barfmail

, Up:

= B =

barfulation/bar`fyoo-lay'sh*n/ interj.

Variation ofbarfused around the Stanford area. An exclamation, expressing disgust. On seeing some particularly bad code one might exclaim, "Barfulation! Who wrote this, Quux?"

Node:

barfulous

, Next:

barn

, Previous:

barfulation

, Up:

= B =

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.

Node:

barn

, Next:

barney

, Previous:

barfulous

, Up:

= B =

barnn.

[uncommon; prob. from the nuclear military] An unexpectedly large quantity of something: a unit of measurement. "Why is /var/adm taking up so much space?" "The logs have grown to several barns." The source of this is clear: when physicists were first studying nuclear interactions, the probability was thought to be proportional to the cross-sectional area of the nucleus (this probability is still called the cross-section). Upon experimenting, they discovered the interactions were far more probable than expected; the nuclei were `as big as a barn'. The units for cross-sections were christened Barns, (10^-24 cm^2) and the book containing cross-sections has a picture of a barn on the cover.

Node:

barney

, Next:

baroque

, Previous:

barn

, Up:

= B =

barneyn.

In Commonwealth hackish, `barney' is tofred(sense #1) asbaris tofoo. 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.

Node:

baroque

, Next:

BASIC

, Previous:

barney

, Up:

= B =

baroqueadj.

[common] Feature-encrusted; complex; gaudy; verging on excessive. Said of hardware or (esp.) software designs, this has many of the connotations ofelephantineormonstrositybut is less extreme and not pejorative in itself. "Metafont even has features to introduce random variations to its letterform output. Nowthatis baroque!" See alsorococo.

Node:

BASIC

, Next:

batbelt

, Previous:

baroque

, Up:

= B =

BASIC/bay'-sic/ n.

A programming language, originally designed for Dartmouth's experimental timesharing system in the early 1960s, which for many years was the leading cause of brain damage in proto-hackers. Edsger W. Dijkstra observed in "Selected Writings on Computing: A Personal Perspective" that "It is practically impossible to teach good programming style to students that have had prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration." This is another case (likePascal) of the cascadinglossagethat happens 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 (a) is very painful, and (b) encourages bad habits that will make it harder to use more powerful languages well. This wouldn't be so bad if historical accidents hadn't made BASIC so common on low-end micros in the 1980s. As it is, it probably ruined tens of thousands of potential wizards.

[1995: Some languages called `BASIC' aren't quite this nasty any more, having acquired Pascal- and C-like procedures and control structures and shed their line numbers. --ESR]

Note: the name is commonly parsed as Beginner's All-purpose Symbolic Instruction Code, but this is abackronym. BASIC was originally named Basic, simply because it was a simple and basic programming language. Because most programming language names were in fact acronyms, BASIC was often capitalized just out of habit or to be silly. No acronym for BASIC originally existed or was intended (as one can verify by reading texts through the early 1970s). Later, around the mid-1970s, people began to make up backronyms for BASIC because they weren't sure. Beginner's All-purpose Symbolic Instruction Code is the one that caught on.

Node:

batbelt

, Next:

batch

, Previous:

BASIC

, Up:

= B =

batbeltn.

Many hackers routinely hang numerous devices such as pagers, cell-phones, personal organizers, leatherman multitools, pocket knives, flashlights, walkie-talkies, even miniature computers from their belts. When many of these devices are worn at once, the hacker's belt somewhat resembles Batman's utility belt; hence it is referred to as a batbelt.

Node:

batch

, Next:

bathtub curve

, Previous:

batbelt

, Up:

= B =

batchadj.

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. `batching up': 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."

Node:

bathtub curve

, Next:

baud

, Previous:

batch

, Up:

= B =

bathtub curven.

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 alsoburn-in period,infant mortality.

Node:

baud

, Next:

baud barf

, Previous:

bathtub curve

, Up:

= B =

baud/bawd/ n.

[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.

Historical note: `baud' was originally a unit of telegraph signalling speed, set at one pulse per second. It was proposed at the November, 1926 conference of the Comité Consultatif International Des Communications Télégraphiques as an improvement on the then standard practice of referring to line speeds in terms of words per minute, and named for Jean Maurice Emile Baudot (1845-1903), a French engineer who did a lot of pioneering work in early teleprinters.

Node:

baud barf

, Next:

baz

, Previous:

baud

, Up:

= B =

baud barf/bawd barf/ n.

The garbage one gets a terminal (or terminal emulator) 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 completelyrandom, 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.Reallyexperienced ones can identify particular speeds.

Node:

baz

, Next:

bazaar

, Previous:

baud barf

, Up:

= B =

baz/baz/ n.

1. [common] The thirdmetasyntactic variable"Suppose we have three functions: FOO, BAR, and BAZ. FOO calls BAR, which calls BAZ...." (See alsofum) 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 tofooto produce `foobaz'.

Earlier versions of this lexicon derived `baz' as a Stanford corruption ofbar. However, Pete Samson (compiler of theTMRClexicon) 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)."

Node:

bazaar

, Next:

bboard

, Previous:

baz

, Up:

= B =

bazaarn.,adj.

In 1997, after meditatating on the success ofLinuxfor three years, the Jargon File's own editor ESR wrote an analytical paper on hacker culture and development models titled The Cathedral and the Bazaar. The main argument of the paper was thatBrooks's Lawis not the whole story; given the right social machinery, debugging can be efficiently parallelized across large numbers of programmers. The title metaphor caught on (see alsocathedral), and the style of development typical in the Linux community is now often referred to as the bazaar mode. Its characteristics include releasing code early and often, and actively seeking the largest possible pool of peer reviewers.

Node:

bboard

, Next:

BBS

, Previous:

bazaar

, Up:

= B =


Back to IndexNext