Kicking off my new blog August 30, 2018

I’ve finally rearranged my site enough now to launch a blog! I’m not sure what the content will look like yet, but I think I’ll put up some lessons learned from the various projects I’ve worked on. I may even add some other cool stuff I’ve picked up along the way.

Who knows? This could even be fun!

Bashtion May 8, 2018

A framework for writing reusable and testable modules in Bash. Sometimes using Bash is simply inescapable, but large legacy scripts can be hard to manage. I sought to create a framework that would make it easy to gradually improve legacy code.

Bashtion encourages modular, reusable, and testable code. It does this by setting up Bash with sensible defaults, a built-in error tracing system, support for writing tests, and generates warnings for deviations from best practices. The project is open source and you can check it out on GitHub.

IKS Kubernetes Dashboard Proxy IBM April 1, 2018

The Kubernetes Dashboard is a great way to see what’s going on in your Kubernetes cluster. We created a service that uses IBM Cloud’s authentication to provide convenient access to that dashboard in IKS. My co-worker, Chris Kirkland, wrote a great blog post to announce the new service.

I added monitoring, alerting, and improved the user experience for our each of our failure modes. Today, my team and I continue to maintain and further develop the service.

IKS Logs & Metrics Forwarder IBM June 20, 2017

On IBM Cloud’s Kubernetes Service, you can create a cluster and tick a box to enable logging. The magic behind that little box is enabled with a logs and metrics forwarder that my team builds and maintains.

The metrics and log-forwarding service captures various stats and logs generated in a user’s Kubernetes cluster, then forwards them to the IBM Log Analysis and Monitoring services by default. We picked up the service in its proof-of-concept stage and completely revamped it to fit newer features and our rigorous quality standards to run in production.

read more

Home Server November 1, 2013

I manage my Ubuntu server very regularly, running a wide variety of applications from inside virtual machines. More recently I’ve been deploying some internal services within Docker as well.

I run multiple websites via the LAMP stack (Linux, Apache, MySQL, PHP). I also have some instances of Mongo, Cassandra as well as Gitlab used in personal development.

Arc October 1, 2012

Initially an attempt to build a game from the ground up, developing this game engine gave us valuable insight into how games ought to be developed. In the process of creating the Arc reactor, we learned how to work as a tight team with a powerful focus on making an intuitive game library API.

With OpenGL, we built the reactor in Java and we probably spent more time arguing about the right name for a method than actually writing the code; however this did result in a beautifully crafted API! In the end, we realized the project was way over our heads in complexity. We needed the know-how for optimizing for performance and our skills were not yet ready for making the aforementioned game. We learned a great deal through teamwork, code management techniques, and API development. Soon after wrapping up our ideas, we moved on to working on Noonian.