Validate Terragrunt Config with GitHub Workflows

I wrote up a simple workflow for validating my Terragrunt configuration using the terragrunt validate command and GitHub workflows.

Wed Feb 21 2024

Read More

Notes on - Choose Boring Culture by Charity Majors

My thoughts and notes on a blog post by Charity Majors on how teams should build/cultivate their culture. Her post is at https://charity.wtf/2023/05/01/choose-boring-technology-culture/.

Tue Feb 13 2024

Read More

Notes on - Choose Boring Technology by Dan McKinley

My notes and thoughts from reading Choose Boring Technology by Dan McKinley on his blog. His post is at https://mcfunley.com/choose-boring-technology.

Tue Feb 13 2024

Read More

Notes on - Friday Deploy Freezes are Exactly Like Murdering Puppies by Charity Majors

My notes and thoughts on a blog post by Charity Majors about how Friday deploy freezes are actually a sign of an unhealthy culture. The original post is at https://charity.wtf/2019/05/01/friday-deploy-freezes-are-exactly-like-murdering-puppies/.

Tue Feb 13 2024

Read More

Notes on - Questionable Advice: Can Engineering Productivity be Measured by Charity Majors

My personal thoughts and notes on a blog post Charity Majors wrote in response to a question about measuring engineering productivity. Here is a link to the blog post: https://charity.wtf/2020/07/07/questionable-advice-can-engineering-productivity-be-measured/.

Tue Feb 13 2024

Read More

Notes on - Chapter 1 of The Mythical Man-Month by Fred Brooks

My thoughts and notes on the preface and first chapter of book The Mythical Man-Month by Fred Brooks.

Tue Feb 13 2024

Read More

Get Started with Terraform

Provision infrastructure, applications, and resources with Terraform today! Learn how to install Terraform and the basics of using Terraform.

Thu Jun 01 2023

Read More

Using Terraform and Juju

You can do neat and fancy things with Terraform and Juju thanks to the Terraform Juju provider. Deploy infrastructure and applications both through Terraform and Juju.

Wed May 31 2023

Read More

The Commitment Model of Work

This post is about a model for organizing the work of a software development team in Jira and for articulating why we work on the tasks that we work on. At the moment, I think splitting work into things that meet one of our agreed-upon commitments and things that don't have to do with meeting one of our commitments is a helpful model for categorizing work.

Thu Mar 16 2023

Read More

What Counts as Important Work

From time to time I have encountered a tension between what is considered important work. In my experience, work tied to a formal project or to business goals is often deemed important work, and other vital work is de-emphasized. We still need to honor and respect the vital day-to-day work teams do to keep the lights on.

Wed Mar 08 2023

Read More

Why does OKRs fail?

As I read more about OKRs, I have started to wonder how so many companies that saw great success from adopting OKRs later suffered serious failures or structural issues. This post is thoughts and musings about this problem.

Sun Feb 26 2023

Read More

OKRs Training Outline

My notes and outlines on training I plan to deliver at work to my team mates. The goal is to help a team new to OKRs understand how the framework works, know why OKRs is valuable, and start writing their own OKR sets.

Thu Feb 23 2023

Read More

Building an implementation of OKRs

The OKRs framework is a trendy, desirable tool for increasing productivity. However, it seems OKRs is really only for teams that already have established psychological safety, a sense of empowerment, and are capable of delivering results on their own. OKRs, then, is not a solution to productivity problems, rather it is an accelerator.

Tue Feb 21 2023

Read More

Notes on OpenStack Tempest Testing

Notes on my experience using OpenStack Tempest to perform tests against OpenStack.

Thu Feb 16 2023

Read More

Extending the Terraform Juju Provider

Notes on my experience extending the Terraform Juju Provider to have more of the features of the Juju library.

Mon Jan 23 2023

Read More

Why Use Virtualization?

Learn about the main benefits of virtualization and understand why virtualization is so important to technology professionals, systems administrators, and cloud engineers. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Tue Mar 22 2022

Read More

How Does Virtualizaton Work?

A short content stub that describes in basic detail what virtualization is and what function virtualization provides. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Mon Mar 21 2022

Read More

What is LXC?

A short content stub that describes in basic detail what Linux Containers (LXC) is and how it works. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Sun Mar 20 2022

Read More

What Is Virtualization?

A short content stub that describes in basic detail what virtualization. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Sat Mar 19 2022

Read More

Cloud storage, local storage, and object storage? Oh my!

Learn the differences between the main types of cloud storage. Cloud storage is a critical part of running applications in the cloud, but not all types of cloud storage are the same or provide the same functionality.

Thu Mar 17 2022

Read More

Kernel-based virtual machine

A short content stub that describes in basic detail what a kernel-based virtual machine is. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Thu Mar 17 2022

Read More

What are OpenStack's Main Features?

OpenStack has all the great features and functionality cloud users need. Learn about the core functions OpenStack provides to OpenStack users. This piece was written as part of a series for preparing new team members to support OpenMetal.io's OpenStack cloud platform.

Thu Mar 17 2022

Read More

The Value of Open Source

Read about some of the main value propositions for open source software and what motivates companies to adopt and support open source software development. This post was originally written as part of a series I prepared for training new team members on supporting OpenMetal.io's cloud platform.

Thu Mar 17 2022

Read More

What Are Ceph's Main Features?

Ceph at its core is a highly available, data redundant cloud storage platform. Ceph's primary purpose is providing storage. Ceph has three main types of storage that it can provide: block storage, object storage, and shared filesystems.

Thu Mar 17 2022

Read More

What is Ceph?

A short content stub introducing Ceph - an open source cloud storage software solution. This piece was written as part of a series I prepared to train new team members to support OpenMetal.io's OpenStack cloud platform.

Thu Mar 17 2022

Read More

What is LXD?

A short content stub that describes in basic detail what LXD is. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Thu Mar 17 2022

Read More

What Is OpenStack?

A short content stub that describes in basic detail what OpenStack is and a brief background of OpenStack's start and core mission. This content was prepared as part of a series for training new team members to support OpenMetal.io's OpenStack cloud platform.

Thu Mar 17 2022

Read More

Deploy OpenStack Kuryr in 2022

OpenStack Kuryr is an OpenStack service for bridging OpenStack networking and Docker networking together. With OpenStack Kuryr you can use OpenStack to manage networking for Docker containers. Learn how I deployed OpenStack Kuryr using Kolla-Ansible in 2022.

Wed Jan 12 2022

Read More

Fix Slow Docker DNS Lookups

Otherwise well performing applications in Docker containers can have slow performance once they are deployed. DNS lookups can be a cause for delays in applications that make any outbound connection to a remote domain, like an HTTP request. You can speed up Docker DNS requests by specifying DNS nameservers for Docker containers to use.

Wed Jan 12 2022

Read More

Astro Is a Great Static Site Generator

Astro is a relatively new static site generator with compelling features and an exciting new approach. This site uses Astro and Svelte components to build a simple blog. Learn about how Astro is a terrific solution for those who need a static site generator.

Wed Nov 17 2021

Read More

2 Important Ways to Manage Remote Team Members Better

Managing remote teams is challenging! However, having regular one-on-ones and building empowerment are two of the best ways to help you and your remote team succeed.

Sun Nov 14 2021

Read More

3 Ways to Build Empowerment

Empowerment is the foundation of successful, high-performing teams. Empowered team members successfully solve problems independently and with intiative. Build your team's empowerment through building confidence, providing guidelines, and making your team feel trusted.

Sun Nov 14 2021

Read More

How to use Terraform and OpenStack

Creating infrastructure in OpenStack manually can be time-consuming. Tools like Terraform can help you speed up deployment of infrastructure and ease management of your OpenStack resources. Learn how to get started with Terraform and OpenStack.

Tue Nov 09 2021

Read More

How to Get Line Breaks In Markdown

You might be surprised, like I was, to find your line breaks in your Markdown file do not show up when you render the page. Apparently, you need to use either two spaces at the end of the preceding paragraph or a backslash (\) at the end of the preceding paragraph and a backslash (\) on the next new line.

Sun Nov 07 2021

Read More

Populate Docker Volumes Quickly

Avoid time-consuming Docker container restarts by using a dummy container to mount your Docker volumes when you need to copy data into the volumes.

Thu Nov 04 2021

Read More

The Importance of Self-leadership

Leadership starts with you. Being a good leader for others is difficult if you are a not a good leader for yourself.

Tue Nov 02 2021

Read More

Asynchronous Programming with JavaScript

Learn what asynchronous programming means for JavaScript and how you can get started writing asynchronous JavaScript code.

Mon Nov 01 2021

Read More

3 Tips for Asking Better Questions in Interviews

Are too many candidates answering your questions with just a yes, a no, or some other unhelpful response? A one word response can be extremely frustrating for interviewers trying to establish the credibility or skills of candidates. However, the problem may not be the candidates but the questions interviewers are asking. Asking-open ended questions, recording the performance of your questions, and writing your questions down beforehand will help you get better results from your interviews.

Fri Oct 29 2021

Read More

Interviewing Is a Skill You Can Practice

While there may be people who are naturally good at interviewing, conducting successful, meaningful interviews is a skill you can work on like any other skill. Anyone can become a better interviewer and have more informative, more enjoyable interviews through thoughtful planning and consideration. Some keys to becoming a better interviewer are understanding what your strengths as an interviewer are, identifying areas in which you need to improve, and developing a plan to improve your interviewing in a measurable way.

Fri Oct 29 2021

Read More

OpenStack Cloud Challenge: Setup a Highly-Available WordPress Website

Real world deployments offer great examples of how to use technology. Use OpenStack to setup cloud infrastructure to support a highly-available WordPress website.

Fri Oct 29 2021

Read More

How I setup this blog

A simple post for testing and so that I do not forget the steps for how I setup this blog.

Fri Oct 29 2021

Read More

1000 Docker Containers with Open Metal Cloud

I had the opportunity to deploy 1000 Docker Containers on a three-node OpenStack private cloud using Open Metal Cloud's platform. The containers were almost entirely identical and had low resource usage, which helped make this possible. However, I still ran into challenges with provisioning the containers without overwhelming Docker on the three hardware nodes. This post talks about the deployment and architecture from a high level; it is meant to serve as a record and retrospective for me in case I need to do this in the future. I had to complete the deployment in three days to meet the deployment's requirements. That's right. 1000 Docker containers deployed from scratch in 72 hours.

Wed Oct 27 2021

Read More

Using Docker Directly with Kuryr

OpenStack Kuryr gives you the ability to connect OpenStack networks into Docker's namespace. I used Docker directly with Kuryr instead of OpenStack Zun to streamline managing containers.

Fri Oct 22 2021

Read More

Better looping in bash: Use while syntax

Learn how to upgrade your loops in bash with while syntax. Use while loops to use multiple variables in a single command.

Thu Oct 21 2021

Read More