All Posts

More Software for Myself - Cash Register Flight Tracker

More Software for Myself - Cash Register Flight Tracker

I’ve been interested in ambient data displays for a while. They’re pretty common in modern life: arrival/departure boards for transit or flights, traffic condition signs (“X minutes to Y” on a highway), the current floor display for an elevator, open/closed signs for businesses. Clocks are probably the oldest kind, going back to early timekeeping with sundials. My house is near-enough to an airport that I can see and hear airplanes during the day (especially while working from home). Earlier in the year I bought a software-defined radio receiver and set it up to receive ADS-B data. But I didn’t want to have to have a browser open all day to look at the map; I wanted an easier way to identify what airplane I heard.

When a Stranger Syscalls: Quirks of jail(2)

When a Stranger Syscalls: Quirks of jail(2)

runj is an OCI runtime for FreeBSD jails. Until recently, it relied on the jail(8) command to actually set up and manage the jail in the FreeBSD kernel. It had been a to-do item on my list for a long time to migrate to directly-invoking the jail(2) family of syscalls. This is now done, but I learned some new things along the way.

runj 0.2.0 adopts new OCI Runtime Spec 1.3.0 with FreeBSD support

runj 0.2.0 now supports the new OCI Runtime Spec 1.3.0, which includes official FreeBSD support!

Writing Software for Myself

This post is part of the Lobste.rs blog carnival. A while ago I read this blog post “An app can be a home-cooked meal”. It really resonated with me. Later, I realized it’s because I’ve been doing this for a while, just without a name. While I don’t have a ton of home-cooked apps, I have written a few over the years for some different specific reasons.

Hello containerd 2.1

Hello containerd 2.1

containerd 2.1 is here! Delivering new features and improvements, this release also launches our new six-month cadence – just half a year after containerd 2.0.

My KubeCon+CloudNativeCon EU 2025 Schedule

I’ll be speaking at KubeCon EU 2025 in London tomorrow! As I like to do, here’s what I’m thinking of attending at the conference this week.

containerd internals: Images

containerd internals: Images

Welcome to day 4 of our series on containerd internals! Container images are the mechanism that we use to capture a container’s filesystem, distribute it to nodes that will eventually run containers, and ensure that containers start from a known-identical configuration. In many ways, images are the defining characteristic of a containerized system; they are the interaction point for users who want to create a workload and make it repeatable and predictable. Without images, you could still have similar isolation characteristics that are available in containerized systems today, but it would be more difficult to achieve reliable, production-ready, and understandable workloads.

containerd internals: ctr

containerd internals: ctr

Welcome to day 3 of our series on containerd internals! This post will cover ctr, a command-line tool for containerd.

containerd internals blog series for December 2024

containerd internals blog series for December 2024

Derek already announced this on his blog, but I figured I can post here too. This month, a few of the containerd maintainers plan to write a series of blog posts about containerd internals that we think are interesting and not well-known. Our hope through this series is that you’ll find some useful takeaways in operating containerd (and understanding how to debug), integrating with containerd (through our many extension points), contributing to containerd, or even in writing your own projects.

containerd 2.0 (and KubeCon NA 2024)

containerd 2.0 (and KubeCon NA 2024)

The containerd maintainers (including me) are happy to announce the release of containerd 2.0! This is the first major release of containerd since 1.0 was released in 2017, and represents a commitment both to the evolution of the containerd project and continued investment in stability, reliability, and efficiency.