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!

Writing
- Introduction to my most important articles.
- Wiki with important concepts.
- 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
Emacs Carnival 2025-06: Take Two
I’m hosting this month’s Emacs Carnival. Submit your blog posts on the topic “Take Two” in June to participate!
My Procedure to Create New Zettelkasten Notes Inline
Apply wishful programming to reserve things you want to research or write about later, so that you can keep up the writing flow now.
No Open Office Hour On May 27th
Tuesday, May 27th I am out of office.
Microsoft Recall and Signal: When You Don't Worry About 3rd But 1st Party Spy Software
Signal Desktop for Windows blocks screenshots by default, using DRM protection tools, to not have the screen-scraping tool Recall silently record your conversations. At least that’s the effect that is promised.
Insert Cc and Bcc Mail Headers Conditionally in Emacs message-mode
Using a function to insert some mail composition headers only if they don’t already exist, because some mail servers won’t accept the email otherwise.
New Era of Small Software Shops
Big Tech is here to stay, but if they go full-LLM, full factory production, you will find care and craft and innovation elsewhere.
The Inlined Agile Software Craftsmanship Manifesto
What happens when you resolve the references in the four values of the Software Craftsmanship Manifesto to the corresponding values from the Agile Manifesto? You end up with this.
More blog posts in the archive