@roadriverrail I like to point out the 15, 30, and 45 minute offset time zones. Also the fact that any of these rules can change whenever some government body somewhere in the world decides to change them for some reason.
@darius I once had to work on a time zone problem. I remember explaining to the boss that time zones are just madness because they define more than a simple GMT offset; they also set your DST dates. And that matters in Arizona, where you're on Mountain time but don't observe DST, except for the Navajo nation, which does. He asked why that was so important, and I noted that tribal lands are over 1/4 the land mass of Arizona. Then he knew my pain.
@darius@RyunoKi using NodaTime (the library used as a reference in this post) completely changed my perspective on working with datetimes and also now makes me very angry about every language's datetime stdlib which all seemed designed to maximize footguns.
The end result is programmers learn "datetimes are scary" instead of "this stdlib sucks"
So I guess the most correct thing to say is that there is no test coverage for historical time in Ruby (this matters because time zones change over time so if you are trying to make accurate comparison across years and especially decades this will come into play)
Wait I stand corrected! There are some tests, they are in Time and not DateTime. But also the ruby docs point out that there are actual differences between the two if you are calculating historical time
There also appear to be.... no unit tests for timezones in Rubylang??? Am I reading this right? They haven't even been touched in ~3 years and most of them are placeholder
> If you also have to deal with timezones then best of luck - just bear in mind that you'll probably be dealing with local solar times, since it wasn't until the 19th century that the introduction of the railways necessitated the need for Standard Time and eventually timezones.
@Chronotope@darius Told a class once, there are some classes of software problem where you only have two choices; you dedicate your life to them, or you exclusively use tools made by people who have dedicated their lives to to them. Every other option is a road to madness and agony.
@Chronotope@darius If you choose to pursue that path - timezones and cryptography for example - you will have a long, rewarding career ahead of you, and outside of a small cadre of your fellow developers, nobody will ever know who you are, or how much the world owes you.