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
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?
Masterclass of Decoupling: Diablo II Resurrected
Diablo II Resurrected has 3D graphics, but it’s actually the same game, as far as you can take the meaning of “same” without running from the original discs.
Negate KeyPath
Here is a simple free function to invert boolean values for all you Swift KeyPath fans out there.
More blog posts in the archive