The Potential of Cloud plus IoT

August 21, 2014

I've heard some dubious claims contrasting the cloud and IoT. I've also seen the connection between the two overhyped and generally misunderstood. As the lead cloud engineer at an IoT company, I feel obligated both to provide context and advocate for a proper understanding of the potential of IoT...

Database Storage in Go with Structable

August 15, 2014

I'm not a huge fan of ORMs. Don't get me wrong, I'm not about to start a campaign against them. I know that many people find them to be a great abstraction layer on their database. But I usually feel more productive with my query writing when I can just write SQL.

Okay, not always. Writing plain...

Speaking at Wearables+Things in October 2014

August 4, 2014

The inaugural Wearables + Things conference will be held October 20-21, 2014 in Washington, DC. I'm very excited to be part of that.

I'll be there talking about "Things in the Cloud," where I'll share some of the lessons we at Revolv have learned about building cloud applications for the Internet...

9 Things I Like About Go

July 24, 2014

Yesterday I found one of my first Go apps. In a moment of retrospection, I realized how happy I am working with the Go language. I thought I'd take a moment to document why.

Here, in no particular order, are the top 9 reasons I like working with Go:

1. The Toolchain

A C programmer was looking at...

Start an Interactive Shell from Within Go

July 11, 2014

Looking around the web for information on creating a new shell from Go, I kept finding the same answer: "You can't do it." Actually, you can do it, and it's not hard.

My goal was to write a Go program that did some processing, set up a particular environment, and then opened an interactive UNIX shell...

Saved by the Bug

June 27, 2014

We should have seen a catastrophic failure. The server should have gone down in flames. But instead, we just saw these little blue blips. This is the story of how the effects of a dire and destructive bug were forestalled by... a little tiny bug.

It all started when we noticed something odd on...

The Best Keyboard Hack Ever

June 23, 2014

There's a key on my keyboard that I have spent most of my typing career learning not to press. Right next to A and right above Shift, it seems impossible to avoid. It MAKES ME SOUND ANGRY when I'm not. It stops many a password from working. And I pretty much never intentionally use it. Caps Lock is...

Century Link Labs Interview

June 18, 2014

BIG UPDATE: Century Link Labs posted a text interview (with commentary and summary) to accompany the video.

Last week I had the honor of joining Lucas Carlson for an interview with Century Link Labs. On the show, we talked about the evolution of containers, the recent Docker announcements, how my...

Don't Shrink Wrap Bananas

June 13, 2014

Software architecture finds some odd mirrors in life. I found an amusing example at the grocery store. The bananas. The great elegance of the banana is the simple fact that nature has endowed it with its very own container. It's thick, it's tough, and if you've got yourself an opposable thumb, it...

Setting Compile-time Strings in Go

June 11, 2014

It is handy to have a program be able to tell you its own version number. But it's a pain to maintain version strings manually. So why not let Go do it for you? It turns out to be pretty easy to do. When reading the code for I ran across this cool trick for setting string values at compile...