Ken Muse

The Most Dangerous Phrase in Software Development
So many times, teams use “it should work” as the reason why their software or processes don’t require testing. For example, the code is so simple, it should work. Or, the code was tested on Linux, so it should work on Windows. In reality, this can be dangerous at best … and fatal at worst.

Read this article

The Secret Life of Git Large File Storage
For most people, Git Large File Storage (LFS) is a black box. You install it and somehow Git handles large files differently. But how does it manage the files? How does it know how and when to upload the files? And how was this implemented using only native Git extensibility points? This post will uncover its secrets and how it uses Git hooks and filters to manage large files.

Read this article

Migrating Git With An LFS Configuration File
Migrating repositories with LFS can be tricky. This is especially true when the repository is configured to use an LFS endpoint that is separate from the Git repository. Learn how to safely migrate repositories that are using .lfsconfig to manage the storage location.

Read this article

Defining an Infrastructure-as-Code Maturity Model
Like any other software lifecycle, infrastructure-as-code solutions can mature over time. But how do we know where we are in our maturity and the steps to take to improve? This post introduces a maturity model that you can use for infrastructure-as-code. It also explores how you can use composition and reusability to improve your solutions and make them more testable.

Read this article

Managing Pod Resource Requests and Limits in Kubernetes
Historically, there’s been no way to really apply resource requests or limits at the pod level in Kubernetes. Instead, we are forced to apply these configurations at the container level. Thankfully, there is a new feature in Kubernetes that promises to change that.

Read this article