Webring
Recent posts from blogs Johannes Knoll follows on web development, Linux, and open source.
What You Bring to AI Determines the Result
Harper Carroll came to AI education through a CS background at Stanford, machine learning engineering at Meta, and a brief stint at a small GPU compute startup in late 2023, where she noticed that almost no one understood how to fine-tune open source models. She started writing and teaching to help drive signups for the […]
Agent Memory
The following article originally appeared on Angie Jones’s LinkedIn page and is being republished here with the author’s permission. I’m fascinated by the concept of agent memory. LLMs are stateless by design, meaning they have no memory or awareness of past interactions. Each prompt you send to an LLM is treated as a completely isolated […]
Pledging Another $400,000 to the Zig Software Foundation
ClickHouse
There’s a particular kind of pressure that comes with maintaining software at the very bottom of someone else’s stack. ClickHouse lives in exactly that spot: roughly 1.5 million lines of mostly C++ and tens of millions of tests every single day. So what happens when you start introducing Rust into a codebase like that? Not as a rewrite, but linked into a C++ server with a CMake build process that has to be reproducible and FIPS compliant? In today’s episode, we get into the messy, interesting re
CSS Anchor Positioning: Tooltips and Dropdowns Without JavaScript Math
Use CSS Anchor Positioning to attach popovers, tooltips, and dropdowns to a trigger without getBoundingClientRect, scroll listeners, or layout JavaScript.
Rust Prevents Data Races, Not Race Conditions
Safe Rust eliminates all data races. What it does <strong>not</strong> do is prevent race conditions in the broader sense: deadlocks, livelocks, and logic bugs in your synchronization. What’s the difference? These two terms get used interchangeably all the time, even by experienced developers, so it’s worth writing down exactly what Rust promises and what it does not. <a href="#what-is-a-data-race">What Is a Data Race?</a> To quote the <a href="https://doc.rust-lang.org/nomicon/races.html">Rusto
Open Dialogs and Popovers Without JavaScript Using commandfor
Use HTML command and commandfor to control dialogs and popovers declaratively, with less JavaScript and native browser behavior.
CSS: Unavoidable Bad Parts
An ersatz CSS tutorial for people who need to style a web page, but aren't web developers. I am a wrong person to write this kind of thing, as I have neither the time, nor experience. I'd much rather read a book about this. Alas, I had to learn all this stuff from trawling MDN, so perhaps it is valuable to document what I have so far.
Index notation from hell – and how to make it more fun
Annoyed by 1000 indices in your calculation? Let's introduce a more playful notation based on shapes. The covariant derivative serves as an example.
TIL: Symlinking NixOS Dotfiles
The standard answer to managing dotfiles on NixOS is home-manager. I've never used it, due to two aesthetic and one practical objection:
Typst Thesis Starter
A reusable template repository for writing your thesis in Typst. Based on the design of my Physics Bachelor Thesis. Fully customizable and ready to use.
all the books in the library
Carl Sagan has a nice quote about books. “If I finish a book a week, I will read only a few thousand books in my lifetime, about a tenth of a percent of the contents of the greatest libraries of our time.
Ghostty Is Leaving GitHub
til uvx deno
deno is a modern Javascript runtime that can run Javascript and Typescript natively. But it is also something that's available to all Python users without the need to install node.