There should only be one input field that asks for a name. Even systems that require a legal name should be like that as there are people whose legal name cannot be written in two forms.
Another one is where they have a limit on how short a name can be. I even remember a discussion on the Linux kernel mailing list about that. Linus himself wouldn't accept names shorter than (IIRC) three letters.
But I was in high school with a guy from another country, his name consisted of a single letter. He didn't even have a first or last name, only that letter. And it was official - when the loans and stipends arrived it was all printed on the common wall on 132-char folding paper, from the governmental student loan bank. His name (one letter) was there.
(p.s. I did present what I wrote above on said mailing list back then, but as far as I remember people simply decided to ignore it as too rare to care about, in addition to those who for some reason taught I just made it up (why should I?))
Even your name can be written into two fields. Assume order of first name and last name is also problematic. There are languages that put the Last name on the front. It looks kinda annoying (or even solecism in some condition) when someone speaks your name in reverse.
I once had a distant co-worker whose entire legal name was "Steel". It was a government job, so I can only imagine what sort of nightmares he went through for payroll.
Hacker News user patio11's list of falsehoods programmers believe about names[1] is always fun to be thrown into these discussions. Follow-up from this John Graham-Cumming article around the same time.
Famous examples but for stage names are Madonna or Cher.
I knew someone who had one that has a mononym and would regularly run into issues.
I believe they did get their passport issued with their mononym, but it caused all sorts of problems with international travel. Some airlines would require duplicating their name for first and last, then cause issues during check in, security or immigration, because of the mismatch between passport and ticket/visa/etc.
Why "the"? What is so special about this herbal beverage in French, or the adjective meaning hot in Irish?
I suspect you are applying just a variation of the same every-name-must-follow-my-arbitrary-rules game. You're trying to correct the assumption that everybody has of a first name and a surname with the equally wrong assumption that everybody understands an English word.
In the 1980s I worked as a programmer at a large institution which shall remain nameless that had a database of people who had applied for one of said institution's services. One entry in the database stood out because it had a first name but no last name, and it was very clear by the first name which celebrity that was.
One counter-example for "People have, at this point in time, one full name which they go by." I learned from the 2020 election concerned the Georgia voter fraud claim that someone used the name "James Blalock" to vote, years after he died in January 2006.
Thing is, it was his 96-year-old widow, "Mrs. James Blalock Jr.", who voted. That was the name she registered as, back when using "Mrs. <Husband>" was a common custom.
My last name contains the character ß. This silently fails often, that's why I put in ss almost everywhere, because a lot of important mail had then encoding errors. Also difficult is the transition between different countries, that don't have this letter. In Germany for official communication it has to be ß, but in the other country it has to be ss. That's why we need proper unicode support everywhere.
This is I think a much bigger issue, and pretty much impossible to understand for most users: the fact that the frontend happily accepted your name/e-mail/whatever is _not_ an proof that it can handle it. I tried to use gmail's feature that you own all addresses of the form my.name+whatever@gmail.com when registering to services, but it silently failed so often that I do not even bother trying anymore.
A mere email... I had a situation with a bank when their website accepted new password but the backend implicitly and without feedback trimmed the new password to 10 characters.
I had this problem with Transunion (a credit reporting agency in the US). They shortened my password to 15 characters, didn't tell me or anything, I had to figure it out myself when trying to login.
Paypal did this with 20 characters. I can't even remember how I figured it out so I could login.
I don't know if it truncated it automatically or it just stopped accepting input after 20 characters and I of course did not notice since the password entry fields were masked.
At least ss is an acceptable and widley understood replacement for ß.
My last name end on "ić" so every time, even on many EU shops and websites, I get to choose if I want to write my name wrong with "ic" and definitley get the package(cause the post understands) or write my name properly and get my package in 90% of cases.
Its just plain weird that a Spanish/French/UK online shop will support their weird characters but not full Unicode.
> I get to choose if I want to write my name wrong ... and definitley get the package ... or write my name properly and get my package in 90% of cases.
every time i walk into a coffee shop i have to judge how much trouble spelling my name 'correctly' will be and will switch to "Y" in those cases
like, I thought Joachim was supposed to blaze the trail for the rest of us soft J's :(
> That's why we need proper unicode support everywhere.
A couple of years ago when I wrote a little webapp to do some scheduling stuff for our community's yearly conference, I just used plain unicode strings for usernames, including spaces. I didn't really see why not: The database (SQLite) handles unicode, the backend (golang) handles unicode, the frontend handles unicode, nothing ever gets passed into a shell program or put into CSV or anything, all queries are parameterized; why bother making pointless restrictions?
This still happens regularly in Japan (and elsewhere I'm sure).
"Enter your name"
-Okay here's my name
"No, you need to enter your name in kanji. Of course, everyone has a kanji name, right?"
That, along with refusing half-width roman characters, requiring them to be full-width and all that kinda shit. Basically stating up front on their own website that they suck at programming.
Wife (Japanese) couldn't enter her name into a web form for a Japanese hotel (had to go directly to the hotel because of some booking.com problems at the time). It had to do with half-width vs full-width, but we couldn't figure it out even though she's Japanese and her PC is Japanese. In the end we had to do a long-distance phone call.
But Japanese banks at least has a system which mostly solves at least those problems - everyone's name is written in Katakana.
Japanese hotel websites are probably the worst offenders. I refuse to use them anymore and only book through hotel aggregators. They are straight up horrible.
> But Japanese banks at least has a system which mostly solves at least those problems - everyone's name is written in Katakana.
That's workable, though I still remember seeing banks with comically short character limits for names.
Which probably means they are storing your password rather than a hash of the password.
I complained about this to my bank when I found out they stored passwords and their response was "don't worry about it - you aren't responsible for fraud".
> I complained about this to my bank when I found out they stored passwords and their response was "don't worry about it - you aren't responsible for fraud".
I'd much rather live in a world where banks are idiots with passwords and I'm not responsible for fraud, than a world where I'm expected to be not an idiot with my passwords, and I were responsible for fraud.
Reminds me of when one of my subordinates applied for an apartment and as part of the process the property management people reached out to me to verify his employment.
How? By forwarding me his unredacted application chock full of PII. When I pointed out that most people probably wouldn't appreciate their SSN and more being shot around in emails by the management company, I was simply told it was "standard practice" for them. Following insinuations that their "standard practices" might just be "fucked" were summarily ignored.
SMBC prestia requires your password to not contains more than two alphabet characters consecutively nor two numbers consecutively.
Invalid: abc123
Valid: ab12cd34a4f9
Obviously, no uppercase or ANY special characters like “.” Allowed…
Everything is bloated with security theater, where the most critical things are vulnerable. For example, I saw a form for 2-Chōme requiring a phone number with three input slots. Entered my phone, it’s already been used. That’s fine, I just shifted one number from one slot to the other.
80-1234-5678 (already registered)
80-123-45678 (workaround to use the same phone number on a different account).
For over 10 years now, my online banking password has been my ATM PIN, which is only 4 numbers. I believe MUFJ and SMBC have similar systems. I was actually impressed by JPPost's system, which required a 6 digit PIN.
>"No, you need to enter your name in kanji. Of course, everyone has a kanji name, right?"
Do they actually block hiragana and katakana? If they do that's probably grounds to sue.
>refusing half-width roman characters
With maybe the exception of arabic numerals, Japanese is nearly always written in full/monospace width. This is not unlike how English is nearly always written in half/proportional width.
> Do they actually block hiragana and katakana? If they do that's probably grounds to sue.
I don't have evidence at the ready, but I remember interacting with websites which complained about receiving katakana for both the name and カナ field for your name.
> With maybe the exception of arabic numerals, Japanese is nearly always written in full/monospace width. This is not unlike how English is nearly always written in half/proportional width
Yes, I'm fine with them using it. But they could put in a _little_ bit of work for me and convert my half-width characters to full-width, as the good websites here do.
The kana field is for indicating how the name is read (remember, kanji can be read in many ways), and consequently how the name should be indexed and sorted inside databases and other data stores.
If the field wanted only either hiragana or katakana (remember, it wants a simple reading guide) and complained, I'm not necessarily surprised.
I'm specifically talking about the kanji field, not the kana field. If your name doesn't have kanji (which mine doesn't), you can really only enter katakana. And I've encountered forms which refuse katakana for that field, and which also refuses half-width or full-width roman characters.
I would just enter hiragana and move on with my day, and if that doesn't work I would just pick arbitrary kanji using standard readings to roughly spell out my name (this practice is known as 当て字, ateji).
It's not my problem they have to deal with malformed data if that's all they will accept.
The お名前 (onamae) field is for your name as written in Japanese normally, and it should take any of kanji, hiragana, or katakana as appropriate so long as it is 全角 (full width) and the programmer didn't screw up.
The フリガナ (furigana) field is to indicate how the name given above is read, because kanji can have many readings including completely arbitrary ones. This also serves to indicate how computers should index and sort the names when storing and processing them, so it's still applicable even if the name is all hiragana or katakana and immediately obvious.
Furigana is also used to indicate how to read kanji in ordinary text, oftentimes when dealing with rare kanji or special readings, when the text must be comprehensible by everyone (eg: emergency bulletins), or when the text is written for people learning Japanese (eg: school textbooks).
Furigana is usually written using hiragana, so the reason 全角カタカナ (full width katakana) is specified instead of just full width is to inform the form's filer that he shouldn't write hiragana like he otherwise probably would.
That's one part but another is names that use kyuujitai (pre-simplified kanji forms) or names that use unusual readings because if you're named after your father's (father's father's....) name then the pronunciation of your name might not have evolved the same way the reading of the kanji has in actual words. Also regional uses that get replaced by standardised uses in words but not names. Or someone just made it up generations ago and it caught on. Or your ancestor didn't know how to write and just picked a kanji they thought was right.
Even in English this happens, look at all the variations of Robert (Rob, Bob, Robb, Robbie, Bobbie, ...) or similar names.
How do everyday Japanese deal with the problem? Do they have the furigana on their business cards? (or the katakana reading)
I'm thinking.. I've only ever seen someone's name, will I make serious faux pas if I mispronounce it with the regular reading when I meet them?
(this is less pronounced in English because most of the time you can tell how to pronounce it by reading it. My last name suffers from the fact there is multiple possible pronunciations, so whenever I meet someone who has never heard my name they always stumble and look at me for help)
In person, if they think you'll have to write their name: "My name is XYZ, that uses the kanji for A and B"
As for business cards, yes, if they have some non-obvious reading they will have kana or romaji there somewhere. (Usage of romaji on business cards is wider than you might expect, since it's seen as kind of the equivalent of a modern sans-serif logo for a business in some circles)
On the first example -- what is the significance of the character which is a circle within a circle? I'm assuming it's some sort of graphic or punctuation, rather than a kanji...?
It's just a graphical divider/bullet that the designer of this specific business card chose to use.
The heading of that corner is just the pronounication of "m-take design" written out in katakana. The first line under the heading talks about the type of products the person works on (direct mail, leaflets, pamphlets). The second line talks about their specialities, as in the industries they focus on (cosmetics, health food), and then the last mentions they'll also do logo design, homepage design etc. I guess they wanted to emphasize the second line.
You'll sometimes see kanji-sized single circles used in Japan to indicate omitted characters (and you might see them on business card _templates_ as a sort of lorem ipsum, but unlikely on actual business cards), but this double circle doesn't have any specific meaning as far as I know.
> With maybe the exception of arabic numerals, Japanese is nearly always written in full/monospace width. This is not unlike how English is nearly always written in half/proportional width.
The half-width/full-width distinction is a hold-over from the DOS era when all fonts where monospaced. It doesn't have a place nowadays and should have never be included in Unicode, just change the font or use a better text rendering algorithm.
I live in Japan and this happens to me all the time. My name is too long to fit in most forms so I have to drop the middle name (which isn’t really a thing here, they consider it as part of my first name), and then they get mad at me because it doesn’t match my ID exactly. I’ve had to redo forms because I didn’t write my name in all caps like the resident card. I’ve had medical ID cards from hospitals that chop my name halfway off and the staff wrote the rest with a marker. It’s a mess.
You might be surprised. I spent a long time carefully and politely explaining to an immigration case officer that "Firstname NMN Lastname" meant, in fact, that there was No Middle Name and not that there was a middle name cryptically encoded as NMN.
A human can do many things, but never underestimate the power of the system (Hello Moloch) to remove said creative abilities from humans. Also never underestimate how creatively stupid humans can be.
There's one thing I at least haven't had any problems with. I have a middle name. I never use it. I always order my flight tickets without the middle name. However, my passport includes the middle name. I've never had a problem with that, in Japanese airports (or elsewhere, for that matter).
Same here, my passport includes my middle name but I always book my air tickets without my middle name. Have had no issues in about 15+ countries with this approach.
I've had complaints but no issues so far when not using my middle name whilst flying.
Middle names are less common where I live. The locals tend to add my middle name to my fist name and then complain that it's long and doesn't match their database at first glance.
I wonder if a kanji name is a legally recognized name. Like, I don't know kanji, could I just pick random characters that end up being nonsense? or will I get in trouble
you can't really have a 'nonsense' name - there's a list of around 3000 characters you're allowed to use in names, but in theory, you can put together whatever you want. you'll just get side-eyed for having a weird name, that's all.
that being said, i think most of these websites that ask for a kanji name will require you to show ID with that name when you show up in person, so you might run into trouble if you just pick random characters.
You can register a legal alias (通称名) that you can use on forms. I know people who have done this with just single a single kanji to avoid a lot of the headache associated with having a foreign name or (god forbid) a middle name. I've considered a few times registering my legal alias as 一一 to have a two stroke full name.
It would be rather silly to assume all bears have the same last name "bear"! It's not as if people all walk around saying "Oh hi I'm Timothy Human" "Nice to meet you, I'm Rachel Human, are we related?"
Which, come to think of it, is kind of a funny notion, and a nice reminder that despite our differences we really are all related!
I ran into it about a year ago with Verizon. No Dickinsons allowed! Sadly the only FTTH around, so I had to have support give me permission to have my name.
I can vaguely imagine how someone would _think_ its a good idea (it's not, to be clear) on a website where users might see other users' names, something like CRM SaaS. I can't understand how anyone would think that validating users' real names on a purely customer-facing website is a good idea. Maybe frustrated customers (can't imagine why) have names like FuckVerizon on their account?
That annoys me on lots of US-based websites. ä, ö, ü etc. seem to be well supported, but my name contains a rarer character/accent combination(still not that rare and very common in lots of places) and I frequently have the issue that american websites tell me that my name is invalid.
European websites never bother me about it, of course :)
Doesn't bother me that much but I've had moments where a service told me that "Your name MUST match the name on your ID", only to then complain that I can't use a certain character. Which is present on my ID. Well.
> I've had moments where a service told me that "Your name MUST match the name on your ID", only to then complain that I can't use a certain character. Which is present on my ID. Well.
In a just world, the website would be taken offline at once, and kept off until fixed.
Even for an European in another European country one has to have prepared ASCII-alised name(s), surname, and address in home country. ASCII characters and digits only. The variety of systems, encodings, and input methods is legendary, complaining is pointless. BTW JGC says his surname contains a hyphen but technically he is using the minus character.
I don't know if complaining is pointless in your situation.
Some Belgian citizen did, and they got a ruling that the bank needs to upgrade their EBCDIC system to support diacritics to spell their last name correctly.
https://shkspr.mobi/blog/2021/10/ebcdic-is-incompatible-with...
I don't know if the bank ended up fixing it, though.
I'd like to think that we've made progress in web development in the last 14 years. I wonder if people like JGC still experiences this kind of issue on certain websites?
An employee of a major US airline had the audacity to declare my last name invalid, and literally made me pick a different name that "the system" would accept. My last name literally only uses ASCII characters, not even dashes or accents.
I did pick another name at that time because I had been waiting for an hour, so practical concerns trumped principles, but it's ten years later and I still feel offended when I think about this.
Lucky. The one time I flew when my ID didn't match my ticket (using an airline account that I forgot to update with my married name first) and it was a pretty big headache. I had to stand in the security line for about 15 extra minutes for them to verify that yes First Maidenlast was the same person as First Marriedlast. I made sure to get the situation fixed before my return flight.
I was likely some COBOL system with UI displayed by some miracle on a modern PC with windows. The employee probably didn't even know what encoding is, they didn't intent to question your identity.
It's not rude of the developer, it's rude of the message in that context. I.e. it's rude of the computer, due to a non-rude oversight of the developer. But guess who doesn't know any different? Most people. Regardless, it's not bitching to describe that reality, and the problem is interesting.
In fact, nowadays, the tendency to overreact to overreactions is just as big a source of uncalled-for negativity as the ostensible first-hand complaining. I don't perceive any actual offense in the blog post, the way you're using the word, but I do perceive it in your post. I could be wrong on both counts, but that's my perception on reading.
If your stack supports Unicode (where utf8mb3 doesn't count), is there any practical reason to even validate name fields beyond silently removing anything in categories Zl, Zp, and C?
The possible need to integrate with other systems that don't. If you tell me your name is (real Unicode Chinese here) but I have to integrate that with a system that requires English letters only, I may be stuck.
There are cases where that happens for real and not just due to other computers not supporting Unicode properly; for example it is completely unreasonable for every postal system in the world to have to support every language in the world for addresses.
The only real way to handle it, even though it's not a fully general solution, is to ask the user if it needs to be different than what you've said is their canonical name. For example, just ask "How should your name appear in a address?" (only if different from your name) or "How may your name appear in government records?" (for when you need to look these up, like for known traveler info). That's not fully general but it at least accommodates many of these use cases and doesn't run afoul of the "automated rudeness" problem the blogger is talking about.
The scale of "all the postal mail in the world" is about as large as it comes, so to a first approximation, every little potential issue you can imagine, as well as every one you can't, will actually happen. Is that "fragile" in Russian or "urgent" in Mongolian? Is that bit of text the oblast or the road?
But even beyond that, even expecting every postal system in the world to have to understand every script is itself not feasible. I don't mean this to offend, but Arabic is just a scribble to me. I know from reading articles about the difficulty of typography that Arabic letters are generally strongly affected by their preceding and/or following characters, but that only from HN, not from my normal day-to-day experience. I couldn't even parse it into letters correctly or safely. The ideographic languages have no spaces, so I can't break them into words safely. (After some non-trivial study of Japanese, I could mostly do it, but still only mostly.) It's not a reasonable expectation to put on every postal system in the world.
I agree that potential integration with non-Unicode systems is a real concern I hadn't thought of. However, your examples of complexity in the service of demonstrating why a system might not support Unicode don't seem to affect or be affected by the allowance of all printable Unicode characters in digital representations of proper nouns, unless I'm misunderstanding.
I.e. I don't understand why these problems mean that a postal system might elect to not support all scripts in storage (I get why it means the OCR software for a postal office might not support scripts outside their own country's scripts).
Because having the script in storage is not enough to derive the other possible representations that may be needed. partdavid's answer is correct, you may have to ask for other representations to be provided to you.
This is much like the naming scenario, where I may need both your legal name for legal reasons, which may have local restrictions on it, and I may also have a field that is basically "What do you want me to call you?" which may have arbitrary unbounded Unicode for all I care, I don't care if my system calls you the Lord and Master of Zalgo Text. But there's no programmatic way to get from the latter to the former, or indeed, even a human way.
> PS Would accepting the hyphen actually destroy your database?
IDK but every time I programmatically create an AWS resource, I have to go crawling through masses of disorganized documentation to see what character substitutions to make.
RDS databases only allow alphanumic names -- no hyphens, underscores, spaces, etc. Even though it's a small thing, it's an absurdly bad user experience to have to enter the exact same name two or three times spelled differently just to set up some basic AWS infra.
My first name (Sébastien) fits in latin1 (ISO-8859-1) and I still can't trust airlines websites to deal with it correctly, so I remove the (mandatory in French) diacritic. I don't know how people with names outside of that range navigate online. It's pretty appalling that we haven't fixed this yet.
My favourite is when they stress the importance of typing the name exactly as it appears on the passport or on a debit card, then doesn't accept my name.
This is why I don't use Namecheap anymore fwiw. They used to accept 'ø', they redesigned their interface, I had to add a new debit card to my account, their new system didn't accept 'ø' yet told me to write the name "exactly as it is on the card". Customer service just told me to write a name that's not mine in the billing info; I moved to a different registrar instead.
It's not quite the same, but every time I put my apartment number in the second address field (which is more or less exactly for apartment/duplex numbers etc), it thinks for a second and says "USPS has a suggested more accurate address" which simply appends it to the street address.
I've been called Â~™mile or similar a few too many times before discovering my name is actually spelled Emile on my birth certificate. I stopped even trying for Émile at that point.
Also, to the original article's point, it looks like these websites would exclude like half of Québec's population; dual last names are very common here (women keep their names after marriage, making the "mother's maiden name" security question pretty stupid).
> ... before discovering my name is actually spelled Emile on my birth certificate. I stopped even trying for Émile at that point.
Diactrics on uppercase letters weren't that common before: they were officially supposed to be there on uppercase characters but:
- old french typewriters didn't have them (they had the lowercase é, è, à etc. though)
- people using early computers had no idea how to encode them at all (but é, è, à etc. were on the keyboard) [1]
But "ATTENTION MARCHE" and "ATTENTION MARCHÉ" are two very different things. It's simply wrong to use the first one if you meant the second and vice versa.
Now I know a friend who lives in the US and who simply dropped the diacritic from its family name: so now he and his kids have a "different" family name than his family in Europe.
He found it easier that way.
[1] People using Word in the early nineties had to type 'é' and then select that character and go to a menu to transform it to uppercase, because "shift+é" would enter the digit '2'.
I’ve been dropping the apostrophe in my last name my entire life just to prevent from dealing with the headache it could potentially cause. Quite irritating, it feels as if my last name is being slowly changed by shoddy software
I'll add another airline story. SAS, the Scandinavian flag carrier - which you'd think would have Scandinavian characters down. I've had an account with them since, well, they got a web presence. My last name contains an ø - for which; technically at least Norway accepts both o and oe as valid transliterations.
Order a ticket online, they pick the transliteration for ø as o, passports transliterate ø to oe - the less ambiguous choice. This generally isn't a problem until you want to travel to one of the APIS countries - USA or UK, which won't let you check in if the name on your passport doesn't match the name on the ticket.
I have tormented many check-in counter staff with this, especially at regional airports that don't see a lot of international travel.
My mom's last name is Saint-Pierre, but it's actually written as St-Pierre on her passport. She almost couldn't get on the plane in Atlanta last year because of that. You'd think such a simple abbreviation would be accepted, but apparently not.
> won't let you check in if the name on your passport doesn't match the name on the ticket.
This is always a paranoid worry of mine. Even worse, some airlines tend to include the academic title in there too, meaning I've had tickets reading "MRDRWRONG, PROBABLY".
Not only does it not match my passport, but it also makes it look as if I'm a murderer.
Hi. I wrote part of this flow for SAS on the original mobile app years ago. I am so sorry.
We had to do it because the underlying backend is Spanish and the APIs are insane. Behind our JSON-wrapper is an adapter to translates it into teletype friendly format … spaces, new lines and tabs makes it look like a ticket you’d get from a travel agency in the 1970s.
This format is also the reason why your name is truncated on your ticket (or so I was told). IT in the airline industry is insane and many systems are many decades old at this point.
A bit surprised you have trouble with APIS though.
Since we're sharing war stories .. I have an O'Name. My employer game me an email address, first.o'name@corp. This, while being technically valid, broke many things as you can imagine. I asked repeatedly to have it changed, but to no avail. I got used to reciting my ID number on the phone because that@corp worked too.
One day, I got a call from IT, almost apologetically asking if they could change my email address because it was causing them issues. I pointed out I'd requested such approximately every 3 years since I started.
It turns out they'd never received those requests. I'll give you two guesses ..
A long time ago, I used “/” as a separator in email address localparts under my domain (as in “foo/bar@example.com”), because that’s a valid email address syntax and I filtered my email into corresponding folders. As it turned out, some MTAs mapped localparts to local file system paths, with my email addresses wreaking havoc…
Heh, back in IE3 or IE4 days the temporary internet files directory would commonly save files temp files with the domain they came from without an extension. So if you visited microsoft.com it could save some asset in temp internet files as 'microsoft.com', which a com file is a valid executable extension. Of course this would trigger many anti-virus programs to scan it and now freak out that random content is ending up in executables.
It took a bit of time between Microsoft making the temp internet a 'special directory' and AV working properly in the directory, and the browser not saving attacker controlled literals to the filesystem to get past these. Also fun in NTFS because it could cause bluescreens was the AUX, CON, PRNT filenames.
When I was quite young, I remember visiting a website on a public library machine (probably running Windows 98 at the time) which mistakenly downloaded a .com file instead of showing a page. I opened the .com (expecting it to be the file I wanted to read), and instead got a console window that showed some gibberish and then started up the printer.
Surprisingly, the random text in the program was interpreted as valid program code. I was too young to understand exactly what had happened at the time, but now I understand it's because one of the valid forms of .com programs is a headerless chunk of x86 code for DOS, and I guess that website's output just happened to (a) not immediately crash and (b) invoke the DOS service for printing.
Reminds me of a similar story from my childhood. I was also quite young at the time, accessing the public library OPAC from my home computer, and noticed the URL for the page ended in (I think) `.exe`. I know now that the OPAC was likely using CGI[0], but at the time I was curious, and somehow was able to download this `.exe`, Given it was a`.exe` and that it actually ran, I can't have just saved the webpage. I have a vague feeling I might have stripped the query parameters off the end of the URL, and that caused the web server to serve up the underlying `.exe` file. But whatever happened, when I ran the file, all it did was cause my printer (a parallel port one, not USB) to start printing blank pages.
Hafas (the system of record for train scheduling information for Deutsche Bahn and the national Polish railways) does the same thing. An example URL is[1].
Both have better consumer frontends now (although I remember Deutsche Bahn still recommending this system around 2019), but those systems ultimately get all their data from this one, as far as I'm aware.
Is there any format for a .com that isn't just a headerless chunk of x86 code??
(Which also means it's extremely difficult to determine if a .com file really is an executable--there's no signature. It either decodes or it doesn't--and most bytes decode correctly because you want to pack the commands in as densely as possible. Things which will not decode are packing inefficiencies.)
(And back from the Z80 days I remember very carefully crafting assembly code that could be embedded in a BASIC program without causing it to puke. Some commands were unavailable and some values were not permitted--amongst them, zero.)
If you rename a normal PE .exe to .com it will still run. We used to do this all the time in high school to bypass the IT department’s ban on .exe files in student home directories.
> It turns out they'd never received those requests. I'll give you two guesses ..
I thought me having a hyphen on my last name was bad. I'm glad no place I work at has tried to add them. This is a great ending to this story btw, and maybe a reason to try and contact them via phone if you never hear back at all.
"Using the alphanumeric keypad on your landline office phone, please type in your last name and first initial to route your call to the appropriate help desk."
My wife's last name is only 2 letters long. Some websites don't accept that as it's too short (take that, Xi Jinping!)
Conversely, I've had to fill forms in Korea that included space for only 4 letters, including both first and last name. Needless to say, my 3 first names plus last name didn't fit.
When my father was born, his parents gave him a normal given name, but endowed his middle initial as only a single letter. They said, when he grew up he could choose whatever name fit that initial.
The initial happened to match his father's given name, and when he was old enough, he reliably chose to take that name as his middle name. It is certainly an endearing story of filial devotion, and a distinct lack of finicky SQL databases or web input validation in the 1950s.
My first and middle names are both relatively long - this caused me issues when getting a US SSN. On a UK passport they are both in the “Given Names” field - and both ended up on my I-94. This was too long when the person at the social security office tried to enter my details. They had to send it by mail to be processed which took something like 6 weeks…
Same in Japan. My name is truncated on nearly every single form I receive from utilities companies. online forms will regularly limit your full name to 9 kana in total.
I have a legal name in Chinese. It is very weird to call people by full name so everyone picks their own English name. Nobody calls me anything other than the English name since I’m 10 year old or so except maybe from parents.
Moved to UK last year. Couldn’t put my English name in anywhere and had to use my full name. Feels super weird getting called so.
The good news is that for most of those Korean forms the limitation/validation is only on the frontend, so a quick "inspect element" and some HTML editing solves it.
211 comments
[ 2.6 ms ] story [ 236 ms ] threadThere should only be one input field that asks for a name. Even systems that require a legal name should be like that as there are people whose legal name cannot be written in two forms.
(p.s. I did present what I wrote above on said mailing list back then, but as far as I remember people simply decided to ignore it as too rare to care about, in addition to those who for some reason taught I just made it up (why should I?))
[1] https://www.kalzumeus.com/2010/06/17/falsehoods-programmers-...
My case was actually this.
I took a call from a person with a name that was one word. Not first name, not last name, just one word.
I never found them in the system as the name wasn’t in the database as far as I could tell. They were quite irritated.
People can have multiple full names.
Edit: Nope, rule 40.
Famous examples but for stage names are Madonna or Cher.
I knew someone who had one that has a mononym and would regularly run into issues.
I believe they did get their passport issued with their mononym, but it caused all sorts of problems with international travel. Some airlines would require duplicating their name for first and last, then cause issues during check in, security or immigration, because of the mismatch between passport and ticket/visa/etc.
I do.
The idea of a plane ticket for ‘Cher Cher’ is quite funny, though presumably wasn’t for her.
I suspect you are applying just a variation of the same every-name-must-follow-my-arbitrary-rules game. You're trying to correct the assumption that everybody has of a first name and a surname with the equally wrong assumption that everybody understands an English word.
One counter-example for "People have, at this point in time, one full name which they go by." I learned from the 2020 election concerned the Georgia voter fraud claim that someone used the name "James Blalock" to vote, years after he died in January 2006.
Thing is, it was his 96-year-old widow, "Mrs. James Blalock Jr.", who voted. That was the name she registered as, back when using "Mrs. <Husband>" was a common custom.
I don't know if it truncated it automatically or it just stopped accepting input after 20 characters and I of course did not notice since the password entry fields were masked.
My last name end on "ić" so every time, even on many EU shops and websites, I get to choose if I want to write my name wrong with "ic" and definitley get the package(cause the post understands) or write my name properly and get my package in 90% of cases.
Its just plain weird that a Spanish/French/UK online shop will support their weird characters but not full Unicode.
every time i walk into a coffee shop i have to judge how much trouble spelling my name 'correctly' will be and will switch to "Y" in those cases
like, I thought Joachim was supposed to blaze the trail for the rest of us soft J's :(
Between plain 7-bit ASCII and full Unicode there were a few decades of make-do with several 8 bit encodings.
A couple of years ago when I wrote a little webapp to do some scheduling stuff for our community's yearly conference, I just used plain unicode strings for usernames, including spaces. I didn't really see why not: The database (SQLite) handles unicode, the backend (golang) handles unicode, the frontend handles unicode, nothing ever gets passed into a shell program or put into CSV or anything, all queries are parameterized; why bother making pointless restrictions?
"Enter your name"
"No, you need to enter your name in kanji. Of course, everyone has a kanji name, right?"That, along with refusing half-width roman characters, requiring them to be full-width and all that kinda shit. Basically stating up front on their own website that they suck at programming.
> But Japanese banks at least has a system which mostly solves at least those problems - everyone's name is written in Katakana.
That's workable, though I still remember seeing banks with comically short character limits for names.
I complained about this to my bank when I found out they stored passwords and their response was "don't worry about it - you aren't responsible for fraud".
I'd much rather live in a world where banks are idiots with passwords and I'm not responsible for fraud, than a world where I'm expected to be not an idiot with my passwords, and I were responsible for fraud.
Every day, I count my lucky stars.
How? By forwarding me his unredacted application chock full of PII. When I pointed out that most people probably wouldn't appreciate their SSN and more being shot around in emails by the management company, I was simply told it was "standard practice" for them. Following insinuations that their "standard practices" might just be "fucked" were summarily ignored.
Have fun trying to dispute an atm card transaction. The agent actively dissuaded me from doing it and said it was not possible.
Invalid: abc123 Valid: ab12cd34a4f9
Obviously, no uppercase or ANY special characters like “.” Allowed…
Everything is bloated with security theater, where the most critical things are vulnerable. For example, I saw a form for 2-Chōme requiring a phone number with three input slots. Entered my phone, it’s already been used. That’s fine, I just shifted one number from one slot to the other.
80-1234-5678 (already registered)
80-123-45678 (workaround to use the same phone number on a different account).
It worked.
Do they actually block hiragana and katakana? If they do that's probably grounds to sue.
>refusing half-width roman characters
With maybe the exception of arabic numerals, Japanese is nearly always written in full/monospace width. This is not unlike how English is nearly always written in half/proportional width.
When in Rome, do as the Romans do.
I don't have evidence at the ready, but I remember interacting with websites which complained about receiving katakana for both the name and カナ field for your name.
> With maybe the exception of arabic numerals, Japanese is nearly always written in full/monospace width. This is not unlike how English is nearly always written in half/proportional width
Yes, I'm fine with them using it. But they could put in a _little_ bit of work for me and convert my half-width characters to full-width, as the good websites here do.
If the field wanted only either hiragana or katakana (remember, it wants a simple reading guide) and complained, I'm not necessarily surprised.
What do you do at that point?
It's not my problem they have to deal with malformed data if that's all they will accept.
many websites in Japan has two name field: one is kanji, another is katakana.
https://shinkabukiza.pia.jp/membmng/RegisterNormalAction.do
Take this for example, the field in first row is full-width kanji, second one is full-width katakana.
The フリガナ (furigana) field is to indicate how the name given above is read, because kanji can have many readings including completely arbitrary ones. This also serves to indicate how computers should index and sort the names when storing and processing them, so it's still applicable even if the name is all hiragana or katakana and immediately obvious.
Furigana is also used to indicate how to read kanji in ordinary text, oftentimes when dealing with rare kanji or special readings, when the text must be comprehensible by everyone (eg: emergency bulletins), or when the text is written for people learning Japanese (eg: school textbooks).
Furigana is usually written using hiragana, so the reason 全角カタカナ (full width katakana) is specified instead of just full width is to inform the form's filer that he shouldn't write hiragana like he otherwise probably would.
https://en.wikipedia.org/wiki/J%C5%8Dy%C5%8D_kanji
Is it common to come across names using kanji outside that range?
https://en.wikipedia.org/wiki/Jinmeiy%C5%8D_kanji
Even in English this happens, look at all the variations of Robert (Rob, Bob, Robb, Robbie, Bobbie, ...) or similar names.
That doesn't quite grasp the magnitude. We're talking on the level of writing "Charlie" and reading it as "Alexander". Why? Because yes, that's why.
Providing readings using furigana is the mechanical answer to a very human problem.
I'm thinking.. I've only ever seen someone's name, will I make serious faux pas if I mispronounce it with the regular reading when I meet them?
(this is less pronounced in English because most of the time you can tell how to pronounce it by reading it. My last name suffers from the fact there is multiple possible pronunciations, so whenever I meet someone who has never heard my name they always stumble and look at me for help)
As for business cards, yes, if they have some non-obvious reading they will have kana or romaji there somewhere. (Usage of romaji on business cards is wider than you might expect, since it's seen as kind of the equivalent of a modern sans-serif logo for a business in some circles)
e.g.
Card with furigana: https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2F...
Card with kana elsewhere: https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2F...
Card with romaji: https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2F...
On the first example -- what is the significance of the character which is a circle within a circle? I'm assuming it's some sort of graphic or punctuation, rather than a kanji...?
The heading of that corner is just the pronounication of "m-take design" written out in katakana. The first line under the heading talks about the type of products the person works on (direct mail, leaflets, pamphlets). The second line talks about their specialities, as in the industries they focus on (cosmetics, health food), and then the last mentions they'll also do logo design, homepage design etc. I guess they wanted to emphasize the second line.
You'll sometimes see kanji-sized single circles used in Japan to indicate omitted characters (and you might see them on business card _templates_ as a sort of lorem ipsum, but unlikely on actual business cards), but this double circle doesn't have any specific meaning as far as I know.
The half-width/full-width distinction is a hold-over from the DOS era when all fonts where monospaced. It doesn't have a place nowadays and should have never be included in Unicode, just change the font or use a better text rendering algorithm.
Nah, it's probably some Japan-only ancient mainframe OS with Shit-JIS over EBCDIC.
"Hmmm, your ID card says 'Christian Joseph Anderson' but our records show 'Anderson Joseph Chri', are you trying to pull a fast one on us???"
In my experience computers are the bigger issue. A human can think outside the box in a way a `strcmp` can't.
Computer says no
https://www.youtube.com/watch?v=0n_Ty_72Qds
---
A human can do many things, but never underestimate the power of the system (Hello Moloch) to remove said creative abilities from humans. Also never underestimate how creatively stupid humans can be.
Middle names are less common where I live. The locals tend to add my middle name to my fist name and then complain that it's long and doesn't match their database at first glance.
interesting anecdote
that being said, i think most of these websites that ask for a kanji name will require you to show ID with that name when you show up in person, so you might run into trouble if you just pick random characters.
My last name contains a naughty substring. I feel for the author and their hyphen!
Which, come to think of it, is kind of a funny notion, and a nice reminder that despite our differences we really are all related!
I can vaguely imagine how someone would _think_ its a good idea (it's not, to be clear) on a website where users might see other users' names, something like CRM SaaS. I can't understand how anyone would think that validating users' real names on a purely customer-facing website is a good idea. Maybe frustrated customers (can't imagine why) have names like FuckVerizon on their account?
European websites never bother me about it, of course :)
Doesn't bother me that much but I've had moments where a service told me that "Your name MUST match the name on your ID", only to then complain that I can't use a certain character. Which is present on my ID. Well.
The postman understands "Kbenhavn", "K~#benhavn >&" and so on.
Very occasionally some address verification thing can't match my address, as one side or the other within their system is corrupting it.
In a just world, the website would be taken offline at once, and kept off until fixed.
This is the hyphen-minus, U+002D: - (and ASCII too)
This is a hyphen, U+2010: ‐
This is a minus, U+2212: −
> Ask HN: How to handle Asian-style “Family name first” when designing interfaces?
the discuss shows it's so hard to handle name of people from any countries.
I did pick another name at that time because I had been waiting for an hour, so practical concerns trumped principles, but it's ten years later and I still feel offended when I think about this.
It has literally never been an issue, and I suspect the agents are just used to this.
Of course, but, to give you a sense why I felt so annoyed, the conversation went something like this:
> What is your last name sir?
"de Bakker"
> That name is invalid. What is your name?
My last name is "de Bakker".
> That name is invalid. You need to give a valid name.
"de Bakker" is my last name. It's on my passport.
> Sir, if you don't cooperate I'm gonna hang up and proceed with the next customer. What's your name?
So it was very clear that I was the one at fault here.
In fact, nowadays, the tendency to overreact to overreactions is just as big a source of uncalled-for negativity as the ostensible first-hand complaining. I don't perceive any actual offense in the blog post, the way you're using the word, but I do perceive it in your post. I could be wrong on both counts, but that's my perception on reading.
There are cases where that happens for real and not just due to other computers not supporting Unicode properly; for example it is completely unreasonable for every postal system in the world to have to support every language in the world for addresses.
But even beyond that, even expecting every postal system in the world to have to understand every script is itself not feasible. I don't mean this to offend, but Arabic is just a scribble to me. I know from reading articles about the difficulty of typography that Arabic letters are generally strongly affected by their preceding and/or following characters, but that only from HN, not from my normal day-to-day experience. I couldn't even parse it into letters correctly or safely. The ideographic languages have no spaces, so I can't break them into words safely. (After some non-trivial study of Japanese, I could mostly do it, but still only mostly.) It's not a reasonable expectation to put on every postal system in the world.
I.e. I don't understand why these problems mean that a postal system might elect to not support all scripts in storage (I get why it means the OCR software for a postal office might not support scripts outside their own country's scripts).
This is much like the naming scenario, where I may need both your legal name for legal reasons, which may have local restrictions on it, and I may also have a field that is basically "What do you want me to call you?" which may have arbitrary unbounded Unicode for all I care, I don't care if my system calls you the Lord and Master of Zalgo Text. But there's no programmatic way to get from the latter to the former, or indeed, even a human way.
Last name contains invalid characters [2010] - https://news.ycombinator.com/item?id=27769788 - July 2021 (2 comments)
Your last name contains invalid characters - https://news.ycombinator.com/item?id=1438355 - June 2010 (73 comments)
IDK but every time I programmatically create an AWS resource, I have to go crawling through masses of disorganized documentation to see what character substitutions to make.
Hyphens do destroy AWS's database. :shrug:
This is why I don't use Namecheap anymore fwiw. They used to accept 'ø', they redesigned their interface, I had to add a new debit card to my account, their new system didn't accept 'ø' yet told me to write the name "exactly as it is on the card". Customer service just told me to write a name that's not mine in the billing info; I moved to a different registrar instead.
Why do we even have that field anymore?
Also, to the original article's point, it looks like these websites would exclude like half of Québec's population; dual last names are very common here (women keep their names after marriage, making the "mother's maiden name" security question pretty stupid).
Diactrics on uppercase letters weren't that common before: they were officially supposed to be there on uppercase characters but:
- old french typewriters didn't have them (they had the lowercase é, è, à etc. though)
- people using early computers had no idea how to encode them at all (but é, è, à etc. were on the keyboard) [1]
But "ATTENTION MARCHE" and "ATTENTION MARCHÉ" are two very different things. It's simply wrong to use the first one if you meant the second and vice versa.
Now I know a friend who lives in the US and who simply dropped the diacritic from its family name: so now he and his kids have a "different" family name than his family in Europe.
He found it easier that way.
[1] People using Word in the early nineties had to type 'é' and then select that character and go to a menu to transform it to uppercase, because "shift+é" would enter the digit '2'.
Have one input: "What should we call you?"
and, if you really need it: "your full name"
Order a ticket online, they pick the transliteration for ø as o, passports transliterate ø to oe - the less ambiguous choice. This generally isn't a problem until you want to travel to one of the APIS countries - USA or UK, which won't let you check in if the name on your passport doesn't match the name on the ticket.
I have tormented many check-in counter staff with this, especially at regional airports that don't see a lot of international travel.
it should be possible to file a complaint to you country's standardization agency and they will pressure the airline with fines
This is always a paranoid worry of mine. Even worse, some airlines tend to include the academic title in there too, meaning I've had tickets reading "MRDRWRONG, PROBABLY".
Not only does it not match my passport, but it also makes it look as if I'm a murderer.
We had to do it because the underlying backend is Spanish and the APIs are insane. Behind our JSON-wrapper is an adapter to translates it into teletype friendly format … spaces, new lines and tabs makes it look like a ticket you’d get from a travel agency in the 1970s.
This format is also the reason why your name is truncated on your ticket (or so I was told). IT in the airline industry is insane and many systems are many decades old at this point.
A bit surprised you have trouble with APIS though.
Once, checking in to a flight within China security didn‘t want to let me through.
Because „Müller“ (as an example) on the passport is not identical to „Mueller“ on the ticket.
I eventually made it through when I pointed out that the machine-readable code on the bottom of the passport contains the string „MUELLER“.
Names outside US-ASCII are always problematic.
I googled "Chinese passport" to have a look, and conveniently for them, they have the ASCII version of the owner's name under the Chinese name.
One day, I got a call from IT, almost apologetically asking if they could change my email address because it was causing them issues. I pointed out I'd requested such approximately every 3 years since I started.
It turns out they'd never received those requests. I'll give you two guesses ..
It took a bit of time between Microsoft making the temp internet a 'special directory' and AV working properly in the directory, and the browser not saving attacker controlled literals to the filesystem to get past these. Also fun in NTFS because it could cause bluescreens was the AUX, CON, PRNT filenames.
Your post just reminded me of that kind of issue.
Surprisingly, the random text in the program was interpreted as valid program code. I was too young to understand exactly what had happened at the time, but now I understand it's because one of the valid forms of .com programs is a headerless chunk of x86 code for DOS, and I guess that website's output just happened to (a) not immediately crash and (b) invoke the DOS service for printing.
[0]: https://en.wikipedia.org/wiki/Common_Gateway_Interface
Both have better consumer frontends now (although I remember Deutsche Bahn still recommending this system around 2019), but those systems ultimately get all their data from this one, as far as I'm aware.
[1] http://old.rozklad-pkp.pl/bin/query.exe/pn?
(Which also means it's extremely difficult to determine if a .com file really is an executable--there's no signature. It either decodes or it doesn't--and most bytes decode correctly because you want to pack the commands in as densely as possible. Things which will not decode are packing inefficiencies.)
(And back from the Z80 days I remember very carefully crafting assembly code that could be embedded in a BASIC program without causing it to puke. Some commands were unavailable and some values were not permitted--amongst them, zero.)
(Replace bar with passwd - I was blocked from submitting my original comment by Cloudflare's WAF...)
I thought me having a hyphen on my last name was bad. I'm glad no place I work at has tried to add them. This is a great ending to this story btw, and maybe a reason to try and contact them via phone if you never hear back at all.
Conversely, I've had to fill forms in Korea that included space for only 4 letters, including both first and last name. Needless to say, my 3 first names plus last name didn't fit.
This caused big problems whenever he booked airlines tickets as the name on the ticket didn't match his ID.
The initial happened to match his father's given name, and when he was old enough, he reliably chose to take that name as his middle name. It is certainly an endearing story of filial devotion, and a distinct lack of finicky SQL databases or web input validation in the 1950s.
I wonder if we know the same guy. There can't be many Js running around.
Moved to UK last year. Couldn’t put my English name in anywhere and had to use my full name. Feels super weird getting called so.
Could be apolitical protection against chess grandmasters: https://en.m.wikipedia.org/wiki/Wesley_So ;)