I build systems software, mostly in C++ and Swift: an RPC framework, a
Wayland compositor with its own UI toolkit, and the web apps that run on
top of them.
This page is part of that stack too: a Swift process renders it from a
Mustache template through NPRPC's HTTP server, with no Node anywhere in the
serving path.
A multi-transport RPC framework: a compact binary protocol, an IDL that
generates C++, TypeScript and Swift stubs, and server, client and
bidirectional streams over TCP, WebSocket, HTTP/3, WebTransport, QUIC
and shared memory.
A hydroponics nutrient solution calculator with a grow journal: stories,
photo and video uploads, and a live watch stream. Swift on the server,
Svelte in the browser, NPRPC between them.
A Wayland compositor and a declarative UI toolkit that belong to each
other. Apps are written in Swift the way SwiftUI apps are and draw with
Vulkan; on the session they hand a draw list to the compositor through
shared memory and it paints.
A distributed control system built around 8-bit AVR microcontrollers:
a multi-master protocol loosely based on P-NET, control logic uploaded
to running controllers on the fly, and live signal propagation, with
quality bits, visible in the running algorithms.