Project Visualization

I recently completed a project at work that was a redesign of an existing website. There were lots of non-code activities involved in this project, so I thought it may be interesting to visualize the project from the code’s perspective to see what transpired where the rubber meets the road.

I used a program called Gource to create the visualization. It shows all of the files in your Git repository as dots grouped in directories, and all commits as connections from the developers to the files. It gives you a unique view of how the project evolved over all 1337 commits to the repository. Enjoy!

Forwarding Api Proxy

There’s a mobile app that I’m working on that will be performing complex queries against a database that is exposed via an OData api. One small hitch is that the mobile app is not allowed to access the OData api directly, but I can implement a proxy that will have access to the OData api and is deployed in a place that the mobile app can access. While I do not want to try and consume the request from the mobile app, I would like the ability to perform some logic before and after the request is forwarded in order to allow for either logging or validation purposes.


Advent Of Code 2016

Advent Of Code is an advent calendar that counts down to Christmas.  Instead of having small doors that reveal treats as you count down the days, Advent Of Code has a new coding puzzle each day.  I participated in 2015 and had been waiting all year for it to start again in 2016.  The website can be found here:


Pebble app to track the Rio Olympics medal count

With the 2016 Olympic Games fast approaching, I decided to make an app for my new Pebble Time watch that would allow me to keep up with the medal count for each country as the games progress. This idea seemed simple at first, but led me through some interesting puzzles that I did not expect.


Yeoman themed watchface for the Pebble Time watch

I picked up a Pebble Time watch today and wanted to get my feet wet developing apps for it.  I chose to do a simple watchface as a first project.

All native apps for the Pebble watches are written in the C programming language which I have a bit of experience in so it was quick to get started.  Also, the Pebble developer documentation seems to be quite complete and well organized at first glance.

I used an image of the Yeoman logo on the watchface as a nod to the great scaffolding tool for web apps because I think what they do is really valuable, and the logo looks pretty cool too.


Algorithm Optimizations in Genomic Analysis Using Entropic Dissection

Abstract: In recent years, the collection of genomic data has skyrocketed and databases of genomic data are growing at a faster rate than ever before. Although many computational methods have been developed to interpret these data, they tend to struggle to process the ever increasing file sizes that are being produced and fail to take advantage of the advances in multi-core processors by using parallel processing. In some instances, loss of accuracy has been a necessary trade off to allow faster computation of the data. This thesis discusses one such algorithm that has been developed and how changes were made to allow larger input file sizes and reduce the time required to achieve a result without sacrificing accuracy.


The RandomBerryPi Project


My Raspberry Pi likes to pick (pseudo)random things, so I’ve built a couple of programs that allow it to do just that. I setup the Twitter account @RandomBerryPi so that it can share everything it does with the world. I have created two programs so far that run on my Raspberry Pi and tweet various random things. You can find the code and additional details about how they were constructed and deployed on my GitHub page here: