NEW YORK — It can stop you from voting, destroy your dental appointments, make it difficult to rent a car or book a flight, even interfere with your college exams. More than 50 years into the Information Age, computers are still getting confused by the apostrophe. It's a problem familiar to O'Connors, D'Angelos, N'Dours and D'Artagnans across America.
When Niall O'Dowd tried to book a flight to Atlanta earlier this year, the computer system refused to recognize his name. The editor of the Irish Voice newspaper could book the flight only by giving up his national identity.
"I dropped the apostrophe and ran my name as `ODowd,'" he said.
It's not just the bad luck o' the Irish. French, Italian and African names with apostrophes can befuddle computer systems, too. So can Arab names with hyphens, and Dutch surnames with "van" and a space in them.
Michael Rais, director of software development at Permission Data, an online marketing company in New York, said the problem is sloppy programming.
"It's standard shortsightedness," he said. "Most programs set a rule for first name and last name. They don't think of foreign-sounding names."
The trouble can happen in two ways, according to Rais.
One: Online forms typically have a filter that looks for unfamiliar terms that might be put in by mistake or as a joke. A bad computer system will not be able to handle an apostrophe, a hyphen or a gap in a last name and will block it immediately.
Two: Even if the computer system is sophisticated enough to welcome an O'Brien or Al-Kurd, the name must be stored in the database, where a hyphen or apostrophe is often mistaken for a piece of computer code, corrupting the system.
That's what happened during the Michigan caucus in 2004, when thousands of O'Connors, Al-Husseins, Van Kemps and others who went to the polls didn't have their votes counted.
"It was a real slapped-together computer system the party put together and a lot of people were left out who were registered to vote, it was a real pity," said Michigan political consultant Mark Grebner.
In this year's primaries, the system worked much better, according to the Michigan Democratic Party. There have been isolated reports of problems elsewhere, but nothing on the scale of Michigan.
Still, an apostrophe, hyphen or space can interfere with medical and dental records, gym memberships, online searches or school registration.
Dutch-American proofreader Jessica van Campen has seen her name listed as Jessica Vancampen, Jessica Van, Jessicavan Campen, Jessica Campen and Jessican Kampen by uncertain computer systems. When she went to her finals in college, she was listed under Campen and was told Jessica Van Campen had dropped out of the course.
"It was another moment of panic," she said.
All of this confusion has prompted some people to surrender to technology. Iraqi immigrant Lina Alathari was once known as Lina Al-Athari, but dropped the hyphen in America. "There is no pronunciation difference, so I'm fine with it," she said.
Erin Carney D'Angelo, a lawyer in New York, was born apostrophe-free, but took one on when she married her Italian-American husband. But "he told me to drop the apostrophe when filling out forms so to computers I'm just a `Dangelo,'" she said.
The problem is difficult to correct because computer systems have many different ways of recognizing names, Rais said.
"It depends on the form filters and it depends on the database program," he said. "Basically, there are a lot of programmers out there who forget that a growing portion of the American public are not called John Smith or Mary White."
The Irish apostrophe began with the British, who put it there because they believed the O looked odd without a link to the rest of the name. Many Gaelic speakers in Ireland refuse to carry an apostrophe, considering it a vestige of colonial days.
"Maybe that's the solution," said O'Dowd, who just last week was rejected by an online alarm clock service. "Maybe we should just drop the apostrophe altogether, not just as a nationalist statement but because I'd like my alarm call to work in the morning."
For my part, I've already thrown off my apostrophe. From now on I am Sean ODriscoll.
I'd never really thought about it, but I'm not surprised...programming for computer or web can be very difficult when those kinds of characters jump in.
Of course, escape characters don't always work either. A fast food restaurant chain around here still labels their receipts as "Hardee& apos;s"
...gah, even Newsvine won't let me put the code without the space.
One: Online forms typically have a filter that looks for unfamiliar terms that might be put in by mistake or as a joke. A bad computer system will not be able to handle an apostrophe, a hyphen or a gap in a last name and will block it immediately.
Two: Even if the computer system is sophisticated enough to welcome an O'Brien or Al-Kurd, the name must be stored in the database, where a hyphen or apostrophe is often mistaken for a piece of computer code, corrupting the system.
In my experience, it's pretty much always number two that is the issue, specifically the fact that SQL allows apostrophes to be used to quote strings, so you get a statement like: INSERT customer SET name='O'Dowd', which of course breaks because the parser thinks the name is 'O', followed by invalid garbage.
This is why I always test text input fields with a phrase like: Bob's "Test" String. Catch those quoting problems right off the bat.
use named parameters when writing your SQL (regardless of the DBS) and you should be good to go. Of course, if you don't have control of the SQL scripts (and someone else is writing it) then I guess your stuck.
Though, you can always create unit tests to exercise all of the data access layer stuff to make sure no odd characters cause problems.
This isn't really directed at you specifically Morwynd : more as just a general observation. There really is no excuse for systems to have these kind of problems.
Absolutely... pass your data to something that will automatically escape special characters and build the query for you.
But as you say, you're not always the one writing that part, and there's a lot of handwritten SQL out there.
This is why stupid kludges like PHP's magic_quotes_gpc exist. :P
It's not really all that difficult to program in, you just have to have actually *thought* of the problem when you write the system.
Any programmer worth their salt should be able to handle it with regular expressions, provided they recognize the fact that there *is* that issue there.
Don't forget about the advent of unicode characters as well. An apostrophe (U+0027) is a different character than a single quote (U+2019 or U+2018). I've seen them used inconsistently within the same data source/client list at times. It's not always the programmer - it can be the encoding! (and a programmer who hasn't taken that into consideration)
Apostrophes, spaces and hyphens are not the only things that cause problems in names. My own name, DuBois, often gets spelled as Dubois or even sometimes as Du Bois. I often need to correct these spellings.
Yes, and I often have problems at rental car kiosks for other reasons - my last name (Colton) and my suffix (Jr.). Some systems I've seen eliminate the space in my reservation and simply have COLTONJR, and then that fails when it attempts to match a datasource like my credit card that has COLTON as my last name and a separate field for the JR.
You're in Easy Mode. If you prefer, you can use XHTML Mode instead. |