Foo is a placeholder, that is, it stands for something else. Placeholders represent unknown values, typically when describing a scenario where the purpose of the unknown values is understood, but their precise values are arbitrary and unimportant. Unix people use foo and bar a lot. Personally I dislike foo and bar very much. I would tend to use animal or flower or vegetable names.