Jon Seager
Software engineer and engineering leader at Canonical, working on Ubuntu; writes about his homelab, Nix and tooling at jnsgr.uk.
Jon Seager did not write this page. ppll compiled it from their own words, each linked to the source. Is this you? · Report a mistake
Latest GitHub
What they believe
-
Software teams that do not release software regularly are broken teams.
Software teams that don't release software are broken software teams.
jnsgr.ukSaid 22 Sept 2026This on korrents
-
Rewriting mature C code from scratch is expensive, risky, and rarely produces clear improvements.
Rewrites have long been expensive and risky, and do not often materialise obvious improvements.
jnsgr.ukSaid 19 Aug 2026This on korrents
The bold line is korrents’ wording; the quote is theirs. These 2: what they wrote before what they said aloud, one per source, newest first.
Feed
As its own page →Hiding
19 October
14 October
7 October
2 October
1 October
29 September
22 September
From one piece If it hurts, do it more! 3 beliefs · jnsgr.uk
-
Their words
Performance management is often associated with something going wrong, but it should be a continuous process, conducted in regular one-to-one meetings where short-, medium- and long-term goals are set and assessed, feedback is given (both ways!) and issues are addressed proactively.
-
Their words
But perhaps most obviously, when you don't release often, your team gets worse at releasing.
-
Their words
Software teams that don't release software are broken software teams.
17 September
27 August
-
Lovedrcmnd.app
TailscaleTheir words
In 2021 I started using Tailscale in place of my hand-rolled Wireguard setup, and I haven’t looked back. It has to be one of my favourite pieces of technology ever.
-
Lovedrcmnd.app
YubiKeyTheir words
One of my favourite things about the Yubikey is their ability to store TOTP codes.
-
Usesrcmnd.app
SyncthingTheir words
I switched to using Syncthing to avoid the overhead of running a server instance, which works particularly well when combined with Tailscale.
+ 2 more
-
Mixed onrcmnd.app
NextcloudTheir words
After having run a Nextcloud server for several years on a Droplet (using docker-compose), I ultimately realised that I was only using the file syncing capability, and wasn’t moving much data even then.
-
Lovedrcmnd.app
CatppuccinTheir words
Absolutely everything is themed with Catppuccin Macchiato. Not only do I love the theme, but I love how pervasive it is across all the apps/tools I use
19 August
From one piece Investing in automated C to Rust translation 3 beliefs · jnsgr.uk
-
korrents.com
AI-generated code should be treated as untrusted until there is evidence it preserves the intended behavior.Their words
Generated code should be treated as untrusted until there is evidence that it preserves the desired behaviour.
-
korrents.com
Code that looks plausible is not evidence that it behaves the same as the program it was derived from.Their words
plausible-looking output is not evidence that the translated program behaves like its source.
-
korrents.com
Rewriting mature C code from scratch is expensive, risky, and rarely produces clear improvements.Their words
Rewrites have long been expensive and risky, and do not often materialise obvious improvements.
17 August
1 August
1 July
-
Their words
Firefox and Chromium have mature, browser-specific infrastructure for certificate revocation and related PKI data, but system utilities, package managers, language runtimes and many command-line tools have historically lacked a consistent mechanism for checking whether a publicly trusted TLS certificate has been revoked.
22 June
2 June
-
korrents.com
AI agents need contained, disposable workspaces with clear boundaries around host accessTheir words
Agents need contained workspaces, clear boundaries around host access, and environments that can be torn down, recreated and shared without much ceremony.
13 May
27 April
From one piece The future of AI in Ubuntu 3 beliefs · jnsgr.uk
-
Their words
Delegating elements of Site Reliability Engineering to an agent does not necessarily introduce an entirely new class of risk; it should inherit the constraints of existing production systems.
-
Their words
There will always be bigger models and smaller models, and those with more compute will be able to get more done than those with less compute, but the gap will begin to close.
-
Their words
AI is not going to take software engineering jobs at Canonical, but other software engineers who are highly competent with AI tools certainly could.
26 March
-
Their words
Keeping accurate time is a critical system function, not least because it involves constant interaction with the internet and forms the basis for cryptographic verification in protocols such as Transport Layer Security (TLS).
10 March
From one piece Brewlog: Coffee & Agents 3 beliefs · jnsgr.uk
-
korrents.com
A developer using AI coding tools remains responsible for reviewing the code they ship.Their words
I think the key to useful output from these tools is that you remain the driver.
-
Their words
If you care about such constraints (function length, etc.), encode them as lints rather than hoping the agent internalises your preferences.
-
korrents.com
Passkey authentication is phishing-resistant and harder to brute-force than password-based authentication.Their words
Passkeys are phishing-resistant and significantly more difficult to brute-force both from an academic and a practical standpoint
-
Likedrcmnd.app
RoastguideTheir words
Finally, I’d like to thank the authors of Roastguide for the amazing work they’ve done on their app, the attention they pay to their community on Discord
16 February
20 January
8 December 2025
2 November 2025
9 October 2025
1 September 2025
21 July 2025
Nothing matches.
Beliefs
Korrents What they believe 16 beliefs — each backed by an exact quote.
Each is a — compiled by korrents.com, not by them: the one-line wordings are korrents', the quotes are theirs.
Recent
Software teams that do not release software regularly are broken teams.
Software teams that don't release software are broken software teams.
If it hurts, do it more! Said 22 Sept 2026
A team that releases infrequently gets worse at releasing over time.
But perhaps most obviously, when you don't release often, your team gets worse at releasing.
If it hurts, do it more! Said 22 Sept 2026
Performance management should be a continuous, proactive process built into regular one-to-one meetings, not something that only happens when things go wrong.
Performance management is often associated with something going wrong, but it should be a continuous process, conducted in regular one-to-one meetings where short-, medium- and long-term goals are set and assessed, feedback is given (both ways!) and issues are addressed proactively.
If it hurts, do it more! Said 22 Sept 2026
Show 13 more
Rewriting mature C code from scratch is expensive, risky, and rarely produces clear improvements.
Rewrites have long been expensive and risky, and do not often materialise obvious improvements.
Investing in automated C to Rust translation Said 19 Aug 2026
Code that looks plausible is not evidence that it behaves the same as the program it was derived from.
plausible-looking output is not evidence that the translated program behaves like its source.
Investing in automated C to Rust translation Said 19 Aug 2026
AI-generated code should be treated as untrusted until there is evidence it preserves the intended behavior.
Generated code should be treated as untrusted until there is evidence that it preserves the desired behaviour.
Investing in automated C to Rust translation Said 19 Aug 2026
Linux system utilities, package managers, language runtimes and command-line tools have historically lacked a consistent way to check whether a TLS certificate has been revoked.
Firefox and Chromium have mature, browser-specific infrastructure for certificate revocation and related PKI data, but system utilities, package managers, language runtimes and many command-line tools have historically lacked a consistent mechanism for checking whether a publicly trusted TLS certificate has been revoked.
Try the `upki` preview for Ubuntu Said 1 Jul 2026
AI agents need contained, disposable workspaces with clear boundaries around host access
Agents need contained workspaces, clear boundaries around host access, and environments that can be torn down, recreated and shared without much ceremony.
Ubuntu Summit 26.04: Personal Highlights Said 2 Jun 2026
AI will not eliminate software engineering jobs, but engineers who are highly skilled with AI tools could displace those who are not.
AI is not going to take software engineering jobs at Canonical, but other software engineers who are highly competent with AI tools certainly could.
The future of AI in Ubuntu Said 27 Apr 2026
The capability gap between smaller, locally-run AI models and larger models will narrow over time as compute becomes more accessible.
There will always be bigger models and smaller models, and those with more compute will be able to get more done than those with less compute, but the gap will begin to close.
The future of AI in Ubuntu Said 27 Apr 2026
Delegating operational tasks to an AI agent does not introduce a fundamentally new category of risk, since the agent should be bound by the same constraints as existing production systems.
Delegating elements of Site Reliability Engineering to an agent does not necessarily introduce an entirely new class of risk; it should inherit the constraints of existing production systems.
The future of AI in Ubuntu Said 27 Apr 2026
Accurate time synchronization is a critical system function because it underlies cryptographic verification protocols like TLS.
Keeping accurate time is a critical system function, not least because it involves constant interaction with the internet and forms the basis for cryptographic verification in protocols such as Transport Layer Security (TLS).
ntpd-rs: it's about time! Said 26 Mar 2026
Passkey authentication is phishing-resistant and harder to brute-force than password-based authentication.
Passkeys are phishing-resistant and significantly more difficult to brute-force both from an academic and a practical standpoint
Brewlog: Coffee & Agents Said 10 Mar 2026
Code-style constraints for AI coding agents, such as function-length limits, are more reliably enforced as automated lints than by hoping the agent internalizes preferences.
If you care about such constraints (function length, etc.), encode them as lints rather than hoping the agent internalises your preferences.
Brewlog: Coffee & Agents Said 10 Mar 2026
A developer using AI coding tools remains responsible for reviewing the code they ship.
I think the key to useful output from these tools is that you remain the driver.
Brewlog: Coffee & Agents Said 10 Mar 2026
A correctly configured TLS server should send its intermediate certificates, not just its own certificate, to let clients chain back to a trusted root.
A correctly configured TLS server should not only send its own certificate, but also the intermediate certificates needed to chain back to a trusted root.
An update on upki Said 16 Feb 2026
What is a korrent?
A korrent is a belief a person has stated in their own words: one sentence stating the claim, backed by a quote and a source, kept at korrents.com.
Under a name here, the quoted block is what they actually said. The korrent beneath it is the claim those words support, in korrents' wording — tap it to see the record, its source, and who else holds it.
Nobody here wrote their own korrents. They are compiled from public statements, and a person can change their mind, which is recorded too.
Recommends rcmnd
rcmnd What they recommend 13 things — each backed by an exact quote.
Compiled by rcmnd.app, not by them: the quotes are theirs, and each links to the post it was copied from.
Recent
Loved Catppuccin
Absolutely everything is themed with Catppuccin Macchiato. Not only do I love the theme, but I love how pervasive it is across all the apps/tools I use
jnsgr.uk 27 Aug 2026
Mixed on Nextcloud
After having run a Nextcloud server for several years on a Droplet (using docker-compose), I ultimately realised that I was only using the file syncing capability, and wasn’t moving much data even then.
jnsgr.uk 27 Aug 2026
Uses Syncthing
I switched to using Syncthing to avoid the overhead of running a server instance, which works particularly well when combined with Tailscale.
jnsgr.uk 27 Aug 2026
Show 10 more
Loved YubiKey
One of my favourite things about the Yubikey is their ability to store TOTP codes.
jnsgr.uk 27 Aug 2026
Loved Tailscale
In 2021 I started using Tailscale in place of my hand-rolled Wireguard setup, and I haven’t looked back. It has to be one of my favourite pieces of technology ever.
jnsgr.uk 27 Aug 2026
Liked Roastguide
Finally, I’d like to thank the authors of Roastguide for the amazing work they’ve done on their app, the attention they pay to their community on Discord
jnsgr.uk 10 Mar 2026
Recommends LXD
Canonical’s LXD works out-of-the-box on Ubuntu, and is a great way to sandbox an agent into a disposable environment where the blast radius is limited should the agent make a mistake.
jnsgr.uk 20 Jan 2026
their own
Uses Starship
I switched to zsh around 2013 and have used it every day since: starting with the infamous Oh My Zsh, powerlevel9k, and subsequently powerlevel10k, and finally settling on Starship with a couple of zsh plugins such as zsh-autosuggestions and zsh-syntax-highlighting.
jnsgr.uk 24 Jun 2025
Liked Space Bar
I’ve grown to like Space Bar - it provides desktop workspaces akin to those in Sway/Hyprland which enabled me to use the muscle memory I’d developed over years.
jnsgr.uk 24 Jun 2025
Loved Tactile
I took inspiration from Omakub, which is where I discovered Tactile - a GNOME extension for tiling windows to a custom on-screen grid using the keyboard. I’ve found this to be invaluable, and easily the best window management experience for GNOME.
jnsgr.uk 24 Jun 2025
Liked Zellij
Finally: tmux, which I had been happily using for many years, but slowly collecting configuration for. I decided to give Zellij a try, and haven’t looked back.
jnsgr.uk 24 Jun 2025
Loved Helix
I’ve been really impressed - Helix is fast, the default features are great and I don’t anticipate returning to vim.
jnsgr.uk 24 Jun 2025
Loved Ghostty
I moved from Alacritty to Ghostty, which has been absolutely excellent. It’s wicked fast, it has my favourite colour scheme built in, and I just love the way @mitchellh has set the project up for success in the long term. It also fits in nicely with my minimally configured applications, with excellent defaults out of the box.
jnsgr.uk 24 Jun 2025
Where they publish
Blog jnsgr.uk His blog on Ubuntu, Nix, his homelab and engineering leadership.
Recent
- Write it yourself 1 Oct 2026 Gathering my thoughts on the use of LLMs for writing prose, and how I’ve changed my workflow following some feedback and reflection on my own writing.
- If it hurts, do it more! 22 Sept 2026 The phrase “if it hurts, do it more often” has bee applied variously to software teams and processes in the last fifteen years, and is a means to improve team processes and efficiency, but must be wielded ca…
- Investing in automated C to Rust translation 19 Aug 2026 Canonical is funding a 3-year PhD at the University of Bristol to investigate whether large, mature C codebases can be translated into safe, correct and maintainable Rust.
Show 17 more
- Try the `upki` preview for Ubuntu 1 Jul 2026 Development of the upki project, which aims to bring browser-grade cryptography primitives to low-level Linux system utilities, continues at pace. As of now, users of Ubuntu 26.04 LTS and the Ubuntu 26.10 development br…
- Ubuntu Summit 26.04: Personal Highlights 2 Jun 2026 I recently attended Ubuntu Summit 26.04, a twice-yearly showcase for innovative and ambitious work across Ubuntu, open source, and the wider technology ecosystem. This post covers some personal highlights, from the laun…
- The future of AI in Ubuntu 27 Apr 2026 AI tools are becoming 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 adoption This p…
- ntpd-rs: it's about time! 26 Mar 2026 Ubuntu is transitioning to the Rust-based ntpd-rs as its default time synchronization utility, replacing chrony, linuxptp, and gpsd to deliver a unified, memory-safe solution for NTP, NTS, and PTP. This move, in partner…
- Brewlog: Coffee & Agents 10 Mar 2026 I built a self-hosted coffee logging platform with Rust, Axum, SQLite and Datastar. The project was my most complex agentic coding effort to date, with Claude Code acting as my long‑lived pair‑programmer for almost all…
- An update on upki 16 Feb 2026 This post provides an update on the Canonical-supported upki project, which brings browser-grade Public Key Infrastructure to Linux through the efficient CRLite data format, with the core revocation engine now functiona…
- Developing with AI on Ubuntu 20 Jan 2026 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…
- Addressing Linux's Missing PKI Infrastructure 8 Dec 2025 Announcing work on upki, a universal tool for Linux and other Unix-like operating systems for handling X.509 certificate revocation lists in system utilities.
- Ubuntu Summit 25.10: Personal Highlights 2 Nov 2025 I recently had the privilege of attending the Ubuntu Summit 25.10 - an event hosted by Canonical to celebrate the release of Ubuntu 25.10, and provide a platform for open source projects from around the globe to showcas…
- Ubuntu Engineering in 2025: A Retrospective 9 Oct 2025 In February this year, I posted a manifesto to to modernise the design, build and release of Ubuntu. This week, we released Ubuntu 25.10 Questing Quokka, which was the first full engineering cycle under this new manifes…
- The Immutable Linux Paradox 1 Sept 2025 Immutable Linux distributions are gaining popularity due to their resilience and security, with mainstream operating systems adopting similar principles. This post explores how different Linux distributions achieve immu…
- Crafting Your Software 21 Jul 2025 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…
- Introducing Debcrafters 30 Jun 2025 Introducing Canonical’s new Debcrafters team, dedicated to maintaining the health of the Ubuntu Archive, but also to fostering collaboration among Linux distributions, including paid time to contribute elsewhere i…
- From NixOS to Ubuntu 24 Jun 2025 This year, I moved from NixOS to Ubuntu. This post outlines my experience through that process, as well as a new philosophy for how I manage my machine and configuration which embraces the defaults and more contemporary…
- Supercharging Ubuntu Releases: Monthly Snapshots & Automation 29 May 2025 We’re building a new, automated release system for Ubuntu to make releases more reliable, observable, and testable. To better inform the design of that process, we’re introducing monthly snapshot releases.
- Adopting sudo-rs By Default in Ubuntu 25.10 6 May 2025 A follow up to “Carefully But Purposefully Oxidising Ubuntu” in which I describe the plan to migrate to sudo-rs by default in Ubuntu 25.10. Additionally, I cover some updates on the progress with uutils core…
- Revitalising Ubuntu Project Documentation 1 Apr 2025 An article outlining my plan to revamp Ubuntu’s ‘project documentation’, illuminating the path for new contributors and enabling better distributed decision making.
Link verified 4 Sept 2026. Recent items update automatically from the channel.
GitHub jnsgruk His GitHub.
Recent
- zinc-k8s-operator — Charmed Operator for Zinc: a search engine that does full-text indexing. Zinc is a lightweight alternative to elasticsearch. 19 Oct 2026
- jnsgr.uk — My personal webpage and blog 19 Oct 2026
- brewlog — B{rew}log is a self-hosted coffee logging platform for tracking your roasters, roasts, brews, cafes and brewing gear. 14 Oct 2026
Show 17 more
- prism 7 Oct 2026
- pytouchlinesl — A Python API client for Roth's TouchlineSL API 2 Oct 2026
- gosherve — A simple HTTP file server with some basic URL shortening/redirect functionality 1 Oct 2026
- agendrr — A command-line utility to generate a markdown summary of events from Google Calendar. 1 Oct 2026
- releasegen — Generates a JSON report about Github and Launchpad releases for specified teams 1 Oct 2026
- calendar-tidy — A utility for bulk deleting events from a Google Calendar within a given date range, according to some (optional) filters. 1 Oct 2026
- newsagent — A custom LLM-based agent for drafting engineering newsletter content, written in Rust 29 Sept 2026
- dbx 17 Sept 2026
- icloudpd-snap — Snap package for the iCloud Photo Downloader 17 Aug 2026
- booklog — B{ook}log is a self-hosted, multi-user book tracking platform for avid readers. Each user maintains a personal library and wishlist, with per-user readings, stats, and timeline. 1 Aug 2026
- infra — Personal infrastructure 22 Jun 2026
- shellspectre — A Rust/eBPF utility for recording SSH/TTY/PTY sessions. Useful for tracing agent sessions and remote sessions on a Linux machine. Submission for a 1 day hackathon event at Canonical. 13 May 2026
- ghstat — A helper for gathering metrics from Greenhouse for Canonical Hiring Leads 16 Mar 2026
- theme-sync — Synchronize theme preferences across multiple terminal tools based on your GNOME appearance settings. 10 Mar 2026
- oxidizr — 🦀 Install modern Rust-based replacements of packages such as coreutils, findutils, diffutils and sudo, making them the default on an Ubuntu system 🦀 1 Oct 2025
- libations — A cocktail recipe store for consumption on your mobile device of choice! 11 Jun 2025
- servy — A simple HTTP file server with some basic URL shortening/redirect functionality (Rust edition) 11 Jun 2025
Link verified 4 Sept 2026. Recent items update automatically from the channel.
About the English under a post
Some people here publish in a language other than English. Where they do, this site shows a machine translation beneath the post, in this typeface — the site's own, not theirs.
The post itself is never changed, moved or hidden: what is set in the serif above is exactly what the person published, and it is what to quote them on. A translation can be wrong in ways that matter, especially about tone.
Only the post's own words are translated. A quoted post, a linked article and a belief on korrents.com are left in their original language.