]> Kevux Git Server - kevux.org-website/commitdiff
Update: Add strong and em classes to the strong and em markup.
authorKevin Day <thekevinday@gmail.com>
Sat, 17 Dec 2022 16:08:55 +0000 (10:08 -0600)
committerKevin Day <thekevinday@gmail.com>
Sat, 17 Dec 2022 16:08:55 +0000 (10:08 -0600)
79 files changed:
documentation.html
documentation/byte_dump.html
documentation/byte_dump/specifications.html
documentation/control.html
documentation/control/specifications.html
documentation/control/specifications/packet_request.html
documentation/control/specifications/packet_response.html
documentation/control/specifications/settings.html
documentation/controller.html
documentation/controller/specifications.html
documentation/controller/specifications/action.html
documentation/controller/specifications/entry.html
documentation/controller/specifications/exit.html
documentation/controller/specifications/packet.html
documentation/controller/specifications/rule.html
documentation/fake.html
documentation/fake/specifications.html
documentation/fake/specifications/defines.html
documentation/fake/specifications/dependencies.html
documentation/fake/specifications/fakefile.html
documentation/fake/specifications/settings.html
documentation/firewall.html
documentation/firewall/specifications.html
documentation/fss_basic_list_read.html
documentation/fss_basic_list_read/specifications.html
documentation/fss_basic_list_write.html
documentation/fss_basic_list_write/specifications.html
documentation/fss_basic_read.html
documentation/fss_basic_read/specifications.html
documentation/fss_basic_write.html
documentation/fss_basic_write/specifications.html
documentation/fss_embedded_list_read.html
documentation/fss_embedded_list_read/specifications.html
documentation/fss_embedded_list_write.html
documentation/fss_embedded_list_write/specifications.html
documentation/fss_extended_list_read.html
documentation/fss_extended_list_read/specifications.html
documentation/fss_extended_list_write.html
documentation/fss_extended_list_write/specifications.html
documentation/fss_extended_read.html
documentation/fss_extended_read/specifications.html
documentation/fss_extended_write.html
documentation/fss_extended_write/specifications.html
documentation/fss_identify.html
documentation/fss_identify/specifications.html
documentation/fss_payload_read.html
documentation/fss_payload_read/specifications.html
documentation/fss_payload_write.html
documentation/fss_payload_write/specifications.html
documentation/fss_status_code.html
documentation/fss_status_code/specifications.html
documentation/iki_read.html
documentation/iki_read/specifications.html
documentation/iki_write.html
documentation/iki_write/specifications.html
documentation/status_code.html
documentation/status_code/specifications.html
documentation/utf8.html
documentation/utf8/specifications.html
fll.html
fll/design.html
fll/specifications.html
fll/specifications/fss/fss-000e.html
fll/specifications/fss/fss-000f.html
fll/specifications/iki/iki-0000.html
fll/specifications/iki/iki-0001.html
fll/specifications/iki/iki-0002.html
news.html
news/2022_05_01-website_redesign.html
news/2022_05_06-basic_program_documentation.html
news/2022_05_16-fll_specifications_added.html
news/2022_06_04-librem_to_freedom.html
news/2022_07_02-fll_0_5_10_release.html
news/2022_07_31-fll_0_6_0_release.html
news/2022_10_31-fll_0_6_1_release.html
projects.html
sources.html
specification.html
webbing.html

index 4c529e9b020690c93a08901553a5ca24440993d4..8975f4b1fd0af248cb52961a659b3509d4c0110b 100644 (file)
               </p>
               <p class="p">
                 There are two major groups of specifications, the <a href="fll/specifications.html#fss" class="link">Featureless Settings Specifications</a> and the <a href="fll/specifications.html#iki" class="link">IKI Specifications</a>.
-                Individual program projects may also have their own specifications. Each pogram has a specifications page that describes the specifications, if any, that are defined by that project. The <strong>Featureless Make</strong> is <a href="documentation/fake/specifications.html" class="link">a good example of program specific specifications</a>.
+                Individual program projects may also have their own specifications. Each pogram has a specifications page that describes the specifications, if any, that are defined by that project. The <strong class="strong">Featureless Make</strong> is <a href="documentation/fake/specifications.html" class="link">a good example of program specific specifications</a>.
               </p>
               <p class="p">
                 Many of these specifications may also be found in the source code repositories:
 
             <div class="article-content">
               <p class="p">
-                One of the biggest problems with an <abbr title="Application Programming Interface">API</abbr> is the mis-use or misunderstanding of the meaning and purpose of one. The term itself is not the most accurate and is also not ideal. A more appropriate term would be a <strong>Library Interface</strong> or a <strong>Software Interface</strong>.
+                One of the biggest problems with an <abbr title="Application Programming Interface">API</abbr> is the mis-use or misunderstanding of the meaning and purpose of one. The term itself is not the most accurate and is also not ideal. A more appropriate term would be a <strong class="strong">Library Interface</strong> or a <strong class="strong">Software Interface</strong>.
               </p>
 
               <section class="section">
index 9ddd25514cbb36ef65ee7860807575cf27198acc..16c0571bd9c4bd24a1e12817570a223df5bafd54 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>byte_dump</strong> program is a tool for parsing and printing the bytes of all data within one or more files.
+              The <strong class="strong">byte_dump</strong> program is a tool for parsing and printing the bytes of all data within one or more files.
             </p>
             <p class="p">
-              This tool operates similar to the classic <strong>hexdump</strong> program and provides similar functionality. However, the <strong>byte_dump</strong> program is not intended to be a complete replacemenet. Unlike the <strong>hexdump</strong> program, the <strong>byte_dump</strong> program is fully <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> aware and even validates the Unicode sequences.
+              This tool operates similar to the classic <strong class="strong">hexdump</strong> program and provides similar functionality. However, the <strong class="strong">byte_dump</strong> program is not intended to be a complete replacemenet. Unlike the <strong class="strong">hexdump</strong> program, the <strong class="strong">byte_dump</strong> program is fully <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> aware and even validates the Unicode sequences.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 9c33beff1608c4e2f97eabd8475bacf9c20ba99b..b02c73ceed9969fa44ac15e9d025981bdec64de5 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>Byte Dump</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">Byte Dump</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 9139c460a087963202aa038d5ea268c9e5751ae0..655c27ed8bc20932209c7102a711cb2e1804daa3 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>control</strong> program is a tool for sending commands to the <strong>controller</strong> program.
+              The <strong class="strong">control</strong> program is a tool for sending commands to the <strong class="strong">controller</strong> program.
             </p>
             <p class="p">
-              This tools is currently incomplete and is not guaranteed to work with the <strong>controller</strong> program. Further development will be made on this once the <strong>controller</strong> program is updated. The next development series is planned to focus on networking, which will include support for this.
+              This tools is currently incomplete and is not guaranteed to work with the <strong class="strong">controller</strong> program. Further development will be made on this once the <strong class="strong">controller</strong> program is updated. The next development series is planned to focus on networking, which will include support for this.
             </p>
           </div>
 
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index f48f2a9206bfca17eec6dfffcecc1b30d1c95544..f5e764f5117180f3e62fb34f7c7c6ba96f853c29 100644 (file)
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
             </p>
             <p class="p">
-              The <strong>Control</strong> follows the following specifications:
+              The <strong class="strong">Control</strong> follows the following specifications:
             </p>
             <ul>
               <li><a href="fll/specifications/fss/fss-000f.html" class="link">FSS-000F (Simple Packet)</a></li>
             </ul>
             <p class="p">
-              The <strong>Control</strong> defines the following specifications:
+              The <strong class="strong">Control</strong> defines the following specifications:
             </p>
             <ul>
               <li><a href="documentation/control/specifications/settings.html" class="link">Settings</a></li>
index 19532c1acc25ad0ea8452215ee1249772cfcb02e..28c17cdb8536d65d9234374a59dc6110d5a4d35d 100644 (file)
@@ -93,9 +93,9 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>Control</strong> follows a <em>Packet Request Specification</em>.
+              The <strong class="strong">Control</strong> follows a <em class="em">Packet Request Specification</em>.
               This specification is incomplete at this time as the functionality is not yet written.
-              This specification is intended to be shared with the <strong>Controller</strong> program.
+              This specification is intended to be shared with the <strong class="strong">Controller</strong> program.
             </p>
           </div>
 
 
             <div class="section-content">
               <p class="p">
-                The <strong>Control</strong> program sends packets and receives packet responses from the <strong>Controller</strong> program over the <strong>Controller</strong> program's control socket.
+                The <strong class="strong">Control</strong> program sends packets and receives packet responses from the <strong class="strong">Controller</strong> program over the <strong class="strong">Controller</strong> program's control socket.
                 This documentation describes the request packets sent by this program.
               </p>
               <p class="p">
-                The purpose of these request packets are to ask the <strong>Controller</strong> program to perform a requested action.
+                The purpose of these request packets are to ask the <strong class="strong">Controller</strong> program to perform a requested action.
               </p>
               <p class="p">
-                The communications to/from the <strong>Controller</strong> program utilize the <code class="code">FSS-000F (Simple Packet)</code>.
+                The communications to/from the <strong class="strong">Controller</strong> program utilize the <code class="code">FSS-000F (Simple Packet)</code>.
                 This Simple Packet is expected to contain within it the <code class="code">FSS-000E (Payload)</code> format.
               </p>
               <p class="p">
                 The Payload contains within it a Header and a Payload.
                 Note the potential confusion here between the Payload when referring to the Packet format and the Payload referring to the Content within the Payload Packet.
-                To avoid this, henceforth "<em>Payload Packet</em>" refers to the <code class="code">FSS-000E (Payload)</code> used within the <code class="code">FSS-000F (Simple Packet)</code>.
-                The "<em>Payload Header</em>" refers to either the Object (<code class="code">header:</code>) or Content within the Payload Packet representing the header.
-                The "<em>Payload Object</em>" refers to the Object within the Payload Packet (ie: <code class="code">payload:</code>).
-                The "<em>Payload Content</em>" refers to the Content within the Payload Packet.
+                To avoid this, henceforth "<em class="em">Payload Packet</em>" refers to the <code class="code">FSS-000E (Payload)</code> used within the <code class="code">FSS-000F (Simple Packet)</code>.
+                The "<em class="em">Payload Header</em>" refers to either the Object (<code class="code">header:</code>) or Content within the Payload Packet representing the header.
+                The "<em class="em">Payload Object</em>" refers to the Object within the Payload Packet (ie: <code class="code">payload:</code>).
+                The "<em class="em">Payload Content</em>" refers to the Content within the Payload Packet.
               </p>
               <p class="p">
                 The <code class="code">FSS-000E (Payload)</code> is very flexible in what it allows within the Header of the Payload Packet.
-                The <strong>Control</strong> program is more restrictive and supports only a subset of the possibilities (which this is explicitly allowed by the Specification).
+                The <strong class="strong">Control</strong> program is more restrictive and supports only a subset of the possibilities (which this is explicitly allowed by the Specification).
               </p>
               <p class="p">
-                The <strong>Control</strong> program only supports the following Payload Packet header Objects for the request:
+                The <strong class="strong">Control</strong> program only supports the following Payload Packet header Objects for the request:
               </p>
               <ul>
                 <li><code class="code">type</code>: Allows only a single type header Object and may only be one of: <code class="code">controller</code>, <code class="code">error</code>, or <code class="code">init</code>.</li>
index 572e48c72ed1454bdfbaec43490980e956567f61..886aaee9a877892af8ed01b80fa176f1bcedabcf 100644 (file)
@@ -93,9 +93,9 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>Control</strong> follows a <em>Packet Response Specification</em>.
+              The <strong class="strong">Control</strong> follows a <em class="em">Packet Response Specification</em>.
               This specification is incomplete at this time as the functionality is not yet written.
-              This specification is intended to be shared with the <strong>Controller</strong> program.
+              This specification is intended to be shared with the <strong class="strong">Controller</strong> program.
             </p>
           </div>
 
 
             <div class="section-content">
               <p class="p">
-                The <strong>Control</strong> program sends packets and receives packet responses from the <strong>Controller</strong> program over the <strong>Controller</strong> program's control socket.
+                The <strong class="strong">Control</strong> program sends packets and receives packet responses from the <strong class="strong">Controller</strong> program over the <strong class="strong">Controller</strong> program's control socket.
                 This documentation describes the expected response packets and how these response packets are handled.
               </p>
               <p class="p">
-                The communications to/from the <strong>Controller</strong> program utilize the <code class="code">FSS-000F (Simple Packet)</code>.
+                The communications to/from the <strong class="strong">Controller</strong> program utilize the <code class="code">FSS-000F (Simple Packet)</code>.
                 This Simple Packet is expected to contain within it the <code class="code">FSS-000E (Payload)</code> format.
               </p>
               <p class="p">
                 The Payload contains within it a Header and a Payload.
                 Note the potential confusion here between the Payload when referring to the Packet format and the Payload referring to the Content within the Payload Packet.
-                The "<em>Payload Header</em>" refers to either the Object (<code class="code">header:</code>) or Content within the Payload Packet representing the header.
-                The "<em>Payload Object</em>" refers to the Object within the Payload Packet (ie: <code class="code">payload:</code>).
-                The "<em>Payload Content</em>" refers to the Content within the Payload Packet.
+                The "<em class="em">Payload Header</em>" refers to either the Object (<code class="code">header:</code>) or Content within the Payload Packet representing the header.
+                The "<em class="em">Payload Object</em>" refers to the Object within the Payload Packet (ie: <code class="code">payload:</code>).
+                The "<em class="em">Payload Content</em>" refers to the Content within the Payload Packet.
               </p>
               <p class="p">
                 The <code class="code">FSS-000E (Payload)</code> is very flexible in what it allows within the Header of the Payload Packet.
-                The <strong>Control</strong> program is more restrictive and supports only a subset of the possibilities (which this is explicitly allowed by the Specification).
+                The <strong class="strong">Control</strong> program is more restrictive and supports only a subset of the possibilities (which this is explicitly allowed by the Specification).
               </p>
               <p class="p">
-                The <strong>Control</strong> program only supports the following Payload Packet header Objects for the response:
+                The <strong class="strong">Control</strong> program only supports the following Payload Packet header Objects for the response:
               </p>
               <ul>
                 <li>
                 </li>
               </ul>
               <p class="p">
-                When the <strong>Control</strong> program fails to function due to some error, there will be no specially formatted message printed.
-                When the <strong>Controller</strong> program fails before it can perform the requested action, then a <code class="code">response error [action] [status]</code> formatted message is printed.
-                When the <strong>Controller</strong> program successfully performs the action but the result of that action is an error, then a <code class="code">response controller [action] F_failure</code> formatted message is printed.
+                When the <strong class="strong">Control</strong> program fails to function due to some error, there will be no specially formatted message printed.
+                When the <strong class="strong">Controller</strong> program fails before it can perform the requested action, then a <code class="code">response error [action] [status]</code> formatted message is printed.
+                When the <strong class="strong">Controller</strong> program successfully performs the action but the result of that action is an error, then a <code class="code">response controller [action] F_failure</code> formatted message is printed.
               </p>
             </div>
           </section>
index 8058280a8fe03bd6d62edc86cc4fe2ab4f16ee8c..f899c2981653c98587d09be110cdfa72256b3416 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>Control</strong> defines the <em>Settings Specification</em>.
-              This specification describes how the settings file is used by the <strong>Control</strong> program.
+              The <strong class="strong">Control</strong> defines the <em class="em">Settings Specification</em>.
+              This specification describes how the settings file is used by the <strong class="strong">Control</strong> program.
             </p>
             <p class="p">
-              The control settings "<em>settings</em>" file follows the <code class="code">FSS-0001 (Extended)</code> format.
+              The control settings "<em class="em">settings</em>" file follows the <code class="code">FSS-0001 (Extended)</code> format.
             </p>
             <p class="p">
               Each Object represents a settings property name.
               <p class="p">
                 The settings file provides default or system-wide settings.
                 The system-wide settings file is loaded by default but a custom settings file may be alternatively specified.
-                Using this avoids the need to add additional paramters to the command line when calling the <strong>Control</strong> program.
+                Using this avoids the need to add additional paramters to the command line when calling the <strong class="strong">Control</strong> program.
               </p>
               <p class="p">
                 When this file is not specified any hardcoded defaults compiled into the program are used.
                     A full socket path might look something like <code class="code">/var/run/controller/controller-default.socket</code>.
                   </p>
                   <p class="p">
-                    It is common for the <strong>Controller</strong> program to be compiled as an init program.
+                    It is common for the <strong class="strong">Controller</strong> program to be compiled as an init program.
                     In this case it may be common for the full socket path to instead be something more like <code class="code">/var/run/init/init-default.socket</code>.
                   </p>
                 </li>
index ce4ff6ed80091085ac550b8e41cc714f5b11f5aa..db554ffb34e6f2eb2be790ad75da4187a124916f 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>controller</strong> program is a tool for controller other programs.
+              The <strong class="strong">controller</strong> program is a tool for controller other programs.
             </p>
             <p class="p">
-              This tool is designed to configured to perform and execute any tasks given across multiple languages and it also has support for operating as an <strong>init</strong> program. There are special compile-time configurations needed to make this properly operate as an <strong>init</strong> program.
+              This tool is designed to configured to perform and execute any tasks given across multiple languages and it also has support for operating as an <strong class="strong">init</strong> program. There are special compile-time configurations needed to make this properly operate as an <strong class="strong">init</strong> program.
             </p>
             <p class="p">
-              This tool operates similar to the <strong>fake</strong> program and can even be seen as an evolution to the <strong>fake</strong> program. The <strong>controller</strong> program, however is not a replacement to the <strong>fake</strong> program as it is more generalized.
+              This tool operates similar to the <strong class="strong">fake</strong> program and can even be seen as an evolution to the <strong class="strong">fake</strong> program. The <strong class="strong">controller</strong> program, however is not a replacement to the <strong class="strong">fake</strong> program as it is more generalized.
             </p>
             <p class="p">
               This tool also provides additional features for making it easierr to test and write controller instructions. These features include partial simulation and validation modes.
             </p>
             <p class="p">
-              In partial simulation mode, anything that the <strong>controller</strong> program has full control over and can simulate is simulated. Actual programs and scripts themselves, therefore, cannot be simulated. However, it may be possible to use an environment variables or similar and pass settings to the called program or script if the called program or script is simulation and testing aware.
+              In partial simulation mode, anything that the <strong class="strong">controller</strong> program has full control over and can simulate is simulated. Actual programs and scripts themselves, therefore, cannot be simulated. However, it may be possible to use an environment variables or similar and pass settings to the called program or script if the called program or script is simulation and testing aware.
             </p>
             <p class="p">
               The validation mode is for making this tool more scriptable. By providing validation, the controller instructions can be validated, in which case a success or failure result is returned and any problems or warnings may be printed to the caller of this tool.
             </p>
             <p class="p">
-              This tool is not currently fully functional as an <strong>init</strong> program replacement because the networking aspects are not yet written or fully hashed out. The <strong>contol</strong> program is also another key part to the <strong>contoller</strong> program in getting this to work as an <strong>init</strong> program. Ideally, once this support is complete, it should be possible to replace init programs, such as <strong>SystemD</strong>, with the <strong>controller</strong> program.
+              This tool is not currently fully functional as an <strong class="strong">init</strong> program replacement because the networking aspects are not yet written or fully hashed out. The <strong class="strong">contol</strong> program is also another key part to the <strong class="strong">contoller</strong> program in getting this to work as an <strong class="strong">init</strong> program. Ideally, once this support is complete, it should be possible to replace init programs, such as <strong class="strong">SystemD</strong>, with the <strong class="strong">controller</strong> program.
             </p>
             <p class="p">
-              Further development will be made on this once the <strong>controller</strong> program is updated. The next development series is planned to focus on networking, which will include support for this.
+              Further development will be made on this once the <strong class="strong">controller</strong> program is updated. The next development series is planned to focus on networking, which will include support for this.
             </p>
           </div>
 
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 This describes the intent and purpose of the simulation and validation parameters.
               </p>
               <p class="p">
-                The <strong>controller</strong> program is designed to support being run as an alternative to an <code class="code">init</code> program (such as <code class="code">Sysvinit</code> or <code class="code">SystemD</code>).
+                The <strong class="strong">controller</strong> program is designed to support being run as an alternative to an <code class="code">init</code> program (such as <code class="code">Sysvinit</code> or <code class="code">SystemD</code>).
                 To help prevent problems, simulation and validation functionality is provided.
               </p>
               <ul>
                   The <code class="code">validate</code> functionality:
                 </p>
                 <p class="p">
-                  By itself will simply check the syntax of the <strong>Entry</strong> and Rule files (for Rule files specified in the <strong>Entry</strong> or <strong>Exit</strong> file).
+                  By itself will simply check the syntax of the <strong class="strong">Entry</strong> and Rule files (for Rule files specified in the <strong class="strong">Entry</strong> or <strong class="strong">Exit</strong> file).
                   Errors are reported and nothing is executed.
-                  The <strong>controller</strong> program will return 0 on validation success and 1 on validation failure.
+                  The <strong class="strong">controller</strong> program will return 0 on validation success and 1 on validation failure.
                 </p>
               </li>
 
                   The <code class="code">simulate</code> functionality:
                 </p>
                 <p class="p">
-                  By itself will perform a simulated execution of all Rules designated by an <strong>Entry</strong> or <strong>Exit</strong> file.
+                  By itself will perform a simulated execution of all Rules designated by an <strong class="strong">Entry</strong> or <strong class="strong">Exit</strong> file.
                   The simulation is not a true simulation in that no program is ever called to perform any operations.
                   Furthermore, any <code class="code">script</code> specified inside a Rule is only simulated as a whole and not its individual parts.
-                  Once the <strong>Entry</strong> file is finished executing, the <code class="code">simulate</code> will continue to run waiting on <strong>control</strong> commands.
+                  Once the <strong class="strong">Entry</strong> file is finished executing, the <code class="code">simulate</code> will continue to run waiting on <strong class="strong">control</strong> commands.
                 </p>
               </li>
 
 
             <div class="section-content">
               <p class="p">
-                The <strong>controller</strong> program utilizes the unit of measurement called a <em>Time</em>, represented with uppercase <em>T</em>.
-                For comparison, a unit of <em>Time</em> is equivalent to a nanosecond, or 10^-9 seconds.
-                A <em>MegaTime</em> (MT) is therefore equivalent to a millisecond such that a millisecond is 10^-3 seconds.
+                The <strong class="strong">controller</strong> program utilizes the unit of measurement called a <em class="em">Time</em>, represented with uppercase <em class="em">T</em>.
+                For comparison, a unit of <em class="em">Time</em> is equivalent to a nanosecond, or 10^-9 seconds.
+                A <em class="em">MegaTime</em> (MT) is therefore equivalent to a millisecond such that a millisecond is 10^-3 seconds.
               </p>
               <p class="p">
-                A unit of <em>Time</em> is intended to represent some unit of <em>Time</em> such that a single 64-bit integer may hold all units of <em>Time</em> for a single calendar year.
-                This unit of <em>Time</em> does not and must not include Years (unlike <em>Unixtime</em>).
-                To convert from <em>Time</em> to <em>Unixtime</em>, one must have a year (which could be assumed to be the current year) and then calculate all of those calendar oddities.
+                A unit of <em class="em">Time</em> is intended to represent some unit of <em class="em">Time</em> such that a single 64-bit integer may hold all units of <em class="em">Time</em> for a single calendar year.
+                This unit of <em class="em">Time</em> does not and must not include Years (unlike <em class="em">Unixtime</em>).
+                To convert from <em class="em">Time</em> to <em class="em">Unixtime</em>, one must have a year (which could be assumed to be the current year) and then calculate all of those calendar oddities.
               </p>
               <p class="p">
-                A unit of <em>Time</em> by default is assumed to be in <abbr title="Coordinated Universal Time">UTC</abbr>.
+                A unit of <em class="em">Time</em> by default is assumed to be in <abbr title="Coordinated Universal Time">UTC</abbr>.
               </p>
               <ul>
                 <li>1 (Earth) year ~= <code class="code">31536000000000000 Time</code> or <code class="code">31536000 GT (GigaTime)</code>.</li>
                 <li>1 (Earth) second = <code class="code">1000000000 Time</code> or <code class="code">1 GT (GigaTime)</code>.</li>
               </ul>
               <p class="p">
-                Consequentially, 1 day in units of <em>Time</em> is easily represented as <code class="code">86.4 TT</code> (<em>TeraTime</em>).
+                Consequentially, 1 day in units of <em class="em">Time</em> is easily represented as <code class="code">86.4 TT</code> (<em class="em">TeraTime</em>).
               </p>
               <p class="p">
-                The <em>Time</em> may be stored in its <code class="code">year string format</code>.
-                In this format, a Year may be prepended to the <em>Time</em> followed by a single colon ':' to associate a year with the <em>Time</em>.
+                The <em class="em">Time</em> may be stored in its <code class="code">year string format</code>.
+                In this format, a Year may be prepended to the <em class="em">Time</em> followed by a single colon ':' to associate a year with the <em class="em">Time</em>.
                 This Year has no minimum or maximum but may not have decimals.
                 For example, <code class="code">2020:86400000000000</code> would represent: January 02, 2020 0:00 <abbr title="Coordinated Universal Time">UTC</abbr>.
                 For example, <code class="code">2020:86.4 TT</code> would represent: January 02, 2020 0:00 <abbr title="Coordinated Universal Time">UTC</abbr>.
               </p>
               <p class="p">
-                A second unit of <em>Time</em>, called <em>EpochTime</em>, works the same way as <em>Time</em> except it represents seconds.
+                A second unit of <em class="em">Time</em>, called <em class="em">EpochTime</em>, works the same way as <em class="em">Time</em> except it represents seconds.
                 This unit is designated <code class="code">E</code>.
-                The format is similar to <em>Time</em>, except there are two colons: <code class="code">1970::1620874738</code> would represent: May 13, 2021 2:58:58 <abbr title="Coordinated Universal Time">UTC</abbr>.
+                The format is similar to <em class="em">Time</em>, except there are two colons: <code class="code">1970::1620874738</code> would represent: May 13, 2021 2:58:58 <abbr title="Coordinated Universal Time">UTC</abbr>.
                 When the year is not specified, then this is identical to UNIX Epoch.
               </p>
               <p class="p">
-                A unit of <em>EpochTime</em> by default is assumed to be in <abbr title="Coordinated Universal Time">UTC</abbr>.
+                A unit of <em class="em">EpochTime</em> by default is assumed to be in <abbr title="Coordinated Universal Time">UTC</abbr>.
               </p>
               <ul>
-                <li>1 (Earth) year ~= <code class="code">31536000 EpochTime</code> or <code class="code">31.536 GE</code> (<em>GigaEpochTime</em>).</li>
+                <li>1 (Earth) year ~= <code class="code">31536000 EpochTime</code> or <code class="code">31.536 GE</code> (<em class="em">GigaEpochTime</em>).</li>
                 <li>1 (Earth) day = <code class="code">86400 EpochTime</code></li>
                 <li>1 (Earth) hour = <code class="code">3600 EpochTime</code></li>
                 <li>1 (Earth) minute = <code class="code">60 EpochTime</code></li>
                 <li>1 GT (GigaTime) = <code class="code">1 EpochTime</code></li>
               </ul>
               <p class="p">
-                Consequentially, 1 day in units of <em>EpochTime</em> is easily represented as <code class="code">86.4 KE</code> (<em>KiloEpochTime</em>).
+                Consequentially, 1 day in units of <em class="em">EpochTime</em> is easily represented as <code class="code">86.4 KE</code> (<em class="em">KiloEpochTime</em>).
               </p>
             </div>
           </section>
index 662784307e3aade858d1e784a63e56a876053390..b97bb93967645ec30172c3b4e5d0ae3297a8d1d2 100644 (file)
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
             </p>
             <p class="p">
-              The <strong>Controller</strong> follows the following specifications:
+              The <strong class="strong">Controller</strong> follows the following specifications:
             </p>
             <ul>
               <li><a href="fll/specifications/fss/fss-0005.html" class="link">FSS-0005 (Somewhat Basic List)</a></li>
               <li><a href="fll/specifications/fss/fss-000f.html" class="link">FSS-000F (Simple Packet)</a></li>
             </ul>
             <p class="p">
-              The <strong>Controller</strong> defines the following specifications:
+              The <strong class="strong">Controller</strong> defines the following specifications:
             </p>
             <ul>
               <li><a href="documentation/controller/specifications/action.html" class="link">Action</a></li>
index 9cf0d7c547e2430575848880ff2da2e67ce21893..963d90124455d664d1aa07c2792a0cdc3ce2dfa4 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>Entry</strong>, <strong>Exit</strong>, and <strong>Rule</strong> files each utilize an <strong>Action</strong>.
+              The <strong class="strong">Entry</strong>, <strong class="strong">Exit</strong>, and <strong class="strong">Rule</strong> files each utilize an <strong class="strong">Action</strong>.
             </p>
           </div>
 
                 Should any <code class="code">control</code> or <code class="code">controller</code> program implementation not support any particular Action for any reason, one should report that the Action is unsupported.
               </p>
               <p class="p">
-                <strong>Freeze Action</strong>:
+                <strong class="strong">Freeze Action</strong>:
               </p>
               <ul>
                 <li>The Freeze Action is an extension of a Control Group.</li>
                 <li>This is the complement of the Thaw Action.</li>
                 <li>This designates that a processes Control Group is to be frozen.</li>
                 <li>All Rules (or any process not controlled by the <code class="code">controller</code>) that is within the same Control Group will be frozen.</li>
-                <li><em>(@todo consider instead designing this around the Control Groups instead of a <code class="code">rule</code>.)</em></li>
-                <li><em>(This documentation will likely change with consideration to the above @todo once this gets implemented.)</em></li>
+                <li><em class="em">(@todo consider instead designing this around the Control Groups instead of a <code class="code">rule</code>.)</em></li>
+                <li><em class="em">(This documentation will likely change with consideration to the above @todo once this gets implemented.)</em></li>
                 <li>This must not attempt to freeze (or unfreeze) the Control Group that the <code class="code">controller</code> belongs to.</li>
                 <li>Therefore, if a Rule does not specify a Control Group, then it is likely that the Freeze Action will be unsupported for that Rule/Control Group.</li>
               </ul>
               <p class="p">
-                <strong>Kill Action</strong>:
+                <strong class="strong">Kill Action</strong>:
               </p>
               <ul>
                 <li>Forcefully terminate some process controlled by the <code class="code">controller</code>.</li>
                 <li>This action cannot be blocked and it is recommended to use a Stop Action instead for a more proper termination.</li>
               </ul>
               <p class="p">
-                <strong>Pause Action</strong>:
+                <strong class="strong">Pause Action</strong>:
               </p>
               <ul>
                 <li>The Pause Action will pause (or freeze) the process controlled by the Rule.</li>
                 <li>This is complemented by the Resume Action.</li>
               </ul>
               <p class="p">
-                <strong>Restart Action</strong>:
+                <strong class="strong">Restart Action</strong>:
               </p>
               <ul>
                 <li>The Restart Action will either perform a Stop Action and then a Restart Action or it will perform the Restart Action designated in some Rule file.</li>
                 <li>Ideally this should inform some process to perform its own restart routines.</li>
               </ul>
               <p class="p">
-                <strong>Resume Action</strong>:
+                <strong class="strong">Resume Action</strong>:
               </p>
               <ul>
                 <li>The Resume Action will unpause (or unfreeze) the process controlled by the Rule.</li>
                 <li>This is complemented by the Pause Action.</li>
               </ul>
               <p class="p">
-                <strong>Reload Action</strong>:
+                <strong class="strong">Reload Action</strong>:
               </p>
               <ul>
                 <li>The Reload Action will perform the Reload Action designated in some Rule file.</li>
                 <li>Many programs often differentiate the concept <code class="code">reload</code> from the concept <code class="code">restart</code> in that the program remains running during a <code class="code">reload</code>.</li>
               </ul>
               <p class="p">
-                <strong>Start Action</strong>:
+                <strong class="strong">Start Action</strong>:
               </p>
               <ul>
                 <li>The Start Action will perform the Start Action designated in some Rule file.</li>
                 <li>This is complemented by the Stop Action.</li>
               </ul>
               <p class="p">
-                <strong>Stop Action</strong>:
+                <strong class="strong">Stop Action</strong>:
               </p>
               <ul>
                 <li>The Stop Action will perform the Stop Action designated in some Rule file.</li>
                 <li>This is complemented by the Start Action.</li>
               </ul>
               <p class="p">
-                <strong>Thaw Action</strong>:
+                <strong class="strong">Thaw Action</strong>:
               </p>
               <ul>
                 <li>The Thaw Action is an extension of a Control Group.</li>
                 <li>This is the complement of the Freeze Action.</li>
                 <li>This designates that a processes Control Group is to be unfrozen.</li>
                 <li>All Rules (or any process not controlled by the <code class="code">controller</code>) that is within the same Control Group will be frozen.</li>
-                <li><em>(@todo consider instead designing this around the Control Groups instead of a <code class="code">rule</code>.)</em></li>
-                <li><em>(This documentation will likely change with consideration to the above @todo once this gets implemented.)</em></li>
+                <li><em class="em">(@todo consider instead designing this around the Control Groups instead of a <code class="code">rule</code>.)</em></li>
+                <li><em class="em">(This documentation will likely change with consideration to the above @todo once this gets implemented.)</em></li>
                 <li>This must not attempt to thaw (or unthaw) the Control Group that the <code class="code">controller</code> belongs to.</li>
                 <li>Therefore, if a Rule does not specify a Control Group, then it is likely that the Thaw Action will be unsupported for that Rule/Control Group.</li>
               </ul>
index 8e85a08f87f61c6ebea80d758a67370222b1f6fc..e06d54aadc54dbbb1a14ad1f0bc008b0f010dde8 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>Entry</strong> files follow the <code class="code">FSS-0005 (Somewhat Basic List)</code> format.
+              The <strong class="strong">Entry</strong> files follow the <code class="code">FSS-0005 (Somewhat Basic List)</code> format.
             </p>
             <p class="p">
-              An <strong>Entry</strong> file name is expected to have the file extension <code class="code">.entry</code>.
+              An <strong class="strong">Entry</strong> file name is expected to have the file extension <code class="code">.entry</code>.
             </p>
             <p class="p">
-              For each <strong>Entry</strong> file:
+              For each <strong class="strong">Entry</strong> file:
             </p>
             <ul>
               <li>The outer most part is a <code class="code">FSS-0002 (Basic List)</code>.</li>
-              <li>The <em>Basic List Object</em> is considered the <code class="code">Item</code>.</li>
-              <li>The <em>Basic List Content</em> are considered the <code class="code">Actions</code>.</li>
-              <li>The <em>Actions</em> are <code class="code">FSS-0001 (Extended)</code>.</li>
-              <li>Each <em>Action Object</em> is the <code class="code">Action Name</code>.</li>
-              <li>Each <em>Action Content</em> are the <code class="code">Action Parameters</code>.</li>
+              <li>The <em class="em">Basic List Object</em> is considered the <code class="code">Item</code>.</li>
+              <li>The <em class="em">Basic List Content</em> are considered the <code class="code">Actions</code>.</li>
+              <li>The <em class="em">Actions</em> are <code class="code">FSS-0001 (Extended)</code>.</li>
+              <li>Each <em class="em">Action Object</em> is the <code class="code">Action Name</code>.</li>
+              <li>Each <em class="em">Action Content</em> are the <code class="code">Action Parameters</code>.</li>
             </ul>
             <p class="p">
-              The <strong>Items</strong>:
+              The <strong class="strong">Items</strong>:
             </p>
             <ul>
               <li><code class="code">main</code>: required.</li>
               </li>
             </ul>
             <p class="p">
-              The <strong>Entry</strong> file may have any other valid Item Objects, but only the above are reserved.
+              The <strong class="strong">Entry</strong> file may have any other valid Item Objects, but only the above are reserved.
             </p>
             <p class="p">
               The Actions:
 
             <div class="section-content">
               <p class="p">
-                This describes the intent and purpose of an <strong>Entry</strong> file.
+                This describes the intent and purpose of an <strong class="strong">Entry</strong> file.
               </p>
               <p class="p">
-                An <strong>Entry</strong> file, such as <code class="code">default.entry</code>, is intended to store a set of rules in which the controller will process on execution.
+                An <strong class="strong">Entry</strong> file, such as <code class="code">default.entry</code>, is intended to store a set of rules in which the controller will process on execution.
                 These are used to run some set of commands, such as booting a system.
               </p>
               <p class="p">
                 The <code class="code">settings</code> item Object:
               </p>
               <ul>
-                <li>Represents <strong>Entry</strong> settings and is not an <code class="code">item</code> that can be executed.</li>
+                <li>Represents <strong class="strong">Entry</strong> settings and is not an <code class="code">item</code> that can be executed.</li>
                 <li>A number of settings are supported, but if this Item Object is not specified, then defaults are used.</li>
                 <li>
                   <div>
                     <li>Example IKI variable substitution: for <code class="code">define PATH /bin:/sbin</code>, the associated IKI variable would look like: <code class="code">define:"PATH"</code>.</li>
                     <li>All environment variables, including those defined using this, must be in the <code class="code">environment</code> list in any given Rule to be exported to the executed process.</li>
                     <li>Environment variables added here that are not added to the environment are still exposed as an IKI variable.</li>
-                    <li>This is only expanded within any Rule operated on by this <strong>Entry</strong>.</li>
+                    <li>This is only expanded within any Rule operated on by this <strong class="strong">Entry</strong>.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">mode</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the mode in which the <strong>Entry</strong> is operating in.</li>
+                    <li>Represents the mode in which the <strong class="strong">Entry</strong> is operating in.</li>
                     <li>
                       <div>The following modes are supported: <code class="code">program</code> and <code class="code">service</code>.</div>
                       <p class="p">
                         The <code class="code">program</code> mode:
                       </p>
                       <ul>
-                        <li>Designates that the <strong>Entry</strong> operates as a program and exits when complete.</li>
-                        <li>Will call the <code class="code">exit</code> with the same name as this <strong>Entry</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
+                        <li>Designates that the <strong class="strong">Entry</strong> operates as a program and exits when complete.</li>
+                        <li>Will call the <code class="code">exit</code> with the same name as this <strong class="strong">Entry</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
                         <li>Supports the Item Action <code class="code">execute</code> to execute a program (switching the <code class="code">controller</code> program entirely with the executed process).</li>
                       </ul>
                       <p class="p">
                         The <code class="code">service</code> mode:
                       </p>
                       <ul>
-                        <li>Designates that the <strong>Entry</strong> operates as a service and will sit and wait for control commands when complete.</li>
-                        <li>Will call the <code class="code">exit</code> with the same name as this <strong>Entry</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
+                        <li>Designates that the <strong class="strong">Entry</strong> operates as a service and will sit and wait for control commands when complete.</li>
+                        <li>Will call the <code class="code">exit</code> with the same name as this <strong class="strong">Entry</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
                         <li>Does not support the Item Action <code class="code">execute</code>.</li>
                         <li>This is the default mode.</li>
                       </ul>
                     <li>Use this to define an IKI variable name and value.</li>
                     <li>These do not conflict with environment variables and are not exposed as environment variables.</li>
                     <li>Example IKI variable substitution: for <code class="code">parameter hello world</code>, the associated IKI variable would look like: <code class="code">parameter:"hello"</code>.</li>
-                    <li>This is only expanded within any Rule operated on by this <strong>Entry</strong>.</li>
+                    <li>This is only expanded within any Rule operated on by this <strong class="strong">Entry</strong>.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">pid</code> setting:
                   </p>
                   <ul>
-                    <li>Represents how the <strong>Entry</strong> <abbr title="Process Identifier">PID</abbr> file is generated or not.</li>
+                    <li>Represents how the <strong class="strong">Entry</strong> <abbr title="Process Identifier">PID</abbr> file is generated or not.</li>
                     <li>The following modes are supported: <code class="code">disable</code>, <code class="code">require</code>, and <code class="code">ready</code>.</li>
-                    <li>For <code class="code">disable</code>, not <abbr title="Process Identifier">PID</abbr> file representing the <strong>Entry</strong> is created.</li>
-                    <li>For <code class="code">require</code>, check to see if the <abbr title="Process Identifier">PID</abbr> file exists for an <strong>Entry</strong> at startup and then when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on <abbr title="Process Identifier">PID</abbr> file already exists or on failure and then fail.</li>
+                    <li>For <code class="code">disable</code>, not <abbr title="Process Identifier">PID</abbr> file representing the <strong class="strong">Entry</strong> is created.</li>
+                    <li>For <code class="code">require</code>, check to see if the <abbr title="Process Identifier">PID</abbr> file exists for an <strong class="strong">Entry</strong> at startup and then when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on <abbr title="Process Identifier">PID</abbr> file already exists or on failure and then fail.</li>
                     <li>For <code class="code">ready</code>, when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on failure and then fail (does not check if <abbr title="Process Identifier">PID</abbr> file exists).</li>
                   </ul>
                   <p class="p">
                     The <code class="code">show</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the way <strong>Entry</strong> processing presents information to the screen.</li>
-                    <li>This applies only to the <strong>Entry</strong> and Rule processing itself and does not handle the output of programs and scripts being executed by some <strong>Entry</strong> or Rule.</li>
+                    <li>Represents the way <strong class="strong">Entry</strong> processing presents information to the screen.</li>
+                    <li>This applies only to the <strong class="strong">Entry</strong> and Rule processing itself and does not handle the output of programs and scripts being executed by some <strong class="strong">Entry</strong> or Rule.</li>
                     <li>The following show options are supported: <code class="code">normal</code> and <code class="code">init</code>.</li>
-                    <li>For <code class="code">normal</code>, will not report the start or stop of some <strong>Entry</strong> or Rule execution but will report any errors or warnings as appropriate.</li>
+                    <li>For <code class="code">normal</code>, will not report the start or stop of some <strong class="strong">Entry</strong> or Rule execution but will report any errors or warnings as appropriate.</li>
                     <li>For <code class="code">init</code>, will report when starting programs and may include reporting success and failure status.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">timeout</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the default timeouts for the <strong>Entry</strong>.</li>
+                    <li>Represents the default timeouts for the <strong class="strong">Entry</strong>.</li>
                     <li>See the <code class="code">timeout</code> Action below for details.</li>
                   </ul>
                 </li>
                     <li>For example, the controller program may be used as a full blown <code class="code">init</code> replacement and therefore may need to mount the <code class="code">/var/run/</code> directory.</li>
                     <li>If the <abbr title="Process Identifier">PID</abbr> file is created at program start, then the <code class="code">/var/run/</code>controller.pid would be written before the <code class="code">/var/run/</code> directory is ready.</li>
                     <li>This could be a problem, such as on a read-only file system the <abbr title="Process Identifier">PID</abbr> creation fails and controller bails out on error.</li>
-                    <li>Adding <code class="code">ready</code> essentially specifies a point in time in the <strong>Entry</strong> in which things are expected to be safe for such basic operations.</li>
+                    <li>Adding <code class="code">ready</code> essentially specifies a point in time in the <strong class="strong">Entry</strong> in which things are expected to be safe for such basic operations.</li>
                     <li>When the optional <code class="code">wait</code> is provided, then <code class="code">ready</code> will wait for all currently started asynchronous processes to complete before operating.</li>
                   </ul>
                   <p class="p">
                     <li>Provides default global settings for each of the four special situations: <code class="code">exit</code>, <code class="code">kill</code>, <code class="code">start</code>, and <code class="code">stop</code>.</li>
                     <li>Each of these may only have a single one exist at a time (one <code class="code">exit</code>, one <code class="code">kill</code>, one <code class="code">start</code>, and one <code class="code">stop</code>).</li>
                     <li>Each successive <code class="code">timeout</code> Item Action, specific to each Action Name (such as <code class="code">start</code>), specified replaces the previously defined <code class="code">timeout</code> Action (in a top-down manner).</li>
-                    <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em>MegaTime</em> (MT) (equivalent to milliseconds).</li>
-                    <li>For <code class="code">kill</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
-                    <li>For <code class="code">start</code>, this represents the number of <em>MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
-                    <li>For <code class="code">stop</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                    <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em class="em">MegaTime</em> (MT) (equivalent to milliseconds).</li>
+                    <li>For <code class="code">kill</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
+                    <li>For <code class="code">start</code>, this represents the number of <em class="em">MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                    <li>For <code class="code">stop</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
                     <li>If the second Content is not specified, then this disables the type (prevents the specified timeout action).</li>
-                    <li>For <code class="code">exit</code>, this represents the number of <em>MegaTime</em> to wait when the Controller program is exiting (such as having received a terminate signal).</li>
+                    <li>For <code class="code">exit</code>, this represents the number of <em class="em">MegaTime</em> to wait when the Controller program is exiting (such as having received a terminate signal).</li>
                     <li>In this case, a terminate signal is sent to all child processes.</li>
                     <li>The <code class="code">exit</code> timeout represents the amount of time to wait after sending the terminate signal before sending a kill signal to each child process still running.</li>
                     <li>When disabled, the program will not send a kill signal will continue running until all child processes to terminate.</li>
index ee67594280c6d63c669c9c5e6918332891bab4dc..8f09e528748e427b4ba82f7a25027d047cde7634 100644 (file)
       <div role="document" class="main-block">
         <main class="main">
           <header class="section-header header">
-            <h1 class="section-title h h1">Controller <strong>Exit</strong> Specifications</h1>
+            <h1 class="section-title h h1">Controller <strong class="strong">Exit</strong> Specifications</h1>
           </header>
 
           <div class="main-content">
             <p class="p">
-              The <strong>Exit</strong> files follow the <code class="code">FSS-0005 (Somewhat Basic List)</code> format.
+              The <strong class="strong">Exit</strong> files follow the <code class="code">FSS-0005 (Somewhat Basic List)</code> format.
             </p>
             <p class="p">
-              An <strong>Exit</strong> file name is expected to have the file extension <code class="code">.exit</code>.
+              An <strong class="strong">Exit</strong> file name is expected to have the file extension <code class="code">.exit</code>.
             </p>
             <p class="p">
-              For each <strong>Exit</strong> file:
+              For each <strong class="strong">Exit</strong> file:
             </p>
             <ul>
               <li>The outer most part is a <code class="code">FSS-0002 (Basic List)</code>.</li>
-              <li>The <em>Basic List Object</em> is considered the <code class="code">Item</code>.</li>
-              <li>The <em>Basic List Content</em> are considered the <code class="code">Actions</code>.</li>
-              <li>The <em>Actions</em> are <code class="code">FSS-0001 (Extended)</code>.</li>
-              <li>Each <em>Action Object</em> is the <code class="code">Action Name</code>.</li>
-              <li>Each <em>Action Content</em> are the <code class="code">Action Parameters</code>.</li>
+              <li>The <em class="em">Basic List Object</em> is considered the <code class="code">Item</code>.</li>
+              <li>The <em class="em">Basic List Content</em> are considered the <code class="code">Actions</code>.</li>
+              <li>The <em class="em">Actions</em> are <code class="code">FSS-0001 (Extended)</code>.</li>
+              <li>Each <em class="em">Action Object</em> is the <code class="code">Action Name</code>.</li>
+              <li>Each <em class="em">Action Content</em> are the <code class="code">Action Parameters</code>.</li>
             </ul>
             <p class="p">
-              The <strong>Items</strong>:
+              The <strong class="strong">Items</strong>:
             </p>
             <ul>
               <li><code class="code">main</code>: required.</li>
               </li>
             </ul>
             <p class="p">
-              The <strong>Exit</strong> file may have any other valid Item Objects, but only the above are reserved.
+              The <strong class="strong">Exit</strong> file may have any other valid Item Objects, but only the above are reserved.
             </p>
             <p class="p">
               The Actions:
 
             <div class="section-content">
               <p class="p">
-                This describes the intent and purpose of an <strong>Exit</strong> file.
+                This describes the intent and purpose of an <strong class="strong">Exit</strong> file.
               </p>
               <p class="p">
-                An <strong>Exit</strong> file, such as <code class="code">default.exit</code>, is intended to store a set of rules in which the controller will process on execution.
+                An <strong class="strong">Exit</strong> file, such as <code class="code">default.exit</code>, is intended to store a set of rules in which the controller will process on execution.
                 These are used to run some set of commands, such as shutting down a system.
               </p>
               <p class="p">
-                An <strong>Exit</strong> is a special variation or subset of an <strong>Entry</strong>.
+                An <strong class="strong">Exit</strong> is a special variation or subset of an <strong class="strong">Entry</strong>.
               </p>
               <p class="p">
                 The <code class="code">settings</code> item Object:
               </p>
               <ul>
-                <li>Represents <strong>Exit</strong> settings and is not an <code class="code">item</code> that can be executed.</li>
+                <li>Represents <strong class="strong">Exit</strong> settings and is not an <code class="code">item</code> that can be executed.</li>
                 <li>A number of settings are supported, but if this Item Object is not specified, then defaults are used.</li>
                 <li>
                   <div>
                     <li>Example IKI variable substitution: for <code class="code">define PATH /bin:/sbin</code>, the associated IKI variable would look like: <code class="code">define:"PATH"</code>.</li>
                     <li>All environment variables, including those defined using this, must be in the <code class="code">environment</code> list in any given Rule to be exported to the executed process.</li>
                     <li>Environment variables added here that are not added to the environment are still exposed as an IKI variable.</li>
-                    <li>This is only expanded within any Rule operated on by this <strong>Exit</strong>.</li>
+                    <li>This is only expanded within any Rule operated on by this <strong class="strong">Exit</strong>.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">mode</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the mode in which the <strong>Exit</strong> is operating in.</li>
+                    <li>Represents the mode in which the <strong class="strong">Exit</strong> is operating in.</li>
                     <li>
                       <div>The following modes are supported: <code class="code">program</code> and <code class="code">service</code>.</div>
                       <p class="p">
                         The <code class="code">program</code> mode:
                       </p>
                       <ul>
-                        <li>Designates that the <strong>Exit</strong> operates as a program and exits when complete.</li>
-                        <li>Will call the <code class="code">exit</code> with the same name as this <strong>Exit</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
+                        <li>Designates that the <strong class="strong">Exit</strong> operates as a program and exits when complete.</li>
+                        <li>Will call the <code class="code">exit</code> with the same name as this <strong class="strong">Exit</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
                         <li>Supports the Item Action <code class="code">execute</code> to execute a program (switching the <code class="code">controller</code> program entirely with the executed process).</li>
                       </ul>
                       <p class="p">
                         The <code class="code">service</code> mode:
                       </p>
                       <ul>
-                        <li>Designates that the <strong>Exit</strong> operates as a service and will sit and wait for control commands when complete.</li>
-                        <li>Will call the <code class="code">exit</code> with the same name as this <strong>Exit</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
+                        <li>Designates that the <strong class="strong">Exit</strong> operates as a service and will sit and wait for control commands when complete.</li>
+                        <li>Will call the <code class="code">exit</code> with the same name as this <strong class="strong">Exit</strong>, but with the extension <code class="code">exit</code>, such as <code class="code">default.exit</code>.</li>
                         <li>Does not support the Item Action <code class="code">execute</code>.</li>
                         <li>This is the default mode.</li>
                       </ul>
                     <li>Use this to define an IKI variable name and value.</li>
                     <li>These do not conflict with environment variables and are not exposed as environment variables.</li>
                     <li>Example IKI variable substitution: for <code class="code">parameter hello world</code>, the associated IKI variable would look like: <code class="code">parameter:"hello"</code>.</li>
-                    <li>This is only expanded within any Rule operated on by this <strong>Exit</strong>.</li>
+                    <li>This is only expanded within any Rule operated on by this <strong class="strong">Exit</strong>.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">pid</code> setting:
                   </p>
                   <ul>
-                    <li>Represents how the <strong>Exit</strong> <abbr title="Process Identifier">PID</abbr> file is generated or not.</li>
+                    <li>Represents how the <strong class="strong">Exit</strong> <abbr title="Process Identifier">PID</abbr> file is generated or not.</li>
                     <li>The following modes are supported: <code class="code">disable</code>, <code class="code">require</code>, and <code class="code">ready</code>.</li>
-                    <li>For <code class="code">disable</code>, not <abbr title="Process Identifier">PID</abbr> file representing the <strong>Exit</strong> is created.</li>
-                    <li>For <code class="code">require</code>, check to see if the <abbr title="Process Identifier">PID</abbr> file exists for an <strong>Exit</strong> at startup and then when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on <abbr title="Process Identifier">PID</abbr> file already exists or on failure and then fail.</li>
+                    <li>For <code class="code">disable</code>, not <abbr title="Process Identifier">PID</abbr> file representing the <strong class="strong">Exit</strong> is created.</li>
+                    <li>For <code class="code">require</code>, check to see if the <abbr title="Process Identifier">PID</abbr> file exists for an <strong class="strong">Exit</strong> at startup and then when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on <abbr title="Process Identifier">PID</abbr> file already exists or on failure and then fail.</li>
                     <li>For <code class="code">ready</code>, when <code class="code">ready</code> create a <abbr title="Process Identifier">PID</abbr> file, display error on failure and then fail (does not check if <abbr title="Process Identifier">PID</abbr> file exists).</li>
                   </ul>
                   <p class="p">
                     The <code class="code">show</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the way <strong>Exit</strong> processing presents information to the screen.</li>
-                    <li>This applies only to the <strong>Exit</strong> and Rule processing itself and does not handle the output of programs and scripts being executed by some <strong>Exit</strong> or Rule.</li>
+                    <li>Represents the way <strong class="strong">Exit</strong> processing presents information to the screen.</li>
+                    <li>This applies only to the <strong class="strong">Exit</strong> and Rule processing itself and does not handle the output of programs and scripts being executed by some <strong class="strong">Exit</strong> or Rule.</li>
                     <li>The following show options are supported: <code class="code">normal</code> and <code class="code">init</code>.</li>
-                    <li>For <code class="code">normal</code>, will not report the start or stop of some <strong>Exit</strong> or Rule execution but will report any errors or warnings as appropriate.</li>
+                    <li>For <code class="code">normal</code>, will not report the start or stop of some <strong class="strong">Exit</strong> or Rule execution but will report any errors or warnings as appropriate.</li>
                     <li>For <code class="code">init</code>, will report when starting programs and may include reporting success and failure status.</li>
                   </ul>
                   <p class="p">
                     The <code class="code">timeout</code> setting:
                   </p>
                   <ul>
-                    <li>Represents the default timeouts for the <strong>Exit</strong>.</li>
+                    <li>Represents the default timeouts for the <strong class="strong">Exit</strong>.</li>
                     <li>See the <code class="code">timeout</code> Action below for details.</li>
                   </ul>
                 </li>
                     <li>For example, the controller program may be used as a full blown <code class="code">init</code> replacement and therefore may need to mount the <code class="code">/var/run/</code> directory.</li>
                     <li>If the <abbr title="Process Identifier">PID</abbr> file is created at program start, then the <code class="code">/var/run/</code>controller.pid would be written before the <code class="code">/var/run/</code> directory is ready.</li>
                     <li>This could be a problem, such as on a read-only file system the <abbr title="Process Identifier">PID</abbr> creation fails and controller bails out on error.</li>
-                    <li>Adding <code class="code">ready</code> essentially specifies a point in time in the <strong>Exit</strong> in which things are expected to be safe for such basic operations.</li>
+                    <li>Adding <code class="code">ready</code> essentially specifies a point in time in the <strong class="strong">Exit</strong> in which things are expected to be safe for such basic operations.</li>
                     <li>When the optional <code class="code">wait</code> is provided, then <code class="code">ready</code> will wait for all currently started asynchronous processes to complete before operating.</li>
                   </ul>
                   <p class="p">
                     <li>Provides default global settings for each of the four special situations: <code class="code">exit</code>, <code class="code">kill</code>, <code class="code">start</code>, and <code class="code">stop</code>.</li>
                     <li>Each of these may only have a single one exist at a time (one <code class="code">exit</code>, one <code class="code">kill</code>, one <code class="code">start</code>, and one <code class="code">stop</code>).</li>
                     <li>Each successive <code class="code">timeout</code> Item Action, specific to each Action Name (such as <code class="code">start</code>), specified replaces the previously defined <code class="code">timeout</code> Action (in a top-down manner).</li>
-                    <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em>MegaTime</em> (MT) (equivalent to milliseconds).</li>
-                    <li>For <code class="code">kill</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
-                    <li>For <code class="code">start</code>, this represents the number of <em>MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
-                    <li>For <code class="code">stop</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                    <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em class="em">MegaTime</em> (MT) (equivalent to milliseconds).</li>
+                    <li>For <code class="code">kill</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
+                    <li>For <code class="code">start</code>, this represents the number of <em class="em">MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                    <li>For <code class="code">stop</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
                     <li>If the second Content is not specified, then this disables the type (prevents the specified timeout action).</li>
-                    <li>For <code class="code">exit</code>, this represents the number of <em>MegaTime</em> to wait when the Controller program is exiting (such as having received a terminate signal).</li>
+                    <li>For <code class="code">exit</code>, this represents the number of <em class="em">MegaTime</em> to wait when the Controller program is exiting (such as having received a terminate signal).</li>
                     <li>In this case, a terminate signal is sent to all child processes.</li>
                     <li>The <code class="code">exit</code> timeout represents the amount of time to wait after sending the terminate signal before sending a kill signal to each child process still running.</li>
                     <li>When disabled, the program will not send a kill signal will continue running until all child processes to terminate.</li>
index 36af2a674a4c7c624c04c827f9aebf819a2a302b..94cbbc69dcd6db7d8386fe977adaca68f64ad792 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>controller</strong> program communicates use the <code class="code">FSS-000F (Packet)</code>.
+              The <strong class="strong">controller</strong> program communicates use the <code class="code">FSS-000F (Packet)</code>.
             </p>
             <p class="p">
               This specification declares how the Payload Block, which is in <code class="code">FSS-000E (Payload)</code> format, is required to be used.
                 </li>
               </ul>
               <p class="p">
-                The <strong>controller</strong> payload:
+                The <strong class="strong">controller</strong> payload:
               </p>
               <ul>
-                <li>Commands being sent to the <strong>controller</strong> and their respective responses utilize a <strong>controller</strong> payload.</li>
-                <li>These are pre-defined commands to rules or the <strong>controller</strong> program itself.</li>
+                <li>Commands being sent to the <strong class="strong">controller</strong> and their respective responses utilize a <strong class="strong">controller</strong> payload.</li>
+                <li>These are pre-defined commands to rules or the <strong class="strong">controller</strong> program itself.</li>
                 <li>Commands such as starting or stopping some rule, for example.</li>
                 <li>
-                  <div>A <strong>controller</strong> payload is also sent in response to a <strong>controller</strong> payload request to represent a success.</div>
+                  <div>A <strong class="strong">controller</strong> payload is also sent in response to a <strong class="strong">controller</strong> payload request to represent a success.</div>
                   <ul>
                     <li>The <code class="code">now</code> condition designates that the kexec, reboot, or shutdown is to begin immediately.</li>
                     <li>The <code class="code">at</code> condition designates that the kexec, reboot, or shutdown is to begin once a specific date and time is reached by the system clock.</li>
                 Multiple <code class="code">message</code> may exist in the response so long as they each match an <code class="code">action</code> in the request.
               </p>
               <p class="p">
-                The <strong>error</strong> payload:
+                The <strong class="strong">error</strong> payload:
               </p>
               <ul>
                 <li>The error payload is intended to communicate some sort of failure.</li>
                 <li>The <code class="code">payload</code> will contain a NULL terminated string representing the message used to describe the error.</li>
               </ul>
               <p class="p">
-                The <strong>init</strong> payload:
+                The <strong class="strong">init</strong> payload:
               </p>
               <ul>
                 <li>The init payload is intended exclusively for the <code class="code">init</code> operation mode and is expected to only be available when running as <code class="code">init</code>.</li>
index 4d3c43287afadb2a66c7f2ac64386b828461e59e..7ae2317defd23fcf8a2626288a5f075192c4be9e 100644 (file)
             <ul>
               <li>The outer most part is a <code class="code">FSS-0002 (Basic List)</code>.</li>
               <li>The outer most part is a <code class="code">FSS-0002 (Basic List)</code>.</li>
-              <li>The Basic List Object is considered the <em>Rule Type</em>.</li>
-              <li>The Basic List Content is determined by the specific <em>Rule Type</em>.</li>
-              <li>The Content for each <em>Rule Type</em> is called the <em>Item</em>.</li>
-              <li>Each Item Object is the <em>Item Name</em>.</li>
-              <li>Each Item Content is either the <em>Action</em> or the <em>Setting</em>.</li>
-              <li>Each Action Object is the <em>Action Name</em>.</li>
-              <li>Each Action Content are the <em>Action Parameters</em>.</li>
-              <li>Each Setting Object is the <em>Setting Name</em>.</li>
-              <li>Each Setting Content are the <em>Setting Values</em>.</li>
+              <li>The Basic List Object is considered the <em class="em">Rule Type</em>.</li>
+              <li>The Basic List Content is determined by the specific <em class="em">Rule Type</em>.</li>
+              <li>The Content for each <em class="em">Rule Type</em> is called the <em class="em">Item</em>.</li>
+              <li>Each Item Object is the <em class="em">Item Name</em>.</li>
+              <li>Each Item Content is either the <em class="em">Action</em> or the <em class="em">Setting</em>.</li>
+              <li>Each Action Object is the <em class="em">Action Name</em>.</li>
+              <li>Each Action Content are the <em class="em">Action Parameters</em>.</li>
+              <li>Each Setting Object is the <em class="em">Setting Name</em>.</li>
+              <li>Each Setting Content are the <em class="em">Setting Values</em>.</li>
             </ul>
             <p class="p">
               The Rule Types:
               <li><code class="code">group</code>: One or more Content representing group names or group ids.</li>
               <li><code class="code">limit</code>: Three Content, with the first representing a valid resource type and the second and third being a valid resource limit number (positive whole number or 0).</li>
               <li><code class="code">name</code>: One Content, must have at least 1 graph character (non white space printing character) (leading and trailing white space are trimmed off).</li>
-              <li><code class="code">nice</code>: One Content, must be a valid number for process <em>niceness</em> (Any whole number inclusively between -20 to 19).</li>
+              <li><code class="code">nice</code>: One Content, must be a valid number for process <em class="em">niceness</em> (Any whole number inclusively between -20 to 19).</li>
               <li><code class="code">on</code>: Four Content, the first being a Rule Action, the second being <code class="code">need</code>, <code class="code">want</code>, or <code class="code">wish</code>, the third being a partial path, and the fourth being a Rule file name without <code class="code">.rule</code> extension.</li>
               <li><code class="code">parameter</code>: Two Content, the first Content must be a case-sensitive valid IKI name and the second being an IKI value.</li>
               <li><code class="code">path</code>: One Content representing a valid PATH environment string (such as <code class="code">/bin:/sbin:/usr/bin</code>).</li>
                 <li>Provides settings for each of the three special situations: <code class="code">kill</code>, <code class="code">start</code>, and <code class="code">stop</code>.</li>
                 <li>Each of these may only have a single one exist at a time (one <code class="code">kill</code>, one <code class="code">start</code>, and one <code class="code">stop</code>).</li>
                 <li>Each successive <code class="code">timeout</code> Item Action, specific to each Action Name (such as <code class="code">start</code>), specified replaces the previously defined <code class="code">timeout</code> Action (in a top-down manner).</li>
-                <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em>MegaTime</em> (MT) (equivalent to milliseconds).</li>
-                <li>For <code class="code">kill</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
-                <li>For <code class="code">start</code>, this represents the number of <em>MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
-                <li>For <code class="code">stop</code>, this represents the number of <em>MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                <li>The second Content for each of these, when specified, may be a 0 or greater whole number representing the number of <em class="em">MegaTime</em> (MT) (equivalent to milliseconds).</li>
+                <li>For <code class="code">kill</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule and that Rule has not yet stopped to forcefully stop the Rule (aka kill the Rule).</li>
+                <li>For <code class="code">start</code>, this represents the number of <em class="em">MegaTime</em> to wait after starting some Rule before assuming something went wrong and the Rule is returned as failed.</li>
+                <li>For <code class="code">stop</code>, this represents the number of <em class="em">MegaTime</em> to wait after stopping some Rule before assuming something went wrong and the Rule is returned as failed.</li>
                 <li>If the second Content is not specified, then this disables the type (prevents the specified timeout action).</li>
               </ul>
               <p class="p">
                     <li>
                       <div>The third Content and more represent additional options for fine tuning how the re-run is Performed:</div>
                       <ul>
-                        <li>When <code class="code">delay</code>, followed by a number of <em>MegaTime</em> (MT) (equivalent to milliseconds) in which to wait before attempting the re-run.</li>
+                        <li>When <code class="code">delay</code>, followed by a number of <em class="em">MegaTime</em> (MT) (equivalent to milliseconds) in which to wait before attempting the re-run.</li>
                         <li>When <code class="code">max</code>, followed by a positive number or the number 0 designating the maximum number of re-runs to perform.</li>
                         <li>
                           <div>When <code class="code">reset</code>, the <code class="code">max</code> re-run counter is reset for the opposite re-run when this re-run is triggered, such as:</div>
index 72af586568050fd2a098c644141e27fc9f57209b..5958c97c9d57cd7858c5c75c811ef9420fcb9519 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>fake</strong> program, also called <strong>Featureless Make</strong> is the flagship program of the <abbr title="Featureless Linux Library">FLL</abbr> project and provides the ability to compile source code and perform various actions not unlike how the <strong>GNU Make</strong> program operates.
+              The <strong class="strong">fake</strong> program, also called <strong class="strong">Featureless Make</strong> is the flagship program of the <abbr title="Featureless Linux Library">FLL</abbr> project and provides the ability to compile source code and perform various actions not unlike how the <strong class="strong">GNU Make</strong> program operates.
             </p>
             <p class="p">
-              This tools is directly intended to be a replacement to the <strong>GNU Make</strong> program but not as a replacement for all of the <strong>GNU Make</strong> functionality. Instead, the <strong>fake</strong> program follows the ideology that a build program should not involve itself with system-specific behavior, such as installing to a system.
+              This tools is directly intended to be a replacement to the <strong class="strong">GNU Make</strong> program but not as a replacement for all of the <strong class="strong">GNU Make</strong> functionality. Instead, the <strong class="strong">fake</strong> program follows the ideology that a build program should not involve itself with system-specific behavior, such as installing to a system.
             </p>
             <p class="p">
-              Despite this non-standard ideology, the <strong>fake</strong> program is flexible enough to be used as an installer. In fact, this tool is used to not only build the entire <abbr title="Featureless Linux Library">FLL</abbr> but it can also compile and run unit tests for the project.
+              Despite this non-standard ideology, the <strong class="strong">fake</strong> program is flexible enough to be used as an installer. In fact, this tool is used to not only build the entire <abbr title="Featureless Linux Library">FLL</abbr> but it can also compile and run unit tests for the project.
             </p>
             <p class="p">
               A bootstrap script is provided in all <abbr title="Featureless Linux Library">FLL</abbr> projects that operates with almost complete one-to-one functionality to this tool to allow for the system to build itself. A great example of this is the test script used to run unit tests on services like Github where this project must compile itself and then use itself to run unit tests against itself.
             </p>
             <p class="p">
-              While most of the programs provided with the <abbr title="Featureless Linux Library">FLL</abbr> are young and not well tested, the <strong>fake</strong> program is considered mature.
+              While most of the programs provided with the <abbr title="Featureless Linux Library">FLL</abbr> are young and not well tested, the <strong class="strong">fake</strong> program is considered mature.
             </p>
             <p class="p">
               There are two primary operations in which this tool executes:
             </p>
             <ol>
-              <li>The <strong>build</strong> operation.</li>
-              <li>The <strong>make</strong> operation.</li>
+              <li>The <strong class="strong">build</strong> operation.</li>
+              <li>The <strong class="strong">make</strong> operation.</li>
             </ol>
             <p class="p">
-              The <strong>build</strong> mode is derived from the idea that most of the compilation process is redundant and can be simplified to a pre-define set of configuration settings. This reduces the amount of efforted needed to write and mainting a build system at the cost of flexibility.
+              The <strong class="strong">build</strong> mode is derived from the idea that most of the compilation process is redundant and can be simplified to a pre-define set of configuration settings. This reduces the amount of efforted needed to write and mainting a build system at the cost of flexibility.
             </p>
             <p class="p">
-              The <strong>make</strong> mode is the mode for operating as a replacement to the <strong>GNU Make</strong> program. This provides scriptable ways to perform just about any task needed when building a system. Many of the <strong>build</strong> mode settings are available (but are not required) and this mode can even call the <strong>build</strong> mode itself.
+              The <strong class="strong">make</strong> mode is the mode for operating as a replacement to the <strong class="strong">GNU Make</strong> program. This provides scriptable ways to perform just about any task needed when building a system. Many of the <strong class="strong">build</strong> mode settings are available (but are not required) and this mode can even call the <strong class="strong">build</strong> mode itself.
             </p>
           </div>
 
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 When using the <code class="code">-d/--define</code> parameter the define structure must be passed as-is and may even need to be quoted if there is whitespace.
               </p>
               <p class="p">
-                For example, in the <strong>C</strong> programming, passing a macro to the compiler might look like '<code class="code">-DMY_MACRO=1</code>'. To do this using <code class="code">-d/--define</code>, there would be two parameters passed like this: '<code class="code">-d -DMY_MACRO=1</code>'. This works because the parameter after the <code class="code">-d/--define</code> is not interpreted and is treated exactly as is without interpreting it as a parameter to the <strong>fake</strong> program.
+                For example, in the <strong class="strong">C</strong> programming, passing a macro to the compiler might look like '<code class="code">-DMY_MACRO=1</code>'. To do this using <code class="code">-d/--define</code>, there would be two parameters passed like this: '<code class="code">-d -DMY_MACRO=1</code>'. This works because the parameter after the <code class="code">-d/--define</code> is not interpreted and is treated exactly as is without interpreting it as a parameter to the <strong class="strong">fake</strong> program.
               </p>
               <p class="p">
                 Because of this, passing '<code class="code">-d -h</code>' would not print the program help because the '<code class="code">-h</code>' is considered a value associated with the '<code class="code">-d</code>' parameter rather than a parameter itself.
                 When piping data to this program, the piped data is treated as a <code class="code">fakefile</code>.
               </p>
               <p class="p">
-                Only the <strong>make</strong> operation is supported when using piped data.
+                Only the <strong class="strong">make</strong> operation is supported when using piped data.
               </p>
             </div>
           </section>
index 5599c58a3c6d72ac954717be5e449ddea7478e9f..8d04d56b7ed9d4f3ac468101f4c294227088acc7 100644 (file)
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
             </p>
             <p class="p">
-              The <strong>Featureless Make</strong> follows the following specifications:
+              The <strong class="strong">Featureless Make</strong> follows the following specifications:
             </p>
             <ul>
               <li><a href="fll/specifications/fss/fss-0000.html" class="link">FSS-0000 (Basic)</a></li>
               <li><a href="fll/specifications/iki/iki-0002.html" class="link">IKI-0002 (Simple Script)</a></li>
             </ul>
             <p class="p">
-              The <strong>Featureless Make</strong> defines the following specifications:
+              The <strong class="strong">Featureless Make</strong> defines the following specifications:
             </p>
             <ul>
               <li><a href="documentation/fake/specifications/defines.html" class="link">Defines</a></li>
index 68a44cfd6d7ac442b4c555c922f6cdbc77f0bd83..11cd2ffe5fcf144ad28395be39c3ea4d6baa61cd 100644 (file)
@@ -99,7 +99,7 @@
 
           <div class="main-content">
             <p class="p">
-              The build settings <strong>defines</strong> file follows the <code class="code">FSS-0000 (Basic)</code> format.
+              The build settings <strong class="strong">defines</strong> file follows the <code class="code">FSS-0000 (Basic)</code> format.
             </p>
             <p class="p">
               Each Object represents a specific a macro name to be defined during compilation.
index f9cc1e3cc9b5ae3976970ddad478271f99067fbb..f81ab41e3f2c06a6c181d1f72cea134c35ee70e6 100644 (file)
@@ -99,7 +99,7 @@
 
           <div class="main-content">
             <p class="p">
-              The build settings <strong>dependencies</strong> file follows the <code class="code">FSS-0001 (Extended)</code> format.
+              The build settings <strong class="strong">dependencies</strong> file follows the <code class="code">FSS-0001 (Extended)</code> format.
             </p>
             <p class="p">
               Each Object represents a specific project name as it would be linked against.
index c3288ae98867fbcb4147c0e6931cd4e241f1f6b6..a5e81896bd5c4655ab0b10d717673de7001d1e99 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>fakefile</strong> file follows the <code class="code">FSS-0005 (Somewhat Basic List)</code> format with a sub-format of <code class="code">IKI-0002 (Simple Script)</code>.
+              The <strong class="strong">fakefile</strong> file follows the <code class="code">FSS-0005 (Somewhat Basic List)</code> format with a sub-format of <code class="code">IKI-0002 (Simple Script)</code>.
             </p>
             <p class="p">
-              A <strong>fakefile</strong> is broken up into multiple Basic Lists, referred to as Sections, with two special purpose reserved Sections.
+              A <strong class="strong">fakefile</strong> is broken up into multiple Basic Lists, referred to as Sections, with two special purpose reserved Sections.
             </p>
             <p class="p">
               The Sections are broken up into multiple Extended Objects and their respective Contents, referred to as Section Operations.
 
             <div class="section-content">
               <p class="p">
-                This describes intent and purposes of the <strong>fakefile</strong> file settings.
+                This describes intent and purposes of the <strong class="strong">fakefile</strong> file settings.
               </p>
               <p class="p">
                 All files specified are relative to the project root.
                 <li>
                   <div><code class="code">settings</code>:</div>
                   <p class="p">
-                    Any configuration specific to this <strong>fakefile</strong> is stored here.
+                    Any configuration specific to this <strong class="strong">fakefile</strong> is stored here.
                   </p>
                   <p class="p">
                     This includes the declaration of define and parameter IKI variable substitution values.
                 <li>
                   <div><code class="code">main</code>:</div>
                   <p class="p">
-                    This is the main entry point when processing the <strong>fakefile</strong>.
+                    This is the main entry point when processing the <strong class="strong">fakefile</strong>.
                   </p>
                   <p class="p">
                     This is processed top-down until the end of the list is reached.
@@ -1071,7 +1071,7 @@ else
                     <li>
                       <div><code class="code">parameter</code>:</div>
                       <p class="p">
-                        This represents a variable defined within the scope of the <strong>fakefile</strong>.
+                        This represents a variable defined within the scope of the <strong class="strong">fakefile</strong>.
                       </p>
                       <p class="p">
                         This is not exported as an environment variable and is therefore not visible to any executed programs or scripts.
index ca84d3793192b45d9adf753bce479aaa6feeda1c..5382889c0befed61aaef26a079ad36ed90d0cb2e 100644 (file)
@@ -99,7 +99,7 @@
 
           <div class="main-content">
             <p class="p">
-              The build settings <strong>settings</strong> file follows the <code class="code">FSS-0001 (Extended)</code> format.
+              The build settings <strong class="strong">settings</strong> file follows the <code class="code">FSS-0001 (Extended)</code> format.
             </p>
             <p class="p">
               Each Object represents a settings property name.
 
             <div class="section-content">
               <p class="p">
-                This describes intent and purposes of the build <strong>settings</strong> file settings.
+                This describes intent and purposes of the build <strong class="strong">settings</strong> file settings.
               </p>
               <p class="p">
-                The <strong>settings</strong> file is designed for very simple compilations that represent a single named program and/or a single named library.
+                The <strong class="strong">settings</strong> file is designed for very simple compilations that represent a single named program and/or a single named library.
               </p>
               <p class="p">
                 For specific details on the allowed formatting, see the settings.txt under the specifications folder.
                     The programs <code class="code">gcc</code> and <code class="code">clang</code> are known to work.
                   </p>
                   <p class="p">
-                    Many of the parameters in the <strong>settings</strong> file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed.
+                    Many of the parameters in the <strong class="strong">settings</strong> file can be changed if using a non-GCC, but there may be certain hard-coded functionality that may need to be changed.
                   </p>
                 </li>
                 <li>
index c7bfc0e78e40ed341cd2beeb263b048a0da1e443..34307931dbfbe9c822dd59dcf3f546feba652b25 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>firewall</strong> program is a tool for simplifying and automating the <strong>iptables</strong> program.
+              The <strong class="strong">firewall</strong> program is a tool for simplifying and automating the <strong class="strong">iptables</strong> program.
             </p>
             <p class="p">
-              This tool is set to be replaced now that both the <strong>firewall</strong> and the <strong>iptables</strong> programs are outdated. The latest <strong>iptables</strong> program replacement (the <strong>nftables</strong> program) is superior and the <strong>firewall</strong> will need major rewrites to utilize the replacement.
+              This tool is set to be replaced now that both the <strong class="strong">firewall</strong> and the <strong class="strong">iptables</strong> programs are outdated. The latest <strong class="strong">iptables</strong> program replacement (the <strong class="strong">nftables</strong> program) is superior and the <strong class="strong">firewall</strong> will need major rewrites to utilize the replacement.
             </p>
             <p class="p">
               This tools is one of the original two programs of the <abbr title="Featureless Linux Library">FLL</abbr> project and is designed to be a fully functional proof of concept for the <abbr title="Featureless Linux Library">FLL</abbr> project.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 0edaa4205a5bc64e67ca5aa0a37553e098af166e..4bf6ae8d7a1825835e8bb07c56e02df0d5e858e2 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>Firewall</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">Firewall</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 6ba48fec1950763fcaecfe1019b8368b5815df7a..e05c133a8e9afcc49c1078f962a4f01de5eedea9 100644 (file)
@@ -83,7 +83,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_basic_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0002 (Basic List)</code> standard.
+              The <strong class="strong">fss_basic_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0002 (Basic List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
index b4c9fe6614df6c182acb9368f0bac9460ceb9e98..970aa02eec7017fc2d71ada0de5f43650699b47a 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Basic List Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Basic List Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 5ffd0129510d7108d6f95c6a38cbf61825033b94..75c9ebdd2b7a82afc07051c8d02a79ddc4447ade 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_basic_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0002 (Basic List)</code> standard.
+              The <strong class="strong">fss_basic_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0002 (Basic List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 369e1323c43d4afb6c4543e3c7e0459d26d31a07..c0ff82bd93c65aff2963c6ed236a7b137dead833 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Basic List Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Basic List Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 37b01d49501917909df03d5c7a28752fc6c42a3f..b1cbd0f7c866e1f7e3d223681bcd153d25f6d079 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_basic_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0000 (Basic)</code> standard.
+              The <strong class="strong">fss_basic_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0000 (Basic)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
index 678233545d9b9f62ec425907626833790ce30319..a1a8b358decc9cba76a4b686aef7688c646434ce 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Basic Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Basic Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 4332d1f619811c43f84fdeb0bd892752055d7e4f..0b373e11d8f702796dfbfe5584ac9eb9783d034a 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_basic_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0000 (Basic)</code> standard.
+              The <strong class="strong">fss_basic_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0000 (Basic)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 50bc251bc8a7a7373fd6eb51f8cd0573fa0552dc..f9dd49bcce6234f868fa525a0c65a31fef7ea3ae 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Basic Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Basic Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index a40cd42d5836f80ca379ec9d829d9ae9e15abb1b..f8354370c167f225fb61c42b3c87ac964c3d71da 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_embedded_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0008 (Embedded List)</code> standard.
+              The <strong class="strong">fss_embedded_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0008 (Embedded List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
index 4177de2b7703497d3cc2150f3043c7afa572550a..c027c467ed6660c6b4e6ef894ad6484f63a9a09d 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Embedded List Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Embedded List Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 657ef43318bc8e3d156b1e458f0ec3abfb66751a..ab4f38d712cf8c389f86d1951dc3239a4ca4f7fb 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_embedded_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0008 (Embedded List)</code> standard.
+              The <strong class="strong">fss_embedded_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0008 (Embedded List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index b0bc2a1195fbdbfdfaefe48baba3b53185400858..e24dbb3e007cc990db6239826ea72859e08cd665 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Embedded List Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Embedded List Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index b70f146300cb138a0dd68e9a01225186bff9bbd7..ebf000368627fc2eb5f31bcaf2327e377e76792a 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_extended_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0003 (Extended List)</code> standard.
+              The <strong class="strong">fss_extended_list_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0003 (Extended List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
index 4207d316a35f12aabb3e310923d21c24b1958ed8..b5019a0868fb9b903e88c479576b0c9461ee4644 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Extended List Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Extended List Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index b986a439dada25d2a017f8ee9531b6840db8d2ee..168c0b7ebd8598cc93775483f599b9eb0ae9c09e 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_extended_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0003 (Extended List)</code> standard.
+              The <strong class="strong">fss_extended_list_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0003 (Extended List)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index e769cc9bd30c2e2f56f2a6995588fe60222f69f2..31cf7939768728b0c0ba703bd8d941469a36ae50 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Extended List Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Extended List Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index f7c418f083a0559270abc1c58548ac0f5cd6541d..677f6a38b86e539cc389f48481f61838d374915d 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_extended_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0001 (Extended)</code> standard.
+              The <strong class="strong">fss_extended_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-0001 (Extended)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
index 072df5dd02749404e08a1f55adb3b64ff5c0d59c..73736fb991d7faa1940f18dd2d8dcdc0e3e5a74c 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Extended Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Extended Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 8f6141a1c6f127a0c0748a4b8029477f8538b430..c25e3a2c1867b1220a42c88c1843d1a397cc311c 100644 (file)
@@ -83,7 +83,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_extended_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0001 (Extended)</code> standard.
+              The <strong class="strong">fss_extended_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-0001 (Extended)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index c33a018032223b3676cc6131d38ec4c539533bc8..fa48c3738c59db2b216d89d59e2f32d0e47c71bd 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Extended Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Extended Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 98722fcac86170cb9b3b91042491d88a79601d8c..0d319d5ff88afd43d773d3d4437919b2c462c7ba 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_identify</strong> program is a tool for processing strings in an attempt to identify the <abbr title="Featureless Settings Specification">FSS</abbr> file format based on <abbr title="Featureless Settings Specification">FSS</abbr> header comments.
+              The <strong class="strong">fss_identify</strong> program is a tool for processing strings in an attempt to identify the <abbr title="Featureless Settings Specification">FSS</abbr> file format based on <abbr title="Featureless Settings Specification">FSS</abbr> header comments.
             </p>
             <p class="p">
               This program doesn't perforrm any special heuristic. It only checks for the special <abbr title="Featureless Settings Specification">FSS</abbr> header and reports what it finds.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 5e3563861eefc452612dd3a4270b1b6e8bd0aa69..53b3e16824562125fd55afc8b0f3ce7acfa25462 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Identify</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Identify</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index ca2e490f91b6b06ab53bdf5da23227f8e8b0b015..55c2ae46dc62995e454ab422d811a2a9c59bbb94 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_payload_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-000E (Payload)</code> standard.
+              The <strong class="strong">fss_payload_read</strong> program is a tool for reading and processing strings that follow the <code class="code">FSS-000E (Payload)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
               <p class="p">
-                The word "<em>column</em>" is being loosely defined to refer to a specific Content.
+                The word "<em class="em">column</em>" is being loosely defined to refer to a specific Content.
               </p>
               <p class="p">
                 This is not to be confused with a depth.
               </p>
               <p class="p">
-                As an exceptional case, a <code class="code">--depth</code> of 1 applies only to the explicit Object of "<em>header</em>".
+                As an exceptional case, a <code class="code">--depth</code> of 1 applies only to the explicit Object of "<em class="em">header</em>".
               </p>
               <p class="p">
                 Content at this depth is processed as <code class="code">FSS-0001 (Extended)</code>.
index bac7e6f794d50baf3fb5acdf544b3052b85a09e8..fbc94848421c3252547c00517786e7abe41e69f8 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Payload Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Payload Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index dec43f3d2769e7b82db3e0fe2b4e3fdfec302423..a505933c5a2df38afa4d1b24dc422d199e8b9bca 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_payload_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-000E (Payload)</code> standard.
+              The <strong class="strong">fss_payload_write</strong> program is a tool for generating strings that follow the <code class="code">FSS-000E (Payload)</code> standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index d14840ed6e06e98fe47f0f4954c0070e71b0e925..b0a36b32350d2811ecc0af7ed3337544498fa023 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Payload Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Payload Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 1648ee0f8e3c49d68d520bccfcc3f51b77ba8789..962cb3f245aa03008835a81ec03404520803dc89 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>fss_status_code</strong> program is a tool for interpretting and changing the status codes received from programs into code words or vice-versa. This is intended to be easily scriptable. The code words are still machine-friendly and scriptable.
+              The <strong class="strong">fss_status_code</strong> program is a tool for interpretting and changing the status codes received from programs into code words or vice-versa. This is intended to be easily scriptable. The code words are still machine-friendly and scriptable.
             </p>
             <p class="p">
               This program handles standard <abbr title="Featureless Linux Library">FLL</abbr> status codes as well as <abbr title="Featureless Settings Specifications">FSS</abbr> status codes. The max status code supported is represented by the code words <code class="code">F_fss_status_code_last</code>.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index e123e444a4a2acd648ee80a9bd3a2eee6c1ae96e..5cbed5b52377462e3e6b1b803bba9a97eded0025 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>FSS Status Code</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">FSS Status Code</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 84359ce44a7d2e8c89840e92f5b3e5e239b47727..728b1fb6bebb9a5773d420fe2d5ed45ba1bc37d4 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>iki_read</strong> program is a tool for processing strings that follow the IKI standard, specifically IKI-0000 (Unrestricted).
+              The <strong class="strong">iki_read</strong> program is a tool for processing strings that follow the IKI standard, specifically IKI-0000 (Unrestricted).
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 </div>
               </dl>
               <p class="p">
-                The <em>vocabulary</em> and <em>replacement</em> are case-sensitive and must exactly match.
+                The <em class="em">vocabulary</em> and <em class="em">replacement</em> are case-sensitive and must exactly match.
               </p>
               <p class="p">
                 The <code class="code">-W/--wrap</code> option requires 3 additional parameters: <code class="code">&lt;vocabulary&gt; &lt;before&gt; &lt;after&gt;</code>.
index 657fe584b65e3b2dce45b9307b3d5f3970422b52..f876ba173b4f5037e8667d890336de8653e6cdf8 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>IKI Read</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">IKI Read</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index c449ae9f536895ca398cb9b1e8815b929752ed8e..760f7c2152c817f350ee1d9e10aebaa3b8b35c68 100644 (file)
@@ -83,7 +83,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>iki_write</strong> program is a tool for generating strings that follow the IKI standard, specifically the IKI-0000 (Unrestricted) standard.
+              The <strong class="strong">iki_write</strong> program is a tool for generating strings that follow the IKI standard, specifically the IKI-0000 (Unrestricted) standard.
             </p>
             <p class="p">
               This tool is designed to be scriptable and accepts piped input using a special format.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index 13e822382d8abcf84db741f512fc822454ad0687..189c06629fcca463021c92f19fd19db606e5f7df 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>IKI Write</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">IKI Write</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index f51c7c603094d79d124433839a97c13a7f99c59d..e76b56497cf53cfd12180ef33666fe03254bd338 100644 (file)
@@ -84,7 +84,7 @@
 
           <div class="main-content">
             <p class="p">
-              The <strong>status_code</strong> program is a tool for interpretting and changing the status codes received from programs into code words or vice-versa. This is intended to be easily scriptable. The code words are still machine-friendly and scriptable.
+              The <strong class="strong">status_code</strong> program is a tool for interpretting and changing the status codes received from programs into code words or vice-versa. This is intended to be easily scriptable. The code words are still machine-friendly and scriptable.
             </p>
             <p class="p">
               This tool only handles standard <abbr title="Featureless Linux Library">FLL</abbr> status codes. The max status code supported is represented by the code words <code class="code">F_status_code_last</code>.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte code. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
index dcd7ac02da1e5f4cd548c40cef45ea471471326c..eac004a8c1dde35fedaaac45b087c126a286e205 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>Status Code</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">Status Code</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index 615903342030883872a7f7fccea44d4b52030e38..c10e968ba16ee0ce0664781f86738741197d7af3 100644 (file)
 
           <div class="main-content">
             <p class="p">
-              The <strong>UTF8</strong> program is a tool for converting from a <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte sequence to the Unicode code point. The byte sequence can also be referred to as the binary representation of the code even though the byte sequence is considered text. The term <em>"byte sequence"</em> here is used to refer to a sequence of bytes intended to represent something, which in this case is a Unicode character. The Unicode code point is the Unicode designation uniquely identifying that particular sequence. The Unicode code point is not specific to <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> and persists across different encodings, such as <abbr title="Unicode Transformation Format 16-bit">UTF-16</abbr>.
+              The <strong class="strong">UTF8</strong> program is a tool for converting from a <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte sequence to the Unicode code point. The byte sequence can also be referred to as the binary representation of the code even though the byte sequence is considered text. The term <em class="em">"byte sequence"</em> here is used to refer to a sequence of bytes intended to represent something, which in this case is a Unicode character. The Unicode code point is the Unicode designation uniquely identifying that particular sequence. The Unicode code point is not specific to <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> and persists across different encodings, such as <abbr title="Unicode Transformation Format 16-bit">UTF-16</abbr>.
             </p>
             <p class="p">
-              The idea behind the <strong>UTF8</strong> program is to provide the answer to the question of what some special <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> character is or to provide a way to create the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> character given the Unicode code point.
+              The idea behind the <strong class="strong">UTF8</strong> program is to provide the answer to the question of what some special <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> character is or to provide a way to create the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> character given the Unicode code point.
             </p>
             <p class="p">
               This tool is intended to be scriptable, should handle both piped data and files, and can convert entire files.
                 </table>
               </div>
               <p class="p">
-                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong>utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte sequence. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
+                The <code class="code">+Q/++quiet</code> parameter silences all output that is not the intent and purpose of the program. For example, the purpose of the <strong class="strong">utf8</strong> program is to print the Unicode code point or the <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> byte sequence. The <code class="code">+Q/++quiet</code> will not suppress this output. The new line printed at the end of the program, is however, not printed. The <code class="code">+Q/++quiet</code> is ideal for using in scripting to help guarantee more consistent and controlled output.
               </p>
               <p class="p">
                 The <code class="code">+N/++no_color</code> simplifies the output to avoid the special color character codes. The special color character codes tend to take up a lot of extra space and may slow down printing performance.
                 </table>
               </div>
               <p class="p">
-                This program establishes a pattern for some of the parameters. The parameters that represent a <em>"from"</em> use lower case short characters and the parameters that represent a <em>"to"</em> use upper case short characters. For short parameters that have both a <em>"from"</em> and a <em>"to"</em>, they use the same character with their case being different.
+                This program establishes a pattern for some of the parameters. The parameters that represent a <em class="em">"from"</em> use lower case short characters and the parameters that represent a <em class="em">"to"</em> use upper case short characters. For short parameters that have both a <em class="em">"from"</em> and a <em class="em">"to"</em>, they use the same character with their case being different.
               </p>
               <p class="p">
                 The default behavior is to assume the expected input is byte sequence from the command line to be output to the screen as codepoints.
index 11f19eab64097f8c949fe6d9d38cc4dffaffa7f7..6fc2fd1ea731fa1c99c3c8f22a42caae7dd52106 100644 (file)
@@ -85,7 +85,7 @@
           <div class="main-content">
             <p class="p">
               The <abbr title="Featureless Linux Library">FLL</abbr> project provides several <a href="fll/specifications.html" class="link">specifications</a>.
-              The <strong>UTF8</strong> does not directly use or provide any of these specifications.
+              The <strong class="strong">UTF8</strong> does not directly use or provide any of these specifications.
             </p>
           </div>
         </main>
index fa03f51b7a7811eafda9f1385becd2d028937787..247ddcce62174ba466cc129e4839f555a2726732 100644 (file)
--- a/fll.html
+++ b/fll.html
 
             <div class="article-content">
               <p class="p">
-                The current stable release series of <abbr title="Featureless Linux Library">FLL</abbr> is <strong>0.6</strong>. The latest version of the stable release series is <strong>0.6.1</strong>.
+                The current stable release series of <abbr title="Featureless Linux Library">FLL</abbr> is <strong class="strong">0.6</strong>. The latest version of the stable release series is <strong class="strong">0.6.1</strong>.
               </p>
               <p class="p">
-                There are two different ways in which the project is released. The <em>bare release</em> and the <em>pre-packaged release</em>.
+                There are two different ways in which the project is released. The <em class="em">bare release</em> and the <em class="em">pre-packaged release</em>.
               </p>
               <p class="p">
-                 A <em>bare release</em> is the original project structure exactly as it appears in the Git source code repositories. The project is designed and intended to be hacked. As a result, the project must be converted into a package. There are different default supported package structures like <em>monolithic</em>, <em>level</em>, and <em>individual</em>.
+                 A <em class="em">bare release</em> is the original project structure exactly as it appears in the Git source code repositories. The project is designed and intended to be hacked. As a result, the project must be converted into a package. There are different default supported package structures like <em class="em">monolithic</em>, <em class="em">level</em>, and <em class="em">individual</em>.
               </p>
               <p class="p">
-                 A <em>pre-packaged release</em> is the project packaged into a <em>monolithic</em> structure. The programs are also pre-packaged to expect to link against a <em>monolithic</em> <abbr title="Featureless Linux Library">FLL</abbr> package.
+                 A <em class="em">pre-packaged release</em> is the project packaged into a <em class="em">monolithic</em> structure. The programs are also pre-packaged to expect to link against a <em class="em">monolithic</em> <abbr title="Featureless Linux Library">FLL</abbr> package.
               </p>
               <div class="center">
                 <table class="table fll-release">
                 </table>
               </div>
               <p class="p">
-                There are also <strong>stand alone</strong> sources and related files for some of the programs:
+                There are also <strong class="strong">stand alone</strong> sources and related files for some of the programs:
               </p>
               <div class="center">
                 <table class="table fll-release">
                 The pre-packaged releases may also be found on the following external websites:
               </p>
               <ul>
-                <li><strong>Sourceforge, Monolithic</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/monolithic/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/monolithic/</a></li>
-                <li><strong>Sourceforge, Programs</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/programs/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/programs/</a></li>
-                <li><strong>Sourceforge, Stand Alone</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/</a></li>
+                <li><strong class="strong">Sourceforge, Monolithic</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/monolithic/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/monolithic/</a></li>
+                <li><strong class="strong">Sourceforge, Programs</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/programs/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/programs/</a></li>
+                <li><strong class="strong">Sourceforge, Stand Alone</strong>: <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/" class="link external">https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/</a></li>
               </ul>
               <p class="p">
                 The bare releases may be found on the following websites:
               </p>
               <ul>
-                <li><strong>Github</strong>: <a href="https://github.com/thekevinday/fll/releases/tag/0.6.1" class="link external">https://github.com/thekevinday/fll/releases/tag/0.6.1</a></li>
-                <li><strong>Gitlab</strong>: <a href="https://gitlab.com/kevuxer/fll/-/releases/0.6.1" class="link external">https://gitlab.com/kevuxer/fll/-/releases/0.6.1</a></li>
+                <li><strong class="strong">Github</strong>: <a href="https://github.com/thekevinday/fll/releases/tag/0.6.1" class="link external">https://github.com/thekevinday/fll/releases/tag/0.6.1</a></li>
+                <li><strong class="strong">Gitlab</strong>: <a href="https://gitlab.com/kevuxer/fll/-/releases/0.6.1" class="link external">https://gitlab.com/kevuxer/fll/-/releases/0.6.1</a></li>
               </ul>
             </div>
           </article>
index 908ec31e4de5114ddebd491e28799de552bf7284..81260adb3bd87b0c9a45d3988ff870856cb7e117 100644 (file)
                 To better understand the core principles and even philosophy behind this <abbr title="Featureless Linux Library">FLL</abbr> project one must first understand some key terminology from the perspective of what the terms do or are for rather than what the direct meaning of the words are.
               </p>
               <p class="p">
-                 The term <em>software</em> is understood as thought. That is to say, if you have an idea in your mind then treat this idea as software. This perspective introduces a problem, a problem of ambiguity. <em>Software</em> is more than an idea when it is on a computer. The general definition of <em>software</em> can refer to source code, binaries, or data (data encompasses both source code and binaries but for the purposes here please ignore this fact). A <em>binary</em> is usually created from <em>source code</em>.
+                 The term <em class="em">software</em> is understood as thought. That is to say, if you have an idea in your mind then treat this idea as software. This perspective introduces a problem, a problem of ambiguity. <em class="em">Software</em> is more than an idea when it is on a computer. The general definition of <em class="em">software</em> can refer to source code, binaries, or data (data encompasses both source code and binaries but for the purposes here please ignore this fact). A <em class="em">binary</em> is usually created from <em class="em">source code</em>.
               </p>
               <p class="p">
-                 The perspective on <em>source code</em> should be described first to address the problem. <em>Source Code</em> is an idea communicated through some <em>language</em>. A single idea may be expressed differently between two distinct languages and still be the same idea. However, the representation of that idea may be limited or otherwise influenced by the constraints or limitation of a language.
+                 The perspective on <em class="em">source code</em> should be described first to address the problem. <em class="em">Source Code</em> is an idea communicated through some <em class="em">language</em>. A single idea may be expressed differently between two distinct languages and still be the same idea. However, the representation of that idea may be limited or otherwise influenced by the constraints or limitation of a language.
               </p>
               <p class="p">
-                When the <em>source code</em> is compiled, interpreted, or otherwise converted into machine code, the idea behind the <em>source code</em> is now represented in a new language, the machine language. This resulting representation in the machine language is the <em>binary</em>.
+                When the <em class="em">source code</em> is compiled, interpreted, or otherwise converted into machine code, the idea behind the <em class="em">source code</em> is now represented in a new language, the machine language. This resulting representation in the machine language is the <em class="em">binary</em>.
               </p>
               <p class="p">
-                At this point the <em>software</em>, be it the <em>source code</em> or the <em>binary</em> is synonymous with spoken words. There is no product, only just a spoken and recored idea constrained by the language it is spoken in.
+                At this point the <em class="em">software</em>, be it the <em class="em">source code</em> or the <em class="em">binary</em> is synonymous with spoken words. There is no product, only just a spoken and recored idea constrained by the language it is spoken in.
               </p>
               <p class="p">
-                The magic happens when the machine computes. This computation of the communicated idea requires <em>hardware</em>. It is this <em>hardware</em> that manifests the idea into reality. A product, therefore, may only exist in conjunction with some <em>hardware</em>.
+                The magic happens when the machine computes. This computation of the communicated idea requires <em class="em">hardware</em>. It is this <em class="em">hardware</em> that manifests the idea into reality. A product, therefore, may only exist in conjunction with some <em class="em">hardware</em>.
               </p>
               <p class="p">
-                The world as it currently exists is a world of restrictions and patents. Supposedly an idea is not patentable. Supposedly math cannot be patented. Yet with <em>software</em> effectively being a written or spoken idea, often represented in mathematical equations, is treated as patentable.
+                The world as it currently exists is a world of restrictions and patents. Supposedly an idea is not patentable. Supposedly math cannot be patented. Yet with <em class="em">software</em> effectively being a written or spoken idea, often represented in mathematical equations, is treated as patentable.
               </p>
               <p class="p">
-                Associating, or otherwise linking, an idea is somehow treated as if the originator of the first spoken idea spoke the second idea. Take a conversation, for example. If the first person says "<em>I like cake.</em>" and the second person says "<em>I like candles on cake.</em>" then does that mean the first person is the one who originated the statement "<em>I like candles on cake.</em>"? Of course not. But the legal system in the United States of America, and perhaps the world, have decided otherwise. That is to say, linking one binary to another (somehow) creates a combined product. This appears to be some sort of magical fairy dust lawyers use to convince people that what you are smelling is actually a rose rather than something bovine herders have to shovel up from time to time.
+                Associating, or otherwise linking, an idea is somehow treated as if the originator of the first spoken idea spoke the second idea. Take a conversation, for example. If the first person says "<em class="em">I like cake.</em>" and the second person says "<em class="em">I like candles on cake.</em>" then does that mean the first person is the one who originated the statement "<em class="em">I like candles on cake.</em>"? Of course not. But the legal system in the United States of America, and perhaps the world, have decided otherwise. That is to say, linking one binary to another (somehow) creates a combined product. This appears to be some sort of magical fairy dust lawyers use to convince people that what you are smelling is actually a rose rather than something bovine herders have to shovel up from time to time.
               </p>
               <p class="p">
                 The core principle of this project is to use legal means to make such an absurdity illegal. Thus the copyrights, such as the <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr> license, are utilized. The goal here is not to deny a person the ability to make a product and sell it. Instead, the goal here is so that a person who makes a product can actually make and sell it. Just because a bird house has nails in it doesn't mean the originator of the nails now owns all rights to the bird house. Just because an <abbr title="Advanced Micro Devices">AMD</abbr> motherboard has an Nvidia graphics card connected to it does not mean <abbr title="Advanced Micro Devices">AMD</abbr> now owns all rights to the Nvidia graphics card.
                 Long term stability is a flag ship goal of this project. To that extent, stable releases are to be maintained indefinitely. Ideally, this will hold true only for 1.0 releases and beyond but in practice pre-1.0 may also seek this goal. For long term stability, <abbr title="Application Programming Interface">API</abbr> breakage is not allowed with a stable release. For those people out there who blindly apply infinites to everything, stop it. If there is some major security issue or other such extreme problem then <abbr title="Application Programming Interface">API</abbr> breakage can be considered. This will, however, be strongly resisted to ensure only necessary breakage occurs. Strong resistence is not the same as never allowing.
               </p>
               <p class="p">
-                The term "<em>featureless</em>" is loosely used in this project to describe the idea that a project should not constantly add features like a kid in a candy shop wanting to try every new piece of candy they find. The entire <abbr title="Featureless Linux Library">FLL</abbr> project is designed so that you can do as you will so long as you do not deny another person the same. This means that you are free to add as many features as you like. In your own project. Or in your own hacked variation. This project shall attempt to maintain a discrete set of functionality specific to each stable release and the goals of that release.
+                The term "<em class="em">featureless</em>" is loosely used in this project to describe the idea that a project should not constantly add features like a kid in a candy shop wanting to try every new piece of candy they find. The entire <abbr title="Featureless Linux Library">FLL</abbr> project is designed so that you can do as you will so long as you do not deny another person the same. This means that you are free to add as many features as you like. In your own project. Or in your own hacked variation. This project shall attempt to maintain a discrete set of functionality specific to each stable release and the goals of that release.
               </p>
               <p class="p">
                 Temporal constraints may result in a stable release being made without all of the intended features. These such cases should be treated on a per-situation basis. Changes to a stable release to add features that did not make it is still discouraged and should be avoided. Futhermore, there is an undescribed point in time in which if a stable release has not achieve a planned or intended feature then that feature should never be added. Time matters. For example, if version 1.0 was supposed to bake a cake and failed to get that functionality but then 10-years later (when 3d-printing evolved into 3d-baking) the version 1.0 must not have the "bake a cake" feature added. Too much time has passed. Just make a 1.2 release for baking cakes. The rule of thumb is flexibility for short term and rigidity for long term.
               </p>
               <p class="p">
-                The <abbr title="Featureless Linux Library">FLL</abbr> project has the word "<em>library</em>" in the name. For good reason. The primary purpose of this project is to be used as a library. The original flag ship of this project is the <strong>Featureless Make</strong> program. Notice the word "<em>program</em>". The <abbr title="Featureless Linux Library">FLL</abbr> project does contain related programs but these are kept to a minimal. The purpose of the programs in this project are to have fully functional and usable example programs. They are not examples in the traditional sense but are instead full blown implementations.
+                The <abbr title="Featureless Linux Library">FLL</abbr> project has the word "<em class="em">library</em>" in the name. For good reason. The primary purpose of this project is to be used as a library. The original flag ship of this project is the <strong class="strong">Featureless Make</strong> program. Notice the word "<em class="em">program</em>". The <abbr title="Featureless Linux Library">FLL</abbr> project does contain related programs but these are kept to a minimal. The purpose of the programs in this project are to have fully functional and usable example programs. They are not examples in the traditional sense but are instead full blown implementations.
               </p>
               <p class="p">
-                The <strong>Featureless Make</strong> is also an exception case. I wrote a thesis regarding the GNU make system and I proposed the <strong>Featureless Make</strong> as a solution that utilizes the <strong>Featureless Settings Specification</strong>. This is the foundation that birthed the <strong>Featureless Linux Library</strong>. For this reason, the <strong>Featureless Make</strong> will always be part of the <abbr title="Featureless Linux Library">FLL</abbr> project.
+                The <strong class="strong">Featureless Make</strong> is also an exception case. I wrote a thesis regarding the GNU make system and I proposed the <strong class="strong">Featureless Make</strong> as a solution that utilizes the <strong class="strong">Featureless Settings Specification</strong>. This is the foundation that birthed the <strong class="strong">Featureless Linux Library</strong>. For this reason, the <strong class="strong">Featureless Make</strong> will always be part of the <abbr title="Featureless Linux Library">FLL</abbr> project.
               </p>
               <p class="p">
-                Many of the programs provided by the <abbr title="Featureless Linux Library">FLL</abbr> are a way of extending the library in such a way that a shell script, such as GNU Bash, can utilize the library. Programs like the <strong>FSS Basic Read</strong> are examples of this.
+                Many of the programs provided by the <abbr title="Featureless Linux Library">FLL</abbr> are a way of extending the library in such a way that a shell script, such as GNU Bash, can utilize the library. Programs like the <strong class="strong">FSS Basic Read</strong> are examples of this.
               </p>
               <p class="p">
-                Other programs, namely the <strong>Controller</strong> program are not intended to be directly part of this project in the long term. They exist within this project for development convenience. Eventually they will budd off into their own separate project. These separate projects will still depend on and use the <abbr title="Featureless Linux Library">FLL</abbr>.
+                Other programs, namely the <strong class="strong">Controller</strong> program are not intended to be directly part of this project in the long term. They exist within this project for development convenience. Eventually they will budd off into their own separate project. These separate projects will still depend on and use the <abbr title="Featureless Linux Library">FLL</abbr>.
               </p>
               <p class="p">
                 The way in which data is stored, utilized, and communicated should also follow similar design and principles. The standards and their accompanying specifications are provided by the <abbr title="Featureless Linux Library">FLL</abbr> to achieve this.
               </p>
               <p class="p">
-                Keep it simple is one of the goals of the project. But again, all of you people out there that love infinitives, stop it. This project follows "<em>keep it simple</em>" rather than "<em>keep it absolutely simple</em>". There are many situations where complexity is not only encouraged but also necessary.
+                Keep it simple is one of the goals of the project. But again, all of you people out there that love infinitives, stop it. This project follows "<em class="em">keep it simple</em>" rather than "<em class="em">keep it absolutely simple</em>". There are many situations where complexity is not only encouraged but also necessary.
               </p>
             </div>
           </section>
index 3fdc589460875a6b78d7f9ca7c29f853d83c9b73..d510ff12a33e7c5091f3a04bb8d949f651876bc9 100644 (file)
 
             <div class="section-content">
               <p class="p">
-                The Featureless Linux Library defines several standards for use in this project. Many of these standards are defined via the Featureless Settings Specifications. Most of these are focused on settings files (configuration files) but are written general enough to support a wide range of uses. The original project that the <abbr title="Featureless Linux Library">FLL</abbr> project is built around is the <em>Featureless Make</em> program, also called <strong>Fake</strong>. The <strong>Fake</strong> program is a great example on how the <abbr title="Featureless Settings Specifications">FSS</abbr> are intended to be used.
+                The Featureless Linux Library defines several standards for use in this project. Many of these standards are defined via the Featureless Settings Specifications. Most of these are focused on settings files (configuration files) but are written general enough to support a wide range of uses. The original project that the <abbr title="Featureless Linux Library">FLL</abbr> project is built around is the <em class="em">Featureless Make</em> program, also called <strong class="strong">Fake</strong>. The <strong class="strong">Fake</strong> program is a great example on how the <abbr title="Featureless Settings Specifications">FSS</abbr> are intended to be used.
               </p>
               <p class="p">
-                The standards are not limited to those defined in the <abbr title="Featureless Settings Specifications">FSS</abbr>. There are the <em>IKI</em> standards (which is not an acronym). The term <em>IKI</em> plays off of the term <em>Wiki</em>. The <em>IKI</em> standard is intended to have simpler syntax than a <em>Wiki</em> syntax and is used in several <abbr title="Featureless Linux Library">FLL</abbr> projects and even inside standards defined by <abbr title="Featureless Settings Specifications">FSS</abbr>.
+                The standards are not limited to those defined in the <abbr title="Featureless Settings Specifications">FSS</abbr>. There are the <em class="em">IKI</em> standards (which is not an acronym). The term <em class="em">IKI</em> plays off of the term <em class="em">Wiki</em>. The <em class="em">IKI</em> standard is intended to have simpler syntax than a <em class="em">Wiki</em> syntax and is used in several <abbr title="Featureless Linux Library">FLL</abbr> projects and even inside standards defined by <abbr title="Featureless Settings Specifications">FSS</abbr>.
               </p>
             </div>
           </section>
 
             <div class="section-content">
               <p class="p">
-                The Featureless Settings Specifications describe a set of standards designed around the age-old design principle referred to as <em>Keep It Simple Stupid</em>, aka <abbr title="Keep It Simple Stupid">KISS</abbr>. The <abbr title="Featureless Settings Specifications">FSS</abbr> are primarily intended for settings files but are extensible enough to be used beyond that.
+                The Featureless Settings Specifications describe a set of standards designed around the age-old design principle referred to as <em class="em">Keep It Simple Stupid</em>, aka <abbr title="Keep It Simple Stupid">KISS</abbr>. The <abbr title="Featureless Settings Specifications">FSS</abbr> are primarily intended for settings files but are extensible enough to be used beyond that.
               </p>
               <p class="p">
                 The <abbr title="Featureless Settings Specifications">FSS</abbr> defines the following:
               </p>
               <ul>
                 <li>Will consist of numerous different kinds of specification files, depending on the type of information stored.</li>
-                <li>As with the practice of "<code class="code">#!/bin/bash</code>", the setting files <em>should</em> have the following: "<code class="code"># fss-????" format, such as "# FSS-0001</code>".</li>
+                <li>As with the practice of "<code class="code">#!/bin/bash</code>", the setting files <em class="em">should</em> have the following: "<code class="code"># fss-????" format, such as "# FSS-0001</code>".</li>
                 <li>Multiple sub-standards may be appended to the FSS header, using the same format structure, such as supporting IKI: "# FSS-0000 iki-0000" or HTML5: "# FSS-0000 html-0005".</li>
                 <li>With the <code class="code">?</code> representing the (hexadecimal/base-16) number that represents the particular specification structure.</li>
-                <li>All settings specifications <em>should</em> avoid any form of noise, relative to the data being stored.</li>
+                <li>All settings specifications <em class="em">should</em> avoid any form of noise, relative to the data being stored.</li>
                 <li><abbr title="Extensible Markup Language">XML</abbr> would be considered anti-<abbr title="Keep It Simple Stupid">KISS</abbr> due to the extreme level of noise generated by the <abbr title="Extensible Markup Language">XML</abbr> language (not easy to read).</li>
                 <li>The settings files are setup so that they should (reasonably) produce easy readability on both the console and in a GUI.</li>
                 <li>The specifications should strive for completeness (see the <a href="fll/specifications.html#completeness_theorem" class="link">Completeness Theorem</a>).</li>
               </ul>
               <p class="p">
-                The most basic form of <abbr title="Featureless Settings Specifications">FSS</abbr> consists of two main parts: an <em>Object</em> and the <em>Content</em>.
+                The most basic form of <abbr title="Featureless Settings Specifications">FSS</abbr> consists of two main parts: an <em class="em">Object</em> and the <em class="em">Content</em>.
               </p>
               <dl class="dl">
                 <div class="di">
-                  <dt class="dt"><strong>Object</strong></dt>
-                  <dd class="dd">Considered the name or identifier of some property or data. Objects do not require an associated <em>Content</em>.</dd>
+                  <dt class="dt"><strong class="strong">Object</strong></dt>
+                  <dd class="dd">Considered the name or identifier of some property or data. Objects do not require an associated <em class="em">Content</em>.</dd>
                 </div>
                 <div class="di">
-                  <dt class="dt"><strong>Content</strong></dt>
-                  <dd class="dd">The data associated with a given Object; all Content <em>must</em> have an associated <em>Object</em>.</dd>
+                  <dt class="dt"><strong class="strong">Content</strong></dt>
+                  <dd class="dd">The data associated with a given Object; all Content <em class="em">must</em> have an associated <em class="em">Object</em>.</dd>
                 </div>
               </dl>
               <p class="p">
               <p class="p">
                 Contents may be broken up into zero or more discrete sets of Content.
                 Each of these discrete sets of Content are referred to as a column.
-                These columns do not need to be setup in a column structure, the word <em>column</em> is simply used as a grouping terminology.
+                These columns do not need to be setup in a column structure, the word <em class="em">column</em> is simply used as a grouping terminology.
                 While a Content refers to the entire set, a column (more specifically, a Content column) refers to the individual discrete sets within the Content.
                 For example, in <code class="code">fss-000 (Basic)</code> the entire Content may be further represented as a single column.
                 For example, in <code class="code">fss-001 (Extended)</code> the entire Content may be further represented as multiple columns.
               <p class="p">
                 Unless otherwise specified, all specifications are newline sensitive (<code class="code">\n</code> only).
                 Newline characters are only <code class="code">\n</code> and are never anything else (<code class="code">\r</code> is not considered newline in any manner).
-                These specifications refer to characters that have printable representation as <em>printable</em>.
-                These specifications refer to characters that have no printable representation as <em>non-printable</em>.
+                These specifications refer to characters that have printable representation as <em class="em">printable</em>.
+                These specifications refer to characters that have no printable representation as <em class="em">non-printable</em>.
 
                 White spaces characters that are printable, such as tabs and spaces, must be considered the same type for the purposes of parsing.
                 Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing with the exception of combining characters.
               <p class="p">
                 Unless otherwise specified, character/data delimits are performed only when required and not unilaterally.
                 In the case of Objects, delimits would only apply when that Object could be potentially identified as an Object.
-                For example, <code class="code">FSS-0001 (Extended)</code> needs quotes to group parts that include spaces, if there is no initial quote, then a quote following the data <em>must not</em> be delimited.
+                For example, <code class="code">FSS-0001 (Extended)</code> needs quotes to group parts that include spaces, if there is no initial quote, then a quote following the data <em class="em">must not</em> be delimited.
               </p>
               <p class="p">
                 Such as these following three lines:
@@ -306,30 +306,30 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
                 This means that if there is white space before the designation symbol (the pound <code class="code">#</code> character) then that white space is ignored.
               </p>
               <p class="p">
-                Unless otherwise specified, all designation characters <em>must</em> represent <abbr title="American Standard Code for Information Interchange">ASCII</abbr> codes.
+                Unless otherwise specified, all designation characters <em class="em">must</em> represent <abbr title="American Standard Code for Information Interchange">ASCII</abbr> codes.
                 With designation characters being any character code used to designate how to identify an Object or Content (such as a colon <code class="code">:</code> at the end of a basic list).
                 This keeps the processing and logic simple and safe, for both <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> and <abbr title="American Standard Code for Information Interchange">ASCII</abbr>.
-                White space used for designation characters <em>must</em> include support for <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> white space characters, unless otherwise specified.
+                White space used for designation characters <em class="em">must</em> include support for <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> white space characters, unless otherwise specified.
                 However, these white space used as a designation character, must be printing white space that are not combining white space characters.
                 Any visible/graph character that is considered a white space (such as <code class="code">U+1680</code> <code class="code"> </code>) is not to be considered a white space, unless otherwise specified.
               </p>
               <p class="p">
                 When used for syntax matching purposes, zero-width Unicode characters are only to be considered zero-width unless otherwise specified.
-                For example, the <em>invisible plus</em> character (<code class="code">U+2064</code>) is not to be considered as a plus.
+                For example, the <em class="em">invisible plus</em> character (<code class="code">U+2064</code>) is not to be considered as a plus.
               </p>
               <p class="p">
                 The <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> <abbr title="Byte Order Mark">BOM</abbr> is not allowed as a Byte Order Mark; instead, it must always be treated as the character represented by its code (unless explicitly allowed to represent a <abbr title="Byte Order Mark">BOM</abbr> by a standard).
               </p>
               <p class="p">
-                The only Unicode dash-like characters allowed as a <em>dash</em> are those intended to connect, such as the Unicode hyphens (<code class="code">U+2010</code> and <code class="code">U+2011</code>) (unless otherwise specified).
+                The only Unicode dash-like characters allowed as a <em class="em">dash</em> are those intended to connect, such as the Unicode hyphens (<code class="code">U+2010</code> and <code class="code">U+2011</code>) (unless otherwise specified).
               </p>
               <p class="p">
-                In any specification where security is intended, if there exists a Unicode character that matches an <abbr title="American Standard Code for Information Interchange">ASCII</abbr> character, that Unicode character <em>may</em> be prohibited by that standard in favor of the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> equivalent.
+                In any specification where security is intended, if there exists a Unicode character that matches an <abbr title="American Standard Code for Information Interchange">ASCII</abbr> character, that Unicode character <em class="em">may</em> be prohibited by that standard in favor of the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> equivalent.
                 One such example is in the case of a <abbr title="Byte Order Mark">URL</abbr>, where the name could be used to trick a person (<code class="code">http://this-site.com/</code> vs <code class="code">http://this‐site.com/</code>).
                 This (potential insecure behavior) is allowed in general because a well written program would be able to detect and communicate the possible misunderstanding and thereby avoid mistakes without imposing any character restrictions.
               </p>
               <p class="p">
-                This is a common behavior for security reasons, each character used for any special purposes must be visibly distinct, with white space and non-printing characters as the exception to the words <em>visibly distinct</em>.
+                This is a common behavior for security reasons, each character used for any special purposes must be visibly distinct, with white space and non-printing characters as the exception to the words <em class="em">visibly distinct</em>.
               </p>
               <p class="p">
                 The following are core specifications (each with a common name associated with the specification number):
@@ -367,8 +367,8 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
               <p class="p">
                 The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
                 The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
-                The variable name is considered the <em>Object</em>.
-                The variable value is considered the <em>Content</em>.
+                The variable name is considered the <em class="em">Object</em>.
+                The variable value is considered the <em class="em">Content</em>.
               </p>
               <p class="p">
                 The IKI format will use <code class="code">iki-0000</code> to represent an IKI with no explicitly defined vocabulary.
@@ -463,7 +463,7 @@ Contents would be:
 
             <div class="section-content">
               <p class="p">
-                The <strong>Completeness Theorem</strong> represents an informal theory by Kevin Day focusing on how software should be complete. The theory has not been formalized and the following is a basic explanation. A formal definition may be provided in the future.
+                The <strong class="strong">Completeness Theorem</strong> represents an informal theory by Kevin Day focusing on how software should be complete. The theory has not been formalized and the following is a basic explanation. A formal definition may be provided in the future.
               </p>
               <p class="p">
                 When developing software, one should not program for the minimum requirements. Instead, one should consider the scope of the project and its intended design. Taking that into consideration all functionality needed to achieve this should be considered and implemented.
@@ -475,22 +475,22 @@ Contents would be:
                 This does not conflict with <abbr title="Keep It Simple Stupid">KISS</abbr> but instead complements it.
               </p>
               <p class="p">
-                If this is not clear, then consider thinking of things this way. The <abbr title="Keep It Simple Stupid">KISS</abbr> focuses on keeping the design and process simple. The <strong>Completeness Theorem</strong> focuses on making sure the design is complete.
+                If this is not clear, then consider thinking of things this way. The <abbr title="Keep It Simple Stupid">KISS</abbr> focuses on keeping the design and process simple. The <strong class="strong">Completeness Theorem</strong> focuses on making sure the design is complete.
               </p>
               <p class="p">
-                Now if, say a car, is designed to follow <abbr title="Keep It Simple Stupid">KISS</abbr> but violates the <strong>Completeness Theorem</strong>, then that car could be built without doors. Not having doors simplifies the car. It is much simpler and easier to get in and out of.
+                Now if, say a car, is designed to follow <abbr title="Keep It Simple Stupid">KISS</abbr> but violates the <strong class="strong">Completeness Theorem</strong>, then that car could be built without doors. Not having doors simplifies the car. It is much simpler and easier to get in and out of.
               </p>
               <p class="p">
-                Using that example, a car designed to follow both <abbr title="Keep It Simple Stupid">KISS</abbr> and the <strong>Completeness Theorem</strong> would have doors.
+                Using that example, a car designed to follow both <abbr title="Keep It Simple Stupid">KISS</abbr> and the <strong class="strong">Completeness Theorem</strong> would have doors.
               </p>
               <p class="p">
-                To better understand the <strong>Completeness Theorem</strong>, again take the car example. If the car is intended to be used only in say photo shoots and is not in any way intended ever to be used, then as per the <strong>Completeness Theorem</strong>, the car would not need an engine. Whereas a car designed and intended to be used that does not have an engine would fail to follow the <strong>Completeness Theorem</strong>.
+                To better understand the <strong class="strong">Completeness Theorem</strong>, again take the car example. If the car is intended to be used only in say photo shoots and is not in any way intended ever to be used, then as per the <strong class="strong">Completeness Theorem</strong>, the car would not need an engine. Whereas a car designed and intended to be used that does not have an engine would fail to follow the <strong class="strong">Completeness Theorem</strong>.
               </p>
               <p class="p">
-                The <strong>Completeness Theorem</strong> is subjective and is intended to be used as a guide.
+                The <strong class="strong">Completeness Theorem</strong> is subjective and is intended to be used as a guide.
               </p>
               <p class="p">
-                The <strong>Completeness Theorem</strong> asserts that perfection is impossible and pointless and one must instead understand what is necessary to complete the project rather than to handle all possibilities. Simply because perfection isn't possible doesn't mean one must lower their standards or have no standards. Determine what is or is not needed to complete the project and meet that rather than meet less than that.
+                The <strong class="strong">Completeness Theorem</strong> asserts that perfection is impossible and pointless and one must instead understand what is necessary to complete the project rather than to handle all possibilities. Simply because perfection isn't possible doesn't mean one must lower their standards or have no standards. Determine what is or is not needed to complete the project and meet that rather than meet less than that.
               </p>
             </div>
           </section>
@@ -504,11 +504,11 @@ Contents would be:
               <dl class="dl">
                 <div class="di">
                   <dt class="dt"><abbr title="Application Binary Interface">ABI</abbr></dt>
-                  <dd class="dd">An <em>Application Binary Interface</em> is a binary implementation of an <abbr title="Application Programming Interface">API</abbr> making it an implementation of a specification. An <abbr title="Application Binary Interface">ABI</abbr> is neither a specification nor a standard.</dd>
+                  <dd class="dd">An <em class="em">Application Binary Interface</em> is a binary implementation of an <abbr title="Application Programming Interface">API</abbr> making it an implementation of a specification. An <abbr title="Application Binary Interface">ABI</abbr> is neither a specification nor a standard.</dd>
                 </div>
                 <div class="di">
                   <dt class="dt"><abbr title="Application Programming Interface">API</abbr></dt>
-                  <dd class="dd">An <em>Application Programming Interface</em> is a specification of some implementation of a standard be it a formally defined standard or an informally defined standard. This is in effect, documentation. Note that this is a specification of an implementation rather than a specification of a standard.</dd>
+                  <dd class="dd">An <em class="em">Application Programming Interface</em> is a specification of some implementation of a standard be it a formally defined standard or an informally defined standard. This is in effect, documentation. Note that this is a specification of an implementation rather than a specification of a standard.</dd>
                 </div>
                 <div class="di">
                   <dt class="dt">Implementation</dt>
@@ -520,11 +520,11 @@ Contents would be:
                 </div>
                 <div class="di">
                   <dt class="dt"><abbr title="Software Binary Interface">SBI</abbr></dt>
-                  <dd class="dd">A <em>Software Binary Interface</em> is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an <abbr title="Application Binary Interface">ABI</abbr>. A <em>Software Binary Interface</em> is a more semantically accurate term intended to fully replace the misnamed <abbr title="Application Binary Interface">ABI</abbr> term.</dd>
+                  <dd class="dd">A <em class="em">Software Binary Interface</em> is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an <abbr title="Application Binary Interface">ABI</abbr>. A <em class="em">Software Binary Interface</em> is a more semantically accurate term intended to fully replace the misnamed <abbr title="Application Binary Interface">ABI</abbr> term.</dd>
                 </div>
                 <div class="di">
                   <dt class="dt">Service</dt>
-                  <dd class="dd">Any action or labor performed by one party for another party (such as one person helping another person). In regards to computers and networking a <em>service</em> is often used to represent a web service often provided by a website. It is common for people to misrepresent a web service by saying they are using an <abbr title="Application Programming Interface">API</abbr> when, in fact, they are using a web service.</dd>
+                  <dd class="dd">Any action or labor performed by one party for another party (such as one person helping another person). In regards to computers and networking a <em class="em">service</em> is often used to represent a web service often provided by a website. It is common for people to misrepresent a web service by saying they are using an <abbr title="Application Programming Interface">API</abbr> when, in fact, they are using a web service.</dd>
                 </div>
                 <div class="di">
                   <dt class="dt">Specification</dt>
@@ -532,7 +532,7 @@ Contents would be:
                 </div>
                 <div class="di">
                   <dt class="dt"><abbr title="Software Source Interface">SSI</abbr></dt>
-                  <dd class="dd">A <em>Software Source Interface</em> is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an <abbr title="Application Programming Interface">API</abbr>. A <em>Software Source Interface</em> is a more semantically accurate term intended to fully replace the misnamed <abbr title="Application Programming Interface">API</abbr> term.</dd>
+                  <dd class="dd">A <em class="em">Software Source Interface</em> is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an <abbr title="Application Programming Interface">API</abbr>. A <em class="em">Software Source Interface</em> is a more semantically accurate term intended to fully replace the misnamed <abbr title="Application Programming Interface">API</abbr> term.</dd>
                 </div>
                 <div class="di">
                   <dt class="dt">Standard</dt>
@@ -540,11 +540,11 @@ Contents would be:
                 </div>
                 <div class="di">
                   <dt class="dt"><abbr title="Web Service Interface">WSI</abbr></dt>
-                  <dd class="dd">A <em>Web Service Interface</em> is a new term created so that this project can more appropriately communicate the concept of a web service. A <em>Web Service Interface</em> describes the interface in which to communicate to and receive response from a web service and is described by or adheres to some web protocol.</dd>
+                  <dd class="dd">A <em class="em">Web Service Interface</em> is a new term created so that this project can more appropriately communicate the concept of a web service. A <em class="em">Web Service Interface</em> describes the interface in which to communicate to and receive response from a web service and is described by or adheres to some web protocol.</dd>
                 </div>
               </dl>
               <p class="p">
-                Based on this terminology, a standard is the representation of some set of rules and guidelines, however it is the specification that actually defines and describes those roles. The last '<em>S</em>' in <abbr title="Featureless Settings Specifications">FSS</abbr> can therefore be used to represent either "standard" or "specification" in casual speech. Given that an implementation is not a standard, an implementation can deviate from the standard (or the specification of some standard). Such deviations do not alter the standard nor do they alter the specification.
+                Based on this terminology, a standard is the representation of some set of rules and guidelines, however it is the specification that actually defines and describes those roles. The last '<em class="em">S</em>' in <abbr title="Featureless Settings Specifications">FSS</abbr> can therefore be used to represent either "standard" or "specification" in casual speech. Given that an implementation is not a standard, an implementation can deviate from the standard (or the specification of some standard). Such deviations do not alter the standard nor do they alter the specification.
               </p>
               <p class="p">
                 Good documentation practices suggest the documentation of an implementation. It is very easy to confuse the specification of an implementation of some standard with the specification of the standard itself. This has happened several times in history where some implementation violates the standard but despite being non-standard that implementation becomes popular. When the specification of that, now non-standard, implementation becomes popularized, those properly following the specification of the standard tend to suffer.
index d7ea8848d2b290e904796478ef3c22f0e43720eb..fc41614220d3d119567076b5e26cd68f9b661f3d 100644 (file)
                 This is a <code class="code">fss-0002 (Basic List)</code> with two required objects:
               </p>
               <ol>
-                <li><em>header</em>.</li>
-                <li><em>payload</em>.</li>
+                <li><em class="em">header</em>.</li>
+                <li><em class="em">payload</em>.</li>
               </ol>
               <p>
-                The <em>header</em>:
+                The <em class="em">header</em>:
               </p>
               <ul>
-                <li>The <em>header</em>'s Content is of type <code class="code">fss-0001 (Extended)</code>.</li>
-                <li>The <em>header</em> is recommended to have the Objects <em>length</em>, <em>status</em>, <em>part</em>, and <em>total</em>.</li>
-                <li>The recommended <em>length</em> represents the size of the <em>payload</em>.</li>
-                <li>The recommended <em>part</em> represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.</li>
-                <li>The recommended <em>total</em> represents the total number of parts representing a complete data transmitted across multiple payloads.</li>
-                <li>The recommended <em>status</em> represents status codes (such as success or failure) and multiple.</li>
-                <li>The Content for the recommended <em>length</em> and <em>status</em> are positive whole numbers (including zero) that may be in <em>binary</em>, <em>octal</em>, <em>decimal</em>, <em>duodecimal</em>, or <em>hexidecimal</em> numerical format.</li>
+                <li>The <em class="em">header</em>'s Content is of type <code class="code">fss-0001 (Extended)</code>.</li>
+                <li>The <em class="em">header</em> is recommended to have the Objects <em class="em">length</em>, <em class="em">status</em>, <em class="em">part</em>, and <em class="em">total</em>.</li>
+                <li>The recommended <em class="em">length</em> represents the size of the <em class="em">payload</em>.</li>
+                <li>The recommended <em class="em">part</em> represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.</li>
+                <li>The recommended <em class="em">total</em> represents the total number of parts representing a complete data transmitted across multiple payloads.</li>
+                <li>The recommended <em class="em">status</em> represents status codes (such as success or failure) and multiple.</li>
+                <li>The Content for the recommended <em class="em">length</em> and <em class="em">status</em> are positive whole numbers (including zero) that may be in <em class="em">binary</em>, <em class="em">octal</em>, <em class="em">decimal</em>, <em class="em">duodecimal</em>, or <em class="em">hexidecimal</em> numerical format.</li>
               </ul>
               <p>
-                The <em>payload</em>:
+                The <em class="em">payload</em>:
               </p>
               <ul>
-                <li>The <em>payload</em>'s Content may contain anything, including raw binary data.</li>
-                <li>The <em>payload</em> is <em>required</em> to be the last list Object in the file.</li>
-                <li>The <em>payload</em> is recommended to have its size designated in some manner in the <em>header</em> (such as with the recommended <em>length</em>).</li>
-                <li>The <em>payload</em> is terminated by the <abbr title="End of File">EOF</abbr> character or by the recommended <em>length</em> header.</li>
-                <li>The <em>payload</em> may be empty (length may be zero), but the list Object <em>payload</em> must still exist.</li>
-                <li>Nothing in the <em>payload</em> may be considered a valid list Object by the outer <code class="code">fss-0002 (Basic List)</code> and therefore escaping is unnecessary (No further processing by the outer <code class="code">fss-0002 (Basic List)</code> is allowed at this point).</li>
-                <li>Comments in the <em>payload</em> are not considered comments and are instead considered part of the payload, as-is.</li>
-                <li>Essentially, the <em>payload</em> should be treated as binary data embedded in a text file.</li>
+                <li>The <em class="em">payload</em>'s Content may contain anything, including raw binary data.</li>
+                <li>The <em class="em">payload</em> is <em class="em">required</em> to be the last list Object in the file.</li>
+                <li>The <em class="em">payload</em> is recommended to have its size designated in some manner in the <em class="em">header</em> (such as with the recommended <em class="em">length</em>).</li>
+                <li>The <em class="em">payload</em> is terminated by the <abbr title="End of File">EOF</abbr> character or by the recommended <em class="em">length</em> header.</li>
+                <li>The <em class="em">payload</em> may be empty (length may be zero), but the list Object <em class="em">payload</em> must still exist.</li>
+                <li>Nothing in the <em class="em">payload</em> may be considered a valid list Object by the outer <code class="code">fss-0002 (Basic List)</code> and therefore escaping is unnecessary (No further processing by the outer <code class="code">fss-0002 (Basic List)</code> is allowed at this point).</li>
+                <li>Comments in the <em class="em">payload</em> are not considered comments and are instead considered part of the payload, as-is.</li>
+                <li>Essentially, the <em class="em">payload</em> should be treated as binary data embedded in a text file.</li>
               </ul>
               <p>
-                The recommended <em>length</em> <em>header</em> Object used to designate the <em>payload</em> size does not necessarily have to be defined in the <em>header</em>.
-                That is to say, if the <em>payload</em> is expected to be of some pre-defined or static length then a length does not need to be provided in the <em>header</em>.
+                The recommended <em class="em">length</em> <em class="em">header</em> Object used to designate the <em class="em">payload</em> size does not necessarily have to be defined in the <em class="em">header</em>.
+                That is to say, if the <em class="em">payload</em> is expected to be of some pre-defined or static length then a length does not need to be provided in the <em class="em">header</em>.
               </p>
               <p>
-                The recommended <em>status</em> <em>header</em> Object may be a string, such as <code class="code">F_none</code>, or a positive whole number.
+                The recommended <em class="em">status</em> <em class="em">header</em> Object may be a string, such as <code class="code">F_none</code>, or a positive whole number.
                 What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent <abbr title="Featureless Linux Library">FLL</abbr> status code.
               </p>
               <ul>
-                <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code is a 16-bit digit whose first two high-order bits represent <em>error</em> and <em>warning</em> ( representing <em>signal</em>).</li>
+                <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code is a 16-bit digit whose first two high-order bits represent <em class="em">error</em> and <em class="em">warning</em> ( representing <em class="em">signal</em>).</li>
                 <li>The <abbr title="Featureless Linux Library">FLL</abbr> status code as a number is binary sensitive and may not be portable across binaries or systems.</li>
                 <li>For best portability, consider using status as a name string to ensure cross-system or cross-binary compatibility.</li>
               </ul>
index ca53710584c7ad63745aabc310926abfb0e7849e..3cb73f649ab48662424bc6a337d95e0c9e13398d 100644 (file)
               <p>
                 The Control Block is the first block in the packet and is considered endianless.
                 There exists only a single byte within the Control Block.
-                Regardless of the endianness of the packet, the leftmost bit is always the <em>string</em> or <em>binary</em> bit.
+                Regardless of the endianness of the packet, the leftmost bit is always the <em class="em">string</em> or <em class="em">binary</em> bit.
                 The second bit following that bit represents the endianness bit.
               </p>
               <p>
-                The <em>string</em> or <em>binary</em> bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
+                The <em class="em">string</em> or <em class="em">binary</em> bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
                 While the packet might be considered to be in string format, it is technically always in binary format due to the Control Block and Size Block.
-                This means that the bit designating the packet as a <em>string</em> packet or a <em>binary</em> packet is referring to whether or not the Payload Block is in <em>string</em> format or is in <em>binary</em> format.
+                This means that the bit designating the packet as a <em class="em">string</em> packet or a <em class="em">binary</em> packet is referring to whether or not the Payload Block is in <em class="em">string</em> format or is in <em class="em">binary</em> format.
               </p>
               <p>
                 The endianness bit designates whether or not the packet is in big endian or little endian format.
               <p>
                 The Payload Block is not defined by this standard of that that it exists and should be in <code class="code">fss-000e (Payload)</code> format.
                 The <code class="code">fss-000e (Payload)</code> may be represented in either string format or binary format.
-                The <code class="code">fss-000e (Payload)</code> may contain multiple <em>header</em>(s) but may only contain a single <em>payload</em>.
-                With this in mind, it is recommended that only a single <em>header</em> be supported in the Payload Block.
+                The <code class="code">fss-000e (Payload)</code> may contain multiple <em class="em">header</em>(s) but may only contain a single <em class="em">payload</em>.
+                With this in mind, it is recommended that only a single <em class="em">header</em> be supported in the Payload Block.
               </p>
               <p>
                 See the <a href="fll/specifications/fss/fss-000e.html" class="link">fss-000e (Payload)</a> specification for details on the syntax rules for the Payload Block.
index aba3156a3b340f83672e88c69cb512447882b77b..35d25a750c0971064cfabbb00a997c698220b884 100644 (file)
               <p>
                 The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
                 The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
-                The variable name is considered the <em>Object</em>.
-                The variable value is considered the <em>Content</em>.
+                The variable name is considered the <em class="em">Object</em>.
+                The variable value is considered the <em class="em">Content</em>.
               </p>
               <p>
                 The IKI format will use <code class="code">iki-0000</code> to represent an IKI with no explicitly defined vocabulary.
index b857e06bd0519a7cc92c94f4592ac8b849299567..d8c8dd82fc9ca34b92dd61f66559aae0a77dbdea 100644 (file)
               <p>
                 The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
                 The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
-                The variable name is considered the <em>Object</em>.
-                The variable value is considered the <em>Content</em>.
+                The variable name is considered the <em class="em">Object</em>.
+                The variable value is considered the <em class="em">Content</em>.
               </p>
               <p>
                 The IKI format will use <code class="code">iki-0000</code> to represent an IKI with no explicitly defined vocabulary.
index e17ec94f98380bda2ae5109bcfe768ead38f0f72..e537ef56a0b5b07f371cfbf928c3682645139af3 100644 (file)
@@ -91,7 +91,7 @@
                 Flexibility on interpretation is intended so that the context can be more fine-tuned and customized.
               </p>
               <p>
-                The taxonomy for the <em>context</em>, <em>define</em>, and <em>parameter</em> are intentionally not defined here and left open.
+                The taxonomy for the <em class="em">context</em>, <em class="em">define</em>, and <em class="em">parameter</em> are intentionally not defined here and left open.
                 One utilizing this should document the taxonomy for each of these as desired.
               </p>
               <p>
               <p>
                 The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
                 The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
-                The variable name is considered the <em>Object</em>.
-                The variable value is considered the <em>Content</em>.
+                The variable name is considered the <em class="em">Object</em>.
+                The variable value is considered the <em class="em">Content</em>.
               </p>
               <p>
                 The IKI format will use <code class="code">iki-0000</code> to represent an IKI with no explicitly defined vocabulary.
index 78120fe0c6efd55a005868b97d68b9bb5a0fadf2..a797d775f7c40b873a16e8177d4668b6d0af08de 100644 (file)
--- a/news.html
+++ b/news.html
                 This release should be more portable and testable.
               </p>
               <p class="p">
-                The <strong>BASH</strong> alternative <strong>ZSH</strong> is now supported by several scripts.
+                The <strong class="strong">BASH</strong> alternative <strong class="strong">ZSH</strong> is now supported by several scripts.
               </p>
               <p class="p">
                 Check out the project on the <a href="fll.html#release" class="link"><abbr title="Featureless Linux Library">FLL</abbr> release</a> page.
                 The Featureless Linux Library stable version 0.6.0 is released.
               </p>
               <p class="p">
-                The <strong>controller</strong> program is a re-interpretation of the <strong>Featureless Make</strong> program written in a more generalized fashion that is focused on performing a set of tasks.
-                This is very similar to a system initialize program such as <em>sysvinit</em>.
+                The <strong class="strong">controller</strong> program is a re-interpretation of the <strong class="strong">Featureless Make</strong> program written in a more generalized fashion that is focused on performing a set of tasks.
+                This is very similar to a system initialize program such as <em class="em">sysvinit</em>.
                 Support for running as a system initialize replacement is partially complete.
-                There is currently no way to send messages to the <strong>controller</strong> program to start and stop anything.
-                The <strong>control</strong> program, which is used to communicate to the <strong>controller</strong> program is also incomplete.
+                There is currently no way to send messages to the <strong class="strong">controller</strong> program to start and stop anything.
+                The <strong class="strong">control</strong> program, which is used to communicate to the <strong class="strong">controller</strong> program is also incomplete.
                 The next <abbr title="Featureless Linux Library">FLL</abbr> development version, the 0.7.0 series, will heavily focused on network protocols.
               </p>
               <p class="p">
-                The <strong>utf8</strong> program is a handy tool to convert from <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> characters to their Unicode value or vice-versa.
+                The <strong class="strong">utf8</strong> program is a handy tool to convert from <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> characters to their Unicode value or vice-versa.
                 This can convert entire files.
               </p>
               <p class="p">
-                <strong>Featureless Make</strong> has some major changes.
-                The <strong>fake</strong> program now accepts piped data, which must be a valid <em>fakefile</em>.
+                <strong class="strong">Featureless Make</strong> has some major changes.
+                The <strong class="strong">fake</strong> program now accepts piped data, which must be a valid <em class="em">fakefile</em>.
                 There are new Objects available for the <a href="documentation/fake/specifications/settings.html" class="link">build settings</a> and the <a href="documentation/fake/specifications/fakefile.html" class="link">fakefile</a>.
               </p>
               <p class="p">
                 This release is a release canditate for the stable version 0.6.0.
               </p>
               <p class="p">
-                Unit tests for all <em>level_0</em> projects now exists (except for f_type which is not planned to ever have unit tests).
+                Unit tests for all <em class="em">level_0</em> projects now exists (except for f_type which is not planned to ever have unit tests).
               </p>
               <p class="p">
                 Many problems and consistency issue have been identified by the written unit tests and fixed.
                 The unit tests, however, are neither complete nor thorough.
-                There are almost no unit tests for <em>level_1</em>, <em>level_2</em>, or <em>level_3</em> projects.
+                There are almost no unit tests for <em class="em">level_1</em>, <em class="em">level_2</em>, or <em class="em">level_3</em> projects.
               </p>
               <p class="p">
                 I noticed that the Unicode processing code is incomplete as of the 0.5.9 release.
                 When I first discovered I could have a phone that respects my freedom, my privacy, and my liberty, I was ecstatic. I don't have to be weigh down by horrible interfaces, horrible software, and horrible flexibility that other people like or otherwise think is a good idea. I would have the opportunity to tweak and adjust the ideas as I see fit within my own personal tolerances and willingness to put the effort in.
               </p>
               <p class="p">
-                I supported several phones over years, such as the <strong>OpenMoko Freerunner</strong>, an embarrassing failure in the community to the leap forward pioneered by the <strong>Unbuntu Aquaris</strong>. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The <strong>Librem5</strong> from <a href="https://puri.sm/" class="link external">Purism</a> has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
+                I supported several phones over years, such as the <strong class="strong">OpenMoko Freerunner</strong>, an embarrassing failure in the community to the leap forward pioneered by the <strong class="strong">Unbuntu Aquaris</strong>. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The <strong class="strong">Librem5</strong> from <a href="https://puri.sm/" class="link external">Purism</a> has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
               </p>
               <p class="p">
-                I finally have my <strong>Librem5</strong>. I have had to quite painfully, if not patiently, wait for my phone to actually be shipped years late (due to global economic situations). This is my review after having used the phone with respect to the other open-source phones I have used, namely the <strong>Pinephone</strong> from <a href="https://www.pine64.org/" class="link external">Pine64</a>. I have discovered good things, bad things, horrible things, and great things about this phone.
+                I finally have my <strong class="strong">Librem5</strong>. I have had to quite painfully, if not patiently, wait for my phone to actually be shipped years late (due to global economic situations). This is my review after having used the phone with respect to the other open-source phones I have used, namely the <strong class="strong">Pinephone</strong> from <a href="https://www.pine64.org/" class="link external">Pine64</a>. I have discovered good things, bad things, horrible things, and great things about this phone.
               </p>
               <p class="p">
                 <a id="2022_06_04-librem_to_freedom-more" href="news/2022_06_04-librem_to_freedom.html" class="content link" aria-labelledby="2022_06_04-librem_to_freedom-more 2022_06_04-librem_to_freedom-title">Continue reading…</a>
                 Update the website, bringing in my initial pass at the documentation for each of the programs provided by the <abbr title="Featureless Linux Library">FLL</abbr> project. Most of this documentation is copied from the help of each program and any improvements or deviations are incidental.
               </p>
               <p class="p">
-                While working on the documentation, I discovered and fixed random problems. In particular, the <strong>iki_read</strong> program in the release candidate has a major regression where it doesn't do anything. This is the result of a very minor mistake in passing the wrong size variable to the file read functions. Essentially, the <strong>iki_read</strong> program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
+                While working on the documentation, I discovered and fixed random problems. In particular, the <strong class="strong">iki_read</strong> program in the release candidate has a major regression where it doesn't do anything. This is the result of a very minor mistake in passing the wrong size variable to the file read functions. Essentially, the <strong class="strong">iki_read</strong> program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
               </p>
               <p class="p">
                 <a id="2022_05_06-basic_program_documentation-more" href="news/2022_05_06-basic_program_documentation.html" class="content link" aria-labelledby="2022_05_06-basic_program_documentation-more 2022_05_06-basic_program_documentation-title">Continue reading…</a>
index fe83be9f4f7bfaf22c1a1a63440b1556dbdaec3f..9c6223048ce8934d717b63cf275ff159c37f57e3 100644 (file)
@@ -89,7 +89,7 @@
               I also plan on sending out more communications, but I have yet to figure out when and how often I shall do this.
             <p class="p">
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index e0704a61dcbe21f6e29e0cd9df86a9a17c678c5c..94a82bb1b5773b4dd44b35f1f646d642cb1b8818 100644 (file)
@@ -74,7 +74,7 @@
               Update the website, bringing in my initial pass at the documentation for each of the programs provided by the <abbr title="Featureless Linux Library">FLL</abbr> project. Most of this documentation is copied from the help of each program and any improvements or deviations are incidental.
             </p>
             <p class="p">
-              While working on the documentation, I discovered and fixed random problems. In particular, the <strong>iki_read</strong> program in the release candidate has a major regression where it doesn't do anything. This is the result of a very minor mistake in passing the wrong size variable to the file read functions. Essentially, the <strong>iki_read</strong> program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
+              While working on the documentation, I discovered and fixed random problems. In particular, the <strong class="strong">iki_read</strong> program in the release candidate has a major regression where it doesn't do anything. This is the result of a very minor mistake in passing the wrong size variable to the file read functions. Essentially, the <strong class="strong">iki_read</strong> program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
             </p>
             <p class="p">
               The website has been updated with an appropriate <code class="code">.htaccess</code> file to better handle paths. I even decided to further emphasize the retro-internet feel by redirecting directory paths to html files, if they exist. I imagine this may annoy some of the people out there. Minor problems here and there have been addressed as I discovered them.
               This website is also designed to be fully downloadable and readable locally (and even offline). Whenever I have notable changes on the website, I will update the downloadable tarball of this website.
             </p>
             <p class="p">
-              A <em>Source Code</em> link has been added on the index page (the main news page) as a way for people who just want a fast way to get to the latest code.
+              A <em class="em">Source Code</em> link has been added on the index page (the main news page) as a way for people who just want a fast way to get to the latest code.
             </p>
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index 998409e67afbcbf0d6eacc0ab73583fa7389c931..c91a454a90b7c918f15ba9c5af7f0b5b974bf8eb 100644 (file)
@@ -86,7 +86,7 @@
               I have also added an informal definition of my <a href="fll/specifications.html#completeness_theorem" class="link">Completeness Theorem</a> that I always used for just about all of my personal work. This has been in use by the <abbr title="Featureless Linux Library">FLL</abbr> since I first started working on it. I believe that I just never formally (or informally) wrote down my theory (I believe that the concepts for this were touched on in my thesis).
             </p>
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index cd8bcfe2490a43ab671a442c43252fff67c9de76..3a36962135af1d24a10eb97fe20c231303d9725a 100644 (file)
                   When I first discovered I could have a phone that respects my freedom, my privacy, and my liberty, I was ecstatic. I don't have to be weigh down by horrible interfaces, horrible software, and horrible flexibility that other people like or otherwise think is a good idea. I would have the opportunity to tweak and adjust the ideas as I see fit within my own personal tolerances and willingness to put the effort in.
                 </p>
                 <p class="p">
-                  I supported several phones over years, such as the <strong>OpenMoko Freerunner</strong>, an embarrassing failure in the community to the leap forward pioneered by the <strong>Unbuntu Aquaris</strong>. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The <strong>Librem5</strong> from <a href="https://puri.sm/" class="link external">Purism</a> has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
+                  I supported several phones over years, such as the <strong class="strong">OpenMoko Freerunner</strong>, an embarrassing failure in the community to the leap forward pioneered by the <strong class="strong">Unbuntu Aquaris</strong>. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The <strong class="strong">Librem5</strong> from <a href="https://puri.sm/" class="link external">Purism</a> has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
                 </p>
                 <p class="p">
-                  I finally have my <strong>Librem5</strong>. I have had to quite painfully, if not patiently, wait for my phone to actually be shipped years late (due to global economic situations). This is my review after having used the phone with respect to the other open-source phones I have used, namely the <strong>Pinephone</strong> from <a href="https://www.pine64.org/" class="link external">Pine64</a>. I have discovered good things, bad things, horrible things, and great things about this phone.
+                  I finally have my <strong class="strong">Librem5</strong>. I have had to quite painfully, if not patiently, wait for my phone to actually be shipped years late (due to global economic situations). This is my review after having used the phone with respect to the other open-source phones I have used, namely the <strong class="strong">Pinephone</strong> from <a href="https://www.pine64.org/" class="link external">Pine64</a>. I have discovered good things, bad things, horrible things, and great things about this phone.
                 </p>
                 <p class="p">
-                  The <strong>Pinephone</strong> that I have uses mostly the same software as the <strong>Librem5</strong>. This offers a great comparison. However, much of this software is actually by the <a href="https://puri.sm/" class="link external">Purism</a>. The resulting differences are primarily, but not mostly, the hardware differences.
+                  The <strong class="strong">Pinephone</strong> that I have uses mostly the same software as the <strong class="strong">Librem5</strong>. This offers a great comparison. However, much of this software is actually by the <a href="https://puri.sm/" class="link external">Purism</a>. The resulting differences are primarily, but not mostly, the hardware differences.
                 </p>
               </div>
             </section>
 
               <div class="section-content">
                 <p class="p">
-                  I received the <strong>Librem5</strong> phone, charged it up, and then powered it on. The first thing I encountered was the disk encryption. The default password is easy to guess and I did not have to look up documentation to figure it out. I am already familiar with the interface thanks to having installed it onto the <strong>Pinephone</strong>. Most of the software looked the same, except for the camera. I will discuss more on the camera program later on in this document.
+                  I received the <strong class="strong">Librem5</strong> phone, charged it up, and then powered it on. The first thing I encountered was the disk encryption. The default password is easy to guess and I did not have to look up documentation to figure it out. I am already familiar with the interface thanks to having installed it onto the <strong class="strong">Pinephone</strong>. Most of the software looked the same, except for the camera. I will discuss more on the camera program later on in this document.
                 </p>
                 <img src="images/news/2022_06_04/01-unboxed-400.png" alt="Librem5 phone, manual, and box." title="Unboxed phone." class="image content right margin-1rem">
                 <p class="p">
-                  First things first, I need to change the user name and the encryption keys. I've never bothered with this on the <strong>Pinephone</strong> and I do not know how different doing this on the <strong>Pinephone</strong> will be. As for the <strong>Librem5</strong> phone, I found changing the user name did not actually change the user name. The problem is that what I call the user name is the system account name. What the <strong>Librem5</strong> calls the user name is the displayed account name. Fair enough.
+                  First things first, I need to change the user name and the encryption keys. I've never bothered with this on the <strong class="strong">Pinephone</strong> and I do not know how different doing this on the <strong class="strong">Pinephone</strong> will be. As for the <strong class="strong">Librem5</strong> phone, I found changing the user name did not actually change the user name. The problem is that what I call the user name is the system account name. What the <strong class="strong">Librem5</strong> calls the user name is the displayed account name. Fair enough.
                 </p>
                 <div class="tip">
-                  I recommend backing up your <code class="code">contacts.db</code> file. This file should appear after you first start and configure the <em>Contacts</em> program. The <code class="code">contacts.db</code> file can be located by using the following command on the command line from your home directory:
+                  I recommend backing up your <code class="code">contacts.db</code> file. This file should appear after you first start and configure the <em class="em">Contacts</em> program. The <code class="code">contacts.db</code> file can be located by using the following command on the command line from your home directory:
                   <samp class="code terminal"># find -name contacts.db</samp>
                 </div>
                 <p class="p">
                   I rename the user, changing the home directory, updating the <code class="code">/etc/passwd</code>, <code class="code">/etc/group</code>, <code class="code">/etc/shadow</code>, and several other account related files.
                 </p>
                 <p class="p">
-                  I rebooted the <strong>Librem5</strong> phone and it failed to boot. Some part of the boot process is picky about the default name. I found that there is a <a href="https://github.com/dreemurrs-embedded/Jumpdrive" class="link external">Jumpdrive</a> program that allows me to boot the phone and expose the disk to another computer. <a href="https://puri.sm/" class="link external">Purism</a> actually provides their own special project, called <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a> for making this amazingly simple. These two tools when combined are amazing. I've never had an easier time accessing a phone over <abbr title="Universal Serial Bus">USB</abbr>. I could access all files on a different machine as if it were a local disk drive.
+                  I rebooted the <strong class="strong">Librem5</strong> phone and it failed to boot. Some part of the boot process is picky about the default name. I found that there is a <a href="https://github.com/dreemurrs-embedded/Jumpdrive" class="link external">Jumpdrive</a> program that allows me to boot the phone and expose the disk to another computer. <a href="https://puri.sm/" class="link external">Purism</a> actually provides their own special project, called <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a> for making this amazingly simple. These two tools when combined are amazing. I've never had an easier time accessing a phone over <abbr title="Universal Serial Bus">USB</abbr>. I could access all files on a different machine as if it were a local disk drive.
                 </p>
                 <p class="p">
-                  The <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a> documentation could be improved because the default configuration installs without full disk encryption. I had to re-flash the <strong>Librem5</strong> phone again once I discovered it to be unencrypted. The partition also had to be resized but thanks to the amazingly well designed software (the <a href="https://github.com/dreemurrs-embedded/Jumpdrive" class="link external">Jumpdrive</a> program and the <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a>) I could just open up a graphical partition and easily fix this.
+                  The <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a> documentation could be improved because the default configuration installs without full disk encryption. I had to re-flash the <strong class="strong">Librem5</strong> phone again once I discovered it to be unencrypted. The partition also had to be resized but thanks to the amazingly well designed software (the <a href="https://github.com/dreemurrs-embedded/Jumpdrive" class="link external">Jumpdrive</a> program and the <a href="https://source.puri.sm/Librem5/librem5-flash-image" class="link external">Librem5 Flash Image</a>) I could just open up a graphical partition and easily fix this.
                 </p>
                 <p class="p">
                   I now had easy access to all files on the disk. I found and fixed several of the situations related to the user name change. I also edited the <code class="code">/etc/fstab</code> file to ensure that the filesystem is mounted as <code class="code">noatime</code>.
 
               <div class="section-content">
                 <p class="p">
-                  While waiting an excessively long time to get my phone I have been hearing things about the battery. In my personal experience the battery life is closely comparable to the <strong>Pinephone</strong>. Both the <strong>Librem5</strong> and the <strong>Pinephone</strong> have had problems with the batter life being short. These have both been fixed from a state of horrible to a state of acceptable by the use of software driver improvements. When I first received my <strong>Librem5</strong> phone, the batter life was short. This short life was solved by a simple software update and phone reboot.
+                  While waiting an excessively long time to get my phone I have been hearing things about the battery. In my personal experience the battery life is closely comparable to the <strong class="strong">Pinephone</strong>. Both the <strong class="strong">Librem5</strong> and the <strong class="strong">Pinephone</strong> have had problems with the batter life being short. These have both been fixed from a state of horrible to a state of acceptable by the use of software driver improvements. When I first received my <strong class="strong">Librem5</strong> phone, the batter life was short. This short life was solved by a simple software update and phone reboot.
                 </p>
                 <p class="p">
-                  In physical terms, the <strong>Librem5</strong> is a lot easier to remove than the battery from the <strong>Pinephone</strong>. The batter in the <strong>Librem5</strong> is significantly larger than the battery in the <strong>Pinephone</strong>. I suspect they may last about the same amount of time but I have not bothered to test this.
+                  In physical terms, the <strong class="strong">Librem5</strong> is a lot easier to remove than the battery from the <strong class="strong">Pinephone</strong>. The batter in the <strong class="strong">Librem5</strong> is significantly larger than the battery in the <strong class="strong">Pinephone</strong>. I suspect they may last about the same amount of time but I have not bothered to test this.
                 </p>
                 <p class="p">
-                  Both the <strong>Librem5</strong> and the <strong>Pinephone</strong> support suspend and it works well on both. The user interface could use some significant improvement by allowing me to specify when to suspend rather than use some pre-configured set. In fact, I want a program to call just to automatically suspend when I say rather than on some schedule.
+                  Both the <strong class="strong">Librem5</strong> and the <strong class="strong">Pinephone</strong> support suspend and it works well on both. The user interface could use some significant improvement by allowing me to specify when to suspend rather than use some pre-configured set. In fact, I want a program to call just to automatically suspend when I say rather than on some schedule.
                 </p>
               </div>
 
                   This deserves its own section separate from the battery. The provided charger seems cool. The charger looks cool. It is horrible, at least for American standard outlets. The flip switch is nice except that it wobbles and the connectors seem a little short. This results in sparks flying out of the socket. This charger is a fire hazard. The best position is with the part that collapsed opposite to gravity and it seems to work. If you accidentally touch or move the cable you can set off sparks and cause the connection to repeatedly disconnect and connect.
                 </p>
                 <p class="p">
-                  To make matters worse, the <strong>Librem5</strong> documentation states that you must only use the charger provided by <strong>Librem5</strong>. You know, the fire hazard charger. Not going to happen. I went to a local store and got a 25 Watt power adapter that supports <abbr title="Programmable Power Supply">PPS</abbr> (the <strong>Librem5</strong> uses <abbr title="Programmable Power Supply">PPS</abbr>).
+                  To make matters worse, the <strong class="strong">Librem5</strong> documentation states that you must only use the charger provided by <strong class="strong">Librem5</strong>. You know, the fire hazard charger. Not going to happen. I went to a local store and got a 25 Watt power adapter that supports <abbr title="Programmable Power Supply">PPS</abbr> (the <strong class="strong">Librem5</strong> uses <abbr title="Programmable Power Supply">PPS</abbr>).
                 </p>
                 <p class="p">
-                  Unlike the <strong>Pinephone</strong>, I have found the <strong>Librem5</strong> requires more power to charge. A higher end power adapter like the ones marketed for high Wattage are recommended. I found that I can charge the <strong>Librem5</strong> using a cheap low Amperage (low Wattage) adapter only when the phone is off.
+                  Unlike the <strong class="strong">Pinephone</strong>, I have found the <strong class="strong">Librem5</strong> requires more power to charge. A higher end power adapter like the ones marketed for high Wattage are recommended. I found that I can charge the <strong class="strong">Librem5</strong> using a cheap low Amperage (low Wattage) adapter only when the phone is off.
                 </p>
                 <p class="p">
-                  The <strong>Librem5</strong> only gets hot from charger when using one of these high powered chargers. I tested the <strong>Pinephone</strong> with the same adapter and found it also gets hot. I suspect the heating is more of a matter of the physics of the speed of the charge rather than a matter of the physics of the heat diffusion. I tested the <strong>Librem5</strong> with a cheap low Amperage (low Wattage) adapter and found that the phone did not get significantly or otherwise noticeably hot.
+                  The <strong class="strong">Librem5</strong> only gets hot from charger when using one of these high powered chargers. I tested the <strong class="strong">Pinephone</strong> with the same adapter and found it also gets hot. I suspect the heating is more of a matter of the physics of the speed of the charge rather than a matter of the physics of the heat diffusion. I tested the <strong class="strong">Librem5</strong> with a cheap low Amperage (low Wattage) adapter and found that the phone did not get significantly or otherwise noticeably hot.
                 </p>
               </div>
             </section>
                   I consider the camera embarrassing. The light sensitivity does not work properly. The camera program is clearly marked as developmental. I have to have a spotlight in on the target for the phone to get enough light to render anything on the screen. I believe the problem is a software problem. This is good news. Either a driver or a software update will fix the problem.
                 </p>
                 <p class="p">
-                  The <strong>Pinephone</strong> camera works reasonably well. Early on, the <strong>Pinephone</strong> had pathetic camera support as well and with software improvements the camera became usable. The <strong>Librem5</strong> uses a modified version of the <code class="code">megapixels</code> program. I attempted to install the original, unmodified version of <code class="code">megapixels</code> and very quickly realized doing so is a bad idea. I did not go past the <em>"Are you Sure?"</em> part.
+                  The <strong class="strong">Pinephone</strong> camera works reasonably well. Early on, the <strong class="strong">Pinephone</strong> had pathetic camera support as well and with software improvements the camera became usable. The <strong class="strong">Librem5</strong> uses a modified version of the <code class="code">megapixels</code> program. I attempted to install the original, unmodified version of <code class="code">megapixels</code> and very quickly realized doing so is a bad idea. I did not go past the <em class="em">"Are you Sure?"</em> part.
                 </p>
                 <div class="tip">
-                  I recommend never attempting to install the original <code class="code">megapixels</code> program on the <strong>Librem5</strong>. The entire set of <strong>Librem5</strong> specific software is a knot of required dependencies. This would likely uninstall everything custom tailored to make the <strong>Librem5</strong> work well. Most package managers lack the necessary logic to have real custom installs. I believe these package mangers should all abandon hard dependencies and instead use soft dependencies. If you still decide to go ahead with installing the <code class="code">megapixels</code> program, then good luck and be prepared to completely re-install your phone.
+                  I recommend never attempting to install the original <code class="code">megapixels</code> program on the <strong class="strong">Librem5</strong>. The entire set of <strong class="strong">Librem5</strong> specific software is a knot of required dependencies. This would likely uninstall everything custom tailored to make the <strong class="strong">Librem5</strong> work well. Most package managers lack the necessary logic to have real custom installs. I believe these package mangers should all abandon hard dependencies and instead use soft dependencies. If you still decide to go ahead with installing the <code class="code">megapixels</code> program, then good luck and be prepared to completely re-install your phone.
                 </div>
                 <p class="p">
-                  Maybe in a few months from now an update will result in a fully working <strong>Librem5</strong> camera. Until then, the <strong>Pinephone</strong> wins hands down when it comes to the camera.
+                  Maybe in a few months from now an update will result in a fully working <strong class="strong">Librem5</strong> camera. Until then, the <strong class="strong">Pinephone</strong> wins hands down when it comes to the camera.
                 </p>
               </div>
 
 
                 <div class="subsection-content">
                   <p class="p">
-                    I have discovered that the camera has buttons that simple do not appear as buttons to me. I am able to use these buttons to change the settings and make the camera picture usable. Changing these settings is not preserved. There is still some room for improvement but this is still great news. The camera is not as bad as I initially thought. Check out <a href="https://social.librem.one/tags/shotonlibrem5" class="link external">the "Shot on Librem" Librem Social board</a> for pictures taken by numerous owners of the <strong>Librem5</strong> phone. There is also <a href="https://forums.puri.sm/t/using-megapixels-to-make-photographs/14842" class="link external">a forum page about using Megapixels to make photographs</a>.
+                    I have discovered that the camera has buttons that simple do not appear as buttons to me. I am able to use these buttons to change the settings and make the camera picture usable. Changing these settings is not preserved. There is still some room for improvement but this is still great news. The camera is not as bad as I initially thought. Check out <a href="https://social.librem.one/tags/shotonlibrem5" class="link external">the "Shot on Librem" Librem Social board</a> for pictures taken by numerous owners of the <strong class="strong">Librem5</strong> phone. There is also <a href="https://forums.puri.sm/t/using-megapixels-to-make-photographs/14842" class="link external">a forum page about using Megapixels to make photographs</a>.
                   </p>
                 </div>
               </section>
 
               <div class="section-content">
                 <p class="p">
-                  This is a specialty of the <strong>Librem5</strong> that I have not notice in other phones. The card works great, you just push it in and then go. Follow the instructions to install the correct software, and the card should work.
+                  This is a specialty of the <strong class="strong">Librem5</strong> that I have not notice in other phones. The card works great, you just push it in and then go. Follow the instructions to install the correct software, and the card should work.
                 </p>
                 <p class="p">
-                  If you play with the card, like I do, however, you may run into some problems. I decided to change the <em>admin PIN</em> using the <code class="code">gpg</code> program. I select the change <abbr title="Personal Identification Number">PIN</abbr>. As I was typing the old <abbr title="Personal Identification Number">PIN</abbr> it suddenly went to another prompt before I hit enter. I thought maybe I accidentally hit enter. I then entered in the new <abbr title="Personal Identification Number">PIN</abbr>. The program then asked for confirmation and I re-entered the <abbr title="Personal Identification Number">PIN</abbr>. This gave me the impression that the <abbr title="Personal Identification Number">PIN</abbr> was properly changed. The <code class="code">gpg</code> did something wrong. I typed in the <abbr title="Personal Identification Number">PIN</abbr> and it had a problem. I again figured I hit a wrong key on this atrocious keyboard and tried again. Come to find out they have an insanely short permanent lock out after three tries. I bricked the card.
+                  If you play with the card, like I do, however, you may run into some problems. I decided to change the <em class="em">admin PIN</em> using the <code class="code">gpg</code> program. I select the change <abbr title="Personal Identification Number">PIN</abbr>. As I was typing the old <abbr title="Personal Identification Number">PIN</abbr> it suddenly went to another prompt before I hit enter. I thought maybe I accidentally hit enter. I then entered in the new <abbr title="Personal Identification Number">PIN</abbr>. The program then asked for confirmation and I re-entered the <abbr title="Personal Identification Number">PIN</abbr>. This gave me the impression that the <abbr title="Personal Identification Number">PIN</abbr> was properly changed. The <code class="code">gpg</code> did something wrong. I typed in the <abbr title="Personal Identification Number">PIN</abbr> and it had a problem. I again figured I hit a wrong key on this atrocious keyboard and tried again. Come to find out they have an insanely short permanent lock out after three tries. I bricked the card.
                 </p>
                 <p class="p">
                   Not all is lost. There is a factory reset the destroys everything on the card. I found a way to perform the factory reset thanks to <a href="https://www.florian-wolters.de/posts/resetting-openpgp-smartcard/" class="link external">Florian Wolters</a>. With this factory reset code, you can never truly brick your card. The worst is that you lose the encryption keys. There are ways to back up the keys by creating them outside of the card and importing them but this is not to be discussed in this document.
 
               <div class="section-content">
                 <p class="p">
-                  Phone calls work out of the box and I have had very few problems. In very rare occasions I have had the modem refuse to work. Rebooting the machine does not solve the problem where the modem refuses to work. I had to power off the mode and then power it back on to fix this problem. This is exceptionally easy thanks to the <strong>Librem5</strong> design.
+                  Phone calls work out of the box and I have had very few problems. In very rare occasions I have had the modem refuse to work. Rebooting the machine does not solve the problem where the modem refuses to work. I had to power off the mode and then power it back on to fix this problem. This is exceptionally easy thanks to the <strong class="strong">Librem5</strong> design.
                 </p>
                 <p class="p">
                   There appears to be built in <abbr title="Voice Over Internet Protocol">VoIP</abbr> support. I have not tried this but it should be interesting to see it work.
                   Normal text messages work fine out of the box. Sending a picture does not.
                 </p>
                 <p class="p">
-                  When I tried sending a picture as a test it appeared to work but the other end did not received the picture. The other end happens to be a <strong>Pinephone</strong>. The <strong>Pinephone</strong> has massive problems with sending and receiving pictures over text messages as well. That means that I do not have a reliable way to test this without bothering some third-party. And asking some less-tech savvy person to spend some time calling me back and forth to confirm or deny that they received or did not receive a text is not a good idea.
+                  When I tried sending a picture as a test it appeared to work but the other end did not received the picture. The other end happens to be a <strong class="strong">Pinephone</strong>. The <strong class="strong">Pinephone</strong> has massive problems with sending and receiving pictures over text messages as well. That means that I do not have a reliable way to test this without bothering some third-party. And asking some less-tech savvy person to spend some time calling me back and forth to confirm or deny that they received or did not receive a text is not a good idea.
                 </p>
                 <p class="p">
                   I didn't test further because of a big problem this exposed. Infinite messages! No matter how many times I delete the test messages they keep re-appearing. I checked the modem using the <code class="code">mmcli</code> program. This program does not make it easy to use the modem but as far as I can tell the message is not there. I checked the file-system and found chatty file database (I feel the strong urge to rant on the stupidity of an <abbr title="Structured Query Language">SQL</abbr> database for local file settings here). Deleting this database file deletes every text message except the one I want to get rid off.
 
               <div class="section-content">
                 <p class="p">
-                  The <strong>Librem5</strong> phone properly handles call and text message notification when the screen is off. This appears to work when the phone is in suspend as well. This is about the same as with the <strong>Pinephone</strong>.
+                  The <strong class="strong">Librem5</strong> phone properly handles call and text message notification when the screen is off. This appears to work when the phone is in suspend as well. This is about the same as with the <strong class="strong">Pinephone</strong>.
                 </p>
                 <p class="p">
-                  The power notification light on the <strong>Librem5</strong> is superior to that on the <strong>Pinephone</strong>. The light better communicates the state of the power and even will turn off after fully charged.
+                  The power notification light on the <strong class="strong">Librem5</strong> is superior to that on the <strong class="strong">Pinephone</strong>. The light better communicates the state of the power and even will turn off after fully charged.
                 </p>
               </div>
             </section>
 
               <div class="section-content">
                 <p class="p">
-                  The keyboard on the <strong>Librem5</strong> is horrible. I get the impression that the programmers, owners, or managers behind the <strong>Librem5</strong> are more akin to the new age phone scroll users rather than the more old school keyboard users. The <strong>Pinephone</strong> uses the same software and has the same horrible keyboard.
+                  The keyboard on the <strong class="strong">Librem5</strong> is horrible. I get the impression that the programmers, owners, or managers behind the <strong class="strong">Librem5</strong> are more akin to the new age phone scroll users rather than the more old school keyboard users. The <strong class="strong">Pinephone</strong> uses the same software and has the same horrible keyboard.
                 </p>
               </div>
             </section>
 
               <div class="section-content">
                 <p class="p">
-                  I have the fancy version of the original <strong>Pinephone</strong>. This version comes with a dock. The dock works well on the <strong>Librem5</strong> but only after I did a system update. I think there is more work to do because the Ethernet port is giving that special slow blink that indicates a hardware fault. More than likely a driver update is needed to fix this. If there is not some special souce code driver hack needed that the <strong>Pinephone</strong> uses then an eventual kernel update will get this working.
+                  I have the fancy version of the original <strong class="strong">Pinephone</strong>. This version comes with a dock. The dock works well on the <strong class="strong">Librem5</strong> but only after I did a system update. I think there is more work to do because the Ethernet port is giving that special slow blink that indicates a hardware fault. More than likely a driver update is needed to fix this. If there is not some special souce code driver hack needed that the <strong class="strong">Pinephone</strong> uses then an eventual kernel update will get this working.
                 </p>
               </div>
             </section>
 
               <div class="section-content">
                 <p class="p">
-                  The <strong>Librem5</strong> is in a bit of an awkward position. The <a href="https://puri.sm/" class="link external">Purism</a> company, from how things appear to me, are marketing towards a security towards an average person using software and tools from a highly technical field.
+                  The <strong class="strong">Librem5</strong> is in a bit of an awkward position. The <a href="https://puri.sm/" class="link external">Purism</a> company, from how things appear to me, are marketing towards a security towards an average person using software and tools from a highly technical field.
                 </p>
                 <p class="p">
                   The current day less-technical person compared to the traditional more-technical person have very different use cases. I have never owned one of these proprietary Android or Apple phones. Having said that, I believe that the interface is focused towards such an audience. I find such an interface tolerable but not very user-friendly.
                 </p>
                 <p class="p">
-                  I believe what the <strong>Librem5</strong> provides achieves this with the exception of pictures. This exception is so big, that I might better word this as calling it the rule rather than the exception. Taking, sending, and receiving pictures is the bread and butter of the average user out in the wild. The <strong>Librem5</strong> (and also the <strong>Pinephone</strong> for that matter) drops the ball on this. This is a major downside and I would argue is a requirement that should be immediately addressed, two years ago.
+                  I believe what the <strong class="strong">Librem5</strong> provides achieves this with the exception of pictures. This exception is so big, that I might better word this as calling it the rule rather than the exception. Taking, sending, and receiving pictures is the bread and butter of the average user out in the wild. The <strong class="strong">Librem5</strong> (and also the <strong class="strong">Pinephone</strong> for that matter) drops the ball on this. This is a major downside and I would argue is a requirement that should be immediately addressed, two years ago.
                 </p>
               </div>
             </section>
 
               <div class="section-content">
                 <p class="p">
-                  The switches. The <strong>Librem5</strong> has switches on the side of the phone to physically disconnect the modem, the wireless and Bluetooth, and the camera and microphone. This is a major selling point of this phone and the <strong>Librem5</strong> fully achieves this. The <strong>Pinephone</strong> of the falls short like comparing dust devil to a category 5 hurricane.
+                  The switches. The <strong class="strong">Librem5</strong> has switches on the side of the phone to physically disconnect the modem, the wireless and Bluetooth, and the camera and microphone. This is a major selling point of this phone and the <strong class="strong">Librem5</strong> fully achieves this. The <strong class="strong">Pinephone</strong> of the falls short like comparing dust devil to a category 5 hurricane.
                 </p>
                 <p class="p">
                   The switches are easy. They are also not easy to accidentally press. This is the product that I expected to get and I got it.
 
               <div class="section-content">
                 <p class="p">
-                  The one biggest advantage of the <strong>Librem5</strong> phone is the open-source design. I can install and I have installed numerous programs on the system. I have even installed my <abbr title="Featureless Linux Library">FLL</abbr> project and related programs onto it. No special or unusual action is needed. This is where the Ubuntu Aquaris fell short.
+                  The one biggest advantage of the <strong class="strong">Librem5</strong> phone is the open-source design. I can install and I have installed numerous programs on the system. I have even installed my <abbr title="Featureless Linux Library">FLL</abbr> project and related programs onto it. No special or unusual action is needed. This is where the Ubuntu Aquaris fell short.
                 </p>
                 <p class="p">
-                  I should not need a system with large amounts of <abbr title="Random Access Memory">RAM</abbr> (Gigabytes) to compile a single Megabyte program. The whole software design behind Ubuntu Aquaris, Android, and the Apple phones is not just embarrassingly bad, it is pathetic. Both the <strong>Librem5</strong> and the <strong>Pinephone</strong> don't suffer from the digital mental disorder.
+                  I should not need a system with large amounts of <abbr title="Random Access Memory">RAM</abbr> (Gigabytes) to compile a single Megabyte program. The whole software design behind Ubuntu Aquaris, Android, and the Apple phones is not just embarrassingly bad, it is pathetic. Both the <strong class="strong">Librem5</strong> and the <strong class="strong">Pinephone</strong> don't suffer from the digital mental disorder.
                 </p>
                 <p class="p">
-                  The open-firmware provided by the <strong>Librem5</strong> and the security it offers is truly a hidden gem. This is not something easily shown. Good security is often an unsung hero. Undoubtedly the <strong>Librem5</strong> will never truly get the good credit it deserves for the work and effort put into getting an open-firmware design up and running. The way this world currently is, this is an amazing feat. Truly amazing.
+                  The open-firmware provided by the <strong class="strong">Librem5</strong> and the security it offers is truly a hidden gem. This is not something easily shown. Good security is often an unsung hero. Undoubtedly the <strong class="strong">Librem5</strong> will never truly get the good credit it deserves for the work and effort put into getting an open-firmware design up and running. The way this world currently is, this is an amazing feat. Truly amazing.
                 </p>
               </div>
             </section>
               <div class="section-content">
                 <img src="images/news/2022_06_04/03-librem_pinephone-200.png" alt="A Librem5 phone lying against a Pinephone." title="Librem5 phone and Pinephone." class="image content right margin-1rem">
                 <p class="p">
-                  There are bad things about the <strong>Librem5</strong> phone. Things have fallen short. Some are the fault of the company. Some are the fault of the current state of the world. Others are the fault of an industry that does not want to sell to customers willing to pay.
+                  There are bad things about the <strong class="strong">Librem5</strong> phone. Things have fallen short. Some are the fault of the company. Some are the fault of the current state of the world. Others are the fault of an industry that does not want to sell to customers willing to pay.
                 </p>
                 <p class="p">
-                  I argue that <strong>Librem5</strong> has successfully navigated this mess and has thus far survived where all others failed. The Ubuntu Aquaris was defeated by both their Android-like development stack and the industry refusing to sell what Ubuntu needed.
+                  I argue that <strong class="strong">Librem5</strong> has successfully navigated this mess and has thus far survived where all others failed. The Ubuntu Aquaris was defeated by both their Android-like development stack and the industry refusing to sell what Ubuntu needed.
                 </p>
                 <p class="p">
                   The choice <a href="https://puri.sm/" class="link external">Purism</a> made to design their own hardware has been a gamble. I would argue that this gamble has been worth it. Yes, there are growing pains. I am not happy about some of these pains and I do fault them for their failures in this regard (especially in regards to pictures).
                 </p>
                 <p class="p">
-                  The <strong>Librem5</strong> phone is not ready for a regular user. Of course, none of the Linux phones have ever been in my experience. The <strong>Librem5</strong> is so close to being ready for a regular user that I can almost taste it (metaphorically of course). Give them a few months. Give them a year. By then I hope to see many of these problems I have described here to be resolved. Give them a few years and I expect they will be able to get a better hardware form factor to be more portable and sleek.
+                  The <strong class="strong">Librem5</strong> phone is not ready for a regular user. Of course, none of the Linux phones have ever been in my experience. The <strong class="strong">Librem5</strong> is so close to being ready for a regular user that I can almost taste it (metaphorically of course). Give them a few months. Give them a year. By then I hope to see many of these problems I have described here to be resolved. Give them a few years and I expect they will be able to get a better hardware form factor to be more portable and sleek.
                 </p>
                 <p class="p">
                   I can get just about any software on this phone. I can use this phone a desktop machine. I can use this phone as a portable radio or satellite communication device. I have only scratched the surface of what is already possible with the current design of this phone. No jails. No hacking. Just using.
                 </p>
                 <p class="p">
-                  I think <strong>Librem5</strong> has a chance to win. So long as they do not drop the ball. We are heading into a crazy future where the manufacturing and chipset is in a dire and bleak situation. If <a href="https://puri.sm/" class="link external">Purism</a> can withstand these trials then they will likely have the best phone on the market, despite these growing pains.
+                  I think <strong class="strong">Librem5</strong> has a chance to win. So long as they do not drop the ball. We are heading into a crazy future where the manufacturing and chipset is in a dire and bleak situation. If <a href="https://puri.sm/" class="link external">Purism</a> can withstand these trials then they will likely have the best phone on the market, despite these growing pains.
                 </p>
                 <p class="p">
-                  I have used several open-source phones. Phones like the <strong>OpenMoko Freerunner</strong>, I did not get want I wanted. Phones like the <strong>Aquaris Ubuntu</strong>, I almost got what I wanted and I accepted the situation. Phones like the <strong>Pinephone</strong>, I got a phone that provides no software and accepted that. With the <strong>Librem5</strong>, I got the phone that I wanted and expected.
+                  I have used several open-source phones. Phones like the <strong class="strong">OpenMoko Freerunner</strong>, I did not get want I wanted. Phones like the <strong class="strong">Aquaris Ubuntu</strong>, I almost got what I wanted and I accepted the situation. Phones like the <strong class="strong">Pinephone</strong>, I got a phone that provides no software and accepted that. With the <strong class="strong">Librem5</strong>, I got the phone that I wanted and expected.
                 </p>
               </div>
             </section>
 
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index b6a373749c785210c5e61755faefb2f8b9883983..38595ced65faec8e968bba65453a04885149d01d 100644 (file)
               The primary focus of the 0.5.10 release is for releasing the 0.6.0 stable release.
             </p>
             <p class="p">
-              Unit tests for all <em>level_0</em> projects now exists (except for f_type which is not planned to ever have unit tests).
+              Unit tests for all <em class="em">level_0</em> projects now exists (except for f_type which is not planned to ever have unit tests).
             </p>
             <p class="p">
               Many problems and consistency issue have been identified by the written unit tests and fixed.
               The unit tests, however, are neither complete nor thorough.
-              There are almost no unit tests for <em>level_1</em>, <em>level_2</em>, or <em>level_3</em> projects.
+              There are almost no unit tests for <em class="em">level_1</em>, <em class="em">level_2</em>, or <em class="em">level_3</em> projects.
             </p>
             <p class="p">
               I noticed that the Unicode processing code is incomplete as of the 0.5.9 release.
               There are now over 3000 unit tests for all code in this repository.
             </p>
             <p class="p">
-              <strong>Security Fixes:</strong>
+              <strong class="strong">Security Fixes:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Floating point exception due to incorrect number type used in conversion function.</li>
-              <li><strong>FLL</strong>: The realpath() calls malloc() and free() is not called (memory leak).</li>
-              <li><strong>FLL</strong>: Incorrect pointers result in incomplete memory deallocation in f_directory.</li>
-              <li><strong>Fake</strong>: Add missing NULL at the end of string.</li>
-              <li><strong>Fake</strong>: Add missing parameter checks and rename "data" to "custom".</li>
-              <li><strong>Fake</strong>: Wrong variable passed resulting in invalid read and writes in Fake.</li>
+              <li><strong class="strong">FLL</strong>: Floating point exception due to incorrect number type used in conversion function.</li>
+              <li><strong class="strong">FLL</strong>: The realpath() calls malloc() and free() is not called (memory leak).</li>
+              <li><strong class="strong">FLL</strong>: Incorrect pointers result in incomplete memory deallocation in f_directory.</li>
+              <li><strong class="strong">Fake</strong>: Add missing NULL at the end of string.</li>
+              <li><strong class="strong">Fake</strong>: Add missing parameter checks and rename "data" to "custom".</li>
+              <li><strong class="strong">Fake</strong>: Wrong variable passed resulting in invalid read and writes in Fake.</li>
             </ul>
             <p class="p">
-              <strong>Regression Fixes:</strong>
+              <strong class="strong">Regression Fixes:</strong>
             </p>
             <ul>
-              <li><strong>Controller</strong>: Remove invalid validation block.</li>
+              <li><strong class="strong">Controller</strong>: Remove invalid validation block.</li>
             </ul>
             <p class="p">
-              <strong>Features:</strong>
+              <strong class="strong">Features:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Provide simple script for assisting in the mass generation of Unicode handling code.</li>
-              <li><strong>FLL</strong>: Provide rebuild option in package script.</li>
-              <li><strong>IKI Read</strong>: The iki_read program should support wrapping a variable value.</li>
-              <li><strong>IKI Read</strong>: The iki_read program should support a more generalized substitution process called "replace".</li>
-              <li><strong>UTF8</strong>: Add missing functionality allowing the utf8 program to convert back to binary data with invalid codepoints.</li>
+              <li><strong class="strong">FLL</strong>: Provide simple script for assisting in the mass generation of Unicode handling code.</li>
+              <li><strong class="strong">FLL</strong>: Provide rebuild option in package script.</li>
+              <li><strong class="strong">IKI Read</strong>: The iki_read program should support wrapping a variable value.</li>
+              <li><strong class="strong">IKI Read</strong>: The iki_read program should support a more generalized substitution process called "replace".</li>
+              <li><strong class="strong">UTF8</strong>: Add missing functionality allowing the utf8 program to convert back to binary data with invalid codepoints.</li>
             </ul>
             <p class="p">
-              <strong>Bug Fixes:</strong>
+              <strong class="strong">Bug Fixes:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Signal code is not being set when accepted signal is received.</li>
-              <li><strong>FLL</strong>: Problems and clean ups exposed when writing f_thread unit tests.</li>
-              <li><strong>FLL</strong>: The < 0xc2 test is supposed to be against the first byte rather than the second.</li>
-              <li><strong>FLL</strong>: A typo resulting in treating < 0xc3 as invalid UTF-8 when it is instead < 0xc2.</li>
-              <li><strong>FLL</strong>: Add missing endianness check to f_convesion.</li>
-              <li><strong>FLL</strong>: Uppercase 'T' needs to be supported (fl_conversion).</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests in f_utf.</li>
-              <li><strong>FLL</strong>: Incorrect 4-width characters are generated.</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests for f_signal.</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests in f_file.</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests in f_conversion.</li>
-              <li><strong>FLL</strong>: When any of -c, -p, or -s is the last parameter in test.sh no error is thrown.</li>
-              <li><strong>FLL</strong>: Package building test failures do not properly fail.</li>
-              <li><strong>FLL</strong>: Fix problems exposed by unit tests in f_status.</li>
-              <li><strong>FLL</strong>: Incorrect variable used results in F_parameter error.</li>
-              <li><strong>FLL</strong>: The print functions are not printing the last letter in certain cases.</li>
-              <li><strong>FLL</strong>: Trimmed printing is not working as expected.</li>
-              <li><strong>FLL</strong>: Fix problems exposed by unit tests in f_print.</li>
-              <li><strong>FLL</strong>: The quotes are always being defined even when there are no quotes in the FSS read functions.</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests (f_socket).</li>
-              <li><strong>FLL</strong>: Remove extra zero from hex-digit (f_utf).</li>
-              <li><strong>FLL</strong>: Fix problems exposed by unit tests (fll_status_string).</li>
-              <li><strong>FLL</strong>: Problems exposed by unit tests and do some relevant code style clean up (f_execute).</li>
-              <li><strong>FLL</strong>: Add missing return value handling in f_fss.</li>
-              <li><strong>FLL</strong>: Incorrect and missing initializer macros in f_fss.</li>
-              <li><strong>FLL</strong>: The FSS object write functions don't handle all newlines.</li>
-              <li><strong>FLL</strong>: Fixes to f_path of problems exposed by unit tests.</li>
-              <li><strong>FLL</strong>: Invalid read in f_file_stream_read_until().</li>
-              <li><strong>FLL</strong>: NULL is a valid character, causing utf8 not to properly print NULL characters.</li>
-              <li><strong>FLL</strong>: The FILE type may not have a known storage size and use F_type_output_d.</li>
-              <li><strong>FLL</strong>: Problems in f_file functions exposed by unit tests.</li>
-              <li><strong>FLL</strong>: Problems in f_file regarding file mode exposed by unit tests.</li>
-              <li><strong>FLL</strong>: The f_file_is_at() function is not properly comparing the file type.</li>
-              <li><strong>FLL</strong>: Three-width UTF-8 characters are improperly being detected as unassigned.</li>
-              <li><strong>FLL</strong>: Unicode characters are not printing correctly.</li>
-              <li><strong>FLL</strong>: Fix problems exposed by f_file project tests.</li>
-              <li><strong>FLL</strong>: Memory handling related to or exposed by f_directory unit tests.</li>
-              <li><strong>FLL</strong>: Invalid memory deletion.</li>
-              <li><strong>FLL</strong>: For f_file, use off_t, pre-test for EOF or error, use sizeof(f_char_t), and use size_t rather than ssize_t.</li>
-              <li><strong>FLL</strong>: The f_capability should accept f_string_constant_t rather than f_string_static_t.</li>
-              <li><strong>Byte Dump</strong>: The byte_dump --first and --last are not always working as expected.</li>
-              <li><strong>Byte Dump</strong>: Trailing Unicode sequences that get cut off before the encoding is completed improperly display.</li>
-              <li><strong>Controller</strong>: Entry file not found when --settings is used.</li>
-              <li><strong>Controller</strong>: Incorrect rule name for controller boot settings file.</li>
-              <li><strong>Controller</strong>: When compiled as "init" the controller program does not use the correct paths.</li>
-              <li><strong>Fake</strong>: IKI variable substitution in fake doesn't always expand properly.</li>
-              <li><strong>Fake</strong>: Use '%Q' rather than '%S' when printing error.prefix and add missing error.prefix.</li>
-              <li><strong>Fake</strong>: Environment variables in fake are not being expanded.</li>
-              <li><strong>Fake</strong>: The fake program should not require the data directory when explicit fakefile or settings files are specified.</li>
-              <li><strong>Fake</strong>: Defaults should not be applied when an empty Object is specified.</li>
-              <li><strong>FSS Identify</strong>: The fss_identify needs the latest version of f_utf_is_digit().</li>
-              <li><strong>UTF8</strong>: Last character of file after conversion from code point is not printed by utf8 program.</li>
-              <li><strong>UTF8</strong>: Combining and Width detection for utf8 are not properly printing.</li>
+              <li><strong class="strong">FLL</strong>: Signal code is not being set when accepted signal is received.</li>
+              <li><strong class="strong">FLL</strong>: Problems and clean ups exposed when writing f_thread unit tests.</li>
+              <li><strong class="strong">FLL</strong>: The < 0xc2 test is supposed to be against the first byte rather than the second.</li>
+              <li><strong class="strong">FLL</strong>: A typo resulting in treating < 0xc3 as invalid UTF-8 when it is instead < 0xc2.</li>
+              <li><strong class="strong">FLL</strong>: Add missing endianness check to f_convesion.</li>
+              <li><strong class="strong">FLL</strong>: Uppercase 'T' needs to be supported (fl_conversion).</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests in f_utf.</li>
+              <li><strong class="strong">FLL</strong>: Incorrect 4-width characters are generated.</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests for f_signal.</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests in f_file.</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests in f_conversion.</li>
+              <li><strong class="strong">FLL</strong>: When any of -c, -p, or -s is the last parameter in test.sh no error is thrown.</li>
+              <li><strong class="strong">FLL</strong>: Package building test failures do not properly fail.</li>
+              <li><strong class="strong">FLL</strong>: Fix problems exposed by unit tests in f_status.</li>
+              <li><strong class="strong">FLL</strong>: Incorrect variable used results in F_parameter error.</li>
+              <li><strong class="strong">FLL</strong>: The print functions are not printing the last letter in certain cases.</li>
+              <li><strong class="strong">FLL</strong>: Trimmed printing is not working as expected.</li>
+              <li><strong class="strong">FLL</strong>: Fix problems exposed by unit tests in f_print.</li>
+              <li><strong class="strong">FLL</strong>: The quotes are always being defined even when there are no quotes in the FSS read functions.</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests (f_socket).</li>
+              <li><strong class="strong">FLL</strong>: Remove extra zero from hex-digit (f_utf).</li>
+              <li><strong class="strong">FLL</strong>: Fix problems exposed by unit tests (fll_status_string).</li>
+              <li><strong class="strong">FLL</strong>: Problems exposed by unit tests and do some relevant code style clean up (f_execute).</li>
+              <li><strong class="strong">FLL</strong>: Add missing return value handling in f_fss.</li>
+              <li><strong class="strong">FLL</strong>: Incorrect and missing initializer macros in f_fss.</li>
+              <li><strong class="strong">FLL</strong>: The FSS object write functions don't handle all newlines.</li>
+              <li><strong class="strong">FLL</strong>: Fixes to f_path of problems exposed by unit tests.</li>
+              <li><strong class="strong">FLL</strong>: Invalid read in f_file_stream_read_until().</li>
+              <li><strong class="strong">FLL</strong>: NULL is a valid character, causing utf8 not to properly print NULL characters.</li>
+              <li><strong class="strong">FLL</strong>: The FILE type may not have a known storage size and use F_type_output_d.</li>
+              <li><strong class="strong">FLL</strong>: Problems in f_file functions exposed by unit tests.</li>
+              <li><strong class="strong">FLL</strong>: Problems in f_file regarding file mode exposed by unit tests.</li>
+              <li><strong class="strong">FLL</strong>: The f_file_is_at() function is not properly comparing the file type.</li>
+              <li><strong class="strong">FLL</strong>: Three-width UTF-8 characters are improperly being detected as unassigned.</li>
+              <li><strong class="strong">FLL</strong>: Unicode characters are not printing correctly.</li>
+              <li><strong class="strong">FLL</strong>: Fix problems exposed by f_file project tests.</li>
+              <li><strong class="strong">FLL</strong>: Memory handling related to or exposed by f_directory unit tests.</li>
+              <li><strong class="strong">FLL</strong>: Invalid memory deletion.</li>
+              <li><strong class="strong">FLL</strong>: For f_file, use off_t, pre-test for EOF or error, use sizeof(f_char_t), and use size_t rather than ssize_t.</li>
+              <li><strong class="strong">FLL</strong>: The f_capability should accept f_string_constant_t rather than f_string_static_t.</li>
+              <li><strong class="strong">Byte Dump</strong>: The byte_dump --first and --last are not always working as expected.</li>
+              <li><strong class="strong">Byte Dump</strong>: Trailing Unicode sequences that get cut off before the encoding is completed improperly display.</li>
+              <li><strong class="strong">Controller</strong>: Entry file not found when --settings is used.</li>
+              <li><strong class="strong">Controller</strong>: Incorrect rule name for controller boot settings file.</li>
+              <li><strong class="strong">Controller</strong>: When compiled as "init" the controller program does not use the correct paths.</li>
+              <li><strong class="strong">Fake</strong>: IKI variable substitution in fake doesn't always expand properly.</li>
+              <li><strong class="strong">Fake</strong>: Use '%Q' rather than '%S' when printing error.prefix and add missing error.prefix.</li>
+              <li><strong class="strong">Fake</strong>: Environment variables in fake are not being expanded.</li>
+              <li><strong class="strong">Fake</strong>: The fake program should not require the data directory when explicit fakefile or settings files are specified.</li>
+              <li><strong class="strong">Fake</strong>: Defaults should not be applied when an empty Object is specified.</li>
+              <li><strong class="strong">FSS Identify</strong>: The fss_identify needs the latest version of f_utf_is_digit().</li>
+              <li><strong class="strong">UTF8</strong>: Last character of file after conversion from code point is not printed by utf8 program.</li>
+              <li><strong class="strong">UTF8</strong>: Combining and Width detection for utf8 are not properly printing.</li>
             </ul>
             <p class="p">
-              <strong>Updates:</strong>
+              <strong class="strong">Updates:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Improve design in f_conversion to be safer when handling variables allowed to be replaced.</li>
-              <li><strong>FLL</strong>: Example bootstrap script now supports building all programs.</li>
-              <li><strong>FLL</strong>: White space function changes.</li>
-              <li><strong>FLL</strong>: Use "decimal" instead of "digit" (f_conversion).</li>
-              <li><strong>FLL</strong>: The f_utf project regarding digits and perform other clean ups.</li>
-              <li><strong>FLL</strong>: Use a regular int instead of uint8_t for counting digit in conversion function.</li>
-              <li><strong>FLL</strong>: Add script for generating Unicode Codepoints from integers.</li>
-              <li><strong>FLL</strong>: Generate Unicode script to support generating test data.</li>
-              <li><strong>FLL</strong>: Finish adding Unicode symbol handling code.</li>
-              <li><strong>FLL</strong>: Rename f_thread_signal() to f_thread_signal_write().</li>
-              <li><strong>FLL</strong>: Implement Math Symbol Category.</li>
-              <li><strong>FLL</strong>: Handle more cases of combining characters following white space.</li>
-              <li><strong>FLL</strong>: Add Unicode Symbols for currency and modifiers and minor comment clean ups.</li>
-              <li><strong>FLL</strong>: The f_utf punctuation codes.</li>
-              <li><strong>FLL</strong>: Tweak endiannes for f_utf_char_t.</li>
-              <li><strong>FLL</strong>: Use F_utf_not instead of F_utf and other resulting changes.</li>
-              <li><strong>FLL</strong>: Rewrite the f_serialize functions.</li>
-              <li><strong>FLL</strong>: The f_limit project is out of date.</li>
-              <li><strong>FLL</strong>: Add missing state.flag assignment in f_state_t_clear macro and fix syntax practice in initializer.</li>
-              <li><strong>FLL</strong>: Add missing function f_path_is_absolute() and fix existing f_path_is_*() functions.</li>
-              <li><strong>FLL</strong>: Utilize the state.flag to allow for fss read to not fail out on invalid UTF-8 code sequence and fix naming problems.</li>
-              <li><strong>FLL</strong>: Utilize the state.flag to allow for iki read to not fail out on invalid UTF-8 code sequence.</li>
-              <li><strong>FLL</strong>: The f_utf_is_* functions should be more specific on return state for F_failure.</li>
-              <li><strong>FLL</strong>: Add pictures of the Kohlrabi that I have decided to use to represent the FLL project.</li>
-              <li><strong>FLL</strong>: Remove unused code, cast (char) to (unsigned int) for array indexes, and fix bitwise problem.</li>
-              <li><strong>FLL</strong>: Add licenses to text files and clarify OSL text.</li>
-              <li><strong>FLL</strong>: Redesign f_file functions to not need struct stat passed and other improvements.</li>
-              <li><strong>FLL</strong>: Improve the logic for the read link f_file functions.</li>
-              <li><strong>FLL</strong>: Add missing checks to f_file_link_hard_at() and use F_file_descriptor.</li>
-              <li><strong>FLL</strong>: Implement file statistics flag enumeration, dereferencing/no-dereferencing, and also use F_stream_not.</li>
-              <li><strong>FLL</strong>: Simplify build settings files.</li>
-              <li><strong>All FSS Read Programs</strong>: Improve read program logic to allow for catching interrupts during file read.</li>
-              <li><strong>Controller</strong>: Add note about ulimit privileges potentially causes failure of example controller rules.</li>
-              <li><strong>Fake</strong>: Add additional checks just in case execution is attempted with both program name and arguments have no data.</li>
-              <li><strong>Fake</strong>: The featureless make should default to 'make' mode.</li>
-              <li><strong>Fake</strong>: The fake program should check file existence when clean is combined with another command like build or make.</li>
-              <li><strong>Fake</strong>: The fake "build" fakefile Object needs to support modes and fix a related bug.</li>
-              <li><strong>Fake</strong>: Use off_t instead of f_array_length_t to match uses in functions like f_file_size().</li>
-              <li><strong>Fake</strong>: The fake program should show the fakefile or setting being used when building.</li>
-              <li><strong>Fake</strong>: The example project build settings and fakefiles.</li>
-              <li><strong>FSS Embedded List Read</strong>: Remove extra error print in fss_embedded_list_read.</li>
-              <li><strong>IKI Write</strong>: Have iki_write use form-feed rather than end of line character for pipe input.</li>
+              <li><strong class="strong">FLL</strong>: Improve design in f_conversion to be safer when handling variables allowed to be replaced.</li>
+              <li><strong class="strong">FLL</strong>: Example bootstrap script now supports building all programs.</li>
+              <li><strong class="strong">FLL</strong>: White space function changes.</li>
+              <li><strong class="strong">FLL</strong>: Use "decimal" instead of "digit" (f_conversion).</li>
+              <li><strong class="strong">FLL</strong>: The f_utf project regarding digits and perform other clean ups.</li>
+              <li><strong class="strong">FLL</strong>: Use a regular int instead of uint8_t for counting digit in conversion function.</li>
+              <li><strong class="strong">FLL</strong>: Add script for generating Unicode Codepoints from integers.</li>
+              <li><strong class="strong">FLL</strong>: Generate Unicode script to support generating test data.</li>
+              <li><strong class="strong">FLL</strong>: Finish adding Unicode symbol handling code.</li>
+              <li><strong class="strong">FLL</strong>: Rename f_thread_signal() to f_thread_signal_write().</li>
+              <li><strong class="strong">FLL</strong>: Implement Math Symbol Category.</li>
+              <li><strong class="strong">FLL</strong>: Handle more cases of combining characters following white space.</li>
+              <li><strong class="strong">FLL</strong>: Add Unicode Symbols for currency and modifiers and minor comment clean ups.</li>
+              <li><strong class="strong">FLL</strong>: The f_utf punctuation codes.</li>
+              <li><strong class="strong">FLL</strong>: Tweak endiannes for f_utf_char_t.</li>
+              <li><strong class="strong">FLL</strong>: Use F_utf_not instead of F_utf and other resulting changes.</li>
+              <li><strong class="strong">FLL</strong>: Rewrite the f_serialize functions.</li>
+              <li><strong class="strong">FLL</strong>: The f_limit project is out of date.</li>
+              <li><strong class="strong">FLL</strong>: Add missing state.flag assignment in f_state_t_clear macro and fix syntax practice in initializer.</li>
+              <li><strong class="strong">FLL</strong>: Add missing function f_path_is_absolute() and fix existing f_path_is_*() functions.</li>
+              <li><strong class="strong">FLL</strong>: Utilize the state.flag to allow for fss read to not fail out on invalid UTF-8 code sequence and fix naming problems.</li>
+              <li><strong class="strong">FLL</strong>: Utilize the state.flag to allow for iki read to not fail out on invalid UTF-8 code sequence.</li>
+              <li><strong class="strong">FLL</strong>: The f_utf_is_* functions should be more specific on return state for F_failure.</li>
+              <li><strong class="strong">FLL</strong>: Add pictures of the Kohlrabi that I have decided to use to represent the FLL project.</li>
+              <li><strong class="strong">FLL</strong>: Remove unused code, cast (char) to (unsigned int) for array indexes, and fix bitwise problem.</li>
+              <li><strong class="strong">FLL</strong>: Add licenses to text files and clarify OSL text.</li>
+              <li><strong class="strong">FLL</strong>: Redesign f_file functions to not need struct stat passed and other improvements.</li>
+              <li><strong class="strong">FLL</strong>: Improve the logic for the read link f_file functions.</li>
+              <li><strong class="strong">FLL</strong>: Add missing checks to f_file_link_hard_at() and use F_file_descriptor.</li>
+              <li><strong class="strong">FLL</strong>: Implement file statistics flag enumeration, dereferencing/no-dereferencing, and also use F_stream_not.</li>
+              <li><strong class="strong">FLL</strong>: Simplify build settings files.</li>
+              <li><strong class="strong">All FSS Read Programs</strong>: Improve read program logic to allow for catching interrupts during file read.</li>
+              <li><strong class="strong">Controller</strong>: Add note about ulimit privileges potentially causes failure of example controller rules.</li>
+              <li><strong class="strong">Fake</strong>: Add additional checks just in case execution is attempted with both program name and arguments have no data.</li>
+              <li><strong class="strong">Fake</strong>: The featureless make should default to 'make' mode.</li>
+              <li><strong class="strong">Fake</strong>: The fake program should check file existence when clean is combined with another command like build or make.</li>
+              <li><strong class="strong">Fake</strong>: The fake "build" fakefile Object needs to support modes and fix a related bug.</li>
+              <li><strong class="strong">Fake</strong>: Use off_t instead of f_array_length_t to match uses in functions like f_file_size().</li>
+              <li><strong class="strong">Fake</strong>: The fake program should show the fakefile or setting being used when building.</li>
+              <li><strong class="strong">Fake</strong>: The example project build settings and fakefiles.</li>
+              <li><strong class="strong">FSS Embedded List Read</strong>: Remove extra error print in fss_embedded_list_read.</li>
+              <li><strong class="strong">IKI Write</strong>: Have iki_write use form-feed rather than end of line character for pipe input.</li>
             </ul>
             <p class="p">
               Check out the project on the <a href="fll.html#release" class="link"><abbr title="Featureless Linux Library">FLL</abbr> release</a> page.
             </p>
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index 916020067f7ec75a798ec1499355599c14a879f1..e3fdd06ea897e99dccc9a43fb8e8861e0f4ffaf5 100644 (file)
               <li>utf8</li>
             </ul>
             <p class="p">
-              Most notable of these programs are the <strong>controller</strong> program and the <strong>utf8</strong> program.
+              Most notable of these programs are the <strong class="strong">controller</strong> program and the <strong class="strong">utf8</strong> program.
             </p>
             <p class="p">
-              The <strong>controller</strong> program is a re-interpretation of the <strong>Featureless Make</strong> program written in a more generalized fashion that is focused on performing a set of tasks.
-              This is very similar to a system initialize program such as <em>sysvinit</em>.
+              The <strong class="strong">controller</strong> program is a re-interpretation of the <strong class="strong">Featureless Make</strong> program written in a more generalized fashion that is focused on performing a set of tasks.
+              This is very similar to a system initialize program such as <em class="em">sysvinit</em>.
               Support for running as a system initialize replacement is partially complete.
-              There is currently no way to send messages to the <strong>controller</strong> program to start and stop anything.
-              The <strong>control</strong> program, which is used to communicate to the <strong>controller</strong> program is also incomplete.
+              There is currently no way to send messages to the <strong class="strong">controller</strong> program to start and stop anything.
+              The <strong class="strong">control</strong> program, which is used to communicate to the <strong class="strong">controller</strong> program is also incomplete.
               The next <abbr title="Featureless Linux Library">FLL</abbr> development verrsion, the 0.7.0 series, will heavily focused on network protocols.
             </p>
             <p class="p">
-              The <strong>utf8</strong> program is a handy tool to convert from <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> characters to their Unicode value or vice-versa.
+              The <strong class="strong">utf8</strong> program is a handy tool to convert from <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> characters to their Unicode value or vice-versa.
               This can convert entire files.
             </p>
             <p class="p">
-              <strong>Featureless Make</strong> has some major changes.
-              The <strong>fake</strong> program now accepts piped data, which must be a valid <em>fakefile</em>.
+              <strong class="strong">Featureless Make</strong> has some major changes.
+              The <strong class="strong">fake</strong> program now accepts piped data, which must be a valid <em class="em">fakefile</em>.
               There are new Objects available for the <a href="documentation/fake/specifications/settings.html" class="link">build settings</a> and the <a href="documentation/fake/specifications/fakefile.html" class="link">fakefile</a>.
             </p>
             <p class="p">
-              The default behavior of <strong>Featureless Make</strong> is now more similar to the <em>GNU make</em> program.
+              The default behavior of <strong class="strong">Featureless Make</strong> is now more similar to the <em class="em">GNU make</em> program.
               When running <code class="code">fake</code> with no parameters, it will first search for a <code class="code">fakefile</code> in the current directory before checking for one at <code class="code">data/build/fakefile</code>.
               This is analogous to how running <code class="code">make</code> with no parameters will search for a <code class="code">Makefile</code> in the current directory.
             </p>
             <p class="p">
               A major improvement of this release is safer and more stable code.
               This is thanks to a massive amount of time and effort spent into writing unit tests.
-              The unit tests process is performed using the <strong>Featureless Make</strong> program.
+              The unit tests process is performed using the <strong class="strong">Featureless Make</strong> program.
               In addition to the unit tests, the static analyzer from GCC has been used to better identify and resolve problems.
             </p>
             <p class="p">
               The following are changes since the 0.5.10 development release.
             </p>
             <p class="p">
-              <strong>Security Fixes:</strong>
+              <strong class="strong">Security Fixes:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Environment value has invalid read in f_environment_set().</li>
-              <li><strong>FLL</strong>: Invalid read for formatted printing using partial ranges on a string.</li>
-              <li><strong>FLL</strong>: Invalid reads on NULL terminated strings with a max width greater than 1.</li>
-              <li><strong>Featureless Make</strong>: Invalid read when using -s/--settings.</li>
-              <li><strong>Featureless Make</strong>: Invalid read when processing not condition minimum value.</li>
-              <li><strong>Featureless Make</strong>: Invalid read when processing an empty fakefile.</li>
+              <li><strong class="strong">FLL</strong>: Environment value has invalid read in f_environment_set().</li>
+              <li><strong class="strong">FLL</strong>: Invalid read for formatted printing using partial ranges on a string.</li>
+              <li><strong class="strong">FLL</strong>: Invalid reads on NULL terminated strings with a max width greater than 1.</li>
+              <li><strong class="strong">Featureless Make</strong>: Invalid read when using -s/--settings.</li>
+              <li><strong class="strong">Featureless Make</strong>: Invalid read when processing not condition minimum value.</li>
+              <li><strong class="strong">Featureless Make</strong>: Invalid read when processing an empty fakefile.</li>
             </ul>
             <p class="p">
-              <strong>Features:</strong>
+              <strong class="strong">Features:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Add missing function f_environment_get_all().</li>
-              <li><strong>FLL</strong>: Add missing signal functions f_signal_action(), f_signal_pause(), and f_signal_suspend().</li>
-              <li><strong>FLL</strong>: Add support for +E/++error and change '+q' to '+Q'.</li>
-              <li><strong>Controller</strong>: Expose the "define" and "parameter" at the Entry and Exit level.</li>
-              <li><strong>Featureless Make</strong>: Now supports a piped fakefile.</li>
-              <li><strong>Featureless Make</strong>: Now supports the "write" operation.</li>
-              <li><strong>Featureless Make</strong>: Now supports to the "print" operation for escape sequences just like the "write" operation has.</li>
-              <li><strong>Featureless Make</strong>: Now supports the "top" parameter.</li>
-              <li><strong>Featureless Make</strong>: Now supports the "current" parameter.</li>
-              <li><strong>Featureless Make</strong>: Improve user experience by defaulting specified fakefile and build settings file to present working directory.</li>
+              <li><strong class="strong">FLL</strong>: Add missing function f_environment_get_all().</li>
+              <li><strong class="strong">FLL</strong>: Add missing signal functions f_signal_action(), f_signal_pause(), and f_signal_suspend().</li>
+              <li><strong class="strong">FLL</strong>: Add support for +E/++error and change '+q' to '+Q'.</li>
+              <li><strong class="strong">Controller</strong>: Expose the "define" and "parameter" at the Entry and Exit level.</li>
+              <li><strong class="strong">Featureless Make</strong>: Now supports a piped fakefile.</li>
+              <li><strong class="strong">Featureless Make</strong>: Now supports the "write" operation.</li>
+              <li><strong class="strong">Featureless Make</strong>: Now supports to the "print" operation for escape sequences just like the "write" operation has.</li>
+              <li><strong class="strong">Featureless Make</strong>: Now supports the "top" parameter.</li>
+              <li><strong class="strong">Featureless Make</strong>: Now supports the "current" parameter.</li>
+              <li><strong class="strong">Featureless Make</strong>: Improve user experience by defaulting specified fakefile and build settings file to present working directory.</li>
             </ul>
             <p class="p">
-              <strong>Bug Fixes:</strong>
+              <strong class="strong">Bug Fixes:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: IKI variables are incorrectly being processed when there is a non-IKI IKI-like string.</li>
-              <li><strong>FLL</strong>: Single quotes are not being properly detected in FSS Extended Read functions.</li>
-              <li><strong>FLL</strong>: private_f_file_open_at() has an incomplete set if ifdef conditions.</li>
-              <li><strong>Byte Dump</strong>: Parameter after either the -N or -W is being processed when it should not be.</li>
-              <li><strong>Controller</strong>: Incorrect information is printed on certain errors.</li>
-              <li><strong>Controller</strong>: Delimits are not being applied for IKI variables.</li>
-              <li><strong>Controller</strong>: "State is now ..." should not be printed when quiet is passed.</li>
-              <li><strong>Controller</strong>: Guarantee that the child processes are terminated.</li>
-              <li><strong>Controller</strong>: IKI substitution is incorrectly applied.</li>
-              <li><strong>Featureless Make</strong>: Condition blocks are still being processed when they should be skipped.</li>
-              <li><strong>Featureless Make</strong>: Empty strings improperly pass validation checks.</li>
-              <li><strong>Featureless Make</strong>: IKI variable substitution results in incorrect parameter structure.</li>
-              <li><strong>Featureless Make</strong>: Error verbosity is not being preserved.</li>
-              <li><strong>Featureless Make</strong>: Text is being incorrectly stripped out.</li>
-              <li><strong>Featureless Make</strong>: The copy operation doesn't work properly with trailing slashes.</li>
-              <li><strong>Featureless Make</strong>: Copy should destination should be the base name rather than the entire path.</li>
-              <li><strong>Featureless Make</strong>: Link operation is incorrect, support new link arguments, and clone, copy, and move operations failure problems.</li>
-              <li><strong>Featureless Make</strong>: Block is incorrectly being reset when an else condition precedes an if condition.</li>
+              <li><strong class="strong">FLL</strong>: IKI variables are incorrectly being processed when there is a non-IKI IKI-like string.</li>
+              <li><strong class="strong">FLL</strong>: Single quotes are not being properly detected in FSS Extended Read functions.</li>
+              <li><strong class="strong">FLL</strong>: private_f_file_open_at() has an incomplete set if ifdef conditions.</li>
+              <li><strong class="strong">Byte Dump</strong>: Parameter after either the -N or -W is being processed when it should not be.</li>
+              <li><strong class="strong">Controller</strong>: Incorrect information is printed on certain errors.</li>
+              <li><strong class="strong">Controller</strong>: Delimits are not being applied for IKI variables.</li>
+              <li><strong class="strong">Controller</strong>: "State is now ..." should not be printed when quiet is passed.</li>
+              <li><strong class="strong">Controller</strong>: Guarantee that the child processes are terminated.</li>
+              <li><strong class="strong">Controller</strong>: IKI substitution is incorrectly applied.</li>
+              <li><strong class="strong">Featureless Make</strong>: Condition blocks are still being processed when they should be skipped.</li>
+              <li><strong class="strong">Featureless Make</strong>: Empty strings improperly pass validation checks.</li>
+              <li><strong class="strong">Featureless Make</strong>: IKI variable substitution results in incorrect parameter structure.</li>
+              <li><strong class="strong">Featureless Make</strong>: Error verbosity is not being preserved.</li>
+              <li><strong class="strong">Featureless Make</strong>: Text is being incorrectly stripped out.</li>
+              <li><strong class="strong">Featureless Make</strong>: The copy operation doesn't work properly with trailing slashes.</li>
+              <li><strong class="strong">Featureless Make</strong>: Copy should destination should be the base name rather than the entire path.</li>
+              <li><strong class="strong">Featureless Make</strong>: Link operation is incorrect, support new link arguments, and clone, copy, and move operations failure problems.</li>
+              <li><strong class="strong">Featureless Make</strong>: Block is incorrectly being reset when an else condition precedes an if condition.</li>
             </ul>
             <p class="p">
-              <strong>Refactors:</strong>
+              <strong class="strong">Refactors:</strong>
             </p>
             <ul>
-              <li><strong>Controller</strong>: Use "settings" instead of "setting" for better consistency between fake program and controller program.</li>
-              <li><strong>Featureless Make</strong>: Rename "script" to "engine" to avoid possible confusion with the different uses of "script".</li>
-              <li><strong>Featureless Make</strong>: "if defined parameter" and similar are simplified into something more like "if define" and "if parameter".</li>
-              <li><strong>Featureless Make</strong>: Rename "exists" to "exist".</li>
+              <li><strong class="strong">Controller</strong>: Use "settings" instead of "setting" for better consistency between fake program and controller program.</li>
+              <li><strong class="strong">Featureless Make</strong>: Rename "script" to "engine" to avoid possible confusion with the different uses of "script".</li>
+              <li><strong class="strong">Featureless Make</strong>: "if defined parameter" and similar are simplified into something more like "if define" and "if parameter".</li>
+              <li><strong class="strong">Featureless Make</strong>: Rename "exists" to "exist".</li>
             </ul>
             <p class="p">
-              <strong>Updates:</strong>
+              <strong class="strong">Updates:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Change execute error code handling to better accommodate standard GNU Bash return codes.</li>
-              <li><strong>FLL</strong>: Further reduce memory allocation pressure by increasing default small allocation.</li>
-              <li><strong>FLL</strong>: Restrict environment to PATH and LD_LIBRARY_PATH by default in all FLL build settings files.</li>
-              <li><strong>FLL</strong>: The standard program setup should explicitly unblock all signals other than the default</li>
-              <li><strong>FLL</strong>: Clarify IKI standard in regards to delimits and improve specification file.</li>
-              <li><strong>FLL</strong>: Improve specification files.</li>
-              <li><strong>FLL</strong>: The f_color needs to follow latest practices with private functions.</li>
-              <li><strong>Controller</strong>: Change default controller settings path to './'.</li>
-              <li><strong>Controller</strong>: Strip out NULL characters after applying delimits.</li>
-              <li><strong>Controller</strong>: Timeout changes.</li>
-              <li><strong>Featureless Make</strong>: Make environment variable handling design consistent between fake and controller programs.</li>
-              <li><strong>Featureless Make</strong>: Ensure first if block is initialized to operate.</li>
-              <li><strong>Featureless Make</strong>: Replace Unicode Terminate escape sequence with Non-printing escape sequence.</li>
-              <li><strong>Featureless Make</strong>: Reduce number of allocations by pre-determining size when easily possible.</li>
-              <li><strong>Featureless Make</strong>: Organize the validate operation into separate type functions and improve error handling logic.</li>
-              <li><strong>Featureless Make</strong>: The example bzip2 now supports running the tests.</li>
+              <li><strong class="strong">FLL</strong>: Change execute error code handling to better accommodate standard GNU Bash return codes.</li>
+              <li><strong class="strong">FLL</strong>: Further reduce memory allocation pressure by increasing default small allocation.</li>
+              <li><strong class="strong">FLL</strong>: Restrict environment to PATH and LD_LIBRARY_PATH by default in all FLL build settings files.</li>
+              <li><strong class="strong">FLL</strong>: The standard program setup should explicitly unblock all signals other than the default</li>
+              <li><strong class="strong">FLL</strong>: Clarify IKI standard in regards to delimits and improve specification file.</li>
+              <li><strong class="strong">FLL</strong>: Improve specification files.</li>
+              <li><strong class="strong">FLL</strong>: The f_color needs to follow latest practices with private functions.</li>
+              <li><strong class="strong">Controller</strong>: Change default controller settings path to './'.</li>
+              <li><strong class="strong">Controller</strong>: Strip out NULL characters after applying delimits.</li>
+              <li><strong class="strong">Controller</strong>: Timeout changes.</li>
+              <li><strong class="strong">Featureless Make</strong>: Make environment variable handling design consistent between fake and controller programs.</li>
+              <li><strong class="strong">Featureless Make</strong>: Ensure first if block is initialized to operate.</li>
+              <li><strong class="strong">Featureless Make</strong>: Replace Unicode Terminate escape sequence with Non-printing escape sequence.</li>
+              <li><strong class="strong">Featureless Make</strong>: Reduce number of allocations by pre-determining size when easily possible.</li>
+              <li><strong class="strong">Featureless Make</strong>: Organize the validate operation into separate type functions and improve error handling logic.</li>
+              <li><strong class="strong">Featureless Make</strong>: The example bzip2 now supports running the tests.</li>
             </ul>
             <p class="p">
               Check out the project on the <a href="fll.html#release" class="link"><abbr title="Featureless Linux Library">FLL</abbr> release</a> page.
               These <a href="https://sourceforge.net/projects/fll/files/FLL-0.5/0.6.0/programs/" class="link external">programs</a>, by default, are designed to build against a library built using the monolithic source tree.
             </p>
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
 
 
             <div class="article-content">
               <p class="p">
-                <strong>Bzip2</strong> has a simple <code class="code">Makefile</code> that is used here as an example of the differences between a <code class="code">Makefile</code> and a <code class="code">fakefile</code>.
+                <strong class="strong">Bzip2</strong> has a simple <code class="code">Makefile</code> that is used here as an example of the differences between a <code class="code">Makefile</code> and a <code class="code">fakefile</code>.
               </p>
               <p class="p">
-                This is taken straight out of the <strong>Bzip2</strong>, version 1.0.8, source code and is under its own separate copyright.
-                This is file has a copyright of: <em>Copyright (C) 1996-2019 Julian Seward</em>.
-                The use here as an example should be technically under the <em>Fair Use</em> laws.
+                This is taken straight out of the <strong class="strong">Bzip2</strong>, version 1.0.8, source code and is under its own separate copyright.
+                This is file has a copyright of: <em class="em">Copyright (C) 1996-2019 Julian Seward</em>.
+                The use here as an example should be technically under the <em class="em">Fair Use</em> laws.
                 Just in case, the entire file is provided with the copyright comments with it.
                 The Bzip2 source code may be found at <a href="https://www.sourceware.org/bzip2/" class="link external">https://www.sourceware.org/bzip2/</a>.
               </p><pre class="preserve">
@@ -489,17 +489,17 @@ manual.html: $(MANUAL_SRCS)
 
             <div class="article-content">
               <p class="p">
-                <strong>Featureless Make</strong> has a different design ideology that the <em>GNU Make</em> project.
-                The file should, <em>relatively speaking</em>, be easy to read within consideration of the technical field and the complexity of the tasks at hand.
+                <strong class="strong">Featureless Make</strong> has a different design ideology that the <em class="em">GNU Make</em> project.
+                The file should, <em class="em">relatively speaking</em>, be easy to read within consideration of the technical field and the complexity of the tasks at hand.
                 The build system should not be involved with installing to the system.
                 Installation should be a distribution level task.
-                This does not mean that <strong>Featureless Make</strong> cannot do that.
+                This does not mean that <strong class="strong">Featureless Make</strong> cannot do that.
                 All this means is that the project is optimized to compile or build the files.
               </p>
               <p class="p">
                 What this means is that there is not a one to one relationship between a typical <code class="code">Makefile</code> and typical <code class="code">fakefile</code>.
                 This example focuses on how a <code class="code">fakefile</code> should be designed.
-                This is also a proof of concept design that intentionally goes out of its way to use both build systems offered by <strong>Featureless Make</strong>.
+                This is also a proof of concept design that intentionally goes out of its way to use both build systems offered by <strong class="strong">Featureless Make</strong>.
               </p>
               <p class="p">
                 There are three files used for this example to create a <code class="code">bzip2</code> and a <code class="code">bzip2recover</code> binary.
@@ -682,15 +682,15 @@ flags_program -fPIE
 
             <div class="article-content">
               <p class="p">
-                The <strong>Controller</strong> program has a similar design ideology to that of the <strong>Featureless Make</strong> program.
-                A key difference is that the <strong>Controller</strong> program operates more like a service, a program, or a <em>sysvinit</em> alternative rather than as a build system.
+                The <strong class="strong">Controller</strong> program has a similar design ideology to that of the <strong class="strong">Featureless Make</strong> program.
+                A key difference is that the <strong class="strong">Controller</strong> program operates more like a service, a program, or a <em class="em">sysvinit</em> alternative rather than as a build system.
               </p>
               <p class="p">
                 An example usage would be to start the <code class="code">htop</code> program.
                 In this example, when the <code class="code">htop</code> program quits, the controller program will restart after a delay for a max of 3 times.
                 The controller command using these files would be executed using the command <code class="code">controller htop-command</code>.
                 Only two files are necessary to accomplish this task.
-                The first file is the <em>Entry</em> file, called <code class="code">entries/htop-command.entry</code>.
+                The first file is the <em class="em">Entry</em> file, called <code class="code">entries/htop-command.entry</code>.
               </p><pre class="preserve">
 # fss-0005
 
@@ -706,7 +706,7 @@ main:
   start command htop
 </pre>
               <p class="p">
-                The second file is is the <em>Rule</em> file, called <code class="code">rules/command/htop.rule</code>.
+                The second file is is the <em class="em">Rule</em> file, called <code class="code">rules/command/htop.rule</code>.
               </p><pre class="preserve">
 # fss-000d
 
index f5181f6305a1234836c4da7de9e557c0a4eca30c..7cbbc14eb610f2b90a313dde6e7f52ec8c824ec8 100644 (file)
@@ -78,7 +78,7 @@
               This release should be more portable and testable.
             </p>
             <p class="p">
-              The <strong>BASH</strong> alternative <strong>ZSH</strong> is now supported for the following scripts:
+              The <strong class="strong">BASH</strong> alternative <strong class="strong">ZSH</strong> is now supported for the following scripts:
             </p>
             <ul>
               <li>bootstrap-example.sh</li>
@@ -88,8 +88,8 @@
               <li>test.sh</li>
             </ul>
             <p class="p">
-              In order to run these scripts under <strong>ZSH</strong>, one must defined the <strong>SHELL_ENGINE</strong> environment variable with the value <code class="code">zsh</code>.
-              Compatibility of <strong>ZSH</strong> is not well tested and there may be bugs.
+              In order to run these scripts under <strong class="strong">ZSH</strong>, one must defined the <strong class="strong">SHELL_ENGINE</strong> environment variable with the value <code class="code">zsh</code>.
+              Compatibility of <strong class="strong">ZSH</strong> is not well tested and there may be bugs.
             </p>
             <p class="p">
               Changes in the <code class="code">iki_read</code> program involving the <code class="code">--substitute</code> and the <code class="code">--wrap</code> parameters.
               The following are changes since the 0.6.0 stable release.
             </p>
             <p class="p">
-              <strong>Security Fixes:</strong>
+              <strong class="strong">Security Fixes:</strong>
             </p>
             <ul>
               <li>None.</li>
             </ul>
             <p class="p">
-              <strong>Features:</strong>
+              <strong class="strong">Features:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Add support for <code class="code">stand_alone</code> builds in the package script.</li>
-              <li><strong>FLL</strong>: Add support for <strong>ZSH</strong> in addition to <strong>BASH</strong>.</li>
-              <li><strong>IKI Read</strong>: The <code class="code">iki_read</code> should still support the older <code class="code">--substitute</code> behavior.</li>
+              <li><strong class="strong">FLL</strong>: Add support for <code class="code">stand_alone</code> builds in the package script.</li>
+              <li><strong class="strong">FLL</strong>: Add support for <strong class="strong">ZSH</strong> in addition to <strong class="strong">BASH</strong>.</li>
+              <li><strong class="strong">IKI Read</strong>: The <code class="code">iki_read</code> should still support the older <code class="code">--substitute</code> behavior.</li>
             </ul>
             <p class="p">
-              <strong>Bug Fixes:</strong>
+              <strong class="strong">Bug Fixes:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Mistakes in disable macros and remove redundant check.</li>
-              <li><strong>FLL</strong>: Functions <code class="code">private_f_file_flush()</code> and <code class="code">private_f_print_safely_get()</code> are not being included when needed.</li>
-              <li><strong>FLL</strong>: The <code class="code">fll_program_standard_signal_received()</code> needs a private implementation.</li>
-              <li><strong>FLL</strong>: <code class="code">private_f_memory_structure_resize()</code> is not returning the error status codes.</li>
-              <li><strong>Featureless Make</strong>: Content is incorrectly attempted to be processed even though it does not exist.</li>
-              <li><strong>Featureless Make</strong>: Featureless Make dependencies are not accurately communicated.</li>
-              <li><strong>IKI Read</strong>: The <code class="code">iki_read</code> should apply the <code class="code">--wrap</code> when using <code class="code">--substitute</code>.</li>
-              <li><strong>FSS Read Programs</strong>: Two zeros are printed when <code class="code">--total</code> is used and there are no matching Objects.</li>
+              <li><strong class="strong">FLL</strong>: Mistakes in disable macros and remove redundant check.</li>
+              <li><strong class="strong">FLL</strong>: Functions <code class="code">private_f_file_flush()</code> and <code class="code">private_f_print_safely_get()</code> are not being included when needed.</li>
+              <li><strong class="strong">FLL</strong>: The <code class="code">fll_program_standard_signal_received()</code> needs a private implementation.</li>
+              <li><strong class="strong">FLL</strong>: <code class="code">private_f_memory_structure_resize()</code> is not returning the error status codes.</li>
+              <li><strong class="strong">Featureless Make</strong>: Content is incorrectly attempted to be processed even though it does not exist.</li>
+              <li><strong class="strong">Featureless Make</strong>: Featureless Make dependencies are not accurately communicated.</li>
+              <li><strong class="strong">IKI Read</strong>: The <code class="code">iki_read</code> should apply the <code class="code">--wrap</code> when using <code class="code">--substitute</code>.</li>
+              <li><strong class="strong">FSS Read Programs</strong>: Two zeros are printed when <code class="code">--total</code> is used and there are no matching Objects.</li>
             </ul>
             <p class="p">
-              <strong>Refactors:</strong>
+              <strong class="strong">Refactors:</strong>
             </p>
             <ul>
               <li>None.</li>
             </ul>
             <p class="p">
-              <strong>Updates:</strong>
+              <strong class="strong">Updates:</strong>
             </p>
             <ul>
-              <li><strong>FLL</strong>: Enable Gitlab test support.</li>
-              <li><strong>FLL</strong>: Always ensure content size is zero when content is not found.</li>
-              <li><strong>FLL</strong>: Change logic to avoid potential negative numbers.</li>
-              <li><strong>FLL</strong>: Use resize functions rather than adjust functions for <code class="code">append</code> and <code class="code">append_all</code> functions.</li>
-              <li><strong>FLL</strong>: Add medium logos.</li>
-              <li><strong>FLL</strong>: <code class="code">f_memory_structure_increase_by()</code> shouldn't do anything if amount is zero.</li>
-              <li><strong>FLL</strong>: Cygwin documentation.</li>
-              <li><strong>FLL</strong>: Support Unicode 15.0.</li>
-              <li><strong>FLL</strong>: Slight improvement in UTF unassigned detection and add or correct some ranges.</li>
-              <li><strong>Featureless Make</strong>: Redesign behavior of pipe, allowing it to run properly inside software like Gitlab's CI or Github's CI.</li>
-              <li><strong>Featureless Make</strong>: Implement stand alone build for Featureless Make.</li>
-              <li><strong>Featureless Make</strong>: Describe modes being used when performing build or make.</li>
-              <li><strong>Featureless Make</strong>: Stand alone Featureless Make custom <code class="code">config.h</code> header.</li>
-              <li><strong>Utf8</strong>: The <code class="code">utf8</code> program should be using the stream read functions.</li>
-              <li><strong>Utf8</strong>: Implement stand alone build for <code class="code">utf8</code> program.</li>
+              <li><strong class="strong">FLL</strong>: Enable Gitlab test support.</li>
+              <li><strong class="strong">FLL</strong>: Always ensure content size is zero when content is not found.</li>
+              <li><strong class="strong">FLL</strong>: Change logic to avoid potential negative numbers.</li>
+              <li><strong class="strong">FLL</strong>: Use resize functions rather than adjust functions for <code class="code">append</code> and <code class="code">append_all</code> functions.</li>
+              <li><strong class="strong">FLL</strong>: Add medium logos.</li>
+              <li><strong class="strong">FLL</strong>: <code class="code">f_memory_structure_increase_by()</code> shouldn't do anything if amount is zero.</li>
+              <li><strong class="strong">FLL</strong>: Cygwin documentation.</li>
+              <li><strong class="strong">FLL</strong>: Support Unicode 15.0.</li>
+              <li><strong class="strong">FLL</strong>: Slight improvement in UTF unassigned detection and add or correct some ranges.</li>
+              <li><strong class="strong">Featureless Make</strong>: Redesign behavior of pipe, allowing it to run properly inside software like Gitlab's CI or Github's CI.</li>
+              <li><strong class="strong">Featureless Make</strong>: Implement stand alone build for Featureless Make.</li>
+              <li><strong class="strong">Featureless Make</strong>: Describe modes being used when performing build or make.</li>
+              <li><strong class="strong">Featureless Make</strong>: Stand alone Featureless Make custom <code class="code">config.h</code> header.</li>
+              <li><strong class="strong">Utf8</strong>: The <code class="code">utf8</code> program should be using the stream read functions.</li>
+              <li><strong class="strong">Utf8</strong>: Implement stand alone build for <code class="code">utf8</code> program.</li>
             </ul>
             <p class="p">
               Check out the project on the <a href="fll.html#release" class="link"><abbr title="Featureless Linux Library">FLL</abbr> release</a> page.
               These <a href="https://sourceforge.net/projects/fll/files/FLL-0.5/0.6.1/programs/" class="link external">programs</a>, by default, are designed to build against a library built using the monolithic source tree.
             </p>
             <p class="p">
-              The <strong>stand alone</strong> sources for the Featureless Make and UTF8 programs can be found <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/" class="link external">pre-packaged at Sourceforge</a>.
+              The <strong class="strong">stand alone</strong> sources for the Featureless Make and UTF8 programs can be found <a href="https://sourceforge.net/projects/fll/files/FLL-0.6/0.6.1/stand_alone/" class="link external">pre-packaged at Sourceforge</a>.
             </p>
             <p class="p">
-              <strong>Kevin Day</strong>
+              <strong class="strong">Kevin Day</strong>
             </p>
           </div>
         </main>
index 430dfdbac6ca566bc4ec2bd90c2ca45ec43568a3..b5d1ce41fb2ae14ab5260097fed9273c8884b495 100644 (file)
               </p>
               <p class="p">
                 This program specifically handles only the core status codes provided by the <abbr title="Featureless Linux Library">FLL</abbr>.<br>
-                Other programs that utilize custom status codes should provide their own implementation of this program, such as is done with the <strong>FSS Status Code</strong> program.
+                Other programs that utilize custom status codes should provide their own implementation of this program, such as is done with the <strong class="strong">FSS Status Code</strong> program.
               </p>
             </div>
           </article>
index 669902f65bdbf00d0c841a1d585d15a23058fad5..75faa00a718dd19d7a78c3f1611de7d71c95c93b 100644 (file)
@@ -84,7 +84,7 @@
             </header>
             <div class="article-content">
               <p class="p">
-                The source code for the <strong>Featureless Linux Library</strong> is released in several locations.
+                The source code for the <strong class="strong">Featureless Linux Library</strong> is released in several locations.
                 The <a href="fll.html" class="link">Featureless Linux Library</a> page contains the full range of links regarding the source code.
               </p>
               <p class="p">
 
             <div class="article-content">
               <p class="p">
-                The source code for the <strong>Turtle Kevux Distribution</strong> is provided in the DVD-ROM for each individual release. There currently is no recent release available. The legacy releases may be found on the <a href="distributions.html" class="link">distributions</a> page.
+                The source code for the <strong class="strong">Turtle Kevux Distribution</strong> is provided in the DVD-ROM for each individual release. There currently is no recent release available. The legacy releases may be found on the <a href="distributions.html" class="link">distributions</a> page.
               </p>
               <p class="p">
                 The following represents the most recently available release:
 
             <div class="article-content">
               <p class="p">
-                The source code for the <strong>Turtle Kevux Installation Scripts</strong> is provided both as separate downloads and in the DVD-ROM for each individual Turtle Kevux release. There currently is no recent release available. The legacy releases may be found on the <a href="distributions.html" class="link">distributions</a> page.
+                The source code for the <strong class="strong">Turtle Kevux Installation Scripts</strong> is provided both as separate downloads and in the DVD-ROM for each individual Turtle Kevux release. There currently is no recent release available. The legacy releases may be found on the <a href="distributions.html" class="link">distributions</a> page.
               </p>
               <p class="p">
                 The following represents the most recently available release:
 
             <div class="article-content">
               <p class="p">
-                The <strong>Kevux Website</strong> source code is also available for download. This website is designed to function even when downloaded, extracted, and viewed locally (without a web server hosting it). The downloaded version of this website will not contain the non-website related files nor will it contain the download website file itself. Such links will be broken on the downloaded website source. Check out the <a href="licenses.html" class="link">licenses</a> page for the license of the source code of this website.
+                The <strong class="strong">Kevux Website</strong> source code is also available for download. This website is designed to function even when downloaded, extracted, and viewed locally (without a web server hosting it). The downloaded version of this website will not contain the non-website related files nor will it contain the download website file itself. Such links will be broken on the downloaded website source. Check out the <a href="licenses.html" class="link">licenses</a> page for the license of the source code of this website.
               </p>
               <p class="p">
                 The following is the link:
index f07642815511bc3e689ecd37b19013b46fbbd8aa..af4e064e18aa621ea1fcb23f994d4f85173357bd 100644 (file)
 
             <div class="article-content">
               <p class="p">
-                One of the biggest problems with an <abbr title="Application Programming Interface">API</abbr> is the mis-use or misunderstanding of the meaning and purpose of one. The term itself is not the most accurate and is also not ideal. A more appropriate term would be a <strong>Library Interface</strong> or a <strong>Software Interface</strong>.
+                One of the biggest problems with an <abbr title="Application Programming Interface">API</abbr> is the mis-use or misunderstanding of the meaning and purpose of one. The term itself is not the most accurate and is also not ideal. A more appropriate term would be a <strong class="strong">Library Interface</strong> or a <strong class="strong">Software Interface</strong>.
               </p>
 
               <section class="section">
index 0fdbdf43369968a87840362dd49a9461d973056b..731e797b185a23a86c8b97115a637a06fac3c984 100644 (file)
@@ -85,7 +85,7 @@
             <p class="p">
               The old internet at one point had many websites linking to other websites.
               This linking process is a pre-search engine error idea.
-              This <em>webbing</em> page brings back the old concept of finding websites without a search engine.
+              This <em class="em">webbing</em> page brings back the old concept of finding websites without a search engine.
             </p>
             <p class="p">
               The purpose of this page is to provide links to external websites that are not directly related to this website.
@@ -93,7 +93,7 @@
               This page page will be slowly populated over time.
             </p>
             <p class="p">
-              These websites do not represent the <em>Kevux</em> website and neither does the <em>Kevux</em> website represent these sites.
+              These websites do not represent the <em class="em">Kevux</em> website and neither does the <em class="em">Kevux</em> website represent these sites.
               At no point should you consider or assume that these websites or their authors share common beliefs.
               The links to these websites could, at any point in time, become unavailable.
             </p>
 
             <div class="article-content">
               <p class="p">
-                <strong><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://kernel.org/" class="link external">https://kernel.org/</a>.
+                <strong class="strong"><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://kernel.org/" class="link external">https://kernel.org/</a>.
               </p>
               <p class="p">
-                <strong>Linux</strong> is an Operating System.
+                <strong class="strong">Linux</strong> is an Operating System.
                 This Operating System should not need any introduction here.
               </p>
               <p class="p">
-                <em>Kevux</em> runs off of and utilizes <strong>Linux</strong>.
+                <em class="em">Kevux</em> runs off of and utilizes <strong class="strong">Linux</strong>.
               </p>
             </div>
           </article>
 
             <div class="article-content">
               <p class="p">
-                <strong><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://linuxfromscratch.org/" class="link external">https://linuxfromscratch.org/</a>.
+                <strong class="strong"><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://linuxfromscratch.org/" class="link external">https://linuxfromscratch.org/</a>.
               </p>
               <p class="p">
                 Provides a set of instructions to, from the ground up, learn how to build and install a basic Linux distribution using only the source code.
               </p>
               <p class="p">
-                <strong>Linux From Scratch</strong> is Kevin Day's first experience with diving deep into Linux.
-                This is want ultimately inspired the <em>Kevux Operating Systems</em> design.
+                <strong class="strong">Linux From Scratch</strong> is Kevin Day's first experience with diving deep into Linux.
+                This is want ultimately inspired the <em class="em">Kevux Operating Systems</em> design.
               </p>
             </div>
           </article>
 
             <div class="article-content">
               <p class="p">
-                <strong><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://suckless.org/" class="link external">https://suckless.org/</a>.
+                <strong class="strong"><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://suckless.org/" class="link external">https://suckless.org/</a>.
               </p>
               <p class="p">
                 Provides a collection of projects designed around the idea of simplicity, clarity, and frugality in software.
               </p>
               <p class="p">
-                The ideas behind <strong>Software that Sucks Less</strong> are very similar to the <em>Kevux Software</em>, such as the <em>Featureless Linux Library</em>.
+                The ideas behind <strong class="strong">Software that Sucks Less</strong> are very similar to the <em class="em">Kevux Software</em>, such as the <em class="em">Featureless Linux Library</em>.
                 There are slight, but significant differences.
-                Expect the <em>Kevux Software</em> to be slightly more complex.
+                Expect the <em class="em">Kevux Software</em> to be slightly more complex.
               </p>
             </div>
           </article>
 
             <div class="article-content">
               <p class="p">
-                <strong><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://musl.libc.org/" class="link external">https://musl.libc.org/</a>.
+                <strong class="strong"><abbr title="Uniform Resource Locator">URL</abbr></strong>: <a href="https://musl.libc.org/" class="link external">https://musl.libc.org/</a>.
               </p>
               <p class="p">
-                Provides an implementation of the standard <em>libc</em>.
-                This is considered, by Kevin Day, to be one of the better designed <em>libc</em> implementations out there.
+                Provides an implementation of the standard <em class="em">libc</em>.
+                This is considered, by Kevin Day, to be one of the better designed <em class="em">libc</em> implementations out there.
               </p>
               <p class="p">
-                Consider using this <strong>Musl Libc</strong> over the more popular <em>GNU C Library</em> found at <a href="https://www.gnu.org/software/libc/" class="link external">https://www.gnu.org/software/libc/</a>.
+                Consider using this <strong class="strong">Musl Libc</strong> over the more popular <em class="em">GNU C Library</em> found at <a href="https://www.gnu.org/software/libc/" class="link external">https://www.gnu.org/software/libc/</a>.
               </p>
             </div>
           </article>