Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #22460

Re: Serial date, Excel, Lotus, MJD, PolyForth

Date 2013-05-08 20:04 -1000
From "Elizabeth D. Rather" <erather@forth.com>
Organization FORTH, Inc.
Newsgroups comp.lang.forth
Subject Re: Serial date, Excel, Lotus, MJD, PolyForth
References <kmf28f$n8d$1@speranza.aioe.org>
Message-ID <6OKdnfCyaY_DoRbMnZ2dnUVZ_q2dnZ2d@supernews.com> (permalink)

Show all headers | View raw


On 5/8/13 4:40 PM, Ed wrote:
> Here's a question for the computer historians.
>
> Who invented - or was the first to use - the serial date system based
> on year 1900 ?
>
> What's good about year 1900?  Well it means that for the epoch we're
> most interested in, serial dates can be stored as a single 16-bit number
> and the computer math required to manipulate them is easy.
>
> Googling one finds this serial calendar referred to as the
> "Excel Serial Day Number"
> http://www.fourmilab.ch/documents/calendar/
>
> Another Bill Gates' innovation?  Alas no.  Microsoft admits they
> took it from Lotus 123 - a leading spreadsheet program of the day.
> Oh, and yes, there was a bug in the Lotus implementation which has
> faithfully been copied to this day - namely, the assumption that 1900
> was a leap year!
>
> So what's this got to do with Forth?  As it happens Forth Inc also had
> a serial calendar based on year 1900 which they called MJD or
> "Modified Julian Day".  Google "MJD" however, and one will find
> it refers to an entirely different serial date system which predated
> Forth Inc.  So how was it that Forth Inc came to call their system
> "MJD" ?  Were they unaware the name and acronym had already been
> taken?
>
> Back to the question I posed at the beginning.  Who invented - or was
> the first to implement - the 1900 serial date system?  Google it and
> the earliest reference one will find is Lotus 123.  But Lotus was
> released in 1983 and Forth Inc predated it.  So how did Forth Inc come
> its serial calendar and when?
>
> A final twist.  The programmer who wrote the first version of Lotus 123
> was one Jonathan Sachs - the same Jonathan Sachs who implemented
> STOIC, a variant of Forth, in the mid 1970's.

It came from astronomy. Serial Julian dates have been used in astronomy 
centuries before computers, because they simplify calculating things 
like position of planets over the years, even if you're doing it with 
quill pen and paper. According to Wikipedia, Julian day number 0 was 
assigned to the day starting at noon on January 1, 4713 BC (Julian 
calendar, or November 24, 4714 BC in the Gregorian calendar.) That was, 
of course, the date of creation :-) For example, the Julian day number 
for 1 January 2000 was 2,451,545.

When Chuck developed the first control system for the 36' radio 
telescope in Tucson in 1970-71, he adapted the scheme to use a nearer 
reference date, so that offsets would fit in 16 bits. As I recall, it 
was set to 1950 for a long time. The observatory, of course, didn't have 
to worry about hundreds of years! The change to 1900 might have been 
FORTH, Inc.'s doing, later, when we had to worry more about people's 
birthdays and less about planetary positions.

Jon Sachs first heard about Forth from a paper Chuck gave at MIT in 
~1971 or 72. He developed his own version, and supported it for a while. 
Anyway, that's where his use of the MJD came from.

The MJD is a wonderful thing, because you can keep a practical range in 
a single-length integer and do arithmetic on it. And it's quite easy to 
convert on input and output (it all fit in one block, back in the day).

Cheers,
Elizabeth

-- 
==================================================
Elizabeth D. Rather   (US & Canada)   800-55-FORTH
FORTH Inc.                         +1 310.999.6784
5959 West Century Blvd. Suite 700
Los Angeles, CA 90045
http://www.forth.com

"Forth-based products and Services for real-time
applications since 1973."
==================================================

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

Serial date, Excel, Lotus, MJD, PolyForth "Ed" <invalid@nospam.com> - 2013-05-09 12:40 +1000
  Re: Serial date, Excel, Lotus, MJD, PolyForth "Elizabeth D. Rather" <erather@forth.com> - 2013-05-08 20:04 -1000
    Re: Serial date, Excel, Lotus, MJD, PolyForth Mark Wills <forthfreak@gmail.com> - 2013-05-09 00:17 -0700
    Re: Serial date, Excel, Lotus, MJD, PolyForth "Elizabeth D. Rather" <erather@forth.com> - 2013-05-08 22:18 -1000
      Re: Serial date, Excel, Lotus, MJD, PolyForth "Ed" <invalid@nospam.com> - 2013-05-10 12:19 +1000
    Re: Serial date, Excel, Lotus, MJD, PolyForth Alex McDonald <blog@rivadpm.com> - 2013-05-09 06:37 -0700
    Re: Serial date, Excel, Lotus, MJD, PolyForth C G Montgomery <cgm@physics.utoledo.edu> - 2013-05-09 17:30 -0400
    Re: Serial date, Excel, Lotus, MJD, PolyForth "Ed" <invalid@nospam.com> - 2013-05-11 14:57 +1000
  Re: Serial date, Excel, Lotus, MJD, PolyForth "Rod Pemberton" <do_not_have@notemailnotq.cpm> - 2013-05-09 18:41 -0400

csiph-web