The most shameful thing I did in the workplace was lie to a colleague. It was about ten years ago, I was a fresh-faced intern, and in the rush to deliver something I’d skipped the step of testing my work in staging1. It did not work. When deployed to productio…
Dave installs 1TB of RAM and uses it to explain how virtualization works, and what the difference between hypervisors, virtual machines, and docker containers are using real world examples.
src={alwaysHasBeen.src} alt="Always has been astronaut meme" / "Wait, the singularity is just humans freaking out?" "Always has been." Everyone in <span style={
In 2025, Khronos reached an impressive milestone: 25 years of member-driven open standards development. The graphics, compute, and media landscape looked wildly different in 2000, when Khronos was formed, than it does today. Era-defining technologies such as …
As autonomous AI agents are increasingly deployed in high-stakes environments, ensuring their safety and alignment with human values has become a paramount concern. Current safety benchmarks primarily evaluate whether agents refuse explicitly harmful instructi…
There’s something happening on the Web at the moment that almost feels like watching that old arcade game Space Invaders play out across our servers. Bots and scrapers marching in formation, attacking our servers wave after wave, systematically requesting page…
Background At home, I run a small 4 node k3s cluster on Dell Wyse 5070, primarily for the experience but also just for the fun of it. It houses all sorts of containers, but happily handles almost everything I throw at it, including Home Assistant, an MQTT inst…
You add a DNS record. The app says it’s wrong. You check it, fix a typo, try again. Still wrong. You wait. You try again. Still wrong. You triple check it. It looks correct.
The app is checking DNS records in a half-assed way.
If you’re building a product that…
This morning three colleagues and I published a story outlining how the federal government is using AI. Here’s how I used Claude Code to help.
Agencies are required to publish a spreadsheet of AI use cases. Unfortunately (and unsurprisingly) each agency posts …
That is the half-life of knowledge in computer science and software engineering - the time it takes for half of what you know to be replaced by better tools, approaches, or understanding. For an engineering degree earned in 1930, the half-life was roughly 35 y…
Here I would like to summarize my thoughts on what constitutes a perfect vulnerability management system, what frequently gets missed, and what elements we
What parts of my software should be tested? And how? And how do coding agents (e.g. Claude Code) change things? This is my attempt to succinctly explain how I think about these questions at the beginning of 2026 (software development is changing so quickly I f…
One year minus one week ago to the day I published an article
announcing the new Scheme implementation I was writing, scheme-rs.
Today I am excited to announce that scheme-rs has reached its first version,
0.1.0. You can check it out at it’s website (scheme-rs…
Opening a project's Git history and finding messages like “various fixes,” “update,” or “fixed something” can be a nightmare. That chaos makes it impossible for anyone to understand what actually happened in the code. This is where Conventional Commits come in…
When you start working on a real-time multiplayer game, the idea might seem simple, but it can escalate quickly. That happened when we started giving form to Rumble Racer with the Blyts team.