Languages: various

I use a number of different pieces of software that use .dotfiles for configuration (e.g. Emacs, ZSH). I keep my dotfiles in a GitHub repo so I can pull down changes across multiple computers.

R Open Movie Database API

Languages: R

For a class project I decided to write a small package that would use the OMDb API to pull movie information into R. Nothing fancy, just a fun way to collect movie ratings, actor information etc.

Random Walk

Languages: Java (Android)

Imagine you’re out for a walk, you reach an intersection, but can’t decide which way to go! I like going for random walks but I come up against this admittedly first world problem quite frequently. So one day, before one of my walks, I quickly wrote an Android application that will randomly pick a walking direction for me…

Server Monitor

Languages: Javascript, MongoDB, Python

I was running Debian on my home server for a long time, but for various reasons I needed to switch to a Windows based server. When I was running Debian I had a few tools that would monitor my hardware (memory usage, hard drive free space, network I/O etc.) but I was lacking a solution on Windows. I’m sure there are many and I just didn’t look hard enough, but I thought it’d be fun to write my own. There are faster languages for hardware polling, but I figured it’d be interesting to write something with python and javascript.

It’s basically a nodejs server that uses various python libraries to collect information about the hardware on the system. It polls this information every few seconds and stores the data in mongo capped collections. The goal was to eventually create a web interface that pulls the information from mongoDB and displays the information in a sensible way…however, since starting this project many years ago I have since gone back to using Linux for my server, so this project is on the back burner for a while.

Homebrew Compute Server

Languages: Javascript, Python

I have a number of machine learning projects that all need access to a GPU for training. Currently, I do the training on my main computer, which isn’t ideal if I need the GPU for other tasks. There are online services that offer GPU clusters for training machine learning models (e.g. Google and Amazon), however, it’s always more fun (and cheaper!) to create your own tooling. This is still in the planning stages, but what I want is to create a server for distributed training, where I can upload a Python script, have it initiate training and report the results to a web front-end.

Emergency Tools

Languages: Java (Android)

I’m a sucker for preparing for unlikely, emergency, end of the world type situations, so its only natural for me to enjoy the idea of having a toolkit that will be useful across a number of random situations. I figured it might be fun to create an Android app that includes a host of random tools like dialing emergency numbers, a whistle, flashlight, quickly sending your GPS coordinates to someone etc. Essentially an electronic toolkit for a zombie apocalypse…

Close Menu