Projects
Here you'll find a variety of projects, in a variety of states of
activity or abandonment. Some are useful, some are just for fun.
Feel free to contact me about any of them. In general, I make no
guarantees as to their suitability for any purpose. Virtually
all of my active projects have flake.nix files that
define a development environment, so hacking on them is easy
and environment-independent.
This list is likely to be incomplete, so check out my profiles on the various forges to see newer stuff. I have tried to put the things I am more actively maintaining towards the top.
cuid-rust
- Repository: github.com/mplanchard/cuid-rust
- License: MIT
- Created: January, 2019
- Status: actively maintained
This was a relatively early Rust project for me. My EM at the time mentioned the CUID algorithm, and I decided to have a go at writing it in Rust. I believe it has become the de facto standard Rust implementation, which is pretty gratifying. The crate now includes two sub-crates implementing both v1 and v2 of the algorithm.
procfarm
- Repository: sr.ht/~mplanchard/procfarm
- License: AGPLv3
- Created: April, 2026
- Status: actively maintained
I was inspired by a section of documentation of nix post-build-hooks:
Here we use the post-build hook to upload to a binary cache. This is a simple and working example, but it is not suitable for all use cases. The post build hook program runs after each executed build, and blocks the build loop. The build is slow or unreliable. A more advanced implementation might pass the store paths to a user-supplied daemon or queue for processing the store paths outside of the build loop.I decided to make a "more advanced implementation" and, inspired by the sccache approach of a transparent background server, created
procfarm.
It runs a background server that listens on a unix socket, and provides
a run command to send any arbitrary command call to it.
Processes are run in parallel in the background, with stats collected
about their execution.
githome
- Repository: github.com/mplanchard/githome
- License: No license (I should add one!)
- Created: June, 2020
- Status: actively maintained
This started as a dotfiles repository, branching off of my old dotfiles repository (called, appropriately, dotfiles). As I got deeper into Nix and switched to NixOS, it has slowly morphed into the declarative configuration of all my systems. It is also an absolute mess, being a continuously used, always in progress record of the state of my systems and my learning process.
This Website
- Repository: gitlab.com/mplanchard/mplanchard.gitlab.io
- License: MPL 2.0
- Created: March, 2019
- Status: actively maintained
This is another early Rust learning project for me. I wanted to build a dead-simple website out of "classic" web technologies, and I didn't really care for the complexity of any of the major static site generators. So, I made a simple one. It generates and publishes this site whenever I push to the main branch, ezpz.
vitae
- Repository: sr.ht/~mplanchard/vitae
- License: AGPLv3
- Created: May, 2026
- Status: actively maintained
This is a totally normal completely insane project, in which
I took something not fun (updating my resume) and made it into something
fun: using emacs to convert a literate-programming-style org-mode
file into a LaTeX file and then into a PDF. The result is pulled into
the build process of this website, so you should be able to see
both the generated PDF and
the generated LaTeX here (promise
it's not a Trojan ;p).
json-logic-rs
- Repository: github.com/Bestowinc/json-logic-rs
- License: MIT
- Created: November, 2019
- Status: essentially abandoned
We used JsonLogic as part of the product at Bestow, but we had issues with discrepancies between the JavaScript and Python implementations, with several things just not working in the Python one. I wrote this Rust version, which provided Python and WASM bindings, so that everybody could use the same thing across the stack. After I left Bestow, it was mostly abandoned. I have an alternative fork at json-logic-plus, which I'd like to find time to catch up on and flesh out, but at the moment it too is also essentially abandoned.
pypiserver
- Repository: github.com/pypiserver/pypiserver
- License: MIT
- Joined: January, 2016
- Status: actively maintained, but not by me
This is one of the more popular alternative python package servers. I did not create it originally, but I started contributing in early 2016, and took over as the primary maintainer in 2018. I stopped actively contributing around 2021, being too busy with work and more excited about Rust than Python. Prior to stepping away, I ensured the project had active maintainers, and it seems to still be going strong.
pydecor
- Repository: github.com/mplanchard/pydecor
- License: MIT
- Created: May, 2017
- Status: abandoned
A Python package to make it easier to use python decorators to
arbitrarily wrap functions. Ironically, years before I started
using emacs, this essentially recreates the interface of emacs'
advice-add functionality.
version-utils
- Repository: github.com/mplanchard/version_utils
- License: GPLv3
- Created: December, 2015
- Status: abandoned
At ihiji, we did a lot of random version parsing of things like RPM packages, so I made this simple Python library to help us out.