Non-Code Projects

Increasing Rust Reach: I was a 2018 mentor of two amazing mentees. To describe Rust Reach; from the homepage, "This program matches Rust team members from all parts of the project with individuals who are underrepresented in Rust's community and the tech industry for a partnership of three (3) months, from mid-May to mid-August. Each partnership agrees to a commitment of 3–5 hours per week working on a Rust Project."

Introduction to Linux Course: I teach a three (3) to five (5) day workshop on introduction to Linux. The class varies by client, but can span from introduction and basics, to advanced techniques and scripting. This course has been run for classes ranging from three (3) to twelve (12) individuals.

Introduction to Python Course: I teach a three (3) to five (5) day workshop on introduction to Python. This course is complementary to the Introduction to Linux and likewise ranges from new to programming, to only new to Python but skilled at programming. This class has been conducted with sizes ranging from five (5) to fifteen (15) individuals.

Open Source

clap GitHub stars: A command line parsing framework for the Rust language. It's meant to bring command line applications into the modern age without sacrificing performance or ergonomics. clap supports things like automatic help generation, automatic shell completion scripts, YAML defined CLIs, suggestions on typos, argument relationships, any many more features. More info can be found by visiting the project page, the Github repository (clap-rs/clap), documentation (https://docs.rs/clap) or the crates.io page (crates/clap).

violin GitHub stars: An implementation of the Vivaldi Network Coordinates algorithm (PDF) for mapping network nodes with euclidean coordinates in order to accurately and efficiently estimate network latencies. This implementation focuses on performance while still allowing no_std and no alloc environments. Written in Rust (1k sloc).

clog GitHub stars: A tool for generating Markdown changelog's based on one's git history. This tool follows the conventional format, but is also fully configurable and customizable. This project is divided into a CLI front-end and a library backend (GitHub stars).

usbwatch GitHub stars A daemon that asynchronously monitors for USB connect/disconnect UDEV events and runs actions based on matching rules. Actions can be matched on device, port, etc. Rules are written in YAML and allow advanced concepts like excludes, groups, etc.

iptables_exporter GitHub stars An asynchronous Prometheus metrics exporter for iptables which allows exposing total byte and packet counts by chain/rule/policy, etc.

wireguard_exporter GitHub stars An asynchronous Prometheus metrics exporter for WireGuard which allows exposing metrics such as total byte transfers, handshakes, etc. by interface/peer.

typed-oid: A typed Object ID library for Rust. An Object ID (OID) is a RFC4648 base32 (no padding) extended hex-encoded UUID with a prefix separated by a -. This allows human or machine categorizing (and sorting with UUIDv7) of UUIDs. Written in Rust (~600 sloc)

clap_generate: A crate that enables automatic generation of shell completion scripts and manpages.

clap_derive: A crate that enables Rust's custom-derive macro functionality with clap.

term_size-rs GitHub stars: A crate for determining the terminal width in order to determine correctly formatted output.

cargo-outdated GitHub stars: A cargo plugin which checks for out of date dependencies.

cargo-msrv-table: A cargo plugin which attempts to compile a particular crate against all Rust versions to determine the Minimum Supported Rust Version (MSRV) by crate MAJOR.MINOR version.

Closed Source

ruido: ("noise" in Spanish) A Rust implementation of the Noise Protocol Framework with a focus on compile time configuration, security, and performance. Written in Rust (~8k sloc).

Wayfinder: A Container Networking Interface (CNI) plugin and daemon that connected containers to a Kuma control plane via a global Open Virtual Network (OVN). Written in Rust.

RouteRunner: A daemon that sat on hosts listening to AnyCast advertisements and added routes to the kernel routing table. Written in Rust.

pfGUI: A cross-platform GUI application for securely creating encrypted archives of large files and directories. Written Rust using the Iced GUI framework. (~10,000 sloc)

Phoenix: Multi-cloud mesh VPN used for custom traffic routing. "Written" in Ansible (~4k sloc).

Phoenix Infra: Builds infrastructure between multiple cloud VPS providers, as well as locally via LXD. Written in Python (~10k sloc).

Phoenix Harden: Hardens a VPS server instance against a large number of network attacks and applies many server security practices. Written in Bash (~2k sloc).

Phoenix Assert: A double verification distributed intrusion dection system. Written in Bash (~3k sloc).

Phoenix Mon: A low remote footprint, multi-VPS monitoring solution to monitor the Phoenix mesh network. Written in Bash (~5k sloc).

satctl: Both a Terminal User Interface (TUI) and CLI for installing and administering Red Hat Satellite. Written in Rust. ~10k sloc

satctl-ansible: A set of Ansible playbooks and roles for installing and configuring Red Hat Satellite. Written in Shell Script, Python, and YAML. ~2k sloc

Inactive Projects

seaplane-cli and seaplane-sdk-rs: A CLI and SDK for Seaplane's global control plane, key value store, and restrictions/locks. Written in Rust (~15,000 sloc)

cargo-graph GitHub stars: A cargo plugin for generating GraphiViz dependency graphs.

doapi-rs GitHub stars: DigitalOcean API bindings for Rust

docli-rs GitHub stars: A DigitalOcean CLI written in Rust.

cargo-count GitHub stars: A cargo plugin for counting lines of code fast.

cargo-extras: A meta cargo plugin which installs many common cargo plugins.

cli2048: The popular 2048 game in the terminal. Written in Go (~600 sloc).