programs. applied.

Patch provides expert programming, training, and consulting services.

Latest blog posts

A brief summary of 2025

2025 in a minute

2025 was an eventful year. My prime path coverage was included and released with GCC, along with a few minor patches. I presented prime path coverage and my work on GCC at NASA at the Johnson Space Center in Houston, and published the pre-prints of my papers on MC/DC and prime path coverage in GCC. I wrote and did a course on package management with Guix. I have delivered on contracts on build systems and package management, and data processing in Zig. A client hired me to do an interesting system in Rust, leading to a large-ish contribution to a physical units library. zcov saw steady improvements, too.

A git bisect story

There are many good reasons to maintain a proper git history, with deliberately crafted and focused commits, a state that builds, and good messages that provide context, motivation, and reasoning for the change. A neat side effect of a well kept log is that it boosts the usefulness of git bisect. Briefly, git bisect binary searches the history to find the commit which introduced the bug, and it’s an indispensable tool.

Guix shell for programs with batteries included

One of the aspects of Guix that really sets it apart from other package managers is how there is not much difference in power between the user and the repository. Sure, you can build your own .debs just fine and manage them with dpkg, but it takes a lot more infrastructure to have your own small packages play well with apt (and other users). For sharing packages in Guix, most of the time it is sufficient to share a small pkg.scm or similar.