Three years ago, I wrote about moving off of Windows/Mac and onto Linux for personal computing and developing. Three years later, I’ve moved back to Windows. In that 3-year-old post, which was about habit change and work/life balance, the key features I was looking for in a developer machine were a solid terminal and easier installation/updating of software via package management. The things I use most as a developer these days are Go, a database such as PostgreSQL, docker, a terminal to interact with those things, Jenkins, a web browser, and an IDE of some sort. In the intervening years, … Continue reading Goin’ back to Windows… Windows… Windows…
I had the distinct privilege of delivering a keynote presentation at cf.Objective() 2017 in Washington, DC. The slides — probably the most important one is the list of resources at the end — are on GitHub. Thanks to all who did me the honor of listening. I am humbled and grateful.
When I started work this morning, I expected a normal manager day: emails, meetings, shepherding some proposed infrastructure changes through our change management process. That was not to be. What followed instead was most of the day on the edge of my limited Linux troubleshooting abilities, trying to diagnose performance degradation on our production Jenkins server. Around 10:30 AM, Andy messaged me: “Anecdotal Jenkins slowness. Something that regularly takes 3 minutes on my machine takes 18 minutes on Jenkins” This is a story about troubleshooting. Prologue: The environment This story’s main characters are RHEL, Jenkins, New Relic, job-dsl-plugin, and the … Continue reading The Curious Case of the Slow Jenkins Job
Credit Full credit for this idea and post goes to my colleague Andy, who presented this approach at a recent lunch-and-learn at work. A few months after his presentation, I decided to try replicating what he did. This blog post represents what I learned from that effort. Thanks Andy! The Goal For the 3 phones in our house, when one is misplaced, press an Amazon IoT button and have it dial the phone. A single click should call one phone number, double click another, and long click the third number. Then, the phone would ring, and I would listen … Continue reading Going Serverless: using Twilio and AWS Lambda to make phone calls with an AWS IoT button
In the previous post in this series, I covered my favorite development-time helper: running job scripts from the command line. In this post, I’ll cover the differences between job-dsl and Pipelines, and how I currently see the two living together in the Jenkins ecosystem. job-dsl refresher If you’re coming into this post directly, without reading the preceding articles in the series, I strongly encourage you to start at the start and then come back. For the rest of you, a quick refresher: job-dsl is a way of creating Jenkins jobs with code instead of the GUI. Here’s a very simple example: View the code … Continue reading Jenkins-as-code: comparing job-dsl and Pipelines