Ken Muse
Good Code Doesn't Care Where It Lives
Ever wondered if applications really have to be written to target servers or containers? Can they be more flexible so that they run anywhere? I recently had to create a Probot application that worked on VMs, containers, and serverless platforms. And I needed to do that without writing multiple versions of the code.

Read this article

Retrieving Properties From a Gitsigned Commit
In this post, we’ll continue the exploration of Gitsign by extracting some of the attestation data from a signed commit and using it to check how the code was built. This will help you understand how you can use the attestation data in your workflows.

Read this article

Using Gitsign for Keyless Git Commit Signing
Worried about securing your source code supply chain for GitOps and other processes? Learn how to implement automated signing in CI/CD pipelines, verify commit authenticity using transparency logs, and leverage GitHub OIDC tokens with Gitsign for keyless commit signing.

Read this article

What's New in GitHub Actions Runner Controller
Over the last three months, the GitHub team behind Actions Runner Controller (ARC) has released three updates. These included bug fixes, performance improvements, improved configurability, and a new approach to metrics. In this post, I’ll cover some of the highlights of these releases and what they mean for you.

Read this article

Navigating the Home Automation Standards
There are tons of options for home automation. There are devices that support Z-Wave, Zigbee, Thread, WiFi, Bluetooth, and Matter. How do you choose? In this post, I’ll compare the technologies and show you which ones are emerging as the clear industry direction.

Read this article

Inside My Home Automation Journey
Every journey begins with a first step. Learn how eliminating data leaks and implementing privacy controls led my wife and I to build a smarter home.

Read this article

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