Does Your Code Pass the Turkey Test? (2008)
moserware.com
moserware.com
No, you can't really, especially if the recurring meetings go on more than a few years into the future. If the time zone rules themselves change (e.g. if the user's country abolishes or introduces DST), then the timestamps you stored will become wrong in light of the change.
The short form for September is Sept in en-GB, the only month abbreviated with four letters. It’s Sep in en-US and other en- locales. All other parsing is identical.
For example, if you’re parsing abbreviated date formats on AWS, this parsing fails only on eu-west-1 and -2 servers, and only in September.
We’ve spent easily several months of engineering time “fixing” apps that kept picking up these defaults directly or indirectly. E.g.: What regional options does Azure Data Factory use for parsing CSV by default for batch jobs if you deploy an instance in Australia East? Your guess is as good as mine!
It’s especially hilarious considering that all three major operating systems ask these questions up front, just as they as for a password instead of providing a result. Vendors have had to learn the hard way that defaults for some settings are nonsense for 96% of the planet, and now the same companies have forgotten this lesson and will have to learn it all over again.
Sometimes (but not always), it helps to change the locale to en_UK. But then spellcheck becomes confusing...
UK? So far so good: Maybe those time parsing routines will need some brushing up for the 24 hour based clock, and day and month are swapped, but at least the decimal separator is the same. And it's almost the same language, and definitely the same alphabet.
France? Now you're adding accents to the mix, although in a pinch you can just drop them. (Not that it's a good idea, but there's no better solution.) But watch out: Different decimal separator!
Germany? Better rethink that "just drop the accents" solution; it changes the meaning of words, sometimes drastically/embarrassingly so. However, there is a canonical way of transliterating äöü!
Chinese: Obviously, abandon all hopes of using Latin-1. But at least you can use the US decimal separator again :)
As an American, it's really eye-opening to learn other languages and cultures and apply that context to your work in software.
21 -> "eenentwintig" -> "one and twenty"
French gets especially zany:
80 -> "quatre-vingts" -> "four twenties"
I'm sure there's about a million more ways languages have wildly differing concepts of numbers from what you expect. Now repeat the above exercise for numbers, dates, money, names, just about everything.
The EU and many other countries ordering of day, month, year (smallest to largest order) also makes sense, but is sadly ambiguous due to
The US format of month, day, year (middle-endian order) https://9gag.com/gag/a2KEqOe
US not TUrkey is the outlier
Furthermore, if DMY makes sense, then you could argue that SS:MM:HH or MM:HH has a valid use case. (It does not.)
Hence, ISO 8601 is the one true date format, assuming you still believe in writing numbers in big endian.
If you want, you can argue for numbers being written in little endian. For example, the year "two thousand twenty-four" could be written as 4202, and maybe pronounced as four twenty thousand-two. In that case, go ahead and write dates as SS:MM:HH DD/MM/YYYY; it is UTC 61:45:12 60/21/4202.
"twenty past ten"
(It does.)
This is a language issue. DMY makes perfect sense in languages where you'd normally say the date in that sequence. The "problem" is that English doesn't do that. The natural flow in English is MDY, e.g. July 4th, 2024. That not how Germanic language (at least those I know) works. In Danish or German you'd say "4th July, 2024", that's just how those languages work.
I do agree that for computing ISO 8601 is the way to go as it sorts correctly.
I'm sure that's true. This seems more like US custom than the whole English language. "July 4th" sound a bit forced and not natural to me, and I am a native English speaker. Not US English though.
I accidentally an important word there. It should be "I'm not sure that's true." It's an English expression that's a bit understated: it means "I'm confident that this is wrong".
You can't always argue from "what feels natural" - that's prone to mere familiarity (1), and someone else who is more used to the other way will have the opposite "feel". It's subjective, and not universal.
In your English maybe. That’s just not a good argument.
Similarly hour is the most common division of a day. Generally humans have an internal tendency to measure things in half of an hour interval and hour is the closest one. One usually rents a parking slot for integer multiples of an hour. The travel distances are specified in hours or fractions of it
Putting the most important measure at first just makes sense.
Names are always bestowed, never picked.
Names often have historical baggage, and using them may send a different message than what you intended.
These are the official names for Germany. It does get worse!
My broader point is you can call yourself whatever you want, but you cannot tell others how to speak if they don’t agree.
But if it is: People generally do get to change their mind about their preferred address, and people usually oblige, so why not places? It obviously depends a lot on the case, but sometimes the “common” name has a historical association people living there aren’t comfortable with, for example.
In an international context? I remember Côte d'Ivoire asking people to please refer to them as Côte d'Ivoire for what seemed the very sensible, practical reason that their citizens were having trouble finding their country in lists when going through customs, registering at hotels etc.
Personally, I'm fine using whatever name a country adopts for itself, but I can't help but notice that this particular change had a bit of a Streisand effect on me. (I really can't say I've experienced a single situation where it wasn't very clear from context whether somebody was referring to the bird or country.)
Tapakapa's detailed video agrees. He also mentions that the diacritic character is needless friction in English. https://www.youtube.com/watch?v=xiidxd5KKw8 (10m58s) [2024-08-10]
The more diacritics we are compelled to learn and use, the better I say.
Human user friendliness?
The end result was phpMyAdmin usually failed with "include not found" because its developers did this: include(tolower(MODULE NAME)) and BLABLAINTERFACE was converted into blablaınterface (there is no dot on top of i there look closely). Or Eclipse failed in similar ways since it was searching plugins using locale-dependent functions.
Anyone programming outside of the USA is well aware of localisation and how to use it.
Now living in Germany, they even translate timezone names. Not only do you have to look in a timezone database to figure out what a MESZ is, when the timezone database says "there is no such timezone" you have to realize you need to look in a German translation of it. Very approachable for the international people that need to know which timezone that German picked for the meeting invite
Which is all to say: sure, people know other countries exist and are more likely to need to learn to use localization, but by default it's not like everyone knows how to do that
Central Europe has a lot of accentuated Latin characters. ěščřžýáíéů etc.
Cyrillic letters are also worth trying, especially if you are trying to set up an international e-shop and need to print out labels with addresses.
Spanish-speaking people tend to have very long full names, in case that a complete name is needed. Picasso was, in fact, Pablo Diego José Francisco de Paula Juan Nepomuceno María de los Remedios Cipriano de la Santísima Trinidad Ruiz y Picasso.
Hungarians write surnames first, e.g. Orbán Viktor. Doing it otherwise looks unprofessional and may lead to confusion, because some first names can also be surnames.
Most of Europe writes streetname first and house number second, e.g. Friedrichstrasse 52, so the other way round than Americans and Brits are used to.
It's not only Hungary - I usually write my surname first in professional context (but both versions are OK, in general).
even Old New York was once New Amsterdam. Why? Maybe people just liked it better that way, and that's nobody's business but the Turks.
https://www.youtube.com/watch?v=Uqnb_nU7RBE
(Istanbul is the traditional Turkic name for the city, basically a borrowed/altered pronunciation of Constantinople)
Japan = Nihon Germany = Deutschland Mexico = Meh-hee-koh
Let's keep adding to the list see how many we get
That said, I don't know how bad ü -> u is in Turkish. At least in German, doing so often changes the meaning, and äöü have to be transliterated as ae, oe, ue instead. (Obviously a ton of software does something bad like "decompose Unicode characters and filter out non-ASCII letters" and gets it wrong, also hilariously failing the test.)
And in general, sure, every country should get to decide how it wants to be referred to (although I suppose that can raise complicated questions as to who gets to decide that too), but in any case asking a blog from 2008 to retroactively adopt that decision is asking for a bit much, I'd say.
Ü and Ö have almost the same sounds as German in Turkish. When they constructed the Latin-based script for Turkish, they looked at the European languages and their ways of writing. So no surprises there.
Writing ü as u change meaning a lot. "Kul" means a servant; while "kül" is ash. However Turkish lacks the concept of digraphs. Having two vowels next to each other is extremely rare. If two vowels like oe are put together, a native reader will read them as o e (oh eh) and then maybe blend them a little.
So when technology got introduced, we didn't know what to do with ASCII-only systems that Americans sold to us. People started to write ü,ö,ı,ş,ç,ğ as u,o,i,s,c,g. It causes names of the people to be mispronounced in (usually English speaking) media and in international environments. Many young people started to use SMS with those conversions in 90s. So we are stuck.
As I see it, you either oblige with the Turkish government's request to use the Turkish instead of English word for the country (which is what it really is), or you don't – it has nothing to do with alphabets.
Whether people will practically go through the effort of setting up their keyboard layout in a way that lets them type it is a different story; I can't really blame anyone for not doing so in a casual context. Wikipedia usually does so – e.g. they currently use "Turkey", but would likely use "Türkiye" if they were to adopt that.
FTFY
Wow, the default in the Windows API does not do that? I would have 100% bitten by that at some point doing any development there, coming from a Unix background where I believe the "ECMAScript" behavior is pretty commonplace (and in fact it seems to be a subset of PCREs).
Edit: and i guess why have leap seconds and stuff is because we are rrying to combine both sun position and elapsed seconds idk
(Indeed, this one specific date gets said the American way even in British English. We Brits don't do that for any other dates - we say "fourth of July" instead of "July fourth", for instance - but "September 11th" aka "9/11", uniquely among all dates, is written and said the American way in all dialects of English on the planet due to its significance to American culture.)