Ken Muse
The Hidden Costs of Bad Development Practices

The Hidden Costs of Bad Development Practices

Bad development practices create debt. The interest on that debt can literally make or break a company, and nobody is immune. With Internet Explorer becoming the latest casualty, it's a good time to explore the problem.

Read more

Implementing Docker Layer Caching in GitHub Actions
BuildKit provides native support for caching layers to improve build times. In this post, we'll explore implementing gha, inline, and registry caches with GHCR and GitHub Actions.

Read more

Implementing Docker-from-Docker for Non-Root Users

Implementing Docker-from-Docker for Non-Root Users

The third and final part of our exploration of Features and creating a simple feature. Now it's time to dive deeper into Linux scripting to create an entrypoint for the non-root users.

Read more

Improving Docker-From-Docker With Features

Improving Docker-From-Docker With Features

Sometimes scripting in containers just isn't enough. We need modular, reusable components to create repeatable practices. We need to implement our first Feature.

Read more

Intro to Dev Container Features

Intro to Dev Container Features

One of the newest additions to the dev container specification is Features. Today I'll explore the basics of the specification and how it lets you create reusable components for your dev containers.

Read more