Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
How the tz database works (2020) (yatsushi.com)
66 points by jumbosushi 13 hours ago | hide | past | favorite | 13 comments




This change https://github.com/eggert/tz/commit/baea52df7ac9c4b53857556f... was a huge pain in my ass in 2013.

I was working in Libya on voter registration tools with the UN and the High National Election Commission. The government decided to not implement a planned TZ change, and didn't inform the public until the day of. Not the hardest thing we dealt with, that was a full country internet shutoff by a mob outside our data centre (https://www.bbc.com/news/world-africa-25481794). Sometimes the politics of a project are more complicated than the technology...

We did implement an all-SMS voter registration system, which was pretty cool. Hasn't been used much since, but it's all open source. https://github.com/hnec-vr


> I was working in Libya

Complete tangent, but I don't think many Americans know this (I'm assuming you're an American)

If you aren't American, you now are now ineligible to go to America as a tourist without an expensive hasslesome visit to a US embassy. (No online ESTA)

I have friends that have gone to countries like Libya, and Syria to do similar international work. An British engineer I know recently went to Syria for a few days.

I pointed out that he is no longer allowed to go to the US without going to the embassy for a visa. He's ineligible for an ESTA.

He said "fine, work will have to pay for it".

I then pointed out this is for the rest of his life. He regularly holidays in Florida. He might leave the media or change jobs so they no longer pay for a visa.

I've been asked to go to Iraq in the past, but I've said no because of this. Was a very expensive weekend for my friend.

Another friend is in the British Army, he's gone to various places as part of both British and NATO deployment, not using his personal passport - but using travel orders. He managed to avoid going to Iraq which is lucky for him, means he can still get an ESTA.


Many Americans (and non-Americans) also don't know that not all countries are supported with ESTA. So, for me, being a citizen of a '3rd world country' in Europe, I have to visit the embassy.

Although I am resident in EU and haven't been to any of those 'flagged' countries.


I am an American, and most of the other folks on the project were as well. I did go through an interview with Customs officers when I returned to the US, but it didn't affect my ability to use GlobalEntry. I don't have clearance, but it might cause questions if I did apply for that in the future.

I've also been to Syria as a tourist several times, and at one point had to maintain a second passport for visiting Israel or the West Bank. You can't travel to most of the Arab world if you have Israeli stamps, but you can get another book from the US to keep them separate.

Sorry for your friend. Borders are bullshit.


I've found the comments in the database files (e.g. North America https://github.com/eggert/tz/blob/main/northamerica ) to be an interesting documentation of the history of the definition of time for various areas. For example, Indiana https://github.com/eggert/tz/blob/main/northamerica#L846

Took a class with professor Paul Eggert at UCLA, the person who maintains this db. Super chill dude. In his exams, he makes sure to add a question he doesn't know the answer to himself.

One interesting thing I learned while I tried to handle local time and NTP on a Raspberry Pico is that the TZ environment variable (that's usually something like "Etc/UTC" pointing to a zoneinfo file) can contain a TZ config as well, like "CET-1CEST,M3.5.0/2,M10.5.0/3". [1]

[1] https://sourceware.org/glibc/manual/2.42/html_node/TZ-Variab...


Great write up. This is very informative. Yet another thing I've taken for granted and hope to continue to take for granted because it generally just works and the bugs are my own.

Since nobody else has posted it...

https://xkcd.com/2347/


explainxkcd is timing out, probably from all of HN checking their recollections that 2347 was about the tzdb.

https://www.explainxkcd.com/wiki/index.php/2347:_Dependency


Is the author using `/ #` as the prompt string? I find the commandline sections hard to read.

If you look at the first command - there he switches into a docker container, where archlinux seems to use that as root prompt.

sounds reasonable: `#` is the standard prompt marker when you're root, `/` is the path they're currently at.



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

Search: