Academic Projects

Boa Study Template
Link: Git Repo
A toolset to make building analyses using Boa easier and and more readily reproducible. Built using the Boa API, Python, Make, GNU Make and Pandas.
Link: Git Repo
Emacs support for the Boa language, including syntax highlighting, snippets, autocompletion of builtins and local names/types, and navigation of function, type and output definition. There is also optional eldoc support (including pick-up of most local function definitions), as well as support for study-config.json and IDE-like support for running projects.
Link: Git Repo
qal is a tool to query academic libraries, like Springer Link or IEEEXplore. It includes a tool for running one-off queries as well a tool for setting up several queries to be run across several libraries automatically.

Open Source Contributions

Link: Contributions
NixOS is a distribution of GNU/Linux that uses an entirely different model for package management and configuration. Configuration is entirely declarative, with reproducibility one of the most significant goals of the project. I package a couple of programs, and have contributed some minor bug-fixes to others.
Kiera Theme for Hugo
Link: Contributions
This is the theme that formerly was used for this blog. I've contributed support for mathematics, the ability to include an ORCiD social icon, use of/support for "last modified" dates, and a more configurable footer.

Current Projects

Link: Git Repo
This is a Hugo "theme" that allows an author to fairly easily build a bibliography for an article or to list all of their works easily in an automatically generated way through structured data.
Link: Git Repo
A configurable multi-repository synchronization tool with easy support for many kinds of repositories. This was my first project in Rust, and I found it to be fairly interesting.
Link: Git Repository
Extras for transient. Interfaces to various command external to Emacs using Transient.
Link: Git Repository
A method to enable blocking emacs commands using the current time and defined groups. Built around a single group variable and a special macro to define commands, it makes reducing distractions slightly easier.

Former Projects