Calendrical miscalculations

I was scheduling a payment online yesterday morning, and when I flipped over to Calendar to check whether the day I wanted was a weekday, I got a surprise (click to see it full-sized).

Screwed up calendar

Looks like lots of days off over the next few weeks.

After a bit of digging, I figured out what had happened, but I still don’t know why.

Many years ago, I used iCal’s recurrence relations to set up a calendar of federal holidays. Some of these, like Independence Day, are on fixed days of the year, but most are on a floating schedule. For example, Memorial Day is the last Monday of May, Thanksgiving is the fourth Thursday of November, and so on.

Somehow, the connections to the months were stripped from these floating holidays. Instead of being the last Monday of May, Memorial Day had switched to being the last Monday of the year, hence its new position on December 28.

Memorial Day definition

This is not something I can blame on El Capitan, as I’m still running Yosemite on both of my Macs. I am suspicious, however, of the iOS 9.2 update that came out a few days ago. I’m absolutely sure that these holidays have never before appeared in the wrong months in the many years I’ve been using this calendar.1

Whatever the cause, I figured it’d be easy to just click the right month for each of the holidays and get back to business. I started with Memorial Day and ran into a snag.

Change recurring event

Obviously, I wanted to change all of the future Memorial Days, not just this one. So I went through and deleted all of the floating holidays and then went back and added them back in with the proper recurrence relations. It didn’t take long, but it shouldn’t have been necessary at all. And if this is somehow related to iOS 9.2, it’s possible that they’ll all change back during some future iCloud calendar sync.

As I’ve said many times before: I hate computers.

  1. If you’re wondering about Mother’s Day and Father’s Day, they’re not in the federal holidays calendar, but in a “special days” calendar that also uses recurrence relations.