I hope this qualifies as a programming question, as in any programming tutorial, you eventually come across 'foo' in the code examples. (yeah, right?)

what does 'foo' really mean?

If it is meant to mean nothing, when did it begin to be used so?