Mike's Blog

A collection of projects, thoughts, and ideas.


25 Apr 2018 · 6 Questions to Ask When You Interview for a Software Development Position

Software Development

I recently completed a job search where I had the pleasure of interviewing at several companies. Throughout the process, I developed and refined a list of questions to ask the companies I interviewed with.

I’ve also spent a lot of...

24 Apr 2018 · My Favorite Windows Software

Thoughts & Ideas

I recently had to reinstall Windows on one of my personal computers. Although I hardly ever use Windows anymore, I keep it around in case I need to run some software that isn’t compatible with Linux (my primary OS).


02 Mar 2018 · Why Are My Tests Failing?

Software Development

Have you ever tried to diagnose a test failure and had no idea what’s broken? Maybe you were looking at something like this:

Failed asserting that false is true.

Or, equally as bad:

java.lang.AssertionError at …

These are pretty bad...

01 Mar 2018 · How Much Faster Does a New SSD Make a 2012 MacBook Pro?


How much faster does a new SSD make a 2012 MacBook Pro? A lot.

I recently upgraded a 2012 MacBook Pro with a new SSD, and I was blown away by the results. The computer was basically unusable before the...

09 Dec 2017 · Hour of Code 2017

Software Development

The Hour of Code is an annual event to encourage Computer Science education during Computer Science Education Week. I participated this year by volunteering at an elementary school, where I spent about an hour introducing the students to computer programming...

04 Dec 2017 · My First Program

Software Development

On the StackOverflow Podcast, they always ask their guests on the show how they got introduced to programming. Whenever I listen to that segment of the podcast, I always think back to my first experiences with programming, and how I...

15 Oct 2017 · Hacktoberfest 2017

Software Development

Hacktoberfest is a project sponsored by Digital Ocean and Github that encourages contributions to open source software. Anyone who contributes at least 4 pull requests to open source projects on Github during the month of October will get a free...

31 Aug 2017 · How To: Deploy a Simple Java Web Service with AWS Lambda and API Gateway

Software Development

AWS is incredible technology, making it easy for anyone to deploy a web service without needing to worry about managing servers. In this quick tutorial, we’re going to see how to deploy a simple web service to AWS Lambda and...

21 Jun 2017 · Bufferbloat?

Software Development

Have you ever noticed your internet connection get slower when uploading a large file? I have, but I never put too much thought into it or realized I could do anything about it… Until I stumbled upon this blog post...

19 Jun 2017 · Why CI?

Software Development

In recent years (and in some cases, for many years), Continuous Integration (CI) has been taking off. Almost any open source project you look at is using some kind of CI tool like Jenkins, TravisCI, or CodeShip. In the simplest...

18 Jun 2017 · Fitbit Surge vs. Garmin Forerunner 35


I was recently shopping around for a new GPS running watch, and I tried both the Fitbit Surge and the Garmin Forerunner 35. These devices are both good GPS watches with a similar feature set, so I thought it would...

30 Apr 2017 · When's My Code Going Out?

Software Development

At SpotX, we manage our codebase with Git. Our commits flow from our develop branch to production, with a code-freeze branch in-between. Like this:

With any web application, it’s really important for developers to know when their code is going...

25 Mar 2017 · How I Manage Passwords with KeyPass

Thoughts & Ideas

Several weeks ago, I wrote a blog post about how horrible it is to have to deal with the various password restrictions websites use. Of course, that post was influenced by Jeff Atwood’s post, Password Rules are Bullshit. While writing...

18 Mar 2017 · Chasing Bugs: PHPUnit Hides Errors

Software Development

I love stories about hunting down interesting bugs. I find things like left-pad breaking the internet, cloudbleed, and the sleep bug in Eve Online extraordinarily interesting.

The Bug

Recently, I went on my own bug hunt. I’d seen some strange...

10 Mar 2017 · Dealing with Passwords

Software Development

Jeff Atwood wrote a post on Coding Horror today calling out bullshit password rules. And he’s dead on. Password rules, as most sites implement them today, are not improving security. They might actually be hurting it. Even NIST agrees.


11 Feb 2017 · So You Want to Learn Docker

Software Development

Everyone’s Learning Docker

Docker is the cool new technology. Last year, it had 264% YoY growth in Stack Overflow questions.1 And with good reason. Docker solves a lot of software development and systems engineering challenges. It provides a great solution...

28 Jan 2017 · Testing is Hard

Software Development

One of my friends and colleagues writes for the Project Management for Developers blog. He recently wrote an article about the importance of testing. I want to respond to his blog post and provide some additional insight into testing from...

08 Nov 2016 · Automated Jekyll Deployments

Software Development

My last post was about using Jekyll as a podcasting platform. Now, I want to talk about how I set up automatic deployments with Jekyll. I’m deploying to a Dreamhost server, but the principles I applied should work for most...

21 Sep 2016 · Podcasting with Jekyll

Software Development

I recently did some volunteer work to upgrade the website for a podcast. I chose to re-write the site from scratch, but needed to migrate all of the existing content. After some research, I determined that Jekyll fit our needs...

28 May 2016 · Chromium OS on a MacBook


Chromebooks are becoming more popular these days. Their simplicity is something that really appeals to me. I had an old MacBook that was becoming nearly unusable because it was so slow. So I turned it into a Chromebook by installing...

02 May 2015 · How to Learn Vim: Vim Refcard


Vim Refcard on Github

I’m a huge fan of reference cards like the one Emacs provides. In fact, I think that a good reference card is probably the best way to learn a new software program. Whether it’s Vim or...

06 Jul 2014 · Make a Useful Budget in Mint

Thoughts & Ideas

Mint.com has always done a great job of showing me where I spent my money last week or last month, but until recently I was never able to figure out how to use it to tell me if I could...

10 May 2014 · Boom Box Aux In Mod


I had an old boom box laying around. It’s pretty useless these days (who still uses tapes or CDs?), so I decided to mod it with an aux in cable so it could play an iPod. It turned out really...

08 Aug 2009 · Loft Bed


When I searched for loft bed plans online, I did not find any freely available plans that I liked. I decided to make my own plans for a wooden loft bed, and I am making these plans available for free....

30 Jun 2008 · SkillsUSA 2008 Nationals


Nathan Witt and I won the bronze medal at SkillsUSA Nationals for 3D Animation in 2008. The challenge was to create an animation that modeled a given picture of a warehouse, and then showed something that couldn’t be seen in...

30 May 2008 · Suzuki GSXR


I created this Suzuki GSXR model as part of the Digital Evolutions program at Smoky Hill High School. It was created from scratch in Autodesk Maya.

29 May 2008 · Senior Demo Reel


This is my senior demo reel for the Digital Evolutions program at Smoky Hill High School.

22 Jan 2008 · Nissan Skyline


I created this 3D Nissan Skyline model during my junior year in the Digital Evolutions program at Smoky Hill High School.