12 ms·
Falsehoods programmers believe about names – with examples (2018)
- karmakaze 5y agoHere's a falsehood that's missing: people want pages that scroll in unexpected, unpredictable ways.
- earthboundkid 5y agoHow do you store Queen Elizabeth II?
- watersb 5y agoA friend of mine went to school with the son of an exiled king. Everything was fine -- this fellow had a proper passport, visa, etc. I suppose being a prince helps a bit with nation-state level paperwork. The problem occurred when the prince had to seek urgent care, the Emergency Room of a rural hospital. They needed first name, last name. The prince didn't have a way to fill out the family name, the last name. English was not his first language, he was bleeding, and it was a late night for everyone all around. So it became a real argument. Finally my friend leans over and says "SMITH. His last name is Smith!" The orderly was able to fill out the form, and everyone was better off.
- Zababa 5y ago> In some countries (notably French speaking) it is convention to write a person’s surname in all caps to make it clear which part of the name is the surname. This is a French-specific thing? I didn't know that. I really like it, it makes it easier to know which part is the name and which part is the family name.
- LazyOne 5y agoYes I've seen this in some French and Belgian companies.
- msbarnett 5y agoIt's not fully French specific — conventionally, transliterated Japanese family names are rendered in ALL CAPS, particularly when it's unclear whether or not the name is being presented in Japanese-style family-name-first order to western audiences who may otherwise confuse the given and family names.
- senkora 5y agoI’ve also seen it in the CIA World Factbook. I didn’t realize it was a French thing. https://www.cia.gov/the-world-factbook/countries/japan/ https://www.cia.gov/the-world-factbook/countries/japan/ Lots of info on the page, but the relevant part: “head of government: Prime Minister Fumio KISHIDA (since 4 October 2021 )“ Edit: Another example: https://www.cia.gov/the-world-factbook/countries/albania/ https://www.cia.gov/the-world-factbook/countries/albania/ “head of government: Prime Minister Edi RAMA (since 10 September 2013); Deputy Prime Minister Senida MESI (since 13 September 2017)“
- malshe 5y agoI knew this as a French-specific thing when I worked there and I used to love it. Haven't seen it anywhere else though.
- okanat 5y agoThere are a bunch of countries that were ruled by France or adapted it by cultural exchange. We also capitalize the surnames in Turkey. Not as often anymore but it is a thing for many official documents.
- ted-pap 5y agoIn Greek first names are conjugated. Also last names change based on gender.
- dang 5y agoDiscussed at the time: Falsehoods Programmers Believe About Names – With Examples - https://news.ycombinator.com/item?id=18567548 https://news.ycombinator.com/item?id=18567548 - Nov 2018 (169 comments)
- elchief 5y agoA personal name is either a Polynym (a name with multiple sortable components), a Mononym (a name with only one component), or a Pictonym (a name represented by a picture - this exists due to people like [Prince][1]). A person can have multiple names, playing roles, such as LEGAL, MARITAL, MAIDEN, PREFERRED, SOBRIQUET, PSEUDONYM, etc. You might have business rules, such as "a person can only have one legal name at a time, but multiple pseudonyms at a time". Some examples: names: [ { type:"POLYNYM", role:"LEGAL", given:"George", middle:"Herman", moniker:"Babe", surname:"Ruth", generation:"JUNIOR" }, { type:"MONONYM", role:"SOBRIQUET", mononym:"The Bambino" /* mononyms can be more than one word, but only one component */ }, { type:"MONONYM", role:"SOBRIQUET", mononym:"The Sultan of Swat" } ] or names: [ { type:"POLYNYM", role:"PREFERRED", given:"Malcolm", surname:"X" }, { type:"POLYNYM", role:"BIRTH", given:"Malcolm", surname:"Little" }, { type:"POLYNYM", role:"LEGAL", given:"Malik", surname:"El-Shabazz" } ] or names:[ { type:"POLYNYM", role:"LEGAL", given:"Prince", middle:"Rogers", surname:"Nelson" }, { type:"MONONYM", role:"SOBRIQUET", mononym:"Prince" }, { type:"PICTONYM", role:"LEGAL", url:"http://upload.wikimedia.org/wikipedia/en/thumb/a/af/Prince_logo.svg/130px-Prince_logo.svg.png" } ] or names:[ { type:"POLYNYM", role:"LEGAL", given:"Juan Pablo", surname:"Fernández de Calderón", secondarySurname:"García-Iglesias" /* hispanic people often have two surnames. it can be impolite to use the wrong one. Portuguese and Spaniards differ as to which surname is important */ } ] Given names, middle names, surnames can be multiple words such as `"Billy Bob" Thornton`, or `Ralph "Vaughn Williams"`. [1]: https://en.wikipedia.org/wiki/Prince_(musician)
- user-the-name 5y agoYou can very easily have multiple legal names, as "legal" is a national concept and you can have multiple citizenships, each one with a different legal system and thus potentially a different legal name.
- notum 5y agoGotcha. Un-validated unicode text boxes for names in forms from now on. After all, someone could be named like the contents of a 64MB binary blob. Compromises are unavoidable in web development.
- mike_hock 5y agoUnicode text boxes with no validation other than a (generous) length limit and unicode validation is exactly the right approach. Arbitrary assumptions and limitations littered throughout the code is not.
- klabb3 5y agoYes, and to be perfectly clear don't have a minimum length (either empty or nullable) and make it mutable, in any case where you're doing some form of soft identification (e.g. "Hi, $NAME, here is your reservation" or "I am calling from $COMPANY, may I speak with $NAME?") Also, tell me what the purpose you're using my name for, e.g. "Name as it appears on your payment card/passport/ID/SSN" helps tremendously in resolving ambiguity. Also, consider not asking for a name at all unless there's actually a good reason.
- notum 5y agoExcellent, that covers emojis as well.
- number6 5y agoOj yes litten QmFieSBUYWJsZXM=, we call him.
- vanous 5y agoQk9CQlkgVEFCTEVT
- deleted 5y ago[deleted]
- 5y ago
- swayvil 5y agoBy the way, John Wyndham (author of The Day of the Triffids. Mentioned in the article) also wrote a novel titled, "The Kraken Wakes". Which is a hilarious, messed up and excellent piece of scifi full of early 20th century flavorful goodness.
- kgeist 5y ago41. Surnames like "Null" don't exist: https://news.ycombinator.com/item?id=12426315 https://news.ycombinator.com/item?id=12426315
- Svip 5y agoProgrammers need to learn from bureaucrats of the 19th century. When bookkeeping of the people truly became a thing in the 1800s, industrialised nations sent out bureaucrats to collect the names of people in villages. Unfortunately, people seldom had enough names to fill in the forms the bureaucrats had. The idea of a family name was not something bestowed to nor necessary for a lowborn. If you're the only Jack in town, why bother with any other name than Jack? Not contend with simply filling in Jack, bureaucrats would simply come up with a last name for them. Or - if they felt so inclined - ask the person to come up with one themselves. They would often chose their occupation. Americans know that a lot of modern family name spellings in the US are the result of careless bureaucrats at Ellis Island. Back then, family names, house names, last names and surnames weren't necessarily the same thing. One might have more than one. You may be of one House, but your last name was Jackson (son of Jack). Also somewhat inconvenient for these bureaucrats with few fields on their forms. And also, stop changing last name from generation to generation. Though, fortunately for these bureaucrats, unlike modern programmers, when the map did not fit the terrain, they could simply alter the terrain.
- notum 5y agoSome airlines do this, they ask that you anglicise your name for the boarding pass.
- andrewem 5y agoFamily names weren’t changed at Ellis Island. See eg this from the New York Public Library: https://www.nypl.org/blog/2013/07/02/name-changes-ellis-island https://www.nypl.org/blog/2013/07/02/name-changes-ellis-isla... (The mandated adoption of surnames is a pretty complex topic and of course proceeded in different ways in various times and places.)
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- deleted 5y ago[deleted]
- kgeist 5y agoA few years ago we were required to pass Microsoft's certification exams, one of the options was to do it online. Their requirement was that the name/surname in the application form had to be identical to what's in your ID (you also had to attach scans of your ID). The problem is, we're from Russia, and the form didn't allow Cyrillic letters, and there's only Cyrillic letters in a Russian ID. We had to fly all the way to St.Petersburg to pass exams offline in a Microsoft-approved certification center, instead of just doing it online in our office. Another option was getting a travel passport (it contains a Latin transliteration), but the deadlines didn't allow us to wait for up to 1 month (maximum time for issuing a travel passport here).
- R0b0t1 5y agoThey refused to accept a romanization? If so that's doubly bad. Excusing technical deficiencies is one thing, but preventing people from working around them is indicative of a high level organizational failure.
- kgeist 5y agoYes, it had to be identical. The problem with romanization of Cyrillic is that there's no commonly accepted standard, and I suspect the employees who process the applications were very unlikely to be Russian, so they would have no idea how to match our romanized variant to what's found on the ID scans. At least if they allowed Cyrillic in the submit form, they could have compared it visually as a set of pictograms, no need to know Cyrillic by heart. And it wasn't some US-only application thing we ran into by mistake, it talked about providing identification documents "of your country". But for some reason, they excluded all countries which don't use Latin alphabet.
- secondaryacct 5y agoCountries which are getting rarer and rarer. I'm in China and we havent yet faced such problems at the office (we too are mandated to get those certs). But in China, there are 5 Microsoft-approved offline training centers per metro station in any city with IT employees + the flats are so small you cant possible be uninterrupted during the exam during covid, so we mostly go offline.
- ajsnigrutin 5y agoIn some countries, women have different last names than men do. Eg. in macedonia, traditionally a person would get their fathers name as their surname (so if the fathers name was "Petar", and the son was Dragan, the lastname would be roughly translated to "Dragan of Peter"). Because there are different forms for feminine and masculine words, The son would be named "Dragan Petrovski", and the daughter (Eg Marija) would be named "Marija Petrovska". This tanslated to modern times means, that if "Marija Ilijevska" married "Dragan Petrovski", she would then be named "Marija Petrovska". Their sons surname would again be "Petrovski" and daughter "Petrovska". So basically matching parents and their kids by their last names has to take in account the -ski or -ska form .
- deleted 5y ago[deleted]
- isbvhodnvemrwvn 5y agoIn old Polish there was also a special form of name for unmarried women, so for example: Jan Kowalski has a daughter, Anna Kowalska. When she is young, she is called Anna Kowalszczonka, Kowaliczka or Kowalówna depending on who you asked (and you can't reliably reverse these forms into the original name) When she is grown up, she is called Anna Kowalska. As it happens, the country was part of the Russian empire, so she's also called Анна Ковалска or Aнна Kовалская, depending on who you asked. When she marries Jan Kowal, she is called Anna Kowalowa or Anna Kowal. When Jan Kowal dies and she marries Wawrzyniec Słowacki, she is called Anna Słowacka. But her husband is from Austria-Hungary, so he's also called Laurentius Slowacki somewhere in his documents, even though he never uses this name for anything. Their son Stefan moves to Lithuania, but even though he's ethnically Polish, Lithuanian government requires him to have "Steponas Slovackis" printed on his documents.
- lotsofpulp 5y agoThis feels like the opposite of KISS principle. https://en.wikipedia.org/wiki/KISS_principle https://en.wikipedia.org/wiki/KISS_principle I would recommend my daughter or son to keep their name even after marriage just to avoid paperwork hastle.
- kube-system 5y ago> I fear that part of the reason that this blog post had less impact than I hoped was that Patrick did not give examples of how each assumption can be false. I think the reason is that many assume that these cases are niche and not something they need to worry about. Which might be the case, or might not, depending on the application. But either way, using celebrities or historical figures is not a great way to convince anyone otherwise.
- firebaze 5y agoThis is so old. Welcome, https://xkcd.com/1053/ https://xkcd.com/1053/.
- goto11 5y agoA more realistic example for 40 ("people have names"): Newborns might not have a name. Lots of systems might have to handle newborns.
- kergonath 5y agoSome systems even have to handle not-yet-borns. An example I have seen is that when pregnant in France, you might have to pre-register your future child for one reason or another (a common one is waiting lists for childcare, but some paperwork requires it in other situations). Ours had “À naître” [to be born] as a first name, as the forms did not accept no first name.
- shakna 5y agoRealistic name from working in the NT: Someone with your name died, so you no longer have a name until the elders convene to give you one. This may take somewhere between hours and years. However, after a period of time dictated by the hierarchial position of the one who died, you will be given the choice to retake your previous name, or maintain your new one, if you have it. Several name changes with the differing clocks for switching may overlap. Each time, you may end up with interspersed periods of no name. Every time a change occurs, you are not normally allowed to acknowledge that the previous name was ever attached to you. As such, your gov IDs have a numeric constant, like everyone else, but no name fields. On an island of a thousand, I estimated roughly 10% of people at any one time had no name.
- DonaldFisk 5y agoDid I miss the falsehood about family name always following personal name? (Doesn't apply to Chinese, Japanese, Korean, or Hungarian names.)
- Izkata 5y agoSince they do mention Klingon in one of them, I kinda also want to add to yours: Bajorans also put family name first.
- emodendroket 5y ago> This particular example name [Tanaka Tarou 田中太郎] is perhaps best known as the name of an alien in an anime series (and a manga). There have also been real people with this name. Huh? That's a bit like saying the name "John Doe" is "perhaps best known from being the name of a character in a movie." It's just the stand-in, "generic" Japanese name that's used in examples. If an alien had the name in a cartoon it was probably a joke about the alien going out if its way to appear ordinary, the way the characters in Third Rock from the Sun were named Tom, Dick, and Harry. Anyway, this article always kind of rubbed me the wrong way. OK, maybe someone's name is one character that's not possible to represent with Unicode. What do you want me to do about it?
- drewzero1 5y ago> the way the characters in Third Rock from the Sun were named Tom, Dick, and Harry. Wow, I've watched that show for years and never caught that. I love the ordinary alien name trope, and my favorite incarnation is Ford Prefect from the Hitchhikers Guide series. (While I imagine it was a great gag in the UK for the alien to believe that cars are the dominant life form on earth, the joke was a bit lost on US readers because the model was not popular here.)
- mcphage 5y ago> What do you want me to do about it? When you write code that accepts names, don’t bake in assumptions that violate these falsehoods.
- bspammer 5y agoThe only way I can think of do that would be to not make a name field mandatory. That's certainly possible in some applications, but not in others. For example, I work in insurance and we need a name to put on the policy documents.
- mcphage 5y agoIf your company can’t insure someone whose name violates these assumptions, then the best you can do is make those assumptions clear.
- cassonmars 5y agoThe names don’t change one has a subvariety: the falsehood that last names might change, but first names don’t. Transitioning showed me firsthand how many common products make changing specifically the first name impossible.
- exdsq 5y agoMy full name is 36 characters long which isn't crazy but still causes a fair few issues when I try to sign up for some sites
- iso1210 5y agoStarted to read, was interesting, but then I scrolled, and the whole page seems broken. Life's too short to deal with that nonsense.
- bikeshaving 5y agoSomething is terribly wrong with scrolling on that page.
- spacechild1 5y agoFor me scrolling just doesn't work at all...
- notamy 5y agoOh thank goodness, I thought it was just me. Dragging the scrollbar worked, but the scroll wheel didn't. Strangest thing I've ever experienced.
- Izkata 5y agoJavascript-based scrolljacking meant to enforce inertial smooth scrolling. Even when it works (it's glitchy on this page and doesn't always activate for me) it makes the page painful to use.
- SAI_Peregrinus 5y agoThe arrow keys work. As does Firefox reader mode. But my mouse wheel scrolls by sixteen lines!
- cronix 5y agoCan we next do Falsehoods web developers believe about there being any benefit to hijacking the native scroll functionality, and use this website as an example?
- bob229 5y agoThis is bullshit, people don’t believe this. Grow up
- franciscop 5y ago"with examples" => Follows up by not giving examples to a bunch of entries "Confound your cultural relativism! People in my society, at least, agree on one commonly accepted standard for names. And will your software only be dealing with people named by your society?" "I can safely assume that this dictionary of bad words contains no people’s names in it. This is a common mistake – many “bad words” are not bad words in other languages, and some are used in names. Moreover, not every society restricts what words may be used in a name; it’s perfectly possible that someone’s name may have been established in such a jurisdiction."
- spiffytech 5y ago> People in my society, at least, agree on one commonly accepted standard for names. For context, patio11, the author of the original list (without examples), emigrated to Japan and has noted that it is (was?) common for computer systems there to have no idea what to do with his English name. This included his Japanese employer, who apparently assumed all employees would have Japanese names. > I can safely assume that this dictionary of bad words contains no people’s names in it. This problem is notorious enough to have a name: https://en.wikipedia.org/wiki/Scunthorpe_problem https://en.wikipedia.org/wiki/Scunthorpe_problem
- franciscop 5y agoI am a Spaniard (long & convoluted name) living in Japan, unfortunately I know what patio11 is talking about. I literally have to call today a place to "fix" an application after being rejected twice because "my name was wrong", we'll see how the spelling of my 31-character-long name goes.
- brigandish 5y agoHow I wish this article and information gets translated into Japanese…
- Uehreka 5y agoI can do the bad words one: in Thai, the root word “porn” (pronounced like the English word “pawn”) can be loosely translated as “blessing” and forms the basis of many given names, surnames and place names. Any blacklist that includes the word “porn” will cut out a lot of totally normal Thai names like Siriporn or Pornrapat.
- shireboy 5y agoI think about the 2010 article often as I develop- often little line of business apps etc I have to put first/last/middle on the ui and database because that’s what the paper form always had. I really wish for this, as well as other common scenarios- address and date/time entry also- there was a standard library to pull from for various languages. Need a simple user friendly ui for names that follows all the rules? Copy this. Or a DB schema for names? Here’s the TSQL.
- codebje 5y ago#41 - if you write a system that can accommodate all 40 previous examples, you can still integrate it with the popular brand customer management system your company wants to use.
- ChrisArchitect 5y agoLots of previous discussion when this was new: https://news.ycombinator.com/item?id=18567548 https://news.ycombinator.com/item?id=18567548
- frabjoused 5y agoThe altered scroll on this site is rough.
- Izkata 5y ago> People whose names break my system are weird outliers. They should have had solid, acceptable names, like 田中太郎. > No, your system is badly designed. > This particular example name is perhaps best known as the name of an alien in an anime series (and a manga). There have also been real people with this name. I feel like the author of this page missed the original joke here: The sentence is in English so the reader is primed to expect an English name, or at least something representable in ascii/latin characters, and then it drops something totally different to challenge the reader's expectations.
- chmod600 5y agoMore than anything, this reflects how many business decisions a "programmer" makes. If a "programmer" was actually just a programmer, none of their beliefs would matter. Either it met the spec, or not. But in reality, a lot of the job of a "programmer" is to make all those detailed decisions, and handle all the exceptional cases, that other people don't want to be bothered to think about. But those detailed decisions and edge cases need to be handled because much of the value of software is running the business worldwide at all hours with fewer humans involved, so those edge cases will come up constantly. So all these little decisions fall on the one writing software. That's actually an incredible amount of power once you realize it.
- secondaryacct 5y agoBecause the speed at which they can write good specs cannot match a competitor doing iterative back and forth from an elevator discussion. Even in large slow banks, we churn feature releases weekly now with half finished stuff behind feature flags to see if they like it so far. And well, it works and they re happier and we can have lighter BAs, and spec mistakes cost a lot less as they are spotted faster, not after 3 months of blind work. Oh and btw the value of software is not to handle every edge cases well, but to be able to change, imho.
- goto11 5y agoThe key takeway is that the simplest handling or names (as an opaque unicode string which is not assumed to be stable or unique or conform to any particular structure) is also the one which have the fewest problems. The problems arise when you want to do more than just echo the name exactly as entered. Perhaps you want to show only last name in some context - now you assume everyone have a last name, and you are already in trouble. Of course you can't always get away with treating names as opaque, so this is where you need to be very careful with the assumptions you make. The approach depends on the purpose of registering the name in the first place. For example if the purpose is to identify a person showing showing up to pick up a rental car, you just ask them to enter their name as it is stated on the drivers license. If you want to mail them a letter, ask for the name as it is stated on their mailbox. There is no one-size-fits-all solution, but instead of worrying about the-artist-formerly-known-as-Prince or tribes communicating only with colored fabric, consider the use case for the name. If you have a web-shop you probably don't have to worry about orphan toddler refugees, but if you write software for hospitals you absolutely have to consider the case where the name is unknown. I'm sure Mr Artist-formerly-known-as-Prince has both a passport, credit card, legal name and drivers license, all with names representable as Unicode characters. The question is which one your application needs. Btw. I find it amusing when web startups think they need a "web scale" distributed database system in order to be scalable to a billion users, but thinks handling characters outside of the ASCII-range is an obscure edge case which can be ignored.
- deepsun 5y ago> Cyrillic characters for Russian names Russians don't hold a patent on Cyrillic. There are plenty of languages using Cyrillic, e.g. Mongolian or Serbian.
- gvv 5y agoGood followup on falsehoods about time https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time https://infiniteundo.com/post/25326999628/falsehoods-program...
- Beldin 5y agoFunnily enough, the example about the importance of capitalisation has a capitalisation error. It's "Van Gogh" when written without the first name. With, it becomes "Vincent van Gogh". Basically, the "filler words" are without capital unless "naked" at the start of the noun. So it also is "Van der Staaij" or "Kees van der Staaij".