From rbotting@wiley.csusb.edu Fri Dec 10 15:11 PST 1993 Return-Path: Received: from wiley.csusb.edu by silicon.csci.csusb.edu (5.0/SMI-SVR4) id AA29685; Fri, 10 Dec 93 15:11:49 PST Received: by wiley.csusb.edu (5.67a/1.34) id AA24551; Fri, 10 Dec 1993 15:13:52 -0800 Date: Fri, 10 Dec 1993 15:13:52 -0800 From: rbotting@wiley.csusb.edu ("Dr. Richard Botting") Message-Id: <199312102313.AA24551@wiley.csusb.edu> To: dick@silicon.csci.csusb.edu Subject: (fwd) once and for all... Newsgroups: alt.foo.bar Content-Type: text Content-Length: 4310 Status: R Path: csus.edu!decwrl!decwrl!elroy.jpl.nasa.gov!usc!howland.reston.ans.net!sol.ctr.columbia.edu!news.oberlin.edu!news!jbayes From: jbayes@cs.oberlin.edu (Joseph Bayes) Newsgroups: alt.foo.bar Subject: once and for all... Date: 08 Dec 1993 16:38:55 GMT Organization: Oberlin College Computer Science Lines: 78 Distribution: world Message-ID: NNTP-Posting-Host: ocds.cs.oberlin.edu Exerpts from the jargon file: :FUBAR: n. The Failed UniBus Address Register in a VAX. A good example of how jargon can occasionally be snuck past the {suit}s; see {foobar}, and {foo} for a fuller etymology. :foo: /foo/ 1. interj. Term of disgust. 2. Used very generally as a sample name for absolutely anything, esp. programs and files (esp. scratch files). 3. First on the standard list of {metasyntactic variable}s used in syntax examples. See also {bar}, {baz}, {qux}, {quux}, {corge}, {grault}, {garply}, {waldo}, {fred}, {plugh}, {xyzzy}, {thud}. The etymology of hackish `foo' is obscure. When used in connection with `bar' it is generally traced to the WWII-era Army slang acronym FUBAR (`Fucked Up Beyond All Repair'), later bowdlerized to {foobar}. (See also {FUBAR}). However, the use of the word `foo' itself has more complicated antecedents, including a long history in comic strips and cartoons. The old "Smokey Stover" comic strips by Bill Holman often included the word `FOO', in particular on license plates of cars; allegedly, `FOO' and `BAR' also occurred in Walt Kelly's "Pogo" strips. In the 1938 cartoon "The Daffy Doc", a very early version of Daffy Duck holds up a sign saying "SILENCE IS FOO!"; oddly, this seems to refer to some approving or positive affirmative use of foo. It has been suggested that this might be related to the Chinese word `fu' (sometimes transliterated `foo'), which can mean "happiness" when spoken with the proper tone (the lion-dog guardians flanking the steps of many Chinese restaurants are properly called "fu dogs"). Earlier versions of this entry suggested the possibility that hacker usage actually sprang from "FOO, Lampoons and Parody", the title of a comic book first issued in September 1958, a joint project of Charles and Robert Crumb. Though Robert Crumb (then in his mid-teens) later became one of the most important and influential artists in underground comics, this venture was hardly a success; indeed, the brothers later burned most of the existing copies in disgust. The title FOO was featured in large letters on the front cover. However, very few copies of this comic actually circulated, and students of Crumb's `oeuvre' have established that this title was a reference to the earlier Smokey Stover comics. An old-time member reports that in the 1959 "Dictionary of the TMRC Language", compiled at {TMRC} there was an entry that went something like this: FOO: The first syllable of the sacred chant phrase "FOO MANE PADME HUM." Our first obligation is to keep the foo counters turning. For more about the legendary foo counters, see {TMRC}. Almost the entire staff of what became the MIT AI LAB was involved with TMRC, and probably picked the word up there. Very probably, hackish `foo' had no single origin and derives through all these channels from Yiddish `feh' and/or English `fooey'. :foobar: n. Another common {metasyntactic variable}; see {foo}. Hackers do *not* generally use this to mean {FUBAR} in either the slang or jargon sense. Note that *nowhere* in the jargon file is the word tofu mentioned. I think it's just another sorry case of Harkies tooting their own horns. --joe -- -- | jbayes@cs.oberlin.edu |"recursive: adj; see recursive" | | sjb9696@ocvaxa.cc.oberlin.edu |"for some reason, despite plenty | | bp267@cleveland.freenet.edu | of reasons not to, I like the | | [I have Thumbs of Thunder] | human race" -freep | -- rbotting@wiley.csusb.edu. rbotting::=`Dr. Richard J. Botting`, wiley::=`Faculty EMail System`, csusb::=`California State University, San Bernardino, CA 92407, USA`. cookie::= "Once a scientist then a computer scientist, then a software process engineer!". From rbotting@wiley.csusb.edu Fri Dec 10 15:14 PST 1993 Return-Path: Received: from wiley.csusb.edu by silicon.csci.csusb.edu (5.0/SMI-SVR4) id AA29694; Fri, 10 Dec 93 15:14:49 PST Received: by wiley.csusb.edu (5.67a/1.34) id AA24583; Fri, 10 Dec 1993 15:16:51 -0800 Date: Fri, 10 Dec 1993 15:16:51 -0800 From: rbotting@wiley.csusb.edu ("Dr. Richard Botting") Message-Id: <199312102316.AA24583@wiley.csusb.edu> To: dick@silicon.csci.csusb.edu Subject: (fwd) Re: fooage Newsgroups: alt.foo.bar Content-Type: text Content-Length: 2413 Status: R Newsgroups: alt.foo.bar Path: csus.edu!decwrl!decwrl!uunet!news.moneng.mei.com!uwm.edu!psuvax1!pds16!okunewck From: okunewck@pds16 (Phil OKunewick) Subject: Re: fooage Message-ID: Sender: news@cse.psu.edu (Usenet) Nntp-Posting-Host: pds16.cse.psu.edu Reply-To: okunewck@cse.psu.edu Organization: Random, at best References: <2e6eth$b8l@snoopy.cis.ufl.edu> <2e7uvs$fep@snoopy.cis.ufl.edu> Date: Thu, 9 Dec 1993 21:53:49 GMT Lines: 38 ksh@prl.ufl.edu (Kevin S Ho) writes: >rmp@dragonfly.cis.ufl.edu (Ryan Miley Prescott) writes: >>> (PS)^2: Who says the major amount of foo-bar use is at MIT/Stanford????? > >I don't! I don't! I use foo and bar all the time, in almost every >function, i have at least two variables, named foo and bar, that I use >for scratch (they're usually register variables). > >Notice i'm ".ufl.edu", like RMP here, who's also from ".ufl.edu", and is >also foo-full > > KsH > >P.S. In netrek, i happen to be "Foo" Oh sigh, don't these kids nowadays know _anything_ about Real Programming? Look, the metasyntactic variables do NOT get used for temp variables, and they do NOT get used for scratch variables. That's really bad programming style, which defeats the self-documenting feature of good variable names. "Foo" and the others should only be used for TEMPORARY temp and TEMPORARY scratch variables. There's a big difference - a temp or scratch variable is a permanent part of your code, and as such should have a descriptive name (scratch variables are usually bad style anyway). But a temporary temp or temporary scratch variable, with a metasyntactic variable name, is one that you throw in temporarily while trying to beat your program into submission. When you clean up your code as you polish off the final product, anything named "foo" or "bar" gets nuked on sight. Now what happens if somebody wants to do a little debugging on netrek? Simple - they just create a bogus user named "Foo" and run it through the paces. But NOOOOOO.... some clown had to go and name HIMSELF foo, so it creates all sorts of amusing side effects when the debugging is run. Real swift, dude. -- rbotting@wiley.csusb.edu. rbotting::=`Dr. Richard J. Botting`, wiley::=`Faculty EMail System`, csusb::=`California State University, San Bernardino, CA 92407, USA`. cookie::= "Once a scientist then a computer scientist, then a software process engineer!".