Recent posts

Addressing Slow Performance in Jenkins

8 minute read

There’s nothing more frustrating than a sluggish continuous integration system. It slows down feedback loops and prevents code from reaching production quic...

Understanding Bash

10 minute read

Bash scripts give you the ability to turn a tedious series of commands into an easily runnable and repeatable script. With many real-world use cases, like u...

On YAML Discussions

3 minute read

My article about how YAML makes a bad programming language 1 generated a lot of great discussions online. To clarify, YAML, when used as the syntax fr...

Understanding Docker Logging and Log Files

14 minute read

Docker logging and its management are an important part of the containerization of your application. Once you’ve deployed your application, logging is one o...

What is Buildkit?

10 minute read

There is an excellent open-source project that you have probably used without realizing it. It’s called BuildKit, and it is what turns a Dockerfile into a D...

Monorepo vs Polyrepo

20 minute read

The decision of whether to use a monorepo or a polyrepo structure for your source code can be a very emotional (maybe even religious!) battle. On its surfac...