Self-Publish, don't write for a Publisher

I'm not a writer. I'm a software developer who communicates well. Because I'm a developer and software architect, I spend time evaluating solutions to find the best one. There are often multiple good options, but I try to pick the best among them.

When I chose to write a book two years ago, I evaluated whether to self-publish or seek out a publisher. I spent a lot of time evaluating my options, and chose the self-publishing route.

Because I'

Sales over time - Ansible for DevOps

The Joy of Crohn's

According to the Crohn's and Colitis Foundation of America, there are 1.6 million Americans with IBD ( Inflammatory Bowel Disease ). While that means less than 1% of Americans have either Crohn's or Colitis, that's a pretty big number—and chances are you know someone with IBD, maybe even a close relative!

But due to the fact that Crohn's is usually an invisible illness , many people don't know some of the myriad joys of a typical Crohn'

Rolling and flopping panda bear gif

AnsibleFest 2016 Review and Ansible Roles for Fun and Profit video online!

It's been a few weeks since AnsibleFest San Francisco, and Ansible just posted the video recordings of all the sessions from AnsibleFest SF 2016 ! I was honored to be able to speak about Ansible Roles at this year's west coast AnsibleFest, and I also arrived a little early so I could participate in the Ansible Contributor Conference on July 27.

Ansible Roles - Jeff Geerling presenting at AnsibleFest SF 2016

Picture from my session courtesy of The Appnel Group .

I participated in the AnsibleFest London Contributor Conference earlier this year, but only for a short time


Remove a single Certbot (LetsEncrypt) certificate from a server

I've been using Certbot to generate and renew Let's Encrypt certificates for most of my smaller sites and services, and recently I needed to move a site from one server to another. It was easy enough to build the new server, then generate the certificate on the new server and use it in Apache or Nginx's configuration.

However, on the old server I no longer wanted to have the old certificate get renewed every week/month/etc. during the certbot-auto cron runs, so


Increase the Guzzle HTTP Client request timeout in Drupal 8

During some migration operations on a Drupal 8 site, I needed to make an HTTP request that took > 30 seconds to return all the data... and when I ran the migration, I'd end up with exceptions like:

Migration failed with source plugin exception: Error message: cURL error 28: Operation timed out after 29992 milliseconds with 2031262 out of 2262702 bytes received (see https://curl.haxx

Mobius Mini Action Cam Pro - Dashcam setup and review

tl;dr : Watch the example/demo video below to see how the Mobius performs in a variety of driving conditions:

Mobius Action Cam kit with mount, super capacitor, 12v car power, and mini stand

Converting a batch of Dashcam videos into a timelapse

I recently took a family vacation from St. Louis, MO to Branson, MO, and as it was the first time driving with my new Mobius Action Cam Mini dashcam installed on our Toyota Sienna ( see a full writeup and review here ), I wanted to see if I could quickly whip up a time lapse video of the entire drive.

Driving in St. Louis - dashcam loop gif

A tiny snippet of the final time-lapse video of my STL to Branson drive.

While the Mobius has the ability to do time lapses built-in, doing so


Register and Submit Sessions for DrupalCamp St. Louis - Sep 10-11 2016

DrupalCamp St. Louis 2016 Logo

The time is here! The rest of the DrupalCamp St. Louis 2016 organizers and I were working feverishly this week to get all our ducks in a row, and we now have online registration opened up for DrupalCamp St. Louis 2016! Here are the relevant details:


Should I disable PHP warnings and notices?

This is a reposting of what I wrote on the Acquia Dev Center blog in 2016, Should I disable PHP warnings and notices? .

Drupal onscreen logged PHP error messages and warnings

Many developers who work on Drupal (or other web/PHP) projects have error reporting disabled in their local or shared dev environments, for a variety of reasons—some don't know how to enable it, some are annoyed by the frequency of notices, warnings, and errors, and some don't like to be reminded of how many errors


I recently learned that account verification is now generally available on Twitter... but when I went to verify my account , I got a notice that I needed to confirm my email address. I went into my account settings, and my account (which has existed since 2008, and has had a confirmed email address entered since the beginning!) showed my email was in working order.

So, knowing that sometimes you just need to give software a little percussive maintenance , I decided to try changing my

Something is technically wrong - Twitter 500 server error page