Codeberg Mastodon Blog feed


This is a brief overview; further documentation can be found by following the links.


Frederick W. Taylor was a bastard, but you aren't.

Find all broken links from a starting url.
repository | crates.io


Create and study flashcards on the command line.

What You've Read

What You've Read: A bit web bookmarking, a bit reference manager.


Monitor website availability with Bash.

Don't Forget the Python

Command-line interface for Remember the Milk.
repository | PyPI


We're getting meta. This site has gone through three iterations so far. Currently, it uses the static site generator Zola. Prior to this, the site was built in Dioxus, and before that it was in Django. The Ansible configuration to create it is here.


Finally, here are some things I've been paid to do that are publicly available. In addition to developing the code, I was also responsible for setting up the infrastructure and deploying all of these projects.

  • Traffic Counts API (Python) - API interfacing with an Oracle database to serve data on traffic counts.
  • RTSP API (Python) - Conversion of a Django 1.x app to FastAPI.
  • Economic data API and data handling (Python) - Extraction and manipulation of data from various public APIs on a regular basis, served in a new API.
  • Crash API and data handling (Python) - API connected to a Postgresql database that makes crash data available. I finished work started by another employee on building the API, converted it from Django to FastAPI, and created a tool for building and updating the underlying Postgres database from CSV files.
  • db_connections (Rust) - CLI for extracting database connection information from ASP.NET and classic ASP files.
  • ckan-ansible (Yaml) - Ansible project to build DVRPC's Data Catalog (CKAN instance).
  • api_tracker (Python) - API, Postgres database, and crawler for discovering all locations where the organization used its own APIs.
  • CJTF (Python) - Website of the Central Jersey Transportation Forum, in Django.

Non-public paid work I've also done has included additional APIs, Ansible projects, data extraction and transformation tools, administering an internal Postgres cluster, setting up website monitoring services, and leading internal documentation efforts.