Posts from 2026
September 2026
Watch My EmacsConf Talk: Zettelkasten for Regular Emacs Hackers
The recording of my EmacsConf 2025 talk on building a thinking environment in Emacs, plus the Q&A and the script to follow along.
Reaching mastery has no clearly defined finish line, and in software crafting in particular, it is a ‘wicked’ environment because the rules and tools change under you all the time while everyone disagrees about what the goal is.
Hazel 6 is discounted 35% for the 20th birthday of this amazing little Mac helper!
June 2026
Lettera: A Refined Markdown Document Editor
Shiny Frog’s new Markdown editor for macOS goes into beta today. It’s like Bear, but for any file or folder on your computer. I’ve been lucky enough to help build it.
May 2026
Retelling Stories with Commit Diffs in My Head
Successful code changes where I don’t feel a lot of friction may boil down to being able to retell a story of small changes here and there in my head.
Swift Blog Carnival Roundup: Tiny Languages
Recap of the very first Swift Blog Carnival on the topic of Tiny Languages: six posts on task runners, DSLs, parsers, symbolic math, and grammar tools.
April 2026
CLI for Your Notes in The Archive – Automated Zettelkasten (Usage) for Programmers
Exposing your notes with a CLI can help LLM’s and you both to discover connections. The tool I wrote for The Archive essentially offers a YAML API for my Zettelkasten.
Counter Drift and Entropy with Kaizen
The answer to entropy in things we build, of getting worse over time and not better, always has been to stay vigilant and impose order, even as the order changes.
Swift Blog Carnival: Tiny Languages
The Swift Blog Carnival topic for April is open; it is about Tiny Languages. Read what a blog carnival is, why you should care, and how to participate!
March 2026
Emacs Mistakes and Misconceptions That Held Me Back in 2019
When I started to use Emacs, I was just an innocent, overwhelmed computer programmer searching for a way to manage tasks and projects. Look where this got me.
Use a computer to be fast, use a computer to exercise the mind.
Does Bad Code in Your Context Window Misalign LLM Recommendations?
Can you effectively poison the well from which you drink your agentic Kool-Aid with the legacy code of yesteryear?
Make the pi Coding Agent Identify the Model in Commits
Custom coding agents running different models can nevertheless identify themselves during git commits. With pi, you just need to ask.
Identify Codex CLI Git Commits for an Audit Trail
Make the OpenAI Codex CLI identify itself as the author of git commits for an audit trail.
FreeBSDKit: Swift Package to Write Capability-Aware FreeBSD Apps
FreeBSDKit is a Swift Package to e.g. work with FreeBSD Jails, kqueue, Capsicum sandboxing.
Zettelkasten Productivity: Books Written per Books Ingested
Edmund Gröpl reframes writing productivity: it is not the mere output of books-per-person. Instead we should ask the question “how many books have grown out of what I’ve read”?
February 2026
I want to get books on my Supernote and notes off it, so in my desperation I began to write scripts and make tools to help.
Emacs Complete: Feedback Loops in Emacs, Feedback Loops in Computing
If it is representable as text, it can be moved into Emacs. And if Emacs renders as text, it can be moved into other processes to interpret the result, like snapshot tests, e.g. for automated regression testing. The loop is fully closed.
Institutional Knowledge Is a River That Can Dry Up (Don’t Fire All Your Workers)
Fire all your workers because of the potential savings from using LLMs and you may end up choking your company to death.
Introducing quake-frame.el: My Take on a Terminal Visor, But Running Emacs
I used Claude Code to create an Emacs GUI window (frame) package. Press a key. Get Emacs. Press again. It’s gone.
Xcode 26 LLM Markdown Summaries Are Actually Useful for Humans
Xcode 26 has a couple of tech docs that are intended to help LLM’s generate modern solutions to coding problems in Swift, but that also contain valuable info for us human readers.
January 2026
Zettelkasten for Programmers: Documenting Confusing with Swift.SendableMetatype
I got terribly confused reading the API docs on the SendableMetatype protocol. Because I do not yet know the solution, I want to share how I store this in my Zettelkasten for future problem-solving and discussions.
Use clang API notes to Annotate C Header Files for Swifty Module Imports
Doug Gregor shows how to use clang to import a C library with header files that you don’t own in a way that produces very ergonomic Swift APIs with annotations in YAML files.
Auto-Mount Metal Toolchain Using a Launch Service Because Xcode 26 Cannot
Xcode 26 is incapable of compiling Metal shaders on my machine, so I need to help out to mount the appropriate toolchain with a Launch Service
Manually Mount the Metal Toolchain When Xcode Cannot
My computer suffers from Xcode not being able to access the Metal toolchain that is clearly installed on my system. I need to mount the disk image manually to fix this and make the CompileMetalFile error go away.
Emacs Carnival 2026-01: “This Year, I’ll …”
I’m hosting this month’s Emacs Carnival. Submit your blog posts on the topic “This Year, I’ll …”, Emacs-related new-year resolutions in January to participate.
Announcing the German Urban Sketchers Index
The unofficial Urban Sketchers Germany index got a webdesign, interactive map and filters to show the 85 groups that we now know of.