I write quite a bit for the Red Hat Enable Sysadmin blog. This page provides links to all of the articles that I’ve written.
I try to keep this updated with my latest articles, but check out my page for more info.
Aug 10 2022
This article covers the basics of the Base64 encoding format, including both theoretical knowledge and practical examples.
Aug 9 2022
This is the second in a two part series about Kubernetes networking. This article covers how pods communicate across different nodes, specifically when using the Flannel network plugin and a VXLAN overlay.
Aug 8 2022
This is the first in a two part series about Kubernetes networking. This article covers how containers within a pod communicate using the same network namespace.
Jun 10 2022
This article discusses using Mockoon to test API interactions. Mockoon is a wonderful tool that allows you to quickly build API mocks for testing.
May 2 2022
This article introduces the ksniff utility for capturing packets within Kubernetes pods.
Apr 13 2022
Customizing Ansible output using callbacks is a very useful skill if you use Ansible regularly. This article discusses the basics of using callbacks.
Feb 3 2022
Rucksack is a tool that I developed to store and use shell one-liners. This article is a basic introduction to the tool.
Jan 31 2022
This is a discussion about skills that I feel will differentiate sysadmins in 2022 and beyond.
Nov 15 2021
This article covers some practical tips for using tags in Ansible playbook runs.
Oct 4 2021
This article covers automatically handling failure of systemd units.
Sep 8 2021
This article covers Ansible’s pre_tasks and post_tasks capabilities.
Sep 2 2021
This article covers my personal backup strategy, which uses Restic and remote storage to ensure my files are safe. I’ve been a huge fan of Restic, and it’s given me a “set it and forget it” approach to my backups.
May 3 2021
The first step in any automation journey is figuring out what you should actually automate. This article offers five tips for finding good automation use cases.
Mar 29 2021
OpenSSL is tricky, but I think every SysAdmin should be comfortable with its basic usage. This article covers OpenSSL commands that every sysadmin should be aware of.
Feb 25 2021
Many engineers hate writing their annual self-review. This article covers some tips that I have found useful during review season each year.
Feb 16 2021
This article covers some tips and tricks for handling secrets in Ansible playbooks.
Oct 7 2020
I love finding unique ways to leverage Ansible, and interacting with web endpoints directly from playbooks is probably one of my favorite tricks.
Sep 22 2020
Continuing on the Ansible theme, this is a quick article with some simple suggestions for building an initial hardening playbook for your systems.
Aug 6 2020
Choosing between copying static files and using templates can be a bit confusing to someone who is brand new to Ansible. This is an article that I wrote for for the Red Hat Enable SysAdmin blog to help clarify this choice for the beginner.
Jul 15 2020
Taking a break from technical topics, this article is all about paying it forward to the SysAdmin who will inevitably replace you someday. I normally don’t write a lot of non-technical content, but this was a fairly satisfying article to put together.
Jul 7 2020
Continuing on the Ansible theme, this article covers basic container image management using Ansible.
Jun 30 2020
This article provides an introduction with a focus on deploying a basic website. I’ve found that deploying a simple, static website is one of the easiest and most useful end-to-end exercises that someone new to Ansible can pick up.
Apr 21 2020
This is an article outlines some basic tips for managing remote systems. While most of these can be considered “common sense” suggestions, it’s always good to ensure that you have a grasp on the fundamentals of remote system management.
Apr 1 2020
This is the final article in a three part series about using Keepalived to build HA systems. This article includes a discussion of advanced Keepalived features, such as process and script tracking.
Mar 25 2020
This is the second article in a three part series about using Keepalived to build HA systems. I introduce the reader to Keepalived configuration basics and demonstrate how to set up a simple failover cluster.
Mar 18 2020
This is the first article in a three part series that I wrote about using Keepalived to build HA systems. This introduction covers VRRP and Keepalived fundamentals.
Jan 23 2020
This is the final article in a six part series about Asterisk and VoIP. This article covers the Asterisk configuration necessary to connect to the public phone network.
Jan 21 2020
This is the fifth article in a six part series about Asterisk and VoIP. This article describes how to configure the Asterisk dialplan to support calling within an office environment.
Jan 16 2020
This is the fourth article in a six part series about Asterisk and VoIP. This article walks through configuring Asterisk and registering softphones.
Jan 14 2020
This is the third article in a six part series about Asterisk and VoIP. This article covers the installation of Asterisk on RHEL-based distributions.
Jan 9 2020
This is the second article in a six part series about Asterisk and VoIP. This article covers the basics of Asterisk architecture and configuration.
Jan 7 2020
This is the first article in a six part series that about Asterisk and VoIP. This article discusses VoIP protocols and fundamentals.
Nov 28 2019
This is the final article in a three part series that I wrote about VLANs in Linux.
Nov 21 2019
This is the second in a three part series that I wrote about VLANs in Linux.
Nov 19 2019
This article covers the fundamentals of using tcpdump for capturing packets in Linux.
Nov 14 2019
This is the first in a three part series that I wrote about VLANs in Linux.
Sep 24 2019
This article discusses basic network troubleshooting in Linux.