xnusp: Learning the Modern XNU Kernel by Building a Kernel Introspection CLI
A hands-on exercise series for the iOS kernel: with tfp0 on a vphone VM, build one CLI that derives the KASLR slide, finds kernproc, dumps both syscall tables and walks the SPTM-protected page…
Coinbase is going mobile native too
Looks like Coinbase is also joining the native mobile app party too: Were taking Coinbase’s consumer trading app fully native, migrating off React Native and rebuilding in Swift and Kotlin! Two…
Pycon NL keynote: sustaining open source for the future - Georgi Ker
(One of my summaries of the 2026 one-day Pycon NL conference in Utrecht, NL). This year is the first community-organized Pycon NL: hurray! Most of us use open source as users . It is free! But all…
Pycon NL: what's inside an asyncio event loop? - Taras Kozlov
(One of my summaries of the 2026 one-day Pycon NL conference in Utrecht, NL). An asyncio event loop is defined by asyncio.AbstractEventLoop . That's a large API with more than 50 public methods, but…
Relevance-bench
Relevance-bench This is a follow up to my post on using Jev for pseudo-relevance judgments on TREC DL 2023. This experiment felt more useful as a little benchmark that I can extend. Check out the…
Zierra part 2
Zierra part 2 This is another exciting entry in my implementation of Tierra in Zig. You can follow along in the repo here.
I made my terminal look like a swamp (and it croaks)
I spend most of my day in herdr now. If you haven't run into it, it's a terminal workspace manager built for coding agents: workspaces, tabs, panes, and a sidebar that tells you which agent…
What Happens When the Document Is No Longer the Work?
I read Anthropic's post about Scion, its new source-control system, and ended up thinking about legal documents, which wasn't where I expected to go with an article about Git or maybe…
BudgetSWU: my latest pile of code
I made a little web app called BudgetSWU . It recommends decklists for a trading card game called Star Wars: Unlimited. I started playing SWU almost a year and a half ago because I had a dream I was…
GP-GL on the Graphtec CC100
GP-GL (Graphtec Plotter Graphics Language) is the command language of Graphtec plotters and cutters, and of the Silhouette machines built on them. The full language covers text, hatching, polar…
Differential storage for DuckDB
Add snapshots, time travel and writable branches to native DuckDB databases from SQL with duckdb-differential, and publish versions to S3.
NEW: Make New Playlist v1.0
A neat option for the Music app would be the ability to choose a default playlist view. Not exactly a new item on the Wish List. I’ve evolved a toleration of the default “as…
openXC7
Now you can install directly inside GateLab the openXC7 toolchain for supporting the Xilinx 7 family. It even supports devices…
Proposed Events for Meetable
Meetable can now replace your Doodle polls! Meetable, my open source event listing website, now lets you propose an event with several possible dates/times. People vote on which one works for them,…
UPDATED: Tracks Without Embedded Artwork v4.1
Yer Boy left some old code in a script and it probably made you sad. So I fixed it in this update to last week’s update. This applet will examine the files of the tracks in the entire Music…
Lowercase Is a Mood, Now a Chrome Extension
A Chrome extension with one a/A switch that renders the site you are on in lowercase. Display-only, saved per site, no network requests.
The Bouncer's Dilemma: Jev, k-NN, and MLP for Comment Moderation
In my last post, I skipped training a spam classifier and used Jev instead. Here, I compare Jev with a neural network and k-NN built from thousands of labeled comments in the Jigsaw toxicity dataset:…
Corn Maze 2026
I launched the Corn Maze app for the Crow River Winery for 2026 (year 4) in September. There was no corn maze in 2025, but I’m happy to have it back this year.
Skill Issue: I Turned My Talks Into an Agent Skill
TL;DR I turned the way I build talks into an Agent Skill on top of Slidev: story first, slides second, puns throughout. Code is on GitHub. Warning: it has zero tolerance for boring slides and a very…
checktor v0.2.0 Released - Check Severity, Examples and Vignettes, and CI Reports
The checktor (Website, CRAN) package runs extra-CRAN diagnostic checks on R packages. It catches common submission issues that R CMD check does not flag. Version 0.2.0 is now on CRAN. This release…
Filtering and Sorting Without Re-querying: FilterListModel and SortListModel
Two more decorators in the GTK4 list stack: FilterListModel and SortListModel. What watch-items actually watches, why sorting watches nothing, and what a filter does to your selection.
Searching My Image Gallery by What the Pictures Show, With a 440M Model
Adding search-by-meaning to a homelab image gallery with Google's EmbeddingGemma 2: thumbnails embedded on a GPU, queries answered on a CPU, vectors in SQLite, and the three places the work actually…
My Relationship with the Rust Programming Language
computing My Relationship with the Rust Programming Language https://khleedril.org/blog/2026-10-14--rust.html khleedril.org/2026-10-14--rust Dale Mellor https://khleedril.org/dale-mellor 14th…
Give FeaturePolicy a config object for env vars and user flags
On Virtualtrails I check features through a Pundit policy. Views call feature?(:staff_tools), feature?(:secret_site), or feature?(:native_bridge, context: app), and FeaturePolicy has a method that…
Some room to play
.p-reo7734 .pagelayer-col-holder{padding: 10px} .p-reo7734 > .pagelayer-background-overlay{-webkit-transition: all 400ms !important; transition: all 400ms !important} .p-reo7734 .pagelayer-svg-top…
Commented on "Attending Vue Fes Japan"
Commented on Attending Vue Fes Japan
Rogallo v3.2.0
I've just bumped Rogallo to v3.2.0. This release has one small new feature and one wee bug fix. The new feature is something I found myself wanting a short while ago. I was copying some URIs and then…
ToyMaker Game Engine (2023 onwards)
ToyMaker is an open source, extensible, single-threaded 3D game engine written in C++ on top of SDL3 and OpenGL.
How Long Does It Take to Learn TDD? Longer Than You Think, And That's Fine
I always struggle to come up with a good answer when I’m asked how long it takes to learn Test-Driven Development. Even providing a rough estimate is very difficult. Test-Driven Development is…
Pytorch Code - Block by Block (AI/ML Guide for Biologists - (iiib))
This is a follow-up of my series on AI/ML for biologists. If you like to receive early information, please sign up here. In this part of the lesson, we will go over the Pytorch code for linear…
Making it easy to write a 9P server
I want to make it as easy to write a server for the 9P network file protocol as it is to write an HTTP server using frameworks like Flask or Express. Why 9P? Because Linux has native support for it,…
Golden age of software
By that I mean open source software. Yes, there are problems in this golden age namely that the gold isn't flowing to all the most vital projects. We need a large amount of money to be taken from…
TeX and LaTeX: Mathematics and Typesetting
TeX is a text formatting and markup language developed by D. Knuth in the late 1970s and early 1980s, which has become the de facto standard for document preparation in mathematics and certain areas…
AI and Software Craftsmanship
I remember a decade or two ago, people were talking about the idea of software as a craft, with apprenticeships, journeymen etc. This always struck a chord with me. A lot of the time, software (for…
Generating Operator Functions
In a previous post, I discussed the differences between push-based and pull-based customization in the context of trying to implement support for formatting and structured bindings. For those…
Cypress Test For Optional Data
Imagine you are building an online shopping site. Your goal is to build the best customer-to-customer site, similar to <a href="https://w
Introduction to SeaBIOS
SeaBIOS is an open-source implementation of a 16-bit x86 BIOS. The name is a pun: it is a BIOS written in C (instead of the traditional assembly). It is the firmware that QEMU and KVM run by default,…
The Decoherence Trap
Of all the forms of tech debt, decoherence is the worst. It compounds exponentially with a system's rate of change, and AI is now producing it faster than ever, leading us deeper and deeper into the…
Running DeepSeek V4 Flash on TPU v6
vLLM's TPU backend ran DeepSeek-V4-Flash only on TPU v7x. To bring it to v6e we decoded FP4 expert weights inside the Pallas grouped-matmul kernel with integer ops and fixed a prefix-caching crash.…
Durable Objects: one instance per name
With 1.18, a worker can export a class whose instances each have a name, their own storage and their own WebSockets. How it works in the runner, and what we found on the way.
Preventing port conflicts in git worktrees using directory hashing
Deterministic directory hashing calculates unique local port numbers from absolute filesystem paths, preventing port collisions in Git worktrees without manual configuration.
Adapting your app for iPhone Duo
iPhone Duo became the first folding iPhone providing us with two displays of different sizes and aspect ratios. This week, we will talk about adapting our apps to different screen sizes using simple…
Built-in Functions in Frml
Previous posts in this series introduced Frml , then explained how it checks simplar scalar code , handles contracts between functions , deals with loops , and checks arrays . This post shows how…
Anthropic's Scion is heavily inspired by Mononoke
It is important to provide credit. Update 2026-10-15: I wrote a followup to answer questions and concerns. Discuss on Hacker News or Lobsters . Here is Anthropic describing ( archive link ) yesterday…
Searching aerial imagery with DinoSats – Compressing Earth Embeddings, pt. 4
We made DinoSats, a web app for searching 380 km² of aerial imagery over San Diego by typing what you’re looking for. Type aircraft carrier and the USS Midway lights up, or try freeway to see the…
Red-Green-Refactor Moves Into the Harness
I’ve been wondering aloud whether red-green-refactor is becoming a memory. For developers over 35 or so, it was a hard-won lesson: write the failing test, see it fail, make it pass, tidy up. One day…
An Oracle for Coding Agents: Testing a Flutter Popover Against UIKit
popover 0.5 tests its Flutter code against outlines and frames recorded from UIKit and AppKit, so neither I nor a coding agent judges the shape by eye.