Want to read Slashdot from your mobile device? Point it at m.slashdot.org and keep reading!

 



Forgot your password?
typodupeerror
×
The Internet

All Linux and Mac Computers Get Their Time Zones From the Same Database (medium.com) 128

"All Linux and Mac-based computers pull their time zones from a massively important database — the time zone database," explains Medium's tech site OneZero. And this vastly crucial project is ultimately overseen by one man who Medium calls "The Time Zone King." The process of defining time zones is centralized. This is actually quite a big deal in its own right because people tend to grossly underestimate how pivotal Linux is to ... the entire internet and technology as we know it...

The time zone database — which is sometimes called the Olson data or zoneinfo database — has a fascinating history... Not only are time zones apparently a longstanding menace for computer developers, but the time zone maintenance community is currently, it seems, mired among some procedural dispute regarding how this essential database should best be maintained. Of course that's an interesting fact in its own right: there is a world time zone data community. In fact, The Register recently described them as being no less than " up in arms " about the direction the project was proceeding down... A difference of vision among time zone enthusiasts might be the neatest summary anybody can advance....

Not only can't the time zone titans currently agree on the best way to carry the timezone database forward, it seems. But the entire process of codifying and standardizing time zones is also decidedly contentious political business with a long and tumultuous history to go with it. Those who enter the fray need to be therefore not only technical heavyweights but also prepared to have the occasional audacity to stand up to countries like the Hashemite Republic of Jordan and tell them that their attempt to prematurely end DST is unacceptable and will not be promulgated in the database... Weary time zone mavericks are bursting to the seams with horror stories of African states who made rash time zone decisions on only four days' notice... Time zone data insiders say that every single one of these high stakes deliberations represents a near Y2K disaster that must be averted...

At the helm of this project is one individual. One guy. Paul Eggert, a computer scientist who teaches at the Department of Computer Science at the University of California's LA Campus... This is a man, after all, whose codebase helps hundreds of millions of users know what time zone they're in and who — for the past ten years — has gone to bed knowing that hundreds of millions of computers are using his code to know what time zone they're in. He's lived under that pressure for over a decade. And by all accounts thrived... Untold millions have been made by startups announcing dubious advents upon existing technologies heralded with the breathless fanaticism of companies announcing that they have found a way to turn air water into oil. Many of these will vanish into oblivion within a few short years. The time zone database won't. Because it can't. And those at the very bottom of the tech stack — those tirelessly and thanklessly maintaining open source projects upon which so much of the world's computing derives — languish in comparable obscurity...

In recent years, the project has fallen under the purview of ICANN [through its Internet Assigned Numbers Authority]. Its code reads like a cross between a JSON file and a historical novel. And while I'm sure the project has many noteworthy contributors, there's ultimately one guy who's responsible for maintaining it.

The Time Zone King. His name is Paul Eggert. And he's a computer scientist based out of UCLA. We probably all owe him a 'thank you'.

This discussion has been archived. No new comments can be posted.

All Linux and Mac Computers Get Their Time Zones From the Same Database

Comments Filter:
  • Self-promotion (Score:5, Insightful)

    by 93 Escort Wagon ( 326346 ) on Sunday October 10, 2021 @04:01PM (#61878263)

    The linked article seems to be as much about the author promoting his own little Youtube channel as it is about anything else. It's possible there may be something interesting about the actual topic buried there, but I really hate it when people keep injecting themselves into a story that has nothing to do with them.

    • Re: (Score:2, Insightful)

      Meh. The article is on 'Medium' which is basically for self publishing articles. So why shouldn't he plug his YouTube video on the same subject. If the article interests you, read it. If it doesn't don't. Why break someone's balls who takes the time to spread a bit of info to people who may not know about it? Let us know when you post some anonymous article somewhere. Oh, right.

    • You are absolutely right, this is blatant self promotion (not to mention that it is well known how time zones are manged; as a journalistic article this is completely worthless). This sort of thing has been happening a lot lately on /., hasn't it? I wonder if the editors don't care or are pulling some sort of scam.

      • by OzPeter ( 195038 )

        This sort of thing has been happening a lot lately on /., hasn't it? I wonder if the editors don't care or are pulling some sort of scam.

        You must be new around here. This has been going on for so long that there is even a term for it: slashvertisment

    • Re: (Score:3, Insightful)

      by AmiMoJo ( 196126 )

      As someone who has written a lot of code dealing with time, the "interesting" part to me is that it's all such a huge mess and you need a database because you can't just calculate things like time zones from location.

      Time zones change over time too, so if you need to deal with the past you need a complete list of all the changes. Then you have fun trying to handle crossing the date on which changes happened at some random time of day.

      • by HiThere ( 15173 )

        Calculate everything based on Greenwich/Zulu time, and just set your local time as you choose. And please don't make Daylight Saving Time any part of the standard. There are places where the cities have different choices for whether to even do it than the countryside around them. (If that's not true now, it has been true in the past.)

        • by kmoser ( 1469707 )
          And to determine local time at any arbitrary location...you need a timezone database.
          • by HiThere ( 15173 )

            Being more an application programmer, no. I need access to GMT or CUT or whatever they're calling universal time this year. And I sometimes need local access to the offset. The database is a convenience, and ought to be locally overrideable.

        • by AmiMoJo ( 196126 )

          That's generally how I do it, everything is UTC internally. But even then the conversion is not trivial. You need a database of historical changes, things like when leap seconds were added and when timezones changed.

          • by amorsen ( 7485 )

            You generally don't need to know when leap seconds were added for most purposes, since most servers use NTP time where leap seconds don't exist. The second where they happen is not representable in the NTP time stamp format, you simply cannot refer to that second at all. Similarly, for negative leap seconds (not that any have happened yet), a virtual second exists in NTP time stamp format. You can place events in that second if you want, even though it never happened.

    • Re:Self-promotion (Score:5, Interesting)

      by Orgasmatron ( 8103 ) on Sunday October 10, 2021 @06:31PM (#61878703)

      The interesting article to read is the this one [theregister.com], the link on "up in arms" in the summary.

      The controversy is about merging some data that hasn't differed in 50 years, but was different before, tossing out the differences in the less popular branch.

      Basically, in the distant past, timekeeping wasn't as centralized as it is now. Time zones were often set by much smaller political units, down to cities. The database keeps this historical data, making it possible to figure out exactly when something happened, if you have the timestamp and know which timekeeping regime that timestamp was generated under.

      The article mentions Oslo and Berlin. They are exactly the same now because timekeeping policy for both of them is set at a much larger level, but in the past, they were different. So, the proposal is to discard Oslo's historic data and make Europe/Oslo an alias of Europe/Berlin (apparently Berlin wins because it has a larger population).

      Speaking from the safety of having absolutely no responsibility for keeping the system working, I've always thought that the cities thing was stupid for present-day usage. I am no more in the America/Chicago timezone than I am in the Mythology/Atlantis timezone - I am in the United State's Central Time Zone.

      I'm not positive, but I'm pretty sure that both Oslo and Berlin are in a similar situation - it isn't like the Mayor decides which timezone the city is in. I'm all in favor of keeping the historical data for both Oslo and Berlin, but unless someone invents a time machine, no computer should ever be configured as if it was in Europe/Oslo or anything similar, and the idiots who think that picking the nearest major (in their opinion) city is a sensible way for people in the present day to be setting their clocks should probably be flayed alive.

      • by Sique ( 173459 )
        If Norway keeps DST, and Germany abandons it, Europe/Oslo is no longer an alias for Europe/Berlin. Mind you, Norway is not a member state of the E.U., so changes in the E.U. don't affect Norway.
        • And EU have declared that it's up to each individual state to keep or disband DST so even within EU there can be differences when/if the first state(s) decide to go that route.
      • Re:Self-promotion (Score:4, Informative)

        by Todd Knarr ( 15451 ) on Sunday October 10, 2021 @07:19PM (#61878825) Homepage

        There's also the fact that the zoneinfo database is only defined to be complete and accurate for times on or after the Unix epoch timestamp (start-of-day UTC, 1 Jan 1970). Most of that's because it is the Unix epoch timestamp and several modifications of the definition of time_t to handle the Y2038 problem in 32-bit OSes make it impossible to represent timestamps prior to the epoch. I can understand why the people having a problem with the merge have a problem, but most of their problem is of their own making: they used the zoneinfo database for timestamps it isn't valid for because it happened to work. This is what you get for not reading the documentation/spec.

        As far as the geographic time zone names in zoneinfo, you're forgetting DST rules. The zoneinfo names have to account for the fact that there's more than one set of rules that apply to a single time zone. Mountain Time contains a really obvious example. Arizona is in Mountain Time but does not observe DST. Except for the Navajo Nation, which does observe DST. Those geographic-based names are there to identify not just the timezone but what set of timezone rules apply to particular areas within the overall timezone. There are other areas with oddball rules, for instance using a half-hour offset from the standard time zone adjustment. And then there's China, which applies the same offset across 5 timezones. And Canada is in the same timezones as the USA but is a different country so it's rules can differ and that needs accounted for. If you really want, there's the "US" set of zone names which may be more to your liking than the "America" set.

        There's good reason why software developers curse people who think recording timestamps in local time is a good idea.

      • by jrumney ( 197329 )
        A computer is in a geographical location, not a timezone. If that geographical location changes its timezone over time, then the computer needs to track those changes for computing historical times.
      • And this vastly crucial project is ultimately overseen by one man who Medium calls "The Time Zone King."

        Hatchet Harry Lonsdale runs the time zone database?

      • by amorsen ( 7485 )

        I am in the United State's Central Time Zone.

        Only for half the year, I bet. DST is a separate time zone that you swap to/from. For many time zones, only part of the areas covered by that zone do the swapping, while others stick with normal time.

        The correct option is precisely the one you want people flayed for using. Time zones move around and change all the time. Cities mostly stay where they are.

        • Only for half the year, I bet. DST is a separate time zone that you swap to/from.

          "Central Time With DST" is one set of time zone rules; "Central Time Without DST" is another. These are the names that the people living in these areas know. Why should someone in Missouri need to know whether Chicago is in Eastern Time or Central Time, or whether it follows DST? If Chicago decided to switch from Central to Eastern time, or do away with DST, why should that affect someone who lives several states away?

          The only logical scheme is to identity time zone rules based on the organization that publ

        • I am in the United State's Central Time Zone.

          Only for half the year, I bet. DST is a separate time zone that you swap to/from. For many time zones, only part of the areas covered by that zone do the swapping, while others stick with normal time.

          The correct option is precisely the one you want people flayed for using. Time zones move around and change all the time. Cities mostly stay where they are.

          You also have to keep in mind when DST starts and stops. I have friends in Brazil and there can be 3, 4, or 5 hours difference between my local time and theirs depending on the week.

      • You are just silly.
        Basically every device is running on UTC.
        No one is setting his computers time to Europe/Oslo or Europe/Berlin.
        They set the _timezone_ that is something completely different.
        And many people not know in which time zone they live. E.g. I do not know out of my mind how the Bangkok time zone is called. But I'm quite capable of picking my destinations time zone after my plane has launched. By picking 'Bangkok' - simple.

    • As a tangent, even the summary isn’t complete/is wrong. Windows has been using this same database since Windows 8.1 or so. The lack it was actually a massive pain point for me when developing a timezone aware app for an earlier versions of Windows, but we couldn’t require 8.1 or later, given its low adoption at the time.

    • "Buried" is the operative word. At no point in this rambling, incoherent article was there anything that could even be considered a rational thought. Everyone on the Internet is now dumber for having tried to read it. I award the author no points, and may God have mercy on his soul.
  • by Ostracus ( 1354233 ) on Sunday October 10, 2021 @04:18PM (#61878305) Journal

    Not only can't the time zone titans currently agree on the best way to carry the timezone database forward, it seems.

    If one finds a Time Zone Queen then the future will take care of itself.

    • Not only can't the time zone titans currently agree on the best way to carry the timezone database forward, it seems.

      If one finds a Time Zone Queen then the future will take care of itself.

      You really think little Prince Time Zone will be more interested in maintaining Dad's boring, old database than playing Minecraft and Fortnite?

      • "Just because I'm identical to you in every way doesn't mean I'm anything like you."

        - Cubert Farnsworth, speaking to Hubert Farnsworth

      • Little Prince Time Zone would probably already be preoccupied sweeping out the volcanoes on B-612.
    • Nah, only a time lord can fix this.
  • by Sebby ( 238625 ) on Sunday October 10, 2021 @04:24PM (#61878321)

    The summary mentions Linux and Mac systems - what about Windows? Who do we have to thank there??

    • The summary mentions Linux and Mac systems - what about Windows? Who do we have to thank there??

      Telepathic despatches directly from the throbbing brain of Chronos, the Lord of Time.

    • by jrumney ( 197329 ) on Sunday October 10, 2021 @04:50PM (#61878395)

      Microsoft historically maintained their own separate list, but now apparently generate it from the same db as Mac and Linux, with appropriate butchering and additional imaginary time zones for backwards compatibility, and of course they hide all the data away in the registry (Mac, Linux, the BSDs and others use the original format as-is).

    • by clovis ( 4684 )

      Microsoft has always used the four corners of the Time Cube.

      "When the Sun shines upon Earth, 2 – major Time points are created on opposite sides of Earth – known as Midday and Midnight. Where the 2 major Time forces join, synergy creates 2 new minor Time points we recognize as Sunup and Sundown. The 4-equidistant time points can be considered as Time Square imprinted upon the circle of Earth. In a single rotation of the Earth sphere, each Time corner point rotates through the other 3-corner Time

    • by Anubis IV ( 1279820 ) on Sunday October 10, 2021 @07:54PM (#61878905)

      Historically, Windows had no notion of this stuff. It simply stored an offset from UTC and knew to change it twice a year if told to automatically adjust for DST.

      Today, Windows uses this same database, and has since Windows 8.1 or so, so I’m not sure why the summary was written in a way that would suggest otherwise.

      • by Gim Tom ( 716904 )

        Historically, Windows had no notion of this stuff. It simply stored an offset from UTC and knew to change it twice a year if told to automatically adjust for DST.

        Today, Windows uses this same database, and has since Windows 8.1 or so, so I’m not sure why the summary was written in a way that would suggest otherwise.

        In 2007 the US Congress decided to change the dates that most, but not all, of the US would go onto and off of DST. The very last major project I worked on before my retirement was to have my group install patches from Microsoft (manually one at a time) on about 200 workstations and over 20 servers so that they could use what was in effect the same tz time zone file that Unix and Linux had been using. I can't remember which version or versions of windows all the workstations were on but I suspect it was s

        • by anegg ( 1390659 )

          Actually...

          The US Congress most recently decided to swing their dicks with respect to the period of the year in which DST is observed in the United States during the year 2005 in a bill entitled "The Energy Policy Act of 2005", with the actual implementation left for the year 2007. Rather predictably, despite the advance warning there was a vast scrambling in early 2007 to fix (in various ways) all of the electronic/computer devices that used timekeeping and had automatic DST calculations so that they wou

  • by bill_mcgonigle ( 4333 ) * on Sunday October 10, 2021 @04:35PM (#61878345) Homepage Journal

    > and tell them that their attempt to prematurely end DST is unacceptabe

    If the clock isn't set so the sun is at its apogee at noon, then some politically-defined timezone is in effect.

    It is whatever the local people agree it is. If some nerd at UCLA doesn't want to acknowledge what the people on the ground agreed to, then, OK the computers will be wrong for them.

    This doesn't seem like it's worth celebrating.

    Some dummies pretend that they're more than an hour off the solar cycle. Unwise IMO, but for them it's real.

    I dunno, maybe don't call yourself a king if you're trying to be a servant leader.

    • It may be real for them, but it also means they probably aren't going to work well with others. And that's OK. My take is, why should we play nice with people who want to live in their own world and make it hard for others. My answer is, we shouldn't. Countries that do that should solve their own Y2K issues. And that's not to say it isn't alright for major jurisdictions to decide to stay on standard time all year, as long as their standard time is recognized as being an existing standard defined timezone. :

      • by PPH ( 736903 )

        why should we play nice with people who want to live in their own world and make it hard for others

        Because they are sovereign nations and that is their right. And if I want to 'play nice' (i.e. do business with) people, I will have the manners to accommodate their local customs and traditions. And they will accommodate mine.

        We haven't adopted COMINTERN yet.

    • It is whatever the local people agree it is.

      This. There's zero reason for the apogee to be at noon. There's also zero reason for work hours to start at 8am, for dinner to be at 6pm. These are nothing more than societal norms.

      Honestly this entire thing reads like self important bullshit. No the time being off by an hour won't cause a Y2K disaster. It will amount to an inconvenience for poorly written software at best, but no more than any other DST change.

    • by jeremyp ( 130771 )

      There's only one apogee a year. The word you want is "zenith".

  • by Eubeleus ( 150101 ) on Sunday October 10, 2021 @04:40PM (#61878357)

    Hasn't systemd usurped this yet?

    • Please don't give him any new ideas.

      (not that he probably isn't already working on screwing this up)

    • by jrumney ( 197329 )

      See timesyncd.

      • Holy crap. I had to check to see if you were serious. You were. It's a crap half-replacement for ntpd that openly admits [freedesktop.org] it doesn't actually do the job even half as well.

        Is there anything on earth, or elsewhere, that systemd won't eventually try to take over???

        • systemd-vaccined
        • systemd-publictransitd
        • system-electiond
        • systemd-solarsystemd
  • Ask Tom Scott:

    https://www.youtube.com/watch?... [youtube.com]

    And this is 7 years old. Any surprise it's gotten worse?

  • by quonset ( 4839537 ) on Sunday October 10, 2021 @04:57PM (#61878415)

    there's one point of failure.

    Good to know.

  • Comment removed based on user account deletion
    • by The1stImmortal ( 1990110 ) on Sunday October 10, 2021 @08:30PM (#61878967)
      It's a flat database of information, administered by ICANN and maintained by Paul Eggert.
      It's generally distributed in full, it's not a black box hosted service
      If Eggert got hit by the metaphorical bus tomorrow, the database would still be there and available for use, ICANN would just have to nominate a new maintainer. It's (at a technical level) not that big of an issue to the world.
      Additionally, anyone could start publishing their own version of that database at any time, if someone decided Eggert and ICANN weren't doing the right thing.
  • I've experienced many problems when the brazilian DST starts or finishes. The problem is caused by our (brazilian) government, which decides each year if and when the DST vigours, but even when they do that with reasonable time before the starting day, some device will have problems.

  • by sk999 ( 846068 ) on Sunday October 10, 2021 @08:17PM (#61878959)

    Back in 2011, Olson and Eggert were sued for copyright infringement by ... astrologers. Turns out much of the pre-1970 time zone information comes from publications of astrologers, who need to keep accurate track of such information when casting horoscopes. The lawsuit was ultimately dismiseed back then, but I sense another one coming.

    "How Astrologers Contributed to the Information Age: A Brief History"
    https://astrologynewsservice.c... [astrologynewsservice.com]

  • We don't really NEED time zones. In fact, you really could just have one time, regardless where you live. 5 o'clock doesn't have to be associated with quitting time or happy hour, unless you happen to live at +0.

    People would quickly get use to it but then you wouldn't need to be worried about what time it is somewhere.

    Don't get me wrong, I can see the useful of time zones, but they aren't strictly necessary. Plus, even with no time zones, we could still have local time and real time. Most people don't care

    • If the earth really were round it would obviously roll off the back of the turtle!

      • If the earth really were round it would obviously roll off the back of the turtle!

        It sticks because of Antarctica.

      • But the elephants work well to keep it balanced on top....

        And, if you feel like reading some excellent fanfiction, AA Pessimal tackles the concept of timezones on the Discworld in his "Price of Flight"/"Strandpiel"/"Strandpiel 2" novels on fanfiction.net

         

    • by AvitarX ( 172628 )

      We have local time (time zone and DLS rules) and real time (UTC) already.

    • by ceoyoyo ( 59147 )

      Yeah. People used to do that. It worked, but there were some annoying things, especially after we started inventing stuff like the telegraph and radio. So we invented timezones.

      You're quite welcome to set your clocks to TAI. Most people prefer not to, for some reason.

    • by jeremyp ( 130771 )

      You'd still need to know the equivalent of time zones. For example, if I - working in the UK - need to call somebody in California on the telephone, I have to know what their office hours are.

    • We don't really NEED time zones.

      Correct. They are a convenience for people. People also don't NEED food that tastes good. In fact, you could just have everyone eat a nutritionally perfect but completely bland pap. People would quickly get used to it but then you would solve world hunger and obesity all at the same time.

      Don't get me wrong, I can see the usefulness of tasty foods but they aren't strictly necessary.

      Are you ready to be able to only buy jars of bland, baby food at your local grocery store?

  • I'm retired now, but I spent decades as system administrator and decades as a programmer. Allowing everyone in our company, no matter what country or continent, to view the date time stamp on shared files and report it the time zone of their local computer, and being able to actually tell which of two version is newer, no matter who created them or when or where, is a really big deal. Computers do not magically get this stuff right. Someone has to write code that understands the rules, and administrators
  • I posted these links before in 2018, but I'll post again, since they're tangentially related.

    https://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
    https://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time

  • The process of defining time zones is centralized.

    Because I can't set my timezone how I want.

    Oh, wait.... I can.

  • So if I save a document in 2019 it is using the TZ map for 2019 to save the timestamp.

    If I look at the doc metadata in 2023 would it retrieve the TZ data from 2019 to show me the timestamp or use the TZ data for 2023?

  • This problem is mostly avoided by having your software use UTC. Not sure how big a problem this could be except displaying dates to a user and importing dates from a data source not using UTC.

Top Ten Things Overheard At The ANSI C Draft Committee Meetings: (5) All right, who's the wiseguy who stuck this trigraph stuff in here?

Working...