Blog

Programming Posts

I used to think that deployment is something you can just tack on at the end of a project and that the real hard work is in the initial coding and testing. Not so. It's hard to find a reliable set of instructions in any one piece of documentation, so here you go. Free hosting on Firebase for any shiny new Ember.js app or Angular2 app made with their respective CLIs. This will work with a Firebase database too.

We all learn from our mistakes. Since I started teaching a few years ago, I have had the benefits of learning from a lot of other people's mistakes too. This is one I've seen so frequently that I thought it would be worth writing about. It's an easy mistake to make, easy to fix, but hard to spot if you're not looking for it.

I recently solved a fun puzzle that I thought I'd share here so that I don't have to go figure it out again - How do you change the username and password for Drupal's magical all-powerful User 1 when you don't have SSH access to use Drush, and you don't have access to the User 1 email?

Music Posts

I want to tell you about one of my favorite musical tools called the Granulator. It lets you create weird new instruments out of any sound at all, even a half second strike of you hitting a metal railing with your keys could be turned into an eery pad for your next horror movie soundtrack.

It dawned on me as I was practicing the other day that there is a special relationship between a rhythmic downbeat and a melodic root note. Not just that they frequently happen together, that would be boring. Both are about people's expectations, and denying people's expectations can be a powerful tool in your arsenal.