This list is to consolidate information on basic CSV related utilities and libraries. If you know of other interesting CSV resources, code or have some tips and tricks for making the most of the CSV format, please share them.

Some useful CSV libraries:

https://github.com/rgamble/csvutils
https://github.com/rgamble/libcsv

https://github.com/wlbr/csvfix
https://github.com/dbro/csvquote

Pager with CSV support:
https://github.com/okbob/pspg

SQLLite can work with CSV.
https://www.sqlite.org/csv.html

I've accessed CSV using PERL and DBI.
https://github.com/perl5-dbi/DBD-CSV

ODBC:
The Microsoft Text ODBC Driver is standard on Windows. So it's free even if it's not Free.
https://support.microsoft.com/en-us/topic/creating-an-odbc-data-source-with-the-microsoft-text-driver-74367d5b-8a17-6310-ce15-a1c47858964a
Hopefully there are drivers for UnixODBC or iODBC. However, I couldn't find any links with a quick search.

I used a wonderful jquery plugin in one of the sites I created. It took a CSV file as input and created a HTML table that could be viewed and sorted. I was also able to add stripes (different colors to alternate rows) using CSS. For accessibility, I gave the direct link to the CSV file in the noscript tag. So, if someone did not want to run JavaScript, they could see the contents in the file rather than on screen in a web browser. Here's the jquery plugin I used:
https://web.archive.org/web/20090227064509/http://plugins.jquery.com/project/csv2table
Code for the project is available here as well:
https://github.com/toshirot/csv2table
I'm trying to locate ports of some of the more popular Unix/Linux utilities to other operating systems such as AIX and Windows. I find it helpful to have the same utility on all the systems I work on, not just on a few them.

Are you searching for other programs of this nature or creating other cross-platform utilities of your own? If so, please share your progress. It would be nice to add more options to this list.

cal
http://unicorn.us.com/cal.html

lsof for AIX
https://github.com/aixoss/lsof

top for Unix and AIX systems
https://sourceforge.net/projects/unixtop/

ntop for Windows
https://github.com/gsass1/NTop

lsblk like utility for Windows
https://github.com/tenox7/lsblk

simple cross-platform ping
https://github.com/sryze/ping

ps style tools for Windows
https://github.com/joeattardi/winpstools
https://github.com/katakk/pkill/

uptime
https://github.com/qwercik/uptime

experimental dd implementation for Windows
https://github.com/sryze/wdd

dd for Windows
http://www.chrysocome.net/dd

busybox-w32 has ports of several utilities that will work on Windows including dd, df, grep, ps, su and others:
https://github.com/rmyorston/busybox-w32

nano for Windows
https://github.com/lhmouse/nano-win
I also have a port of nano for Windows. It works with PDCurses.

An older version of htop was patched for AIX support and I've added a similar patch to a later version. When the htop project was contacted regarding patches they responded they were not interested in adding AIX support to the official version.

I have simple cross-platform implementations of uptime, nproc and free which I've been working on.
While I have other lists that cover a variety topics, wanted one that just had useful lightweight C programs, utilities and libraries. So, I'll be repeating some links here. However, I hope to add some new projects as well. I'd also be interested in hearing suggestions that fit the criteria of lightweight, cross-platform C projects. If you're aware of any I've left off this list, please let me know.

bard
Ebook reader with text-to-speech support using SDL and flite. I have some patches for this program to improve portability and support using SDL2.
https://github.com/festvox/bard

BearSSL
Rather secure implementation of the SSL/TLS protocol. Can be used with curl.
https://bearssl.org/

cal
Command line calendar.
http://unicorn.us.com/cal.html

cDetect
C based alternative to GNU configure/autoconf. More info at IngwiePhoenix's cDetect project ( https://github.com/IngwiePhoenix/cDetect ). Plus, I've forked the project and use it with many of my builds from source code. I've added support for cross-compiling and many, many other features. Contact me if you'd like a copy.
http://cdetect.sourceforge.net/

csvutils
CSV command utilities. Uses libcsv.
https://github.com/rgamble/csvutils

curl
Command line data transfer tool.
https://curl.se/

diction and style
Analyze documents for readability and other metrics. Find grammatical issues.
https://www.gnu.org/software/diction/

diff
diff implementation for sbase. Check the follow-up mailing list threads for further patches.
https://lists.suckless.org/dev/1601/28247.html

diffh
Works with diff and creates an easy to read display of differences between files.
https://sourceforge.net/projects/diffh/

dr_libs
Single file header audio decoding libraries.
https://github.com/mackron/dr_libs

easylzma
Public domain compression and extraction library for lzma.
https://github.com/lloyd/easylzma/tree/master

fcurl
Library to simplify working with curl.
https://github.com/curl/fcurl

BSD gettext
Older BSD gettext/libintl implementation. I have a fork of this one as well. Also, check out the BSD Citrus Project.
https://www.mmnt.net/db/0/18/ftp.khstu.ru/pub/unix/distfiles

gifsicle
GIF animator utility.
http://www.lcdf.org/gifsicle/

grafx2
Graphics editor.
http://grafx2.chez.com/

BSD gzip
BSD version of the gzip compression/decompression program. There are various forks to port this to operating systems other than BSD. I have a portable fork as well.
https://github.com/NetBSD/src/tree/trunk/usr.bin/gzip

less
Less is more than more, pager program.
https://www.greenwoodsoftware.com/less/

libcsv
ANSI C library to read and write CSV files.
https://github.com/rgamble/libcsv

libgrapheme
C99 Unicode library including encoding, decoding and line-break functionality.
https://libs.suckless.org/libgrapheme/

liblzw
Library for LZW (.Z) compression/decompression.
http://freestdf.sourceforge.net/liblzw.php

libtomcrypt
Public Domain cryptography library.
https://github.com/libtom/libtomcrypt

libutf
C89 UTF-8 library which includes an API compatible with Plan 9's libutf plus a number of improvements.
https://github.com/cls/libutf

lxsplit
Command line file split/join tool.
http://lxsplit.sourceforge.net/

man
C program to view standard man pages. Now part of Elks (elkscmd/sys_utils).
https://github.com/jbruchon/elks/blob/1b6110b73fbb123021a5a29b05d8fa9caef33235/elkscmd/sys_utils/man.c
https://github.com/rofl0r/hardcore-utils/blob/master/man.c

mandoc
BSD version of man page utilities. Uses their manpage format. Includes tools to convert to manpage format used by most man tools.
http://mandoc.bsd.lv/
https://embedeo.org/ws/doc/man_windows/

minicpio
Mini cpio compression and decompression routines.
https://github.com/rayae/minicpio

minizip library
A zip library for zlib. Useful when working with files in zip format. Code is in the contrib section of zlib.
http://zlib.net/

nanosvg
Lightweight SVG library.
https://github.com/memononen/nanosvg

ncurses hexedit
Curses based hex editor.
http://www.rogoyski.com/adam/programs/hexedit/

nemini
Lightweight SDL2 based Gemini client.
https://github.com/neonmoe/nemini

BSD patch
BSD fork of the patch program. I have a fork of this as well with some portability additions to better handle carriage return/line feed issues.
https://github.com/openbsd/src/tree/master/usr.bin/patch

pdfconcat
Concatenates PDF files.
https://github.com/pts/pdfconcat

pdftxt
Convert PDF to text. Helpful for searching PDFs with grep.
https://litcave.rudi.ir/

pdlzip
Compression/decompression for lzma format compatible with the lzip data compressor.
https://www.nongnu.org/lzip/pdlzip.html

picaxo
Graphics viewer.
http://gigi.nullneuron.net/comp/picaxo/

pkgconf
Drop in replacement for pkg-config with no circular dependencies.
https://github.com/pkgconf/pkgconf

pspg
Postgres pager provides a console based pager for PostgreSQL, MySQL, CSV and other formats. Uses ncurses (or pdcurses).
https://github.com/okbob/pspg

sbase
Efficient implementations of core base utilities.
https://core.suckless.org/sbase/

shot
Command line screenshot program.
https://github.com/rr-/shot/

sox
Sound exchange utility. Converts sound formats. Plays audio files.
http://sox.sourceforge.net/

stb
Public Domain single file header libraries. Includes stb_truetype.h, a lightweight alternative to the freetype library, which can parse, decode and rasterize characters from truetype fonts.
https://github.com/nothings/stb

TinyLZMA
Minimal LZMA compressor and decompressor.
https://github.com/WangXuan95/TinyLZMA

unarr
Decompression library for rar and other formats. Part of sumatrapdf project.
https://github.com/sumatrapdfreader/sumatrapdf/tree/master/ext/unarr
Standalone version of unarr.
https://github.com/selmf/unarr

x509cert
Generate x509 certificate requests. Works with BearSSL.
https://github.com/michaelforney/x509cert
I'm still looking for lightweight alternatives to work with and display Postscript or SVG files. I've previously compiled some of the information I've found on PDF and Postscript related programs here: https://lmemsm.dreamwidth.org/3702.html As mentioned, programs such as abcm2ps, lcal, pcal and others output to Postscript. So, I wanted to find a lightweight way to view the output. The abcm2ps program can also output to SVG. One thought was to convert Postscript or SVG to PDF and view the files with mupdf. So, far I haven't found a solution I've been happy with.

I wanted to avoid heavyweight programs and dependencies such as Ghostscript and librsvg. I've been using nanosvg for SVG files. There's an example svgview utility that comes with it. SDL2_img now supports SVG using nanosvg, so you can load and view images that way. I often use picaxo for quick image viewing and since it uses SDL2_img, it's able to support display of some SVG files. I've also been experimenting with an older version of mupdf that was released under a GPLv3 license. Along with adding cbr support (thanks to a FLOSS library from sumatrapdf), I added SVG support using nanosvg. I haven't tried the latest release of mupdf, but I did try a version a few years ago and nanosvg did a better job of handling SVG files than the mupdf code at the time.

I recently found an interesting lightweight SVG to PDF converter than uses nanosvg and libharu. Thought it might be worth checking out. It's called svgtopdf: https://github.com/MichaelMorozIQDirect/svgtopdf There's also a fork with some improvements at: https://github.com/Erroneous1/svgtopdf/tree/improvement/CurveTo As in the other solutions I've tried, it works well for some SVG examples but not others. I thought it was a very clever idea though. Biggest drawback with the program is that there's no information on licensing. I can't tell whether it would qualify as a FLOSS program or not. Would be nice if the author clarified the situation. It's written for Windows, but I believe it would be fairly easy to port to other operating systems.

I haven't found the solution I've been looking for, but trying svgtopdf did give me an excuse to update my libharu build scripts. I've switched them from using cmake to using CDetect, pkgconf and make. The library builds and works quite well. Haven't tracked down all the bug fixes and patches since version 2.3.0 and I don't think there have been any official releases since then. However, if I find some other programs I need that depend on it, I'll definitely look into updating the source with some of the patches others have created for it. Seems like it could be a useful library.

I am still trying to find utilities that handle rendering abcm2ps output properly. So far, I've found no lightweight solutions. Heavyweight browsers or Ghostscript can handle the situation, but I'd really like to find alternatives that are easier to build from source and would be more efficient on very low resource computers.

Also ran across an interesting C program to concatenate PDF files called pdfconcat:
https://github.com/pts/pdfconcat
I asked on github about the license since it wasn't indicated and just found out from the developer that the license is GPLv2. Looks like a nice program. Definitely worth sharing.

If you know of other lightweight SVG, Postscript or PDF utilities or conversion programs with minimal dependencies, I'd be very interested to hear about them.
Below is a list of code that is in the public domain or available under CC0 or unlicense or 0BSD terms.

The MinGW win32 API headers and mingw runtime library were originally released to the public domain. Although the mingw.org project prefers to differentiate itself from mingw64, the developers have followed the mingw64 project's example and licensed later versions of the w32api and mingwrt. I contacted the mingw.org project to ask if they would consider dual licensing using their current license and CC0, but they refused. It was at that point that I left the MinGW project. Needing to distribute license information with every program I build with my C/C++ compilers did not seem like a worthwhile trade-off. The last public domain version of w32api is w32api-3.17-2-mingw32-src.tar.lzma. The last version of mingwrt with some public domain code is mingwrt-3.20-2-mingw32-src.tar.lzma.

I am currently maintaining a version of w32api based on the last public domain version available. I have added some patches that never made it in to either mingw or mingw64. While it's not fully up-to-date with all the changes in the latest versions of Windows, it does support enough compatibility to be able to build several Open Source libraries on Windows. I also intend to keep backward compatibility with older versions of Windows for as long as can. I hope to replace the mingwrt library with something far more portable that includes support for some POSIX and C11 features. I already have bits and pieces coded from scratch including C11 and POSIX threading libraries. One of the purposes of this list is to find public domain source that might be useful to add to a C runtime library.

If you have recommendations for public domain/Unlicense/CC0 C/C++ functions, libraries and programs that I have missed, please let me know. Also feel free to contact me about my work maintaining the public domain version of w32api or my project to replace the mingwrt. You can contact me via the CppDesign mailing list or e-mail me: http://www.distasis.com/connect.htm

Public domain C runtime libraries:
PDCLib
http://pdclib.e43.eu/
Original Public Domain C library
https://sourceforge.net/projects/pdclib/
https://sourceforge.net/projects/pdos/
Another fork of PDCLib
https://github.com/DevSolar/pdclib
libc11
https://github.com/dryc/libc11
Eltanin-OS simia
https://github.com/eltanin-os/simia

dlmalloc - Doug Lea's memory allocator
http://gee.cs.oswego.edu/

SQLite database - includes sprintf code
https://www.sqlite.org/index.html

LibTom projects - cryptography and math libraries
https://github.com/libtom

strftime
https://github.com/arnoldrobbins/strftime

tz
https://github.com/eggert/tz

whereami
https://github.com/gpakosz/whereami

minlib - regexp and other small libraries
https://github.com/ccxvii/minilibs

tiny-regex-c
https://github.com/kokke/tiny-regex-c

tiny-regex
https://github.com/matp/tiny-regex

getline
https://github.com/ChristopherWilks/megadepth/blob/master/getline.c

getline
https://github.com/arnavyc/getdelim

getline
https://github.com/digilus/getline

getline
https://github.com/ivanrad/getline

getopt
https://github.com/skeeto/getopt

parg
https://github.com/jibsen/parg

sdbm (ndbm clone), basic regex, glob, also links to prolog and yacc
http://www.cse.yorku.ca/~oz/

Base64 encode/decode:

base64
https://www.fourmilab.ch/webtools/base64/

Race64
https://github.com/skeeto/race64

Compression:

miniz - zlib compression
https://code.google.com/archive/p/miniz/

zip - portable zip library based on miniz
https://github.com/kuba--/zip

liblzw - Compression/decompression library for LZW files with API comparable to zlib and libbzip2. LZW is used by UNIX compress/decompress programs which work with files with a .Z extension. I use this library with BSD gzip.
https://github.com/vapier/liblzw

ncompress - LZW compression/decompression tools
https://github.com/vapier/ncompress

unzoo - zoo unarchiver
http://freshmeat.sourceforge.net/projects/unzoo/

stdarc - compressors/decompressors collection
https://github.com/r-lyeh/stdarc.c

mousetar
https://pkgs.org/download/mousetar

dxTarRead - non-compressing archive file reader
https://github.com/DeXP/dxTarRead

Cryptography:

NaCl - crypto library
https://nacl.cr.yp.to/

TweetNaCl - crypto library
http://tweetnacl.cr.yp.to/software.html

Monocypher - crypto library
https://monocypher.org/

Kripto
https://github.com/rofl0r/kripto

WjCryptLib
https://github.com/WaterJuice/WjCryptLib

Crypto++ - Individual files are public domain
https://www.cryptopp.com/

tiny-AES-c
https://github.com/kokke/tiny-AES-c

retter
https://github.com/MaciejCzyzewski/retter

blasha1
https://github.com/FRex/blasha1

Random Number Generators:

pseudo random number generator and other files
https://github.com/Marc-B-Reynolds/Stand-alone-junk/tree/master/src/SFH
http://marc-b-reynolds.github.io/shf/2016/04/19/prns.html

UTF-8:

utf8 string functions
https://github.com/sheredom/utf8.h

Console:

pd_readline
https://github.com/mooseman/pd_readline

INI reader
https://github.com/seb-jones/simple-ini-reader

terminfo parser
https://github.com/agauniyal/termdb

library for drawing colors on terminals
https://github.com/agauniyal/rang

snore
https://github.com/FRex/snore

GUIs:

Nuklear - immediate mode GUI
https://github.com/Immediate-Mode-UI/Nuklear
https://github.com/vurtun/nuklear

D-Flat - graphics libbrary published in Dr. Dobb's Journal
https://github.com/mooseman/D-Flat

Turbo Vision
http://tvision.sourceforge.net/

wtk - cross-platform immediate mode GUI library
https://github.com/origamicomet/wtk

Vogle - graphics library
https://github.com/mooseman/Vogle

Math libraries:

FGMP - public domain implementation of a subset of the GNU gmp library with the same API
https://github.com/dad98253/fgmp

C++ Big Integer Library
https://mattmccutchen.net/bigint/

tiny-bignum-c
https://github.com/kokke/tiny-bignum-c

triglib
https://github.com/richgel999/triglib

meow_fft
https://github.com/JodiTheTigger/meow_fft

FFT library
https://github.com/wareya/fft

Communications:

irc library
https://github.com/domsson/libtwirc

irc client
https://git.janouch.name/p/uirc3/

nanoircd IRC server
https://github.com/joric/nanoircd

youtube-dl
http://ytdl-org.github.io/youtube-dl/about.html

streams federated communications server
https://codeberg.org/streams/streams

Programs and utilities:

pdksh
https://directory.fsf.org/wiki/Pdksh

es - extensible shell
http://wryun.github.io/es-shell/

byacc - Berkeley Yacc
https://invisible-island.net/byacc/byacc.html

miniAWK
https://github.com/mooseman/miniAWK

pdcore - public domain core utilities
https://github.com/mooseman/pdcore

pdutils - public domain utilities
https://github.com/mooseman/pdutils

unidiff - unified diff conversion
https://github.com/AceHusky12/unidiff

make
https://github.com/mumu3w/MINIX1x_OLD/tree/master/minix1.3_tc2_tasm/commands/make

touch utility
http://roy.orz.hm/svn/filedetails.php?repname=rtoss&path=%2Ftouch%2Ftouch.c

md5sum utility plus other CC0 utilities at the site:
http://myc01.free.fr/md5sum/

ripgrep - recursively searches directories for a regex pattern
https://github.com/BurntSushi/ripgrep/

pstree
https://github.com/janmojzis/pstree

xd - hex dump tool
https://www.ttgurney.com/xd.c

sc - spreadsheet calculator
http://www.ibiblio.org/pub/Linux/apps/financial/spreadsheet/!INDEX.html

scientific calculator
https://github.com/MostafaMahmoudAbdelrahman/scientific-calculator

cron and crontab
https://github.com/somnisoft/cron

tinyssh - ssh server
https://github.com/janmojzis/tinyssh

curvevpn
https://github.com/janmojzis/curvevpn

smtp-client
https://github.com/somnisoft/smtp-client

POP3 + SMTP server
https://github.com/skeeto/minimail

Epoch - Linux init system
https://universe2.us/epoch.html

sunrise and sunset
https://github.com/troglobit/sun

perpetual calendar
https://github.com/randruc/PerpetualCalendar

Virtual Machine
https://github.com/wasmite/wasabi

Hedley - compiler compatibility project
https://nemequ.github.io/hedley/

subc - compiler for a subset of the C language
http://www.t3x.org/subc/

BDS C - 8080/Z80 C Compiler
https://www.bdsoft.com/resources/bdsc.html

microprofile - profiler
https://github.com/jonasmr/microprofile

mpkg - package manager
http://charon.persephoneslair.org/~andrea/software/mpkg/

Games:

nbsdgames
https://github.com/untakenstupidnick/nbsdgames

Connect Four
https://github.com/skeeto/connect4

tile-solver
https://github.com/skeeto/tile-solver

flappy bird
https://github.com/skeeto/flappy

anarch
https://gitlab.com/drummyfish/anarch

kiki
https://sourceforge.net/projects/kiki/

Diamond Trust
http://hcsoftware.hg.sourceforge.net/hgweb/hcsoftware/DiamondTrust/

Behacked - bejeweled clone
https://github.com/Pentachoron-Labs/Behacked

Personal assistant:

Oracle - siri/alexa/google-assistant like chatbot
https://github.com/TheShoutingParrot/Oracle

Various projects
https://github.com/mooseman
https://github.com/mooseman/mooseman_stuff

Small and single file libraries:

image, sound, sprintf, Truetype font and other code
https://github.com/nothings/stb

public domain single file libraries
https://github.com/mackron/dr_libs

cute headers
https://github.com/RandyGaul/cute_headers

foundation library
https://github.com/mjansson/foundation_lib

single file public domain libraries
https://github.com/gingerBill/gb

single file public domain libraries
https://github.com/haunticaachris/htc

single file public domain libraries
https://github.com/mattiasgustavsson/libs

single file libraries in the public domain
https://github.com/to-miz/tm

stb inspired libraries
https://github.com/AfroDave/kj

single header libraries
https://github.com/Cyphre117/header-libraries

single header library for CLI
https://github.com/ronen25/libcmdf

tiny bits and useful snippets
https://github.com/r-lyeh/tinybits

public domain single file libraries
https://github.com/kieselsteini/sts

CLM_LIBS - useful code and macros
https://github.com/CarlosLunaMota/CLM_LIBS

vlib - single file header libraries for C
https://github.com/vktec/vlib

ZPL - your (almost) C99 Powerkit
https://github.com/zpl-c/zpl

FYS
https://github.com/germinolegrand/fys

portable public domain code snippets
https://github.com/nemequ/portable-snippets

code snippets and header-only files
https://github.com/DanielGibson/Snippets/

json parser
https://github.com/sheredom/json.h

Database:

tinycdb
http://www.corpit.ru/mjt/tinycdb.html

Lexical analysis:

re2c
https://re2c.org/

Data structures:

avl tree
https://github.com/etherealvisage/avl

avl tree
https://github.com/ebiggers/avl_tree

nbds - Non-blocking data structures
https://code.google.com/archive/p/nbds/

sack
https://github.com/FRex/sack

Editor:

kakoune - code editor
https://github.com/mawww/kakoune

Audio:

libmodplug
https://github.com/Konstanty/libmodplug

miniaudio
https://github.com/dr-soft/miniaudio

tonic
https://github.com/TonicAudio/Tonic

mp3_id3_tags
https://github.com/Arcxm/mp3_id3_tags

rsynth - text-to-speech system
http://www.speech.cs.cmu.edu/comp.speech/Section5/Synth/rsynth.html

voclib - vocoder
https://github.com/blastbay/voclib

Graphics:

gif-h
https://github.com/charlietangora/gif-h

gifdec
https://github.com/lecram/gifdec

gifenc
https://github.com/lecram/gifenc

gif-load
https://github.com/hidefromkgb/gif_load

GIF Writer
https://www.jonolick.com/home/gif-writer

jpeg-compressor
https://github.com/richgel999/jpeg-compressor

TinyJPEG
https://github.com/serge-rgb/TinyJPEG/

picojpeg
https://github.com/richgel999/picojpeg

analyzepng
https://github.com/FRex/analyzepng

topng
https://github.com/FRex/topng

binarypic
https://github.com/FRex/binarypic

libplum
https://github.com/aaaaaa123456789/libplum

miniexr
https://github.com/aras-p/miniexr

MPEG video writer
https://www.jonolick.com/home/mpeg-video-writer

gameswf
http://tulrich.com/textweb.pl?path=geekstuff/gameswf.txt

PDFGen
https://github.com/AndreRenaud/PDFGen

libqrgen
https://github.com/aaaaaa123456789/libqrgen

public domain single file libraries for games
https://github.com/pennie-quinn/paq

Game engines:

AVA - game engine
https://github.com/r-lyeh/AVA

L - game engine
https://github.com/Lyatus/L

Phyxed 2D - 2D physics engine with fixed point math
https://github.com/Srekel/phyxed-2d

easytab - tablet library
https://github.com/ApoorvaJ/EasyTab

Graphics and math:

HandmadeMath - math library for games and graphics
https://github.com/HandmadeMath/Handmade-Math

small3dlib - fast, small, efficient, portable, public domain 3D software rasterizer
https://gitlab.com/drummyfish/small3dlib

raycastlib - fast, small, efficient, portable, public domain ray casting library
https://gitlab.com/drummyfish/raycastlib

pt_math - scalar math
https://github.com/pmttavara/pt_math

linmath.h - lean linear math library for graphics
https://github.com/datenwolf/linmath.h

single file C/C++ libraries - raytracer, etc.
https://github.com/rmitton/rjm

graphics code
http://fileadmin.cs.lth.se/cs/Personal/Tomas_Akenine-Moller/code/

Immediate2D Drawing Framework
https://github.com/npiegdon/immediate2d

TIGR - Tiny Graphics Library
https://github.com/xahon/tigr

Debug Draw - immediate mode drawing API
https://github.com/glampert/debug-draw

lightmapper
https://github.com/ands/lightmapper#lightmapper

seamoptimizer
https://github.com/ands/seamoptimizer

tinygizmo
https://github.com/ddiakopoulos/tinygizmo

image resampler
https://github.com/richgel999/imageresampler

vector and matrix library
https://github.com/jobtalle/ccVector

vector math library
https://github.com/sgorsten/linalg

sts - vertex cache optimization
https://github.com/Sigkill79/sts

cro lib - mipmap generator
https://github.com/thebeast33/cro_lib

GUI apps for OSX in C
https://github.com/hidefromkgb/mac_load

Lightweight TUI display manager for Linux and BSD
https://gitlab.com/TilCreator/ly

OS:

TempleOS is an original operating system written in a variant of C called HolyC
https://github.com/cia-foundation/TempleOS

Tforth is a very tiny toy OS written for the IBM PC in 8086 assembly language inspired by the FORTH programming language
https://www.ttgurney.com/tforth.asm
For a long time now, I've been wanting to put together an ISO with Free, Libre and Open Source software similar to the kind our Linux Users Group gave out on Software Freedom Day. I'd like to gear it specifically toward educational software so that groups like Schoolforge may make use of it. If you'd like to help, I would love to have suggestions for lightweight, portable software that can run in console or framebuffer mode. I'm specifically interested in educational, hobby-related, utility, information/organizing and/or word processing programs. Have any recommendations? Please let me know ( http://www.distasis.com/connect.htm ).

Since I'm creating this to promote FLOSS software, I thought it would be great if I could distribute the software on a remastered Linux ISO that could be run from VirtualBox or Qemu or that might boot from a DVD or flash drive. I'd like to try to stick with a console based distribution so that it's lightweight and runs well on older computers with low resources. That means all programs need to be command line, console based (ncurses/pdcurses) or work in framebuffer mode (using SDL 1.x, nano-x, nx11, FLTK, etc.) in order to run on the system without X Windows or Wayland. For efficiency, I'd prefer compiled programs (such as those written in C) to ones that require an interpreter to run. I'd also like to make it as accessible as possible as far as internationalization and for users that may have disabilities. I'm using internationalized language support when possible via gettext. There are utilities like flite and espeak for text-to-speech support. My goal is to put together a lightweight, low resource distribution that will work well for users with older computers and users with no or limited Internet access. There are plenty of things you can do with a computer even if you can't get access to the Internet. Why not make some of those options more readily available?

I'll list some of the software I'm currently considering for the distribution. I'm still missing functionality in several areas, so if you have any recommendations for programs that would fit the criteria I've mentioned, please let me know.


Graphics applications

grafx2 - graphics editor
lodepaint - graphics editor
graphicsmagick - command line graphics editor
picaxo - graphics viewer
perigee slideshow - slideshow viewer
gifsicle - command line tool to create animated GIF files
GLE - command line tool to produce charts
nanosvg - includes lightweight SVG viewer


Music creation/audio applications

I'm still looking for a good Karaoke program (written in C or C++). TiMidity++ does some lyrics display, but I've yet to see it display lyrics created by abc2midi using the console version of TiMidity++. Some educators have found Karaoke to be a good way to help students improve their reading skills.

abc2midi - create your own music using music notation and convert to midi format (command line)
abcm2ps - creates sheet music (command line)
sox - sound exchange, audio file converter and player (command line)
milkytracker - create and play music
TiMidity++ - plays midi files


Readers

Still need several suggestions in this area. I'm currently looking for lightweight PDF and Postscript viewers. Was thinking of using mupdf but I'd still need a decent front-end for it that will work in framebuffer mode. Xpost might make an interesting alternative for Postscript display, but it's still in the works. I found a cbr/cbz library, but don't have a good framebuffer based front end for that yet either. It could be integrated with mupdf or used standalone. Would be nice to include some educational public domain ebooks with the distribution too.

bard - epub reader with text-to-speech capability
pdftxt - converts PDF to text using libmupdf (Can be used with search tools such as grep.)
qpdf - command line PDF transformation tool
sdlbook - SDL front end for libmupdf (Recently found this and it may fill my needs for a PDF viewer.)


Audio/video players

flxplay - plays flx movies
theoraplay - plays ogg theora videos and ogg vorbis


Astronomy

nightsky - displays stars
pngphoon - graphically shows moon phase (command line)
lcal - command line based lunar calendar that outputs to PostScript


Word processing

I'm thinking of using one or more of the following editors as an alternative to the popular vi/vim and emacs editors. Other suggestions welcome.

nano - ncurses/pdcurses editor
textadept - programming editor that uses scintilla editor widget has ncurses/pdcurses front-end
wordgrinder - ncurses word processor
mp (maximum profit) - editor with ncurses/pdcurses front-end


Other text related utilities

I have a few dictionaries in stardict format that are Open Source. (Created one from the Mobi project.) I'm looking for other Open Source dictionaries in the stardict format or easily converted to that format. Also still looking for a good grammar checker program.

hunspell - command line spell checker
sdcv - command line version of stardict dictionary tool
style - readability tool
diction - readability tool


Information managers/organizational tools

This section needs some additions. Anyone know a good SDL based calculator? I'd love to find a decent command line utility to avoid repetitive stress injury. There are some great desktop ones such as (workrave and prevrsi).

pcal - command line calendar that outputs to PostScript
ckpass - possible command line keepass replacement
sc - spreadsheet calculator


Hobby related

Don't have much in this category yet. There are several good HAM radio programs available. Maybe some of them that will work in console or command line mode could be added. Other hobby suggestions welcome. Also, maybe some public domain ebooks on hobbies could be useful.

nut - nutritional analysis


Educational entertainment

If you have other recommendations, please let me know.

lpairs - memory game
dual-n-back - memory tool
anagramarama - anagram language game
scramble - anagram language game
hangman - language game
concentration - memory game
tuxmath - game for improving math skills
starlanes - interstellar commerce game


That's all I have so far. I still have to look into remastering a Linux distribution. If you have tips for a simple remastering tool to use or know of some good documentation on how to remaster a Linux distribution via command line, please let me know. Would also appreciate other suggestions for lightweight, portable, useful or educational software (preferably in C). I'm also looking for Creative Commons, public domain or Open licensed educational media (ebooks, videos, etc.). Know of a Linux distribution that's already doing a similar project and would like another volunteer? Please let me know. If you'd like to discuss this project further or help out in some way, feel free to contact me ( http://www.distasis.com/connect.htm ). Thanks.
I've listed some core utilities options besides GNU. I thought I'd share something about what utilities I personally prefer to use. My main requirement in a good set of core utilities is portability. This is rather hard to find. You would think that if a utility was efficient and lightweight, it would be easy to port. However, that's not necessarily so. Many utilities that are designed for efficiency take advantage of features of a particular operating system which makes them harder to port.

At first, I considered starting with sbase which had stated goals similar to what I was looking for, but it didn't have enough features to effectively replace the GNU core utilities when developing and building programs. While newer versions of sbase have added a lot of functionality, they've become much less portable.

My favorite source for inspiration is Minix. Earlier versions provided some interesting and fairly portable versions of a variety of utilites:
https://www.minix-vmd.org/cgi-bin/raw/source/std/1.7.5/src/commands/simple/
Some of the utilities don't have sufficient UTF-8 support or lack some newer functionality found in GNU utilities that makes them fail when attempting to build applications. However, they make a useful starting point.

In some cases, the OBase or BSD utilities do a better job than the older Minix ones and still do that job efficiently. I particularly like the version of patch found on BSD systems. It's an earlier variant of the Free Software Foundation's patch program. Unlike the FSF's version of patch which uses the GNU license, it uses a BSD style license.

For some utilities, I've consulted the POSIX standards ( http://pubs.opengroup.org/onlinepubs/9699919799/idx/utilities.html ) and rewritten them from scratch.

Rather than trying to port utilities such as the Free Software Foundations coreutils, I thought having a lightweight, efficient, highly portable option would be a useful alternative. Many of the FSF developers have little interest in portability making it hard to get later versions of their programs working on non-POSIX systems. I was surprised at how little interest most users have in developing portable alternatives to the core utilities that could be used to build software. Not only was their little interest, some people posted extremely negative comments when anyone suggested creating alternatives to the FSF software. I was also surprised by some of the negative reactions I read about wonderful projects like SBase.

I have a growing collection of public domain, BSD and MIT licensed alternatives to the GNU core utilities. For now, I just use them for my own projects. If you have an interest in portable utilities and tools, would like to see a viable portable alternative to the FSF's GNU coreutils or would like to further discuss related topics in a positive light, feel free to contact me. I'd enjoy talking with other developers and utility users on the topic.

You'll find some added information on my utilities and information on how to discuss the topic further at:
http://www.distasis.com/cpp/lmbld.htm
Most systems (other than BSD based ones) use GNU's core utilities. It's used by most Linux distributions. Cygwin, MinGW and gnuwin32 run ported versions of the GNU applications as well. Even Microsoft's SFU/SUA included some of the GNU utilities. However, the GNU core utilities are typically more bloated and have more feature creep than other versions of standard Unix utility programs. BSD systems have their versions of core utilities. The latest version of Minix has adopted the BSD utilities. They tend to be less bloated than the GNU versions, but are still more bloated than other options out there. The BSD utilities also tend toward adding new features similar to but not to the same extent as the GNU utilities. Also, some of their utilities aren't as well optimized as the GNU versions. Busybox seems like the most viable option for a lightweight but still comprehensive version of core utilities. I'm currently using it on my Debian system instead of the GNU core utilities. Toybox is a similar alternative to Busybox. It has a better license option than Busybox, but it's lacking some features and tools that Busybox has.

Here are some links to core utility collections:

Earlier Minix alternatives
http://www.minix-vmd.org/cgi-bin/raw/source/std/1.7.5/src/commands/simple/
Earlier versions of Minix put together an interesting collection of lightweight utilities from various sources.

Busybox
https://busybox.net/
Windows ports of Busybox:
https://frippery.org/busybox/
https://github.com/rmyorston/busybox-w32
https://github.com/realthunder/busybox-w32

Toybox
http://landley.net/toybox/

Heirloom Project
http://heirloom.sourceforge.net/
Based on traditional implementations of standard Unix utilities. Not very portable to non-POSIX systems. Not as bloated as GNU or BSD core utilities.

OBase
https://github.com/chneukirchen/obase
Port of OpenBSD userland to Linux.

SBase
http://git.suckless.org/sbase
This started out as a discussion on one of the suckless.org mailing lists of how to write efficient core utilites that weren't all part of one executable like Busybox or Toybox. Some good examples were posted and the project was started. Then project development was quiet for a while. The project became active again and one of the main goals besides efficiency was UTF-8/internationalization support. Looks like they've borrowed some UTF-8 support concepts (such as Runes) from Plan 9. It's not designed to be portable to non-POSIX systems. However, it does look like they've covered replacing most of the basic core utilities with lightweight, efficient versions.

Other alternatives:
https://github.com/jbruchon/elks/tree/master/elkscmd
https://github.com/EtchedPixels/FUZIX/tree/master/Applications
https://github.com/Orc/bin
https://github.com/eltanin-os/utilchest
https://github.com/eltanin-os/cbase
https://github.com/rofl0r/hardcore-utils
http://git.musl-libc.org/cgit/noxcuse/tree/
https://github.com/pikhq/pikhq-coreutils
http://www.fefe.de/embutils/
http://skarnet.org/software/s6-portable-utils/
https://github.com/dimkr/lazy-utils
https://github.com/arsv/minitools
http://git.suckless.org/ubase
https://github.com/dcantrell/bsdutils
https://github.com/cheusov/nbase
https://github.com/rswier/swieros
https://github.com/minoca/swiss
https://github.com/mentos-team/MentOS/tree/master/programs

April 2025

S M T W T F S
  12345
6789101112
13141516171819
20212223242526
27282930   

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 03:26 am
Powered by Dreamwidth Studios