I have never seen a computer system which handles names properly and doubt one exists, anywhere. So, as a public service, I’m going to list assumptions your systems probably make about names. All of these assumptions are wrong. Try to make less of them next time you write a system which touches names.
— Falsehoods Programmers Believe About Names: MicroISV on a Shoestring