Photographing the 2017 Total Solar Eclipse

Last year, when I first learned that my house was in the path of totality for this year's eclipse, I immediately logged into BorrowLenses and rented a Nikon 200-500mm f/5.6 VR lens (for photography—it's now on my wishlist) and then purchased a set of eclipse glasses for my family, and materials to build a solar filter for the lens.

I've learned from Reddit's DIY community that people like the end result

2017 Total Solar Eclipse composite by Jeff Geerling

Slow Ansible playbook? Check ansible.cfg!

Today while I was running a particularly large Ansible playbook about the 15th time in a row, I was wondering why this playbook seemed to run quite a bit slower than most other playbooks, even though I was managing a server that was in the same datacenter as most of my other infrastructure.

I have had pipelining = True in my system /etc/ansible/ansible.cfg for ages, and initially wondered why the individual tasks were so delayed—even when doing something like running three lineinfile tasks


Get a list of all available images in the DigitalOcean v2 API

I frequently need to check the slug or id of a particular Droplet image (or in AWS parlance, an AMI) that I can use to launch new DigitalOcean droplets via Ansible. And seeing as tonight I had to search for 'how to get a list of all DigitalOcean images' about the hundredth time, I figured I'd publish this in a blog post so I can find it more easily in the future.

Without further ado:

curl -X GET --silent "https://api.

Add a path to the global $PATH with Ansible

When building certain roles or playbooks, I often need to add a new directory to the global system-wide $PATH so automation tools, users, or scripts will be able to find other scripts or binaries they need to run. Just today I did this yet again for my geerlingguy.ruby Ansible role , and I thought I should document how I do it here—mostly so I have an easy searchable reference for it the next time I have to do this and want a copy-paste example!


Parsing YAML files on the command line using Ruby

I have been working on an infrastructure project that uses YAML files for all inventory and configuration management, and for the most part, if you're using tools like Ansible, CloudFormation, etc., then you don't ever have to worry about the actual parsing of a YAML file, and keys and values in the file are readily accessible since these tools parse them and get them into a readable structure for you.

But there's often little bits of glue code, or infrastructure build/cleanup jobs,


Review: Arc Hub USB-C Adapter

August 2017 update : I just noticed the tech specs on the Arc Hub product page have changed to read: "Arc Hub comes with 1 x Mini Display Port 1.2. Capable resolutions are all HiDPI resolutions, 1080p@60hz, 2560 x 1440 @ 60hz, 3840×2160@30hz." The tech specs used to mention 4K at 60Hz ?.

I

Arc Hub floating in midair

DIY threaded solar filter for taking pictures of 2017's total solar eclipse

tl;dr : Buy a step-up ring of appropriate size for your lens, buy a solar filter sheet , paste the sheet into the ring, screw the ring on your lens. And practice before the solar eclipse on August 21!

See my full post with the final result here: Photographing the 2017 Total Solar Eclipse .

On August 21, 2017, North America will experience a Total Solar Eclipse, and for the photographers among us, it will be an exciting opportunity

Solar Eclipse #9

How to fix "Host '172.18.0.1' is not allowed to connect" with MySQL Docker

Using the official MySQL Docker image from Docker Hub, I recently ran into the error:

Host '172.18.0.1' is not allowed to connect to this MySQL server

The only change I had made to my docker-compose.yml file was:

mysql:  image: mysql:5.6  ports:    - '3306'  volumes:    # Use this option to persist the MySQL DBs in a shared volume.    - ./mysqldata:/var/lib/mysql

Dealing with Drupal 8 and a giant cache_render table

There are a number of scenarios in Drupal 8 where you might notice your MySQL database size starts growing incredibly fast , even if you're not adding any content. Most often, in my experience, the problem stems from a exponentially-increasing-in-size cache_render table. I've had enough private conversations about this issue that I figure I'd write this blog post to cover common scenarios, as well as short and long-term fixes if you run into this issue.

Consider the following


DrupalCamp St. Louis 2017 Keynote announcement: Adam Bergstein

DrupalCamp St. Louis 2017 - September 22-23

(It's not too late to submit a session —and register for DrupalCamp soon, since early bird pricing ends on August 1!)

The organizers behind DrupalCamp St. Louis 2017 are happy to announce we have a speaker scheduled to present the Keynote, Adam Bergstein—Associate Director of Engineering at CivicActions!

Adam's Keynote is titled "Restoring Our Lost Imagination", and here's a short summary:

Experience helps shape our perspective. Somewhere along the way, our