Home Creators Posts Import Register Favorites Logout

Content

My new video is all about a mystery bug in the Apple Calendar which means the years and months start to break from 1849 and earlier. You can watch the whole main video at this URL (still uploading at the time of this post; will be processed and available soon!) https://youtu.be/ER1a6jgW1Gs

This patreon video is the extended scrolling sequence which picks up exactly where the main video ends. Enjoy!

PS Thank you so much everyone who has maintained, or even increased, their support during this difficult time. It is hugely appreciated!

Files

PATREON: the extended Apple Calendar scrollapulooza

So much scrolling. Strap in.

Comments

Em Raymond (edited)

Comment edits

2026-09-08 08:00 Thanks for the bonus content! I'll enjoy it whilst the main part keeps processing ;) was it an intentional thing because the calendar flips into the negative?
2020-04-03 22:21

Matt Parker

The negative flip was a surprise to me! You’ll see it happen in the main video (which is taking forever to upload/process, sorry).

Em Raymond

I'm curious to see when it flips once it's processed, I'm a software developer (no surprises, though I don't have a degree in mathematics!) and was recently working on a calendar user interface - we encountered so many weird things going back in time and eventually gave up on making it work much before the year 900 CE

Shakal Draconis

I'm on Android, and the calendar there just hard stops at 1902, it refuses to try to scroll any further.

Stephen Benner

I’m disappointed that there are only 365 days in 46 B.C.

Hades948

My first thought was also a floating-point error. But now that it seems to work past 200AD, I'm not so sure! Certainly one of the stranger bugs I've seen since it doesn't completely break. Just for 200-1849

Timur Sultanov

weird I wasn't able to reproduce 1849 bug on 13.3.1 for some reason on my iPhone 6, yeah only has problem on 1583 Maybe has to do with newer iPhones? And it indeed crahsed when I went to landscape

Vincent Zalzal

I don't have access to an iOS device, but I'd be curious to know if it eventually encounters problems when going forward in time. Maybe we can symmetrically pinpoint a year in between faulty years in each direction (software developer here too!). Such a weird behavior :)

Timur Sultanov

In fact it crashed so bad I had to delete and reinstall calendar to even run it...

Keith Moser

I tried scrolling forward in time and the calendar definitely stuttered every few hundred years, but it never failed. I'm guessing maybe the code uses the trick that the Gregorian calendar repeats every 400 years to not break due to running out of room counting microseconds? I was scrolling forward before watching the video (and before I saw the disclaimer that the calendar could crash) so I can't recall exactly when I saw the calendar stutter and I didn't think to check at the time if it was every 400 years or not (sorry!)

Gregor Shapiro

Glad you could help Seth, I did notice the improvement. Interesting it was your input!

Nutella Nutella

Cut out for me in the year 1583. Came back in in the year 299. I decided to keep scrolling backward and it cut back out in the year negative 3779. I kept on scrolling even past that and after a few more 10s of seconds of scrolling, it just crashed. (Running 13.3.1 btw)

Chris Sereni

Cool to hear Seth is a nice guy... I thought your video was funny and really well done.

Frank Wales

I note from the video that the months in the busted years look mislabelled. So, once December goes "missing", I think it's because December has been labelled 'Nov', November has been labelled 'Oct' and so on back to March, mislabelled 'Feb' and February mislabelled 'Jan'. This explains why November and February both have 31 days -- look at January and you'll see it has 28. I can't explain why this is; I can only assume that there's an off-by-one indexing error in the data structure or function that preps the month days for a year, but the month names are being applied separately without the same error (probably for reasons of internationalization, I'm guessing they're applied at a later stage of the code that looks up your language preference). Black-box debugging is fun (e.g., an old example by me on banks and whitespace: https://blog.frankwales.com/2009/07/15/give-me-space/ ), but it'll be cool if someone with access to the actual code can explain WTF is actually going on here.

Joseph Parker

their was no 0 year.. so 205 = -204... so leap year

Matthew Askins

I'm getting a slightly different number than I've seen from everybody else. I have an iPhone 8 Plus running 13.3.1, and my years break before 1885 (as I'm scrolling back in time, I can see the label for 1884, but nothing before, but if I go forward from there, the label for 1884 disappears). If I continue going way back, they pick back up at 200 (or 199)

Roman Odaisky

In the Europe/Kiev timezone, the earliest year which is displaying correctly is 1925. Its Olson DB definition is as follows: Zone Europe/Kiev 2:02:04 - LMT 1880 2:02:04 - KMT 1924 May 2 # Kiev Mean Time 2:00 - EET 1930 Jun 21 3:00 - MSK 1941 Sep 20 1:00 C-Eur CE%sT 1943 Nov 6 3:00 Russia MSK/MSD 1990 Jul 1 2:00 2:00 1:00 EEST 1991 Sep 29 3:00 2:00 E-Eur EE%sT 1995 2:00 EU EE%sT That 1924 is the latest year for which the offset from UTC is not a multiple of one minute is certainly not a coincidence.

Roman Odaisky

If my understanding is correct, that means you’re in British Columbia, is that right?

Jamie Nemeth

I'm on Android 9 using a Huawei Honor 10. I think the calendar is part of Huawei's EMUI 9.1.0 rather than the stock Android calendar. I just had to try it out of curiosity after seeing your video, and it happily goes back to at least the year 1700 without any obvious errors that I can see (February never gains more than 29 days, no missing months, no missing year labels). The only quirky thing it does (I got excited prematurely) is that when you go back before 1900, sometimes when you swipe the screen the calendar will scroll without the year decrementing. But this just seems to be an animation bug, i.e. when I swipe from 1710 backwards, I get 1710, 1709, 1708, 1707, 1707, 1706, 1705...but each 1707 is the same and correct. However, once this bug is tripped for the first time, on the way back up, you get a duplicate year every so often all the way through the 20th century and right up until the present day/year. Fun!

David Garrison

Slightly late to the party. Hopefully not too late to get involved. I signed up to help, but it wasn't clear if i signed up as a moderator or verifier. Happy to do either or both, whatever's helpful.