GNU Health

GNU Health as a social movement: GNU Health is a social project with technology behind. It’s about Social Medicine and delivering universal healthcare. It’s about social activism. One of the main reasons that led me to create GNU Health were the tremendous inequalities in access to healthcare. Over 20000 children die every day from preventable, […]

How to Check for Overlapping Intervals

Working with intervals is a common task in programming, whether you’re dealing with time ranges, scheduling problems, or geometric computations. A key insight when working with intervals is that checking for the absence of an overlap is often much simpler than checking for all the ways an overlap can occur. This post will first cover […]

Microsoft Amplifier

microsoft-amplifier

“I have more ideas than time to try them out” — The problem we’re solving Caution This project is a research demonstrator. It is in early development and may change significantly. Using permissive AI tools in your repository requires careful attention to security considerations and careful human supervision, and even then things can still go […]

Vibing a non-trivial Ghostty feature

vibing-a-non-trivial-ghostty-feature

I recently shipped a non-trivial Ghostty feature (unobtrusive macOS automatic updates) that was largely developed with AI. I’m regularly asked to share non-trivial examples of how I use AI and agentic coding tools and this felt like a golden opportunity to walk through my process with a well-scoped, non-trivial, real-world, shipping feature1. This post will […]

Firefox is the best mobile browser

firefox-is-the-best-mobile-browser

Firefox is an open source, private browser, one of the few mainstream browsers that supports extensions on mobile (Android) as powerful as the desktop ones (A lot of extensions have been ported), with seamless sync and a customizable homepage. Browser Extensions There are many extensions that have improved my browsing experience dramatically, by helping me […]

Random Numbers from Hard Problems: LWE Toy RNG

From the above definition of PRNG, we know that the goal of an RNG is to generate an output that is indistinguishable from truly random. The Decision LWE (DLWE) problem has exactly this property. This is the famous LWE equation [ b_i = a_i cdot s + e_i pmod q ] Where $s$ (secret vector) […]

Root cause analysis? You’re doing it wrong

The world, and the system2 Not necessarily a software system, but often in my case. we’re trying to analyse, is a complex web of causal factors that influence each other as well as the outcome. Most people ignore this complexity when trying to analyse accidents, e.g. by doing a root cause analysis. The root cause […]

Hackers leak Qantas data on 5 million customers after ransom deadline passes

hackers-leak-qantas-data-on-5-million-customers-after-ransom-deadline-passes

Hackers say they have leaked the personal records of 5 million Qantas customers on the dark web, after a ransom deadline set by the cybercriminals passed. The airline is one of more than 40 firms globally caught up in the hack, reported to contain up to 1 billion customer records. The hacker collective Scattered Lapsus$ […]

Vietnam Airlines Data Breach

vietnam-airlines-data-breach

What Happened In October 2025, data stolen from the Salesforce instances of multiple companies by a hacking group calling itself “Scattered LAPSUS$ Hunters” was publicly released. Among the affected organisations was Vietnam Airlines, which had 7.5M unique customer email addresses exposed following a breach of its Salesforce environment in June of that year. The compromised […]

HTML’s Best Kept Secret: The Output Tag

html’s-best-kept-secret:-the-output-tag

Every developer knows . It’s the workhorse of the web. But ? Most have never touched it. Some don’t even know it exists. That’s a shame, because it solves something we’ve been cobbling together with s and ARIA for years: dynamic results that are announced to screen readers by default. It’s been in the spec […]