Long-Running Projects
These are projects that I often come back to because I enjoy working on them. No particular order.
-
Libzed -
Documentation
A general-purpose library to take the pain out of C++ development (and keep my C++ skills sharp!). Contains a lot of useful quality-of-life functions and classes that I've developed over the years, while still being less bloated than something like Boost. Most importantly, it is simple to use, decently performant, and platform-independent.
Fun Fact: The patch version (the Z in vX.Y.Z) is automatically updated on each commit, as is the documentation. -
Skrunk -
Documentation
My home-built database solution for managing personal data and interacting with other projects. It's light on dependencies and performant even on slow or spotty connections. A significant focus is also on security; in addition to requiring auth for every request, there is a robust system of permissions, user groups, & modules that allow for both over-arching and fine-grained control over who can access what; all of which are enforced on the backend as well as the frontend.
Fun Fact: On the client side, the only third-party dependency is font-awesome icons. I also designed the logo! -
Paisley -
See the Readme for full documentation.
A "batteries included" scripting language with simple syntax and a large suite of data manipulation features. It's usable on any machine that can run Lua, and is designed with minimal dependencies in mind, so even the most basic of systems can run it. It can even create standalone executables for systems that don't have Lua installed at all!
Fun Fact: The compiler can run without any dependencies other than Lua. I also designed the logo!
Smaller (but interesting) Projects
These are small projects that are basically complete. Interesting tools that I've made to solve a specific problem.
-
Skrunk API
A simple Python module for interacting with a SKRUNK server. It makes it dead simple to perform API queries and mutations. Every possible query and mutation is available as a method of the Session class, and in plain text for easy reference.
Fun Fact: the list of queries gets programmatically updated from the main Skrunk repo. -
Tag Query
A simple yet powerful DSL that converts a string expression into a mongoDB query. Specifically, it's meant to allow for complex queries to be run on an array field in some mongoDB document, in a way that is both human-readable and easy to write. This was originally designed to be used with Skrunk for querying files by their tags, but it can be used with any mongoDB database. -
Paisley VS Code Extension
A Visual Studio Code extension that adds syntax highlighting and language support for the Paisley scripting language. This extension makes it easier to write and maintain Paisley scripts by providing editor features tailored to the language.
This extension was developed alongside the Paisley language itself. -
Subsonic Kiosk -
Documentation
An Arduino project that converts an Arduino Giga and Giga Display Shield into a music-streaming kiosk. This kiosk allows you to stream music from any Subsonic-compatible API.
This is a work in progress!