Source Wikipedia

Document Sample
Source Wikipedia Powered By Docstoc
					                     Date/Time Software is a Chaotic Mess and the Anarchy is Increasing
                                                           of a Standardized Date/Time

Obsolete!
        In 1964, the IBM System 360 made all other computers obsolete.
        In 1985, the IEEE 754 binary floating point standard made a half a million computers obsolete.
        Ultimate Date/Time will make all other date/time software obsolete.

Chaos!
        B f     h Sy       360,             yc   u h d d ff          z      g      d           g    w    1’
         complement.
        Before the IEEE 754, almost every computer had different floating point size, different ranges and different
         precisions.
        Before Ultimate Date/Time, almost every date/time software has different data type formats, different date
         ranges or different time precisions.

Order!
        All processors have universally implemented the System 360 integer sizes of 8-bits, 16-bits, and 32-bits and
         2’ c                 g .
        All processors have universally implemented the IEEE 754 floating point 32-bit and 64-bit integers, its
         standardized ranges and time precisions and “gradual-underflow”.
        All software will universally implement Ultimate Date/Time format:
                o   That has a standardized size of 32-bits and other sizes yet to be determined.
                o   That has the largest date range ±9999 or 19999 years.
                o   That has the smallest time precision of fractions-of-seconds to 10 digits (100 picoseconds or 10-10).
                o   Th h h          y u “ u d-         ”.
                o   That has the only global timezone conversion using standard codes.


Reasons for Ultimate Date/Time!
           h       h w     d’ fastest time zone conversion.
                o   It does time zone conversion using ½ to ¼ the processors usage.
                o   Zillions of time zone conversions are done each day.
          h h w d’                  y du               h      cf             f h                   O g       z       f     S   d dz   SO
         8601 date formats:
                o   Gregorian calendar dates          yyyy-mm-dd          year-month-day
                o   Day-of-year                       yyyy-ddd            year-day
                o   Week-of-year                      yyyy-Www-d          year-week-day
           h       h w     d’       y du               h      cf             SO 8601         f         :
                o   Fractions of seconds              hh:mm:ss,ffffffffff
                o   Fractions of minutes              hh:mm.ffffffffffff
                o   Fraction of hours                 hh.ffffffffffffff
                o   Fraction of days                  .ffffffffffffffff (not an ISO format)
          h h w d’         y u                   f     h                                  d xc              f HR-XML Consortium, ISO
         8601 and IEEE 754.
                o   Exceptions:
                             ”N A      c     ” d “N K w ” HR-XML standards.
                             Overflow/Underflow IEEE 754 standards.
                o   Options
                             AnyDateTime HR-XML time options and timezone options.
                             ISO 8601 partial date ISO 8601 truncation and reductions.
                             Fraction precision supported by Microsoft in 2008 and Oracle in 2001.




                                                                          1
Impossible!
         The best and brightest mathematical minds have found it impossible to develop computer routines
         (function, algorithm) that correctly do joint month and day arithmetic. Month-day arithmetic is
         not commutative and associative1 like standard numbers.
                Therefore to get the correct answer sometime the order of month and day arithmetic matters:
                 o Sometimes days must be subtracted before months.
                 o Sometime months must be subtracted before days.
                 o   However, often the order of subtraction does not matter.
                The trouble is that months may have 28, 29, 30 and 31 days.
                 o   Humans have common sense that allows them to do it correctly.2
                 o   Computers lack a common sense operation    h y            d ’ d                 c     c y.

                                    “It's kinda fun to do the impossible." Walt Disney.
Possible!
         Someone who w ’                 ugh k w it was impossible found a revolutionary date/time
         arithmetic routine that makes possible joint month and day arithmetic. It does simultaneously
         addition/subtraction of up to 16 digits of years-months-days-hours-minutes-seconds. Concurrent
         arithmetic gets the correct answer just like humans do with common sense.
                       "Any sufficiently advanced technology is indistinguishable from magic."
                          Sir Arthur C. Clark inventor, futurist, novelist and BBC TV host and commentator.
Magic!
         Through the magic of the mixed-radix calendrical calculation algorithm3 the computer world can
         standardize internal computer date/time, have computer systems that respond quicker and help:
                In delivering applications faster.
                In reducing application development cost.
                In eliminating date/time calculation deficiencies.
                In increasing innovation.
                In conveying management information that has greater insights necessary for better decisions.

                                 Computers do zillions of timezone conversions each day.
Tradition!
         The best and brightest mathematical minds in the computer industry:
                Agree unanimously that the fastest method to do timezone conversion is:
                 o   Convert field based years-month-days-hours-minutes to total sequential seconds.
                 o   Add/subtract changes in seconds.
                 o   Convert total seconds back to minutes-hours-days-months-years.
                         This is like pounding square pegs into round holes and then gluing them back together.




                Disagree unanimously about how to do it.
                 Therefore today if you are a system designer or programmer you must cope with:
                 o Every line of software storing date/time differently and having different epochs, date ranges and time
                     precisions. The anarchy is increasing with almost 50 different formats having been added in the last 10
                     years. Th      u     h             f fw      c ’ u d        d (c ’      d/w    )     h       ’ d /      .
                 o Every line of software using different formulas and tools. There are over 200 different tools for working
                     with and manipulating date/time.
                                    This is worse than the Tower of Babel that only had a confusion of speech.
                                         The possible appearance, the Ziggurat of Ur in ancient Babylon.




                                                                   2
Miracle of Miracles!
       The revolutionary mixed-radix date/time algorithm arithmetic:
                 h w d’ f           . Other timezone arithmetic is 2 to 5 or more times slower.
            Has the largest date range. The date range is ±9999 years or a total range of 19999 years.
            Has the smallest precision. The precision is 100 picoseconds, which is fraction of seconds to 10 digits
               or 10-10. Its precision is smaller than Network Time Protocol (NTP).

Wonder of Wonders!
       The heart of these date/time tools is the mixed-radix algorithm engine that males possible the w d’ simplest
       and most power date/time tools. The tools use meta-data4, the ISO duration5 and overload functions6 to
       replaces hundreds of other tools. The         h w d’         y tools that:
            Convert any date/time format to any other date/time format and does all global timezones
               conversions.
            Compare any date/time format to any date/time format for all global timezones.
            Extract any combination of years-months-days-hours-days-seconds from any international or local
               global date/time format.
            Determine the difference of any combination of years-months-days- hours- minutes-seconds
               (including day-of-year and week-of-year date and the different fraction of time) for all ISO 8601 date
               and time formats for all global timezones.
            Do event calendar arithmetic (adding/subtracting/setting) any combination of years-months-days-
               hours- minutes-seconds that can also calculate holidays, meetings and start/stop of daylight.
            Support options for all ISO 8601 dates, times, fractions and time-zones and for all HR-XML options7,
               all other vendors options and even additional options.
            Support exceptions for all HR-XML “N K w ” d “N -A c ” d also
               “O f w/ d f w” w h h                   y “Ru -Qu ”                  EEE 754 f       g      .
                    T d y’                      The new tools              auto-adjustable battery powered wrench




Marvel of Marvels!
       The same instructions set does arithmetic for all 39 = (3 + 3×4 +3×4×2) combinations of date/time arithmetic
       as published by the International Organization for Standardization in the 1985 ISO 8601 Date Time
       Standard.
            ISO 8601 date types (formats):
               1.     Calendar                        ±YYYY-MM-DD
               2.     Day-of-year                     ±YYYY-DDD
               3.     Week-of–year                    ±YYYY-Www-D
              ISO 8601 time types (formats):
               1.     hh:mm:ss,ffffffffff             fraction of seconds from 0 to 10 digits. (100 pico-seconds)
               2.     hh:mm,ffffffffffff              fraction of minutes from 0 to 12 digits.
               3.     hh,ffffffffffffff               fraction of hours from 0 to 14 digits.
               4.     ,ffffffffffffffff               fraction of days from 0 to 16 digits (not a ISO 8601 time)
              ISO 8601 time-zone types
               1.     “Z” TC                          former GMT
               2.     ±00:00 time-zone offset         from +14:00 to -12:00 ISO also has ±00


Awesome!
       The mixed-radix algorithm and the tools use the standardized binary integer register (IBM System 360), that
       is the fastest and the standardized floating point register (IEEE 754). It is designed to be language and
       database independent and therefore it can be implemented almost universally:
             On all existing 32-bit or 64-bit processors.
             For most existing programming languages that have the ability to call functions.
             For all database systems.

                                                                3
Remarkable!
        It has one standard internal computer format that has:
              Complete support of all ISO 8601 date/time standard formats both externally (people readable) and
                 internally (computer readable/writeable).
              Complete support of ISO 8601 partial date/time, both truncation (like a birthday 6/18 or a holiday)
                 and reduction (like year and month or year only as is necessary in summary reports).
              Complete support of HR-XML date/time xc                       d d ( k “ -K w ” d “N -
                       c     ”) and also overflow/underflow exceptions.
              Use of the ISO 3166 country/state codes for global timezone conversion (like IL,US).8
              Complete support of the UNICODE Common Local Data Repository (CLDR) for internationalizing
                 of dates, times, time-zones, currencies and languages.9
              Complete “ u d-           ” support of international and local formats. 10
        It has support for duration:
              The complete ISO 8601 duration:
                      o Calendar            “±PnYnMnDTnHnMn.nS”
                      o Week-of-year “±PnYnWnDTnHnMn.nS”
                      o Day-of-year         “±PnYnDyTnHnMn.nS” not a ISO duration
              “E        C       d Ag        ” where small letters are required elements and capital letter are optional
                 elements used if the element is present as d            y h       c      . Th “=”, “+” “-“ f          g
                   d              y h        u c . “+P Y M D”            qu         f “+P+ Y+ M+ D”.
                      o Calendar event algebra:
                                 “=±p=±ny=±nm=±n.nd=±T=±n.nh=±n.nm=±n.ns=±.nf” required.
                                 “=±p=±ny=±nm=±n.nd=±T=±n.nH=±n.nM=±n.nS=±.nF” time is optional only
                                    when time elements are present. It will not add/subtract if only a d      k “yyyy-
                                    mm-dd” wh time with small letters would be an error.

It Exist! It is Real!
        The enclosed reports show this date/time software is authentic and not vaporware.
             Report #1 shows all the different formats from the ISO 8601 date/time. No other date/time software
                can produce this report. Every external date/time you can read is represented with an internal
                date/time. Support of all ISO date/time formats with mixed-radix arithmetic will make application
                development faster, have lower cost, have a standardized date/time and permit innovation.
                The report uses the tools as follows:
                    o    Reads the syntax shown on line 2 from a table and uses the convert tool to take the external local date in the header
                         (people readable) and converts it to an internal international date/time (the computer can read/write) with time
                         zone conversion and puts it into an index table that sorts it (only possible because it has one date/time format).
                    o    Reads from the table the sorted line internal international date/time and uses the convert tool it convert it to an
                         external date/time you can read.
                    o    For testing purposes, it uses the compare tool to compare the line item date to the date in the header with both the
                         external date/time and the internal date/time.
               Report #2 shows all the different local calendar formats used throughout the world for commercial
                transactions. This date/time is the only date/time software that can remember all these local formats
                   d “ u d-    ” h f          .
                    o    Reads the local syntax shown on line 2 from a table and uses the convert tool to take the external local date in the
                         header (people readable) and converts it to an internal international calendar date/time with time zone conversion
                         (computer readable/writeable/computable) and puts it into an index table that sorts it (only possible because it has
                         one date/time format). The line date/time is retained in a round trip field (of 3 bytes) so latter the convert tool use
                         the round-trip field to return the original format. This saves the programmer custom coding this feature.
                    o    Reads from the table the sorted line internal international date/time and uses the convert tool it convert it to an
                         external date/time you can read.
                    o    For testing purposes, it uses the compare tool to compare the line item date to the date in the header with both the
                         external date/time and the internal date/time.
               R       #3 d                  h w       d’       y “Calendar Event A g               ”.
                    o    It was invented to determine the start/stop of daylight (summer time) throughout the world when it is based on the
                         Gregorian calendar. However, it also works for the more difficult holidays which occur on a specific day-of-week
                         and also meetings that might occur on specific day-of-week.
                    o           h h w d’           y dd g/ u       c          yc              fy    -months-days-hours-minutes-seconds
                         and fractions. It also supports addition/subtraction of day-of-year and week-of-year and of all fractions of time.

                                                                    4
Proof!
         Standards lack joint month and day arithmetic and therefore this proves x   g fw        c                                         ’ d joint
         month-day arithmetic.
               The Internet Society ISOC Internet Calendaring and Scheduling specifications. 11
                     o   “±P DT H M S” w h no years and no months.
                The CalConnect, the Calendaring and Scheduling Consortium. 12
                     o   “±P DT H M S” w h              y             d              h.
                The HR-XML Consortium Date and Time Recommendations 2007.13
                     o   Specifies the need for duration but declines to specify details.
                The Java Joda Date Time (improvement on Java time).
                     o   “±P DT H M S”          “±P Y M”         w d ff                           , not simultaneous arithmetic.
                     o   Provides no details on how to get the correct answers.
                Excel spread sheet.14
                     o   Can subtract days within a month, or days within a year or years but provides no procedure on how to get the
                         correct answers for months-days calculations.
                The International Organization for Standardization ISO 8601 1985, 2004.15
                     o   S c f “±P Y M DT H M S” u :
                            D   ’  c fy wh are the correct answers (IEEE 754 floating point does).
                            D   ’  c fy y w y c cu            h c     c    w .


Proof!
         Disruptive innovations often originate from small companies or new companies that have nothing to lose and
         that take risks that have caused the industry leaders difficulties.
                     h 1950’ N VAC w h d                        f       c   u c      y wh    BM’        d d
                  butter was punched card equipment.
                     o   Th    Sc u d                           c d             fu        f BM’      u        qu        w h           cc     u    d h
                         c u   h BM’           d    h                     g h              d          h    gh .
                   h 1960’ h BM Sy                  360          c            h d                        f        c       u       d by 1986 UNIVAC
                 was in financial trouble.
                     o   The System 360 almost overnight made all other computers obsolete.
                     o   The System 360 architecture became the de facto industry standard.
                     o   Tom Watson Jr. had risked the life of the company, a 5 billion dollars gamble. The only greater investment was the
                           Sg           ’    c     g    .
                     o   In 1974, IBM announced Systems Network Architecture(SNA), a networking protocol for remote terminals that
                         became the most widely used system for data processing until the Internet TCP/IP. IBM was one of the last
                         c             u       h           TCP/ P. Th             ’ h       f w w yc       u c       w 1% 1993, 57%
                         in 2000 and 97% in 2007.
                  h 1970’ D g       Equ         C          (DEC) c        h d             -computer
                 manufacturer, the second largest computer manufacturer, and by 1992 IBM was in financial trouble.
                     o   Digital achieved $14 billion in sales and was ranked among the most profitable companies and most innovative
                         companies in the world.
                     o   It was an early leader in the server market. It was the first major company to implement the Internet TCP/IP.
                     o   However, while UNIX and C were developed on the DEC PDP computer, DEC was one of last companies to support
                         UNIX and C.
                   h 1980’ Su Equ                          c         h d                         c -mini-computer company and by 1998 DEC
                 was in financial trouble.
                     o   Sun Equipment was the leading company in supporting UNIX and C.
                     o   Sun once dominated the server market, however, it was the last company to support Linux, a free version of UNIX.
                     o   Linux has become the dominate operating system for Internet servers. It is used by Google, Amazon.com,
                         Wikipedia and the US department of defense.
                    h 1990’             c         h d                    PC-micro-processor company and by 2010 Sun was in
                 financial trouble.
                     o   Demand for PCs in the United States, Canada and Europe is slumping badly although still growing in other parts of
                         the world.
                   h 2000’ ARM H d g                       c             h d ch            d 95% d                    f       c   -phones and tablet
                 processors.
                     o   There are more ARM processors in the world than all the other processors combined. In 2010, 5 billion ARM
                         processors were produced.
                     o   Intel has developed the Atom processor to compete with the ARM processor.
                     o   Arm and IBM are collaborating in the development of the next generation of ARM processors.



                                                                           5
Proof!
         Individuals often created software that becomes universal implemented on processors. The media is
         enumeration with the idea of the collective wisdom of the masses 16-- "several heads are better than one" and
         the ability of software factories with teams of programmers and a committee of designers that are able to
         churn out mass amounts of code However, they do not have universal implementation like:
                Ken Thompson was the architect of the UNIX kernel which is the main component of the UNIX/Linux operating systems.
                 UNIX/Linux has been implemented on almost every processor from cell-phone to super-computers and game-computers to
                 space-computers. It is used with 95% of the cell-phones, 95% of the Internet servers and 95% of the super-computer. The
                 kernel optimizes the management of the system resources, like user applications, memory and peripherals. Operating systems
                 developed by teams of programmers and committees of designers have been limited to one family of processors.
                Dennis Ritchie created the C programming language that has been implemented on almost every processor in the world.
                 C/C++ so efficient that the UNIX/Linux and other operating systems are written in C/C++ replacing assembler languages.


         Individuals also have created Arithmetic Logical Units (ALU) that large companies can’ c   or
         improve.
              Gene Amdahl designed the IBM System 360 Arithmetic Logical Unite (ALU) that is the central
                 component of computers.
                 o    RCA, once one of the largest electronics corporations with huge research laborites and the inventor of television,
                      developed the Spectra Series that were clones of System 360 and implemented virtual memory before the IBM 370.
                      However, it lacked total compatibility and it went out of production by 1971.
                 o    Wang Laboratories that achieved annual revenues of $3 billion and employed over 33,000 people. It invented the first
                      desktop calculator and dominated the early word processor market. In 1977 I created the Wang VS computer that was a
                      clone of the IBM 370 but lacked totally compatible. It filed for bankruptcy protection in August 1992.
                 o    Amdahl Corporation, started by Gene Amdahl after he left IBM, introduced the Amdahl 470 in 1975 that were 100%
                      compatible and "plug-compatible" with the System/370. It was cheaper and faster than the IBM 370 and achieved 24%
                      market share in the high end field. It implemented UNIX before IBM. However Amdahl exited the market after IBM
                      introduced the faster CMOS integrated circuits computers and the 64-bit zSeries in 2000 with which the Amdahl was no
                      longer 100% compatible. The zSeries has the same instruction set as the IBM 370 and therefore can run IBM 370
                      software.
                William Khan, a U of C, Berkley professor, in the early 1980s designed the IEEE 754 floating point
                 ALC h h d “g du u d f w”.
                 o    A yc     u     h dd ’                  EEE 754       c              . After 25 years only minor tweaks have been made to
                      IEEE 754 but it still retains 1985 compatibility.


Benefits!
         Of tools using the revolutionary mixed-radix date/time with a standard format in that they will:
          Aid software developers who rank their primary needs as:
             o   66% in delivering applications faster with new date/time.
             o   50% in reducing application development cost.
             o   40% in increasing standardization.
             o   40% in increasing innovation.
                 These are averages based on the study at Gartner's Application Architecture, Development and Integration (AADI) summit in
                 2010 & 2011).
            Aid in solving user report deficiencies:
             o    “CEO          wh     d yd      h       h          gh .” F       2010 IBM study of 1541 executives in 60 countries and 33
                 industries.
             o    “      h      c fd c         h    T g z           '     y d          h   f            h y    d       k d c        .” From a
                 2010 Gartner Group research study, a research and advisory firm that has an excellent reputation for analysis of IT trends.
            Aid in reducing operations cost:
             o   Th G         G u           , “A y c             c           w d        35-40% of its programming budget to develop and
                         , x c      du d         g     wh          u               g      f          .“
             o   Enterprise operating departments are running 24×7 integrating data from different sources.
            Aid in the Fostering of Reuse and Agility through standards:
             o   “Th           g fc          d w d g z                 f c g         d d …” “Th           d      g    duc c         f
                 efforts while also allowing the organization to reduce skills and training costs since there are fewer skill set       u   d.”
                 Gartner 2008


Opposition!
         To the standards for binary integers and binary floating point. These standards are almost universally
         implemented in all processors from cell-phones to super-computers and from game-computers to shuttle-
         computers. Their universal implemented required adding new data types to the programming languages and

                                                                       6
       the database systems. However, these standards, that seem so natural today, only occurred over aggressive
       opposition of bright and strong willed people.
                 In 1964 the IBM management almost up to the day of the announcement of the radical proposed System 360 received criticism
                  of the 360 from groups within IBM that had developed            f h w d’          successful computers. BM’ T          W
                  J .w      “Th Sy       /360 w h        gg , k        d c               d , d g z d            u f w k, u d              d w
                          d h    w       h g BM c u d ’ d .” H w            h h        w         “wh           k d     ck,    ck,    ck.” B d
                  standardizing many other things like the 8-bit character, it standardized binary integers to 8-bits, 16-bits and 32-bits and
                  today 64-bits using 2’ c                 h    c       g       h u u 1’ c                   h     c.
                 In 1985 the IEEE 754 standard only resul d f          8y                 h “f u h-to-z ” d g u d                  h f
                  c     u       d h           d       c      c d “g du -u d f w” h d d                x          c      u . It was disagreement
                  that was described as like a religious war that went on year after year. Only when a graduate student from the U of C,
                  B k yd            d “g du -u d f w” h w                 f       h “f u h-to-z ” d f           h fd z c               h d
                  implemented the IEEE 754 standards did the committee get the necessary votes to make it official.


Circumstances!
       A series of chance event for one person resulted in the invention of the mixed-radix algorithm:
                 H h d d d wh           dh “ fy ud ’ k               h g, f x       d fy uc ’ fx d ’ c               .”
                 He had a math instructor who liked to point out the problems that           h d      d. H c u d ’          h ch     g     d
                  would often spend hours until he solved them and would even spend time finding a simpler solution so that the math instructor
                  c ud ’ h wh          h better way. He discovered the difficult problem often required a different approach from all the other
                  problems.
                 He discovered while getting his math major he was an applied mathematician17 and not a theoretical mathematician and
                  therefore:
                  o     He took courses like the theory of numbers that studied the properties of binary numbers and also other base numbers.
                  o     He took a course in computer mathematics that is different than the normal binary arithmetic taught in schools.
                  o     He got a major in operations research (mathematical economics) which is applied mathematics to business problems.
                  o     He was interested in calendrical mathematics that is a field of applied mathematics.
                 He had a college professor that made him a computer fanatic. The first problem the professor gave in mathematical
                  economics (operations research) was not solved by anyone after 12 to 24 hours. The professor than took everyone into the
                  computer room and in minutes the computer printed out the correct answer.
                 He had a college course in the design of a computer arithmetic logical unit (ALU). The course was unusual because the
                  professor went into his ideas of how by adding 15% to 20% more circuitry to the binary register, it could also do decimal,
                  base-10, arithmetic. The dual use of registers for both binary and decimal arithmetic is now considered obsolete and therefore
                  the design is not explained on the Internet.
                 A programmer who has a good understanding of the ALU can write programs that run faster than other programmers.
                  Although he had dual majors in mathematics and mathematical economics and dual minors in statistics and in engineering
                  physics, therefore he could understand the electrical circuitry of computer registers. He had years of assembler language
                  programming experience. A good assembler programmer can write programs in high level C/C++ and Java that run faster
                  than other programmers. Assembler language is now considered obsolete by most schools and therefore they no longer teach
                  it.
                 He was programmer consultant who earned the reputation of being able to design and program systems where others had
                  failed and if an application was running slow he could usually cut the run time in half.
                 He gets a high from programming. He can program 12 to 16 hours six days a week.
                 He had the persistent to experiment for 10 years and 5 different versions (with many modifications) before finally creating the
                  ultimate mixed-radix algorithm and the best tools.


Creativity!
        “CEOs now realize creativity trumps other leadership characteristics”, the conclusion of the 2010 an IBM
       study.
                  Recommendations                                     Implementation
                 “D fy c     x yw hc     y.”                         Invented the mixed-radix algorithm.
                 “C         u     g h   u qu .”                      Used an exponent for precision.
                 “Ac d      u c     y.”                              Experimented with 5 versions before achieving perfection.
                 “T k    k …”                                        It was a 10 years investment of time and money.
                 “L      y d h ‘ d-and- u …”                         Created simple and more powerful tools.

       The United States is quick to embrace and pay millions for people and software that entertains. Ultimate
       Date/Time will improve the insight of marketing trends for manufacturing company beside help to reduce
       production cost. What is of greater benefits to United States, entertainment or improved manufacturing?
                  From the Wikipedia
                  William Edwards Deming (October 14, 1900 – December 20, 1993) was an American consultant known for his work in Japan.
                  From 1950 onward, he taught top Japanese management how to improve product quality through statistical methods. He is
                  regarded as having had more impact upon Japanese manufacturing and business than any other individual. Despite being
                  considered a hero in Japan, he was only just beginning to win recognition in the U.S. at the time of his death.



                                                                      7
                 Andy Grove of Intel and Judy Estrin of Cisco say “Th          y fS c V y d h                    S   ch   du       y        k.”
                 Business Week of January 12, 2009.
                           Andy Grove,
                                     “h      d y         c       h g g h .” “M y W 2.0 c                         u f g         h       dw   .”
                           Judy Estrin, in her book, Closing the Innovation Gap, says the US must:
                                          Have a renewed commitment to basic research.
                                          Have a shift from venture capitalist to bolder bets.
                                          Have grander ambitions.

       Previous attempts at improving date/time cobbled modifications to existing date/time formats and resulted in
       an increase in chaos. Oracle in 2001 and Microsoft in 2008 added almost 25 formats each while only adding
       the incremental improvement of variable precision and different timezones.

Eureka!
   A “Eu k             ”   u d       h            f h     x d-radix algorithm. It uses weird numbers that are
   unrelated to common sense or rational intelligence that tricks the computer base-2 arithmetic into doing mixed
   base date/time arithmetic. If the code was shown to a programmer and told it did date/time arithmetic, they
   would think it was a hoax.
       The algorithms have:
                A u         g        u        fc    u          uc        d h f            h w d’ f           . Th CP u g     ½ ¼ f h
                 next fastest, the C/C++ date/time.
                The instructions are convoluted, tricky, cryptic, and intricate but incorporate a flair of eloquence.
                The ability to produce the correct results seems almost magical because the intermediate arithmetic have bizarre values. The
                 way it computes this weird values flout logic.

   It tricks the base-2 computer register (special computer memory that can do arithmetic) into doing concurrent
   arithmetic in:
           Base-10                   for years
           Base-12                   for months
           Base-28, 29, 30 or 31     for days
           Base 24                   for hours
           Base-60                   for minutes and seconds
           Base-10                   for fractions of seconds
   Since month-day arithmetic is simultaneous, it is able to duplicate human month-day arithmetic.18

   The mixed-radix algorithm lacks the rational of even zero and calculus and therefore will prove more difficult for
   others to duplicate. In 2500 BC the Sumerians base-60 (sexagesimal) numbering system included the concept of
   zero. The Egyptians, the Greeks, the Romans and the western world did not have a zero until the Italian
   mathematician Fibonacci (c.1170–1250) introduced Arabic numbers that contained the zero. The zero is
   illustrated if an electronic clock is set to 24 hours time, the start of the day is hour zero. However, when the clock
   is set to 12 hour time the start of the day is 12am (like Egyptian, Greek and Roman time) rather than hour zero.
   Also, although the Greeks understood some calculus concepts it was not accurately developed until the 1600s
   when Arabic numbers had come into common usage in Europe. The mixed-radix algorithm cannot be developed
   by a electrical engineer who only understand the ALU, or an assembler programmer who only understand
   machine instructions, or a mathematician who only understand number theory or a team made up of these three
   people.

   The Eureka insight is described as the process when a previously seems impossible, an unsolvable puzzle,
   suddenly becomes clear and obvious. The experience usually requires the problem solver to come upon an
   impasse, where he becomes stuck and even though he may seemingly have explored all the possibilities, is still
   unable to find a solution. However, suddenly and unexpectedly a break in mental fixation results in the answer.
         d            h           ,      u “h k u d h           x”. Th       gh f        ccu w h break in mental
   fixation, allowing the solution to appear transparent and obvious. This insight into the mixed-radix algorithm
   occurred at 4pm when consideration was being given to abandon the date/time project because the existing
   date/time arithmetic was proving much too slow to implement the large date range and a very small time
   precision necessary for the best date/time.

   Several years latter it took longer to relearn the algorithm than it took to create it. If something happened to me,
   I wonder if anyone could reinvent this mixed-radix algorithm necessary for these date/time tools. Its invention
   was the result of a series of chance events:
                                                                    8
                H h d d d wh           dh “ fy ud ’ k              h g, f x       d fy uc ’ fx d ’ c                  .”
                H h d         h      uc    wh k d             u h               h          h d      d. H c u d ’           h ch       g   d w uld
                 often spend hours until he solved them and would even spend time finding a simpler solution so that the math instructor could ’
                 show him the better way. He discovered that the most difficult problems in a lesson often required a different approach from all
                 the other problems in the lesson.
                                                                                                    19
                He discovered while getting his math major that he was an applied mathematician and not a theoretical mathematician and
                 therefore:
                 o     He took courses like the theory of numbers that studied the properties of binary numbers and also other base numbers.
                 o     He took a course in computer mathematics that is different than the normal binary arithmetic taught in schools.
                 o     He got a major in operations research (mathematical economics) which is applied mathematics to business problems.
                 o     He was interested in calendrical mathematics (date and time arithmetic) that is a field of applied mathematics.
                He had a college professor that made him a computer fanatic. The first problem the professor gave in mathematical economics
                 (operations research) was not solved by anyone after 12 to 24 hours. The professor than took everyone into the computer room and
                 in minutes the computer printed out the correct answer. All of sudden computers were fantastic.
                He had a college course in the design of a computer arithmetic logical unit (ALU). The course was unusual because the professor
                 went into his ideas of how by adding 15% to 20% more circuitry to the binary register, it could also do decimal, base-10, arithmetic.
                 The dual use of registers for both binary and decimal arithmetic is now considered obsolete and therefore the design is not
                 explained on the Internet.
                He was a programmer, who because he had a good understanding of the ALU, could write programs that run faster than other
                 programmers. Although he had dual majors in mathematics and mathematical economics and dual minors in statistics and in
                 engineering physics, therefore he could understand the electrical circuitry of computer registers. He had years of assembler
                 language programming experience. A good assembler programmer can write programs in high level C/C++ and Java that run
                 faster than other programmers. Assembler language is now considered obsolete by most schools and therefore they no longer teach
                 it.
                He was programmer consultant who earned the reputation of being able to design and program systems where others had failed
                 and if an application was running slow he could usually cut the run time in half.
                His experience as a consultant on the Chicago commodity exchange had exposed him to the date/time chaos and therefore at
                 retirement he decided to fix it.
                He gets a high from programming. He can program 12 to 16 hours six days a week.
                He had the persistent to experiment for 10 years and 5 different versions (with many modifications) before finally creating the
                 ultimate mixed-radix algorithm and the best tools.
       Spread these among several people and the mixed-radix algorithm would not have been invented.

Borrowing!
            The best of the existing date/time software was incorporated into the new tools.20

Get Smart!
            The industry must Get Smart and standardize with Ultimate Date/Time and use the w                             d’ most advanced
            tools as weapons by CONTROL to wipe out KAOS.21


1
  Commutative, meaning that order does not matter, and associative, meaning that when one adds more than two numbers, order in which
addition is performed does not matter.
2
    Month and days arithmetic is not commutative (meaning that order does not matter), therefore the order does matter.
            When adding months and days humans use common sense to get the right answers but has been impossible for computers.

            Humans              Computer+D+M          Computer+M+D         Humans               Computer-D-M          Computer-M-D
            2011-06-30          2011-06-30            2011-06-30           2011-07-31           2011-07-31            2011-07-31
                +01+01                 +01                +01                  -01-01                  -01                -01
            2012-07-31          2011-07-01            2011-07-30           2011-06-30           2011-07-30            2011-06-30
                                    +01                      +01                                    -01                      -01
                                2011-08-01            2011-07-31                                2011-06-30            2011-06-29

            Humans                Computer+D+M          Computer+M+D           Humans          Computer-D-M         Computer-M-D
            2011-05-31            2011-05-31            2011-05-31             2011-07-01      2011-07-01           2011-07-01
                +01+01                      +01               +01                    -01-01               -01              -01
            2012-07-01            2011-06-01            2011-06-30             2011-05-31      2011-06-30           2011-06-01
                                       +01                         +01                                  01                      -01
                                  2011-07-01            2011-07-01                             2011-05-30           2011-05-31
            Note! There is no way to know what is the correct subtraction, when days should be first or months should be first. Also, without custom
            coding, traditional software is an hour off at the start/stop of daylight.
            When adding 1 month and subtracting 1 month with a date like 2011-05-31, neither humans nor computers can get the correct answer.
            After subtraction and addition they will have 2011-05-30.



                                                                          9
3
 Cylindrical calculation is concerned with date/time calendar calculation an area of applied mathematics. Some examples of calendrical
calculations:
          The number of days between two dates.
          The date of a religious holiday, like Easter (the calculation is known as Computes) or Passover, for a given year.
          Converting a date between different calendars. For instance, dates in the Gregorian calendar can be converted to approximate dates in
           the Islamic calendar with the Kuwaiti algorithm.
          Calculating the day of the week.

4
  Metadata is "data about data" and is the specification of the date/time data structure to designate:
The date is:
          Fiscal date
          Calendar                         yyyy-mm-dd                      internal             yyyymmdd
          Day of year                      yyyy-ddd                        internal             yyyy0ddd
          Week-of-year                     yyyy-Www-d                      internal             yyyyww0d
          Partial date
The time is:
          Fraction of seconds              hh:mm:ss,ffffffffff             internal             hhmmssffffffffff
          Fraction of minutes              hh.mm.ffffffffffff              internal             hhmmffffffffffff
          Fraction of hours                hh.ffffffffffffff               internal             hhffffffffffffff
          Fraction of days                 .ffffffffffffffff               internal             ffffffffffffffff
The precision is an exponent.
Partial time is a bit-array where bits designate fields present y-m-d-h-m-s-f

5
  Durations represent mixed-radix date by using the format P[n]Y[n]M[n]DT[n]H[n]M[n.n]S or P[n]W where the [n] is a value for each of the date
and time elements that follow the [n]. These functions support up to 16 whole and fractional digits (The ISO standard does not specify any
number). This software has expanded the capabilities of the duration format with the ability to set/add/subtract each field
(=±P=±nY=±nM=±n.nDT=±n.nH=±n.nM=±n.nS=±.nF) rather than requiring as many as three separate steps. Following is
          P is the duration designator called "period".
          Y is the year designator.
          M is the month designator.
          W is the week designator.
          D is the day designator.
          T is the time designator.
          H is the hour designator.
          M is the minute designator.
          S is the second designator.

The expanded designators and where small letters are required and capitals are optional.
         .nf is fraction of time.
         dm is the day of the month.
         dw is the day of the week.
         dy is the day of the year.
         wm is the week of the month.
         wy h w k f h y              qu          “w”.

For example, "P3Y6M4DT12H30M5S" represents duration of "three years, six months, four days, twelve hours, thirty minutes, and five seconds".
Date and time elements including their designator may be omitted if their value is zero, and lower order elements may also be omitted for reduced
precision. For example, "P23DT23H" and "P4Y" are both acceptable duration representations.
"PT36H" could be used as well as "P1DT12H" for representing the same duration.

6
  Orthogonal functions allow a programmer to remember only a few instructions. The use of meta-data and the ISO duration mixed-radix simplify
the number of functions.
7
    The HR-XML Date and Time Recommendations options and exceptions.
    Data Type                            Basic Format                                         Time Zone        not Known       Not Applicable
                                                                                               Required         Allowed           Allowed
    DateType                             YYYY-MM-DD(Z | ±hh:mm)                                  Yes
    DateNkType                           YYYY-MM-DD(Z | ±hh:mm)                                  Yes              Yes
    DateNaType                           YYYY-MM-DD(Z | ±hh:mm)                                  Yes                                Yes
    DateNkNaType                         YYYY-MM-DD(Z | ±hh:mm)                                  Yes              Yes               Yes
    LocalDateType                        YYYY-MM-DD
    LocalDateNkType                      YYYY-MM-DD                                                               Yes
    LocalDateNaType                      YYYY-MM-DD                                                                                 Yes
    LocalDateNkNaType                    YYYY-MM-DD                                                               Yes               Yes
    TimeType                             hh:mm:ss(Z | ±hh:mm)                                    Yes
    TimeNkType                           hh:mm:ss(Z | ±hh:mm)                                    Yes              Yes
    TimeNaType                           hh:mm:ss(Z | ±hh:mm)                                    Yes                                Yes
    TimeNkNaType                         hh:mm:ss(Z | ±hh:mm)                                    Yes              Yes               Yes

                                                                       10
     LocalTimeType                           hh:mm:ss
     LocalTimeNkType                         hh:mm:ss                                                                 Yes
     LocalTimeNaType                         hh:mm:ss                                                                                   Yes
     LocalTimeNkNaType                       hh:mm:ss                                                                 Yes               Yes
     DateTimeType                            YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)                         Yes
     DateTimeNkType                          YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)                         Yes              Yes
     DateTimeNaType                          YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)                         Yes                                Yes
     DateTimeNkNaType                        YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)                         Yes              Yes               Yes
     LocalDateTimeType                       YYYY-MM-DDThh:mm:ss
     LocalDateTimeNkType                     YYYY-MM-DDThh:mm:ss                                                      Yes
     LocalDateTimeNaType                     YYYY-MM-DDThh:mm:ss                                                                        Yes
     LocalDateTimeNkNaType                   YYYY-MM-DDThh:mm:ss                                                      Yes               Yes
     AnyDateTimeType                         YYYY-MM-DD                                            Optional
                                             YYYY-MM-DD(Z | ±hh:mm)
                                             YYYY-MM-DDThh:mm:ss
                                             YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)
     AnyDateTimeNkType                       YYYY-MM-DD                                            Optional           Yes
                                             YYYY-MM-DD(Z | ±hh:mm)
                                             YYYY-MM-DDThh:mm:ss
                                             YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)
     AnyDateTimeNaType                       YYYY-MM-DD                                            Optional                             Yes
                                             YYYY-MM-DD(Z | ±hh:mm)
                                             YYYY-MM-DDThh:mm:ss
                                             YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)
     AnyDateTimeNkNaType                     YYYY-MM-DD                                            Optional           Yes               Yes
                                             YYYY-MM-DD(Z | ±hh:mm)
                                             YYYY-MM-DDThh:mm:ss
                                             YYYY-MM-DDThh:mm:ss(Z | ±hh:mm)




8
     ISO 3166 standard facilitates the exchange of goods and information.
            All national postal organizations in the world exchange international mail between themselves in containers carrying ISO 3166-1
             codes for identification of the country of destination.
            In machine-readable passports the three letter code of ISO 3166-1 is used to determine the nationality of the user (ISO/IEC 7501-1).
            Currencies are identified by a code based on the ISO 3166-1 which identifies them in international transactions (ISO 4217).
            The International Securities Identification Number (ISO 6166) is a system which allows precise identification of shares issued in one
             country but traded internationally.
            The Internet domain name system uses ISO 3166-1 alpha-2 codes to define country-coded Top-Level Domains (ccTLDs), e.g., for the
             countries like; ".fr", ".za", ".au", ".br", or ".jp".
9
  The Unicode CLDR provides support for the world's languages, with the largest and most extensive repository of locale data that is used by
computer manufacturers and other companies to internationalize and localize software such as:
         For formatting of local dates, times, and time zones.
         For formatting local numbers and currency values.
         For sorting local text.
         For choosing local languages or international country names.

10
   F    W k d , “Th          round-trip is commonly used in document conversion particularly involving markup languages such
as XML and SGML. A successful round-trip consists of converting a document in format A (docA) to one in format B (docB) and then back again
   f      A (d cA′). More generally it means converting from any data representation and back again, including from one data structure to
another (like date/time).
11
   Duration (RFC 5545, Section 3.3.6)
Note that unlike [ISO.8601.2004], this value type doesn't support the "Y" and "M" designators to specify durations in terms of years and months.
12
 Duration (RFC 5545, Section 3.3.6)
Note that unlike [ISO.8601.2004], this value type doesn't support the "Y" and "M" designators to specify durations in terms of years and months.

13
    Hr-XML Consortium Date Time Data Types, Recommendation, 2007 April 15
1.3.3    Items Outside of Design Scope
R          g “du         f     ” (2 d y , 4 h u , 13 u )w          dd     d                 h              f h d cu    .

14
   Excel functions.
Excel DAY Function
          The DAY function can be used to find the number of days between two dates. It will not correctly subtract two dates that are in different
          months or years.
Excel MONTH Function
          The MONTH function can be used to find the number of days between two dates. It will not correctly subtract two dates that are in
          different years.
Excel YEAR Function
          The YEAR function can be used to subtract two dates to find the number of years between the dates.

                                                                               11
15 Source Wikipedia on ISO 8601 Date and Time Formats
Durations are a component of time intervals and define the amount of intervening time in a time interval. They should only be used as part of a
time interval as prescribed by the standard. Durations are represented by the format P[n]Y[n]M[n]DT[n]H[n]M[n.n]S or P[n]W as shown to
the right. In these representations, the [n] is replaced by the value for each of the date and time elements that follow the [n]. Leading
zeros are not required, but the maximum number of digits for each element should be agreed to by the communicating parties. The
capital letters P, Y, M, W, D, T, H, M, and S are designators for each of the date and time elements and are not replaced.

          P is the duration designator (historically called "period") placed at the start of the duration representation.
          Y is the year designator that follows the value for the number of years.
          M is the month designator that follows the value for the number of months.
          W is the week designator that follows the value for the number of weeks.
          D is the day designator that follows the value for the number of days.
          T is the time designator that precedes the time components of the representation.
          H is the hour designator that follows the value for the number of hours.
          M is the minute designator that follows the value for the number of minutes.
          S is the second designator that follows the value for the number of seconds.
For example, "P3Y6M4DT12H30M5S" represents a duration of "three years, six months, four days, twelve hours, thirty minutes, and five
seconds". Date and time elements including their designator may be omitted if their value is zero, and lower order elements may also be omitted for
reduced precision. For example, "P23DT23H" and "P4Y" are both acceptable duration representations.
To resolve ambiguity, "P1M" is a one-month duration and "PT1M" is a one-minute duration (note the time designator, T, that precedes the time
value). The smallest value used may also have a decimal fraction, as in "P0.5Y" to indicate half a year. This decimal fraction may be specified with
either a comma or a full stop, as in "P0,5Y" or "P0.5Y". The standard does not prohibit date and time values in a duration representation from
exceeding their "carry-over points" except as noted below. Thus, "PT36H" could be used as well as "P1DT12H" for representing the same
duration.
16
  The Wisdom of Crowds: Why the Many Are Smarter than the Few and How Collective Wisdom Shapes Business, Economies, Societies and Nations,
published in 2004, by James Surowiecki.
17
  From the Wikipedia
Applied mathematics is a branch of mathematics that concerns itself with mathematical methods that are typically used in science, engineering,
business, and industry. Thus, "applied mathematics" is a mathematical science with specialized knowledge. The term "applied mathematics" also
describes the professional specialty in which mathematicians work on practical problems; as a profession focused on practical problems, applied
mathematics focuses on the formulation and study of mathematical models. In the past, practical applications have motivated the development of
mathematical theories, which then became the subject of study inpure mathematics, where mathematics is developed primarily for its own sake.
Thus, the activity of applied mathematics is vitally connected with research in pure mathematics.
18
     Month and days arithmetic is not commutative (meaning that order does not matter), therefore the order does matter.
            When adding months and days common sense allows humans to get the right answers but has been impossible for computers.

            Humans              Computer+D+M         Computer+M+D         Humans               Computer-D-M         Computer-M-D
            2011-06-30          2011-06-30           2011-06-30           2011-07-31           2011-07-31           2011-07-31
                +01+01                 +01               +01                  -01-01                  -01               -01
            2012-07-31          2011-07-01           2011-07-30           2011-06-30           2011-07-30           2011-06-30
                                    +01                     +01                                    -01                     -01
                                2011-08-01           2011-07-31                                2011-06-30           2011-06-29

            Humans                Computer+D+M          Computer+M+D           Humans           Computer-D-M        Computer-M-D
            2011-05-31            2011-05-31            2011-05-31             2011-07-01       2011-07-01          2011-07-01
                +01+01                      +01               +01                    -01-01               -01              -01
            2012-07-01            2011-06-01            2011-06-30             2011-05-31       2011-06-30          2011-06-01
                                       +01                         +01                                  01                      -01
                                  2011-07-01            2011-07-01                              2011-05-30          2011-05-31
            Note! There is no way to know what is the correct subtraction, when days should be first or months should be first. Also, without custom
            coding, traditional software is an hour off at the start/stop of daylight.
            When adding 1 month and subtracting 1 month with a date like 2011-05-31, neither humans nor computers can get the correct answer.
            After subtraction and addition they will have 2011-05-30.


19
   From the Wikipedia
Applied mathematics is a branch of mathematics that concerns itself with mathematical methods that are typically used in science, engineering,
business, and industry. Thus, "applied mathematics" is a mathematical science with specialized knowledge. The term "applied mathematics"
also describes the professional specialty in which mathematicians work on practical problems; as a profession focused on practical

                                                                         12
problems, applied mathematics focuses on the formulation and study of mathematical models. In the past, practical applications have
motivated the development of mathematical theories, which then became the subject of study in pure mathematics, where mathematics is
developed primarily for its own sake. Thus, the activity of applied mathematics is vitally connected with research in pure mathematics.

20
     At the start of this date/time project, the best features were selected from the different data/time software.
            Oracle and IBM use field based date/time because it is fastest and simplest for database retrieval, sorting and indexing.
             BM’ f           y xw                d d x       d df      c d        d      .
            C/C++/UNIX date/time options were improved for speed.
             BM’                c d w      x     d d                 u      d          h u .
            O c ’ 12/24 h u              w      c ud d.
            Microsoft fraction of time options was included.
            Exc           uch “N -K w ” d “N -                  c    ”w        c ud    dw                  f h HR-XML date/time recommendations.
            IEEE 754 type exponent was used for precision.
            IEEE 754 type of special bits configurations was used exceptions.
            IEEE 754 ability to run-quite on exceptions was included.

The structure of this date and time has similarities to Oracles date and time, however
         The year is 10,000 compliment rather than Oracle’s 100 complement.
          The year 1999 19_99 wh O c ’                199_199.
         The time is cardinal rather than Oracle’ ordinal.
          Th         23:59:59 23_59_59 wh O c ’               24_60_60 d 00:00:00 00_00_00 wh O c ’               01_01_01
         F c         f        d c         h h O c ’                  y. Therefore the new time requires an extra byte but it supports Network Time
          P     c ’ 10 f c          dg      f      while O c ’ is 9 digits.
         Fraction of time supports fraction of minutes, fraction of hours and fraction of days while Oracle only supports fraction of seconds.
         It has a prefix byte (meta-data) that identifies the ISO date/time and supports day-of-year and week-of-year, fraction of minutes, fraction
          of hours and fraction of days.
         It has a time-zone bye were hours that are excess 115 with unique bits for no time zone or UTC time therefore it requires only 1 format
          while Oracle (and Microsoft) requires 3 formats for each precision. It can support abbreviated formats.
         It has a suffix byte that identifies the precision using an exponent and therefore one format can support precision of C/C++, Java, IBM
          or any of the variable precisions of Oracle and Microsoft that require a couple of dozen formats.


21
  Get Smart was an one of the longest running American comedy television series that satirizes James Bond and Inspector Clouseau. CONTROL
was a secret U.S. government counter-intelligence agency based in Washington, D.C. Its nemesis was KAOS, "an international organization of
evil", which for tax reasons was a Delaware Corporation.




                                                                        13

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:0
posted:10/5/2012
language:English
pages:13