2023 State of Projects

Overview

Thursday, 11th January 2024

With the new year having rolled around I figured now is a great time to think back and reflect on all the projects I’ve been working on. When it comes to my personal projects, I’ve been working towards creating a cohesive ecosystem between them, that way if I need , I can seamlessly integrate with one of my existing projects. I’ve been doing this mainly just for fun, I quite enjoy diving into scenarios and figuring out how to best make something work, and I end up learning so much that it actually becomes helpful both with other projects as well as professionally.

Current Projects

With that being said, here’s the status of my current projects

Bagcheck

Back when I worked at LeapYear, wwe used Concourse CI for our infra teams workflows. It’s a great, albeit very opinionated tool, but one issue that kept biting us is validating the Concourse pipelines. Enter bagcheck, a validation tool that allowed us to ensure that our pipeline is at least structured correctly during pre-commits and before we actually upload it and potentially break things

Bulwark

Created out of necessity for Scaffold, Bulwark is a remote queue/buffer tool that allowed me to queue up task runs and have workers pull them off the queue when they’re available. Shifting to this approach really helped make Scaffold the quality tool that it is today, so I’m quite happy with what I’ve build here. I do have plans to improve Bulwark over time, but frankly it’s pretty solid for how little time I’ve actually spent working on it

Calligraphy

Calligraphy is a scripting language that allows you to write Bash commands inline with Python code. Over these past couple of years it’s proven really useful, especially when working with things like kubectl and the AWS CLI. Being able to easily run external commands and grab their output has been a lifesaver, allowing for quick and robust development of tooling without having to worry about how the different language APIs work when the CLI can do it all for you. I haven’t touched it much this past year, but I intend on really making it something special this year

CeresDB

Probably my crowning achievement when it comes to my projects, this hybrid database engine has come a very long way and turned into something great. I recently have re-factored the backend to be cleaner, more performant, and allow for new features like indexing data (which frankly should have been built in for a while before I got around to it) and it should be ready for a 2.0.0 release soon. Most of my projects are now powered by CeresDB on the backend, and it’s proved to be a reliable and performant tool that I’m really enjoying working with

JSONC

It’s been a while since I’ve worked on jsonc, however it’s proved its usefulness. A small Python JSON parser, all it does is add the ability to write comments into JSON files. Super helpful for configuration when you don’t want to use YAML files, and I’ve definitely gotten a lot of use out of it

Hemingway

Hemingway was always more of an R&D project than anything else. I tried to put together a NLP tool to use wave function collapse in order to tag various parts of speech in sentences, however the performance of the tool ended up being not that great. While I’m disappointed it didn’t pan out, it was a lot of fun trying to figure out the best way to implement the approach and I learned a lot from it

Multiwidth

I cannot describe how useful this project has been. Quite often in my professional life I’ll need to parse some output from kubectl or gcloud or whatever. A lot of times these things will be output as space-delimited tables with variable widths between columns. That’s where multiwidth comes in. It’s allowed be to parse the output from these tools very quickly and easily, which I’ve really been happy about. It’s honestly been pretty solid and hasn’t needed much maintenance over the past year, so I’m happy with how it has turned out

Nimbus

Nimbus is the UI that I created for Stormfront and I’m super pleased with how it’s turned out so far. This website (and soon to be other services) is all managed by Stormfront via my Nimbus interface, which makes managing my various applications super easy and I’m really proud of what I’ve created so far

Notary

A project that was originally born out of VelociModel, Notary is an oauth provider that I’ve built. Originally it was a coupled part of VelociModel, but I’ve broken it out into its own project so that I can unify authentication across my projects. There’s still some more work to be done, and I’m hoping to have a 1.0.0 release in a couple months so that I can start migrating other projects over to it

Quiver

Quiver is the Pythonic language which uses an erlang-like concurrency mechanism that I started on in February 2023. So far I’ve managed to put together the VM and the assembler, I just have a bit more work to do before I can get a beta release out. Specifically, I’m working on building in interfaces to the Golang standard library. The plan is to use what Go has already done instead of trying to re-build all that functionality from scratch (for once I’m not re-inventing the wheel). That work is almost finished, and once it is I’ll then be able to move onto the actual language parsing

Typewriter

Typewriter is the platform that I’m currently using to host this very website. A small application, it pulls content from a GitHub repo of your choice and then renders Markdown files into HTML templates and presents them. A simple tool, it makes managing my site a lot easier since all I have to do it write a bit of markdown and I have a new page up and ready

Scaffold

This year has been huge with Scaffold. A workflow management tool, Scaffold was designed to tackle the problem of deployments being a “living thing”, and it really shines by bundling deployment monitoring with workflows so that changes in state can be handled at any point in the pipelines. I started work on it in July 2023 and have made huge strides since then, and I’ve hit some pretty big milestones with this tool over the past year. I’m excited to see how it’ll improve as more requirements (and bugs) are discovered and to see what tool it’ll grow into

Stormfront

Stormfront is the container orchestrator that I threw together to better understand the challenges that things like Kubernetes face. I started work on it back in September of 2022 and haven’t really touched it much since February 2023, but it’s currently running and hosting this website. As my other projects come along I plan to host other services using Stormfront both for internal and external use

Vergil

Vergil is a relatively new project designed to act as an ingress proxy. I plan to use this in conjunction with Stormfront later this year, since I’m currently running Nginx to proxy over to my various services. It’s designed to be simple and lightweight, and frankly the performance ended up being a lot better than expected. There’s a whole bunch of additional features I want to add at some point, but for where it’s at it’s pretty good

VelociModel

A MLOps tool, VelociModel was designed to handle code and artifact versioning and the dependencies between the two. I haven’t touched this since 2022 unfortunately, however I have plans to get back into it now that 2024 has rolled around. I did manage to get to an initial release before I had to pivot my attention however, but I have major refactoring plans coming up as I break out the VelociModel components into their own projects/services so that I can re-use them with other projects

Web Source Compiler

A small tool to allow for importing of js, css, and html files into top-level files, this has become the workhorse of the UIs that I develop. Could I learn something like ? Absolutely. Is it a lot more fun using a custom tool? Most definitely. It’s really made the UI work that I do portable between projects, and I have plans this year to enhance it so that it can generate a UI scaffold for me when I start new projects

Whitetail

Originally conceived as a lightweight replacement for the ELK stack, Whitetail was the catalyst for the development of CeresDB. It’s now turned into a relatively powerful tool, and I’ve been working on a major refactor to allow it to not only act as a log viewer, but to also act as a customizable portal similar to Spotify’s Backstage. Additionally, I’ve started building in some monitoring functionality where Whitetail can either get or receive data and display it to users in an easily configurable format. The display aspect isn’t quite working yet, but I’m hoping to get that fixed up and ready for a full release by the end of next month

Future Projects

Additionally, here’s the new projects that I want to work on this year

Card Catalog

An Artifactory replacement, Card Catalog will become my tool for storing and accessing files remotely. Additionally, I plan to build in Git repo support and a remote editor so that I can access and edit anything I need at any point

Ticket Counter

A Jira/Asana/etc. replacement, the plan for this project is to create a very lightweight ticket management tool that I can integrate into other projects. For example, I plan to integrate with VelociModel to allow for process management to influence how assets are versioned.

Home
Education
Laboratory Experience
Projects
Publications and Presentations
Work Experience
Journal