Howdy!

Welcome to my blog where I write about software development, cycling, and other random nonsense. This is not the only place I write, you can find more words I typed on the Buoyant Data blog, Scribd tech blog, and GitHub.

Join the Azure OpenDev Event

Quite possibly my favorite part about working on open source infrastructure is that I can share as much as I want! Contrary to corporate infrastructures, where most of it is closed source and hidden away, open source project infrastructure is by its very nature open. From a pedagogic standpoint, this allows me to teach others without needing to create contrived demonstrations or examples, but we can instead refer to the real code being used to deploy the Jenkins project.

Read more →

They will blame you

Over the past decade two things have become increasingly clear: practically every modern industry is part of “the software industry,” in one way or another, and “the software industry” is rife with shortcuts and technical debt. Working in an Operations or Systems Administration capacity provides a front-row seat to many of these dysfunctional behaviors. But it’s not just sysadmins, many developers are also called to engage in or allow: half-baked product launches, poor-quality code deployments, or subpar patch lifecycle management.

Read more →

Don't get water on the leaves

“For vegetables, your best bet is to get some drip lines ‘cause you don’t want to get water on the leaves” said the helpful employee at a local farm supply store. I have heard this “advice” numerous times over the past few years, and it gets a little deeper under my skin each time I hear it. Like most advice handed out in this fashion, there’s a kernel of truth hiding somewhere behind layers of indirection associated with such old wive’s tales.

Read more →

Replacing Coastguard

I have tremendous difficulty with decommissioning electronics. I only recently stopped using my Galaxy Nexus, an almost five year old cell phone. Earlier this year I recycled a 32-bit x86-based Thinkpad T41, only because its overheating issues made it impractical to continue running workloads. And up until today, the lowest powered device actively running a Unix in my office, was a 266Mhz AMD Geode-based Soekris.

Read more →

I am working with a management coach

Practically every professional developer can name a great, and a terrible, manager they have worked with in the past. Good Engineering Managers are kind of like the bass line in a song, you might not notice them when they’re there, but something will definitely sound wrong if they’re absent. For one reason or another, I have somehow ended up leading a team or acting as an Engineering Manager at each of the four companies I have worked for over the past decade. As time has progressed, I have become increasingly aware of “management” as a skill, rather than some intristic talent. A skill which can be practiced, honed, and improved upon.

Read more →

What I have learned about growing tomatoes

To say that I’m an expert gardener would be an extraordinary stretching of the truth; capable, yes, expert, not even close. While I tend to focus on what crops fail outright, or produce lower-than-desired yields, my neighbors and some of the folks I know online seem to be impressed with my results.

Read more →

Making the Azure Dashboard Useful with Markdown

Azure has started to grow on me. I could imagine myself, a couple years ago, lamenting their poor non-Windows support, clumsy user interfaces (and APIs), and overall “beta dog” performance. Fortunately for cloud users like myself, Microsoft is hungry, and has heavily invested in Azure, becoming very competitive in a very short amount of time. One aspect of Azure I didn’t expect to like however, was their web UI. If you’re already familiar with the AWS web dashboard, you’re probably accustomed to…low expectations, so just about any web interface designed later than 2008 would be an improvement in comparision. Fortunately for me (and you if you use Azure), the Azure “blade UI” was designed more recently, and was clearly created by a team of thoughtful UI designers rather than engineers.

Read more →

A genuinely terrible abuse of Jenkins Pipeline

I consider myself one of the world’s foremost experts in terrible ways to use Jenkins, partially because my brain is awash with awful ideas, but also because I have been around the project long enough to see hundreds of different “clever” (ab)uses of Jenkins. Today I thought I would share something I came up with a few weeks ago which, to date, might be one of my more deplorable creations.

Read more →