tasl-util

Download tasl-util-20250611.tar.gz (206 kb) - SHA-256 hash

This is a collection of 30 small utilities written in C, one shell script, and a few text files. Many of these were written for "Taylor's Amazing Small Linux" (TASL), a single-user, size-optimized, offline-first Linux distribution.

The programs have the following useful properties:

Generally the programs are written for a UNIX-like system such as Linux or Mac. Where possible, I use only standard C that will run anywhere, only using UNIX-specific (or worse, Linux-specific) features when that is necessary.

Also included are some text files that are useful offline, in the "doc" directory.

Included programs

acpi display battery and thermal information (Linux)
backlight control the backlight on Intel-based laptops (Linux)
base32 base32 encoder/decoder
clear clears the screen
cxd hex dump colorizer
ent calculate entropy of data, in bits per byte
errno look up error information
df show disk usage information (Linux)
fmt minimal plain text formatter
getty prepare Linux virtual console for use (Linux)
halt immediately reboot or power-off the machine (Linux)
killall5 classic utility to kill all other processes (Linux)
klogd kernel log message daemon (Linux)
id show user identity (stub, assumes user:group is root:root)
info minimal viewer for GNU info manuals (shell script)
init init daemon
lsusb display attached USB device IDs (Linux)
moon moon phase tool
pad one-time pad encryption/decryption tool
reset fast terminal reset program
respawn restart a process whenever it terminates
segoff segment/offset memory address calculator (for Intel x86)
signo look up signal information
syslogd system logger that writes everything to /var/log/messages
sysno look up system call numbers (Linux)
totp generate six-digit TOTP codes
totp-spa TOTP single-packet authorization daemon
truncate shrink or grow a file to specified size
turbo enable or disable "turbo boost" on Intel processors (Linux)
u2cp437 Convert text from UTF-8 to IBM PC code page 437
xd hex dump and reverse hex dump utility

Why this selection of programs?

The commonality is that these are all used on my custom Linux system. They fit into three categories:

  1. Standard programs like "df" and "id" which are needed for a POSIX-conformant Linux system but are not provided by suckless.org's "sbase" project. (Some are provided by the sister project "ubase", but that project is unfinished and unmaintained.)
  2. Daemons like "init" which are important to a base Linux system, where writing my own implementation was easy and allowed me to get rid of an external dependency.
  3. Miscellaneous stuff that I wrote for my own use.

33mph.com