The Featureless Linux Library (FLL) is a major project and has several sub-parts, including several programs.
The FLL is broken up into multiple sub-projects that are libraries themselves or programs.
All of the programs also operate as a library, unless compiled in special ways, such as with stand alone builds.

This page describes those programs from FLL as well as any other programs and projects associated with Kevux Systems or Kevin Day.

Of particular note is that most, if not all, of the Kevux Systems programs are written to provide an API (and its respective ABI).
This allows the programs themselves to be used as a library.

The programs themselves follow FLL design principles on making the interface human-friendly and human-first.
Software should be a tool for humans, and not a tool for machines.

Listing

The following are all of the projects and their respective documentation.

Project Description
Byte Dump

This project provides the Byte Dump program.

The Byte Dump program provides a way to get a UTF-8 friendly hexdump alternative.

The output is intended to honor some of the feel of hexdump, but in an FLL way.

Control

This project provides the Control program.

The Control program provides a to communicate with the controller program, such as starting or stopping services.

This project is not complete and development is on going for the FLL 0.8 stable series.

Controller

This project provides the Controller and Init programs.

The Controller program provides a way to manage programs, scripts, tasks, and services.

The Init program provides similart functionality to the sysvinit, initng, and systemd programs.
This Init program is designed to be used for booting the system as if it were /sbin/init.

Both the Controller and Init programs that are operating as some sort of service should be controllable from via the control program.

This project is not complete and development is on going for the FLL 0.8 stable series.

Featureless Make

This is the original project and goal of the FLL.
The GNU Make, Autoconf, and all those build processes are unnecessarily complex.

A major problem with these other build systems is that they try to manage installation as well as compilation.
A build system should be just that, a build system.
Trying to handle how the built package gets installed should be done by system administrators or distributors.
By avoiding this, the code becomes simpler, more "featureless", easier to maintain, easier to hack, and easier to keep using over the years.

Projects should only describe what API in which they are compatible with and should not be tied down to any specific project or version.

This project provides the Featureless Make program.

The Featureless Make is the program called fake. This program provides two primary ways to compile C, C++, Go, and possibly other languages:

  • Using the build command.
  • Using the make command.

The build command is as simple as it can be and follows a Featureless Settings Specification (FSS).
The make command (and its respective fakefile) provides a more advanced interface for handling complex build processes or compiling languages other than C/C++.

The build command (and subsequently the make command) currently provide some hard coded program settings, such as the indexer ar runs ar rcs.
Eventually such things will be expanded into an FSS setting and made customizable.

Both the build and make commands support a small subset of make and autoconf functionality to make transitioning easier or make it easy to work alongside make and autoconf.

To help with understanding and using the Featureless Make program, fully functional example build settings and fakefile are created for the program bzip (specifically version 1.0.8):

There is also a fakefile pre-configured to run GNU Make within itself to compile the Linux kernel fom source:

The Bzip2 source code may be found here:

FSS Identify

This project provides the FSS Identify program.

The FSS Identify program is designed to read a file and determine what Featureless Settings Specification (FSS) is being used by that file.

The fss_identify program only detects files that provide an FSS header.

FSS Read

This project provides several FSS Read programs.

The FSS Read programs each suppoert various FSS:

  1. FSS-0000 (Basic)
  2. FSS-0001 (Extended)
  3. FSS-0002 (Basic List)
  4. FSS-0003 (Extended List)
  5. FSS-0008 (Embedded List)
  6. FSS-000E (Payload)

This performs read operations related to the mentioned standards.

FSS Write

This project provides several FSS Write programs.

The FSS Write programs each support various FSS:

  1. FSS-0000 (Basic)
  2. FSS-0001 (Extended)
  3. FSS-0002 (Basic List)
  4. FSS-0003 (Extended List)
  5. FSS-0008 (Embedded List)
  6. FSS-000E (Payload)

This performs write operations related to the mentioned standards.

IKI Read

This project provides EKI Read and IKI Read programs.

These EKI Read and IKI Read programs support various standards:

  1. IKI-0000 (Unrestricted)
  2. EKI-0000 (Unrestricted)

This performs read operations related to the mentioned standards.

The IKI and EKI settings specifications are simpler than the common Wiki standards.
These can be used for anything from e-mails and text-messages to word-processors.
The goal with IKI is to be very easily readably by a human, such as: iki:"example" or url:"https://sourceforge.net/projects/fll/".

The EKI settings specification, also known as Extended IKI settings specification, is a variation of the IKI format that supports multiple objects.
The goal with EKI is to allow for multiple objects to be associated with one value, such as: eki:bold:"example" or external:url:"https://sourceforge.net/projects/fll/".

IKI Write This project provides EKI Write and IKI Write programs.

These EKI Write and IKI Write programs support various standards:

  1. IKI-0000 (Unrestricted)
  2. EKI-0000 (Unrestricted)

This performs write operations related to the mentioned standards.

The IKI and EKI standards are simpler than the common Wiki standards.
These can be used for anything, from text-messages to word-processors.
The goal of these standards is to be very easily readably by a human, such as: iki:"example" or url:"https://sourceforge.net/projects/fll/".

The EKI standard, also known as Extended IKI, is a variation of the IKI format that supports multiple objects.
The goal with EKI is to allow for multiple objects to be associated with one value, such as: eki:bold:"example" or external:url:"https://sourceforge.net/projects/fll/".

(Kevux) Firewall

This project provides the Firewall program.

The Firewall program is one of the earliest proof of concepts and functional examples of the FLL.
Now this program is currently outdated, but it still remains operational as an iptables wrapper.
This program is actively used on the Turtle Kevux distribution.

This requires iptables to be installed and executable.

(Kevux) Tools

This project provides a suite of various programs for operating a Kevux distribution, such as the Turtle Kevux distribution.

Some of these tools might replace existing common ones, like the rm program.
Other tools are for testing out functionality and design, such as the tacocat program.

Status Code

This project provides the FSS Status Code and the Status Code programs.

The Status Code program is designed to interpret status codes returned by any FLL based program and specifically handles only core status codes.
The status codes are converted to or from a code and a label.

The FSS Status Code program is designed to interpret status codes returned by any FLL based program alond with the FSS specific status codes.

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.

UTF8

This project provides the UTF8 program.

The UTF8 program is a tool to convert one or more UTF-8 characters from the codepoint representation to a binary representation and back.

This program can convert complete files into a text file of UTF-8 bytecode values.
This program can convert complete files into a text file of space separated codepoint values.