25 July 2025

24 links · Friday

LLM API Pricing Data - Price Per Token

Compare pricing for LLM APIs including OpenAI GPT-4, Anthropic Claude, Google Gemini and more. Updated daily with official pricing.

Celebrating 20 years of MDN | MDN Blog

MDN turns 20! Let's look at how we started, how MDN became the most trusted resource for web developers, the impact it's had on the open web, and yes, there's cake, too.

Visa and Mastercard: The Global Payment Duopoly

Explore one of the world's largest and most discussed duopolies, from the origins of the credit card to its combined market value of $850 billion.

Why Can’t We Just… Send an HTML Email

A few months ago my partner-in-love-and-in-crime came with a seemingly innocuous request, which went as follows: We have an event coming up, and I need to send out a press release via email. It’s simple enough - just a couple of images and a few blurbs of text…

RABBIT TEETH PART TWO

This is the follow-up to Rabbit Teeth & Misalignments. A clear and simple explanation, definitions, and progression.

testcontainers: improving E2E tests

In a previous post I showed some ways to improve tests by creating API mocks that we call. However, that’s not always enough, and we might need E2E tests (or acceptance tests), for example, to test integrations with databases, messaging services, or anything …

Efficient streaming of Markdown in the terminal

While working on Toad, it occurred to me there was a missing feature I would need. Namely streaming markdown. When talking to an LLM via an API, the Markdown doesn’t arrive all at once. Rather you get fragments of markdown (known as tokens) which should be app…

🐞 One of the Weirdest Bugs

In n8n, some workflows suddenly stopped working. ⚠️ They were still listed, but when I tried to access them — 404 Not Found. Yet, I could find them in the Postgres DB, so clearly the 404 was wrong. ⁉️ Digging Deeper 🕵️ * Only the workflows with a Gmail t…

FlouState | Unlock Your True Coding Potential

The intelligent focus timer that automatically categorizes your coding work. Understand your productivity, eliminate guesswork, and become a more effective developer.