5 ms·
this reminds me of the time at Microsoft with Visual Studio 6 where the version comparison was a string compare, but build numbers were julian dates, with 4 dig
by rubyrescue 13y ago
this reminds me of the time at Microsoft with Visual Studio 6 where the version comparison was a string compare, but build numbers were julian dates, with 4 digits - 9365 was december 31st, 1999.
so we couldn't go from 9365 to 0001. So we just went to 9366 and so we had 999-366 days to sort out a better version numbering system.
- itafroma 13y agoWhy Julian?
- rubyrescue 13y agoit was an artifact of the build system at the time that i think was inherited from VC++
- yuhong 13y agoMS eventually promised to support VB6 runtime and ActiveX controls for the lifecycle of the OS, which is basically forever. Fortunately, there hasn't been that many security updates and hotfixes later on (the latest mscomctl.ocx is 6.1.9834).
- klodolph 13y agoThose aren't Julian dates. Julian dates are just a count of days since some epoch, so the day after 9365 would be 9366, then 9367, etc.
- mikeash 13y agoTook me a lot of head scratching before I realized that the system was just YDDD, where Y is the last digit of the year (in this case, 9) and DDD is the number of days into the year (so 365 is December 31st in normal years). This is definitely the weirdest example of the Y2K problem I've seen.
- rubyrescue 13y agoyep that's it...
- haberman 13y agoWhich, it should be noted, is unrelated to the Julian Calendar. That one confused me for a while.
- rubyrescue 13y agoyeah i was going to say that i know they aren't truly julian dates but... i figured someone else would point it out. i guess you could think of it as the last 3 digits are julian dates but they just reset every year?