Writing
Part of my life’s work is dedicated on how to become a good coder and independent software developer.
My approach is holistic: to be successful, it’s not enough to know how to code. That’s why I write about the life of an independent software developer, not just the day-to-day work.
- 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
Migrating from asdf to mise (en place)
Managing dev environments with mise is really rather nice.
I had a ten-year break from Emacs as a terminal-based text editor until I learned about what you could really do with this program. Then it stuck.
Getting Over Frustratingly New Topics (Swift Concurrency) with a Zettelkasten
I am learning to speak a new language: Swift Concurrency. It is densely packed with familiar-sounding concepts and details I am not aware of (yet). This is how I tackle it.
Books
A Pattern Language for Zettelkasten
A shared language for enthusiasts and experts to have an efficient way to communicate about thinking and writing from atomic notes with Zettelkasten.
- WIP with free chapters! #buildinginpublic

Make Money Outside the Mac App Store
Own your products and know your customers: sell outside the Mac App Store. In a few hours, you'll have in-app purchases, a trial mode, and piracy protection all set. The book includes fully functional sample projects and code ready to be copied into your app.
- 2nd edition: expanded to twice the features and details!
- PDF, EPUB, and Kindle download
- Lifetime updates

Exploring Mac App Development Strategies
Learn how to create an application from scratch or refactor existing code to keep your code maintainable: clean up Core Data and AppKit dependencies from the rest of your app.
- 4th, expanded edition
- PDF, EPUB, and Kindle download
- Lifetime updates