From "People have exactly one canonical full name" to "People have names": names are hard.
[O]ur conventions for naming things should take into consideration the limitations of the human brain. The length of a variable's name should be proportional to the distance between its definition and its use, and inversely proportional to its frequency of use.
Global config setting that gets specified once and used in 4 places throughout the program? 10-20 characters is probably appropriate. Might wanna go with UPPER_SNAKE_CASE to make it stand out a bit more, even.
Iterator variable that you define in a 3-line for loop and then never see again outside of it? Call it "i".
Another way to look at this: The first time you meet someone, you learn their full name. When discussing them with someone else who knows them, you use just a single name. If they're standing right there, you don't bother using their name, but just make eye contact, and maybe a "Hey". Should be the same way with variables.
"firstname" and "lastname" fields don't cut it: what about patronymics, generational names, family names...
Maybe hoping she'll grow up to be a pulp heroine?
Compare these numbers: China only has about 500 surnames. Korea only has 249. Japan has about 120,000. [...]
Yes, in the Heian period and after, it was common to use "Kuso" in names, which means just what you think it means. The famous poet "Kinotsurayuki," who wrote the Tosa Diaries, is a notable example. His birth name was "Ako Kuso," which means "my child...shit."
Interesting comments at languagehat.