Software
I spent most of my free time using, writing, and modifying a variety
of free software projects, usually related to Linux, POSIX, C,
systems, and graphics.
My values include simplicity, portability, and minimalism. Accordingly,
my favorite programming languages are C and Lua.
Here are some software projects I am actively working on:
- cproc: A mostly-complete C11 compiler, using QBE as a backend.
See here for a demo you can run in your browser.
- samurai: An alternative implementation of Ninja written in
C99. Used by Alpine Linux and KISS Linux as their primary
ninja
implementation
- libtls-bearssl: An implementation of the libtls API (from
libressl) using BearSSL instead of libssl.
- oasis: A statically linked Linux operating system, focused on
lightweight components.
- dnssec-rr: A collection of tools to add DNSSEC records to your
DNS zone.
- sbase: A collection of portable POSIX tools.
- swc: A library for writing a small Wayland compositor.
- velox: A tiling window manager based on swc, similar to dwm
and xmonad. The first non-weston based tiling Wayland compositor!
I also want to share a few projects that I think are great. I highly
encourage you to check these out if you haven’t already:
- myrddin: A neat systems-level programming language.
- bearssl: A tiny, yet extremely flexible TLS library.
- musl: A lightweight and correct implementation of libc for
Linux.
- qbe: A small compiler backend, similar to LLVM.
- pkgsrc: An operating-system agnostic package manager and
repository that integrates well with the rest of system.