this post was submitted on 03 Apr 2024
1103 points (96.2% liked)

Programmer Humor

19817 readers
257 users here now

Welcome to Programmer Humor!

This is a place where you can post jokes, memes, humor, etc. related to programming!

For sharing awful code theres also Programming Horror.

Rules

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 9 points 8 months ago (1 children)

They just gave an example though of people who made up their own timezone because the official one was bad.

These systems exist for people and if no one other than programmers wants to do the internal calculus of "The sun is setting and they're a quarter of the earths rotation Eastward, so that means they're probably in bed" every time you want to call someone, then we shouldn't make the standard that way.

You also get some things that become way more complicated, like "send the user a notification at the start of the normal working day".
Right now you just look up the timezone in their profile and send it at 9:00, but without timezones, you need a "database of regional conventions for coordinating business hours", which is just a worse way of having timezones.

Timezones exist because they have a purpose. UTC exists because having some sort of coordinated universal time is helpful and people (outside of Greenwich) don't use it because it isn't helpful to them, except in specific circumstances.

It's like abolishing everything except latin1 because Unicode is a pain. Wanting to write your name in your traditional alphabet is just a habit that people can break.

[–] [email protected] 0 points 8 months ago (1 children)

They just gave an example though of people who made up their own timezone because the official one was bad.

Yeah, and in reply I argued that they did this out of not wanting to change their habit of associating 12 o'clock with noon. Which is in my opinion an understandable impulse but not a good reason to preserve the status quo.

These systems exist for people

Yeah fair, I'm aware I'm toeing unpopular opinion territory here.

and if no one other than programmers wants to do the internal calculus of “The sun is setting and they’re a quarter of the earths rotation Eastward, so that means they’re probably in bed” every time you want to call someone, then we shouldn’t make the standard that way.

But the standard is like that right now, worse even with DST and other complexities.

Right now you just look up the timezone in their profile and send it at 9:00, but without timezones, you need a “database of regional conventions for coordinating business hours”, which is just a worse way of having timezones.

Well no you need an offset. Like the user has set +8:30 as their offset, so send the notification at 00:30 UTC. That's not worse than having timezones, that's having timezones but simpler.

Timezones exist because they have a purpose.

Yeah, and some of those purposes are bonkers.

It’s like abolishing everything except latin1 because Unicode is a pain.

More like getting everyone to use Unicode, but whatever. Like I said I see why it would be unpopular to the point of being unenforceable, but that doesn't mean an unambiguous way of communicating time as the default would be entirely undesirable.

[–] [email protected] 3 points 8 months ago

My point is we have that unambiguous system you want. People don't use it except in specific circumstances. Instead of saying those people are wrong, you can look at why they don't use UTC for everything.

People don't use UTC because people aren't usually interested in universal time, they're interested in time of day, which is fundamentally tied to the position of the sun and people's day night cycles.
The people in China who made their own bootleg timezone illustrate that perfectly.

We don't currently have to reason about where someone is physically located to know if they're likely asleep. I'm in UTC-4. It's 15:30. It's 19:30 in London. I know the evening is advanced enough that I shouldn't call my coworker there, but early enough that I can if it's an emergency. I forgot California's timezone, so I googled it, and it's UTC-7, so it's 12:30 there. I should probably wait half an hour to call to avoid the typical lunch hour.
Otherwise I use a tool to look up and see that solar noon in California is around 20:00, so people are probably doing their midday routines then. Except that California shifted business hours so that they're offset an hour from solar noon to reduce energy consumption, which I didn't know.
And what do we do about places like Texas where solar noon varies by more than an hour on different ends of the state? For simplicity, most regions like to synchronize working hours inside their contiguous economic sphere. So I can assume that the state would pass a law relating to what time was considered "convention", since we need schools, businesses, banks and government services to be consistent inside a jurisdiction.
It's important we have stuff like that be uniform, because jurisdictions have laws about stuff like preventing teens from working during school hours, or preventing schools from starting class so early it interferes with children's sleep or staying in session so long it interferes with their evenings.
Texas can just mandate that standard business hours are 14:00 to 22:00.
Thank God they didn't end up having to mandate that the standard business day is split across two different calendar days like California. Imagine the hell of child labor laws when you have to stipulate that teens can't work between the hours of 15:00 and 1:00 the next day unless said scheduled interval begins on a weekend.
Business hours being posted as 00:00 - 03:00, 17:00-00:00 for things like Sandwich shops is my favorite though. "I closed for the night today at 3, but I'll be open again later today in the morning at 17" just has a delightfully complicated inhuman ring to it.

There's a reason people like their days to line up with their days, and we like to base our clocks around how we live our lives where we are, not where the sun in in Greenwich.

I fundamentally disagree that a system that's identical to how we work with timezones but non-standard, like a UTC offset system you describe, is simpler than timezones, which are standardized UTC offsets. At best it's timezones with a different name and more of them.

Latin1 is far simpler than Unicode, and doesn't have conversion issues. It's static and very difficult to get wrong. It's clearly a better match for comparison to UTC-only. It's only downside is that it leaves everyone outside of a small segment of the worlds population to build their own janky system for dealing with their silly human need to reason about time in an intuitive sense/write their names.