26 September 2025

29 links · Friday

Fast UDP I/O for Firefox in Rust

Motivation Around 20% of Firefox’s HTTP traffic today uses HTTP/3, which runs over QUIC, which in turn runs over UDP. This translates to substantial UDP I/O activity. Firefox uses NSPR for most of its network I/O. When it comes to UDP I/O, NSPR only offers a l…

Pop!_OS 24.04 LTS Beta Download

Pop!_OS 24.04 LTS with the new COSMIC DE, developed by System76, is coming with many new features to explore and discover. Test out the beta as we fine-tune for release.

Web search · Ollama Blog

A new web search API is now available in Ollama. Ollama provides a generous free tier of web searches for individuals to use, and higher rate limits are available via Ollama’s cloud.

How Amgen Lost The PCSK9 Patent War

In 2014, Amgen sued Sanofi and Regeneron to claim ownership of an entire class of cholesterol drugs. Nine years later, the Supreme Court ruled against them - but they won where it mattered most.

Presentations are products: a Next.js approach to slide decks

I built our presentation system as a fully featured Next.js site, not a slide deck. At first it was for our own investor pitch, but it quickly became clear this approach works anywhere a company needs to tell its story: pitch decks, sales decks, product demos,…

Nested string interpolation in Groovy - Tom's thoughts

So we're going to go down a little rabbit hole regarding groovy string interpolation which I found odd enough to want to write up. First, some basics. Groovy uses string interpolation syntax similar to bash, which looks like this: String foo = 'I am a fancy st…

Notes on RL Environments

AI trends move fast. Writing about them makes sense if it’s your job. I’m picking this up because it’s escalated recently, and some discussion seems needed. This is me trying to make sense of an RL environment (and this understanding may evolve).

My Homelab Setup

Intro I always wanted to have a homelab, where I can host applications and tinker with things. That dream has slowly materialized over the years, and I would like to showcase it here. So currently, all my applications run on my Arch Linux machines. I am using …

Cornell: Stealing a door

Simon and I are sitting down. Some Angry O's I brought home earlier give me a good look and we crack some open. *Green Apple* has never tasted better. At that e

Parallel Apply of Large Transactions

Logical replication in PostgreSQL has steadily evolved since its introduction in version 10. In a previous blog post , I discussed how Postg...

Semantics Follows Frequency: Language in the Spectral Domain

When people speak about language, they often imagine that meaning sits inside words like a substance carried in a vessel. If only we could replace “false” words with “true” ones, communication woul…

The Invisible Number That Multiplies (or Divides) Your Social Interactions

What would you think if I told you that you have an invisible little number floating above your head that boosts or hurts the way you interact with others? TL;DR: If you want to maximize the positive impact of your interactions with others, focus first on impr…

Thinking is Doing

A few days ago I had all intent to add the combat system to my platform fighter game, but somehow, despite the effort, ended the workday with nothing to show...

The Box Model: A Framework for Role Clarity

I spent months as a Senior Staff Engineer before realizing nobody had clear and consistent expectations of what I should be doing. In leadership roles, everything becomes less defined. You’re responsible for shaping your own position and how you...

The Rise of the Operator -

The AI war between Anthropic and OpenAI have produced Codex via Claude Code, which is a coding tool so spectacular, that it is allowing teams, including ours, to increase ambition so far beyond what was previously possible that it is rapidly transforming the s…

Why The Double Dabble Algorithm Works

When learning to program, students are often asked to implement a function that converts an integer to a string. Usually, what they come up with (and what they are expected to come up with) is to iteratively use division by 10 to get the digits of the number o…