Please click here if you are not redirected within a few seconds.
Why Novemer 17, 1858? › shanebow.com
Why Novemer 17, 1858?

This post draws on a customer support question, from back when DEC (Digital Equipment Corp) was the second largest company in the computer industry.

The question was,

Why is Wednesday, November 17, 1858 the base time for VAX/VMS?

When you know the answer, you will have a valuable new trick in your bag of programming tricks.

So what's a VAX/VMS?

VAX was a family of computers manufactured by DEC.

VMS is the legendary OS, released in 1977, also a product of DEC ingenuity, that is still the subject of much study and emulation.

OK, enough about ancient computers, let's check out some real ancient history!


The answer is related to the Julian Period and the Julian Day

The Julian day (JD) is simply the number of days since noon January 1, 4713 B.C., which was the the beginning of the most recent Julian Period.

Today, , is JD (at noon plus or minus a fraction to account for the time of day).

Joseph Scaliger

This all comes from scholar and historian Joseph Scaliger who was active when the Gregorian calendar replaced the Julian calendar in 1582.

Just one year later Scaliger recognized a need to reconcile all the various calendars (Roman Julian Gregorian, Hebrew, etc) used throughout history.

His concept of an "absolute date" has stuck even to today, especially among astronomers (and digital historians like myself). To compute astronomical positions of stars, planets, etc. one begins by calculating the Julian day.

His proposal was to define the Julian period as the product of three pervasive calendar cycles, then assign the base date to the last time they all were at the beginning of respective cycles on the same date.

The three cycles are

The last time they were all at the beginning of their cycles was at noon on January 1, 4713 B.C. — the beginning of the Julian Period.

This date was before any historical event known to him, even the Hebrew calendar marks the beginning of the world as 3761 B.C.

OK, I understand 4713 B.C. — but why 1858?

It comes down to computer memory limitations back in the late 1950's.

1957 was a big year...

DEC was founded by two guys from MIT in 1957, the very same year that the Soviets launched Sputnik 1 — the first artificial satellite in the world to be put into outer space — starting of the space race.

It was also the year that the Smithsonian Astrophysical Observatory (SAO) adopted the Modified Julian Day for tracking satellites with their 8K (non-virtual) 36-bit IBM 704 computer.

So why 1858? The Julian Day 2,400,000 just happens to be November 17, 1858. The Modified Julian Day uses the following formula:

MJD = JD - 2,400,000.5

Today is therefor MJD (at midnight plus a fraction to account for the time of day).

The .5 changed when the day starts. Astronomers in Scaliger's time had considered it more convenient to have their day start at noon so that nighttime observations would fall within one day. Modern astronomers have changed to conform to the commercial day.

But for the SOA the big issue was to fit the day number as well as the time of day within a single 36-bit word on their computer: Remember they had only 8K of memory total!

18 bits — half of a word — provided enough accuracy for the time of day and by going with the MJD they could encode the day number into the other half-word. This would not be possible with the JD which is currently 22 bits long.

This would work for about 717 years from 1858 at the expense of not being able to track dates before this. Or they could go with 1858 plus or minus about 3 centuries.

Since the year 1858 preceded the oldest star catalog in use at SAO, they opted for the former.

This base time of Nov. 17, 1858 was subsequently used by several DEC systems including the VAX/VMS.

It's a One-Liner of Code!

If you are an astronomer, you may be familiar with all this, but did you know that there is an algorithm to calculate the Julian Day in just one or two lines of code (depending on the language)?

Here's the algebraic formula given month (1 = January), day of month (also one based), and four digit year:

    jd = 367y + 7[y + (m+9)/12]/4 - 3{[y + (m-9)/7]/100 + 1}/4 + (275m)/9 + d + 1721028.5

This works for any date in the Gregorian Calendar (i.e. the modern calendar), but there are a couple of gotchas:

Trivia Question

Who was the Julian Period named for?




Yes! — Joseph's daddy was named Julius Caesar Scaliger

Sorry, try again
Julian Day Calculator

Sputnik 1

On Oct. 4, 1957, the Soviet Union launched Sputnik, humanity's first artificial satellite, thereby ushering in the Space Age.

According to DEC:

Given this base date, the 100 nanosecond granularity implemented within VAX/VMS, and the 63-bit absolute time representation (the sign bit must be clear), VMS should have no trouble with time until:

31-JUL-31086 02:48:05.47

At this time, all clocks and time-keeping operations within VMS will suddenly stop, as system time values go negative.

Note that all time display and manipulation routines within VMS allow for only 4 digits within the 'YEAR' field. We expect this to be corrected in a future release of VAX/VMS sometime prior to 31-DEC-9999.

DEC Customer Support Center/Colorado Springs, 1988