Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

As a programmer and nerd with an aesthetic sense for consistency, I move that we all adopt an array of PascalCase strings as value for the "name" key.

    {"name": ["JohnSmith", "JohnEdwardSmith", "JohnESmith"]}
    {"name": ["AnneGauthier"]}
    {"name": ["ZoolisCartom", "CartomZolis"]}
Owner decides the array's content; others (people and systems) may then just 'match' based on reqs/prefs.

____

More on-topic, from a linguistic standpoint I believe natives should always define their own namespace, others should merely conform (e.g. use as-literal-as-possible transliteration following accepted standards).

A foreign name is an invitation to meet another culture.




I must not have made my idea clear.

The thought experiment is not about software, nor is it about programmers.

It's about writing e.g. "JohnSmith" on your freaking passport in the name field. It's about people being free to have it written "John Smith" or "Smith John" or "johnSMITH" or however they want. It's about your business card, your mailbox, the name on your bank account.

I was just phrasing one example implementation of that idea.

Also, I appreciate the downvotes due my failure to convey my idea clearly, but for a thought experiment it's pretty harsh — how is it not 100% on topic when the article specifically talks about writing "Ryo Saeba" as "SAEBA Ryo"? I'm just saying, 'fine', but make it unique and user-choice.

That said I'm resting this case, the best jokes are the shortest I suppose. I was merely inviting comments to tell their own preferences. For instance, I reduce my first name to a sound that matches a greek letter's name, so I like to spell it e.g. "χLee" — and I'd love for it to be official spelling, I hate with a passion that my country doesn't allow name changes unless major reason. It's my name, isn't it? (if I read your linked blob correctly)


How would you handle situations where the name naturally contains capitalized letters in the middle? Or names in scripts that have no capitalization? Or required punctuation?

Never build a system that leverages an existing system not designed for the same level of constraints and use cases. Golang made that mistake and it's turning into a big mess.


Sorry, I edited the post with more examples. Capitalized letters names in the middle, e.g. "JohnESmith" for "John E. Smith"?

Note that owners would choose their array, i.e. how they wish to normalize their own name(s). In most countries it would probably be issued by the State, though.

But hey that's a joke, a thought experiment at best; I think strings with spaces are perfectly fine. The concept of a defining single string for a name (implying order is fixed, forever) is however good. In practice it's already what most contacts apps let you do — input first, last, middle, handle, etc. and define order to display, but it's generally a global setting; it could be granular (per contact), with quick/helper rules per nationality for instance.

I'm not sure we'll ever solve this linguistic and cultural matter only using technology though. ;-)

Edit (final, promise): I simply move that:

- people choose what are "valid" representations of their name (owner decides, others conform)

- systems make it easy for others (people, systems) to pick one (by default you'd assume item 0 in the array).


Unfortunately, it exemplifies the USA-centric approach to names: First, Middle, Last. All with the first letter capitalized and the rest lowercase.

But that's not how things work in more than half the world. Just taking the capitalization issue: Even the French name DuPont will break your example. Non-latin scripts generally don't have capitalization, and even European ones have letters that can't be capitalized (for example ß). So using capitalization as a field separator simply doesn't work, because it was never designed for that purpose in the real world.

And people keep writing these simplistic systems because nothing breaks so long as all of their users are homogeneous. Except that the system they are building upon doesn't have the same implicit constraints as they've set up. And then things go very, very wrong in production.


>and even European ones have letters that can't be capitalized (for example ß)

In German, that character is never used at the beginning of a word or name, so it's really irrelevant.

I think a better example of something that doesn't fit that scheme is a Dutch surname like "van der Beek": they're multiple words, separated by spaces, and not all of them are capitalized. Some German names are similar: "von Staufenberg".

Also, some cultures have more than 3 names. Hispanic people frequently have 4 or (I think) even 5 names, not just 3.


> [...] have letters that can't be capitalized (for example ß).

Here's ß capitalised: ẞ

Bad example, but you're otherwise correct. My personal pet peeve is systems mangling names with umlauts. Such names used to be common in my country, but they've become pretty rare now with globalisation likely to blame. But a workaround nowadays seems to be to give two different first names: one that has no special letters and another with.


What about LeVar Burton? His given name has two capital letters!




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: