csvlite
2026, everything, c++, cmake
the problem
real-world csv is never clean: quoted commas, escaped quotes, embedded newlines, stray BOMs, ragged rows. and the tools that handle it usually drag along runtimes, libraries, or a network connection.
the approach
a hand-rolled utf-8 parser with streaming and prefix parsing, a versioned column schema with validation rules, atomic saves via temp-and-rename, and four subcommands: a virtualized spreadsheet TUI for editing, plus view, cat, and validate for pipes and scripts.
a chance to try out muse spark 1.3 under heavy supervision.
the outcome
one portable ~200 KiB binary with no third-party code: cmake build, ctest suite, man page, and packaging for homebrew, arch, nix, deb, rpm, and tgz. MIT licensed.
made to work well with rjournal.