[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)