Ken Muse
Modeling the Hidden Costs of Development
In the last post, we explored the expensive nature of technical debt and bad development practices. Today, we look at how to create financial models that help you to understand your actual costs.

Read this article

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 this article

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 this article

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 this article

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 this article

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 this article

Docker-from-Docker in Alpine Dev Containers
Let’s get a bit crazy for 2023. In this post, we’ll see if we can run some Docker commands from inside our Alpine dev container using Docker-from-Docker and a bit of configuration.

Read this article

Using Git SSH From Docker With a Local Proxy
You’re working in a development container. You need access to a port on the host for a proxy SSH connection to a Git server. Sounds tough, right? Turns out it’s simple.

Read this article

SSH and Multiple Git Credentials
If you need to connect to multiple Git hosts or environments (like EMU and GHEC) with minimal effort, then SSH may provide the options you need to make it painless.

Read this article

Doing DevOps With Databricks
Databricks is a powerful tool for processing data. This is big data, so how do we thing about implementing DevOps practices for these environments?

Read this article