10 ms·
'Japan's millennium bug' ahead of Akihito's abdication
- yoz-y 8y agoHow pervasive is the Japanese calendar in computing actually? I suppose most programs calculate all dates internally using UNIX timestamps or UTC and only convert that to Japanese dates for display purposes. Anybody has any experience with this?
- holtalanm 8y agoI was thinking this exactly. Not much of a problem for data, more of a problem for display of the data. A good stop-gap until they get enough information about the new era would be to just display the dates in UTC for a while or something. I mean, unless they're storing the date/time in the database as a string, formatted for Japan's locale. Then they're screwed, kind of. I mean even then, it could be fixed with a stored procedure within an update statement.
- mipmap04 8y agoI'm sure some unfortunate developer in Japan has made this mistake as I've seen datetimes stored as strings in America. There's also probably logic in UIs somewhere that uses the string representation for something more critical than you'd expect.
- yoz-y 8y agoAs much as using UTC would be better, I suppose for many that will not be an option if they are accustomed to Japanese dates. I mean, I got flak in work because I was writing dates (as in, written on printed paper) in the ISO-8601 format and apparently the administration in France does not understand that.
- PeterisP 8y agoThere are all kinds of random places where this has potential to show up. For example, some backend process breaking (or worse, silently discarding data) because of validating dates in incoming data from another system as a string regex that expects the old era symbol.
- jerf 8y agoI don't think that's the problem; I think that's the one thing that's not a problem. Monotonic time is not that hard. The hardest thing about it is just convincing programmers to use it, and making sure your libraries use it properly. I don't want to say it's trivial, but it's not that hard once both you and your code base internalize "convert everything to internal UTC representation as quickly as possible, convert to local time as late as possible on the way out". It's everything else that's a problem. It's the places where you input the Japanese time, and there's an era that the code has never heard of for some old system. There is no way for that system to even conceivably handle it without some sort of update, at least a database update. They're talking about creating a new character for the era, which literally no system on Earth can currently use because it doesn't even exist yet, and, again, anything old that can't be updated can't conceivably display it correctly. They might be able to display it as the individual characters, but they still won't know that's a date, or that they have to. As mipmap04 says, it's where Japanese dates were stored as a string or something, because goodness knows I've seen enough US dates stored as strings. And inferring from the article that the tax authority is going to extend the old era, I assume that at the very least a good chunk of the government works on Japanese dates, so it's going to be important not to, say, print tax forms that have � in the date, etc.
- ajuc 8y ago> tax forms that have � in the date Just make � the official symbol of the new era :)
- bsder 8y ago> I don't want to say it's trivial, but it's not that hard once both you and your code base internalize "convert everything to internal UTC representation as quickly as possible, convert to local time as late as possible on the way out". It's really not that easy. Recurrences and durations are the killers. When you schedule that meeting for 4:00PM every Tuesday, what happens when daylight savings time kicks in?
- oftenwrong 8y ago>"convert everything to internal UTC representation as quickly as possible, convert to local time as late as possible on the way out". That's not a good approach to use for future events.
- SmellyGeekBoy 8y agoI've just been on a 3 week trip to Japan and didn't see traditional Japanese dates used anywhere except on museum exhibits. Train tickets, bus tickets, hotel check-in / out dates, credit card receipts, tickets for various attractions etc. all displayed the date in ISO-8601 format. It's interesting to ponder, but the traditional date format seems to have fallen out of use (probably with the advent of the computer era) and I genuinely don't think that this will be a problem.
- fishtank 8y agoIf you are there to live rather than to tour you will find that the traditional date format is pervasive in daily life. Banking, legal documents, etc.
- innocenat 8y agoProbably not with the tourist , though all my JR ticket I have are listed with traditional date though -- maybe they issued it with A.D because of you are tourist. Other tickets seems to be mixed though. For example, of documents I have laying around my desk right now: Alien card: A.D / Student card: A.D. / My number card (like US SSN): Traditional / Insurance card: Traditional / Water bill: Traditional / Electricity bill: Traditional (this one doesn't even tell you that it's traditional, it just say 30-07-xx) / Monthly health insurance bill: Traditional / Gas bill: A.D. So it is pretty much in heavy use.
- jrockway 8y agoJR definitely produces different tickets depending on whether you used the machine in English or Japanese. (Or depending on what the station attendant thought would be most convenient for you; they can pick the output format and I've gotten both.)
- mercurysmessage 8y agoAlien card? Do you mean the zairyu card?
- jcelerier 8y ago
- ginko 8y agoAt least train tickets show dates in Japanese era years. Like this one for instance: https://blue-works.com/jprail/wp-content/uploads/2010/07/reserved_ticket.jpg https://blue-works.com/jprail/wp-content/uploads/2010/07/res... The date at the bottom left is April 26th of the year Heisei 22 (so 2010)
- peapicker 8y agoI work on a large enterprise software product. We support Emperor dating (since the long gone legacy product from the late 1970s), and it is used, I just don't know how widely or for what reasons.
- veidr 8y agoYes, I have been doing software development in Japan for the past decade. Of course you are right that no sane person would contemplate this calendar for any purpose other than user-facing display, and even then only where it is absolutely required. But the insane WTF thing is that it does still seem to be widely required on any kind of financial document. Expense reports, salary statements, that kind of thing. All my banks use this format (and also SJIS text encoding when I download my data (T_T)...) There are also lots of internal processes^W^W Excel spreadsheets in active use that expect these values so I've seen more than one program that converts 2013 to "H.25"... and it's literally impossible to represent a future date, since we don't know when the emperor might die, even if we have a projected abdication date. I can't be too smug about it, since I'm American (miles and feet, anybody?) but it is... objectively non-optimal.
- pwim 8y agoInterestingly, sometimes the system is used for future dates. For instance, my drivers license expires in September of H.31, which I guess will never happen now.
- samatman 8y agoDoes this imply that the driver's license becomes invalid and must be replaced with one in the new date system? Real question
- tonysdg 8y agoOr -- perhaps more intriguingly -- given that the date in question will never occur, is it valid until the end of time? Philosophically it's a rather fun question, but practically they'll probably just honor it until the corresponding date of the new era.
- h1d 8y agoIt will stay valid. Consider having have to replace millions and millions right after the swap, it will be chaos. The system is simply stupid, not even citizens want it.
- Forge36 8y agoComing from a platform which stores time as local times and no time zone (also needing to handle SJIS text formatting on occasion) I wouldn't consider it a common problem, but the amount of code which doesn't handle dates that I with with is surprising high. I wouldn't be shocked if much of Japan's code has similar oddities (I suspect future dates will have a special comparison logic added for the overlap which results)
- i_made_a_booboo 8y agoEven though it's only user facing you have to remember it's facing Japanese users. They are an extremely fussy demographic to deal with. I worked on enterprise billing systems in Japan before. I can imagine how not fun it is to be dealing with this issue right now.
- larkeith 8y agoSee also this discussion from 23 days ago: https://news.ycombinator.com/item?id=17430085 https://news.ycombinator.com/item?id=17430085
- acjohnson55 8y agoPretty sure they'll figure it out. There will just be a period where both dates are used. It'll be a little messy, but they'll survive. Definitely learned something from the article though!
- giardini 8y agoI hope they get this all shaken out before the Japanese are allowed to develop or given nuclear weapons.
- wodenokoto 8y agoWhy can't the Unicode consortium not reserve codepoints for the next 10-50 eras and simply wait with filling in how it should look and what to be called?
- moviuro 8y agoAs jerf pointed out [0], you can do that but once you print that unknown symbol, the Unicode consortium can't really do much. Also, you can't just say "well, next era begins on September 1st 2054, so let's write that in our date calculator" - precisely because you don't know when an era begins or ends before it's close. [0] https://news.ycombinator.com/item?id=17609063 https://news.ycombinator.com/item?id=17609063
- hsivonen 8y agoSome character properties need to be immutable and can't be set correctly until the committee has an actual character to analyze.
- rayiner 8y ago> For one, Akihito has been on the throne for almost the entirety of the information age, meaning that many systems have never had to deal with a switchover in era. The writer must be 12. The last transition, in 1989, is squarely in the middle of the information age.
- Pfhreak 8y ago> The writer must be 12. Not a useful insight. Compare to me starting a comment with something like "The parent commenter must be an octogenarian." It doesn't actually add anything to your thesis. > The last transition, in 1989, is squarely in the middle of the information age. I, and others I'm sure, would argue that 80s were in the earlier half of the information age, especially if we mark it not by time but by number of systems built.
- lolsal 8y agoThe ageist comment seems unnecessary. I've been on the 'internet' since the 80s as well, but I don't think of the internet really taking off until the 90s, so I understand what the author's comment was conveying.
- geephroh 8y agoDunno -- I'm still emotionally scarred from dealing with JIS, S-JIS, EUC, etc. in the early 90s. Anyone else remember Ken Lunde's fugu book....?
- Isamu 8y agoHow are the eras named? This will be the end of the Heisei era. I grew up in the Showa era (apparently.)
- amyjess 8y agoThe Japanese emperor picks a regnal name when he takes the throne, just like the Pope. The name is actually the name of the emperor, not the name of the era. In Japan, nobody uses the emperor's birth name; they just use the regnal name. For example, nobody in Japan says "Hirohito"; they refer to him as "Emperor Showa" instead (though nobody calls Akihito "Emperor Heisei" now, because it's considered rude to refer to the living emperor by name... he's just "His Majesty, the Emperor"). Note that this wasn't the case until the 19th century. Until Emperor Meiji (Mutsuhito) took the throne in 1867, the name of the emperor and the name of the era were completely decoupled, and the emperor would just arbitrarily start eras whenever he felt like it. Meiji changed all this and standardized Japan on a one-emperor, one-era system. And in 1979 (!), it actually became law.
- rspeer 8y agoIs it generally true that, if the Emperor has to refer to himself by name, he'll use his birth name? The one case I've seen that seems this way is that the first author of this paper on fish genetics [1] is listed as "Akihito". [1] https://www.ncbi.nlm.nih.gov/pubmed/26475939 https://www.ncbi.nlm.nih.gov/pubmed/26475939
- kaybe 8y agoOh wow, it must be insane to be co-author to the emperor! From the outside it's a weird juxtaposion of a traditional, old (from a European point of view) system of state and an everyday modern way of conducting scientific research. You'd just not expect this kind of contact, somehow.
- dragonwriter 8y ago> From the outside it's a weird juxtaposion of a traditional, old (from a European point of view) system of state and an everyday modern way of conducting scientific research. You'd just not expect this kind of contact, somehow. Well, what seems to be the most visible European monarchy outside of its own country (the British) seems to still largely adhere to the custom of the monarch (and, to a lesser extent, the close royal family) refraining from anything that looks like work (military service of the close royal family being a notable exception) outside of royal duties, which might color that expectation.
- _Codemonkeyism 8y ago? " Source: Ken Whistler Date: July 16, 2018 Background The UTC is now working on the Unicode 12.0 release cycle. The tentative release date that I and the Editorial Committee are working towards for that release is March 5, 2018. "
- hyperpape 8y agoI believe it's a typo, and he means 2019.
- azujus 8y agoI sometimes wonder if Unix clock running out in 2038 is going to be our only hope to solve the Great IoT DDOS war of 2030s? :)
- kevin_thibedeau 8y agoWe'll all be reliving the 70's.
- hfdgiutdryg 8y agoIt's seems silly to compare it to the y2k problem, aside from the bit at the end of the article: Many older computers, with aspects dating back to before the end of the Shōwa era in 1989, have never been updated to reflect the new era, and still think the year is Shōwa 93. That means Japan could face another mini Y2K problem in 2025, as those systems attempt to tick over to a three digit Shōwa year they can’t cope with. The real problem with y2k was the amount of compiled code depending on two-digit years. All those conditionals looked exactly like any other integer comparison.
- darkerside 8y agoIt's much like Y2K if you think of the emperor as a digit in a unique numbering system (empero-decimal?)
- pcurve 8y agowhat a fascinating article! the bits about Unicode needing to be updated and also how their legacy systems were never updated for Heisei blew my mind. Great write up!
- dev_dull 8y agoWhy not just keep counting up forever and use it like Japanese epoch time?
- krapp 8y agoStarting from when, Emperor Jimmu?
- dev_dull 8y agoThey’ve already started with the current emperor. Basically don’t change anything is what I’m wondering about — just keep counting up.
- krapp 8y agoSetting aside whatever political and cultural pressures there might be to maintain the status quo, this isn't just a measure of time, it's a measure of units of imperial reigns. What does it even signify if it doesn't roll over when a transition occurs?
- resoluteteeth 8y ago> Starting from when, Emperor Jimmu? This system actually existed but it has an association with ww2 so it probably wouldn't go over very well now: https://en.wikipedia.org/wiki/Japanese_imperial_year https://en.wikipedia.org/wiki/Japanese_imperial_year