6 ms·
Falsehoods Programmers Believe About Names (2010)
- somenomadicguy 10y agoI used to date a woman whose hippy mother decided that last names were slavery, she's the person who turned me onto this list. The experience really opened my eyes into the anglo/usa-centric nature of most app development best practices, and how complicated it must be to work as a localization engineer. She suffered quite a bit, any call to a government agency, especially FASFA student loans (btw fuck you FASFA, fuck you), would often end up in tears after hours of pleading to them she was a real person, or explaining "just freaking search me this way, it's how they did it the last time I spent 2 hours on the phone with you). The only benefit is that having only one name makes it rather difficult to google/facebook stalk you. tl;dr: Not everybody has a name like yours. Don't use "first name", "last name" for somebody's name. Just give it a 512-byte or larger UTF8 field, and move on.
- Semiapies 10y agoI do when I can get away with it.
- dagw 10y agoTangentially, I'm always slightly uncertain about what to put when asked about my "first name" on official forms. While I have a first name it is not and has never been the name anybody has used for me. I've always gone by my second name, and if you where to ask for me by my first name no one would know whom you are talking about. Basically do you want the the string returned by name.split()[0] or do you want the string which is the most commonly used identifier for me?
- aninhumer 10y agoIn most official cases, what you they mostly want is the string which matches the one in other official documents about you. They will often also use it in communications, but having a separate field for chosen name would probably be more hassle than it's worth.
- vidarh 10y agoI'd say you want to be consistent within the same context. Otherwise it's their own fault if they can't ask you for something more specific. E.g. if they want a display name, they should ask for a display name. Most of the time people need only a few different roles, and you can always pre-populate default values based on doing a simple name split and letting people suggest more approriate alternatives. Upside is that asking for specifically what they need addresses other concerns, such as e.g. parents signing up to something on behalf of their children, or someone needing to put another name of a shipping label.
- vacri 10y agoI would functionally disagree with 40 - by the time someone is in a position to be referenced by a computer, they'll have some way of being referred to, even if it's just a number. It's hard to imagine a truly nameless slave that is kept off the grid, yet still has a computerised individual reference somewhere...
- somenomadicguy 10y agoOne could change #40 to: You need your customers' names. I look at a name the same way I look at a username, more frequently than not it's a hassle you don't need to solve. In many applications a username, or even better, an email address, is the best UUID for a user. We design apps to collect names by default, even when we don't need them and will never use them for any purpose, or at worse, the purpose we use them for is violation of privacy.
- thr0waway1239 10y agoSuppose someone calls in and tells you they want to cancel but forgot which email address they used for signup, what is the next piece of information you ask them?
- majewsky 10y agoThe easiest solution is to have their address on file, and send them an actual letter to confirm the cancellation.
- thr0waway1239 10y agoAnd if there are multiple tenants (e.g. roommates), who will it be addressed to? Just wondering if the issue is as simple as leaving the entire name field as a nullable string.
- vidarh 10y agoYour address entry needs to be flexible enough to accommodate pretty much arbitrary text. There are no universally required fields for addresses. Zip/postal codes are almost universal, but not entirely. E.g. "name; town; country" is sufficient some places; "name; postcode + town; country" is very common, but it can also go to the opposite extreme of a ridiculous number of separate items, so it's best to just give a number of lines and width that is constrained by your address labels, and let people figure out how best to address things to themselves. If you need to make you address pretty much free form anyway, it makes practically no difference to ask people to put their address including name. If you ask for a name, the problem is that the name they may want you to use in other contexts is not necessarily the same name that people they live with will recognise them by. E.g. consider a trans person that want you to know them as one gender, but isn't out to their family. The safest in general is to not ask for "just" a name, but ask "what should we call you in context X?" but in many cases you can forgo the name by not synthesising data items (such as an address) from multiple parts, but letting users provide the whole thing as one entity (you can still pre-populate based on most common patterns), which as a bonus saves you from other stupid mistakes.
- majewsky 10y agoPrevious discussions on HN: - https://news.ycombinator.com/item?id=1438472 https://news.ycombinator.com/item?id=1438472 (138 comments) - https://news.ycombinator.com/item?id=10255610 https://news.ycombinator.com/item?id=10255610 (11 comments)
- dirktheman 10y agoI have a friend who's a refugee from Afghanistan. Apparently they don't use surnames there (or at least his tribe doesn't). When he applied for a visa my city council shifted his first name to his last name and he had to come up with a first name on the spot. His name is officially Peter Abdullah now.
- somenomadicguy 10y agoImmigrant officials at Ellis Island used to give people last names based on their father's first name, or the name of the city they come from. Also, Armenians didn't have last names until recently, so you'll meet lots of people with names like "Gevork Gevorkian" or "Ohan Ohanesian", or their name will be shifted to the right, adding an "ian" to the end (think the prefixed O' in irish names), and give them anglicized names.
- cronopios 10y agoAt my uni there is a student (from India, IIRC) that doesn't have any surname. Some of our software didn't like that, so we checked her passport, and sure enough, her full name was merely her first name.
- somenomadicguy 10y agoOh man, I really feel for her. Dealing with the various immigration agencies must have been a nightmare. I bet they ended up officially changing her name to "Firstname Firstname", which is what we tend to do in the states.. This bugs me, because if a name is supposed to be a unique identifier, then part of it's existence is to feed the ego. "This is ME! I am Jean Valjean!" When you then you change somebody's name to fit your short-sighted database constraints you're pretty much saying, "You don't matter as much as our programmers' decisions matter, now move along 9430"
- jbb555 10y agoUgh this again. No. People have a first name, and they have a last name. Each name consists of a reasonable number of ascii characters. If they decide they are special and don't wish to conform to this scheme how is this my problem? What if I decide my "name" is the first billion digits of PI? Are you going to add that to the list of names that you need to support? No?
- thr0waway1239 10y agoI hope you are not downvoted. In economics, people talk about the problem of 'sorting and labeling' and how that is an unconscious reaction (which does unfortunately lead to bias) but it helps immensely in the overall productivity of an entire system. When people expect you to design special systems which increases the overall entropy, I wonder if they realize that you too incur a cost for creating that system. I say this as someone whose name is constantly butchered during my dealings with American entities, and I am not generally asking them to modify their system to accommodate my name so it remains unaffected. Thankfully, in most cases, I actually have a choice of whether I should continue having dealings with such entities. (I don't know what happens in cases where you don't, like, say the DMV).
- rimantas 10y agoI hope he is downvoted for oblivion. And you too. That's a wrong approach to tacle (or rather not to tacle) a problem.
- K0nserv 10y agoIf the argument is economics and system complexity you should favour a single name field over first and last name though. It's one of those rare occurrences where something is both simpler and the better option.
- thr0waway1239 10y agoBut is it the better option? Suppose x% of the human population has a name which can be reasonably decomposed into first and last names. I honestly don't know what x is, but say it is about 90%. When you store it as a single string, which order will you choose? Will you have delimiters between them? Would they still be in effect when the person's name has more than 2 parts? If you are ever in a situation where you need to sort by name, will you do it by first or last name? What if there is a need for the other option to the one you chose? Can you reasonably guarantee that you can identify family members if you ever need to? When the customer tells their name over the phone, will it slow down your customer service people if you display the entire name in a way which they are not usually familiar with?
- EdiX 10y agonames are central to our identities I have never experienced this.
- odabaxok 10y agoSimilar lists: Falsehoods programmers believe about addresses: https://www.mjt.me.uk/posts/falsehoods-programmers-believe-about-addresses/ https://www.mjt.me.uk/posts/falsehoods-programmers-believe-a... Falsehoods programmers believe about time: http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time http://infiniteundo.com/post/25326999628/falsehoods-programm...
- hnur 10y agoOn time: 35. The rate that time passes at one point in the universe is the same relative to any other point in the universe. I once talked to some co-workers of mine who doubted that relativity is real.
- Hinrik 10y agoFalsehoods programmers believe about prices: https://gist.github.com/rgs/6509585 https://gist.github.com/rgs/6509585
- kdeldycke 10y agoTrying to compile a list of those at: https://github.com/kdeldycke/awesome-falsehood https://github.com/kdeldycke/awesome-falsehood Fell free to send pull requests! :)
- CarolineW 10y agoPrevious discussions: https://news.ycombinator.com/item?id=11370046 https://news.ycombinator.com/item?id=11370046 (1 comment) https://news.ycombinator.com/item?id=10255610 https://news.ycombinator.com/item?id=10255610 (13 comments) https://news.ycombinator.com/item?id=10094603 https://news.ycombinator.com/item?id=10094603 (1 comment) https://news.ycombinator.com/item?id=9239656 https://news.ycombinator.com/item?id=9239656 (3 comments) https://news.ycombinator.com/item?id=7365517 https://news.ycombinator.com/item?id=7365517 (2 comments) https://news.ycombinator.com/item?id=4079837 https://news.ycombinator.com/item?id=4079837 (5 comments) https://news.ycombinator.com/item?id=1438472 https://news.ycombinator.com/item?id=1438472 (138 comments) Also: https://news.ycombinator.com/item?id=8909878 https://news.ycombinator.com/item?id=8909878 https://news.ycombinator.com/item?id=7063812 https://news.ycombinator.com/item?id=7063812 https://news.ycombinator.com/item?id=5994098 https://news.ycombinator.com/item?id=5994098 https://news.ycombinator.com/item?id=2898965 https://news.ycombinator.com/item?id=2898965
- danbruc 10y agoThis makes me think you should maybe just have a few fields for names for different use cases and maybe provide an example next to it to see it in context. Name on Invoices John Miller, PhD John Miller, PhD / Ocean Drive 13 / Tahoa 12345 Name for Phone Calls Mr. Miller Hello Mr. Miller, how may I help you?