@@ -286,16 +286,16 @@
The pre-packaged releases may also be found on the following external websites:
The bare releases may be found on the following websites:
diff --git a/fll/design.html b/fll/design.html
index 908ec31..81260ad 100644
--- a/fll/design.html
+++ b/fll/design.html
@@ -105,25 +105,25 @@
To better understand the core principles and even philosophy behind this FLL project one must first understand some key terminology from the perspective of what the terms do or are for rather than what the direct meaning of the words are.
- The term software is understood as thought. That is to say, if you have an idea in your mind then treat this idea as software. This perspective introduces a problem, a problem of ambiguity. Software is more than an idea when it is on a computer. The general definition of software can refer to source code, binaries, or data (data encompasses both source code and binaries but for the purposes here please ignore this fact). A binary is usually created from source code.
+ The term software is understood as thought. That is to say, if you have an idea in your mind then treat this idea as software. This perspective introduces a problem, a problem of ambiguity. Software is more than an idea when it is on a computer. The general definition of software can refer to source code, binaries, or data (data encompasses both source code and binaries but for the purposes here please ignore this fact). A binary is usually created from source code.
- The perspective on source code should be described first to address the problem. Source Code is an idea communicated through some language. A single idea may be expressed differently between two distinct languages and still be the same idea. However, the representation of that idea may be limited or otherwise influenced by the constraints or limitation of a language.
+ The perspective on source code should be described first to address the problem. Source Code is an idea communicated through some language. A single idea may be expressed differently between two distinct languages and still be the same idea. However, the representation of that idea may be limited or otherwise influenced by the constraints or limitation of a language.
- When the source code is compiled, interpreted, or otherwise converted into machine code, the idea behind the source code is now represented in a new language, the machine language. This resulting representation in the machine language is the binary.
+ When the source code is compiled, interpreted, or otherwise converted into machine code, the idea behind the source code is now represented in a new language, the machine language. This resulting representation in the machine language is the binary.
- At this point the software, be it the source code or the binary is synonymous with spoken words. There is no product, only just a spoken and recored idea constrained by the language it is spoken in.
+ At this point the software, be it the source code or the binary is synonymous with spoken words. There is no product, only just a spoken and recored idea constrained by the language it is spoken in.
- The magic happens when the machine computes. This computation of the communicated idea requires hardware. It is this hardware that manifests the idea into reality. A product, therefore, may only exist in conjunction with some hardware.
+ The magic happens when the machine computes. This computation of the communicated idea requires hardware. It is this hardware that manifests the idea into reality. A product, therefore, may only exist in conjunction with some hardware.
- The world as it currently exists is a world of restrictions and patents. Supposedly an idea is not patentable. Supposedly math cannot be patented. Yet with software effectively being a written or spoken idea, often represented in mathematical equations, is treated as patentable.
+ The world as it currently exists is a world of restrictions and patents. Supposedly an idea is not patentable. Supposedly math cannot be patented. Yet with software effectively being a written or spoken idea, often represented in mathematical equations, is treated as patentable.
- Associating, or otherwise linking, an idea is somehow treated as if the originator of the first spoken idea spoke the second idea. Take a conversation, for example. If the first person says "I like cake." and the second person says "I like candles on cake." then does that mean the first person is the one who originated the statement "I like candles on cake."? Of course not. But the legal system in the United States of America, and perhaps the world, have decided otherwise. That is to say, linking one binary to another (somehow) creates a combined product. This appears to be some sort of magical fairy dust lawyers use to convince people that what you are smelling is actually a rose rather than something bovine herders have to shovel up from time to time.
+ Associating, or otherwise linking, an idea is somehow treated as if the originator of the first spoken idea spoke the second idea. Take a conversation, for example. If the first person says "I like cake." and the second person says "I like candles on cake." then does that mean the first person is the one who originated the statement "I like candles on cake."? Of course not. But the legal system in the United States of America, and perhaps the world, have decided otherwise. That is to say, linking one binary to another (somehow) creates a combined product. This appears to be some sort of magical fairy dust lawyers use to convince people that what you are smelling is actually a rose rather than something bovine herders have to shovel up from time to time.
The core principle of this project is to use legal means to make such an absurdity illegal. Thus the copyrights, such as the LGPLv2.1+ license, are utilized. The goal here is not to deny a person the ability to make a product and sell it. Instead, the goal here is so that a person who makes a product can actually make and sell it. Just because a bird house has nails in it doesn't mean the originator of the nails now owns all rights to the bird house. Just because an AMD motherboard has an Nvidia graphics card connected to it does not mean AMD now owns all rights to the Nvidia graphics card.
@@ -147,28 +147,28 @@
Long term stability is a flag ship goal of this project. To that extent, stable releases are to be maintained indefinitely. Ideally, this will hold true only for 1.0 releases and beyond but in practice pre-1.0 may also seek this goal. For long term stability, API breakage is not allowed with a stable release. For those people out there who blindly apply infinites to everything, stop it. If there is some major security issue or other such extreme problem then API breakage can be considered. This will, however, be strongly resisted to ensure only necessary breakage occurs. Strong resistence is not the same as never allowing.
- The term "featureless" is loosely used in this project to describe the idea that a project should not constantly add features like a kid in a candy shop wanting to try every new piece of candy they find. The entire FLL project is designed so that you can do as you will so long as you do not deny another person the same. This means that you are free to add as many features as you like. In your own project. Or in your own hacked variation. This project shall attempt to maintain a discrete set of functionality specific to each stable release and the goals of that release.
+ The term "featureless" is loosely used in this project to describe the idea that a project should not constantly add features like a kid in a candy shop wanting to try every new piece of candy they find. The entire FLL project is designed so that you can do as you will so long as you do not deny another person the same. This means that you are free to add as many features as you like. In your own project. Or in your own hacked variation. This project shall attempt to maintain a discrete set of functionality specific to each stable release and the goals of that release.
Temporal constraints may result in a stable release being made without all of the intended features. These such cases should be treated on a per-situation basis. Changes to a stable release to add features that did not make it is still discouraged and should be avoided. Futhermore, there is an undescribed point in time in which if a stable release has not achieve a planned or intended feature then that feature should never be added. Time matters. For example, if version 1.0 was supposed to bake a cake and failed to get that functionality but then 10-years later (when 3d-printing evolved into 3d-baking) the version 1.0 must not have the "bake a cake" feature added. Too much time has passed. Just make a 1.2 release for baking cakes. The rule of thumb is flexibility for short term and rigidity for long term.
- The FLL project has the word "library" in the name. For good reason. The primary purpose of this project is to be used as a library. The original flag ship of this project is the Featureless Make program. Notice the word "program". The FLL project does contain related programs but these are kept to a minimal. The purpose of the programs in this project are to have fully functional and usable example programs. They are not examples in the traditional sense but are instead full blown implementations.
+ The FLL project has the word "library" in the name. For good reason. The primary purpose of this project is to be used as a library. The original flag ship of this project is the Featureless Make program. Notice the word "program". The FLL project does contain related programs but these are kept to a minimal. The purpose of the programs in this project are to have fully functional and usable example programs. They are not examples in the traditional sense but are instead full blown implementations.
- The Featureless Make is also an exception case. I wrote a thesis regarding the GNU make system and I proposed the Featureless Make as a solution that utilizes the Featureless Settings Specification. This is the foundation that birthed the Featureless Linux Library. For this reason, the Featureless Make will always be part of the FLL project.
+ The Featureless Make is also an exception case. I wrote a thesis regarding the GNU make system and I proposed the Featureless Make as a solution that utilizes the Featureless Settings Specification. This is the foundation that birthed the Featureless Linux Library. For this reason, the Featureless Make will always be part of the FLL project.
- Many of the programs provided by the FLL are a way of extending the library in such a way that a shell script, such as GNU Bash, can utilize the library. Programs like the FSS Basic Read are examples of this.
+ Many of the programs provided by the FLL are a way of extending the library in such a way that a shell script, such as GNU Bash, can utilize the library. Programs like the FSS Basic Read are examples of this.
- Other programs, namely the Controller program are not intended to be directly part of this project in the long term. They exist within this project for development convenience. Eventually they will budd off into their own separate project. These separate projects will still depend on and use the FLL.
+ Other programs, namely the Controller program are not intended to be directly part of this project in the long term. They exist within this project for development convenience. Eventually they will budd off into their own separate project. These separate projects will still depend on and use the FLL.
The way in which data is stored, utilized, and communicated should also follow similar design and principles. The standards and their accompanying specifications are provided by the FLL to achieve this.
- Keep it simple is one of the goals of the project. But again, all of you people out there that love infinitives, stop it. This project follows "keep it simple" rather than "keep it absolutely simple". There are many situations where complexity is not only encouraged but also necessary.
+ Keep it simple is one of the goals of the project. But again, all of you people out there that love infinitives, stop it. This project follows "keep it simple" rather than "keep it absolutely simple". There are many situations where complexity is not only encouraged but also necessary.
diff --git a/fll/specifications.html b/fll/specifications.html
index 3fdc589..d510ff1 100644
--- a/fll/specifications.html
+++ b/fll/specifications.html
@@ -145,10 +145,10 @@
- The Featureless Linux Library defines several standards for use in this project. Many of these standards are defined via the Featureless Settings Specifications. Most of these are focused on settings files (configuration files) but are written general enough to support a wide range of uses. The original project that the FLL project is built around is the Featureless Make program, also called Fake. The Fake program is a great example on how the FSS are intended to be used.
+ The Featureless Linux Library defines several standards for use in this project. Many of these standards are defined via the Featureless Settings Specifications. Most of these are focused on settings files (configuration files) but are written general enough to support a wide range of uses. The original project that the FLL project is built around is the Featureless Make program, also called Fake. The Fake program is a great example on how the FSS are intended to be used.
- The standards are not limited to those defined in the FSS. There are the IKI standards (which is not an acronym). The term IKI plays off of the term Wiki. The IKI standard is intended to have simpler syntax than a Wiki syntax and is used in several FLL projects and even inside standards defined by FSS.
+ The standards are not limited to those defined in the FSS. There are the IKI standards (which is not an acronym). The term IKI plays off of the term Wiki. The IKI standard is intended to have simpler syntax than a Wiki syntax and is used in several FLL projects and even inside standards defined by FSS.
@@ -160,32 +160,32 @@
- The Featureless Settings Specifications describe a set of standards designed around the age-old design principle referred to as Keep It Simple Stupid, aka KISS. The FSS are primarily intended for settings files but are extensible enough to be used beyond that.
+ The Featureless Settings Specifications describe a set of standards designed around the age-old design principle referred to as Keep It Simple Stupid, aka KISS. The FSS are primarily intended for settings files but are extensible enough to be used beyond that.
The FSS defines the following:
- Will consist of numerous different kinds of specification files, depending on the type of information stored.
- - As with the practice of "
#!/bin/bash
", the setting files should have the following: "# fss-????" format, such as "# FSS-0001
".
+ - As with the practice of "
#!/bin/bash
", the setting files should have the following: "# fss-????" format, such as "# FSS-0001
".
- Multiple sub-standards may be appended to the FSS header, using the same format structure, such as supporting IKI: "# FSS-0000 iki-0000" or HTML5: "# FSS-0000 html-0005".
- With the
?
representing the (hexadecimal/base-16) number that represents the particular specification structure.
- - All settings specifications should avoid any form of noise, relative to the data being stored.
+ - All settings specifications should avoid any form of noise, relative to the data being stored.
- XML would be considered anti-KISS due to the extreme level of noise generated by the XML language (not easy to read).
- The settings files are setup so that they should (reasonably) produce easy readability on both the console and in a GUI.
- The specifications should strive for completeness (see the Completeness Theorem).
- The most basic form of FSS consists of two main parts: an Object and the Content.
+ The most basic form of FSS consists of two main parts: an Object and the Content.
-
- Object
- - Considered the name or identifier of some property or data. Objects do not require an associated Content.
+ - Object
+ - Considered the name or identifier of some property or data. Objects do not require an associated Content.
-
- Content
- - The data associated with a given Object; all Content must have an associated Object.
+ - Content
+ - The data associated with a given Object; all Content must have an associated Object.
@@ -196,7 +196,7 @@
Contents may be broken up into zero or more discrete sets of Content.
Each of these discrete sets of Content are referred to as a column.
- These columns do not need to be setup in a column structure, the word column is simply used as a grouping terminology.
+ These columns do not need to be setup in a column structure, the word column is simply used as a grouping terminology.
While a Content refers to the entire set, a column (more specifically, a Content column) refers to the individual discrete sets within the Content.
For example, in fss-000 (Basic)
the entire Content may be further represented as a single column.
For example, in fss-001 (Extended)
the entire Content may be further represented as multiple columns.
@@ -208,8 +208,8 @@
Unless otherwise specified, all specifications are newline sensitive (\n
only).
Newline characters are only \n
and are never anything else (\r
is not considered newline in any manner).
- These specifications refer to characters that have printable representation as printable.
- These specifications refer to characters that have no printable representation as non-printable.
+ These specifications refer to characters that have printable representation as printable.
+ These specifications refer to characters that have no printable representation as non-printable.
White spaces characters that are printable, such as tabs and spaces, must be considered the same type for the purposes of parsing.
Non-printing white spaces characters (zero-width characters) are ignored, are treated as placeholders for processing with the exception of combining characters.
@@ -244,7 +244,7 @@
Unless otherwise specified, character/data delimits are performed only when required and not unilaterally.
In the case of Objects, delimits would only apply when that Object could be potentially identified as an Object.
- For example, FSS-0001 (Extended)
needs quotes to group parts that include spaces, if there is no initial quote, then a quote following the data must not be delimited.
+ For example, FSS-0001 (Extended)
needs quotes to group parts that include spaces, if there is no initial quote, then a quote following the data must not be delimited.
Such as these following three lines:
@@ -306,30 +306,30 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
This means that if there is white space before the designation symbol (the pound #
character) then that white space is ignored.
- Unless otherwise specified, all designation characters must represent ASCII codes.
+ Unless otherwise specified, all designation characters must represent ASCII codes.
With designation characters being any character code used to designate how to identify an Object or Content (such as a colon :
at the end of a basic list).
This keeps the processing and logic simple and safe, for both UTF-8 and ASCII.
- White space used for designation characters must include support for UTF-8 white space characters, unless otherwise specified.
+ White space used for designation characters must include support for UTF-8 white space characters, unless otherwise specified.
However, these white space used as a designation character, must be printing white space that are not combining white space characters.
Any visible/graph character that is considered a white space (such as U+1680
á
) is not to be considered a white space, unless otherwise specified.
When used for syntax matching purposes, zero-width Unicode characters are only to be considered zero-width unless otherwise specified.
- For example, the invisible plus character (U+2064
) is not to be considered as a plus.
+ For example, the invisible plus character (U+2064
) is not to be considered as a plus.
The UTF-8 BOM is not allowed as a Byte Order Mark; instead, it must always be treated as the character represented by its code (unless explicitly allowed to represent a BOM by a standard).
- The only Unicode dash-like characters allowed as a dash are those intended to connect, such as the Unicode hyphens (U+2010
and U+2011
) (unless otherwise specified).
+ The only Unicode dash-like characters allowed as a dash are those intended to connect, such as the Unicode hyphens (U+2010
and U+2011
) (unless otherwise specified).
- In any specification where security is intended, if there exists a Unicode character that matches an ASCII character, that Unicode character may be prohibited by that standard in favor of the ASCII equivalent.
+ In any specification where security is intended, if there exists a Unicode character that matches an ASCII character, that Unicode character may be prohibited by that standard in favor of the ASCII equivalent.
One such example is in the case of a URL, where the name could be used to trick a person (http://this-site.com/
vs http://thisâsite.com/
).
This (potential insecure behavior) is allowed in general because a well written program would be able to detect and communicate the possible misunderstanding and thereby avoid mistakes without imposing any character restrictions.
- This is a common behavior for security reasons, each character used for any special purposes must be visibly distinct, with white space and non-printing characters as the exception to the words visibly distinct.
+ This is a common behavior for security reasons, each character used for any special purposes must be visibly distinct, with white space and non-printing characters as the exception to the words visibly distinct.
The following are core specifications (each with a common name associated with the specification number):
@@ -367,8 +367,8 @@ Object_2 This is multiple\" Contents and the trailing quote does not need to be
The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
- The variable name is considered the Object.
- The variable value is considered the Content.
+ The variable name is considered the Object.
+ The variable value is considered the Content.
The IKI format will use iki-0000
to represent an IKI with no explicitly defined vocabulary.
@@ -463,7 +463,7 @@ Contents would be:
- The Completeness Theorem represents an informal theory by Kevin Day focusing on how software should be complete. The theory has not been formalized and the following is a basic explanation. A formal definition may be provided in the future.
+ The Completeness Theorem represents an informal theory by Kevin Day focusing on how software should be complete. The theory has not been formalized and the following is a basic explanation. A formal definition may be provided in the future.
When developing software, one should not program for the minimum requirements. Instead, one should consider the scope of the project and its intended design. Taking that into consideration all functionality needed to achieve this should be considered and implemented.
@@ -475,22 +475,22 @@ Contents would be:
This does not conflict with KISS but instead complements it.
- If this is not clear, then consider thinking of things this way. The KISS focuses on keeping the design and process simple. The Completeness Theorem focuses on making sure the design is complete.
+ If this is not clear, then consider thinking of things this way. The KISS focuses on keeping the design and process simple. The Completeness Theorem focuses on making sure the design is complete.
- Now if, say a car, is designed to follow KISS but violates the Completeness Theorem, then that car could be built without doors. Not having doors simplifies the car. It is much simpler and easier to get in and out of.
+ Now if, say a car, is designed to follow KISS but violates the Completeness Theorem, then that car could be built without doors. Not having doors simplifies the car. It is much simpler and easier to get in and out of.
- Using that example, a car designed to follow both KISS and the Completeness Theorem would have doors.
+ Using that example, a car designed to follow both KISS and the Completeness Theorem would have doors.
- To better understand the Completeness Theorem, again take the car example. If the car is intended to be used only in say photo shoots and is not in any way intended ever to be used, then as per the Completeness Theorem, the car would not need an engine. Whereas a car designed and intended to be used that does not have an engine would fail to follow the Completeness Theorem.
+ To better understand the Completeness Theorem, again take the car example. If the car is intended to be used only in say photo shoots and is not in any way intended ever to be used, then as per the Completeness Theorem, the car would not need an engine. Whereas a car designed and intended to be used that does not have an engine would fail to follow the Completeness Theorem.
- The Completeness Theorem is subjective and is intended to be used as a guide.
+ The Completeness Theorem is subjective and is intended to be used as a guide.
- The Completeness Theorem asserts that perfection is impossible and pointless and one must instead understand what is necessary to complete the project rather than to handle all possibilities. Simply because perfection isn't possible doesn't mean one must lower their standards or have no standards. Determine what is or is not needed to complete the project and meet that rather than meet less than that.
+ The Completeness Theorem asserts that perfection is impossible and pointless and one must instead understand what is necessary to complete the project rather than to handle all possibilities. Simply because perfection isn't possible doesn't mean one must lower their standards or have no standards. Determine what is or is not needed to complete the project and meet that rather than meet less than that.
@@ -504,11 +504,11 @@ Contents would be:
- ABI
-
- An Application Binary Interface is a binary implementation of an API making it an implementation of a specification. An ABI is neither a specification nor a standard.
+
- An Application Binary Interface is a binary implementation of an API making it an implementation of a specification. An ABI is neither a specification nor a standard.
- API
-
- An Application Programming Interface is a specification of some implementation of a standard be it a formally defined standard or an informally defined standard. This is in effect, documentation. Note that this is a specification of an implementation rather than a specification of a standard.
+
- An Application Programming Interface is a specification of some implementation of a standard be it a formally defined standard or an informally defined standard. This is in effect, documentation. Note that this is a specification of an implementation rather than a specification of a standard.
- Implementation
@@ -520,11 +520,11 @@ Contents would be:
- SBI
-
- A Software Binary Interface is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an ABI. A Software Binary Interface is a more semantically accurate term intended to fully replace the misnamed ABI term.
+
- A Software Binary Interface is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an ABI. A Software Binary Interface is a more semantically accurate term intended to fully replace the misnamed ABI term.
- Service
-
- Any action or labor performed by one party for another party (such as one person helping another person). In regards to computers and networking a service is often used to represent a web service often provided by a website. It is common for people to misrepresent a web service by saying they are using an API when, in fact, they are using a web service.
+
- Any action or labor performed by one party for another party (such as one person helping another person). In regards to computers and networking a service is often used to represent a web service often provided by a website. It is common for people to misrepresent a web service by saying they are using an API when, in fact, they are using a web service.
- Specification
@@ -532,7 +532,7 @@ Contents would be:
- SSI
-
- A Software Source Interface is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an API. A Software Source Interface is a more semantically accurate term intended to fully replace the misnamed API term.
+
- A Software Source Interface is a new term created so that this project can more appropriately communicate the concept of what is traditionally referred to as an API. A Software Source Interface is a more semantically accurate term intended to fully replace the misnamed API term.
- Standard
@@ -540,11 +540,11 @@ Contents would be:
- WSI
-
- A Web Service Interface is a new term created so that this project can more appropriately communicate the concept of a web service. A Web Service Interface describes the interface in which to communicate to and receive response from a web service and is described by or adheres to some web protocol.
+
- A Web Service Interface is a new term created so that this project can more appropriately communicate the concept of a web service. A Web Service Interface describes the interface in which to communicate to and receive response from a web service and is described by or adheres to some web protocol.
- Based on this terminology, a standard is the representation of some set of rules and guidelines, however it is the specification that actually defines and describes those roles. The last 'S' in FSS can therefore be used to represent either "standard" or "specification" in casual speech. Given that an implementation is not a standard, an implementation can deviate from the standard (or the specification of some standard). Such deviations do not alter the standard nor do they alter the specification.
+ Based on this terminology, a standard is the representation of some set of rules and guidelines, however it is the specification that actually defines and describes those roles. The last 'S' in FSS can therefore be used to represent either "standard" or "specification" in casual speech. Given that an implementation is not a standard, an implementation can deviate from the standard (or the specification of some standard). Such deviations do not alter the standard nor do they alter the specification.
Good documentation practices suggest the documentation of an implementation. It is very easy to confuse the specification of an implementation of some standard with the specification of the standard itself. This has happened several times in history where some implementation violates the standard but despite being non-standard that implementation becomes popular. When the specification of that, now non-standard, implementation becomes popularized, those properly following the specification of the standard tend to suffer.
diff --git a/fll/specifications/fss/fss-000e.html b/fll/specifications/fss/fss-000e.html
index d7ea884..fc41614 100644
--- a/fll/specifications/fss/fss-000e.html
+++ b/fll/specifications/fss/fss-000e.html
@@ -84,44 +84,44 @@
This is a fss-0002 (Basic List)
with two required objects:
- - header.
- - payload.
+ - header.
+ - payload.
- The header:
+ The header:
- - The header's Content is of type
fss-0001 (Extended)
.
- - The header is recommended to have the Objects length, status, part, and total.
- - The recommended length represents the size of the payload.
- - The recommended part represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.
- - The recommended total represents the total number of parts representing a complete data transmitted across multiple payloads.
- - The recommended status represents status codes (such as success or failure) and multiple.
- - The Content for the recommended length and status are positive whole numbers (including zero) that may be in binary, octal, decimal, duodecimal, or hexidecimal numerical format.
+ - The header's Content is of type
fss-0001 (Extended)
.
+ - The header is recommended to have the Objects length, status, part, and total.
+ - The recommended length represents the size of the payload.
+ - The recommended part represents a single part of a set of packets for when the data being transmitted is split across multiple payloads.
+ - The recommended total represents the total number of parts representing a complete data transmitted across multiple payloads.
+ - The recommended status represents status codes (such as success or failure) and multiple.
+ - The Content for the recommended length and status are positive whole numbers (including zero) that may be in binary, octal, decimal, duodecimal, or hexidecimal numerical format.
- The payload:
+ The payload:
- - The payload's Content may contain anything, including raw binary data.
- - The payload is required to be the last list Object in the file.
- - The payload is recommended to have its size designated in some manner in the header (such as with the recommended length).
- - The payload is terminated by the EOF character or by the recommended length header.
- - The payload may be empty (length may be zero), but the list Object payload must still exist.
- - Nothing in the payload may be considered a valid list Object by the outer
fss-0002 (Basic List)
and therefore escaping is unnecessary (No further processing by the outer fss-0002 (Basic List)
is allowed at this point).
- - Comments in the payload are not considered comments and are instead considered part of the payload, as-is.
- - Essentially, the payload should be treated as binary data embedded in a text file.
+ - The payload's Content may contain anything, including raw binary data.
+ - The payload is required to be the last list Object in the file.
+ - The payload is recommended to have its size designated in some manner in the header (such as with the recommended length).
+ - The payload is terminated by the EOF character or by the recommended length header.
+ - The payload may be empty (length may be zero), but the list Object payload must still exist.
+ - Nothing in the payload may be considered a valid list Object by the outer
fss-0002 (Basic List)
and therefore escaping is unnecessary (No further processing by the outer fss-0002 (Basic List)
is allowed at this point).
+ - Comments in the payload are not considered comments and are instead considered part of the payload, as-is.
+ - Essentially, the payload should be treated as binary data embedded in a text file.
- The recommended length header Object used to designate the payload size does not necessarily have to be defined in the header.
- That is to say, if the payload is expected to be of some pre-defined or static length then a length does not need to be provided in the header.
+ The recommended length header Object used to designate the payload size does not necessarily have to be defined in the header.
+ That is to say, if the payload is expected to be of some pre-defined or static length then a length does not need to be provided in the header.
- The recommended status header Object may be a string, such as F_none
, or a positive whole number.
+ The recommended status header Object may be a string, such as F_none
, or a positive whole number.
What the status code represents is application specific (or specific to a sub-standard) but may often be used to represent FLL status code.
- - The FLL status code is a 16-bit digit whose first two high-order bits represent error and warning ( representing signal).
+ - The FLL status code is a 16-bit digit whose first two high-order bits represent error and warning ( representing signal).
- The FLL status code as a number is binary sensitive and may not be portable across binaries or systems.
- For best portability, consider using status as a name string to ensure cross-system or cross-binary compatibility.
diff --git a/fll/specifications/fss/fss-000f.html b/fll/specifications/fss/fss-000f.html
index ca53710..3cb73f6 100644
--- a/fll/specifications/fss/fss-000f.html
+++ b/fll/specifications/fss/fss-000f.html
@@ -96,13 +96,13 @@
The Control Block is the first block in the packet and is considered endianless.
There exists only a single byte within the Control Block.
- Regardless of the endianness of the packet, the leftmost bit is always the string or binary bit.
+ Regardless of the endianness of the packet, the leftmost bit is always the string or binary bit.
The second bit following that bit represents the endianness bit.
- The string or binary bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
+ The string or binary bit, a value of 0 designates that the packet is in string format and a value of 1 designates that the packet is in binary format.
While the packet might be considered to be in string format, it is technically always in binary format due to the Control Block and Size Block.
- This means that the bit designating the packet as a string packet or a binary packet is referring to whether or not the Payload Block is in string format or is in binary format.
+ This means that the bit designating the packet as a string packet or a binary packet is referring to whether or not the Payload Block is in string format or is in binary format.
The endianness bit designates whether or not the packet is in big endian or little endian format.
@@ -124,8 +124,8 @@
The Payload Block is not defined by this standard of that that it exists and should be in fss-000e (Payload)
format.
The fss-000e (Payload)
may be represented in either string format or binary format.
- The fss-000e (Payload)
may contain multiple header(s) but may only contain a single payload.
- With this in mind, it is recommended that only a single header be supported in the Payload Block.
+ The fss-000e (Payload)
may contain multiple header(s) but may only contain a single payload.
+ With this in mind, it is recommended that only a single header be supported in the Payload Block.
See the fss-000e (Payload) specification for details on the syntax rules for the Payload Block.
diff --git a/fll/specifications/iki/iki-0000.html b/fll/specifications/iki/iki-0000.html
index aba3156..35d25a7 100644
--- a/fll/specifications/iki/iki-0000.html
+++ b/fll/specifications/iki/iki-0000.html
@@ -100,8 +100,8 @@
The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
- The variable name is considered the Object.
- The variable value is considered the Content.
+ The variable name is considered the Object.
+ The variable value is considered the Content.
The IKI format will use iki-0000
to represent an IKI with no explicitly defined vocabulary.
diff --git a/fll/specifications/iki/iki-0001.html b/fll/specifications/iki/iki-0001.html
index b857e06..d8c8dd8 100644
--- a/fll/specifications/iki/iki-0001.html
+++ b/fll/specifications/iki/iki-0001.html
@@ -142,8 +142,8 @@
The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
- The variable name is considered the Object.
- The variable value is considered the Content.
+ The variable name is considered the Object.
+ The variable value is considered the Content.
The IKI format will use iki-0000
to represent an IKI with no explicitly defined vocabulary.
diff --git a/fll/specifications/iki/iki-0002.html b/fll/specifications/iki/iki-0002.html
index e17ec94..e537ef5 100644
--- a/fll/specifications/iki/iki-0002.html
+++ b/fll/specifications/iki/iki-0002.html
@@ -91,7 +91,7 @@
Flexibility on interpretation is intended so that the context can be more fine-tuned and customized.
- The taxonomy for the context, define, and parameter are intentionally not defined here and left open.
+ The taxonomy for the context, define, and parameter are intentionally not defined here and left open.
One utilizing this should document the taxonomy for each of these as desired.
@@ -126,8 +126,8 @@
The IKI syntax provides a vocabulary name (with specific context associated with it) followed by quoted code that is associated with the given vocabulary name.
The vocabulary represents a list of allowed variable names that may also have specific contextual meaning defined by a given IKI specification.
- The variable name is considered the Object.
- The variable value is considered the Content.
+ The variable name is considered the Object.
+ The variable value is considered the Content.
The IKI format will use iki-0000
to represent an IKI with no explicitly defined vocabulary.
diff --git a/news.html b/news.html
index 78120fe..a797d77 100644
--- a/news.html
+++ b/news.html
@@ -115,7 +115,7 @@
This release should be more portable and testable.
- The BASH alternative ZSH is now supported by several scripts.
+ The BASH alternative ZSH is now supported by several scripts.
Check out the project on the FLL release page.
@@ -136,20 +136,20 @@
The Featureless Linux Library stable version 0.6.0 is released.
- The controller program is a re-interpretation of the Featureless Make program written in a more generalized fashion that is focused on performing a set of tasks.
- This is very similar to a system initialize program such as sysvinit.
+ The controller program is a re-interpretation of the Featureless Make program written in a more generalized fashion that is focused on performing a set of tasks.
+ This is very similar to a system initialize program such as sysvinit.
Support for running as a system initialize replacement is partially complete.
- There is currently no way to send messages to the controller program to start and stop anything.
- The control program, which is used to communicate to the controller program is also incomplete.
+ There is currently no way to send messages to the controller program to start and stop anything.
+ The control program, which is used to communicate to the controller program is also incomplete.
The next FLL development version, the 0.7.0 series, will heavily focused on network protocols.
- The utf8 program is a handy tool to convert from UTF-8 characters to their Unicode value or vice-versa.
+ The utf8 program is a handy tool to convert from UTF-8 characters to their Unicode value or vice-versa.
This can convert entire files.
- Featureless Make has some major changes.
- The fake program now accepts piped data, which must be a valid fakefile.
+ Featureless Make has some major changes.
+ The fake program now accepts piped data, which must be a valid fakefile.
There are new Objects available for the build settings and the fakefile.
@@ -174,12 +174,12 @@
This release is a release canditate for the stable version 0.6.0.
- Unit tests for all level_0 projects now exists (except for f_type which is not planned to ever have unit tests).
+ Unit tests for all level_0 projects now exists (except for f_type which is not planned to ever have unit tests).
Many problems and consistency issue have been identified by the written unit tests and fixed.
The unit tests, however, are neither complete nor thorough.
- There are almost no unit tests for level_1, level_2, or level_3 projects.
+ There are almost no unit tests for level_1, level_2, or level_3 projects.
I noticed that the Unicode processing code is incomplete as of the 0.5.9 release.
@@ -209,10 +209,10 @@
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.
- I supported several phones over years, such as the OpenMoko Freerunner, an embarrassing failure in the community to the leap forward pioneered by the Unbuntu Aquaris. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The Librem5 from Purism has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
+ I supported several phones over years, such as the OpenMoko Freerunner, an embarrassing failure in the community to the leap forward pioneered by the Unbuntu Aquaris. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The Librem5 from Purism has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
- I finally have my Librem5. 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 Pinephone from Pine64. I have discovered good things, bad things, horrible things, and great things about this phone.
+ I finally have my Librem5. 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 Pinephone from Pine64. I have discovered good things, bad things, horrible things, and great things about this phone.
Continue readingâ¦
@@ -248,7 +248,7 @@
Update the website, bringing in my initial pass at the documentation for each of the programs provided by the FLL project. Most of this documentation is copied from the help of each program and any improvements or deviations are incidental.
- While working on the documentation, I discovered and fixed random problems. In particular, the iki_read 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 iki_read program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
+ While working on the documentation, I discovered and fixed random problems. In particular, the iki_read 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 iki_read 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.
Continue readingâ¦
diff --git a/news/2022_05_01-website_redesign.html b/news/2022_05_01-website_redesign.html
index fe83be9..9c62230 100644
--- a/news/2022_05_01-website_redesign.html
+++ b/news/2022_05_01-website_redesign.html
@@ -89,7 +89,7 @@
I also plan on sending out more communications, but I have yet to figure out when and how often I shall do this.
- Kevin Day
+ Kevin Day
diff --git a/news/2022_05_06-basic_program_documentation.html b/news/2022_05_06-basic_program_documentation.html
index e0704a6..94a82bb 100644
--- a/news/2022_05_06-basic_program_documentation.html
+++ b/news/2022_05_06-basic_program_documentation.html
@@ -74,7 +74,7 @@
Update the website, bringing in my initial pass at the documentation for each of the programs provided by the FLL project. Most of this documentation is copied from the help of each program and any improvements or deviations are incidental.
- While working on the documentation, I discovered and fixed random problems. In particular, the iki_read 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 iki_read program is only processing files of length 0 and as a result never produces any output. This is now fixed upstream and I am even happier with the practice of using release candidates.
+ While working on the documentation, I discovered and fixed random problems. In particular, the iki_read 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 iki_read 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.
The website has been updated with an appropriate .htaccess
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.
@@ -83,10 +83,10 @@
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.
- A Source Code link has been added on the index page (the main news page) as a way for people who just want a fast way to get to the latest code.
+ A Source Code 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.
- Kevin Day
+ Kevin Day
diff --git a/news/2022_05_16-fll_specifications_added.html b/news/2022_05_16-fll_specifications_added.html
index 998409e..c91a454 100644
--- a/news/2022_05_16-fll_specifications_added.html
+++ b/news/2022_05_16-fll_specifications_added.html
@@ -86,7 +86,7 @@
I have also added an informal definition of my Completeness Theorem that I always used for just about all of my personal work. This has been in use by the FLL 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).
- Kevin Day
+ Kevin Day
diff --git a/news/2022_06_04-librem_to_freedom.html b/news/2022_06_04-librem_to_freedom.html
index cd8bcfe..3a36962 100644
--- a/news/2022_06_04-librem_to_freedom.html
+++ b/news/2022_06_04-librem_to_freedom.html
@@ -97,13 +97,13 @@
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.
- I supported several phones over years, such as the OpenMoko Freerunner, an embarrassing failure in the community to the leap forward pioneered by the Unbuntu Aquaris. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The Librem5 from Purism has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
+ I supported several phones over years, such as the OpenMoko Freerunner, an embarrassing failure in the community to the leap forward pioneered by the Unbuntu Aquaris. Many of these phones ultimately failed or faded into the night due to a hostile industry, market, and regulations. The Librem5 from Purism has now stepped up to the plate, learned from the past mistakes, and delivered a phone that, while not complete or ideal, lives up to their standards and has thus far survived numerous, and blatant, hostile industry actions and economic disasters.
- I finally have my Librem5. 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 Pinephone from Pine64. I have discovered good things, bad things, horrible things, and great things about this phone.
+ I finally have my Librem5. 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 Pinephone from Pine64. I have discovered good things, bad things, horrible things, and great things about this phone.
- The Pinephone that I have uses mostly the same software as the Librem5. This offers a great comparison. However, much of this software is actually by the Purism. The resulting differences are primarily, but not mostly, the hardware differences.
+ The Pinephone that I have uses mostly the same software as the Librem5. This offers a great comparison. However, much of this software is actually by the Purism. The resulting differences are primarily, but not mostly, the hardware differences.
@@ -115,14 +115,14 @@
- I received the Librem5 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 Pinephone. Most of the software looked the same, except for the camera. I will discuss more on the camera program later on in this document.
+ I received the Librem5 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 Pinephone. Most of the software looked the same, except for the camera. I will discuss more on the camera program later on in this document.
- First things first, I need to change the user name and the encryption keys. I've never bothered with this on the Pinephone and I do not know how different doing this on the Pinephone will be. As for the Librem5 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 Librem5 calls the user name is the displayed account name. Fair enough.
+ First things first, I need to change the user name and the encryption keys. I've never bothered with this on the Pinephone and I do not know how different doing this on the Pinephone will be. As for the Librem5 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 Librem5 calls the user name is the displayed account name. Fair enough.
- I recommend backing up your contacts.db
file. This file should appear after you first start and configure the Contacts program. The contacts.db
file can be located by using the following command on the command line from your home directory:
+ I recommend backing up your contacts.db
file. This file should appear after you first start and configure the Contacts program. The contacts.db
file can be located by using the following command on the command line from your home directory:
# find -name contacts.db
@@ -132,10 +132,10 @@
I rename the user, changing the home directory, updating the /etc/passwd
, /etc/group
, /etc/shadow
, and several other account related files.
- I rebooted the Librem5 phone and it failed to boot. Some part of the boot process is picky about the default name. I found that there is a Jumpdrive program that allows me to boot the phone and expose the disk to another computer. Purism actually provides their own special project, called Librem5 Flash Image for making this amazingly simple. These two tools when combined are amazing. I've never had an easier time accessing a phone over USB. I could access all files on a different machine as if it were a local disk drive.
+ I rebooted the Librem5 phone and it failed to boot. Some part of the boot process is picky about the default name. I found that there is a Jumpdrive program that allows me to boot the phone and expose the disk to another computer. Purism actually provides their own special project, called Librem5 Flash Image for making this amazingly simple. These two tools when combined are amazing. I've never had an easier time accessing a phone over USB. I could access all files on a different machine as if it were a local disk drive.
- The Librem5 Flash Image documentation could be improved because the default configuration installs without full disk encryption. I had to re-flash the Librem5 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 Jumpdrive program and the Librem5 Flash Image) I could just open up a graphical partition and easily fix this.
+ The Librem5 Flash Image documentation could be improved because the default configuration installs without full disk encryption. I had to re-flash the Librem5 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 Jumpdrive program and the Librem5 Flash Image) I could just open up a graphical partition and easily fix this.
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 /etc/fstab
file to ensure that the filesystem is mounted as noatime
.
@@ -175,13 +175,13 @@
- 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 Pinephone. Both the Librem5 and the Pinephone 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 Librem5 phone, the batter life was short. This short life was solved by a simple software update and phone reboot.
+ While waiting an excessively long time to get my phone I have been hearing things about the battery. In my personal experience the battery life is closely comparable to the Pinephone. Both the Librem5 and the Pinephone 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 Librem5 phone, the batter life was short. This short life was solved by a simple software update and phone reboot.
- In physical terms, the Librem5 is a lot easier to remove than the battery from the Pinephone. The batter in the Librem5 is significantly larger than the battery in the Pinephone. I suspect they may last about the same amount of time but I have not bothered to test this.
+ In physical terms, the Librem5 is a lot easier to remove than the battery from the Pinephone. The batter in the Librem5 is significantly larger than the battery in the Pinephone. I suspect they may last about the same amount of time but I have not bothered to test this.
- Both the Librem5 and the Pinephone support suspend and it works well on both. The user interface could use some significant improvement by allowing me to specify when to suspend rather than use some pre-configured set. In fact, I want a program to call just to automatically suspend when I say rather than on some schedule.
+ Both the Librem5 and the Pinephone 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.
@@ -209,13 +209,13 @@
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.
- To make matters worse, the Librem5 documentation states that you must only use the charger provided by Librem5. 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 PPS (the Librem5 uses PPS).
+ To make matters worse, the Librem5 documentation states that you must only use the charger provided by Librem5. 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 PPS (the Librem5 uses PPS).
- Unlike the Pinephone, I have found the Librem5 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 Librem5 using a cheap low Amperage (low Wattage) adapter only when the phone is off.
+ Unlike the Pinephone, I have found the Librem5 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 Librem5 using a cheap low Amperage (low Wattage) adapter only when the phone is off.
- The Librem5 only gets hot from charger when using one of these high powered chargers. I tested the Pinephone 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 Librem5 with a cheap low Amperage (low Wattage) adapter and found that the phone did not get significantly or otherwise noticeably hot.
+ The Librem5 only gets hot from charger when using one of these high powered chargers. I tested the Pinephone 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 Librem5 with a cheap low Amperage (low Wattage) adapter and found that the phone did not get significantly or otherwise noticeably hot.
@@ -230,13 +230,13 @@
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.
- The Pinephone camera works reasonably well. Early on, the Pinephone had pathetic camera support as well and with software improvements the camera became usable. The Librem5 uses a modified version of the megapixels
program. I attempted to install the original, unmodified version of megapixels
and very quickly realized doing so is a bad idea. I did not go past the "Are you Sure?" part.
+ The Pinephone camera works reasonably well. Early on, the Pinephone had pathetic camera support as well and with software improvements the camera became usable. The Librem5 uses a modified version of the megapixels
program. I attempted to install the original, unmodified version of megapixels
and very quickly realized doing so is a bad idea. I did not go past the "Are you Sure?" part.
- I recommend never attempting to install the original megapixels
program on the Librem5. The entire set of Librem5 specific software is a knot of required dependencies. This would likely uninstall everything custom tailored to make the Librem5 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 megapixels
program, then good luck and be prepared to completely re-install your phone.
+ I recommend never attempting to install the original megapixels
program on the Librem5. The entire set of Librem5 specific software is a knot of required dependencies. This would likely uninstall everything custom tailored to make the Librem5 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 megapixels
program, then good luck and be prepared to completely re-install your phone.
- Maybe in a few months from now an update will result in a fully working Librem5 camera. Until then, the Pinephone wins hands down when it comes to the camera.
+ Maybe in a few months from now an update will result in a fully working Librem5 camera. Until then, the Pinephone wins hands down when it comes to the camera.
@@ -247,7 +247,7 @@
- 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 the "Shot on Librem" Librem Social board for pictures taken by numerous owners of the Librem5 phone. There is also a forum page about using Megapixels to make photographs.
+ 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 the "Shot on Librem" Librem Social board for pictures taken by numerous owners of the Librem5 phone. There is also a forum page about using Megapixels to make photographs.
@@ -260,10 +260,10 @@
- This is a specialty of the Librem5 that I have not notice in other phones. The card works great, you just push it in and then go. Follow the instructions to install the correct software, and the card should work.
+ This is a specialty of the Librem5 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.
- If you play with the card, like I do, however, you may run into some problems. I decided to change the admin PIN using the gpg
program. I select the change PIN. As I was typing the old PIN it suddenly went to another prompt before I hit enter. I thought maybe I accidentally hit enter. I then entered in the new PIN. The program then asked for confirmation and I re-entered the PIN. This gave me the impression that the PIN was properly changed. The gpg
did something wrong. I typed in the PIN and it had a problem. I again figured I hit a wrong key on this atrocious keyboard and tried again. Come to find out they have an insanely short permanent lock out after three tries. I bricked the card.
+ If you play with the card, like I do, however, you may run into some problems. I decided to change the admin PIN using the gpg
program. I select the change PIN. As I was typing the old PIN it suddenly went to another prompt before I hit enter. I thought maybe I accidentally hit enter. I then entered in the new PIN. The program then asked for confirmation and I re-entered the PIN. This gave me the impression that the PIN was properly changed. The gpg
did something wrong. I typed in the PIN 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.
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 Florian Wolters. 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.
@@ -301,7 +301,7 @@
- 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 Librem5 design.
+ Phone calls work out of the box and I have had very few problems. In very rare occasions I have had the modem refuse to work. Rebooting the machine does not solve the problem where the modem refuses to work. I had to power off the mode and then power it back on to fix this problem. This is exceptionally easy thanks to the Librem5 design.
There appears to be built in VoIP support. I have not tried this but it should be interesting to see it work.
@@ -322,7 +322,7 @@
Normal text messages work fine out of the box. Sending a picture does not.
- 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 Pinephone. The Pinephone has massive problems with sending and receiving pictures over text messages as well. That means that I do not have a reliable way to test this without bothering some third-party. And asking some less-tech savvy person to spend some time calling me back and forth to confirm or deny that they received or did not receive a text is not a good idea.
+ When I tried sending a picture as a test it appeared to work but the other end did not received the picture. The other end happens to be a Pinephone. The Pinephone 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.
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 mmcli
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 SQL database for local file settings here). Deleting this database file deletes every text message except the one I want to get rid off.
@@ -340,10 +340,10 @@
- The Librem5 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 Pinephone.
+ The Librem5 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 Pinephone.
- The power notification light on the Librem5 is superior to that on the Pinephone. The light better communicates the state of the power and even will turn off after fully charged.
+ The power notification light on the Librem5 is superior to that on the Pinephone. The light better communicates the state of the power and even will turn off after fully charged.
@@ -355,7 +355,7 @@
- The keyboard on the Librem5 is horrible. I get the impression that the programmers, owners, or managers behind the Librem5 are more akin to the new age phone scroll users rather than the more old school keyboard users. The Pinephone uses the same software and has the same horrible keyboard.
+ The keyboard on the Librem5 is horrible. I get the impression that the programmers, owners, or managers behind the Librem5 are more akin to the new age phone scroll users rather than the more old school keyboard users. The Pinephone uses the same software and has the same horrible keyboard.
@@ -367,7 +367,7 @@
- I have the fancy version of the original Pinephone. This version comes with a dock. The dock works well on the Librem5 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 Pinephone uses then an eventual kernel update will get this working.
+ I have the fancy version of the original Pinephone. This version comes with a dock. The dock works well on the Librem5 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 Pinephone uses then an eventual kernel update will get this working.
@@ -379,13 +379,13 @@
- The Librem5 is in a bit of an awkward position. The Purism company, from how things appear to me, are marketing towards a security towards an average person using software and tools from a highly technical field.
+ The Librem5 is in a bit of an awkward position. The Purism company, from how things appear to me, are marketing towards a security towards an average person using software and tools from a highly technical field.
The 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.
- I believe what the Librem5 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 Librem5 (and also the Pinephone for that matter) drops the ball on this. This is a major downside and I would argue is a requirement that should be immediately addressed, two years ago.
+ I believe what the Librem5 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 Librem5 (and also the Pinephone 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.
@@ -397,7 +397,7 @@
- The switches. The Librem5 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 Librem5 fully achieves this. The Pinephone of the falls short like comparing dust devil to a category 5 hurricane.
+ The switches. The Librem5 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 Librem5 fully achieves this. The Pinephone of the falls short like comparing dust devil to a category 5 hurricane.
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.
@@ -412,13 +412,13 @@
- The one biggest advantage of the Librem5 phone is the open-source design. I can install and I have installed numerous programs on the system. I have even installed my FLL project and related programs onto it. No special or unusual action is needed. This is where the Ubuntu Aquaris fell short.
+ The one biggest advantage of the Librem5 phone is the open-source design. I can install and I have installed numerous programs on the system. I have even installed my FLL project and related programs onto it. No special or unusual action is needed. This is where the Ubuntu Aquaris fell short.
- I should not need a system with large amounts of RAM (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 Librem5 and the Pinephone don't suffer from the digital mental disorder.
+ I should not need a system with large amounts of RAM (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 Librem5 and the Pinephone don't suffer from the digital mental disorder.
- The open-firmware provided by the Librem5 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 Librem5 will never truly get the good credit it deserves for the work and effort put into getting an open-firmware design up and running. The way this world currently is, this is an amazing feat. Truly amazing.
+ The open-firmware provided by the Librem5 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 Librem5 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.
@@ -431,31 +431,31 @@
- There are bad things about the Librem5 phone. Things have fallen short. Some are the fault of the company. Some are the fault of the current state of the world. Others are the fault of an industry that does not want to sell to customers willing to pay.
+ There are bad things about the Librem5 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.
- I argue that Librem5 has successfully navigated this mess and has thus far survived where all others failed. The Ubuntu Aquaris was defeated by both their Android-like development stack and the industry refusing to sell what Ubuntu needed.
+ I argue that Librem5 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.
The choice Purism 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).
- The Librem5 phone is not ready for a regular user. Of course, none of the Linux phones have ever been in my experience. The Librem5 is so close to being ready for a regular user that I can almost taste it (metaphorically of course). Give them a few months. Give them a year. By then I hope to see many of these problems I have described here to be resolved. Give them a few years and I expect they will be able to get a better hardware form factor to be more portable and sleek.
+ The Librem5 phone is not ready for a regular user. Of course, none of the Linux phones have ever been in my experience. The Librem5 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.
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.
- I think Librem5 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 Purism can withstand these trials then they will likely have the best phone on the market, despite these growing pains.
+ I think Librem5 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 Purism can withstand these trials then they will likely have the best phone on the market, despite these growing pains.
- I have used several open-source phones. Phones like the OpenMoko Freerunner, I did not get want I wanted. Phones like the Aquaris Ubuntu, I almost got what I wanted and I accepted the situation. Phones like the Pinephone, I got a phone that provides no software and accepted that. With the Librem5, I got the phone that I wanted and expected.
+ I have used several open-source phones. Phones like the OpenMoko Freerunner, I did not get want I wanted. Phones like the Aquaris Ubuntu, I almost got what I wanted and I accepted the situation. Phones like the Pinephone, I got a phone that provides no software and accepted that. With the Librem5, I got the phone that I wanted and expected.
- Kevin Day
+ Kevin Day
diff --git a/news/2022_07_02-fll_0_5_10_release.html b/news/2022_07_02-fll_0_5_10_release.html
index b6a3737..38595ce 100644
--- a/news/2022_07_02-fll_0_5_10_release.html
+++ b/news/2022_07_02-fll_0_5_10_release.html
@@ -77,12 +77,12 @@
The primary focus of the 0.5.10 release is for releasing the 0.6.0 stable release.
- Unit tests for all level_0 projects now exists (except for f_type which is not planned to ever have unit tests).
+ Unit tests for all level_0 projects now exists (except for f_type which is not planned to ever have unit tests).
Many problems and consistency issue have been identified by the written unit tests and fixed.
The unit tests, however, are neither complete nor thorough.
- There are almost no unit tests for level_1, level_2, or level_3 projects.
+ There are almost no unit tests for level_1, level_2, or level_3 projects.
I noticed that the Unicode processing code is incomplete as of the 0.5.9 release.
@@ -93,142 +93,142 @@
There are now over 3000 unit tests for all code in this repository.
- Security Fixes:
+ Security Fixes:
- - FLL: Floating point exception due to incorrect number type used in conversion function.
- - FLL: The realpath() calls malloc() and free() is not called (memory leak).
- - FLL: Incorrect pointers result in incomplete memory deallocation in f_directory.
- - Fake: Add missing NULL at the end of string.
- - Fake: Add missing parameter checks and rename "data" to "custom".
- - Fake: Wrong variable passed resulting in invalid read and writes in Fake.
+ - FLL: Floating point exception due to incorrect number type used in conversion function.
+ - FLL: The realpath() calls malloc() and free() is not called (memory leak).
+ - FLL: Incorrect pointers result in incomplete memory deallocation in f_directory.
+ - Fake: Add missing NULL at the end of string.
+ - Fake: Add missing parameter checks and rename "data" to "custom".
+ - Fake: Wrong variable passed resulting in invalid read and writes in Fake.
- Regression Fixes:
+ Regression Fixes:
- - Controller: Remove invalid validation block.
+ - Controller: Remove invalid validation block.
- Features:
+ Features:
- - FLL: Provide simple script for assisting in the mass generation of Unicode handling code.
- - FLL: Provide rebuild option in package script.
- - IKI Read: The iki_read program should support wrapping a variable value.
- - IKI Read: The iki_read program should support a more generalized substitution process called "replace".
- - UTF8: Add missing functionality allowing the utf8 program to convert back to binary data with invalid codepoints.
+ - FLL: Provide simple script for assisting in the mass generation of Unicode handling code.
+ - FLL: Provide rebuild option in package script.
+ - IKI Read: The iki_read program should support wrapping a variable value.
+ - IKI Read: The iki_read program should support a more generalized substitution process called "replace".
+ - UTF8: Add missing functionality allowing the utf8 program to convert back to binary data with invalid codepoints.
- Bug Fixes:
+ Bug Fixes:
- - FLL: Signal code is not being set when accepted signal is received.
- - FLL: Problems and clean ups exposed when writing f_thread unit tests.
- - FLL: The < 0xc2 test is supposed to be against the first byte rather than the second.
- - FLL: A typo resulting in treating < 0xc3 as invalid UTF-8 when it is instead < 0xc2.
- - FLL: Add missing endianness check to f_convesion.
- - FLL: Uppercase 'T' needs to be supported (fl_conversion).
- - FLL: Problems exposed by unit tests in f_utf.
- - FLL: Incorrect 4-width characters are generated.
- - FLL: Problems exposed by unit tests for f_signal.
- - FLL: Problems exposed by unit tests in f_file.
- - FLL: Problems exposed by unit tests in f_conversion.
- - FLL: When any of -c, -p, or -s is the last parameter in test.sh no error is thrown.
- - FLL: Package building test failures do not properly fail.
- - FLL: Fix problems exposed by unit tests in f_status.
- - FLL: Incorrect variable used results in F_parameter error.
- - FLL: The print functions are not printing the last letter in certain cases.
- - FLL: Trimmed printing is not working as expected.
- - FLL: Fix problems exposed by unit tests in f_print.
- - FLL: The quotes are always being defined even when there are no quotes in the FSS read functions.
- - FLL: Problems exposed by unit tests (f_socket).
- - FLL: Remove extra zero from hex-digit (f_utf).
- - FLL: Fix problems exposed by unit tests (fll_status_string).
- - FLL: Problems exposed by unit tests and do some relevant code style clean up (f_execute).
- - FLL: Add missing return value handling in f_fss.
- - FLL: Incorrect and missing initializer macros in f_fss.
- - FLL: The FSS object write functions don't handle all newlines.
- - FLL: Fixes to f_path of problems exposed by unit tests.
- - FLL: Invalid read in f_file_stream_read_until().
- - FLL: NULL is a valid character, causing utf8 not to properly print NULL characters.
- - FLL: The FILE type may not have a known storage size and use F_type_output_d.
- - FLL: Problems in f_file functions exposed by unit tests.
- - FLL: Problems in f_file regarding file mode exposed by unit tests.
- - FLL: The f_file_is_at() function is not properly comparing the file type.
- - FLL: Three-width UTF-8 characters are improperly being detected as unassigned.
- - FLL: Unicode characters are not printing correctly.
- - FLL: Fix problems exposed by f_file project tests.
- - FLL: Memory handling related to or exposed by f_directory unit tests.
- - FLL: Invalid memory deletion.
- - FLL: For f_file, use off_t, pre-test for EOF or error, use sizeof(f_char_t), and use size_t rather than ssize_t.
- - FLL: The f_capability should accept f_string_constant_t rather than f_string_static_t.
- - Byte Dump: The byte_dump --first and --last are not always working as expected.
- - Byte Dump: Trailing Unicode sequences that get cut off before the encoding is completed improperly display.
- - Controller: Entry file not found when --settings is used.
- - Controller: Incorrect rule name for controller boot settings file.
- - Controller: When compiled as "init" the controller program does not use the correct paths.
- - Fake: IKI variable substitution in fake doesn't always expand properly.
- - Fake: Use '%Q' rather than '%S' when printing error.prefix and add missing error.prefix.
- - Fake: Environment variables in fake are not being expanded.
- - Fake: The fake program should not require the data directory when explicit fakefile or settings files are specified.
- - Fake: Defaults should not be applied when an empty Object is specified.
- - FSS Identify: The fss_identify needs the latest version of f_utf_is_digit().
- - UTF8: Last character of file after conversion from code point is not printed by utf8 program.
- - UTF8: Combining and Width detection for utf8 are not properly printing.
+ - FLL: Signal code is not being set when accepted signal is received.
+ - FLL: Problems and clean ups exposed when writing f_thread unit tests.
+ - FLL: The < 0xc2 test is supposed to be against the first byte rather than the second.
+ - FLL: A typo resulting in treating < 0xc3 as invalid UTF-8 when it is instead < 0xc2.
+ - FLL: Add missing endianness check to f_convesion.
+ - FLL: Uppercase 'T' needs to be supported (fl_conversion).
+ - FLL: Problems exposed by unit tests in f_utf.
+ - FLL: Incorrect 4-width characters are generated.
+ - FLL: Problems exposed by unit tests for f_signal.
+ - FLL: Problems exposed by unit tests in f_file.
+ - FLL: Problems exposed by unit tests in f_conversion.
+ - FLL: When any of -c, -p, or -s is the last parameter in test.sh no error is thrown.
+ - FLL: Package building test failures do not properly fail.
+ - FLL: Fix problems exposed by unit tests in f_status.
+ - FLL: Incorrect variable used results in F_parameter error.
+ - FLL: The print functions are not printing the last letter in certain cases.
+ - FLL: Trimmed printing is not working as expected.
+ - FLL: Fix problems exposed by unit tests in f_print.
+ - FLL: The quotes are always being defined even when there are no quotes in the FSS read functions.
+ - FLL: Problems exposed by unit tests (f_socket).
+ - FLL: Remove extra zero from hex-digit (f_utf).
+ - FLL: Fix problems exposed by unit tests (fll_status_string).
+ - FLL: Problems exposed by unit tests and do some relevant code style clean up (f_execute).
+ - FLL: Add missing return value handling in f_fss.
+ - FLL: Incorrect and missing initializer macros in f_fss.
+ - FLL: The FSS object write functions don't handle all newlines.
+ - FLL: Fixes to f_path of problems exposed by unit tests.
+ - FLL: Invalid read in f_file_stream_read_until().
+ - FLL: NULL is a valid character, causing utf8 not to properly print NULL characters.
+ - FLL: The FILE type may not have a known storage size and use F_type_output_d.
+ - FLL: Problems in f_file functions exposed by unit tests.
+ - FLL: Problems in f_file regarding file mode exposed by unit tests.
+ - FLL: The f_file_is_at() function is not properly comparing the file type.
+ - FLL: Three-width UTF-8 characters are improperly being detected as unassigned.
+ - FLL: Unicode characters are not printing correctly.
+ - FLL: Fix problems exposed by f_file project tests.
+ - FLL: Memory handling related to or exposed by f_directory unit tests.
+ - FLL: Invalid memory deletion.
+ - FLL: For f_file, use off_t, pre-test for EOF or error, use sizeof(f_char_t), and use size_t rather than ssize_t.
+ - FLL: The f_capability should accept f_string_constant_t rather than f_string_static_t.
+ - Byte Dump: The byte_dump --first and --last are not always working as expected.
+ - Byte Dump: Trailing Unicode sequences that get cut off before the encoding is completed improperly display.
+ - Controller: Entry file not found when --settings is used.
+ - Controller: Incorrect rule name for controller boot settings file.
+ - Controller: When compiled as "init" the controller program does not use the correct paths.
+ - Fake: IKI variable substitution in fake doesn't always expand properly.
+ - Fake: Use '%Q' rather than '%S' when printing error.prefix and add missing error.prefix.
+ - Fake: Environment variables in fake are not being expanded.
+ - Fake: The fake program should not require the data directory when explicit fakefile or settings files are specified.
+ - Fake: Defaults should not be applied when an empty Object is specified.
+ - FSS Identify: The fss_identify needs the latest version of f_utf_is_digit().
+ - UTF8: Last character of file after conversion from code point is not printed by utf8 program.
+ - UTF8: Combining and Width detection for utf8 are not properly printing.
- Updates:
+ Updates:
- - FLL: Improve design in f_conversion to be safer when handling variables allowed to be replaced.
- - FLL: Example bootstrap script now supports building all programs.
- - FLL: White space function changes.
- - FLL: Use "decimal" instead of "digit" (f_conversion).
- - FLL: The f_utf project regarding digits and perform other clean ups.
- - FLL: Use a regular int instead of uint8_t for counting digit in conversion function.
- - FLL: Add script for generating Unicode Codepoints from integers.
- - FLL: Generate Unicode script to support generating test data.
- - FLL: Finish adding Unicode symbol handling code.
- - FLL: Rename f_thread_signal() to f_thread_signal_write().
- - FLL: Implement Math Symbol Category.
- - FLL: Handle more cases of combining characters following white space.
- - FLL: Add Unicode Symbols for currency and modifiers and minor comment clean ups.
- - FLL: The f_utf punctuation codes.
- - FLL: Tweak endiannes for f_utf_char_t.
- - FLL: Use F_utf_not instead of F_utf and other resulting changes.
- - FLL: Rewrite the f_serialize functions.
- - FLL: The f_limit project is out of date.
- - FLL: Add missing state.flag assignment in f_state_t_clear macro and fix syntax practice in initializer.
- - FLL: Add missing function f_path_is_absolute() and fix existing f_path_is_*() functions.
- - FLL: Utilize the state.flag to allow for fss read to not fail out on invalid UTF-8 code sequence and fix naming problems.
- - FLL: Utilize the state.flag to allow for iki read to not fail out on invalid UTF-8 code sequence.
- - FLL: The f_utf_is_* functions should be more specific on return state for F_failure.
- - FLL: Add pictures of the Kohlrabi that I have decided to use to represent the FLL project.
- - FLL: Remove unused code, cast (char) to (unsigned int) for array indexes, and fix bitwise problem.
- - FLL: Add licenses to text files and clarify OSL text.
- - FLL: Redesign f_file functions to not need struct stat passed and other improvements.
- - FLL: Improve the logic for the read link f_file functions.
- - FLL: Add missing checks to f_file_link_hard_at() and use F_file_descriptor.
- - FLL: Implement file statistics flag enumeration, dereferencing/no-dereferencing, and also use F_stream_not.
- - FLL: Simplify build settings files.
- - All FSS Read Programs: Improve read program logic to allow for catching interrupts during file read.
- - Controller: Add note about ulimit privileges potentially causes failure of example controller rules.
- - Fake: Add additional checks just in case execution is attempted with both program name and arguments have no data.
- - Fake: The featureless make should default to 'make' mode.
- - Fake: The fake program should check file existence when clean is combined with another command like build or make.
- - Fake: The fake "build" fakefile Object needs to support modes and fix a related bug.
- - Fake: Use off_t instead of f_array_length_t to match uses in functions like f_file_size().
- - Fake: The fake program should show the fakefile or setting being used when building.
- - Fake: The example project build settings and fakefiles.
- - FSS Embedded List Read: Remove extra error print in fss_embedded_list_read.
- - IKI Write: Have iki_write use form-feed rather than end of line character for pipe input.
+ - FLL: Improve design in f_conversion to be safer when handling variables allowed to be replaced.
+ - FLL: Example bootstrap script now supports building all programs.
+ - FLL: White space function changes.
+ - FLL: Use "decimal" instead of "digit" (f_conversion).
+ - FLL: The f_utf project regarding digits and perform other clean ups.
+ - FLL: Use a regular int instead of uint8_t for counting digit in conversion function.
+ - FLL: Add script for generating Unicode Codepoints from integers.
+ - FLL: Generate Unicode script to support generating test data.
+ - FLL: Finish adding Unicode symbol handling code.
+ - FLL: Rename f_thread_signal() to f_thread_signal_write().
+ - FLL: Implement Math Symbol Category.
+ - FLL: Handle more cases of combining characters following white space.
+ - FLL: Add Unicode Symbols for currency and modifiers and minor comment clean ups.
+ - FLL: The f_utf punctuation codes.
+ - FLL: Tweak endiannes for f_utf_char_t.
+ - FLL: Use F_utf_not instead of F_utf and other resulting changes.
+ - FLL: Rewrite the f_serialize functions.
+ - FLL: The f_limit project is out of date.
+ - FLL: Add missing state.flag assignment in f_state_t_clear macro and fix syntax practice in initializer.
+ - FLL: Add missing function f_path_is_absolute() and fix existing f_path_is_*() functions.
+ - FLL: Utilize the state.flag to allow for fss read to not fail out on invalid UTF-8 code sequence and fix naming problems.
+ - FLL: Utilize the state.flag to allow for iki read to not fail out on invalid UTF-8 code sequence.
+ - FLL: The f_utf_is_* functions should be more specific on return state for F_failure.
+ - FLL: Add pictures of the Kohlrabi that I have decided to use to represent the FLL project.
+ - FLL: Remove unused code, cast (char) to (unsigned int) for array indexes, and fix bitwise problem.
+ - FLL: Add licenses to text files and clarify OSL text.
+ - FLL: Redesign f_file functions to not need struct stat passed and other improvements.
+ - FLL: Improve the logic for the read link f_file functions.
+ - FLL: Add missing checks to f_file_link_hard_at() and use F_file_descriptor.
+ - FLL: Implement file statistics flag enumeration, dereferencing/no-dereferencing, and also use F_stream_not.
+ - FLL: Simplify build settings files.
+ - All FSS Read Programs: Improve read program logic to allow for catching interrupts during file read.
+ - Controller: Add note about ulimit privileges potentially causes failure of example controller rules.
+ - Fake: Add additional checks just in case execution is attempted with both program name and arguments have no data.
+ - Fake: The featureless make should default to 'make' mode.
+ - Fake: The fake program should check file existence when clean is combined with another command like build or make.
+ - Fake: The fake "build" fakefile Object needs to support modes and fix a related bug.
+ - Fake: Use off_t instead of f_array_length_t to match uses in functions like f_file_size().
+ - Fake: The fake program should show the fakefile or setting being used when building.
+ - Fake: The example project build settings and fakefiles.
+ - FSS Embedded List Read: Remove extra error print in fss_embedded_list_read.
+ - IKI Write: Have iki_write use form-feed rather than end of line character for pipe input.
Check out the project on the FLL release page.
- Kevin Day
+ Kevin Day
diff --git a/news/2022_07_31-fll_0_6_0_release.html b/news/2022_07_31-fll_0_6_0_release.html
index 9160200..e3fdd06 100644
--- a/news/2022_07_31-fll_0_6_0_release.html
+++ b/news/2022_07_31-fll_0_6_0_release.html
@@ -98,27 +98,27 @@
utf8
- Most notable of these programs are the controller program and the utf8 program.
+ Most notable of these programs are the controller program and the utf8 program.
- The controller program is a re-interpretation of the Featureless Make program written in a more generalized fashion that is focused on performing a set of tasks.
- This is very similar to a system initialize program such as sysvinit.
+ The controller program is a re-interpretation of the Featureless Make program written in a more generalized fashion that is focused on performing a set of tasks.
+ This is very similar to a system initialize program such as sysvinit.
Support for running as a system initialize replacement is partially complete.
- There is currently no way to send messages to the controller program to start and stop anything.
- The control program, which is used to communicate to the controller program is also incomplete.
+ There is currently no way to send messages to the controller program to start and stop anything.
+ The control program, which is used to communicate to the controller program is also incomplete.
The next FLL development verrsion, the 0.7.0 series, will heavily focused on network protocols.
- The utf8 program is a handy tool to convert from UTF-8 characters to their Unicode value or vice-versa.
+ The utf8 program is a handy tool to convert from UTF-8 characters to their Unicode value or vice-versa.
This can convert entire files.
- Featureless Make has some major changes.
- The fake program now accepts piped data, which must be a valid fakefile.
+ Featureless Make has some major changes.
+ The fake program now accepts piped data, which must be a valid fakefile.
There are new Objects available for the build settings and the fakefile.
- The default behavior of Featureless Make is now more similar to the GNU make program.
+ The default behavior of Featureless Make is now more similar to the GNU make program.
When running fake
with no parameters, it will first search for a fakefile
in the current directory before checking for one at data/build/fakefile
.
This is analogous to how running make
with no parameters will search for a Makefile
in the current directory.
@@ -147,90 +147,90 @@
A major improvement of this release is safer and more stable code.
This is thanks to a massive amount of time and effort spent into writing unit tests.
- The unit tests process is performed using the Featureless Make program.
+ The unit tests process is performed using the Featureless Make program.
In addition to the unit tests, the static analyzer from GCC has been used to better identify and resolve problems.
The following are changes since the 0.5.10 development release.
- Security Fixes:
+ Security Fixes:
- - FLL: Environment value has invalid read in f_environment_set().
- - FLL: Invalid read for formatted printing using partial ranges on a string.
- - FLL: Invalid reads on NULL terminated strings with a max width greater than 1.
- - Featureless Make: Invalid read when using -s/--settings.
- - Featureless Make: Invalid read when processing not condition minimum value.
- - Featureless Make: Invalid read when processing an empty fakefile.
+ - FLL: Environment value has invalid read in f_environment_set().
+ - FLL: Invalid read for formatted printing using partial ranges on a string.
+ - FLL: Invalid reads on NULL terminated strings with a max width greater than 1.
+ - Featureless Make: Invalid read when using -s/--settings.
+ - Featureless Make: Invalid read when processing not condition minimum value.
+ - Featureless Make: Invalid read when processing an empty fakefile.
- Features:
+ Features:
- - FLL: Add missing function f_environment_get_all().
- - FLL: Add missing signal functions f_signal_action(), f_signal_pause(), and f_signal_suspend().
- - FLL: Add support for +E/++error and change '+q' to '+Q'.
- - Controller: Expose the "define" and "parameter" at the Entry and Exit level.
- - Featureless Make: Now supports a piped fakefile.
- - Featureless Make: Now supports the "write" operation.
- - Featureless Make: Now supports to the "print" operation for escape sequences just like the "write" operation has.
- - Featureless Make: Now supports the "top" parameter.
- - Featureless Make: Now supports the "current" parameter.
- - Featureless Make: Improve user experience by defaulting specified fakefile and build settings file to present working directory.
+ - FLL: Add missing function f_environment_get_all().
+ - FLL: Add missing signal functions f_signal_action(), f_signal_pause(), and f_signal_suspend().
+ - FLL: Add support for +E/++error and change '+q' to '+Q'.
+ - Controller: Expose the "define" and "parameter" at the Entry and Exit level.
+ - Featureless Make: Now supports a piped fakefile.
+ - Featureless Make: Now supports the "write" operation.
+ - Featureless Make: Now supports to the "print" operation for escape sequences just like the "write" operation has.
+ - Featureless Make: Now supports the "top" parameter.
+ - Featureless Make: Now supports the "current" parameter.
+ - Featureless Make: Improve user experience by defaulting specified fakefile and build settings file to present working directory.
- Bug Fixes:
+ Bug Fixes:
- - FLL: IKI variables are incorrectly being processed when there is a non-IKI IKI-like string.
- - FLL: Single quotes are not being properly detected in FSS Extended Read functions.
- - FLL: private_f_file_open_at() has an incomplete set if ifdef conditions.
- - Byte Dump: Parameter after either the -N or -W is being processed when it should not be.
- - Controller: Incorrect information is printed on certain errors.
- - Controller: Delimits are not being applied for IKI variables.
- - Controller: "State is now ..." should not be printed when quiet is passed.
- - Controller: Guarantee that the child processes are terminated.
- - Controller: IKI substitution is incorrectly applied.
- - Featureless Make: Condition blocks are still being processed when they should be skipped.
- - Featureless Make: Empty strings improperly pass validation checks.
- - Featureless Make: IKI variable substitution results in incorrect parameter structure.
- - Featureless Make: Error verbosity is not being preserved.
- - Featureless Make: Text is being incorrectly stripped out.
- - Featureless Make: The copy operation doesn't work properly with trailing slashes.
- - Featureless Make: Copy should destination should be the base name rather than the entire path.
- - Featureless Make: Link operation is incorrect, support new link arguments, and clone, copy, and move operations failure problems.
- - Featureless Make: Block is incorrectly being reset when an else condition precedes an if condition.
+ - FLL: IKI variables are incorrectly being processed when there is a non-IKI IKI-like string.
+ - FLL: Single quotes are not being properly detected in FSS Extended Read functions.
+ - FLL: private_f_file_open_at() has an incomplete set if ifdef conditions.
+ - Byte Dump: Parameter after either the -N or -W is being processed when it should not be.
+ - Controller: Incorrect information is printed on certain errors.
+ - Controller: Delimits are not being applied for IKI variables.
+ - Controller: "State is now ..." should not be printed when quiet is passed.
+ - Controller: Guarantee that the child processes are terminated.
+ - Controller: IKI substitution is incorrectly applied.
+ - Featureless Make: Condition blocks are still being processed when they should be skipped.
+ - Featureless Make: Empty strings improperly pass validation checks.
+ - Featureless Make: IKI variable substitution results in incorrect parameter structure.
+ - Featureless Make: Error verbosity is not being preserved.
+ - Featureless Make: Text is being incorrectly stripped out.
+ - Featureless Make: The copy operation doesn't work properly with trailing slashes.
+ - Featureless Make: Copy should destination should be the base name rather than the entire path.
+ - Featureless Make: Link operation is incorrect, support new link arguments, and clone, copy, and move operations failure problems.
+ - Featureless Make: Block is incorrectly being reset when an else condition precedes an if condition.
- Refactors:
+ Refactors:
- - Controller: Use "settings" instead of "setting" for better consistency between fake program and controller program.
- - Featureless Make: Rename "script" to "engine" to avoid possible confusion with the different uses of "script".
- - Featureless Make: "if defined parameter" and similar are simplified into something more like "if define" and "if parameter".
- - Featureless Make: Rename "exists" to "exist".
+ - Controller: Use "settings" instead of "setting" for better consistency between fake program and controller program.
+ - Featureless Make: Rename "script" to "engine" to avoid possible confusion with the different uses of "script".
+ - Featureless Make: "if defined parameter" and similar are simplified into something more like "if define" and "if parameter".
+ - Featureless Make: Rename "exists" to "exist".
- Updates:
+ Updates:
- - FLL: Change execute error code handling to better accommodate standard GNU Bash return codes.
- - FLL: Further reduce memory allocation pressure by increasing default small allocation.
- - FLL: Restrict environment to PATH and LD_LIBRARY_PATH by default in all FLL build settings files.
- - FLL: The standard program setup should explicitly unblock all signals other than the default
- - FLL: Clarify IKI standard in regards to delimits and improve specification file.
- - FLL: Improve specification files.
- - FLL: The f_color needs to follow latest practices with private functions.
- - Controller: Change default controller settings path to './'.
- - Controller: Strip out NULL characters after applying delimits.
- - Controller: Timeout changes.
- - Featureless Make: Make environment variable handling design consistent between fake and controller programs.
- - Featureless Make: Ensure first if block is initialized to operate.
- - Featureless Make: Replace Unicode Terminate escape sequence with Non-printing escape sequence.
- - Featureless Make: Reduce number of allocations by pre-determining size when easily possible.
- - Featureless Make: Organize the validate operation into separate type functions and improve error handling logic.
- - Featureless Make: The example bzip2 now supports running the tests.
+ - FLL: Change execute error code handling to better accommodate standard GNU Bash return codes.
+ - FLL: Further reduce memory allocation pressure by increasing default small allocation.
+ - FLL: Restrict environment to PATH and LD_LIBRARY_PATH by default in all FLL build settings files.
+ - FLL: The standard program setup should explicitly unblock all signals other than the default
+ - FLL: Clarify IKI standard in regards to delimits and improve specification file.
+ - FLL: Improve specification files.
+ - FLL: The f_color needs to follow latest practices with private functions.
+ - Controller: Change default controller settings path to './'.
+ - Controller: Strip out NULL characters after applying delimits.
+ - Controller: Timeout changes.
+ - Featureless Make: Make environment variable handling design consistent between fake and controller programs.
+ - Featureless Make: Ensure first if block is initialized to operate.
+ - Featureless Make: Replace Unicode Terminate escape sequence with Non-printing escape sequence.
+ - Featureless Make: Reduce number of allocations by pre-determining size when easily possible.
+ - Featureless Make: Organize the validate operation into separate type functions and improve error handling logic.
+ - Featureless Make: The example bzip2 now supports running the tests.
Check out the project on the FLL release page.
@@ -241,7 +241,7 @@
These programs, by default, are designed to build against a library built using the monolithic source tree.
- Kevin Day
+ Kevin Day
@@ -252,12 +252,12 @@
- Bzip2 has a simple Makefile
that is used here as an example of the differences between a Makefile
and a fakefile
.
+ Bzip2 has a simple Makefile
that is used here as an example of the differences between a Makefile
and a fakefile
.
- This is taken straight out of the Bzip2, version 1.0.8, source code and is under its own separate copyright.
- This is file has a copyright of: Copyright (C) 1996-2019 Julian Seward.
- The use here as an example should be technically under the Fair Use laws.
+ This is taken straight out of the Bzip2, version 1.0.8, source code and is under its own separate copyright.
+ This is file has a copyright of: Copyright (C) 1996-2019 Julian Seward.
+ The use here as an example should be technically under the Fair Use laws.
Just in case, the entire file is provided with the copyright comments with it.
The Bzip2 source code may be found at https://www.sourceware.org/bzip2/.
@@ -489,17 +489,17 @@ manual.html: $(MANUAL_SRCS)
- Featureless Make has a different design ideology that the GNU Make project.
- The file should, relatively speaking, be easy to read within consideration of the technical field and the complexity of the tasks at hand.
+ Featureless Make has a different design ideology that the GNU Make project.
+ The file should, relatively speaking, be easy to read within consideration of the technical field and the complexity of the tasks at hand.
The build system should not be involved with installing to the system.
Installation should be a distribution level task.
- This does not mean that Featureless Make cannot do that.
+ This does not mean that Featureless Make cannot do that.
All this means is that the project is optimized to compile or build the files.
What this means is that there is not a one to one relationship between a typical Makefile
and typical fakefile
.
This example focuses on how a fakefile
should be designed.
- This is also a proof of concept design that intentionally goes out of its way to use both build systems offered by Featureless Make.
+ This is also a proof of concept design that intentionally goes out of its way to use both build systems offered by Featureless Make.
There are three files used for this example to create a bzip2
and a bzip2recover
binary.
@@ -682,15 +682,15 @@ flags_program -fPIE
- The Controller program has a similar design ideology to that of the Featureless Make program.
- A key difference is that the Controller program operates more like a service, a program, or a sysvinit alternative rather than as a build system.
+ The Controller program has a similar design ideology to that of the Featureless Make program.
+ A key difference is that the Controller program operates more like a service, a program, or a sysvinit alternative rather than as a build system.
An example usage would be to start the htop
program.
In this example, when the htop
program quits, the controller program will restart after a delay for a max of 3 times.
The controller command using these files would be executed using the command controller htop-command
.
Only two files are necessary to accomplish this task.
- The first file is the Entry file, called entries/htop-command.entry
.
+ The first file is the Entry file, called entries/htop-command.entry
.
# fss-0005
@@ -706,7 +706,7 @@ main:
start command htop
- The second file is is the Rule file, called rules/command/htop.rule
.
+ The second file is is the Rule file, called rules/command/htop.rule
.
# fss-000d
diff --git a/news/2022_10_31-fll_0_6_1_release.html b/news/2022_10_31-fll_0_6_1_release.html
index f5181f6..7cbbc14 100644
--- a/news/2022_10_31-fll_0_6_1_release.html
+++ b/news/2022_10_31-fll_0_6_1_release.html
@@ -78,7 +78,7 @@
This release should be more portable and testable.
- The BASH alternative ZSH is now supported for the following scripts:
+ The BASH alternative ZSH is now supported for the following scripts:
- bootstrap-example.sh
@@ -88,8 +88,8 @@
- test.sh
- In order to run these scripts under ZSH, one must defined the SHELL_ENGINE environment variable with the value zsh
.
- Compatibility of ZSH is not well tested and there may be bugs.
+ In order to run these scripts under ZSH, one must defined the SHELL_ENGINE environment variable with the value zsh
.
+ Compatibility of ZSH is not well tested and there may be bugs.
Changes in the iki_read
program involving the --substitute
and the --wrap
parameters.
@@ -120,57 +120,57 @@
The following are changes since the 0.6.0 stable release.
- Security Fixes:
+ Security Fixes:
- Features:
+ Features:
- - FLL: Add support for
stand_alone
builds in the package script.
- - FLL: Add support for ZSH in addition to BASH.
- - IKI Read: The
iki_read
should still support the older --substitute
behavior.
+ - FLL: Add support for
stand_alone
builds in the package script.
+ - FLL: Add support for ZSH in addition to BASH.
+ - IKI Read: The
iki_read
should still support the older --substitute
behavior.
- Bug Fixes:
+ Bug Fixes:
- - FLL: Mistakes in disable macros and remove redundant check.
- - FLL: Functions
private_f_file_flush()
and private_f_print_safely_get()
are not being included when needed.
- - FLL: The
fll_program_standard_signal_received()
needs a private implementation.
- - FLL:
private_f_memory_structure_resize()
is not returning the error status codes.
- - Featureless Make: Content is incorrectly attempted to be processed even though it does not exist.
- - Featureless Make: Featureless Make dependencies are not accurately communicated.
- - IKI Read: The
iki_read
should apply the --wrap
when using --substitute
.
- - FSS Read Programs: Two zeros are printed when
--total
is used and there are no matching Objects.
+ - FLL: Mistakes in disable macros and remove redundant check.
+ - FLL: Functions
private_f_file_flush()
and private_f_print_safely_get()
are not being included when needed.
+ - FLL: The
fll_program_standard_signal_received()
needs a private implementation.
+ - FLL:
private_f_memory_structure_resize()
is not returning the error status codes.
+ - Featureless Make: Content is incorrectly attempted to be processed even though it does not exist.
+ - Featureless Make: Featureless Make dependencies are not accurately communicated.
+ - IKI Read: The
iki_read
should apply the --wrap
when using --substitute
.
+ - FSS Read Programs: Two zeros are printed when
--total
is used and there are no matching Objects.
- Refactors:
+ Refactors:
- Updates:
+ Updates:
- - FLL: Enable Gitlab test support.
- - FLL: Always ensure content size is zero when content is not found.
- - FLL: Change logic to avoid potential negative numbers.
- - FLL: Use resize functions rather than adjust functions for
append
and append_all
functions.
- - FLL: Add medium logos.
- - FLL:
f_memory_structure_increase_by()
shouldn't do anything if amount is zero.
- - FLL: Cygwin documentation.
- - FLL: Support Unicode 15.0.
- - FLL: Slight improvement in UTF unassigned detection and add or correct some ranges.
- - Featureless Make: Redesign behavior of pipe, allowing it to run properly inside software like Gitlab's CI or Github's CI.
- - Featureless Make: Implement stand alone build for Featureless Make.
- - Featureless Make: Describe modes being used when performing build or make.
- - Featureless Make: Stand alone Featureless Make custom
config.h
header.
- - Utf8: The
utf8
program should be using the stream read functions.
- - Utf8: Implement stand alone build for
utf8
program.
+ - FLL: Enable Gitlab test support.
+ - FLL: Always ensure content size is zero when content is not found.
+ - FLL: Change logic to avoid potential negative numbers.
+ - FLL: Use resize functions rather than adjust functions for
append
and append_all
functions.
+ - FLL: Add medium logos.
+ - FLL:
f_memory_structure_increase_by()
shouldn't do anything if amount is zero.
+ - FLL: Cygwin documentation.
+ - FLL: Support Unicode 15.0.
+ - FLL: Slight improvement in UTF unassigned detection and add or correct some ranges.
+ - Featureless Make: Redesign behavior of pipe, allowing it to run properly inside software like Gitlab's CI or Github's CI.
+ - Featureless Make: Implement stand alone build for Featureless Make.
+ - Featureless Make: Describe modes being used when performing build or make.
+ - Featureless Make: Stand alone Featureless Make custom
config.h
header.
+ - Utf8: The
utf8
program should be using the stream read functions.
+ - Utf8: Implement stand alone build for
utf8
program.
Check out the project on the FLL release page.
@@ -181,10 +181,10 @@
These programs, by default, are designed to build against a library built using the monolithic source tree.
- The stand alone sources for the Featureless Make and UTF8 programs can be found pre-packaged at Sourceforge.
+ The stand alone sources for the Featureless Make and UTF8 programs can be found pre-packaged at Sourceforge.
- Kevin Day
+ Kevin Day
diff --git a/projects.html b/projects.html
index 430dfdb..b5d1ce4 100644
--- a/projects.html
+++ b/projects.html
@@ -456,7 +456,7 @@
This program specifically handles only the core status codes provided by the FLL.
- Other programs that utilize custom status codes should provide their own implementation of this program, such as is done with the FSS Status Code program.
+ Other programs that utilize custom status codes should provide their own implementation of this program, such as is done with the FSS Status Code program.
diff --git a/sources.html b/sources.html
index 669902f..75faa00 100644
--- a/sources.html
+++ b/sources.html
@@ -84,7 +84,7 @@
- The source code for the Featureless Linux Library is released in several locations.
+ The source code for the Featureless Linux Library is released in several locations.
The Featureless Linux Library page contains the full range of links regarding the source code.
@@ -105,7 +105,7 @@
- The source code for the Turtle Kevux Distribution 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 distributions page.
+ The source code for the Turtle Kevux Distribution 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 distributions page.
The following represents the most recently available release:
@@ -124,7 +124,7 @@
- The source code for the Turtle Kevux Installation Scripts 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 distributions page.
+ The source code for the Turtle Kevux Installation Scripts 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 distributions page.
The following represents the most recently available release:
@@ -144,7 +144,7 @@
- The Kevux Website 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 licenses page for the license of the source code of this website.
+ The Kevux Website 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 licenses page for the license of the source code of this website.
The following is the link:
diff --git a/specification.html b/specification.html
index f076428..af4e064 100644
--- a/specification.html
+++ b/specification.html
@@ -233,7 +233,7 @@
- One of the biggest problems with an API 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 Library Interface or a Software Interface.
+ One of the biggest problems with an API 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 Library Interface or a Software Interface.
diff --git a/webbing.html b/webbing.html
index 0fdbdf4..731e797 100644
--- a/webbing.html
+++ b/webbing.html
@@ -85,7 +85,7 @@
The old internet at one point had many websites linking to other websites.
This linking process is a pre-search engine error idea.
- This webbing page brings back the old concept of finding websites without a search engine.
+ This webbing page brings back the old concept of finding websites without a search engine.
The purpose of this page is to provide links to external websites that are not directly related to this website.
@@ -93,7 +93,7 @@
This page page will be slowly populated over time.
- These websites do not represent the Kevux website and neither does the Kevux website represent these sites.
+ These websites do not represent the Kevux website and neither does the Kevux website represent these sites.
At no point should you consider or assume that these websites or their authors share common beliefs.
The links to these websites could, at any point in time, become unavailable.
@@ -106,14 +106,14 @@
- URL: https://kernel.org/.
+ URL: https://kernel.org/.
- Linux is an Operating System.
+ Linux is an Operating System.
This Operating System should not need any introduction here.
- Kevux runs off of and utilizes Linux.
+ Kevux runs off of and utilizes Linux.
@@ -125,14 +125,14 @@
- URL: https://linuxfromscratch.org/.
+ URL: https://linuxfromscratch.org/.
Provides a set of instructions to, from the ground up, learn how to build and install a basic Linux distribution using only the source code.
- Linux From Scratch is Kevin Day's first experience with diving deep into Linux.
- This is want ultimately inspired the Kevux Operating Systems design.
+ Linux From Scratch is Kevin Day's first experience with diving deep into Linux.
+ This is want ultimately inspired the Kevux Operating Systems design.
@@ -144,15 +144,15 @@
- URL: https://suckless.org/.
+ URL: https://suckless.org/.
Provides a collection of projects designed around the idea of simplicity, clarity, and frugality in software.
- The ideas behind Software that Sucks Less are very similar to the Kevux Software, such as the Featureless Linux Library.
+ The ideas behind Software that Sucks Less are very similar to the Kevux Software, such as the Featureless Linux Library.
There are slight, but significant differences.
- Expect the Kevux Software to be slightly more complex.
+ Expect the Kevux Software to be slightly more complex.
@@ -164,14 +164,14 @@
- URL: https://musl.libc.org/.
+ URL: https://musl.libc.org/.
- Provides an implementation of the standard libc.
- This is considered, by Kevin Day, to be one of the better designed libc implementations out there.
+ Provides an implementation of the standard libc.
+ This is considered, by Kevin Day, to be one of the better designed libc implementations out there.
- Consider using this Musl Libc over the more popular GNU C Library found at https://www.gnu.org/software/libc/.
+ Consider using this Musl Libc over the more popular GNU C Library found at https://www.gnu.org/software/libc/.