This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. The development of upki has been steadily progressing over the past few months. Since my last update , the project has released a beta version of the CLI tool and library, and the Ubuntu Foundations team has released a preview that users of Ubuntu 26.04 LTS…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Last week I attended Ubuntu Summit 26.04 . Ubuntu Summit is Canonical’s twice-yearly “showcase for innovative and ambitious” work across Ubuntu, open source, and the wider technology ecosystem. The format remained the same as the Ubuntu…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # As 2026 progresses, LLM-based tools are becoming more and more ubiquitous. Adoption across the tech industry has been mixed, both in terms of which projects are embracing “AI” technologies, and in how companies are structuring their…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # I am thrilled to announce the next target in our campaign to replace core system utilities with memory-safe Rust rewrites in Ubuntu. In upcoming releases, Ubuntu will be adopting ntpd-rs as the default time synchronization client and server,…
Introduction # I’m really into speciality coffee. In July 2025 I started tracking my coffee habits with Roastguide , a delightfully designed iOS app for people with a similar obsession to mine. It does a good job of tracking brews, roasters and bags, but over time I found myself wanting the data in a system that I controlled. I wanted to be able to query it, back it up, and adjust some of the…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Last year, I announced that Canonical had begun supporting the development of upki , a project that will bring browser-grade Public Key Infrastructure (PKI) to Linux. Since then, development has been moving at pace thanks to the tireless work of Dirkjan and…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. AI-assisted tooling is becoming more and more common in the workflows of engineers at all experience levels. As I see it, our challenge is one of consideration, enablement and constraint. We must enable those who opt-in to safely and responsibly harness the…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Earlier this year, LWN featured an excellent article titled “ Linux’s missing CRL infrastructure ”. The article highlighted a number of key issues surrounding traditional Public Key Infrastructure (PKI), but critically noted how even the…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. I recently had the privilege of attending the Ubuntu Summit 25.10 . Ubuntu Summits have a relatively long history. Some years ago Canonical ran the ‘Ubuntu Developer Summits (UDS)’, but recently the events were brought back and reimagined as the ‘Ubuntu…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Ubuntu 25.10: A Retrospective # In February this year, I published Engineering Ubuntu For The Next 20 Years , which was something of a manifesto I pledged to enact in the design, build and release of Ubuntu. This week, we released Ubuntu 25.10 Questing…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Immutable Linux distributions have been around since the early 2000s, but adoption has significantly accelerated in the last five years. Mainstream operating systems (OSes) such as macOS , Android , ChromeOS and iOS have all embraced similar principles,…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Packaging software is notoriously tricky. Every language, framework, and build system has its quirks, and the variety of artifact types — from Debian packages to OCI images and cloud images — only adds to the complexity. Over the past decade, Canonical has…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Earlier this year, Canonical’s Ubuntu Engineering organisation gained a new team, seeded with some of our most prolific contributors to Ubuntu. Debcrafters is a new team dedicated to the maintenance of the Ubuntu Archive. The team’s primary goal…
Following my appointment as VP Engineering for Ubuntu, I moved all of my machines from NixOS to Ubuntu. Being responsible for decisions that affect millions of Ubuntu users comes with, in my opinion, the obligation to use the product and live with those decisions myself. Following years of running Arch Linux and NixOS, I imagined this would be uncomfortable, but was pleasantly surprised. In this…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # Ubuntu has shipped on a predictable, six-month cadence for two decades. Twenty years ago, the idea of releasing an entire distribution every six months was considered forward looking, bold and even difficult. Things have changed since then:…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # Following on from Carefully But Purposefully Oxidising Ubuntu , Ubuntu will be the first major Linux distribution to adopt sudo-rs as the default implementation of sudo , in partnership with the Trifecta Tech Foundation The change will be…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # Back in February I wrote some thoughts on Ubuntu’s documentation and its role within the community. For a mostly-online software community, documentation is one of our most critical forms of communication. In the last two years there has…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # Last month I published Engineering Ubuntu For The Next 20 Years , which outlines four key themes for how I intend to evolve Ubuntu in the coming years. In this post, I’ll focus on “Modernisation”. There are many areas we could…
Introduction # Over the past few years, I’ve come to a series of realisations about how I can get the most from my calendar, or rather how to get the most from my time at work, while preventing work from spilling out into my personal life too much. Staying on top of my calendar has helped me manage my time better. It helps me get more done, and set reasonable work-life boundaries. Calendar…
This article was originally posted on the Ubuntu Discourse , and is reposted here. I welcome comments and further discussion in that thread. Introduction # I’ve been a VP Engineering at Canonical for 3 years now, building Juju and our catalog of charms . In the last week of January, I was appointed the VP Engineering for Ubuntu at Canonical, where I will now oversee the Ubuntu Foundations,…
Introduction # The very first application I ever packaged in nixpkgs was Multipass . Multipass is, according to the website: a CLI to launch and manage VMs on Windows, Mac and Linux that simulates a cloud environment with support for cloud-init. I wrote in some detail about how I use Multipass and LXD on my workstation to create and manage VMs for testing and development. Last year Multipass…
Introduction # Over the past couple of weeks, I’ve been teaching myself Rust . I don’t have a pressing need to write much Rust right now, but I’m intrigued by the promises of memory safety, and have been increasingly impressed at the quality of some of the software that the community produces. I also think that the concepts popularised by Rust, such as the borrow checker , will…
Introduction # This year we put a wood-fired hot tub in our back garden. It’s a total indulgence and a real treat. I originally purchased the tub for my wife, but I must admit to having grown quite fond of it myself! The tub itself is made from Canadian Redwood Cedar. The photo below was taken shortly after it was assembled, so there is still a little bit of leakage which stopped a few days…
Introduction # In my last post I described the first steps toward creating a new Home Assistant integration for the underfloor heating system in my house. In that post I outlined in detail how I set about creating a Python client for the API provided by the underfloor heating controller vendor. In this post, I’ll describe the development setup, project structure and contribution process for…
Introduction # Back in March, my family and I moved into a new home. It’s a modern construction which came with solar panels (and associated inverter/battery storage), and uses an air source heat pump to heat the house with underfloor heating. Being a new renovation, nearly all of the appliances and components in the house have a form of internet connectivity (some more useful than others!).…
Introduction # I’m a long-time, self-professed connoisseur of cocktails. I’ve always enjoyed making (and drinking!) the classics, but I also like experimenting with new base spirits, techniques, bitters etc. Over the years, I’ve collected recipes from a variety of sources. Some originated from books (such as Cocktail Codex and Cocktails Made Easy ), others from websites (…
Since writing this post, I’ve posted an update about moving from NixOS to Ubuntu with more up to date content on my current setup. Introduction # I’m always fascinated to see how people use their computers - which applications they choose, how they set up their desktop environments and even how their screens are laid out on their desk. I’ve learned some great tricks from friends…
Introduction # Over the years, I’ve used countless tools for creating virtual machines - often just for short periods of time when testing new software, trying out a new desktop environment, or creating a more isolated development environment. I’ve gone from just using the venerable qemu at the command line, to full-blown desktop applications like Virtualbox , to using virt-manager…
Introduction # In my day job at Canonical, I lead the teams developing Juju , and a whole host of charms . Charms are software packages used for deploying applications on any infrastructure you have available. The packages are portable, meaning you can use our PostgreSQL operator on AWS, on Azure, on Openstack, on Google Cloud, etc. We’re building up quite the portfolio of popular open…
Update : Since I wrote this post, I have been made aware of a particular situation where, at the time I write this (2025-01-17), the steps described in this article will result in a setup that is still (in many cases) vulnerable to an attack where the attacker has physical access to the machine. This may be acceptable in your threat model, but I’d encourage you to read the excellent article…
Introduction # For the past few months, I’ve been getting steadily more involved in Snapcrafters . The Snapcrafters are a community dedicated to the creation and maintenance of ~100 snap packages. They’re currently maintaining snaps for applications like Signal Desktop , Discord , Gimp , Terraform and many more , some with hundreds of thousands of weekly active users . As with any…
Introduction # I run a very small homelab that provides some basic services to my home network. I’m not much of a data hoarder, but my lab consists of some redundant storage in a raidz2 ZFS pool, and I use the homelab as a receive-only target for Syncthing , and as the point from which backups of my critical data are made using Borg & Borgbase . It also runs a few other small services - all…
Introduction # I’m quite overwhelmed by the number of people who read, and engaged with my last post on packaging Scrutiny for NixOS. I hadn’t intended on posting to this blog more than maybe once per month, but I decided to continue documenting the journey of landing Scrutiny upstream in nixpkgs . One of the things that really struck me about NixOS early on was how simple the…
Update : Since writing this post, I’ve contributed Scrutiny upstream to nixpkgs/NixOS. You can see the write up of that effort here . Introduction # In a recent (well, recent-ish) episode of the Self Hosted Show , there was some talk of a hard drive monitoring tool called Scrutiny. Scrutiny is a hard drive monitoring tool that exposes S.M.A.R.T data in a nice, clean dashboard. It gathers…
Introduction # While in my own time I’ve tended toward NixOS over the past 18 months, in my day-to-day work for Canonical I’m required to interact with a fair few of our products - and particularly build tools. I frequently need to use some combination of Snaps , Charms and Rocks . Each of these have their own “craft” build tools ( snapcraft , charmcraft and rockcraft ),…
Introduction # I’ve been procrastinating about blogging for about a decade. Long-form writing is a format I enjoy consuming, and I’ve learned a huge amount from the various blogs I’ve subscribed to over the years. Yet, there have always been a couple of nagging reasons preventing me from starting my own: Why would anyone want to read my blog? How would I come up with ideas for…
This post was originally posted on Charmhub on 02 August 2022. I’ve posted it to my blog retrospectively, but the article is unchanged. Some commands may need slight adjustments today, feel free to reach out if you get stuck! Introduction # Over the past few days, I’ve been diving into some charm development to get a hands-on feel for where Juju and the Charmed Operator ecosystem has…
This post was originally posted on LinkedIn on 12 October 2020. I’ve posted it to my blog retrospectively, but the article is unchanged. SSHizzle was released as open source software back in 2020, but has not received any maintenance since I left Thales. I do not recommend deploying SSHizzle, but the article will hopefully remain interesting for the background and principles behind the…