Implementing "Who's in Space" with Vue

Published January 14, 2020

One of my favorite practice exercises from my book Exercises for Programmers is the “Who's In Space?” problem: Did you know you can find out exactly who’s in space right now? The Open Notify API provides that information. Visit to see not only how many people are currently in space but also their names and which spacecraft they’re on. Create a program that pulls in this data and displays the information from this API in a tabular format.

Opening Multiple Files in Vim

Published January 2, 2020

I was working on my Hugo book and I was working through some modifications to some of the companion files. I wanted to view several files to ensure they had the content they needed. I do all my writing and other work in the Vim text editor, and I know I can open multiple files by specifying them on the command line, like this: $ vim I wanted to open up all the files in my project called about.

New song - PH Balance

Published December 23, 2019

I've been working on a new tune for a few months, and today I finally had the time to finish it off. It's got a nice mix of crunchy guitar and classic 303 sounds mixed in with more heavy drums and synths. Happy with how this turned out. Give a listen!

Live Recording

Published December 16, 2019

I've been working on a new tune. I decided to capture myself doing some improv with pieces of the tune.


Published December 1, 2019

When I was in college, I spent hundreds of hours using ReBirth, a music-making app that emulated two Roland 303 bassline synths, an 808 drum machine, and a 909 drum machine. Rebirth also had a number of effects and filters included. Unfortunately, support for ReBirth died many years ago. It doesn't even run on macOS. If you were lucky enough to buy an iPad version a few years ago, you can still use that, but it's no longer supported since Roland threatened to sue them so they took it off the store.

Moving the Blog

Published November 27, 2019

About seven months ago, I began moving this site from a WordPress setup to a static site using Hugo, which I'm writing a book on right now. There's still a ton of work to do, but it was bugging me that I didn't have my own place to write. I'd been delaying writing a ton of content because my site wasn't “ready”. But “ready” is a relative term anyway, so I pulled the trigger and made the swap.

My new EP - Hack to the 80s

Published October 1, 2019

In celebration of Hacktoberfest, which has a pretty great 80s theme, I composed a 5 song EP of synthwave tunes. I limited myself to virtual recreations of classic synths like the Roland 707 drum machine, the Yamaha DX-7 synth, and the Roland Jupiter-8. Give it a listen!

If Scratch Isn’t the Answer, I Think I Know What Is

Published June 20, 2017

(Originally posted over at Medium)

In this post, the author, Dominic Pace, argues that we should teach “actual programming” instead of Scratch. I encourage you to read that first because it makes some great points. It’s written by a high school senior who’s hit upon something important: “Learn to code” tools like Scratch and Alice really are somewhat disconnected from software development. They do help with problem-solving, and they do help students work with the very basics of software development, but they create an unrealistic expectation of how we really build software.

One Year at DigitalOcean

Published June 20, 2017

Today marks one year with DigitalOcean, and I couldn't be happier. I'm so unbelievably lucky to get to do what I do there. I work on the DigitalOcean Tutorials collection, where I help community authors get their articles published. It's the perfect job for me, as I get to draw from my software development and system administration backgrounds, as well as my writing, editing, and teaching experiences. Writing software is fun, but DigitalOcean gives me the opportunity to help others get better at what they do.

Settling In at the New Gig

Published August 13, 2016

I'm nearly two months into my new job. For those of you that haven't heard, I am a Technical Editor at DigitalOcean, a fantastic startup based in New York City. I work with a great team of people, and I help open-source enthusiasts share their knowledge through written tutorials. I'm responsible for taking their submitted tutorials and testing them out, looking for inaccuracies, security problems, or other issues a reader might encounter.