Recent Blog Posts

Require a minimum Ansible version in your Playbook

It's helpful to be able to enforce a minimum required Ansible version in Ansible playbooks. Ansible Roles have long been able to specify a minimum Ansible version—but only for Ansible Galaxy and ansible-galaxy-related dependency management.

I've found more and more that users who installed Ansible further in the past (in the 1.7.x or 1.8.x era) are now using some of my newer projects that require Ansible 2.0 (there are so many nice new shiny things!), and they're running into errors like:

ERROR: [DEPRECATED]: include + with_items is a removed deprecated feature.  Please update your playbooks.
Ansible failed to complete successfully. Any error output should be
visible above. Please fix these errors and try again.

The problem, as it turns out, is that these users are running a version < 2.0, but it's not very obvious based on that error message!

Interview with Cal Evans on Voices of the elePHPant

A few months ago, when I spoke at php[tek] in St. Louis, I had the honor of being interviewed by Cal Evans on the Voices of the elePHPant podcast! In the interview, we discussed Drupal 8, Acquia, the Raspberry Pi Dramble, and the PHP community.

Check out the interview: Interview with Jeff Geerling - Voices of the elePHPant.

There's also a video recording of the podcast, embedded below:

Remapping the Caps Lock key to Escape in macOS Sierra

For the past three years, I've used the Mac Development Ansible Playbook to automatically configure all my Macs, so they have the same applications, utilities, and preferences at all times. One of the most important tweaks I use is the combination of Karabiner and Seil to remap a few keys and to increase the key repeat rate.

Unfortunately, these extensions are not yet working in macOS Sierra, but the people behind the project have crafted a simple utility for the interim, Karabiner Elements, which doesn't yet have a UI and isn't in Homebrew's Caskroom (so I can't automate the setup), but it at least allows key remapping via a JSON configuration file.

Server Check.in turns 4 years old

I started Server Check.in, a simple website and server uptime monitoring service, almost four years ago. I built it when I was in the hospital and recovering from mono (symptoms were worse because of one of the Crohn's-related drugs I was taking), and it's been a very slowly-but-steadily growing service since.

Server Check.in logo

I wrote a four-year retrospective post on the service, and published it on the Server Check.in blog: Four years running Server Check.in.

Change the displayed username in Drupal 8 ala Realname

Recovering from surgery finally gave me time to update my last D6 site—a 7 year old private photo and media sharing site with nearly 10,000 nodes and 20+ GB of content—to Drupal 8. Drupal 8 has become a lot more mature lately, to the point where I'm comfortable building a site and not having the foundation rot out from beneath as large ecosystem shifts have mostly settled down.

One thing that I thought would have the simplest implementation actually took a little while to figure out. I needed to have users' full name display instead of their usernames throughout the site. For D6 (and for similar D7 use cases), the easiest way to do this was to enable the Realname module, configure it a tiny bit, and be done with it.

In Drupal 8, however, Realname doesn't yet have a full release (see this issue for progress), and the way usernames are generated has changed slightly (see change record hook_username_alter() changed to hook_user_format_name_alter()).

My Favorite Aunt

You don’t choose your family. They are God’s gift to you, as you are to them. (Desmond Tutu)

This past week, while I was in the middle of recovering from surgery, and the day after my family celebrated my daughter's 2nd birthday, I learned of the death of my Aunt Mary, the eldest of my Mom's sisters.

Maryanne Newman / Hafner

Aunt Mary and her family have hosted almost every Easter, Thanksgiving, and Christmas family gathering at their house, and were always gracious and loving hosts. Through these parties I grew in my bond with the rest of my extended family. But our bonds are deeper than most; starting with Grandpa Charlie and his beautiful wife (who's still with us!), then passed on through their wonderful daughters, the connection and love that my extended family shares is extraordinary.

Pages

Subscribe to Jeff Geerling's Blog