>Foo and bar come from FUBAR. An acronym meaning Fuc*ed Up Beyond All Repair. I think it's a military term. That's evolved to a convention of programmers using Foo and Bar for names of code elements in examples. It's a flag that the name has nothing to do with the concept that's being communicated. Or it's a stand-in.
You've got it right. The way I learned it (although I can't remember where) the R stood for Recognition rather than Repair, but either one conveys the meaning that something is a hopeless mess. BTW the G-rated version is Fouled Up Beyond All Recognition < s >. A corollary acronym is SNAFU, which means Situation Normal, All Fouled Up.
Rick Borup, MCSD
recursion (rE-kur'-shun) n.
see recursion.