Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

About

Hi, I’m Charles! Among other things, I’m an open source developer who’s passionate about community, communication, correctness, maintainability, and developer tooling.

I like to spend time using Rust and Nix to make open source software for Linux, talking with, helping, and teaching others in chatrooms, improving my own skills, keeping tabs on open source news and developments, going on the occasional hike with my wife, and taking care of our dog. Sometimes I write articles, which usually happens because I find myself going over the same points in conversation a lot, or because I just want to organize/centralize my thoughts on something. I do a little CAD, 3D printing, and electronics sometimes; I would like to do more of those things but just tend not to prioritize them. Might have something to do with the fact that most of my projects start because I wanted to achieve a higher level goal only to realize I need to build the foundations first.

If you want to see the results of more of my effort, consider donating if you have the capacity to do so, or if you don’t, consider sending some words of encouragement, such as telling me how something I made has helped you.

Noteworthy projects

Present

  • Derail: An alternate error trait for Rust with support for multiple causes and strongly-typed attached details.
  • Engage: A task runner and service manager with ordering and parallelism based on directed acyclic graphs.
  • Sprinkles: An alternative to the schema and self-referential components of Nix Flakes for non-Flakes Nix.

Future

  • A project template tool with built-in snapshot testing.
  • A standalone multiplatform CI system.
  • A relatively simple code hosting site with jj integration.
  • A DataHand-like wireless keyboard with magnetic switches.
  • And more…

Past

  • Grapevine: A Matrix homeserver forked from Conduit 0.7.0. Development has largely halted due to maintainer burnout.