]> Kevux Git Server - kevux.org-website/commitdiff
Update: Modifications to a news article and some styling improvements.
authorKevin Day <thekevinday@gmail.com>
Sat, 11 Jun 2022 20:24:06 +0000 (15:24 -0500)
committerKevin Day <thekevinday@gmail.com>
Sat, 11 Jun 2022 20:24:06 +0000 (15:24 -0500)
I found some good things about the Librem5 phone and this amends my review adding notes in this regard.

I tried to avoid having class="p" but now that I need specific styling I am using it.
I intend to completely avoid any CSS styling on the elements themselves and instead only use class names.
This has an unfortunate consequence of using a few more characters per tag.

A special subsection box class is provided for any note worth updates to news articles.

41 files changed:
access_denied.html
css/kevux-screen-large.css
css/kevux-screen-normal.css
css/kevux-screen-small.css
css/kevux-screen-tiny.css
css/kevux.css
distributions.html
documentation.html
documentation/byte_dump.html
documentation/control.html
documentation/controller.html
documentation/fake.html
documentation/firewall.html
documentation/fss_basic_list_read.html
documentation/fss_basic_list_write.html
documentation/fss_basic_read.html
documentation/fss_basic_write.html
documentation/fss_embedded_list_read.html
documentation/fss_embedded_list_write.html
documentation/fss_extended_list_read.html
documentation/fss_extended_list_write.html
documentation/fss_extended_read.html
documentation/fss_extended_write.html
documentation/fss_identify.html
documentation/fss_payload_read.html
documentation/fss_payload_write.html
documentation/fss_status_code.html
documentation/iki_read.html
documentation/iki_write.html
documentation/status_code.html
documentation/utf8.html
fll.html
licenses.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
not_found.html
projects.html
sources.html

index 02b832083d0bf623d7aa17a3cfb70372421051aa..3fc21b509702fd18bf3c165507ecb60b52152173 100644 (file)
@@ -73,7 +73,7 @@
           </header>
 
           <div class="main-content">
-            <p>
+            <p class="p">
               You are not authorized to access this page whether it exists or not. Please go back or <a href="index.html" class="nav-text link">consider visiting to the site index page</a>.
             </p>
           </div>
index 7987361ba221f363029a74e0a0bd1a679eb1f2f7..f0758b65aa7df60bb08cf2fb59698a0ed6516d9c 100644 (file)
   line-height: 1.7rem;
 }
 
+.kevux .subsection.update > .header > .h3,
+.kevux .subsection.update > .header > .h4,
+.kevux .subsection.update > .header > .h5,
+.kevux .subsection.update > .header > .h6 {
+  font-size: 1.1rem;
+  line-height: 1.5rem;
+}
+
 .kevux > .content-block > .main-block .grid.expand.columns-4 {
   grid-template-columns: auto auto auto auto;
 }
index 76f2812bb608f83f7aecad2ee04dd3d1027b1293..4104d1ee9d33b04a6f98cc6fc9d83fbb6e13695c 100644 (file)
   line-height: 1.5rem;
 }
 
+.kevux .subsection.update > .header > .h3,
+.kevux .subsection.update > .header > .h4,
+.kevux .subsection.update > .header > .h5,
+.kevux .subsection.update > .header > .h6 {
+  font-size: 0.9rem;
+  line-height: 1.3rem;
+}
+
 .kevux > .content-block > .main-block .grid.expand.columns-4 {
   grid-template-columns: auto auto auto;
 }
index 5d55f1b2bb20e0ec2a4c95d48ed2699580e468ae..c8d479a755a56f89f04a7d588032ee3d984fb718 100644 (file)
   line-height: 1.4rem;
 }
 
+.kevux .subsection.update > .header > .h3,
+.kevux .subsection.update > .header > .h4,
+.kevux .subsection.update > .header > .h5,
+.kevux .subsection.update > .header > .h6 {
+  font-size: 0.8rem;
+  line-height: 1.2rem;
+}
+
 .kevux > .content-block > .main-block .grid.expand.columns-4 {
   grid-template-columns: auto auto;
 }
index b31cc26ef86b167be6995185e603ef96337555bf..ba49c30ed054c2be49917154cda3a30423c61492 100644 (file)
   line-height: 1.1rem;
 }
 
+.kevux .subsection.update > .header > .h3,
+.kevux .subsection.update > .header > .h4,
+.kevux .subsection.update > .header > .h5,
+.kevux .subsection.update > .header > .h6 {
+  font-size: 0.5rem;
+  line-height: 0.9rem;
+}
+
 .kevux > .content-block > .main-block .grid.expand.columns-4 {
   grid-template-columns: auto;
 }
index c90bea0b3106c3d6918f56ac2531e16531e2735e..dd2de8bfdd49d0ae7278ab9fe7f899a4321046a7 100644 (file)
   background-color: #f9f9f0;
 }
 
+.kevux > .content-block .subsection.box > .subsection-content > .p:first-of-type {
+  margin-top: 0px;
+}
+
+.kevux > .content-block .subsection.box > .subsection-content > .p:last-of-type {
+  margin-bottom: 0px;
+}
+
+.kevux > .content-block .subsection.box {
+  display: block;
+  box-sizing: border-box;
+
+  overflow: auto;
+
+  border: 1px dotted #724801;
+  margin: 0.5rem;
+  padding: 0.75rem;
+
+  background-color: #e7f1ff;
+}
+
 .kevux > .content-block .tip .code.terminal {
   display: block;
   box-sizing: border-box;
index 13ec9ee1b4036079f84a8199fbb6a655ab2ed60c..ac4c804ea0cfc4b00d1354103e6419b5f5a39329 100644 (file)
               <h2 class="article-title h h2">Turtle Kevux</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 Turtle Kevux is a Linux system primarily based on GNU software, <abbr title="Featureless Linux Library">FLL</abbr> software, and a Linux kernel. Historically Turtle Kevux was compiled using <a href="https://uclibc.org/" class="link external">uClibc</a> as an alternative to <a href="https://www.gnu.org/software/libc/" class="link external">GLibc</a>. Turtle Kevux now uses <a href="https://musl.libc.org/" class="link external">Musl-Libc</a> in place of <a href="https://www.gnu.org/software/libc/" class="link external">GLibc</a>.
               </p>
-              <p>
+              <p class="p">
                 This Linux based distribution deviates from Linux and even utilizes modifications to the Linux kernel. Turtle Kevux does not comply with many of the standards that many Linux distributions follow. This is especially true when it comes to SystemD as many parts of the SystemD design is the direct opposite of how Turtle Kevux and its underlying software (<abbr title="Featureless Linux Library">FLL</abbr>) are designed.
               </p>
-              <p>
+              <p class="p">
                 Turtle Kevux is neither <abbr title="Filesystem Hierarchy Standard">FHS</abbr> nor <abbr title="Linux Standard Base ">LSB</abbr> compliant, which is seen as one of the many security enhancements. Turtle Kevux might closely follow these standards, but those standards are deviated from as desired.
               </p>
             </div>
               <h2 class="article-title h h2">About Releases and Scripts</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The Turtle Kevux Releases used to provide multiple CD-ROM and DVD-ROMs for different purposes. These have been reduced to the "everything" releases for the older Turtle Kevux releases (0.9.5 and earlier). The "everything" release contains all of the software specially configured to compile and install onto the system as well as all source code archives.
               </p>
-              <p>
+              <p class="p">
                 The Turtle Kevux Installation Scripts are also provided separately from the DVD-ROMs. These scripts can be used to compile the system entirely from source. Due to the complexity and potential problems with compiling entirely from source, the pre-compiled bootstrap files are also made available as the "tools" downloads.
               </p>
             </div>
index b03d293402ca7069150ed65e966d08fa5769d3d7..93a0e39eb23de7469f742a60559f51b385f50912 100644 (file)
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 Documentation for the following projects are provided within their own sub-pages.
               </p>
               <div class="grid wide expand columns-4">
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 Projects like the Featureless Linux Library are focused entirely around provided standards for every aspect of the project. Numerous specifications are available describing these standards. At this time, the specifications have not been transcribed into a format for the web. They are stored in plain text within the source code repositories.
               </p>
-              <p>
+              <p class="p">
                 Many of these specifications may be found here:
               </p>
               <ul>
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 The <abbr title="Application Programming Interface">API</abbr>s have not yet been generated and are not available in an easy to consume form outside of the source code itself.
               </p>
-              <p>
+              <p class="p">
                 The <abbr title="Application Programming Interface">API</abbr> can be viewed by navigating the source code for the <abbr title="Featureless Linux Library">FLL</abbr> here:
               </p>
               <ul>
             </header>
 
             <div class="article-content">
-              <p>
+              <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>.
               </p>
 
                 </header>
 
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     A set of rules and guidelines.
                   </p>
                 </div>
                   <h3 class="section-title h h3">Specification</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     A specific interpretation, clarification, or description of a Standard, such as the documentation that describes how to use or follow a Standard.
                   </p>
                 </div>
                   <h3 class="section-title h h3">Implementation</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     The applying of some Standard or Specification.
                   </p>
                 </div>
                   <h3 class="section-title h h3">Application Programming Interface (API)</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     The <abbr title="Application Programming Interface">API</abbr> term is commonly mis-represented as Services or Protocols (such as "Web API"). An <abbr title="Application Programming Interface">API</abbr> instructs a programmer how to use a dependency when programming some software that utilizes said dependency. An <abbr title="Application Programming Interface">API</abbr> is a Specification of some Implementation of a Standard be it a formally defined standard or an informally defined standard. An <abbr title="Application Programming Interface">API</abbr> may be an Implementation of a Standard or a part of an Implementation of a Standard. An <abbr title="Application Programming Interface">API</abbr> is, in effect, documentation.
                   </p>
                 </div>
                   <h3 class="section-title h h3">Application Binary Interface (ABI)</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     The <abbr title="Application Binary Interface">ABI</abbr> term refers to an Application Binary Interface and represents the compiled implementation of some <abbr title="Application Programming Interface">API</abbr>. An <abbr title="Application Binary Interface">ABI</abbr> may not always exist for some <abbr title="Application Programming Interface">API</abbr>, such as for pure scripting languages. An <abbr title="Application Binary Interface">ABI</abbr> is neither a Specification nor a Standard. An <abbr title="Application Binary Interface">ABI</abbr> is an Implementation of an <abbr title="Application Programming Interface">API</abbr> making it an Implementation of a Standard or Specification.
                   </p>
                 </div>
                   <h3 class="section-title h h3">Service</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     Any action or labor performed by one party for another party (such as one person helping another person).
                   </p>
                 </div>
                   <h3 class="section-title h h3">Protocol</h3>
                 </header>
                 <div class="section-content">
-                  <p>
+                  <p class="p">
                     In the context of computers and software, this is a Standard focused on communication between two parties (often referring to Internet communication).
                   </p>
                 </div>
index ccc2b347f14a386601232b9a5a07c86935e997a6..dd808f9198b37c0cf96e5cb1443eaf24b69a0ddb 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <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.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 The output is broken up into two or three parts.
               </p>
               <ol>
index ba96faae5b72b5ed95983231afbf39850255b9cb..d70dc012328cde566f4a7846bc224b2aaf3c9fba 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>control</strong> program is a tool for sending commands to the <strong>controller</strong> program.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 When the <code class="code">--socket</code> parameter represents a directory path then the file name is generated from either the <code class="code">--name</code> parameter or from the control settings file.
               </p>
-              <p>
+              <p class="p">
                 A rule action allows for either the full rule path, such as '<code class="code">boot/root</code>' as a single parameter or two parameters with the first representing the rule directory path 'boot' and the second representing the rule base name '<code class="code">root</code>'.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--return</code> parameter is intended to be used for scripting and is of the form "<code class="code">response [type] [action] [status]</code>".
               </p>
-              <p>
+              <p class="p">
                 Be sure to use the <code class="code">++quiet</code> parameter to suppress output when using this in scripting.
                 No response is returned on program errors, especially those errors that prevent communicating to the controller.
               </p>
index fe33b949fa1cf19ad00e4a6f43031de6ce3e720f..21ca0e59aeff10ffac621fb828bbeb5287951b17 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>controller</strong> program is a tool for controller other programs.
               </p>
-              <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.
               </p>
-              <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.
               </p>
-              <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>
+              <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.
               </p>
-              <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>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 When both the <code class="code">--simulate</code> parameter and the <code class="code">--validate</code> parameter are specified, then additional information on each would be executed rule is printed but no simulation is performed.
               </p>
-              <p>
+              <p class="p">
                 The default interrupt behavior is to operate as if the <code class="code">--interruptible</code> parameter is passed.
               </p>
-              <p>
+              <p class="p">
                 Specify an empty string for the <code class="code">--pid</code> parameter to disable pid file creation for this program.
               </p>
             </div>
index e18ceff1f6ce0a4f5a18f3e20f40db1edcedeea2..519789db9feccf6f89e0b58d4ffd635efa99a3d3 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <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.
               </p>
-              <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.
               </p>
-              <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>
+              <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.
               </p>
-              <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>
               </ol>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 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>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 When performing the build operation, the <code class="code">--mode</code> parameter specifies a name (limited to alpha-numeric, underscore, and dash) to be used in addition to the global.
               </p>
-              <p>
+              <p class="p">
                 For example, when a mode of '<code class="code">fll_monolithic</code>' is specified, build libraries from both '<code class="code">build_libraries</code>' and '<code class="code">build_libraries-fll_monolithic</code>' are used (but not '<code class="code">build_libraries-fll_level</code>').
               </p>
-              <p>
+              <p class="p">
                 When specifying the <code class="code">fakefile</code> or the settings parameters, the filenames are relative to the data build directory, unless a path is used.
               </p>
-              <p>
+              <p class="p">
                 For example, with '<code class="code">--fakefile my_fakefile</code>' the fakefile at '<code class="code">./data/build/my_fakefile</code>' would be used, however with '<code class="code">--fakefile ./my_fakefile</code>' the fakefile at '<code class="code">./my_fakefile</code>' would be used.
               </p>
             </div>
index 38f709ffc8a2fe1b9e75df3b74f1c99d2e1224ee..3bdf8abb4aeea0373781d6b9a4c2f8c3f8b9015e 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>firewall</strong> program is a tool for simplifying and automating the <strong>iptables</strong> program.
               </p>
-              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
index acca8240ab86255b830fc0a323ffdf6573198fba..dd956e765fd600151432da3efbf9a2155f85f8cb 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_basic_list_read</strong> program is a tool for reading and processing strings that follow the FSS-0002 (Basic List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                   <dt class="dt"><code class="code"><code class="code">--name</code></code></dt><dd class="dd">An Object name at the specified depth.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a New Line character '<kbd>\n</kbd>' (U+000A).
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
             </div>
index 07a059dc07d9e9c0bfcc76ea16a30bc5952838a9..0e3adcdbc4422a73d0d37e5e60e0a0efdf537e39 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_basic_list_write</strong> program is a tool for generating strings that follow the FSS-0002 (Basic List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-0002 (Basic List) specification does not support quoted names, therefore the parameters <code class="code">--single</code> and <code class="code">--double</code> do nothing.
               </p>
-              <p>
+              <p class="p">
                 This program does not use the parameter <code class="code">--ignore</code>, which therefore does nothing. This parameter requires two values.
               </p>
             </div>
index 267609e59de6040bd15ca4e2fe60014c39ecbcd4..1b20a7270fcfa945500254d605d070ce6fcbfbc4 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_basic_read</strong> program is a tool for reading and processing strings that follow the FSS-0000 (Basic) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                   <dt class="dt"><code class="code"><code class="code">--name</code></code></dt><dd class="dd">An Object name at the specified depth.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a space.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
             </div>
index 8ba7905097b775063cfe5c2849978a49ac30cac9..5cf742c9139aedaed6a2f71cc8da12a453d0c6a9 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_basic_write</strong> program is a tool for generating strings that follow the FSS-0000 (Basic) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-0000 (Basic) specification does not support multi-line Content, therefore the parameter <code class="code">--prepend</code> does nothing.
               </p>
-              <p>
+              <p class="p">
                 This program does not use the parameter <code class="code">--ignore</code>, which therefore does nothing. This parameter requires two values.
               </p>
             </div>
index 3182b5bf4f944ea6ea36a3279c7ca634aa18fc92..4024fd09d62ad525eb984dbe36b0710ba8884e9e 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_embedded_list_read</strong> program is a tool for reading and processing strings that follow the FSS-0008 (Embedded List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                   <dt class="dt"><code class="code"><code class="code">--name</code></code></dt><dd class="dd">An Object name at the specified depth.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a New Line character '<kbd>\n</kbd>' (U+000A).
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
             </div>
index da85268e5059fdfaae14dd92a2349bb76bfbe0b4..4d507c0cfce726e10f79451317f89aeea91a4f2c 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_embedded_list_write</strong> program is a tool for generating strings that follow the FSS-0008 (Embedded List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-0008 (Embedded List) specification does not support quoted names, therefore the parameters <code class="code">--single</code> and <code class="code">--double</code> do nothing.
               </p>
-              <p>
+              <p class="p">
                 This program uses the parameter <code class="code">--ignore</code>, which designates to not escape any valid nested Object or Content within some Content. This parameter requires two values. This parameter is not used for ignoring anything from the input pipe. This parameter must be specified after a <code class="code">--content</code> parameter and this applies only to the Content represented by that specific <code class="code">--content</code> parameter.
               </p>
             </div>
index 5e829ba8eeed31ae555eed2891e03d5293eff1c8..38ba72765c3fd07226a93397dae0efe390d51a12 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_extended_list_read</strong> program is a tool for reading and processing strings that follow the FSS-0003 (Extended List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                   <dt class="dt"><code class="code"><code class="code">--name</code></code></dt><dd class="dd">An Object name at the specified depth.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a New Line character '<kbd>\n</kbd>' (U+000A).
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
             </div>
index b38d7182f4140346ab78a3becb366132337f5a7f..5ac41c66c6c024ce9f302b3e48f0ab809771dbd3 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_extended_list_write</strong> program is a tool for generating strings that follow the FSS-0003 (Extended List) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-0003 (Extended List) specification does not support quoted names, therefore the parameters <code class="code">--single</code> and <code class="code">--double</code> do nothing.
               </p>
-              <p>
+              <p class="p">
                 This program uses the parameter <code class="code">--ignore</code>, which designates to not escape any valid nested Object or Content within some Content. This parameter requires two values. This parameter is not used for ignoring anything from the input pipe. This parameter must be specified after a <code class="code">--content</code> parameter and this applies only to the Content represented by that specific <code class="code">--content</code> parameter.
               </p>
             </div>
index 9a304ab4cf9d0d6e20ff565ee5e891385a7a7807..4a36d359a66d38425e607807d38675aad24216ff 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_extended_read</strong> program is a tool for reading and processing strings that follow the FSS-0001 (Extended) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                 </div>
                 <div class="di">
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a space.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
             </div>
index a687017d1738df169602782133090f972cc10162..bea5ff8cb798a972165130dc86356b58da2f92c1 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_extended_write</strong> program is a tool for generating strings that follow the FSS-0001 (Extended) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-0001 (Extended) specification does not support multi-line Content, therefore the parameter <code class="code">--prepend</code> does nothing.
               </p>
-              <p>
+              <p class="p">
                 This program does not use the parameter <code class="code">--ignore</code>, which therefore does nothing. This parameter requires two values.
               </p>
             </div>
index f9f825e3ede16cdd765bf3ba5182050f999adc4c..ff5eed910bcb14856c8a61a826295a0cfb50c1f5 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <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.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable but does not accept piped input.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 The <code class="code">--line</code> parameter refers to the file lines and not the lines in a given file.
               </p>
-              <p>
+              <p class="p">
                 If neither the <code class="code">--object</code> nor <code class="code">--content</code> are specified, then the default behavior is to print both.
               </p>
-              <p>
+              <p class="p">
                 When specifying the <code class="code">--total</code> parameter, neither the <code class="code">--object</code> nor the <code class="code">--content</code> parameter may be specified.
               </p>
-              <p>
+              <p class="p">
                 An FSS file is identified by the format "<code class="code"># Object-Content</code>" where the Object, is a machine-name representing the name and may only consist of "word" characters and the Content is a 4-digit hexidecimal number representing a particular variant of the Object. This identifier, if provided, must exist on the first line in a file and must begin with the pound character: "<code class="code">#</code>". White space must follow this pound character. There may be multiple Object and Content pairs, separated by white space, such as: "<code class="code"># fss-0002 fss-0000 iki-0002</code>".
               </p>
             </div>
index 859d8a388d3b03f2b5281f11471f8aae0be79765..81057c06b6a3d80725a171d118ad344e6b8e5cf9 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_payload_read</strong> program is a tool for reading and processing strings that follow the FSS-000E (Payload) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input, treating the piped input as a file being read.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 All numeric positions (indexes) start at 0 instead of 1.
               </p>
-              <p>
+              <p class="p">
                 For example, a file of 17 lines would range from 0 to 16.
               </p>
-              <p>
+              <p class="p">
                 When using the <code class="code">--depth</code> option, an order of operations is enforced on the parameters.
               </p>
-              <p>
+              <p class="p">
                 When this order of operations is in effect, parameters to the right of a depth parameter are influenced by that depth parameter:
               </p>
               <dl class="dl">
                   <dt class="dt"><code class="code"><code class="code">--name</code></code></dt><dd class="dd">An Object name at the specified depth.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--depth</code> must be in numeric order, but values in between may be skipped.
               </p>
               <ul>
                 <li>('-d 0 -a 1 -d 2 -a 2' would specify index 1 at depth 0, any index at depth 1, and index 2 at depth 2.)</li>
                 <li>('-d 2 -a 1 -d 0 -a 2' would be invalid because depth 2 is before depth 1.)</li>
               </ul>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--select</code> selects a Content column.
               </p>
-              <p>
+              <p class="p">
                 Specify both <code class="code">--object</code> and the --total parameters to get the total objects.
               </p>
-              <p>
+              <p class="p">
                 When both <code class="code">--at</code> and <code class="code">--name</code> parameters are specified (at the same depth), the <code class="code">--at</code> parameter value will be treated as a position relative to the specified <code class="code">--name</code> parameter value.
               </p>
-              <p>
+              <p class="p">
                 This program may support parameters, such as <code class="code">--depth</code> or <code class="code">--select</code>, even if not supported by the standard.
               </p>
-              <p>
+              <p class="p">
                 This is done to help ensure consistency for scripting.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--depth</code>, if the standard doesn't support nested Content, then only a depth of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 For parameters like <code class="code">--select</code>, if the standard doesn't support multiple Content groups, then only a select of 0 would be valid.
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--trim</code> will remove leading and trailing white spaces when selecting objects or when printing objects.
               </p>
-              <p>
+              <p class="p">
                 When specifying both the <code class="code">--object</code> parameter and the <code class="code">--content</code> parameter, the entire Object and Content are printed, including the formatting.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content printed are already escaped.
               </p>
-              <p>
+              <p class="p">
                 Both the Object and Content are separated by a New Line character '<kbd>\n</kbd>' (U+000A).
               </p>
-              <p>
+              <p class="p">
                 The parameter <code class="code">--delimit</code> accepts the following:
               </p>
               <dl class="dl">
                   <dt class="dt">A number, zero or lesser, followed by a -</dt><dd class="dd">(such as '1-') apply delimits for Content at the specified depth and any lesser depth (numerically).</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> parameter may be specified multiple times to customize the delimit behavior.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">--delimit</code> values none and all, overrule all other delimit values.
               </p>
-              <p>
+              <p class="p">
                 The parameters <code class="code">--columns</code> and <code class="code">--select</code> refer to a Content column.
               </p>
-              <p>
+              <p class="p">
                 The word "<em>column</em>" is being loosely defined to refer to a specific Content.
               </p>
-              <p>
+              <p class="p">
                 This is not to be confused with a depth.
               </p>
-              <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>".
               </p>
-              <p>
+              <p class="p">
                 Content at this depth is processed as FSS-0001 (Extended).
               </p>
-              <p>
+              <p class="p">
                 The Content of the explicit Object of 'payload' will not contain any Content close pipe control codes when using <code class="code">--pipe</code>.
               </p>
             </div>
index 4d8ba1b1e6a1d65f9a4231e879e5aac3e743768d..98f2056dc53c8b90a6f8a4449665536e8420a593 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>fss_payload_write</strong> program is a tool for generating strings that follow the FSS-000E (Payload) standard.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
-              <p>
+              <p class="p">
                 This tool shares parameters between with the other <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs to make scripting consistent across the <abbr title="Featureless Settings Specification">FSS</abbr> Read and Write programs even if any given program neither needs nor uses the parameter.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> Backspace character '<kbd>\b</kbd>' (U+0008), Form Feed character '\f' (U+000C), and Vertical Line character '\v' (U+000B).
               </p>
-              <p>
+              <p class="p">
                 The Backspace character '<kbd>\b</kbd>' (U+0008) is used to designate the start of a Content.
               </p>
-              <p>
+              <p class="p">
                 The Form Feed character '<kbd>\f</kbd>' (U+000C) is used to designate the end of the last Content.
               </p>
-              <p>
+              <p class="p">
                 The Vertical Line character '<kbd>\v</kbd>' (U+000B) is used to ignore a Content range, which does nothing in this program.
               </p>
-              <p>
+              <p class="p">
                 For the pipe, an Object is terminated by either a Backspace character '<kbd>\b</kbd>' (U+0008) or a Form Feed character '<kbd>\f</kbd>' (U+000C). The end of the pipe represents the end of any Object or Content.
               </p>
-              <p>
+              <p class="p">
                 The FSS-000E (Payload) specification does not support quoted names, therefore the parameters <code class="code">--single</code> and <code class="code">--double</code> do nothing.
               </p>
-              <p>
+              <p class="p">
                 This program does not use the parameter <code class="code">--ignore</code>, which therefore does nothing. This parameter requires two values.
               </p>
             </div>
index 8b56ac52ce825bdb53ca13043ff591789715f797..acd8183c18c7ea94f641e093eeae21b4cc30127b 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <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>.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
index ec40260eedefa427a917bedfa84e77f931372416..dde26f073c9e119b39b7bb59f3a1099519b8857e 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <p class="p">
                 The <strong>iki_read</strong> program is a tool for processing strings that follow the IKI standard, specifically IKI-0000 (Unrestricted).
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input.
               </p>
-              <p>
+              <p class="p">
                 Different ways of interpreting and printing strings are available.
               </p>
-              <p>
+              <p class="p">
                 The entire string can be printed, replacing all IKI Variables and even allowing for primitive substitution or only the IKI Variables (or their Content) can be printed.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 The <code class="code">-r/--replace</code> option requires 2 additional parameters: <code class="code">&lt;vocabulary&gt; &lt;with&gt;</code>.
               </p>
               <dl class="dl">
                   <dt class="dt">with</dt><dd class="dd">The new string to use as the substitute.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <code class="code">-s/--substitute</code> option requires 3 additional parameters: <code class="code">&lt;vocabulary&gt; &lt;replace&gt; &lt;with&gt;</code>.
               </p>
               <dl class="dl">
                   <dt class="dt">with</dt><dd class="dd">The new string to use as the substitute.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The <em>vocabulary</em> and <em>replacement</em> are case-sensitive and must exactly match.
               </p>
-              <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>.
               </p>
               <dl class="dl">
                   <dt class="dt">after</dt><dd class="dd">The string to append.</dd>
                 </div>
               </dl>
-              <p>
+              <p class="p">
                 The difference between <code class="code">-r/--replace</code> and <code class="code">-s/--substitute</code> is that the <code class="code">-r/--replace</code> option substitutes all matching vocabulary names and the <code class="code">-s/--substitute</code> option substitutes all matching vocabulary names that must also have the given matching content.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">-s/--substitute</code> option takes priority over the <code class="code">-r/--replace</code> option when matching the same variable.
               </p>
-              <p>
+              <p class="p">
                 The <code class="code">-W/--wrap</code> option is ignored when the <code class="code">-s/--substitute</code> option is matching the same variable.
               </p>
-              <p>
+              <p class="p">
                 The default behavior is to only display content portion of the IKI variable.
               </p>
             </div>
index d1b50da2e3abf29a4df12e5632933e5a679c6149..782d83b93f67b35e1d3749014932a6d6aaf8a41f 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <p>
+              <p class="p">
                 This tool is designed to be scriptable and accepts piped input using a special format.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <p class="p">
                 This special piped input format uses the <abbr title="American Standard Code for Information Interchange">ASCII</abbr> form-feed character '<kbd>\f</kbd>' (U+000C) as a separator.
               </p>
             </div>
index b8a651d50085add64a4d220b2aacd41bc76bdbbb..f33cf7247b46c34b98c236c4ff0efdba97354754 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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.
               </p>
-              <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>.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
index 166388efbbc07ecfbc31839fd684d936e1b10bbf..5f1dd2498381db5fc8e6740cc6156f613d2b5b45 100644 (file)
             </header>
 
             <div class="section-content">
-              <p>
+              <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>.
               </p>
-              <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.
               </p>
-              <p>
+              <p class="p">
                 This tool is intended to be scriptable, should handle both piped data and files, and can convert entire files.
               </p>
-              <p>
+              <p class="p">
                 This tool can be used to validate a given byte sequence or can be used to get the character width of some byte sequence or code point.
               </p>
-              <p>
+              <p class="p">
                 This tool can be used to store binary data in a text-friendly format and then restore the binary data.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
             </div>
                   </tbody>
                 </table>
               </div>
-              <p>
+              <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.
               </p>
-              <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.
               </p>
-              <p>
+              <p class="p">
                 Multiple input sources are allowed but only a single output destination is allowed.
               </p>
-              <p>
+              <p class="p">
                 When using the parameter <code class="code">--verify</code>, no data is printed and 0 is returned if valid or 1 is returned if invalid.
               </p>
-              <p>
+              <p class="p">
                 When using the parameter <code class="code">--to_combining</code> with the parameter <code class="code">--to_width</code>, the 'C' character is printed to represent the combining and the digits are used to represent widths. The combining characters should be considered 1-width by themselves or 0-width when combined.
               </p>
             </div>
index 4dcc3950d05dd28885d66b168d5d64827e9a066c..46d28b20739d0aad24ab1ec247e04bd1679dadf9 100644 (file)
--- a/fll.html
+++ b/fll.html
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 The Featureless Linux Library is a collection of standards, specifications, and software for providing a suite of Linux focused functionality. One of the main goal is to play on the word "feature" and provide a featureless library. That is, a library that is not always changing and being rewritten breaking API and ABI to introduce features. How this is achieved and to what extend this is achieved and followed is to be described in the documentation and specifications.
               </p>
-              <p>
+              <p class="p">
                 The project can be found in three locations.
               </p>
               <ol>
                 <li><a href="https://github.com/thekevinday/fll/" class="link external">Github</a></li>
                 <li><a href="https://gitlab.com/kevuxer/fll/" class="link external">Gitlab</a></li>
               </ol>
-              <p>
+              <p class="p">
                 The source code contains the plain text documentation describing the projects and specifications describing the standards. This website will be updated to present this material.
               </p>
-              <p>
+              <p class="p">
                 In addition to being a library, the <abbr title="Featureless Linux Library">FLL</abbr> also provides several programs. Some programs, such as Featureless Make (a build system similar to GNU Make), are forever part of the <abbr title="Featureless Linux Library">FLL</abbr>. Other programs, such as the Controller program, will eventually bud off into their own project space.
               </p>
             </div>
               <h2 class="article-title h h2">Current Release</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The current stable release series of <abbr title="Featureless Linux Library">FLL</abbr> is <strong>0.6</strong>. At this time, the official stable release for the <strong>0.6</strong> series is not yet released but a release candidate is already out. The release candidate is version <strong>0.5.9</strong>.
               </p>
             </div>
index 5a031ffe7d276ca8e0f59cc754038f54140170d7..c4a87e4c22121973c2f673272856d901e1f40e0c 100644 (file)
               <h2 class="article-title h h2">Website Licenses</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 There are multiple licenses for content on this website and content served from this website (such as a Distribution). The website documentation covers only the parts of the website that are not already under an existing license. The specifications are under a different license. All files, be they binaries or text files, provided by the distributions have their own licenses. The Featureless Linux Library and all files provided along with it have their own licenses. Documentation associated with each of these projects are under a different license as defined by their associated project.
               </p>
-              <p>
+              <p class="p">
                 Everything else on this website, such as this news blog, that is content is under <abbr title="Creative Commons Attribution Share Alike 4.0 International">CC By SA 4.0</abbr> license.
               </p>
-              <p>
+              <p class="p">
                 Everything else on this website that is source code, including <abbr title="Hyper Text Markup Language">HTML</abbr> markup, <abbr title="Cascading Style Sheets">CSS</abbr>, and Javascript, is under <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr> license.
               </p>
-              <p>
+              <p class="p">
                 Â© 2022 Kevin Day
               </p>
             </div>
               <h2 class="article-title h h2">Kevux Distribution Licenses</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 There is currently only a single Kevux distribution, called Turtle Kevux. This distribution is a collection of numerous software projects and their related files. Each of these is under their own respective license, which is provided with their respective source code. The Kevux-specific code, such as the Turtle Kevux Installation Scripts is under the <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr> license. The <abbr title="Turtle Kevux Installation Scripts">TKIS</abbr> also heavily utilizes the Featureless Make system as well as numerous Featureless Settings Specification processing programs that are also under the <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr> license.
               </p>
-              <p>
+              <p class="p">
                 Each project is copyrighted by their respective authors. The Kevux Distribution specific files are copyrighted by Kevin Day.
               </p>
             </div>
               <h2 class="article-title h h2">Featureless Linux Library Licenses</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The <abbr title="Featureless Linux Library">FLL</abbr> source code is Â© 2007-2022 Kevin Day under the <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr> license.
               </p>
-              <p>
+              <p class="p">
                 The <abbr title="Featureless Linux Library">FLL</abbr> standards and specifications are Â© 2007-2022 Kevin Day under the <abbr title="Open Standard License version 1 or greater">OSLv1+</abbr>. The <abbr title="Open Standard License version 1 or greater">OSLv1+</abbr> is under active development and may be of a lesser version, such as 0.5. For simplicity, these are being referred to as 1.0 as the goal and intent of the license grant is for version 1 or greater. Therefore any version less than 1 is implicitly assumed to be of version 1 or greater.
-              <p>
+              <p class="p">
                 Documentation contained within the <abbr title="Featureless Linux Library">FLL</abbr> that is not under a specification license is Â© 2007-2022 Kevin Day under the <abbr title="Creative Commons Attribution Share Alike 4.0 International">CC By SA 4.0</abbr>.
               </p>
             </div>
               <h2 class="article-title h h2">Individual Projects Licenses</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 All of the projects listed on the Projects pages are either part of the <abbr title="Featureless Linux Library">FLL</abbr> or are based on the <abbr title="Featureless Linux Library">FLL</abbr>. As a result they are Â© 2007-2022 Kevin Day under the <abbr title="GNU Lesser General Public License version 2.1 or greater">LGPLv2.1+</abbr>.
               </p>
             </div>
               <h2 class="article-title h h2">Documentation Licenses</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 Documentation that is used to described specifications (included Application Programming Interfaces) are Â© 2007-2022 Kevin Day under the <abbr title="Open Standard License version 1 or greater">OSLv1+</abbr>.
               </p>
-              <p>
+              <p class="p">
                 ALl remaining documentation that does not fall under the <abbr title="Open Standard License version 1 or greater">OSLv1+</abbr> are Â© 2007-2022 Kevin Day under the <abbr title="Creative Commons Attribution Share Alike 4.0 International">CC By SA 4.0</abbr>.
               </p>
             </div>
index cfcb23e0f17f1c200f9236450124206b3c206b42..6e66fba20e1da608f5d99000516e9fabb26c86d6 100644 (file)
--- a/news.html
+++ b/news.html
 
             <div class="article-content" id="2022_06_04-librem_to_freedom">
               <img src="images/news/2022_06_04/00-side_by_side-400.png" alt="OpenMoko FreeRuner, Ubuntu Aquaris E4.5, Pinephone Postmarket Edition, and Librem5 phones." title="Linux phones." class="image content title">
-              <p>
+              <p class="p">
                 I am a hacker, a tinkerer, one who likes to modify things into what I desire. I don't want somebody to do anything for me. I want to do anything for myself. While this does not mean I want to do everything, this does mean that want I want to do, I am the one to do it. In this case, I want to tweak and configure and use my phone as I see fit. Open-source gives me the opportunity to review, vet, and configure my computers as I see fit. Liberty such as this is the air that fills my lungs as I sleep at night, dreaming.
               </p>
-              <p>
+              <p class="p">
                 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>
+              <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.
               </p>
-              <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.
               </p>
-              <p>
+              <p class="p">
                 <a href="news/2022_06_04-librem_to_freedom.html" class="content link">Continue reading…</a>
               </p>
             </div>
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 Updated the <abbr title="Featureless Linux Library">FLL</abbr> specifications and made them available on the website.
               </p>
-              <p>
+              <p class="p">
                 Basic styling is applied to make the specifications reasonably readable on a website. I avoided doing any complicated designs so that I can focus on other tasks (such as making a stable release). I took a shortcut on the example results by using the <code class="code">&lt;pre&gt;</code> tag.
               </p>
-              <p>
+              <p class="p">
                 <a href="news/2022_05_16-fll_specifications_added.html" class="content link">Continue reading…</a>
               </p>
             </div>
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 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>
+              <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.
               </p>
-              <p>
+              <p class="p">
                 <a href="news/2022_05_06-basic_program_documentation.html" class="content link">Continue reading…</a>
               </p>
             </div>
             </header>
 
             <div class="article-content">
-              <p>
+              <p class="p">
                 With a stable release of the Featureless Linux Library around the corner and the resuming of development of the Turtle Kevux Distribution, it is now time to refresh the website.
               </p>
-              <p>
+              <p class="p">
                The available functionality in the HTML standard has changed a decent amount since this website was last updated. This new design focuses on a very primitive look and feel utilizing a lot of the built in visual tools available to the <abbr title="Hyper Text Markup Language version 5">HTML5</abbr> and <abbr title="Cascading Style Sheets version 3">CSS3</abbr> languages. The website is being built in stages, to allow for prioritizing getting information out over getting information looking great. This website even actively uses <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr>.
               </p>
-              <p>
+              <p class="p">
                 <a href="news/2022_05_01-website_redesign.html" class="content link">Continue reading…</a>
               </p>
             </div>
index b053a35f218c32220bf91b4b5e17e56d321d8dce..6ec56763ae342e9b74c53e039a93b698eebc76de 100644 (file)
           </header>
 
           <div class="main-content">
-            <p>
+            <p class="p">
               With a stable release of the Featureless Linux Library around the corner and the resuming of development of the Turtle Kevux Distribution, it is now time to refresh the website.
             </p>
-            <p>
+            <p class="p">
              The available functionality in the HTML standard has changed a decent amount since this website was last updated. This new design focuses on a very primitive look and feel utilizing a lot of the built in visual tools available to the <abbr title="Hyper Text Markup Language version 5">HTML5</abbr> and <abbr title="Cascading Style Sheets version 3">CSS3</abbr> languages. The website is being built in stages, to allow for prioritizing getting information out over getting information looking great. This website even actively uses <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr>.
             </p>
-            <p>
+            <p class="p">
               The website is now built to be more "<i>responsive</i>" (as the buzz-word goes). I do not like the responsive design because it forces assumptions that may not be desirable for the end-user (which is generally what I plagues me). I took an approach to utilize the device with <abbr title="Cascading Style Sheets version 3">CSS3</abbr> properties to ensure that the website looks like a proper website even when your window size is small but when you are on a small device it uses the more mobile look and feel. This is implemented entirely without Javascript, including the mobile menu. The downside of this is that the page gets reloaded on these kinds of interactions. I will eventually write an optional Javascript file that will handle these kinds of interactions without page reloads. I have tested this mobile view on my <a href="https://pine64.org/pinephone/" class="content link external">Pinephone</a> but I do not have other devices to test and cannot guarantee the presentation is displayed as intended. This website is also intended to be automatically print-friendly.
             </p>
-            <p>
+            <p class="p">
               The Turtle Kevux Distribution is having several of the less used files removed so that I can reclaim some of the much need disk space. There latest Turtle Kevux Distribution is undergoing heavy modification and revitalization. The Featureless Linux Library will be incorporated into the Turtle Kevux Distribution. Some of the concepts from Dragonfly Kevux Distribution are being merged into the Turtle Kevux Distribution. The Dragonfly Kevux Distribution is being put on hold until all other priorities are met.
             </p>
-            <p>
+            <p class="p">
               The Featureless Linux Library itself has had major improvements and will ultimately be used to help generate this static website. For now, I am just manually creating the pages. This will quickly become hard to manage but hopefully I will write the processing scripts to generate this website before that happens.
             </p>
-            <p>
+            <p class="p">
               I also plan on sending out more communications, but I have yet to figure out when and how often I shall do this.
-            <p>
-            <p>
+            <p class="p">
+            <p class="p">
               <strong>Kevin Day</strong>
             </p>
           </div>
index 27f1993703afc5fe947f43b58a34ffcadd16d120..cb60d2d146688ec2392d072e211abee4ba3e1aa5 100644 (file)
           </header>
 
           <div class="main-content">
-            <p>
+            <p class="p">
               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>
+            <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.
             </p>
-            <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.
             </p>
-            <p>
+            <p class="p">
               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>
+            <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.
             </p>
-            <p>
+            <p class="p">
               <strong>Kevin Day</strong>
             </p>
           </div>
index 2ea74d847641ed0482eb0305fa28885f61521985..c3a6a1f28e4a79e2cbfd1e4e25c22599ab8a3efd 100644 (file)
           </header>
 
           <div class="main-content">
-            <p>
+            <p class="p">
               Updated the <abbr title="Featureless Linux Library">FLL</abbr> specifications and made them available on the website.
             </p>
-            <p>
+            <p class="p">
               Basic styling is applied to make the specifications reasonably readable on a website. I avoided doing any complicated designs so that I can focus on other tasks (such as making a stable release). I took a shortcut on the example results by using the <code class="code">&lt;pre&gt;</code> tag.
             </p>
-            <p>
+            <p class="p">
               Only the main <abbr title="Featureless Linux Library">FLL</abbr> specification pages are updated. The specifications (or links to specifications) on the programs pages have not been updated. There is still quite a lot to do in regards to documenting the programs.
             </p>
-            <p>
+            <p class="p">
               Several mistakes on the website, such as incorrect canonical addresses, are now fixed.
             </p>
-            <p>
+            <p class="p">
               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>
+            <p class="p">
               <strong>Kevin Day</strong>
             </p>
           </div>
index 3e4757dff73a4834beaa50086c829a61f71d5b00..a58d55ca0b9d2adb0b0993308e1868d031c083fd 100644 (file)
 
             <section class="section" id="forward">
               <header class="article-header header">
-                <h3 class="section-title h h3">Forward</h3>
+                <h2 class="section-title h h2">Forward</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <p class="p">
                   I have always thought a phone is a computer and should be seen as a common computer. A common computer, very simply, is a machine that runs software. Software itself is essentially an extension of thought. Thought is yours and yours alone. Thoughts may be shared or withheld as one sees fit. Thoughts are communicated via language, such as a programming language. These thoughts, as represented by a given language through some software, are manifested into reality though the hardware that is a computer. What goes in a computer or comes out of a computer is and should be yours alone at your discretion for computers that belong to you, such as a personal phone. Like how ones mind may contain many thoughts, some that belong to others that have been communicated via some language and others ones own, a computer may contain different software from many different minds than oneself. Regardless of what is or is not on a phone, only the individual whom the phone belongs to should decide what comes in and goes out that phone regardless of whose thoughts they may have originated from. From software programs to text files and voice recordings, this is yours and yours alone.
                 </p>
               </div>
 
             <section class="section" id="the_dream_for_an_open_source_phone">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Dream for an Open Source Phone</h3>
+                <h2 class="section-title h h2">The Dream for an Open Source Phone</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <p class="p">
                   I am a hacker, a tinkerer, one who likes to modify things into what I desire. I don't want somebody to do anything for me. I want to do anything for myself. While this does not mean I want to do everything, this does mean that want I want to do, I am the one to do it. In this case, I want to tweak and configure and use my phone as I see fit. Open-source gives me the opportunity to review, vet, and configure my computers as I see fit. Liberty such as this is the air that fills my lungs as I sleep at night, dreaming.
                 </p>
-                <p>
+                <p class="p">
                   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>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
               </div>
 
             <section class="section" id="the_experience">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Experience</h3>
+                <h2 class="section-title h h2">The Experience</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </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>
+                <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.
                 </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:
                   <samp class="code terminal"># find -name contacts.db</samp>
                 </div>
-                <p>
+                <p class="p">
                   I open up the command line and I cannot login as root. Really? What a pain. The solution is to use <code class="code">sudo -s passwd</code> to change the root password and then login. I then had to change several other files so that the normal user can use sudo properly as well. The appropriate credentials can now be established.
                 </p>
-                <p>
+                <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>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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>.
                 </p>
                 <div class="tip">
                     UUID=00000000-0000-0000-0000-000000000001 / ext4 errors=remount-ro,noatime 0 1
                   </samp>
                 </div>
-                <p>
+                <p class="p">
                   I also edited the <code class="code">/etc/fstab</code> file to ensure that the <code class="code">/tmp</code> directory is mounted as a temporary file-system utilizing <abbr title="Random Access Memory">RAM</abbr>.
                 </p>
                 <div class="tip">
                     tmpfs /tmp tmpfs noatime,size=1024M 0 0
                   </samp>
                 </div>
-                <p>
+                <p class="p">
                   I was able to boot my system and install my desired software. I installed quite a bit of software. Updates were performed. The details of different programs or problems I encountered are described in the sections following this.
                 </p>
               </div>
 
             <section class="section" id="the_battery">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Battery, the Battery, the Battery</h3>
+                <h2 class="section-title h h2">The Battery, the Battery, the Battery</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
               </div>
+
+              <section class="subsection box update" id="the_battery-2022_06_11-update">
+                <header class="article-header header">
+                  <h3 class="subsection-title h h3">2022 / 06 / 11 Update</h3>
+                </header>
+
+                <div class="subsection-content">
+                  <p class="p">
+                    I have performed some additional testing and found that the battery life can last quite a long time in the right conditions. I set only the cellular radio on (and with all of the other switches toggled off). I enabled suspend mode. Leaving the phone on over night (the initial charge is around 90% for this test) and found the battery to be between 40% and 50%. I believe that when the phone is idle and the cellular radio is on the phone should be able to achieve between 12 to 24 hours of battery life. This is a very rough approximation but this does provide promising results.
+                  </p>
+                </div>
+              </section>
             </section>
 
             <section class="section" id="the_battery">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Librem5 Charger</h3>
+                <h2 class="section-title h h2">The Librem5 Charger</h2>
               </header>
 
               <div class="section-content">
                 <img src="images/news/2022_06_04/02-the_charger-300.png" alt="The Librem5 charger." title="Librem5 charger." class="image content left margin-1rem">
-                <p>
+                <p class="p">
                   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>
+                <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>).
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
               </div>
 
             <section class="section" id="the_camera">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Librem5 Camera</h3>
+                <h2 class="section-title h h2">The Librem5 Camera</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <p class="p">
                   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>
+                <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.
                 </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.
                 </div>
-                <p>
+                <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.
                 </p>
               </div>
+
+              <section class="subsection box update" id="the_camera-2022_06_11-update">
+                <header class="article-header header">
+                  <h3 class="subsection-title h h3">2022 / 06 / 11 Update</h3>
+                </header>
+
+                <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>.
+                  </p>
+                </div>
+              </section>
             </section>
 
             <section class="section" id="the_camera">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Purism OpenPGP Card</h3>
+                <h2 class="section-title h h2">The Purism OpenPGP Card</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
                 <div class="tip">
 
             <section class="section" id="phone_calls">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">Phone Calls</h3>
+                <h2 class="section-title h h2">Phone Calls</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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.
                 </p>
-                <p>
+                <p class="p">
                   There is also built in encrypted call support. I have not tried this yet.
                 </p>
               </div>
 
             <section class="section" id="phone_calls">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">Text messages</h3>
+                <h2 class="section-title h h2">Text messages</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <p class="p">
                   Normal text messages work fine out of the box. Sending a picture does not.
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
-                <p>
+                <p class="p">
                   The only thing I can think of is that it is still somewhere in the modem and I need to study more on how to use <code class="code">mmcli</code> program. I find the interface horrendous and I am considering writing a replacement to this program.
                 </p>
               </div>
 
             <section class="section" id="screen_off_notification">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">Screen Off Notification</h3>
+                <h2 class="section-title h h2">Screen Off Notification</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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>.
                 </p>
-                <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.
                 </p>
               </div>
 
             <section class="section" id="the_keyboard">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Keyboard</h3>
+                <h2 class="section-title h h2">The Keyboard</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
               </div>
 
             <section class="section" id="the_pinephone_dock">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Pinephone Dock</h3>
+                <h2 class="section-title h h2">The Pinephone Dock</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
               </div>
 
             <section class="section" id="usability">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">Usability</h3>
+                <h2 class="section-title h h2">Usability</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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>
+                <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.
                 </p>
               </div>
 
             <section class="section" id="the_switches">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Switches</h3>
+                <h2 class="section-title h h2">The Switches</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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.
                 </p>
               </div>
 
             <section class="section" id="the_open_source">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">The Open-Source</h3>
+                <h2 class="section-title h h2">The Open-Source</h2>
               </header>
 
               <div class="section-content">
-                <p>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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.
                 </p>
               </div>
 
             <section class="section" id="bottom_line">
               <header class="article-header header separate">
-                <h3 class="section-title h h3">Bottom Line</h3>
+                <h2 class="section-title h h2">Bottom Line</h2>
               </header>
 
               <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>
+                <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.
                 </p>
-                <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.
                 </p>
-                <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>
+                <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.
                 </p>
-                <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>
+                <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.
                 </p>
-                <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.
                 </p>
               </div>
             </section>
 
-            <p>
+            <p class="p">
               <strong>Kevin Day</strong>
             </p>
           </div>
index 4fca153d602e28f46cd7bf0ba77d8548c1857e32..7fc86bd27706d5d40bc9d6db9a539703f14c1873 100644 (file)
@@ -73,7 +73,7 @@
           </header>
 
           <div class="main-content">
-            <p>
+            <p class="p">
               No content found at the requested path. Please go back or <a href="index.html" class="nav-text link">consider visiting to the site index page</a>.
             </p>
           </div>
index 6841a775465383dbaa1b7b84ee38772c440ed734..f569783a0c7b81ed7dcb970374116c8bd1bd29d6 100644 (file)
               <h2 class="article-title h h2">Programs</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The Featureless Linux Library is a major project and has several sub-parts, including several programs. The <abbr title="Featureless Linux Library">FLL</abbr> is broken up into multiple sub-projects that are libraries themselves or programs. This page describes those programs from <abbr title="Featureless Linux Library">FLL</abbr> as well as any other programs and projects associated with Kevux Systems or Kevin Day.
               </p>
-              <p>
+              <p class="p">
                 Of particular note is that most, if not all, of the Kevux Systems programs are written to provide an <abbr title="Application Programming Interface">API</abbr> (and its respective <abbr title="Application Binary Interface">ABI</abbr>). This allows the programs themselves to be used as a library.
               </p>
-              <p>
+              <p class="p">
                 The programs themselves follow <abbr title="Featureless Linux Library">FLL</abbr> design principles on making the interface human-friendly. Software should be a tool for humans, and not a tool for machines.
               </p>
             </div>
               <h2 class="article-title h h2">Byte Dump</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This tool is a nifty way to get a <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> friendly <code class="code">hexdump</code> alternative.<br>
                 The output is intended to honor some of the feel of hexdump but do so in an <abbr title="Featureless Linux Library">FLL</abbr> way.
               </p>
               <h2 class="article-title h h2">Control</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This project is not complete and development is planned for the <abbr title="Featureless Linux Library">FLL</abbr> 0.7 development series.<br>
                 <br>
                 The goal of this is to communicate with the "Controller" program, such as starting or stopping services.
               <h2 class="article-title h h2">Controller</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This project is not complete and development is planned for the <abbr title="Featureless Linux Library">FLL</abbr> 0.7 development series.
               </p>
-              <p>
+              <p class="p">
                 The goal of this is to provide task and service management similar to sysvinit, initng, and systemd.<br>
                 This is designed to be used for booting the system as if it were <code class="code">/sbin/init</code>.
               </p>
-              <p>
+              <p class="p">
                 This should be controllable from user-space via the "Control" program.
               </p>
             </div>
               <h2 class="article-title h h2">Featureless Make</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The Featureless Make is the original program and goal of the <abbr title="Featureless Linux Library">FLL</abbr>.<br>
                 The GNU Make, Autoconf, and all those build processes are unnecessarily complex.
               </p>
-              <p>
+              <p class="p">
                 A major problem with these build systems is that they try to manage installation as well as compilation.<br>
                 A build system should be just that a build system.<br>
                 Trying to handle how the built package gets installed should be done by system administrators or distributors.<br>
                 By avoiding this, the code becomes simpler, more "featureless", easier to maintain, and easier to hack.
               </p>
-              <p>
+              <p class="p">
                 The Featureless Make, also called Fake, provides two primary ways to compile C, C++, and possibly other compiled languages:
               </p>
               <ul>
                 <li>Using the "build" command.</li>
                 <li>Using the "make" command.</li>
               </ul>
-              <p>
+              <p class="p">
                 The build command is as simple as it can be and follows a Featureless Settings Specification (FSS).<br>
                 The make command (and its respective fakefile) provides a more advanced interface for handling complex build processes or compiling languages other than C/C++.
               </p>
-              <p>
+              <p class="p">
                 The build command (and subsequently the make command) currently provide some hard coded program settings, such as the indexer "ar" runs ar rcs.<br>
                 Eventually such things will be expanded into an FSS setting and made customizable.
               </p>
-              <p>
+              <p class="p">
                 Both the build and make commands support a small subset of make and autoconf functionality to make transitioning easier or make it easy to work alongside make and autoconf.
               </p>
-              <p>
+              <p class="p">
                 To help with understanding and using the Featureless Make program, fully functional example build settings and fakefiles are created for the program bzip (specifically version 1.0.8):
               </p>
               <ul>
                 <li><a href="https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/projects/bzip2/1.0.8/settings-bzip2" class="link external">https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/projects/bzip2/1.0.8/settings-bzip2</a></li>
                 <li><a href="https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/projects/bzip2/1.0.8/settings-bzip2recover" class="link external">https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/projects/bzip2/1.0.8/settings-bzip2recover</a></li>
               </ul>
-              <p>
+              <p class="p">
                 There is also a fakefile pre-configured to run GNU Make within itself to compile the Linux kernel fom source:
               </p>
               <ul>
                 <li><a href="https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/build/fakefile-example-linux_using_make" class="link external">https://sourceforge.net/p/fll/git/ci/development/tree/level_3/fake/data/build/fakefile-example-linux_using_make</a></li>
               </ul>
-              <p>
+              <p class="p">
                 Bzip2 may be found here:
               </p>
               <ul>
               <h2 class="article-title h h2">Firewall</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is one of the earliest proof of concept and functional example of the FLL library.<br>
                 Now it is currently outdated, but it still remains operational as an iptables wrapper.<br>
                 This program is actively used on the Turtle Kevux distribution.<br>
               <h2 class="article-title h h2">FSS Identify</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program reading a file and determining what Featureless Settings Specification.<br>
                 This only detects files that provide an <abbr title="Featureless Settings Specification">FSS</abbr> header.
               </p>
               <h2 class="article-title h h2">FSS Basic Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0000 (Basic).<br>
                 This performs read operations related to the FSS-0000 (Basic) standard.
               </p>
               <h2 class="article-title h h2">FSS Basic Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0000 (Basic).<br>
                 This performs write operations related to the FSS-0002 (Basic) standard.
               </p>
               <h2 class="article-title h h2">FSS Basic List Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0002 (Basic List).<br>
                 This performs read operations related to the FSS-0002 (Basic List) standard.
               </p>
               <h2 class="article-title h h2">FSS Basic List Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0002 (Basic List).<br>
                 This performs write operations related to the FSS-0002 (Basic List) standard.
               </p>
               <h2 class="article-title h h2">FSS Embedded List Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0008 (Embedded List).<br>
                 This performs read operations related to the FSS-0008 (Embedded List) standard.
               </p>
               <h2 class="article-title h h2">FSS Embedded List Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0008 (Embedded List).<br>
                 This performs write operations related to the FSS-0008 (Embedded List) standard.
               </p>
               <h2 class="article-title h h2">FSS Extended Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0001 (Extended).<br>
                 This performs read operations related to the FSS-0001 (Extended) standard.
               </p>
               <h2 class="article-title h h2">FSS Extended Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0001 (Extended).<br>
                 This performs write operations related to the FSS-0001 (Extended) standard.
               </p>
               <h2 class="article-title h h2">FSS Extended List Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0003 (Extended List).<br>
                 This performs read operations related to the FSS-0003 (Extended List) standard.
               </p>
               <h2 class="article-title h h2">FSS Extended List Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-0003 (Extended List).<br>
                 This performs write operations related to the FSS-0003 (Extended List) standard.
               </p>
               <h2 class="article-title h h2">FSS Payload Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-000E (Payload).<br>
                 This performs read operations related to the FSS-000E (Payload) standard.<br>
-              <p>
-              <p>
+              <p class="p">
+              <p class="p">
                 The FSS-000E (Payload) is focused on network communication and is intended to be used inside a network packet.<br>
                 This program can be used to manually read a network packet or data from the network.
               </p>
               <h2 class="article-title h h2">FSS Payload Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This is a program implementing the Featureless Settings Specification FSS-000E (Payload).<br>
                 This performs write operations related to the FSS-000E (Payload) standard.<br>
-              <p>
-              <p>
+              <p class="p">
+              <p class="p">
                 The FSS-000E (Payload) is focused on network communication and is intended to be used inside a network packet.<br>
                 This program can be used to manually write the payload portion of a network packet.
               </p>
               <h2 class="article-title h h2">FSS Status Code</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This program is designed to interpret status codes returned by any <abbr title="Featureless Settings Specification">FSS</abbr> program.<br>
                 The status codes are converted to or from a code and a label.
               </p>
-              <p>
+              <p class="p">
                 This program handles more status codes that the <code class="code">status_code</code> program.
               </p>
             </div>
               <h2 class="article-title h h2">Status Code</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 This program is designed to interpret status codes returned by any <abbr title="Featureless Linux Libray">FLL</abbr> based program.<br>
                 The status codes are converted to or from a code and a label.
               </p>
-              <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.
               </p>
               <h2 class="article-title h h2">IKI Read</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 Similar to the FSS Read programs, this is a program implementing the Featureless Settings Specification IKI-0000 (Unrestricted).<br>
                 This performs read operations related to the Unrestricted IKI standard (IKI-0000).<br>
-              <p>
-              <p>
+              <p class="p">
+              <p class="p">
                 The IKI settings specification plays on how it is simpler than a Wiki syntax.<br>
                 The IKI could be used for anything from e-mails and text-messages to word-processors.<br>
                 The goal with IKI is to be very easily readably by a human, such as: <code class="code">iki:"example"</code> or <code class="code">url:"https://sourceforge.net/projects/fll/"</code>.
               </p>
-              <p>
+              <p class="p">
                 This program is a swiss army knife for reading files that contain IKI syntax.
               </p>
             </div>
               <h2 class="article-title h h2">IKI Write</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 Similar to the FSS Write programs, this is a program implementing the Featureless Settings Specification IKI-0000 (Unrestricted).<br>
                 This performs write operations related to the Unrestricted IKI standard (IKI-0000).<br>
-              <p>
-              <p>
+              <p class="p">
+              <p class="p">
                 The IKI settings specification plays on how it is simpler than a Wiki syntax.<br>
                 The IKI could be used for anything from e-mails and text-messages to word-processors.<br>
                 The goal with IKI is to be very easily readably by a human, such as: <code class="code">iki:"example"</code> or <code class="code">url:"https://sourceforge.net/projects/fll/"</code>.
               </p>
-              <p>
+              <p class="p">
                 This program is a swiss army knife for writing files that contain IKI syntax.
               </p>
             </div>
               <h2 class="article-title h h2">UTF8</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 A tool to convert one or more <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> characters from the codepoint representation to a binary representation and back.
               </p>
-              <p>
+              <p class="p">
                 This program can convert complete files into a text file of <abbr title="Unicode Transformation Format 8-bit">UTF-8</abbr> bytecode values.<br>
                 This program can convert complete files into a text file of space separated codepoint values.
               </p>
index af9f9111909dae187039b198d5ff53f7eff947b7..39f2e26390d774fb0e2ff4950880ef1dcc1c9f13 100644 (file)
               <h2 class="article-title h h2">Featureless Linux Library</h2>
             </header>
             <div class="article-content">
-              <p>
+              <p class="p">
                 The source code for the <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>
+              <p class="p">
                 The following represent the primary source code locations as well as backup locations at external websites:
               </p>
               <ul>
             </header>
 
             <div class="article-content">
-              <p>
+              <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.
               </p>
-              <p>
+              <p class="p">
                 The following represents the most recently available release:
               </p>
               <ul>
             </header>
 
             <div class="article-content">
-              <p>
+              <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.
               </p>
-              <p>
+              <p class="p">
                 The following represents the most recently available release:
               </p>
               <ul>
             </header>
 
             <div class="article-content">
-              <p>
+              <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.
               </p>
-              <p>
+              <p class="p">
                 The following is the link:
               </p>
               <ul>
                 <li><a href="documents/website/2022/kevux.org-2022_06_04.tar.gz" class="link download">kevux.org (2022/06/04)</a> (<a href="documents/website/2022/kevux.org-2022_06_04.tar.sha256" class="link download">SHA256</a>) (<a href="documents/website/2022/kevux.org-2022_06_04.tar.sign" class="link download">PGP</a>)</li>
               </ul>
-              <p>
+              <p class="p">
                 Most of the changes for this website are also made publicly available through repositories hosted on third-party websites and services.
                 To see a history of all of the changes or get the latest version of the website, visit any of these repositories.
               </p>