Projects

Programs

The Featureless Linux Library 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. 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. Software should be a tool for humans, and not a tool for machines.

Byte Dump

This tool is a nifty way to get a UTF-8 friendly hexdump alternative.
The output is intended to honor some of the feel of hexdump but do so in an FLL way.

Control

This project is not complete and development is planned for the FLL 0.7 development series.

The goal of this is to communicate with the "Controller" program, such as starting or stopping services.

Controller

This project is not complete and development is planned for the FLL 0.7 development series.

The goal of this is to provide task and service management similar to sysvinit, initng, and systemd.
This is designed to be used for booting the system as if it were /sbin/init.

This should be controllable from user-space via the "Control" program.

Featureless Make

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

A major problem with these 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, and easier to hack.

The Featureless Make, also called Fake, provides two primary ways to compile C, C++, and possibly other compiled 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 fakefiles 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:

Bzip2 may be found here:

Firewall

This is one of the earliest proof of concept and functional example of the FLL library.
Now it 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.

FSS Identify

This is a program reading a file and determining what Featureless Settings Specification.
This only detects files that provide an FSS header.

FSS Basic Read

This is a program implementing the Featureless Settings Specification FSS-0000 (Basic).
This performs read operations related to the FSS-0000 (Basic) standard.

FSS Basic Write

This is a program implementing the Featureless Settings Specification FSS-0000 (Basic).
This performs write operations related to the FSS-0002 (Basic) standard.

FSS Basic List Read

This is a program implementing the Featureless Settings Specification FSS-0002 (Basic List).
This performs read operations related to the FSS-0002 (Basic List) standard.

FSS Basic List Write

This is a program implementing the Featureless Settings Specification FSS-0002 (Basic List).
This performs write operations related to the FSS-0002 (Basic List) standard.

FSS Embedded List Read

This is a program implementing the Featureless Settings Specification FSS-0008 (Embedded List).
This performs read operations related to the FSS-0008 (Embedded List) standard.

FSS Embedded List Write

This is a program implementing the Featureless Settings Specification FSS-0008 (Embedded List).
This performs write operations related to the FSS-0008 (Embedded List) standard.

FSS Extended Read

This is a program implementing the Featureless Settings Specification FSS-0001 (Extended).
This performs read operations related to the FSS-0001 (Extended) standard.

FSS Extended Write

This is a program implementing the Featureless Settings Specification FSS-0001 (Extended).
This performs write operations related to the FSS-0001 (Extended) standard.

FSS Extended List Read

This is a program implementing the Featureless Settings Specification FSS-0003 (Extended List).
This performs read operations related to the FSS-0003 (Extended List) standard.

FSS Extended List Write

This is a program implementing the Featureless Settings Specification FSS-0003 (Extended List).
This performs write operations related to the FSS-0003 (Extended List) standard.

FSS Payload Read

This is a program implementing the Featureless Settings Specification FSS-000E (Payload).
This performs read operations related to the FSS-000E (Payload) standard.

The FSS-000E (Payload) is focused on network communication and is intended to be used inside a network packet.
This program can be used to manually read a network packet or data from the network.

FSS Payload Write

This is a program implementing the Featureless Settings Specification FSS-000E (Payload).
This performs write operations related to the FSS-000E (Payload) standard.

The FSS-000E (Payload) is focused on network communication and is intended to be used inside a network packet.
This program can be used to manually write the payload portion of a network packet.

FSS Status Code

This program is designed to interpret status codes returned by any FSS program.
The status codes are converted to or from a code and a label.

This program handles more status codes that the status_code program.

Status Code

This program is designed to interpret status codes returned by any FLL based program.
The status codes are converted to or from a code and a label.

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.

IKI Read

Similar to the FSS Read programs, this is a program implementing the Featureless Settings Specification iki-0000 (Unrestricted).
This performs read operations related to the iki-0000 (Unrestricted) standard.

The IKI settings specification plays on how it is simpler than a Wiki syntax.
The IKI could 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/".

This program is a swiss army knife for reading files that contain IKI syntax.

IKI Write

Similar to the FSS Write programs, this is a program implementing the Featureless Settings Specification iki-0000 (Unrestricted).
This performs write operations related to the iki-0000 (Unrestricted) standard.

The IKI settings specification plays on how it is simpler than a Wiki syntax.
The IKI could 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/".

This program is a swiss army knife for writing files that contain IKI syntax.

UTF8

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.