]> Kevux Git Server - kevux.org-website/commitdiff
Update: News - 2024 / 07 / 14 - Time and Numbers.
authorKevin Day <Kevin@kevux.org>
Sun, 14 Jul 2024 21:34:23 +0000 (16:34 -0500)
committerKevin Day <Kevin@kevux.org>
Sun, 14 Jul 2024 21:34:23 +0000 (16:34 -0500)
news.html
news/2024.html
news/2024/2024_06_14-living_standard_dead.html
news/2024/2024_07_14-time_and_numbers.html [new file with mode: 0644]

index c1b629700a341be1cd5566779f33458b387e6e39..3d310a6bcd6a6b05dbc651bede782d8d7efa14e4 100644 (file)
--- a/news.html
+++ b/news.html
       <div id="nav-expanded" class="nav-block">
         <nav id="kevux-document-nav" class="nav-menu">
           <div class="nav-item block">
+            <div class="nav-text notice">2024 / 07 / 14</div>
+            <a href="news/2024/2024_07_14-time_and_numbers.html" class="nav-text link">Time and Numbers</a>
+          </div>
+          <div class="nav-item block">
             <div class="nav-text notice">2024 / 06 / 14</div>
             <a href="news/2024/2024_06_14-living_standard_dead.html" class="nav-text link">A Living Standard is a Dead Standard</a>
           </div>
             <h1 class="section-title h h1">News</h1>
           </header>
 
-          <article id="2024_06_14-living_standard_dead" class="article">
+          <article id="2024_07_14-time_and_numbers" class="article">
             <header class="article-header header">
+              <h2 id="2024_07_14-time_and_numbers" class="article-title h h2">2024 / 07 / 14 - Time and Numbers</h2>
+            </header>
+
+            <div class="article-content">
+              <p class="p">
+                The Kevux projects are predominately specification driven programming, also called standards driven programming.
+                Most of the standards are focused around logic and a specific goal.
+                Some of the standards, however, are focused on math and its application.
+                Today, I have decided to discuss some of the mathematical based, or number based, standards.
+                I planned on a more extensive article but the events of Yesterday, July 13, 2024, are historic and troubling for the United States of America.
+                I have found that rather distracting and I am opting for a shorter article.
+              </p>
+              <p class="p">
+                <a id="2024_07_14-time_and_numbers-more" href="news/2024/2024_07_14-time_and_numbers.html" class="content link" aria-labelledby="2024_07_14-time_and_numbers-more 2024_07_14-time_and_numbers-title">Continue reading…</a>
+              </p>
+            </div>
+          </article>
+
+          <article id="2024_06_14-living_standard_dead" class="article">
+            <header class="article-header header separate">
               <h2 id="2024_06_14-living_standard_dead" class="article-title h h2">2024 / 06 / 14 - A Living Standard is a Dead Standard</h2>
             </header>
 
index 9d2a8c6718e55011bc1bf8427d71ddfc2b1d99f9..aad0782e13c3496f09495c528c99d3278442d82a 100644 (file)
             <a href="news.html" class="nav-text link back">Back</a>
           </div>
           <div class="nav-item block">
+            <div class="nav-text notice">2024 / 07 / 14</div>
+            <a href="news/2024/2024_07_14-time_and_numbers.html" class="nav-text link">Time and Numbers</a>
+          </div>
+          <div class="nav-item block">
             <div class="nav-text notice">2024 / 06 / 14</div>
             <a href="news/2024/2024_06_14-living_standard_dead.html" class="nav-text link">A Living Standard is a Dead Standard</a>
           </div>
             <h1 class="section-title h h1">Year 2024 News</h1>
           </header>
 
-          <article id="2024_06_14-living_standard_dead" class="article">
+          <article id="2024_07_14-time_and_numbers" class="article">
             <header class="article-header header">
+              <h2 id="2024_07_14-time_and_numbers" class="article-title h h2">2024 / 07 / 14 - Time and Numbers</h2>
+            </header>
+
+            <div class="article-content">
+              <p class="p">
+                The Kevux projects are predominately specification driven programming, also called standards driven programming.
+                Most of the standards are focused around logic and a specific goal.
+                Some of the standards, however, are focused on math and its application.
+                Today, I have decided to discuss some of the mathematical based, or number based, standards.
+                I planned on a more extensive article but the events of Yesterday, July 13, 2024, are historic and troubling for the United States of America.
+                I have found that rather distracting and I am opting for a shorter article.
+              </p>
+              <p class="p">
+                <a id="2024_07_14-time_and_numbers-more" href="news/2024/2024_07_14-time_and_numbers.html" class="content link" aria-labelledby="2024_07_14-time_and_numbers-more 2024_07_14-time_and_numbers-title">Continue reading…</a>
+              </p>
+            </div>
+          </article>
+
+          <article id="2024_06_14-living_standard_dead" class="article">
+            <header class="article-header header separate">
               <h2 id="2024_06_14-living_standard_dead" class="article-title h h2">2024 / 06 / 14 - A Living Standard is a Dead Standard</h2>
             </header>
 
index 143c3f577f8aa4d4f00375a322b3f8fae21d6e65..864bd3c9ccc6118c9bd1a01a80ecf76d56522d68 100644 (file)
@@ -28,6 +28,7 @@
     <link type="image/x-icon" rel="shortcut" href="images/kevux.ico">
     <link type="text/html" rel="license" href="licenses.html">
     <link type="text/html" rel="prev" href="news/2024/2024_05_25-fll_0_6_10_release.html">
+    <link type="text/html" rel="next" href="news/2024/2024_07_14-time_and_numbers.html">
   </head>
 
   <body id="kevux" class="kevux no-js news">
diff --git a/news/2024/2024_07_14-time_and_numbers.html b/news/2024/2024_07_14-time_and_numbers.html
new file mode 100644 (file)
index 0000000..5dd25cf
--- /dev/null
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head>
+    <title>News - 2024/07/14 - Time and Numbers</title>
+
+    <base href="../../">
+
+    <meta charset="UTF-8">
+    <meta name="author" content="Kevin Day">
+    <meta name="description" content="News post on 2024/07/14.">
+    <meta name="keywords" content="Kevin Day, Kevux, FLL, Featureless, Linux, Library, Distribution, Open-Source, News, 2024">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+
+    <link type="text/css" rel="stylesheet" media="all" href="css/kevux.css">
+    <link type="text/css" rel="stylesheet" media="only screen" href="css/kevux-screen.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:501px)" href="css/kevux-screen-desktop.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (max-device-width:500px)" href="css/kevux-screen-mobile.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:1201px)" href="css/kevux-screen-large.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:501px) and (max-device-width:1200px)" href="css/kevux-screen-normal.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (min-device-width:251px) and (max-device-width:500px)" href="css/kevux-screen-small.css">
+    <link type="text/css" rel="stylesheet" media="only screen and (max-device-width:250px)" href="css/kevux-screen-tiny.css">
+    <link type="text/css" rel="stylesheet" media="only print" href="css/kevux-print.css">
+    <link type="text/css" rel="stylesheet" media="only print and (orientation:landscape)" href="css/kevux-print-landscape.css">
+    <link type="text/css" rel="stylesheet" media="only print and (orientation:portrait)" href="css/kevux-print-portrait.css">
+
+    <link rel="canonical" href="news/2024/2024_07_14-time_and_numbers.html">
+    <link type="image/x-icon" rel="icon" href="images/kevux.ico">
+    <link type="image/x-icon" rel="shortcut" href="images/kevux.ico">
+    <link type="text/html" rel="license" href="licenses.html">
+    <link type="text/html" rel="prev" href="news/2024/2024_06_14-living_standard_dead.html">
+  </head>
+
+  <body id="kevux" class="kevux no-js news">
+    <div role="banner" class="header-block">
+      <header class="header-section header">
+        <div class="header-site">Kevux Systems and Software</div>
+      </header>
+
+      <div class="nav-block">
+        <nav id="kevux-site-nav" class="nav-menu">
+          <div class="nav-item active"><a href="news.html" class="nav-text link">News</a></div>
+          <div class="nav-item"><a href="distributions.html" class="nav-text link">Distributions</a></div>
+          <div class="nav-item"><a href="fll.html" class="nav-text link">FLL</a></div>
+          <div class="nav-item"><a href="projects.html" class="nav-text link">Projects</a></div>
+          <div class="nav-item"><a href="documentation.html" class="nav-text link">Documentation</a></div>
+        </nav>
+      </div>
+    </div>
+
+    <div class="content-block">
+      <div id="nav-expanded" class="nav-block">
+        <nav id="kevux-document-nav" class="nav-menu">
+          <div class="nav-item block back">
+            <a href="news/2024.html" class="nav-text link back">Back</a>
+          </div>
+          <div class="nav-item block highlight unlink">
+            <div class="nav-text notice">2024 / 07 / 14</div>
+            <div class="nav-text unlink">Time and Numbers</div>
+          </div>
+          <div class="nav-item block ellipses">
+            <a href="news/2024/2024_07_14-time_and_numbers.html#nav-expanded" class="nav-text link open" title="Expand Menu">…</a>
+            <a href="news/2024/2024_07_14-time_and_numbers.html" class="nav-text link close">Collapse Menu</a>
+          </div>
+        </nav>
+      </div>
+
+      <div role="document" class="main-block">
+        <main class="main">
+          <header class="section-header header">
+            <h1 class="section-title h h1">2024 / 07 / 14 - Time and Numbers</h1>
+          </header>
+
+          <div class="section-content">
+            <p class="p">
+              The Kevux projects are predominately specification driven programming, also called standards driven programming.
+              Most of the standards are focused around logic and a specific goal.
+              Some of the standards, however, are focused on math and its application.
+              Today, I have decided to discuss some of the mathematical based, or number based, standards.
+              I planned on a more extensive article but the events of Yesterday, July 13, 2024, are historic and troubling for the United States of America.
+              I have found that rather distracting and I am opting for a shorter article.
+            </p>
+          </div>
+
+          <section id="time_unit" class="section">
+            <header class="section-header header separate">
+              <h2 class="section-title h h2">Time, a Unit</h2>
+            </header>
+
+            <div class="section-content">
+              <p class="p">
+                The <em class="em">UNIX Timestamp</em> is the predominant time based standard on computers this day.
+                This time measurement system is based around the number of seconds have passed since January 1, 1970 at 00:00:00 <abbr title="Coordinated Universal Time">UTC</abbr>.
+                This date is also known as <em class="em">UNIX Epoch</em>.
+                This works reasonably well because the year can simply be calculated.
+                The existence of leap years, leap seconds, and other alterations complicate the use of this measurement of time.
+                The calculations against this number for past, present, and future is relatively easy.
+              </p>
+              <p class="p">
+                The original <em class="em">UNIX Timestamp</em> is a signed 32-bit integer.
+                Mathematically speaking, this can only represent about 68 years.
+                This problem is known as the year 2038 bug.
+                Increasing the integer from 32-bit to 64-bit prevents this particular problem by making the max year problem, such as the year 2038 bug, less of a concern.
+              </p>
+              <p class="p">
+                I see the <em class="em">UNIX Timestamp</em> as a good idea surrounded by some minor, but critical, problems.
+                The problems that I am concerned with stem from two parts.
+              </p>
+              <ol>
+                <li>Separation of concerns problem regarding the byte size.</li>
+                <li>Directly associating, or hard-coding, a year into the number of seconds.</li>
+              </ol>
+              <p class="p">
+                The <em class="em">UNIX Timestamp</em> standard was written during a time when the hardware constraints were a critical concern.
+                Forcing the 32-bit signed behavior back then made sense.
+                Today, one should instead focus on user interaction and dynamic range support.
+                If a particular machine or software program does not support say, a 128-bit timestamp, then it can simple communicate that the number is too large.
+                Any timestamp value that would fit in a 64-bit or 32-bit integer would still be supported in a 128-bit timestamp.
+              </p>
+              <p class="p">
+                The biggest problem is not the bit length of the integer.
+                The biggest problem is that the year, 1970, is fixed.
+                Make the year a separate number.
+                This number, like the seconds value, can also be of an unfixed size.
+                Twelve bits can be safely used to represent a complete number for the year 2024 and for a good number of years beyond that.
+                With a system that is unbiased in the bit length, this number could also be 16-bit, 32-bit, or anything else.
+                An unfixed year has the advantage of allowing for a unit of time to be used for theoretically any point in time.
+                A computer system could be programmed for the calendar year of say, planet Pluto.
+                A computer system could be programmed for the calendar year of say thousands of years into the <abbr title="Before Christ">B.C.</abbr> calendar.
+                This system could then be used to compare against the current clock system without requiring a new standard.
+              </p>
+            </div>
+          </section>
+
+          <section id="provide_real_standard" class="section">
+            <header class="section-header header separate">
+              <h2 class="section-title h h2">The UNIX Timestamp Alternatives: Time and EpochTime</h2>
+            </header>
+
+            <div class="section-content">
+              <p class="p">
+                I wrote two new units of time called <a href="fll/specifications/other/time.html" class="link">specification of <strong class="strong">Time</strong> and <strong class="strong">EpochTime</strong></a>.
+              </p>
+              <p class="p">
+                This standard is largely based on the <em class="em">UNIX Timestamp</em> but instead of using signed integers, it uses unsigned integers.
+                A year can be specified so the use of a negative is rather pointless.
+                This standard does mention 64-bit to make it more directly compatible with the currently <em class="em">UNIX Timestamp</em> ranges.
+                The standard also asserts that it allows for larger bits as needed.
+                This does not, however, specifically declare how hardware must implement this.
+                For example, a <strong class="strong">Time</strong> of <code class="code">2000:-1</code> could instead be represented as <code class="code">1999:31536000</code>.
+                This could also be stored as a string literal.
+              </p>
+              <p class="p">
+                A system hardware clock could utilize a rotating clock to support this unit of time called <strong class="strong">Time</strong>.
+                After 32 days into the year, then the year part of the hardware clock could be incremented by 1 and then 32 days would be set in the seconds.
+                The 32 day wait is done to avoid any potentially problems with a leap year, a leap second, or any such complications.
+              </p>
+              <p class="p">
+                One downside of this approach is that two comparison may be needed when comparing two dates.
+                This may also complicate the database structure, such as requiring two columns or splitting of the value.
+                This can be solved through organization and filtering first by the year and then calculate the timestamp.
+                On the flipside, this downside could be turned into an advantage by using this to optimize the dates via the year.
+              </p>
+          </section>
+
+          <div class="section-content">
+            <p class="p">
+              <strong class="strong">Kevin Day</strong>
+            </p>
+          </div>
+        </main>
+      </div>
+    </div>
+  </body>
+</html>