Most of my code may be found on GitHub. You should go there and fork something.


backitup is a simple bash script to execute a program if a certain amount of time has passed.


Various Vagrant configurations for fun and profit.


Open and mount a LUKS volume before performing a backup, defaulting to rsnapshot.


Simple bash scripts I use to exfiltrate and infiltrate data from my Android phone. They are small wrappers around rsync, which I use on my phone thank to SSHelper.


Firewarden is a bash script used to open a program within a private Firejail sandbox.


Geolocated weather forecasts using the power of the World Wide Web.


GOESImage is a bash script which downloads the latest imagery from the NOAA Geostationary Operational Environment Satellites and sets it as the desktop background via feh.


hostsctl allows you to block advertisements, trackers, and other malicious activity by manipulating /etc/hosts. By taking advantage of curated lists of known bad hosts and providing an interface to easily manipulate host definitions, you can save bandwidth and stay safer online.

I took over the maintainership of hostsctl when the original author vanished.


Metamovie is a simple script to fetch information about a movie and store it as git-annex metadata.


This project provides a simple framework for determing the trusted state of the current network connections, and taking action based on the result. It is intended to be used to activate certain services on trusted networks, and disable them when when there is a connection to an untrusted network or when there is no established network connection.

Shortcuts for easily managing text-based notes.


Optician is a bash script which creates optical backups of directories.


Add a bookmark to Pinboard. The URL may be given via standard input, as an argument, or copied from the clipboard.


Allows the use of Redshift with automatic position updating, without the complexity of GeoClue.


Spark is an Ansible playbook meant to provision a personal machine running Arch Linux. It is intended to run locally on a fresh Arch install (ie, taking the place of any post-installation), but due to Ansible’s idempotent nature it may also be run on top of an already configured machine.


Miscellaneous helpers and system administration scripts.