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.
Popular topics over the past 10+ years:
- 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
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
Edmung 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”?
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.
More blog posts in the archive