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.

Fancy some cocaine?

FOSDEM is quite the experience, thousands of geeks running around, dozens of free and open source projects, and plenty of Club-Mate and beer for every attendee to purchase. The weekend is exceptionally busy, and for me, the sleep at night between the chaos is always interesting.

Read more →

Open Source Airways

When I first started hacking on what I knew to be called “free and open source software,” I had never met another “hacker” in real life. It felt like a very niche, almost insignificant community until my first FOSDEM in 2006, where for the first time I saw hundreds of free and open source hackers scurrying about. It may have been a niche community existing primarily on IRC and mailing lists, but I finally had proof that there were actual people involved in the endeavor.

Read more →

A decade of unethical blogging

Earlier this year, 2017, I passed a curious milestone. I have now been blogging on this domain for over a decade. Many of those who know me might have the impression that I’m a fairly honorable and trustworthy individual, making “unethical blogger” a confusing banner to operate under. I suppose I should shed some light on the origins.

Read more →

Using Glade3 with GtkAda

I have been a hobby hacker for my entire adult life, and a bit before that too. When your profession is making software, or even making open source software, the joy from hobby-hacking can diminish or even disappear. One of the things I learned from burning out was that, if I am going to continue to enjoy hacking as a personal hobby, I would need to pursue “frivolous hacking.”

Read more →

It's more than just open source-code

Sitting next to me at this high-topped table at Google’s Mountain View campus, a German, sitting across from me, a Pole, and to his left, a hacker from Portugal. With my usual flagrant disregard for the adage “not to discuss politics nor religion in polite company,” I ask some pointed questions about the crises and challenges facing the European Union. It’s October of 2016 and the discussion is about to become heated.

Read more →

Documenting is hard

A non-trivial aspect of my job for the past year at CloudBees has been communication. To claim that this is a new change in my career would be to fundamentally mis-attribute the vast majority of what makes good Software Engineers and Engineering Managers good. Communication in my job as a “Technical Evangelist” (or as my business card states: “Community Concierge”) is many orders of magnitude more involved than it was an Engineering Manager, and what makes it very challenging is the size of the audience. As an Engineering Manager the audience is typically less than 20 people throughout an organization where the spoken-word is the primary means of communication. By conservative estimates more than a million people use and interact with Jenkins as part of their work, the primary way to reach them being written English in some medium or another.

Read more →

Ode to Griddle

The longer I have been working from home, the more important and involved my breakfast routine has become. With colleagues in various timezones around the globe, it can be difficult to find time in the middle of the day to leave the house or make myself a decent lunch. A hearty breakfast however, can stretch from mid-morning all the way to an early dinner (5-6pm).

Read more →

Drop-in upgrade to a containerized Jenkins master

In some form or another, I have been a systems adminstrator for various Jenkins instances for over eight years. While I wish I could say that has imparted some deep, hard-earned, wisdom upon me, truthfully, it’s been about the same as managing any other application: a constant battle of system dependencies, monitoring challenges and upgrades.

Read more →

You're Grounded!

“It’s better to be on the ground wishing you were in the sky, than in the sky wishing you were on the ground.” One of the many sayings that gets told and re-told in the aviation community, has been gnawing at me for the past couple of years. When you’re flying regularly, it is certainly a truism. When you’re not flying regularly, or at all, it rings false, deafeningly false.

Read more →

Are you German or what?

Arriving for Thanksgiving this year, in my luggage I had four cookbooks that I borrowed from a classmate along with a couple of my own. Each book contained a number of recipes for soups, appetizers, salads, casseroles, entrees, cakes and cookies, all from Germany and almost exclusively written in the german language. Keen to my desire to cook german food, my wife decided that the Friday after Thanksgiving would be my time to shine. On the yellow notebook paper, which listed the meals planned for the next few days, the heading for Friday simply read “German Day.”

Read more →

Choose Happiness

I remember the first time that I experienced “burn out”, the manifestation of not physical but mental exhaustion that is alluded to but often not described in the tech industry. I had completed my first semester as a Computer Engineering student at Texas A&M and was an absolute wreck. It was after dinner on a Friday, I had picked up some McDonald’s, Double Quarter Pounder with Cheese, not because I liked it necessarily but because my friend Bill had told me it was the cheapest and most calorie dense thing on the menu. He was a junior and wore a calculator watch for purely practical reasons, so I trusted him on these sorts of matters. I finished my abomination of a meal and decided “if I don’t get the fuck out of this town, I’m not going come back next semester.

Read more →

JRuby/Gradle at JRubyConf EU 2015

Mid-way through last year, Lookout’s investment in JRuby started to really take off. Having struggled with the harsh realities of MRI, we finally had a platform that gave us a way to grow our technology without having to throw out vast amounts of existing Ruby code. After an exciting weekend at JRubyConf EU 2014 and eurucamp I started hacking on a brand new project, one that I hoped would bring Ruby into harmony with the rest of the JVM ecosystem: JRuby/Gradle

Read more →

Gradle Goodness: Excluding Shadow jar dependencies

Over the past year, I’ve spent a lot of time hacking in the Gradle ecosysgtem which, for better or worse, has earned me a reputation of knowing Gradle-y things within Lookout. Recently, my colleague Ron approached me with a Gradle problem: using the shadow plugin (a great plugin for building fat jars), he was having trouble excluding some dependencies from the produced jar artifact. I figured I would emulate Mr. Haki’s Gradle Goodness series and post one of my own.

Read more →

Meet my biggest fan

In a previous post I mentioned that I have become a home owner, which dictates that I must now spend an innumerable number of hours fixing, tinkering and otherwise causing damage to the home I have purchased. The latest installment of “I bet I can do that” involved the installation of a 52” ceiling fan in my living room.

Read more →

Look at me, Zoidberg! Home owner!

Just before I head to the bedroom for the night, I walk to the door by the car port, fiddle with the lock, tug on the door handle. It’s secured. Sliding door to the porch? Secured. En route to the sounds of my wife’s intermittent snores, I check the front door, fiddle with the dead-bolt, tug the door handle: secured. Great, now I can go to bed.

Read more →

Four years of Lookout

Four years ago today I started work at Lookout, Inc., embarking on the longest journey of my career to date. I had left Apture frustrated with our inability to grow the product and engineering team, but with pockets full of experience at building and deploying service-oriented applications “my way.” At the time Apture was literally down the block from Lookout, so on a Friday I left Apture and the following Monday I took my same commute in to Lookout. What I wasn’t able to get at Apture, I found at Lookout.

Read more →

Measuring slow Kafka consumers with Verspätung

Late last year I changed roles at Lookout from the ‘Engineering Lead’ of the Enterprise team, to the ‘Engineering Manager’ for the “Core Systems” team. I’ve not been keeping track of whether this means I’m writing more, or writing less code on a week-to-week basis. But the charter of Core Systems does mean much more of the software and tools we write can be open sourced, or even started as open source projects.

Read more →