More About Me
- My /now page shows what I am doing.
- Résumé/CV shows what I have been doing.
- Work with me on your projects!
Learn to Think and Code
- Introduction to my most important articles.
- Wiki with important concepts.
- Pattern Language of Zettelkasten is a programmer-friendly approach to work with knowledge.
- All About TextKit: I deal with text, and here's a collection of everything I figured out so far.
- Ultimate FastSpring Guide for Selling macOS Apps: I sell my macOS apps in my own store. Resources and tips to get you started.
Latest Blog Posts
Zettelkasten for Programmers: Documenting Confusing with Swift.SendableMetatype
I got terribly confused reading the API docs on th 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.
The People Who Got Me into Emacs
An end-of-the-year appreciation post for the Emacs community and the people who got me started.
More blog posts in the archive