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
Table View Cells from Nib: How to Change the Blueprint Data to Affect New Cells
Deep dive into where the little cells come from, the old school way: Inspecting call stacks, probing default objects. The goal is to change how cells spawn from Nibs.
Dynamic Actor Isolation Can Help During the Transitional Phase
On your way to static actor isolation, adopt dynamic isolation practices to ease into the change.
Niki Tonsky: Hardest Problem in Computer Science: Centering Things
Vertical centering, baseline alignment, visual horizontal centering. Nothing is easy.
Always Be Changing Existing Code
Ever thought that your good idea from today will be the worst nightmare of your future self? The future not realized may actually be worse.
SwiftUI Kata: Recreating DebugInfo Viewer
Recreating the “DebugTest Info” app from the Mac OS X era from Technical Note TN2124 in SwiftUI with macOS Sonoma default styling.
Enable SwiftUI Button Click-Through for Inactive Windows on macOS
Buttons in macOS windows both activate a background window and perform the button action with one click. That so-called click-through behavior breaks with almost all SwiftUI button styles, including custom ones. Here is a fix.
Soulslike games are characterized by their high difficulty level, where success depends on learning from failures and mastering the mechanics. You know what else shares this?
More blog posts in the archive