As part of SCaLE 15x, I took part in the first Open Source Infra Day where a number of other sysadmins and I shared stories and patterns which have helped us maintain open source infrastructure. As part of the “unconference” tracks, I suggested and then led the session “Running containers in production.” As my luck would have it, in a group of roughly 10 people representing various groups, Jenkins was the only project running production services in containers. I thought I should share what it’s like, and why you should stop standing on the sidelines and give containers in production a try.
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.
Jenkins will not be part of GSoC 2017
Unfortunately the Jenkins project will not be participating in the Google Summer of Code (GSoC) 2017. While I am disappointed, I am not all that surprised. Last year, our inaugural year in GSoC, was tough insofar that we had to learn many things the hard way, did a poor job of selecting student proposals, and failed to recruit a satisfactory number of mentors.
Keep a lab notebook
I have been “farming” for a few years now and as the beginning of the 2017 season in northern California approaches, I wanted to share some advice to consider, regardless of whether you’re a gardener or not.
In Defense of Being a Console Luddite
Most people would consider me to be a nerd. I work in the tech industry, my laptop looks quite non-standard (a stickered Thinkpad), and I tend to travel with suitable amount of electronic kit. Within what I would call “the nerd community,” I sometimes get looks as if I’m especially nerdy. I use a tiling window manager on my Linux desktop, I have strong opinions on free and open source software, and above all else, I use a myriad of “super nerdy” console-only applications like mutt and irssi.
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.
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.
Make JSON files readable, or, Azure Resource Manager templates in YAML
The Jenkins project is currently undergoing a major infrastructure migration to Microsoft Azure as our primary infrastructure provider, and as a result, I have been spending a tremendous amount of time getting friendly with Azure tooling.
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.
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.”
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.
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.
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).
Modern Vim tags/autocomplete with Universal Ctags
For years Vim has been both my editor and “IDE” of choice across all projects, spanning multiple platforms, toolkits and programming languages.
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.
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.
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.”
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.”
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
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.
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.