Blog

Review: Bose QuietComfort 20 Acoustic Noise Cancelling Headphones

tl;dr - If you don't have a pair, I feel bad for you. Get at 'em! I've been devout fan of not only Sony headphones but also being wireless. For the last few years I have been using the Sony [...]

How to capitalize the first character of each word in a string in Javascript

The other day I had posted on capitalizing the first letter of a string in JavaScript. But what if you wanted to capitalize the first letter of every word? With PHP it's just a simple call to ucwords and just [...]

Migrating from Mandrill to SparkPost

If you're reading this then you where probably slapped by MailChimp's latest announcement to merge Mandrill into MailChimp. You may be outraged because you were on their free tier which is going away. Personally I don't agree with your rage [...]

Multiple buttons with Hubspot's Vex

I've been implementing HubSpot's Vex library as a replacement for stock alert(), confirm() and prompt() dialogs on SceneKids recently. In one use case, I wanted to be able to have 3 buttons on the dialog with each button returning a [...]

How to Capitalize the First Letter in a String in JavaScript

I'm still kind of spoiled by the built-in functions in PHP (as well as Ruby and Python for this particular task). Something like capitalizing the first letter of a string is a trivial task in most languages: <?php // Capitalize [...]

$10 Showdown: Linode KVM vs. DigitalOcean

It's been nearly 2 years since my original $10 Showdown post. In that time both Linode and DigitalOcean have launched new data centers and made other improvements to their infrastructures. One of the most notable improvements is Linode's migration from [...]

Using an 11" MacBook Air for development

I do it, and I do it well. In fact, I've built an iOS game on it and used one exclusively without an external display while working at Sumo HQ in Austin, TX this past week. The 11" MacBook Air [...]

Intentional infinite loops

It's happened to all of us. A script just locks up and we're unsure why. At closer inspection we find that we're written a loop that has no terminating condition. It is an endless loop and in many cases consumes [...]

Pocket is Purgatory for articles

Read it later? More like read it never. It all started out innocently enough. I started to use Pocket to stash articles so I wouldn't be sidetracked while I was working. I would go back and catch up on the [...]

How to sync local files to Spotify mobile

One of the main reasons that I gave Apple Music a try recently was because I wanted to have some of my personal music collection available on my mobile devices. Turns out there is a way to coax similar functionality [...]