Markdown is an excellent choice for documentation

Every few months, it seems a new post decrying the use of markdown for documentation (or other things) rises to the top of Hacker News.

There are often good reasons for preferring a more structured option, like reStructuredText , LaTeX , or Asciidoc . Especially in projects where more formal text is required, or where you need to support specialized and structured text formatting.

But for 98% of software projects (and in my experience, 95% of all other text I've ever written), markdown


Ansible 101 by Jeff Geerling - YouTube streaming series

Ansible 101 Header Image

After the incredible response I got from making my Ansible books free for the rest of March to help people learn new automation skills, I tried to think of some other things I could do to help developers who may be experiencing hardship during the coronavirus pandemic and market upheaval.

So I asked on Twitter:


How to livestream Masses or other liturgies on YouTube

Note : I also posted a video with more information and a demonstration of how I live stream.

I've been working on video streaming on a tight budget for years, and have scrambled to get live-streaming going for some liturgies on short notice, so I figured I'd put together a video showing a few options from 'cheap using what you already have' to 'a little more expensive but within a reasonable budget'. Note that if you plan on having regular video streams for the long term

iPhone on Tripod for live streaming

Don't let people be alone now that we're (mostly) work from home

I had hoped this would never happen, but I've already seen some friends of friends either get reduced hours or get some contracting gigs revoked. Hiring freezes aren't yet in place, but I know they're on some companies' radars.

I still hope this trend diminishes (and it might!), but if it doesn't, we should all be there for our friends—if it becomes anything like the 2008 recession, we will probably all have at least


You can get my DevOps books free the rest of this month

March 31st Update : Through Device42's generosity, this offer's been extended through the month of April !

The ongoing Coronavirus/COVID-19 pandemic and bear market made me realize how beneficial it has been to be adaptable in the tech industry. There are no guarantees in life, and the ability to earn a livelihood is probably the most underrated important aspect of overall health. Most people take it for granted until they are deeply affected by it.

I can't do much to

Ansible for DevOps - Available Free until April

Be careful, Docker might be exposing ports to the world

Recently, I noticed logs for one of my web services had strange entries that looked like a bot trying to perform scripted attacks on an application endpoint. I was surprised, because all the endpoints that were exposed over the public Internet were protected by some form of authentication, or were locked down to specific IP addresses—or so I thought.

I had re-architected the service using Docker in the past year, and in the process of doing so, I changed the way the application ran—


Revisiting Docker for Mac's performance with NFS volumes

tl;dr : Docker's default bind mount performance for projects requiring lots of I/O on macOS is abysmal. It's acceptable (but still very slow) if you use the cached or delegated option. But it's actually fairly performant using the barely-documented NFS option!

July 2020 Update : Docker for Mac may soon offer built-in Mutagen sync via the :delegated sync option, and I did some benchmarking here . Hopefully that feature makes it to the standard Docker for

Time to install Drupal 8 - different Docker volume sync methods

The 2020 Drupal Local Development Survey

DrupalCon Minneapolis is two months away, and that means it's time for the 2020 Drupal Local Development Survey .

2019 results - Local Drupal development environments

Local development environment usage results from 2019's survey .

If you do any Drupal development work, no matter how much or how little, we would love to hear from you. This survey is not attached to any Drupal organization, it is simply a community survey to help highlight some of the most widely-used tools that Drupalists use for their projects.

Take the 2


Enabling a stale issue bot on my GitHub repositories

For the past few years, the number of issues and PRs across all my GitHub repositories has gone from a steady stream to an ongoing deluge. There are currently over 1,500 open issues across my 194 GitHub repositories, and there's no way I can keep up with all of them.

Initially, I went through each issue in each project's issue queue on a monthly basis (mind you, this was—and is still—done on nights and weekends

Probot Head from GitHub Probot project

Ansible best practices: using project-local collections and roles

Note for Tower/AWX users : Currently, Tower requires role and collection requirements to be split out into different files; see Tower: Ansible Galaxy Support . Hopefully Tower will be able to support the requirements layout I outline in this post soon!

Since collections will be a major new part of every Ansible user's experience in the coming months, I thought I'd write a little about what I consider an Ansible best practice: that is, always using project-relative collection and role paths, so you can