Hacker News new | past | comments | ask | show | jobs | submit login
People with names that break computers (bbc.com)
254 points by Libertatea on March 25, 2016 | hide | past | favorite | 275 comments

A few years ago I ordered a custom license plate 'NULL'. What should have been a 2-3 week process lasted 8 months, with the order being canceled multiple times, and at one point a blank plate being shipped to the county clerk's office.

More recently I've gotten out of a parking ticket in a certain municipality when a frustrated meter maid told me they saw my plates were valid, but the handheld device used to issue tickets would crash any time they tried to issue the ticket.

These guys need the Maybe monad on their forms.

I have an LLC called "NULL VENTURES LLC". I often get mail that is addressed to:

I still laugh a little bit every time.

I just checked, NULL is not available in California, but this one is ("INVALID"): http://imgur.com/1KhRws2

But, I wonder how much more frequently you'd get pulled over with a plate like that.

the CA DMV lets you check for custom plates online: https://www.dmv.ca.gov/ipp2/initPers.do

When I was working at British Airways a decade or so ago there was* a problem with a screen-scraping programme that terminated the crew printout whenever there was a passenger needing medical assistance on the flight manifest because the text "invalid" was assumed to be an error condition.

*Actually long enough ago I can no longer recall whether this was something that happened while I was there or just a tall tale that was doing the rounds in the department.

'NO PLATE' and 'NO TAGS' are taken but 'NO TAG5' is available if anyone wants to take their chances.

-edit 'MI55ING' is available too.

I'm pretty sure "INVALID" lets you park in disabled person parking spots.

That is amazing. Not that I endorse criminal activity or anything, but I imagine the amount of power you now have to evade traffic violations, get away with jewel heists etc, must have made the wait well worth it

Null and various other strings are banned for use in license plates in many states. Think plates that might confuse humans (0/O and 1/l in words, NA, NONE, NO PLATE/TAG etc etc) and make it difficult to accurately read/write out a plate.

I've always wanted a license plate I1II0O0O just to mess with the automated license plate scanners and video tolls

Lots of quotes of Bobby Tables, but here's the really relevant XKDC :)


Edit: as someone else jumped to mention as well. Howdy there.

Many states don't allow both "I" and "1" or "O" and "0" in their character set. NJ is one that doesn't.

However in NYC I saw a limo with the plates "1I11II1"

Wouldn't be a problem if they used the FE font. https://en.m.wikipedia.org/wiki/FE-Schrift

I always wanted to have an MMO character named "Bobby Tables".

I do have one who's the III, only it's spelled Ill for reasons of forced capitalization.

Best life hack.

Breaking computers can be useful.

Isaac Asimov had a series of short stories written in the form of conversations between the writer and a friend named George. George claims to have discovered how to summon a demon, and the conversations are about that demon. The demon is not allowed to directly help George, but he will do favors for George's friends.

These favors invariably do not turn out good for the friend. Each story is basically George telling the author the tale of one of these favors, and the writer trying to make sure George does not ask the demon to do any favors for the writer.

Anyway, in one of the stories George had a friend who wants to be able to do something to have a big positive impact on the world. George told the demon about this, and the demon said he'd help.

The next time George encountered that friend, the friend told George that he had been having all kinds of problems with computers. He'd go into his bank to cash a check, and when he'd get to the teller their computer would stop working. And it wasn't just the bank...anyone he encountered who was using a computer would find that their computer crashed when the friend came near. His mere presence seemed to be enough to crash computers.

This was, of course, making the friend's life miserable, and this was in the 1980s. If it kept happening it would get even worse, as computers were clearly going to become more and more common in everyday life.

George found out from the demon what had happened. The demon had indeed (irreversibly) made it so that computers could not work when the friend was near, in order to grant the wish to make a big positive impact. The demon says that when the friend is an old man humanity will be enslaved by an uprising of intelligent computers, and the friend will be the weapon that humanity will use to defeat the computers and regain freedom.

This story is great, I want to checkout the author now! The demon seems less of an actual evil being and more as a person who gets excited about awesome stories, uses ying yang guide the vine of destiny. Maybe half expecting a smile only to see horror. I know this is now the best place for poetry, but this story was very fun to read

This is not Asimov's usual style. The book you should be looking for is "Azazel", later re-packaged as "Magic". It's never establishes that Azazel is a demon. The book vacillates between "demon" and "technologically advanced extraterrestrial being".

You want to check out the author? .... Isaac Asimov...

Yeah, you should probably do that.

I checked out a bibliography. Seems like lots of derivative stuff playing on the same old memes you see everywhere.

it's probably little consolation, but I thought your comment was hilarious. :)

You gotta watch out for Poe's Law if you're trying to be funny on the internet.

Most of those memes are memes because Asimov invented them.

You sound like I guy I once heard complain that The Lord of the Rings was just a collection of D&D cliches.

"I tried to read Shakespeare, but the storylines were so cliched... like every romantic comedy..."

"I don't like the Beatles, I've heard that pop style a million times before"

I think the latter is fairly reasonable. They may have invented it, but at this point it has been done an awful lot, and someone could be forgiven for being sick of it.

Shakespeare's writing OTOH is still outstanding even if the stories are cliche (and they were cliche at the time as well)

Actually I think it is a knockoff of the Ring Cycle by Wagner :)

I realize you're probably being sarcastic, but I've heard people claim that in all seriousness, so just for the record: that is definitely not true, and I can't imagine anyone thinking it was true unless they were completely ignorant of the myths and stories that both Wagner and Tolkien drew from. (Much like the folks who claim Star Wars is a ripoff of Kurosawa's The Hidden Fortress, which shows ignorance of the dozens of other classic films that Lucas quite openly referenced and homaged.) It's like claiming that Sonic the Hedgehog is a ripoff of Super Mario Bros.

Though it looks like the cool kids these days are reading Samuel L. Delany.

Edit: chirality error, Samuel R. Delany

There's a lot to check out. And it's all well worth your time to check out his fiction, non fiction, AND biography. And he's an interesting character, a bit odd, but not offensive like some authors can get.

Trivia time: Issac Asimov published books in 9 of the 10 major categories of the dewy decimal system.

Personal note: I grew up reading his non fiction articles in the Fantasy and Science Fiction magazine back in the 80's.

What a wonderful story! The friend in the story began to remind me of the character Emmet from The Lego Movie: an oddball whose quirks ultimately make him a hero.

  A two-centimeter demon named Azazel
  Has magical powers that dazzle.
  But those who would strive
  To get them derive
  Nothing much and are beat to a frazzle.

I had a strange experience where my cable company's mobile app, which streams most channels, was missing audio on a few channels. After escalating the issue to an engineer, he finally got back to us and told us that if a username contained "ts" like mine did this issue would happen. After making a second username without that combination, all worked fine. I'd still like to know what logic in their application would get stumped by these two letters.

Imagine the cowboy code responsible for such an abomination of a bug.

I think I may be turning into a machine myself, because I had to google "cowboy code" thinking it's probably something from the Jargon File. Like, an apocryphal list of error codes and things, hidden in some obscure part of a posix filesystem etc.

In the context of acoustics, "ts" almost always means time-step (inverse of frequency). But I don't have the faintest idea of how it would collide with the username string :|

In the context of video streaming, ts probably stands for "Transport Stream" [1] and nothrabannosir's idea of the bug is probably very close to correct. What's both hilarious and sad is that someone on HN without access to the source code, debugging environment and internal QA tools probably root caused the bug, whereas the cable company's developers let it get all the way into production.

1: https://en.wikipedia.org/wiki/MPEG_transport_stream

Guessing they're scanning for parameters in a JSON object by doing something like

    ts = parseInt(jsonstr.indexOf("ts")+2);
I wish I didn't come to this guess by seeing it in real code so many times…


One of the reasons I've always been leery of regex. Especially since everyone I've seen using them tends to blindly copy an example from elsewhere and then bats at it until the test case passes.

I just realized that our codebase is probably relatively ok...

If only they had just looked for the whole key:

    ts = parseInt(jsonstr.indexOf("\"ts\":")+5);

The only thing I can think about is that ts is a abbreviation for terminal server. Which reminds me of a username: tsAdmin.

Perhaps there is an internal policy with usernames and those usernames and some rights are also transferred into the app. I don't have a better idea

I wasn't able to buy tickets once because "your name cannot include numbers, special characters, or the words 'select', 'drop', or 'user'". I (don't really) apologize for having a name containing one of the magic words your programmers aren't competent enough not to care about.


In the 90s, I worked for an ISP. Our very first customer was "Joe Test". We had well-meaning customer service people delete his account a few times because our billing system didn't have fancy features like a notes section.


I've been bitten many times by "People have, at this point in time, one full name which they go by." I have the same first name as my son, my dad, my grandpa, and back 6 further generations. We've all gone by nicknames or middle names. My middle name is my legal name, in the sense that it's what I do all business as (and have for my entire life).

My signature is my middle name. My credit cards have my middle name. My family, friends, teachers, students, and employers know me by my middle name. And yet, so many institutions are incapable of handling the situation and insist on calling me by my first name, which is not who I am. If my doctor, lawyer, and banker call all use my middle name, your system can deal with it or I'll find an alternative.

> insist on calling me by my first name, which is not who I am.

As someone who goes by a nickname, I find this to be a feature. If I get a phone call or email addressing me by my legal first name, it's almost certainly a sales call, and I can take appropriate action.

> As someone who goes by a nickname, I find this to be a feature.

Oh, that's definitely a perk. "Hi, um, may I speak to... Firstname?" "No, but I can take a message."

As a bonus, my first name is ridiculously pronounceable but cold callers act like they've never seen that arrangement of letters before. Imagine being Robert Joe Smith and they ask, "is... Row... Bort... there?" If you can't even say my first name, I have no prior business with you (and almost certainly no future dealings).

I'm sometimes called my middle name, which I am not using.

In Swedish, it seems that the rhythm or composition of the full name is rather important, so a lot of people are goes by their middle name. I guess my second name seems more probable as a name.

Example: "Erik Lars Svensson" is not ok, but "Lars Erik Svensson" is. "Anna Sofia" is ok, but "Sofia Anna" is not.

Sometimes the proper name is capitalized like this: Lars ERIK Svensson...

People who use my name have probably been introduced to me. People who use all three of my initials probably know me online.

People who call up and ask for "Dee" are invariably trying to sell me something.

The troubles I have caused my poor kid Se7en.

So.... Change your first name. It's called your legal name for a reason. Can you get away with your nickname in a number of systems? Sure, but when you run into issues you really don't have anyone to blame but yourself. Your complaint boils down to "I want to abuse the legal name system and everything should just work for me"

> And yet, so many institutions are incapable of handling the situation and insist on calling me by my first name, which is not who I am.

False, you may not consider that your first name but it IS your legal name and at the end of the day that's really the only thing that matters. We all have to conform to some system and it can't be "kstrauser's system" or "joshstrange's system". I feel for people with drop/user/select/null/etc in their name as they've done nothing wrong, but people not using their real first name and complaining when they have is just annoying.

You keep writing words to the effect that "your first name is your legal name" with full cultural blinders on. I was born in Quebec (Canada) and, for many generations, almost all boys from French speaking families were named Joseph second_name third_name Surname, and all girls were named Marie second_name third_name Surname. Most people use their third_name where you would use your first_name. Every legal document that I have (including my passport) is based on my "legal" third_name Surname.

> False, you may not consider that your first name but it IS your legal name and at the end of the day that's really the only thing that matters.

See, this is one of the misunderstandings from the article. Don't feel bad: many people make this mistake.

But it is a mistake.

Your legal name is the one you conduct business with. In my case, I conduct all business using my middle name. The fact that I was born with it doesn't make it any more valid than if it were a childhood nickname I'd kept around all my life. What matters is that it's the primary key I've been using to legitimately represent myself. I'm not a lawyer, but my lawyer is and I'm more inclined to side with his advice than yours here.

Legal Name = Name on your birth certificate, pure and simple. Something isn't so just because you say it is. I can say my SSN is 123-45-6789 but that doesn't make it so.

> Legal Name = Name on your birth certificate, pure and simple.

As a counterexample, my wife's current name is not on her birth certificate.

> Something isn't so just because you say it is.

Indeed. So we find ourselves in a teachable moment: you are wrong, but in a way that many other well-meaning people have been. I presume you find this subject interesting, so consider checking out http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... which is a list of things commonly thought to be true about human names but that actually aren't.

I personally love these sorts of things. For instance, I was pretty sure I knew all about how calendars work until I attended a talk buy a guy who maintains a date library. He started throwing out edge case after edge case until I gave up any pretense that I had an inkling about the subject.

Thanks for being so calm and informative on this subject.

It is funny to see people trying to tell you you're wrong, when it's evident this is a subject you'd naturally become quite expert at.

Thanks, although I'm not so much an expert in the subject as someone who's had to deal with this time and again. It is a little frustrating to be corrected so many times by people not directly involved. When my paid lawyer says "sign your home purchase documents the same way you normally write your name", then I heed his recommendations. When I explain the situation to my (huge multinational) bank and they issue me checks and debit cards in my desired name, I'm sure they're not humoring me just for the fun of it and throwing banking regulations to the wind.

Basically, several entrypoints into the legal and financial systems have vetted and agreed with my lawyer's interpretation. And yet, here we find ourselves having this discussion. :-D

> Legal Name = Name on your birth certificate

Wrong, at least in the US. Common law precedent allows you to use whatever name you like, regardless of what's on official documents, as long as you're not doing it for fraudulent purposes.

If you decide one day that you want to be "John Pfeffenheimer Gramblekins", you can go ahead and use that name in legal agreements and on your bills, as long as you're not trying to trick anyone into thinking that "John Pfeffenheimer Gramblekins" is a different person than your previous name.

The same principle stands behind common-law name changes after marriage.

It's not nearly that simple. Most scholars for example agree that the common law permits a right to change your name "with legal affect" without relying on state procedures or approval.

[1] http://www.uclalawreview.org/pdf/57-1-7.pdf

> Legal Name = Name on your birth certificate, pure and simple.

I know a few tribal members who would disagree and be correct in doing so. There are other names you sometimes get later in life depending on culture.

My dad also goes by his middle name - he has a first name that is incredibly common in his nation of origin, so it's almost useless as a way of referring to him. You're the first person i've ever heard suggest that he's wrong to do that, and you are mistaken to do so.

I'm not saying he is wrong to do so but that he has to deal with the consequences of doing so. Your legal name is what is on your birth certificate/green card/etc not what you say it is. You can make it whatever you want it to be by legally changing your name but until you do so your legal name is your legal name no matter what you want to say it is.

One of the ways to legally change your name is to simply start using your new name. So it sounds like they've already done as you suggest.

His legal name is not in question. The point is that the names people go by - that is, their names, that being what names are - are not always the same as their legal names.

No. https://en.wikipedia.org/wiki/Legal_name#United_States

> Most state courts have held that a legally assumed name (i.e., for a non-fraudulent purpose) is a legal name and usable as their true name, though assumed names are often not considered the person's technically true name.


> A common law name (i.e. one assumed for a non-fraudulent purpose) is a legal name.[7] In most states a statutory method, while quick and definitive, only supplements the common law method,[8] unless the statute makes itself exclusive.

It doesn't even have to be an "edge case", as stated in the article. My first name has a single accented vowel and breaks tons of online forms.

What annoys me is not so much having to re-enter my name with the unaccented version of the vowel, it's when the form throws up an error message saying "Enter a Valid Name" [or suchlike]. I find that insulting.

At least make your error text put the blame where it belongs: "Sorry. This form can only handle ASCII Text". Don't insult your users by telling them their name isn't real.

These kinds of limitations are fascinating because they reveal the cultural biases (and I don't mean bias in the negative sense) of their creators. A Western, American system might not be designed to accept names with accents and vowels because who has those in the States?

Anecdotally, I also heard of a female games journalist who had trouble using a VR headset because she wore mascara. It threw off the eye tracking because the system wasn't designed to handle that.

Any designer must test his or her product on many groups of people to find these problems.

> A Western, American system might not be designed to accept names with accents and vowels because who has those in the States?

Here in Brazil, names with accents on vowels are common. Yet some banking file formats still use positional (fixed-length fields) uppercase-only ASCII files.

The format I'm thinking of also has a field in the header to specify whether the tape is formatted as 1600 BPI or 6250 BPI, so I'm inclined to think the cause is more technological than cultural.

Wasn't there a thing that happened a while back where a fitness tracker was found to not work with darker skinned individuals?

We had some face-tracking Sony pan/tilt cameras in the mid 1990s. They were also racist - they worked fine for me but wouldn't track an Indian friend of mine at all.

It was the apple watch. It also had problems with wrist tattoos.

I recall Kinect had the same problems.

And now I feel compelled to mention Better Off Ted, Season 1 Episode 4.

> These kinds of limitations are fascinating because they reveal the cultural biases (and I don't mean bias in the negative sense) of their creators. A Western, American system might not be designed to accept names with accents and vowels because who has those in the States?

My guess would be on the order of tens or hundreds of thousands? It's 2016. There are very few good reasons left to assume text == ASCII anymore.

Having one good reason is enough, and the "it's easier" reason won't be going away anytime soon.

> ...because who has those in the States?

Right! Just:

Hernández, Martínez, Rodríguez, García, González, Gómez...

Jacques Villeré, Jacques Dupré, and Paul Octave Hébert - all governors of the state of Louisiana.

Luis Muñoz Marín, Luis Fortuño, and Aníbal Acevedo Vilá - all governors of Puerto Rico.

Ben Ray Luján - current U.S. Representative

It could also be a cost benefit analysis. How much business lost vs. the cost of supporting. Especially when many such users have encountered the problem often enough to already have a work around.

There are definitely some cases where it is a testing issue, but especially with accepting all possible valid names, sometimes the cost is too high to convince the one in control of funding.

It's just really annoying when it's a government system and it's use is required.

This is slightly off topic, but I recently came across a lawsuit involving German passport and their having a person's name printed IN ALL CAPS. The plaintiff was suing for his right to use lower case characters as that was how his name was spelled correctly vis-a-vis how other families who use the same letters in the same order but with different casing spelt it.

falsehoods government bureaucrats believe about names...

This reminds me of the (endlessly hilarious) tax protester argument that you don't have to respond to a court summons where your name is in all caps: https://en.wikipedia.org/wiki/Tax_protester_conspiracy_argum...

Relatedly, the OCR machine-readable part of a standard (ICAO) passport can't contain accented letters, so ICAO has a standard for how to systematically transliterate various scripts into Basic Latin.

I once sent a package to Curaçao. I bought postage online from USPS.

The package was delivered to Australia, as my local post office showed me on a printout, and lost forever.

The best I can figure out it, it was because I dared to use the accented 'ç' character in the country's name, and their computers were not able to handle this.

I once sent a package to Curaçao. I bought postage online from USPS.

Click-N-Ship used to be able to handle Unicode characters but for some reason that was removed a few years ago. I always had success with it, but there must have been enough situations similar to yours that they decided to do away with it.

It's a shame. Every time we get an order from Spain and the customer uses the superscript "o" in the address, I have to substitute (normal) "o" and pray that the package actually arrives.

US immigration thinks I live in a city called Z?rich.

Hey, I live there too.

On a recent visit to Boston I wanted to use my credit card to buy my wife a gift at Best Buy whose special price was internet-only for store pickup. For those of us whose credit card billing addresses have non-US addresses, their special magic address to get past the US-only address form is:

10780 Kempwood Dr. Houston, TX 77043


> Sorry. This form can only handle ASCII Text

Do you honestly think that's a good idea? IMHO, 95% (yes, this a guess, but I think a conservative one) of people will have no idea what that means. It will only confuse them and leave them feeling stupid - don't make users feel stupid.

This is not to say you don't have a valid point, but end-users need error messages that tell them how to fix the problem, not a diagnosis.

Look, dont you insult the user too. Everyone ouside of the ascii alphabet have at least a vague notion that americans dont allow all letters in their forms, so telling the user that an "forbidden letter" was used is clear enough.

Yeah, my last name has a space in it. For a while, the NY DMV's computer couldn't handle that, so my license had a hyphen in my last name. Talk about insulting.

Which is weird because my first name is hyphenated and so many computers refuse to accept a hyphen in a first name. And even if they do accept a hyphen then there are still many times (including my state's online system) where my first name is too long.

Kind of ironic given the name of the first New Yorker to become President of the United States.

I think the problem is that coders who realize that their form can't handle many common characters don't make a specialized error message, they just fix the problem. Basic Latin Unicode support isn't hard to do. If you've written code that can't handle it, you very likely aren't aware that you've made a mistake.

I have a close friend who lives in rural Ireland. That's not in a town, but on a small farm in a general area of about 15-20 other small farms. His address is just the name of the general area and the county.

The Irish postal system is clever enough to know that the person with this name, in that general area lives in that house. In fact, he probably still isn't even really classified by his name, rather as the husband of his wife, whose family has been in the general area for generations.

This article made me think about how he deals with online forms. His response was that it's been a godsend that finally this year Ireland has introduced postcodes. Previously, and if the form still insists on a house number and street name, he just "bashes his head against the wall."

Ireland is like that throughout the whole country, except maybe Dublin. It's worked for them for ages; there's been articles written about wackily-addressed mail being sent to people in Ireland and arriving to the correct destination. (I remember one that was just a long description going something like "the lad who...").

The problem is if someone in Ireland tries to order something from a company in another country, where the computer system isn't set up to handle totally arbitrary addresses.

Even UK addresses look pretty anarchic to someone in America, where every address has a street name, a house number, a city, a state, and a zip code. UK addresses will have a postal code, and a city name, but after that there's no telling; it'll frequently list smaller and smaller towns and then some hamlet, and not have any kind of street or house number.

If you design your address-storage system to just handle two arbitrarily-long "street" lines, plus a city and postal code, that should handle everything in the UK. For Ireland, just don't require a postal code. The problem is when programmers try to place restrictions on the address to ensure it has "correct formatting". Don't do that; if you need to verify the address, there's APIs you can subscribe to in different countries to check address correctness. Doing it yourself is how these problems happen.

> if you need to verify the address, there's APIs you can subscribe to in different countries to check address correctness

If you do this, just bear in mind that the APIs aren't always correct, either. While working on a project that used data from the Royal Mail's Postcode Address File recently, we found a couple of people on the team whose addresses weren't in it.

And then there's my friend whose flat has an address, but where that address has been stolen by a neighbour with a more prominent front door, effectively leaving my friend addressless.

> UK addresses will have a postal code, and a city name, but after that there's no telling; it'll frequently list smaller and smaller towns and then some hamlet, and not have any kind of street or house number.

Royal Mail don't recommend these long addresses; there's a form on their website to produce a canonical address, something like

  [Building name]
  [Number] Street
  PO57 C0DE
However, good luck telling anyone who's proud of their tiny hamlet this...

http://www.royalmail.com/find-a-postcode (and the "Read our PAF Code of Practice (PDF)" link).

The fact that addresses don't come in canonical form is an interesting challenge for anybody who wants to verify addresses, e.g. for fraud preventing. Actually, many banks, when verifying addresses for online transactions, just strip out all non-numeric characters when doing address verification.

My apartment has two different apartment numbers, the right one and the one that Royal Mail made up for their database. Makes it interesting to match things up on different accounts

Also, a lot of websites have this thing where you have to enter your postal code and then you can pick your address from a list of addresses associated with the postal code. I used to live in a development for a while that was so new that it didn't appear in many of these databases, so signing up for various services (or even paying council tax) was near impossible.

I had a similar, derived issue. A new house I was renting was marketed as "24 Street Name",the lease document was written as such and the front door had a number 24 on it.

However, after moving in, we discovered that on all official databases it was "24-26 Street Name".

This caused a number of frustrations over the years. After a while we just put "24-26" on everything and be done with it.

In Northern Canada there are a lot of towns that don't have street names, just references like "brown house". Everyone in town knows everyone, so it's simply not needed.

Lately Canada Post has been trying to force them to have street names, so in the provisioning system of the telco that serves the area you get awesome addresses like "next to brown house" or "around corner from house next to brown house".

The house I grew up in had an address of "the first house east of the post office." We had a box at the post office for regular mail, but for stuff like mail order computer parts, we'd use that address.

It mostly worked. Every so often we'd get a UPS driver with a bad sense of direction and we'd have to go pick up our package from our neighbors on the other side of the post office.

The towns I'm talking about are thousands of miles from the nearest UPS or FedEx driver.

In fact, tons of them can not be driven to :)

I know a guy in Ireland who has an envelope proudly displayed among his many other collected items, which is simply addressed to His Name, Ireland. It found him safe and sound, probably from Burma or some such place too.

Where I lived (and now work) the streets had no names. Well, actually the electric company had names for them, but didn't really tell anyone. For years, I had stuff sent to "House 311 behind the school". FedEx refused to ship to us unless its a school or business and you had to drive 90+ miles to pick it up. UPS delivered fine. It did take a bit to train new drivers. USPS did not do any home delivery (PO box or nothing).

After the whole 911 push, we theoretically have names for all the streets, but they are not posted.


On a serious note, where was this?

rural North Dakota on a reservation

Has anyone created a public data set for testing names? People publish lists of exceptions (e.g. [1] and [2]), but it would be great to have actual examples in a simple format that can be used for automated testing. The first (and most difficult) step would be to create a universal name schema.

[1] http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...

[2] https://www.w3.org/International/questions/qa-personal-names

People do no have names that break computers. Programmers believe they have certain structures when they don't then his or her code fails.


There should be an entire college course dedicated to all the various "Falsehoods Programmers Believe About Xxxx" lists. I've seen so much horribly bad code that's supposed do handle times, dates, names, addresses, etc. The spec says "Store the user's name in the database" and the programmer simply allocates a string for First Name and a string for Last Name and calls it a day. What's needed is good unit tests and a corpus of test names that exercise as many edge cases as possible.

For the database at least, I don't see why you need unit tests or any testing at all. Assuming that you're going to require at least two names (no single-name names allowed), then a string for First Name and a string for Last Name should be sufficient. If this is a decent database, where the string can have any Unicode character, including a space, and you don't set a limit on the string length (modern databases don't need this), then how can there possibly be a problem? If your database can't handle arbitrary-length Unicode strings, you have much, much bigger problems than weird people names. (And if you want to handle single-name names too, you can either just have a single "name" field, or you can allow null values for the first name.)

Now, the application logic is another matter and probably should be tested. But this really shouldn't be a hard problem, and it's downright shameful that so many programmers have bungled this so badly. There really isn't that much to it: you need to have two strings (and one can be null as I said above), they need to support Unicode so you can handle accented characters or characters from non-Latin character sets (Japanese, Chinese, Cyrillic, etc.), you need to handle spaces in names, and you need to not have arbitrary length restrictions (this could be a problem in web forms, but even here you should be able to make it scroll inside the box). The only valid limitation I can see is not allowing names with backslashes (in PostgreSQL, nulls are represented in SQL dumps with "\N").

Perhaps you should read, or if you have read, really internalize the "Falsehoods Programmers Believe About Names" link referenced above. Here's some choice excerpts:

5. People have exactly N names, for any value of N.

11. People’s names are all mapped in Unicode code points.

18. People’s names have an order to them. Picking any ordering scheme will automatically result in consistent ordering among all systems, as long as both use the same ordering scheme for the same name.

20. People have last names, family names, or anything else which is shared by folks recognized as their relatives.

32. People’s names are assigned at birth.

33. OK, maybe not at birth, but at least pretty close to birth.

34. Alright, alright, within a year or so of birth.

35. Five years?

36. You’re kidding me, right?

40. People have names.

What this really means is, depending on the application and how important the name is to you, you will have different requirements. You need to fit your schema to your needs. For some applications, the name may be important, and extra care might need be taken to reflect the user's entry as accurately as possible. For others, it may simply be a string you expect your payment processor to accept, and that's all you care about.

I already addressed many of these by just advising to have arbitary-length strings (and maybe just a single one). That takes care of #5, #11, and #20. I don't see how #32 - 36 are even relevant: your system should just take whatever name they give you. How long they've had the name is irrelevant (as long as you have a mechanism to change it).

#40: Sorry, but how can you not have a name? Good luck getting an ID document without a name. That doesn't make sense.

#11: This just sounds dumb: Unicode has thousands upon thousands of characters. Only with Chinese can I see this possibly being a problem, but even here I thought Unicode did account for that. Unicode was designed to have every conceivable glyph that every language on Earth uses.

> Sorry, but how can you not have a name? Good luck getting an ID document without a name. That doesn't make sense.

That's what 32-36 are referring to, cases where children aren't given a name for an extended period of time. Even without extreme cases. what about a Hospital system meant to be used to track newborn children? It's necessarily not going to be able to rely on a name, because it's not uncommon for children not to be named for a few days. A system such as that might want to track the children by the mother, date of birth, and birth ordering (in case of twins, triplets, etc).

> This just sounds dumb: Unicode has thousands upon thousands of characters. Only with Chinese can I see this possibly being a problem, but even here I thought Unicode did account for that. Unicode was designed to have every conceivable glyph that every language on Earth uses.

Just because it was designed to accommodate every conceivable symbol, doesn't mean it currently has every conceivable symbol. What about the symbol Prince used for his name[1]? What about a language that's not in Unicode yet?

> There really isn't that much to it: you need to have two strings (and one can be null as I said above)

If someone has a single name, does it go in the first name, or second name spot? Is this enforced, and where?

It's not that you won't generally be served well by your suggestions, it's just that the problem space is complex enough that it's worth thinking about a little before falling back on that. It might be that you don't even need a name, or only need it for billing, and your requirements may change depending on what payment processors expect (is it okay to just save a single string for whatever full name they submit?) These are all worth giving a little thought to up front, because changing the schema after it's in use is always harder, and that goes both ways, Splitting a string into multiple name parts is hard for many of the same reasons listed here.

1: http://parkerhiggins.net/2013/01/writing-the-prince-symbol-i...

>What about the symbol Prince used for his name

You don't need to support that. You don't need to cover every single edge case, and that certainly includes people who make up some crazy symbol to be their "name". I'm quite sure Prince didn't file his taxes to the IRS using that symbol, in fact, according to Wikipedia, "1993 also marked the year in which Prince changed his stage name to Prince logo.svg, which was explained as a combination of the symbols for male () and female ()." So that wasn't even his name at all! That was just a stage name. If you're making a system for anything official at all, then you don't have to worry about silly stuff like that.

(On the other hand, if you're making a system for artists which has a field for stage name, then you're going to have to figure out a solution to this one. As you can see with Wikipedia, their solution was to use a SVG file of the symbol and insert that into the text as necessary.)

>What about a language that's not in Unicode yet?

This again probably depends on exactly what your application is. If it's a US government database, then you don't need to worry about stuff like that, because they're not going to care about people using some obscure language that isn't covered by Unicode. Is there even such a language? I doubt it, not any that are in actual use.

Don't forget, just about every language has been Latinized now, so you can always fall back to Latinized characters.

>If someone has a single name, does it go in the first name, or second name spot? Is this enforced, and where?

Irrelevant. Do it however you want, it really doesn't matter.

Now again, as I mentioned before, a lot of this depends on exactly what your application is, so it's pretty hard to come up with any ideas or rules without knowing this. Are you making a database for US government use? Or something for shippers to ship packages around the world? And from what country? Something for payment processors? Based out of what country? Something for the Chinese government? The requirements will change depending on the answers.

If the government forms require a first name and a last name, for instance, and that's the law, and you only have one name, then you have to get yourself a second name. If you have a Chinese name and this is for a US government form, then most likely you have to use a Latinized version of your name. The possibilities are endless.

> If it's a US government database, then you don't need to worry about stuff like that, because they're not going to care about people using some obscure language that isn't covered by Unicode.

Why, because immigration isn't tracked in US government databases? Liaisons in other countries aren't tracked in US government databases?

> Is there even such a language? I doubt it, not any that are in actual use.

A simple google search shows that yes, there are[1]. They may not be common, but you know where uncommonly used languages see use? In names, from people trying to preserve their heritage.

> Now again, as I mentioned before, a lot of this depends on exactly what your application is

Actually, you're saying that now. I've been saying it from the beginning. Actually, that was the point of my first comment, and the point of my second comment, and the point of this comment. You said "Assuming that you're going to require at least two names (no single-name names allowed), then a string for First Name and a string for Last Name should be sufficient." and I was trying to point out that even if we accept the assumption that you need to require at least two names, there are cases where depending on your purpose you should really examine what you really need an build your schema around that, not some simple rule summarized as two database fields of unlimited length Unicode text.

I said this explicitly in the first comment with "What this really means is, depending on the application and how important the name is to you, you will have different requirements."

The entire last paragraph of my second comment was about this.

> so it's pretty hard to come up with any ideas or rules without knowing this.

Which is my point, and the point of the linked post about names. You need to know your problem domain, and the data you are expected to encounter. It's also not what you stated in your original comment. I'll just assume you were being a bit overly assertive initially, and it's not really the entirety of your stance, because you're making the opposite argument now. We've wasted a lot of time when you could have just said, "Yeah, if name fidelity is important, know your expected data and make plans for special cases if it's important." Which, again, is exactly what I said in my second comment.

1: http://unicode.org/standard/unsupported.html

Your comment is a perfect example of the kind of incomplete and normative reasoning about names that causes systems to fail. The problem isn't that you're not careful, the problem is that your fundamental assumptions are based on incomplete knowledge.

For instance, you mentioned accommodating Cyrillic letters, but you didn't know you'd need to include a field for patronym, which is not the same thing as a middle name and can't just be included in the first name field without causing potential problems.

No, I addressed this. It's really simple: you don't need fields for different names!! Just have a single field: "name". That's it. People can put whatever name they want there, using any character set. If they want a "patronym", whatever the hell that is, no problem, just stick it in there! If they want a suffix like a bunch of Southerners here in America insist on for some archaic reason (like "Jimmy Bob Dalton III" or "Joe Smith Jr."), no problem, just put it there.

For mailing addresses, this is all you need. Postal organizations do NOT care about your name, they just want your address and some kind of name as a check in case there's a delivery problem (or there's been a forwarding address filed for a particular name). Payment processors may need something more defined, but those are frequently more standardized by country, but usually, at least here in the US, all they care about is "enter your name as it's written on the card here...". They don't care about your actual name, they just want to match the string you enter with the string the credit card has.

> Assuming that you're going to require at least two names (no single-name names allowed), then a string for First Name and a string for Last Name should be sufficient.

Not even close; you're already off the rails with assumptions that break for tons of names. There's an easy way to do names decently, ask the user for their full name all in one field, and ask them for a nickname for use with the app and email and such. If you try to break their name down into parts, you're doing it wrong; names are not normally structured data, they're just unstructured free text.

Say you have first name "John" and last name "Doe", then the software will print "John Doe" or "Doe, John" or "Mr. Doe".

For Ai Weiwei, "Weiwei Ai" doesn't make sense, "Ai, Weiwei" is odd, and it has to be "Mr. Ai".

And if we're being picky, name: 艾未未, and oops, there goes my other idea that I can at least use the spaces between words to figure out what's going on... ;)

For what it's worth, programmers do not have the tools to perfectly handle the complexity of human language. It's a hard problem.

Names are an incredibly tiny subset of human communication, and if we were having a beer at the bar, I'd take a swing at arguing that they're not part of language at all.

I don't know, name systems seem to quickly betray their origin in little sentences of specificity in the languages used at the time, before they became systematized according to common western practice (if that even happened, depending on culture).

John? John who? Oh, "John the Smith" with time, the is dropped - the name is carried forward despite people's profession, people post-facto come up with systems for "First" and "Last" names, but the order remains.

In Japanese, grammar flows the other way, "Ken of the mountain field" is written "Yama no Ta no Ken", "Yamada Ken" because of grammar though, the surname still comes first.

And the biggest one is Patronymic names that maintain the untouched grammar of specifying who you mean based on who's kid they are "Ori, Eric's daughter." = "Ori Ericsdottir", "Mateo's Luis" "Luis de Mateo", "O'Connor" "ibn `Amr" etc. etc.

Unfortunately they are the part of communication that we hang the whole communication on. If we identify people by any other part of the conversation we would have the same trouble I'm sure.

A free text entry field would cover almost everyone.

A text entry field on what? A browser? A native android app? A QT interface?

What language is processing the text? Java? C? JavaScript?

Where is the data going, what is the transmit format, what is the data store?

Answering these questions for ascii text is easier. Answering it for utf-8 is harder. Cobbling something together for a character encoding format that can handle the median human name is challenging.

Except people without a single canonical name, or those with no names. Doesn't solve ordering. Or a few more problems from http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b... I'm sure.

Covering almost everyone isn't the problem, it's getting everyone in that is hard. There is a good link in that story about name assumptions. http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b....

A free text field doesn't catch everything in that list.

Websites that insist on forcing me to enter a first and last name always get abuse in the latter. What I call myself on websites is my business, not yours.

If at any point in the process they need to bill you for something, they have to ask for your first and last name because that's exactly what the credit card companies require. So there are use cases.

Personally, I don't see why any company is asking for a name if they aren't billing you for something or they aren't a social network.

> they have to ask for your first and last name because that's exactly what the credit card companies require

No they don't, they ask for a single field, name on card which is a single string containing everything on the card.

I've never seen a credit card company ask for separate first and last names.

Sometimes I think Hacker News forgets the world doesn't start with LA and end with Miami.



First name associated with customer’s billing address. Required only when using a European Payment Processor.

That would require the user information to exactly match the credit card information - which is dumb because it blocks a whole swathe of use cases (multiple payment methods, different person paying, paying by Paypal, paying by Apple Pay, etc.)

No they don't, they ask for the full name on the card in a single free text field.

I've had a Google, but can't find Zuckerbergs answer to this. Any idea?

That, and we have bosses who don't believe us that a single string for first and last name won't work for everyone.

Conversely (or is it inversely?), I've got a coworker whose entire, full, legal name is a single word. It just shows up twice in all of our systems.

What is his nationality, out of curiosity? Or was he born with name and surname?

BTW Just found this list, pretty short. Is it common in some societies still to have just one name?


I'm not sure, he works in a different office than I do. As far as I know, he's American, and I'm not sure if he had a mononym from birth, or if he changed his name.

Indonesia's the most well-known example.

The other famous one is Burma - U Thant, third Secretary-General of the United Nations, was actually just called Thant, but nobody could handle that in 1961, so they stuck the Burmese version of 'Mr' on the front to make something they could recognise as a name.

I realize that the issue of names is complicated when you consider different practices the world over, but is there not some kind of RFC or other specification that people are supposed to follow? How can that be in 2016?

The first job I took in IT, after graduating with a liberal arts degree, was in software testing for a company that made point-of-sale systems. Only a month or two out of training I was given the task to test a name and address form. Knowing that quotes were special characters in databases, I tried entering something like O'Connell as a last name. Sure enough, the system broke. I remember filing a snarky bug report about how Irish and Arab people ought to be able to use the form.

My point is that testing for quotes and "Null" as a surname isn't some kind of esoteric science. What's wrong with people!

My cousins have given up and changed their name from O'Keefe to OKeefe to avoid the single quote headache that seems to plague a lot of systems.

An alternative which is truer to the original would be to use Ó. It means 'grandson of'. But perhaps the other part should also be "deanglicized", giving either Ó Caoimh or Ó Cuív.


By deed poll or just by filling in the form differently? The idea of having to fill in the "have you ever been known by another name" section on forms just looks like a world of pain.

It's a way to mitigate sql injection attacks when you don't want to pay for a rewrite of the data layer to not communicate with the database by blindly mashing strings together.

And don't get me started if your name can't be written in US-ASCII, i.e. if it has weird squiggles above or below the characters or if it's written in gasp cyrillic.

I have had a decent number of forms that would not allow me to enter my last name because it contains a space: De Kok. Apparently over the centuries americans coming from Europe would drop spaces. For instance Vanderbilt is a Dutch name, that stems from the original Van der Bilt (means from the Bilt, which is a Dutch city)

So now American programmers assume a space in a last name (or a dash for that matter) never happens so is an illegal condition that should cause validation to fail. I don't agree

A friend in university had the last name "des Trois Maisons", or "Of the three houses" (if I'm remembering it correctly). I can only imagine the number of computer systems that just die on that. Not one space, but two!

Come to think of it, I bet he reads this comments. Hi [name withheld]!

Seriously, what a great last name.

You might want to edit your comment to avoid giving out your friend's first and last names.

Or at least to provide sensationalistic information about the billions in gold he has stored at his house.

Ehh, valid point. Edited, thanks for pointing it out.

And then there are people who have two last names separated by a space, but which cannot be considered a single last name. Their last name goes <paternal figure's paternal last name> <maternal figure's paternal last name>. Those who keep this naming standard for their children will pass on only their paternal figure's paternal name, which they consider their last name.

A few I know had such issues they had to drop their maternal figure's paternal last name so that they would be called by their paternal figure's paternal last name, which was their preferred name when using only one last name (using both was similar to when someone uses a full middle name calling on a person).

My last name has a space in it as well. All the airlines helpfully remove the space for me, making it not match my passport, leading to me always being flagged by the computer for the 'reject line' at the US border.

My last name does not have a space but probably did at some point in time (DeFelippi). Some idiot at the passport office put a space in it (De Felippi) despite not having a space in the application. Australian customs really hassled me about that.

My wife has to deal with this. Then it causes problems because your airline ticket (or whatever) is supposed to exactly match a valid government ID, but one allows the space and the other doesn't.

I think the situation is like spaces in filenames - difficult to handle in parsing and displaying and even things like equality comparison (are multiple spaces considered the same as one? what about trailing or leading spaces?) turn into a bit of a mess.

Unfortunately, the classic solution of escaping spaces would be unlikely to be easily comprehended by most users.

Dashes seem like accepting them would be easier than spaces, but again you have problems with multiple, leading, and trailing...

Yeah I have a last name like the "Van Der Bilt" example and sometimes people refer to me as Mr. "Van".

Other times, like for booking an airplane ticket it is standard practice to drop the space. Can't book the tickets without that.

I have a first name composed of two names, and one of them with an acute accent. This is enough to cause some of my credit cards to be printed with a repeated name because they assume my "second first name" to be a middle name too. The acute accent results in encoding problems once in a while.

But nothing compares the problems that people with names longer than 30 characters have to face. Creating a SSN card, or driver license, or pretty much any official document can be very painful. The name does fit in their systems and the attendants just don't know what to do and most of them are very reluctant in using abbreviations.

Every programmer should at least read Patrick's article that is cited in the story: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...

And if you are naming kids and want to save them a lot of bureaucracy in their lives, give them short names.

I'm reminded of Scott Adams (of Dilbert fame)'s anecdote about being "blessed with a name that is mercifully short and simple":

"After a long flight I've already got my car, got to the hotel, checked in, and am fast asleep. Boutros Boutros-Ghali (Secretary General of the UN) is still stuck at the car rental counter at the airport patiently explaining his name to the befuddled clerk."

(Although admittedly, whilst I understand the humor intended, I could also see this anecdote as being perhaps a little offensive, too...)

That list makes me very sad. Not because it's not interesting, which it is, but because it'd be so much more interesting if it discussed each item as it went.

This one, for example:

    People’s names are assigned at birth.
    OK, maybe not at birth, but at least pretty close to birth.
    Alright, alright, within a year or so of birth.
    Five years?
    You’re kidding me, right?
Don't leave me there! Tell me which culture assigns names more than five years after birth!

I'd love to see an annotated version.

>Tell me which culture assigns names more than five years after birth!

In the United States of America it is common for females to change their name at marriage, substituting their birth surname for that of their husband.

Also, in many tribal cultures the definitive name is not assigned until an adulthood rite of passage has been passed.

Adult names also change to reflect upgrades in social status such as the completion of a PhD, admittance into a society, acquisition of nobility titles, etc.

That's changing a name, not assigning a name. The list is implying that some people don't have names for at least five years after their birth.

...or maybe it's not; without expanding on the items in the list, it's kinda hard to tell.

I knew someone, an American, whose wife was (I believe) Chinese and they did not give their baby a name for one year. They lived in California where it was legally required to assign the name in the first year, I'm not certain if they would have waited longer, or not, if they would have been allowed.

It's rare, but in cases of amnesia grown adults with no memory of their identity would have a name assigned to them sometime after receiving medical attention.

And if you are naming kids and want to save them a lot of bureaucracy in their lives, give them short names.

I think it depends. Sometimes it's helpful to give them names that are just long enough to make their identities unique, so when they apply for police clearances, for example, they are not mistaken for similarly-named people with criminal records, or even nasty reputations.

I suspect the worst case is when you have a name that is neither common nor unique that you share with someone who is notorious in some manner. I used to know someone who lived in the same city and shared a name with someone who was in the news for some unsavory activity related to a local sports team. He literally had death threat voicemails left on his phone.

A family member of mine shares a name with a fairly notorious con artist in the SoCal area, who has been convicted multiple times for a series of increasingly big, elaborate, and bizarre frauds. Their names are just unique enough that many people assume my family member is the criminal. Fortunately, the felon was put away for 30+ years recently, so we hope he won't continue to make local headlines.

Let's just hope that nobody comes to try and "return" your family member to prison.

LOL. People have definitely tried to call the cops on him before. The con artist's picture has rarely been printed, and nobody in the general public knows what he looks like. They only know his name. So that used to make the mistaken-identity issues even worse.

Several years ago, my then-current girlfriend and I spent a couple days a week at a casino about an hour and a half away.

One day, both my girlfriend and my mother started receiving weird messages from people, saying they hoped I would be okay, that they were "praying" for me (ugh), etc.

The mystery was solved later that day when I received a Google alert for my name and discovered a news article where someone with the same name had been at a different casino, won a large sum of money, and was later beaten and left for dead (fortunately, he survived and recovered).

Steve Bartman?

Howard Spira

> And if you are naming kids and want to save them a lot of bureaucracy in their lives, give them short names.

This is not just a computing issue; my parents come from different continents, my wife from another and we live in yet another. Finding a name for our child that could be pronounced by all the various relatives was very hard -- we found a single phoneme name and went with that.

Our hyphenated family name is essentially unpronounceable and unspellable to most people.

Have a friend with two names, one of which is two words. That one fails all kind of checks on its own, but it gets worse: many places ask for the local equivalent of the ssn which has a part derived from the name. So if he omits the name, sanity checks on that field will fail.

if you are naming kids and want to save them a lot of bureaucracy in their lives, give them short names.

- Thing One and Thing Two.. I wonder if it will fail..

Quintus, Sextus, Septimus, Octavius and Decimus — Roman names for fifth...eighth, tenth son.

Prima, Secunda, Tertia, Quarta, Quinta, Sexta, Septima, Octavia, and Decima — first to tenth daughter.

Octavia survived into modern English: https://en.wikipedia.org/wiki/Octavia_Spencer , https://en.wikipedia.org/wiki/Octavia_E._Butler

Balinese use birth order in their names. There are a lot of Wayans.


My legal name is Martin C. Martin. This has only been a problem for computer systems 2 or 3 times. Once or twice on some no-name web site, which rejected names where first and last were the same. The other time was when the company I was working at was bought by Oracle. Oracle's internal email system simply refused to create a user with the same first name as last name.

(For the curious, I was born Martin C. Hilgerdenaar and changed my name in college.)

Heh. My name is Randall R. Randall. I have had quite a lot of pushback from humans ("No, sorry, I need your LAST name..."), but I can only remember two systems that ever really caused me issues: Facebook and Google+.

I have to ask. Does the R also stand for Randall?

No, it's Reginald. You are in good company in wondering, though. :)

Oh well. I was secretly hoping it stood for Randall R. Randall.

At the third level you may call him Recursive.

Seems like he'd be randallcubed then, no? :P

Why did you change your name?

Were you aware of the problems or potential confusion when changing it?

I am reminded of "Catch-22"'s Major Major Major Major.

or General Marshall upon being promoted to 5 star which is typically called a "Marshall" or "Field Marshall". The story goes he refused that title and "General of the Army" was used as he didn't want to be Marshall Marshall.

In Programming Pearls, Jon Bentley mentions the story of an application, written in APL that bombed when it got to Ecuadorean data. Somebody figured out that it read the name "Quito" and processed it as "Quit".

A large global company I worked at hired someone who chose the username 'lib' and this user was based in a remote location (China as I recall), I don't remember exactly but I think it was their first name. Some of the developer tools recursively searched parent directories for a 'lib' when running builds, this in turn caused a massive mysterious increase in build times when users in the USA were suddenly sending NFS requests to China looking in /home/lib for libraries.

My favourite "real world fails to fit the model we've come up with" is Carmel-by-the-Sea, which has many streets that have no addresses:

"To this day, there are still no addresses, parking meters or street lights, and no sidewalks outside of Carmel's downtown commercial area. Those seeking directions receive hints such as “fifth house on the east side of Torres Street, green trim, driftwood fence” or by the legendary names adorning most houses, such as “Hansel” or “Sea Urchin.”"


> My favourite "real world fails to fit the model we've come up with" is Carmel-by-the-Sea, which has many streets that have no addresses

You might be surprised to learn that in India, all addresses are more or less like this. This is due to the fact that we never ended up with the standardised street numbers and names that a lot of other countries have, and road naming is a highly political thing in India, so a lot of people call roads by colloquial names.

A typical address in India goes

  - House / Building Name (a lot of bungalows in India have names)
  - Locality
  - Near [Landmark]
  - Possibly another Landmark
  - Road Name
  - City Name
  - Post Code
  - State Name
  - India

I grew up in rural Scotland with an address which was:

    - House name
    - Community name
    - County
Just the other day I found myself explaining this to a cow orker some ten years younger than me, and they couldn't believe it.

"But how did the postman know where the house was without a number?"

"They just knew."

"What, all of them?"

"Yup. Each postman knew their own area."

"But how did the post get to that postman? There's no postcode!"

"People in the sorting office read the addresses..."

We also had a three-digit phone number. (One of the outer isles used to have one-digit phone numbers.)

Quite a bit of the Arab world is like this too. Some colleagues of mine were working with a Middle Eastern courier firm recently, and it's quite a headache.

Air Canada and several other airlines have for several years been unable to read my passport on the automated check in because I have a suffix in my name (II). I am told that "this happens with everyone who has a suffix", which just boggles my mind.

I have the same situation, though my suffix is less common. My strategy is to drop the suffix when purchasing a ticket, which has mixed results. Some airlines (United) remove the space between my last name and suffix when I do have to use it (International flights) which caused me some angst until I figured it out.

I've run into the same thing on trips to Toronto and Montreal recently. I'm (marginally) glad that I'm not the only one.

I have a coworker whose last name is Corp. He was unable to create a Google+ account for a couple years and had a bit of difficulty with his Facebook account because they assumed he was a business.

Had a friend with last name of "Root". She worked as a UNIX admin back in the day. Had trouble off and on with her name.

> whoami

Another fun edge case -- people with just one name.

Teller (of Penn and Teller) legally changed his name to just "Teller". Apparently his drivers license reads Teller NLN for No Last Name.

In addition to the obligatory little Bobby Tables, this blog post describing the falsehoods programmers believe about names is informative and a must-read for anyone dealing with names in software:


It's linked in the story, too.

I can see how having a non-representable name can lead to problems (e.g a non-unicode character), but I fail to see how a system can end up with a bug that converts the string "null" into a null or blank string? Even throughform posts and sql there is a difference between "null" the string and null the literal?

Edit: ah saw the SO link now. Shoddy roundtrips to xml/soap/json can do it.

Randall Munroe numbers his jokes, and so many threads end up with multiple links to the same strip. It will end up like the old joke: https://www.reddit.com/r/Jokes/comments/2uuii3/a_man_goes_to...


I only recognize 386, but that's "Someone is wrong..." and now you will too.

The official way to transcribe the Danish letter ø into English is OE,and if you scan my passport the ø part of my name will show up as OE, but nobody knows this and the transcription is not clearly visible when looking at the passport.

So what should I write when I order a plane ticket? Write an O that the agents looking at my passport expects or the OE that matches what the computer reads?

There is a story within the story here: this article was not "fact-checked" by any person who has ever actually used SQL while developing software.

To quote: 'This is because the word “null” is often inserted into database fields to indicate that there is no data there.'

The story is that companies can't be bothered to hire programmers who are clever enough to know that null and "null" are not the same thing.

The story within the story is that news websites can't be bothered to get their technical stories proof-read by people who actually know the technicalities.

WHen I started programing (mainframes) in the early 80's I came across an odd instance in which my name messed things up. All printouts had 3 letter as a banner that were used to identify who to hand them too once burst up from the line printer. Popped onto a trolley in which they would be shipped up to us programmers. Now alas I only had a first and surname and in part due to bureaucracy had to add a middle letter as PG was not acceptable for some unknown reason of standards that was in play. SO I added an X for PXG and then spent several years explaining to anybody new that my middle name was not Xavior.

Equally during my training we were coding a script upon a GCOS 8 machine and had to copy current edit file to a new file and on the system (asterix)SRC was used to reference that file.

Now one person doing the exercise thought they would cheat, looked at mine, then another chap and concluded I'd copied his and he would be clever and not make the same mistake. Turns out the other chap he was checked was with the initials SRC and whilst neither of us had copied anybodies this cunning chap ended up with (asterix)MTW. Sadly this chap went on to the systems division and too this day, still bewildered how and who he sucked up too for that position with such talents.

So names are and always will be amusing at times, in more ways than breaking a system as well.

I guess that you need to hire Portuguese or Brazilian programmers to write programs handling names. They have both accents and long names. https://en.m.wikipedia.org/wiki/Portuguese_name:

"It is not uncommon in Portugal that a married woman has two given names and six surnames, two from her mother's family, two from her father's family, and the last two coming from her husband. In addition, some of these names may be made of more than one word, so that a full feminine name can have more than 12 words. [...] For the sake of simplicity, most Portuguese people have two surnames"

Those Portuguese/Brazilian programmers will not forget to accept short names they may use a nickname. Examples from football are Edson Arantes do Nascimento (Pelé), and the various Ronaldo's and Ronaldinho's. http://www.telegraph.co.uk/sport/football/teams/brazil/78105...:

"Back when Ronaldo, he of the record for most goals scored in the World Cup, joined the Brazilian team, the squad already had a Ronaldo, a defender. So Ronaldo became Ronaldinho. Then another Ronaldinho came along, and they called him Ronaldinho Gaucho, for the area in Brazil where he was from. When the first Ronaldo was done playing, Ronaldinho became Ronaldo again and Ronaldinho Gaucho lost the Gaucho. (For everyday use, that is. He's often listed as Ronaldinho Gaucho in squads, and his official website is www.ronaldinhogaucho.com.)"

I am convinced that the programmer interviewed in this article by BBC is the same Patrick McKenzie(patio11).

It must be right? How many Patrick McKenzies that live in Japan and can talk to a reporter about tech issues can there be?

Yes.I am.


Haha.I got it right.You did a good job in that interview.BBC should be interviewing you more often. And keep up the good work.

I received a Dutch surname as a second middle name. I can never use it -- the "Van" alone is enough to break things. But even without "Van", having two middle names usually does not compute. I've seen people who lack middle names entirely have the opposite problem and insert the middle initial "X" just to satisfy the system.

Assuming you're American, that shows that American norms are no longer even the same as in Britain.

No middle name isn't uncommon, perhaps one in five people. One middle name is most common.

A second middle name isn't at all unusual. Having three suggests an aristocrat — not common, but certainly understood.

I remember a Christian friend choosing his second middle name, which I thought was weird: https://en.wikipedia.org/wiki/Confirmation#Confirmation_name

Try eight:


We used to rely on this guy to break systems. Not using his name, mind; he's just a really devious programmer.

My wife and son have no middle name. An ex-girlfriend also had no middle name. I would have thought it's pretty common.

Replying to myself....

Now that I think about it, in a large chunk of the Slavic world (Russia, Ukraine, Belarus etc), the majority of people probably have no middle name. A patronymic isn't really a middle name as such.

I commonly see "NMI" for "No Middle Initial."

Sounds like NMI actually is TMI. Perhaps you meant NMN?

Might be a factor of certain systems. I was registered with NMI (not having a middle name) on IBM computers in the early 1970s. Not seen it since....

We were still using punch cards back then.

Star Trek memorably listed LT CDR NFN/NMI DATA, see the screenshot at http://memory-alpha.wikia.com/wiki/Data (third from the top, on the right).

Ah, thanks!

One of the applications I work on has a long history of problems handling data for people with the last name Null. I've given feedback on these bugs and make several recommendations for fixing them, but the folks who work on the application framework just...don't care? I don't know. They certainly don't design with exceptions in mind.

That's such an alien way of thinking to me. I was taught that 80% of your work is spent handling 20% of the data. Is there something cultural that prevents other programmers from working in exceptions-first mode?

Maybe it's just with boring business logic. I've heard that the most robust networking applications are written assuming constant worst-case failure states. Anyone have any insight into this phenomenon? I get that there are practical limits to what you can plan for, but if you're accepting string input, shouldn't you at least be prepared for apostrophes?

I have a one word name. I was recently pulled over for speeding. When I called the court, the ticket had already been dismissed. Because the officer hadn't properly filled out the ticket; he had copied my (one) name from my DL.

So, don't fix that particular system, thanks very much.

For anyone wondering about the Hawaiian name:


Keihanaikukauakahihulihe'ekahaunaele, pronounced as: KAY'-ee-hah-nah-EE'-coo-COW'-ah-KAH'-hee-HOO'-lee-heh-eh-KAH'-how-NAH-eh-leh

Rough meaning: 'When there is chaos and confusion, you are one that will stand up and get people to focus in one direction and come out of the chaos.' It also references the origins of her and her husband's family."

Ha ha, the first response; "There's no way that's true". How right they are.

Yet it may or may not be false.

This should not be a problem by now. Especially in government databases. Is there a corpus of names that can be used for testing?

I'm thinking I should either name my child "Define", or change my surname to "Define"...should make Google searching for personal information somewhat frustrating.

Close to relevant XKCD: https://xkcd.com/327/

Edge cases like the ones mentioned on this article will keep happening more often with the increased access to the internet worldwide.

Either programs deal with these cases more intelligently or some family names will stop existing, virtually speaking.

I have lost count of how many different versions of my last name I have since I moved to the United States. My health insurance, car insurance, apartment contract, driver's license, passport (this one has the correct name) are all spelled differently because some systems here don't accept white spaces on last names, so they add dashes. They length constraint is a short number, so they concatenate my 3 last names into a humongous word. Etc.

I always find it funny, except when I need to, say, take an official certificate test and the name I put on the registration doesn't match to one on the IDs I bring, therefore I can't get admitted into the testing center.

Of course I learned how to work with the system by now.

Growing up, the class roster printout did not have characters to show my full name. As a result, it would truncate the last letter of my first name, showing "Ala" instead of "Alan."

Inevitably, on the first day of a new class, the teacher would call out attendance, and would briefly pause with a puzzled look on their face, and attempt call me "Ala"? "Allah?" while my friends snickered in the background.

I'd sigh, and say "No it's Alan" and the teacher would correct the attendance sheet and we'd be done with that, for that semester at least.

Until there was a substitute, and we'd start the whole process over.

These days, I don't mind people butchering my last name, and when I have to spell it out over the phone, I endure the occasional comment about it. I take it in stride, as I myself struggle with ethnic asian names. However, I get very testy when someone butchers my first name (it happens more than you would expect).

A company I used to work for ran into some trouble when a customer attempted to change their payment information on the company's website. All attempts resulted in a rather frightening (to the user) "Access Denied" screen. The customer's last name was "Curl."

This article reminds me of Sir Charles Antony Richard Hoare (aka Tony Hoare)'s InfoQ presentation [1]. What the article described are part of that $1 billion damages.

For people who don't know Tony, he's is a British computer scientist, probably best known for the development in 1960, at age 26, of Quicksort. He also developed Hoare logic, the formal language Communicating Sequential Processes (CSP), and inspired the Occam programming language. [1][2]

[1] http://www.infoq.com/presentations/Null-References-The-Billi...

[2] https://en.wikipedia.org/wiki/Tony_Hoare

There's an amusing short story from the 1960s called "Computers Don't Argue" which this reminds me of: http://atariarchives.org/bcc2/showpage.php?page=133

I am glad the Null family doesn't give in. I was quite sad when the Spaniards changed the collation of the "ll" and "ch" digraphs in the mid 1990s simply because it made life hard for programmers.

But 'NULL' !== NULL. Well, in a more perfect world ;)

Heck, even NULL !== NULL

Speaking of web form, I always think it's more 'universal' to use 'Given Name' and 'Surname' instead of 'First Name' and 'Last Name'. Many languages (Chinese, Japanese, Korean, etc) put surname in front of given name. Your thought?

I know someone who had no idea why their surname was being removed from posts to the internal social media system. It was because their surname was on the list of blocked words, but I don't know how far this was explained to them. We were also unable to post anything about welly wanging or Numberwang.

If these services are evaluating the string in the text field such that it results in the value Null rather than the string "Null" it is concerning. The usibility my be compromised for users with these surnames but I wonder if the security is also compromised via code injection through these fields.

People who cannot properly separate database contents from metadata and control words in 2016 are incompetent.

Though I wholeheartedly agree, 2016 may not be a big problem. Theres still a lot of code from the 1970s in routine use today.

Also on the subject of being reckless with strings, I recommend this blog post by Glyph Lefkowitz:


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact