10 ms·
Recreating the US/* time zone situation
- reactordev 1y agoI commented on the other post about how timezones bit me, continue to bite me even though I do everything in UTC now, and will probably bite me again in the future. I also like that she’s able to reproduce it but I feel like this should have been a test check in the distro to ln the US zones as to not mess up older codebases. In the end, standardizing is the right way to go. If you’re a maintainer, think about adding tests and checks for files that if moved might break things that depend on it. Maybe a service that watches for fd access to those and gives a warning, I don’t know what the best approach would be but it would be nice to have something at the user land level that said “Ahh ahh ahhh, you didn’t say the magic word”
- joeyh 1y agoIt's worth noting that a new installation of Debian will still display the same Eastern, Central, Mountain, Pacific menu to the user as shown in the screenshot. It just maps those to the non-deprecated names now.
- swaits 1y agoCumbersome read. I gave up.
- p_ing 1y agoRead the previous blog post [0] -- this one is disjointed without it. I dislike TZ selectors that use locations (cities, countries, etc.). Let PDT be PDT(-8) and PST be PST(-7). Why do I need to choose Cupertino, CA (or LA in the blog post example) -- locations over 1k miles away from me? And while I certainly understand where Cupertino is and how it relates to my TZ, what if someone else doesn't? Cupertino isn't a major population center. Anyway, poor UX. But of course TZ names could also be argued as poor UX. What if you just did PST/PDT as Los Angeles, CA; Oregon, OR, and Seattle, WA all on separate line items? Sure, it's duplicate data but a backend system (Postgres config files, say) should only store the value of the TZ, i.e. -7 / -8. At least a user could recognize 'oh, I drive to xyz major city occasionally, that's the choice I want'. To keep ranting, I checked macOS 15 TZ selector for PDT/PST. The selector itself is labeled "Closest city". It has numerous locations in California, a few in Nevada, and a couple in Mexico. No cities in Oregon, Washington, or Idaho (and Hyder, AK... neat [1]). Closest is a stretch, like I said, over 1K miles from LA. But why several California cities, including minor ones like Oceanside (~175K people), but nothing in Oregon (Eugene, also 175K), Portland (652K), or Washington - Tacoma (220K), Seattle (740K). Note I did not look for the smallest city in the macOS CA list. It's weird to me. Maybe it's because Oregon == Intel and Washington == Microsoft. ;-) [0] https://rachelbythebay.com/w/2025/09/11/debtz/ https://rachelbythebay.com/w/2025/09/11/debtz/ [1] https://en.wikipedia.org/wiki/Pacific_Time_Zone#United_States https://en.wikipedia.org/wiki/Pacific_Time_Zone#United_State...
- amiga386 1y ago> I dislike TZ selectors that use locations (cities, countries, etc.). Let PDT be PDT(-8) and PST be PST(-7). You can choose that. Set your timezone to Etc/GMT-8. Then, at the exact time your political jurisdiction mandates switching over to PST, go to all your computers and switch them all to Etc/GMT-7. Then do the same thing next year for switching back. What? That's bad UX as well? Well then, you have to name the correct political jurisdiction that mandates the timezone rules where you live. And that's hard, because so many little tinkerers at state and municipal level decide to change the rules just for their little fiefdom. And they keep changing their minds. The tz database is looking for the longest-lived identifier that accurately describes that geographic region to which the rules apply. Every time one region diverges from the norm, they need to accommodate the split. They chose continent and city names, because the historical perspective is that city names have remained in use longer than country names. For your case, however, they have aliases. "US/Pacific" is an alias to America/Los_Angeles", as is "PST8PDT". Set and forget.
- dheera 1y ago> You can choose that. Set your timezone to Etc/GMT-8. In the Debian installer yes, but the stupid Ubuntu installer forces you to pick from a map.
- mindslight 1y agoIf the map let you pick any arbitrary point rather than having to pick a specific city in the TZ database, that would actually be a better way than a list of cities. See the discussion elsewhere in this thread about mapping Salt Lake City -> (Boise vs Denver). (I don't think the TZ database contains the information to do this though, but maybe it should?)
- prmoustache 1y agoThe good option is not to yell at clouds but to open a bug report, provide a patch, use Debian or change it after install.
- tomhow 1y agoDiscussion about previous article in series: Debian 13, Postgres, and the US time zones - https://news.ycombinator.com/item?id=45218111 https://news.ycombinator.com/item?id=45218111 - Sept 2025 (142 comments)
- quuxplusone 1y agoTitle should involve "US/*", not just "US".
- deleted 1y ago[deleted]
- equinoxnemesis 1y agoContext on "THE ONE", a phrase used in this post, because it wasn't obvious to me initially. https://rachelbythebay.com/w/2018/04/28/meta/ https://rachelbythebay.com/w/2018/04/28/meta/
- rlpb 1y agoI'm not sure I understand the purpose of these blog posts for what is, at best, a simple bug in Debian. When I encounter something like this, I find steps to reproduce and file a bug. That's it. If someone wants to get indignant and broadcast how terrible it is that a project (Debian in this case) is so terrible that they dare have a UX issue that is probably just an oversight, then they're entitled to do that but can also expect pushback where they aren't perfect either.
- bityard 1y agoRachel has been blogging for a long time, she knows what topics get clicks and stir up debate on social media.
- flomo 1y agoThanks, I missed it. (I should note that in my crowd, references to this movie are always super-negative. "The One" gets damned to hell to eternally fight, but never win his battle.)
- Joker_vD 1y agoThat's the problem with writing posts both of the "everyone else is doing things WRONG, those dang fools" (e.g. the series on RSS readers) and "oops, I did a stupid mistake, heh, TIL" styles and variety: the latter ones tend to attract comments from "The One" (oh noes) referencing the first kind of posts. Naturally, a humble person would simply read them, note them, and move on withouth replying — but a humble would person would not write the "everyone else is doing things WRONG, those dang fools" kind of posts either in the first place; and so we get the third kind of posts, the ones with "yeah, I did a small mistake, but I've admitted it myself, so no one else is allowed to criticize me; anyway..." disclaimer on the top. P.S. I do distictly remember how a reply on HN to one of her earlier posts on RSS clients mentioned that her laments kinda miguided since her own feed doesn't set one very well-documented and basic cache-controlling HTTP header that most readers actually do respect; but some time later in her later post she described that header as matter-of-fact knowlewdge, no "I've learned about this one recently" remark or anything, and by that time, her RSS feed had started setting it.
- themafia 1y ago> I got to wondering... why did I pick "US/Pacific", anyway? That's what the authority that defines the zone calls it. Using any other name is adding a useless layer of abstraction.
- bouke 1y agoIt is not, that’s the whole point of the blog post this one follows up on.
- themafia 1y agoThe United States Government calls it "The Pacific Timezone." They define it, maintain it, and broadcast it's definition. They're the only entity with the authority to do so. That's what I'm using. I'm not using whatever the time happens to be in Los Angeles, I'm using the federal timezone definition. My timezone should absolutely be just "US/Pacific." Using "America/Los_Angeles" is _absolutely_ an abstraction and it's obviously entirely unnecessary.
- fweimer 1y agoThe core issue is that tzdata files do not contain the time zone identifier. If you are unlucky in /etc/localtime is not a symbolic link, you have to scan the files in /usr/share/zoneinfo to find a match. PostgreSQL prefers shorter names: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commitdiff;h=e3846a00c2f87402dcedf7f07950ab2d89cf5827 https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit... That's why "US" wins over "America".
- azinman2 1y agoLooking at that code I’m shocked that Postgres allows two-liner if statements without a matching {} (I’m sure someone pedantically will point out that I’m using the wrong terminology or that it was actually several lines of conditionals). This practice is very bug prone, and has lead to high profile failures like goto fail
- yencabulator 1y agoThe project history goes back to 1982. There may have been rewrites in the later 80s, but it's some of the oldest C around, and a very conservative codebase (e.g. Linux kernel gets much more aggressive refactorings regularly). That particular git repository has history imported from 1996 onward, but Postgres was a very established project by then: https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit;h=d31084e9d1118b25fd16580d9d8c2924b5740dff https://git.postgresql.org/gitweb/?p=postgresql.git;a=commit... These days people might not blink an eye at gofmt/rustfmt rewriting the AST to clean it up, but those toolchains were built that way largley because automating anything about large C codebases is so hard.
- azinman2 1y agoExcept this was new code.
- yencabulator 1y agoGenerally, large C projects have their own style that is followed whether the code is new or not.