[HN Gopher] cal 9 1752 ___________________________________________________________________ cal 9 1752 Author : susam Score : 49 points Date : 2021-12-24 17:43 UTC (5 hours ago) (HTM) web link (susam.in) (TXT) w3m dump (susam.in) | bahmboo wrote: | You think that's bad? The year -45 has been | called the "year of confusion," because in that year Julius | Caesar inserted 90 days to bring the months of the Roman calendar | back to their traditional place with respect to the | seasons. | | Even if you don't explicitly deal with historical calendars it is | important to understand calendaring in many software engineering | areas. | | https://eclipse.gsfc.nasa.gov/SEhelp/calendars.html | ithkuil wrote: | And he was in part responsible for the mess since he assumed | the role of Pontefix Maximus but was away from Rome to wage war | left and right and didn't fulfil his yearly duties of syncing | the calendar. | | The role of the Pontefix Maximus was to insert intercalar | months to sync the calendar to seasons. | | With the reform he basically automated himself out of the job. | natas wrote: | September 1752 Su Mo Tu We Th Fr Sa 1 2 14 15 | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | | why why why why why why | SAI_Peregrinus wrote: | Shift from Julian calendar to Gregorian. Easter wasn't at the | right date any more due to the Earth's precession, so the | Catholic church changed the calendar. | | Different countries changed at different times. Quite a bit of | Europe did the switch in October of 1582 when Pope Gregory | instituted the new calendar, and skipped 10 days. England | waited until 1752, by then the Earth had precessed enough that | another day had to be skipped. | giva wrote: | Russia did it in 1918. For this reason, the "October | revolution" happened in November. | nradov wrote: | The Serbian Orthodox Church still hasn't done it. | Eventually they'll have Christmas in July. | giva wrote: | Iirc, the minimum value for a datetime type in SQL server used to | be 1/1/1753, for the same reason. | beermonster wrote: | Oh this brings back memories. I used to enjoy performing demos of | cal for that month/year. | usui wrote: | Just wondering, is it possible to have a calendar system that | automatically adjusts to the Earth's orbit around the sun | dynamically with a precision/accuracy as high as possible? I | imagine the calendar would need to note how long that calendar | year was, how long a day was, and to what precision it is | recorded. | | It would be interesting if systems never had to account for a | leap day every n years. I suppose 0.003% of a day (the error rate | each year) each year isn't a big enough concern, otherwise known | as 2.592 seconds. | trasz wrote: | Please no. Trying to sync time to Earth rotation is why we have | leap seconds, and they are pretty much universally hated. | | (They are hated, because AFAIK they are unpredictable, which | also answers your question, assuming you were asking about | purely algorithmic/mathematical way without any outside | inputs.) | noah_buddy wrote: | I do like the idea of variable length 'true' days as a more | exact measure of the world around us but the thought terrifies | me as a programmer (or even someone who needs to get practical | things done). It's so much easier to reason about time in | standard units even if they're wrong. Now if we were to | eliminate day light savings, that would be a greatly | appreciated change. | gumby wrote: | There's precedent: the Babylonian day was 12 hours long; the | night likewise. They knew sunrise and sunset so could set a | given day's hour to be 1/12th of that (and night's). | | They clearly knew the extreme cases (the solstices and | equinoxes) but I don't know if they actually adjusted each | day; I don't know how they actually market the hours, much | less why they would bother. | | Even the "minute" (small part) and "second" (the second | division) were measured only due to the development of | technology that allowed it. | hashimotonomora wrote: | To clarify, daylight was divided in 12 periods of equal | length called "hours", as well as nighttime. This length | depended on the day of the year, when measured with the | current definition of hour. 24 hours was always a complete | day. | timepolice007 wrote: | This just illustrates how important it is that we take care of | our environment. Travelers think they can just pollule whatever, | but that pollution does have very serious adverse affects. Tens | of thousands of people just pop out of existance when a major | temporal restructing like this happens. The whole correcting | calenders handwavium, while preventing mass awakening, will never | undo that tremendous loss of life from one careless adventurer. | woodruffw wrote: | I also ran across this a couple of years ago[1], and there's a | cool twist to it for different regions (which adjusted their own | calendars on different years): `ncal` correctly handles the skip | differently for the UK: $ ncal -s GB 9 1752 | September 1752 Mo 18 25 Tu 1 19 26 We | 2 20 27 Th 14 21 28 Fr 15 22 29 Sa 16 23 | 30 Su 17 24 | | [1]: https://blog.yossarian.net/2015/06/09/Dates-That-Dont-Exist | bodyfour wrote: | I distinctly remember being shown this ~35 years ago when I was | first shown UNIX as a demonstration of how high-quality the | commands were implemented... even something as weird as the | calendar changeover was accounted for. | | And, yes, it exists even in the earliest versions of the "cal" | command, dating back to the mid 1970s: | https://github.com/dspinellis/unix-history-repo/blob/Researc... | | The implementation is pretty clever as well. The jan1() function | simply returns the day-of-week the year starts on (and knows | about the calendar-system change). The cal() function compares | jan1(y) and jan1(y+1) to detect leap years by noticing if the | weekday of Jan 1st advances one or two days.. and if it's | anything else it assumes it's handling the 1752 case. Then inside | of the printing loop it just jumps from 2 to 14 whenever it is | rendering a month that happens to contain 19 days. ___________________________________________________________________ (page generated 2021-12-24 23:00 UTC)