What a great day for a calendar bug! Testers of Jaunty Jackalope, the 9.04 'netbook friendly' version of Ubuntu, have found a problem that puts all users of the popular open source operating systems back to medieval times. And it's due to Ubuntu's very worthy attempts to adapt to all users. Famously inclusive, the new cut of the OS includes a modification designed to support netbook-toting Berber farmers, the last secular users of the Julian calendar and as such uncomfortable with the Gregorian calendar reforms introduced in 1582.
It'd be easy for us sophisticated Gregorians to mock, but it gives me the perfect excuse to launch into a whole load of religious mathematics and geopolitics – and I'm not one to pass that up. While the Julian calendar had been in use for more than 1600 years previously – ever since Julius Caesar adopted it to match the state of the art known to the early Roman empire – it didn't match the actual orbital period of the earth around the sun. By 1582, the months were around ten days adrift of the season and thus increasingly annoying to a world coming to terms with a far more intricate model of the cosmos. Pope Gregory XIII, in conjunction with his priestly astronomer Clavius (a name familiar to students of the Moon), was annoyed by the problems this caused with the calculations for Easter Day, and so pushed through his famous reforms. This led to eleven days being dropped from the calendar across the Catholic world: England, being a bit sensitive about such things in the late 16th century, held off until the middle of the 18th before adopting the reform – "Give us back our 11 days!" protestors demanded, even so – while the last state to hold out, the very Orthodox Greeks, finally caved in 1923.
But those Berber farmers still stick to their Julian guns, with their fellahi calendar. And open source is nothing if adaptable to suit its users – which, in these days of cheap netbooks, most certainly includes nomadic African agriculturalists. So it made perfect sense to include extra code to make Ubuntu compatible with Julius Caesar's diary. Take that, Outlook!
Now, as anyone who's had to codify time will testify, there are a million gotchas in coping with the many oddities that happen when humans try to synchronise with reality. Those who flit between the UK and the US on business will know how many ways computers can mangle transcontinental appointments, and that's a fairly simple business. To track an entirely different calendar is a major undertaking – one that the Ubuntu coders rose to magnificently. The new code was tested thoroughly and found to work very well: the side effect, that it works with some remaining Orthodox liturgical timetables without obscure plug-ins, was also appreciated by those to whom it matters.
It's just a shame that the relatively simple business of switching between calendars, being trivial and thus a bit boring, wasn't tested nearly as well. A previously unimportant quirk of the leap year detection in Ubuntu, which is supposed to just check the year before deciding whether there's a 29th of February but instead does some baroque recalculation based on date variables and the number of seconds since the birth of Unix, gets it wrong with the new system. It's not the first to have problems with Unix's timekeeping, but this one plunges Gregorian Jackalope users into the Julian calendar three days after what would have been the 29th of February on non-leap years.
That's today. So if you're running Jaunty Jackalope right now and haven't looked, then – aha! -- you've got the eleven days back that the peasants had stolen from them. You are also perfectly equipped to farm among the Berbers. There is a fix, of course, but I think it's only fair to give the chap most to blame for this whole business the last word.