Hacker News new | past | comments | ask | show | jobs | submit login

It's satire.

  12. People’s names are case sensitive.
  13. People’s names are case insensitive.
Edit: Let me explain ... I was responding to the parent post, and that it wasn't meant to be a logic list of rules. Individual points may be true, but the overall tone of the list and post uses humor to explain the complexity of names.

  32. People’s names are assigned at birth.
  33. OK, maybe not at birth, but at least pretty close to birth.
  34. Alright, alright, within a year or so of birth.
  35. Five years?
  36. You’re kidding me, right?



"It's satire"

Absolutely not!

Case sensitivity varies amongst countries.

One very simple occidental example: in France names are usually written LASTNAME Firstname

So if you type Lastname and your DB doesn't normalize the capitalization of names you won't match

So for the last name the search is case insensitive but for the first name not so much.

Another example is Turkish, where there are two capital I's, one with a dot, one without.

And not alphabets have a notion of case.


> Another example is Turkish, where there are two capital I's, one with a dot, one without.

It's even more complicated: they have two letter Is, one with a dot in both lower and uppercase (İ/i) and one dotless (I/ı) in both cases. So any automatic case change needs to take this into account or the letter will get switched. This also make using fonts with fi ligatures problematic.

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


This is also why quite a few programs have bugs when running on Turkish phones if they use locale-default case changes. Always specify a US English locale if you need to send along a certain code in uppercase, or process other inputs in ASCII. Internationalisation is tough. My favourite part is when systems don't allow last names with "special characters" including spaces, hyphens and periods.


And even normalizaing capitalization of names isn't always simple. How do you correctly capitalize "mcgee"? "Mcgee" or "McGee"?


It's not satire. They are both bad assumptions, bound to be false somewhere. Don't let your code rely on either of these assumptions.


Is it? I read it as: depending on culture, the name may be either case sensitive, or not. (alternatively - someone's name may use alphabet with no concept of "case")


I wouldn't call it satire; they are, as the title indicates, falsehoods. That is, if your code makes any of the assumptions listed, then you're handling names in a way that inevitably won't work for users of certain cultures.


Case sensitive and case insensitive sound like they're the only two options, but they're not.

Take SQL as an example: are programs case-sensitive or case-insensitive? Neither!


I just got bit by inconsistent case sensitivity. My tool inspects SQL schemas. I switched from hand-rolled queries, which weren't portable, to using JDBC MetaData methods. Mostly worked. Until I did a live demo. Oops. Now have a hybrid solution.


Satire is a deliberate mockery of the subject material in order to criticize it. You don't call something satire just because one of its bullet points is kinda funny.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: