The real issue is that too many programmers apply their own cultural norms to the issue of naming, in ways which privilege their particular culture at the expense of others'.
(You want to be able to identify people uniquely? Fine: allocate them a globally unique ID string within your own system. Then let them link this to whatever the hell they want -- be it an Anglophone forename-middlename-surname string sequence, or something entirely different that fits their cultural requirements. Once you get into designing a procrustean name storage architecture and insisting that everyone uses their true name, then you are inflicting your own culture's naming requirements on them, which is offensive at best. Especially when it isn't necessary.)
Sure. You go ahead and create a "culturally sensitive" system that allows people to create randomly changing names based on multiple character sets and unlimited length. On an infrastructure that was put in place in 1980 with a minimal budget just to get something running quickly because it was supposed to be temporary.
Most systems aren't going to be built with infinite flexibility. Some might argue that wouldn't even be possible. And perhaps it has absolutely nothing to do with the programmer's own cultural norms, but the system they are programming on, the budget they are dealing with, and their level of competency. Not every action that is offensive to a particular group is done deliberately to offend that group or even with the knowledge that it could be offensive.
Meh. The .01% comment is perfectly relevant. Should the system be re-organized from the ground up and new licenses issued to everyone in the USA to accomodate last names of her length? I can't wait to carry around my postcard size license in my back pocket.
The system was written to work for the 99.9% of users it serves, the other 0.01% will unfortunately have to deal with the problem of being outliers.
Wrong. My argument is that there are constraints we have to deal with when programming. Those constraints make it difficult or impossible to investigate and satisfy every possible naming convention on the planet. If you happen to exclude some possible naming scheme or the one character set system you're working with won't tolerate much flexibility, that doesn't make you an offensive, rude human. And if you happen to make a judgement call and limit naming flexibility to a certain reasonable expectation, that also doesn't make you an offensive, rude human. We are under no ethical obligation to expend orders of magnitude more cost and effort to satisfy orders of magnitude fewer individuals. There's a limit. Flexibility isn't free.
It's only non-deliberate while you are ignorant of their problem. As soon as you are, it becomes part of your equation, and you're liable for underestimating its importance.
Where's that quote about lack of empathy masquerading as "brutal honesty/pragmatism/anti-PC-ness"...
But that's culturally insensitive to the Anglophone forename-middlename-surname string sequence, which cause users to expect "Zebediah Anderson" to sort before "John Smith".
There's no such thing as a free lunch. Optimize for the use cases you expect: if you're making a phone book for middle America, that's a different problem than a social network for Russia.
Requiring people to remember their ID numbers reeks of prison and/or Hitler; that would be substantially more offensive than asking people to do business under a name that can be entered on a keyboard and matched without cutting-edge image processing algorithms.
You're right, thank god US citizens aren't given a unique number at birth that they'd later need to attend school, get a driver's license, buy a house, or get a job.
Social Security Numbers are applied for voluntarily by the parents of the baby. Usually the hospital puts together the application from what I understand, but the parents can request that the hospital not do that. If a parent makes such a request, they usually have to educate the nurses that Social Security Numbers are not required by law, and are voluntary. If required for taxing purposes, a person without a Social Security Number will have to apply for an Individual Taxpayer Identification Number (ITIN). There is even a process to remove yourself from the Social Security program once you are 18, or convert to a religion that does not approve of it.
I would also venture to guess that not having a SSN or even an ITIN to use in place of the SNN is an automatic disqualification for attending school, getting a driver license, buying a house, or getting a job.
That's needed to verify unique identities when doing specific official business with institutions. It's not what's going to show up when you log into your work computer, send an email, use Facebook, or any of the thousands of places that computers use our names.
The real issue is that too many programmers apply their own cultural norms to the issue of naming, in ways which privilege their particular culture at the expense of others'.
(You want to be able to identify people uniquely? Fine: allocate them a globally unique ID string within your own system. Then let them link this to whatever the hell they want -- be it an Anglophone forename-middlename-surname string sequence, or something entirely different that fits their cultural requirements. Once you get into designing a procrustean name storage architecture and insisting that everyone uses their true name, then you are inflicting your own culture's naming requirements on them, which is offensive at best. Especially when it isn't necessary.)