Hacker News new | ask | show | jobs
My last name is correct and your DB validation is stupid (thecowgirlcoder.com)
38 points by tarahmarie 4789 days ago
27 comments

Names are complicated, very personal, and vary a lot depending on the culture. In English-speaking North America we're actually spoiled that most people have names that follow a standard given-middle-family convention. And also that one's given name is the same in all contexts.

But not everyone's name follows the same format. My wife has two middle names, one of my friends has three middle names, his wife has two given names and a middle name, and my father-in-law goes by his middle name.

And this convention is not true everywhere. Wikipedia has a list of articles for how names work in various cultures:

http://en.wikipedia.org/wiki/Personal_name#Naming_convention

As an example, here's how it works in Russia (note the diminutive form, where the given name depends on the social status of the person they're addressing):

http://en.wikipedia.org/wiki/Russian_personal_name

Of course, in lots of parts of the world, especially east Asia (e.g. China, Korea) it's common to put the family name first.

In general, the answer to "What is your name?" is "Who's asking and why?". If you need a person's name, you should ask for it in one of three ways:

1) What is your full, legal name? (e.g. Jonathan Anthony Smith Jr.)

2) What should we normally call you? (e.g. Jon, Mr. Smith, Johnny, Tony, Junior)

3) What name should we use when billing your credit card? (e.g. Jonathan A. Smith)

You should only ask the ones you need (don't need a full name? don't ask), and they should all of these should be free form with generous length limits and accept any Unicode text.

This is an important topic, but the article is needlessly sexist. It pretty much assumes that men don't have hyphens or spaces in their names, even though her husband does. Women might have (a lot) more trouble with this than men, but jumping to the conclusion that there must not be any women on the Comicon website team is unwarranted. Also she explicitly calls "single capitalized word" names "heteronormative" which doesn't make any sense at all.
So you read the first sixteen or so words, I'm guessing.
Well I read down to the heteronormative bit. But this part: I am going to go to the About Us page, and I am going to see that the database engineer’s name is Ms. Destinnee Chang-O’Driscoll. Then, I am going to paste a giant grin on my face, take a selfie, email it to that woman, and thank her for kicking ass at SQL. I'm not saying that won't happen, but it seems that you think only a woman with a similar problem will make a website that works. Maybe you meant something different.
"This isn’t just a female problem; people with apostrophes and commas in their names all have this problem." I understand that I focused on my problem. It's my blog, after all. However, I did marry a guy with a space and two capital letters in his name. My friend has a ", Jr." to contend with. Try that on for size. Two different punctuation marks, a space, and a capitalized letter. There's a reason I said this isn't just a female issue.
But you waited until the 7th paragraph to mention that. By that point you had already framed the argument as being a female issue. Not only that but you dismiss it by saying "this isn’t something that often happens to men." It's not something that often happens to women either. Most people in English speaking countries do not have hyphens or spaces in their names.

Your point is totally valid and important but it would have been much more effective if you framed it in a gender-neutral way.

"More effective"? It's a post on a personal blog, not a manifesto.
There's no reason to be flippant.

'This isn’t something that often happens to men.'

I can look past the fact that it's completely unsubstantiated, but is it even necessary in a post about names? Do you think the name of the actress was truncated because of her gender?

When people shorten my name, it's familiar and it's a relief because I don't have to smile through their awkward pronunciation.

I feel embarrassingly over-sensitive, but reading statements like these in tech articles is unnerving.

When people shorten my name, it's familiar and it's a relief because I don't have to smile through their awkward pronunciation.

The point is, it should be your choice what you are called. Having someone else "take your name away" is just as demeaning as the article says. And yeah, I think actresses' names are shortened a lot more often than male actors'.

I was referenced in 4 different ways by 15 different people in a meeting today. My name is still intact and I am whole.

I think we should be careful with our words; there are people that have had their names (and more) literally taken from them. Using such an evocative phrase in this manner is irresponsible.

Relevant patio11: http://www.kalzumeus.com/2010/06/17/falsehoods-programmers-b...

I'd love to seem some kind of standardization around this. Perhaps the "persons" table doesn't have the name but rather the name is stored on a "names" table with an EAV model allowing for all kinds of conventions.

I'd love to see some of the supporting arguments for some of those not because I doubt them, but because I'm curious.

Know Thy Edge Cases, and all.

In parts of India it's common not to assign a child's first name when they're born. My birth certificate says "baby Beri". "Satvik" didn't come about until I was ~6 months old, and I have relatives who had no official first name until they were 12-14 years old!
I have two friends who didn't have last names until they moved to the US and were forced to make some up.
When the solution to your problem is EAV, you now have two problems. Possibly three, if performance matters.
Stop reposting that link. If someone tells people that they are doing things incorrectly, and refuses to explain how to do things correctly, then they are unhelpful and useless.
"Correctly" will mean different things for different problems. This list gives you things to consider so you can make the right choice for your application.
> People’s names are all mapped in Unicode code points. > People have names.

These are apparently not true, so I guess that "a Unicode field in a database" is not the correct answer for my application. So what is? As far as I can tell, patio11's position is that people should simply not gather names, which is an unreasonable position.

You don't have to fix every problem for every application. If you don't need someone's name, don't require it (maybe an email address will do). Maybe you only care enough to implement Unicode code points. The problems you actually need to worry about depend on what you need to do with the data in your application.
But not everybody has an email address! Oh noes!

No, seriously, this is a bad link, it's got no advice, and it's not helpful.

Here's some serious advice: Put a field in your database, make it Unicode, bound it according to your DBA's advice on how much space you have to spare. A couple thousand code points should be plenty. Then give your users a single field called "Name" and have it accept up to a couple thousand Unicode points. Done.

I really appreciate you doing this. The lovely gentleman at Rackspace just broke the crap out of my site when he UNPLUGGED the server my VM was living on. I'm doing a site restore right now.
I tried rackspace years ago and had this happen. There was no apology, compensation, or admittance of guilt. It totally irked me and I stayed away from rackspace since then. I'm actually glad to hear they still do this today... my "unjust" fears are justified :)
You make quite a point out of this being a problem for women. But presumably your husband (whose last name I assume is Van Vlack?) has the exact same problem?
Sidenote: afaik, "Van Vlack" is not a "Dutch" name.

Inappropriately adding the "Van" (which in Dutch is written with a lowercase v) is typically something Americans of Dutch origin did to make their name sound more interesting to Americans.

But for those looking to process Dutch names (or other cultures with similar construct), those names are sorted by the part behind the "van", i.e., "Jan van den Brink" (yes, it gets more complicated) will expect to find his name under "B".

What you are saying is correct, but mostly in a pedantic sense. In the US context, "Dutch" name would mean "of Dutch origin", and not necessarily "as used by a Dutch person." (Many people consider themselves "Irish", despite being 3 or more generations removed from the Emerald Isle.)

The New York City neighborhood of "Harlem," for example, is a Dutch name even though in Dutch it's spelled Haarlem, and the original name for the place was Nieuw Haarlem. It's more precise to say that it's the English spelling of a Dutch name, but most people find that level of precision needlessly detailed.

I have no problems asserting that "Van Vlack" is an American spelling of a Dutch name.

As someone with a Dutch "Van *" last name, I run into this issue all the time as well. Unlike the author, it doesn't upset me, I don't really care.

Sure, I was a little worried when the guy at the DMV warned me that the California system would always register my name wrong -- adding 'Van' as part of my last name along with my middle name. He told me to just mention it and everything would be fine.

Sure, it was pretty annoying the next time I went into the DMV and the guy blew me off, saying the system was fine. Sure enough, a few weeks later, my license arrived in the mail, incorrect. Unfortunately, they won't change it unless I bring them a passport or a birth certificate and pay to get it fixed, but it's not the end of the world. That change has persisted, and now my Washington State license still has my wrong name. Oh well.

Because my last name is much longer then the author's - 27 characters including spaces - it's been truncated since Kindergarden, and my University ID is still misprinted. Oh well.

I guess my point is that it's not the end of the world, there are bigger fish to fry.

I also have a Dutch "Van" in my last name and have given up trying to use the " " (space) in my last name. It just isn't worth the hassle of trying to use it. But I totally agree with you in saying "It's not the end of the world".
I recently changed my last name, now it has a space (Casseres Palmer). I just say something along the lines of, "My last name has a space, not a dash." I haven't really found it difficult to use. Out of all my licenses and IDs, only one of them has a dash in it. I don't know if it's because of the database limitation, or the person who entered it in assumed it has or needed a dash. My university, work, and other companies that I deal with have no problem accepting a last name with a dash.
Stating you bought your twitter handle is a quick way to get your account deleted.
Came here to say the same thing, I had to re-read that like 5 times before I realized "Yes, Yes, she did just admit to breaking Twitters TOS...."
Fortunately for her, there doesn't seem to be any way to report that.
Google cache: http://webcache.googleusercontent.com/search?q=cache%3Ahttp%...

Sorry if my URL has extra stupid bits, I don't do this often

Sorry about the site being down; give me a minute to bring it back up.
Not to pile on, but there is a certain irony in the error message being returned:

Error establishing a database connection

"If there had been even one single man handling the database, the thought would have been raised that perchance, just possibly, a caching layer should have been used."

That statement sounds just as wrong as stating that if only a woman had been on the tech team or handling the database, that the Comicon registration system would have accepted all last names. Women are capable of deploying caching strategies just as men are capable of recognizing nonsensical name validation.

This is what I get for hosting at Rackspace.
You should use some sort of caching. If you have a wordpress blog, there are several caching plugins that generate files for your Articles. Serving files instead of generating the stuff via php is way faster.
That wouldn't have helped her:

"The lovely gentleman at Rackspace just broke the crap out of my site when he UNPLUGGED the server my VM was living on."

I also wish we had a way to include "special"[1] characters in names. My name would have a "ć", so I could never spell it correctly and had to anglicize it. I guess including spaces is a good start, but it would be nice to have the ability to add other characters too. Or, allow some kind of alternative spelling where every character is allowed so that people could actually still type my name using an American keyboard or a Czech one or whatever.

[1] As a developer, I got into the habit of calling non-English letters as "special characters" until someone pointed out that these characters are only "special" to people who don't use them.

There's a good case to be made that in many cases you must be willing to adapt your name to local circumstances. In many cases, the reason for having your name written down is for someone else to be able to read and understand your name.
This is a good article about this problem: http://www.w3.org/International/questions/qa-personal-names
I have a rather long name, and always get irritated about tiny signature boxes.
How about when you end up with a truncated last name? At this point I have to maintain a list with comments on what my last name actually ended up being in the system for each website. Especially when I have to enter my name in for password retrieval.
I at one point had a name that was extremely long. Because it was in two pieces rather than four, it was usually misspelled rather than truncated.
I don't have a terribly long name, but I still end up signing some doodle that is made up of initials.
This is a very tangible problem, and a very solvable one when the right considerations are applied. Good on you for bringing it up. Personal expression, especially at a level as simple as a name, shouldn't be limited by bad software design. Sadly, many designers (possibly including myself!) have native-English bias, and don't cater wholeheartedly to names and characters which are unusual in the US and UK.

Unusually, I do feel the need to disagree with the inference that this is evidence of a gender bias in the tech industry. While our industry clearly has a massive gender bias (towards men, obv) and I feel strongly that it's something that needs to be highlighted frequently, I don't think that false positives are beneficial. I think this is a gender-neutral problem, and I think the gender talk is confusing and distracting to the very real problem of Western-centric design and development.

I think we can all agree that not allowing spaces or dashes in a name field is poor, poor programming.
Ironically, "Error establishing a database connection"
I've never heard of someone taking both their given last name and their married last name together as their new last name but without a hyphen. This is a new one for me. Hyphenating is very common. But so is replacing your given middle name with your given last name and taking on your married last name. If I saw "Tarah Wheeler Van Vlack" written somewhere I would have just figured you did that. So technically you full name is "Tarah Marie Wheeler Van Vlack". Interesting.

Edit: I also have a female friend who I'd always known as Maggie Smith-Brown[1] and I always just assumed that she started as Maggie Smith and married Mr. Brown. Until I met her husband... Mr. Smith-Brown.

[1]not real name

> I've never heard of someone taking both their given last name and their married last name together as their new last name but without a hyphen.

That's actually incredibly common in Spanish-speaking parts of the world.

It used to be that women would add "de Foo", where Foo is the last name of their husband, but nowadays it's fashionable to drop the "de", because that implies ownership ("de" is the Spanish equivalent of "'s")

It actually gets way, way more complicated, but that's a tl;dr: http://en.wikipedia.org/wiki/Spanish_naming_customs

From what I understand, the hyphen was introduced to last name of Spanish origin because spaces were not allowed in databases.
It's also possible that she started as Maggie Smith, married Mr. Brown, and then they both changed their last name to Smith-Brown.
True, it was possible. But that seems even more rare. And in this case, not true. I didn't dig deeper but it seems he ended up with a hyphenated last name at some point in life... possibly at birth. That also seems rare since even when a woman hyphenates her last name with her husband's, the children usually get the father's last name.
Physicist Gerard 't Hooft has a whole page about the apostrophe-t in his name

http://www.staff.science.uu.nl/~hooft101/ap.html

and provides a lengthy list of manglings and mishandlings.

My last name is correct and your DB is down
What is the solution to this? Names don't always follow first middle last. What about people who have 7 names? What about people who only have 1? Data needs some kind of structure to be useful.

I'm about to start a new project, I'm thinking of two fields "Legal Name" and "What should we call you?", both with special characters allowed.

But then you can't search by last name, and I think a lot of our users would be confused if names were in order lexicographically by first name.

There are a lot of properties of names that go against the basic "John Smith" format. How many of those properties you want to support probably depends on how much of the population you need to service.

For a bootstrap proof-of-concept project, I might expect names to be a pair of strings with no spaces in them. This'd cover (at a guess), 95-98% of US users.

For a startup, I might expect two strings, one of which can be blank, each of which contains 0-50 unicode characters. This at least adequately support (at a guess) 99-99.99%

For a government organization, maybe a single string, 1k unicode characters, and a way to snail-mail in a different name if yours doesn't fit that definition? That might be a bit extreme for a local government, but something like the IRS, where you have no choice but to use their service, has to push the limits of permissiveness.

Given how infinitely variable names are, I'm not surprised that programmers have trouble getting them right. But I've also seen problems with validating something as simple as an e-mail address. For example, I wanted to get e-mail updates for a shipment on Fedex.com and discovered that I couldn't enter an address that contained more than one dot after the "@": name@example.com was OK, but name@subdomain.example.com wasn't accepted.
> Administrative Contact: Wheeler Van Vlack, Tarah

I think I know what you mean even with the site being down.

http://ow.ly/i/27W6g <--- THIS is my issue. I can't even order a replacement debit card online. I have to go into a bank because Bank Of America can't handle my name. This happened two minutes ago.
The persons name is: Tarah Wheeler Van Vlack

Shouldn't the name be: Tarah Wheeler van Vlack ?

Depends. Prefixes of Dutch names are lower case if preceded by another name, and upper case if on their own ("Van Vlack" versus "Wheeler van Vlack"). Prefixes of Flemish (Belgian) names never change case, so the name will either be always spelt as "Van Vlack" or "van Vlack", regardless of context.

I guess that in the US the Dutch/Flemish conventions do not apply, and the spelling choices will depend on the person/family.

I've seen it both ways. There's also the possibility of the lowercase form changing to uppercase with even more programmer assumptions about surnames always starting with a capital.
I'll bloody well decide whether I have capital letters in my name or not. That's sort of the point, here ;-)
Related: An Aussie journo who goes by one name, and the problems he has with that.

http://stilgherrian.com/category/only-one-name/

Is there any need to ask for First or Last Name? Why aren't we just asking for Full Name? Why complicate things?
If you ever want to be able to alphabetize by last name, having them captured distinctly is necessary. Otherwise, it's impossible to know where one part of the name ends and another begins.
FINALLY. Got site back up. It's anyone's guess how long it stays there, though.