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
Percent-Encode HTML Form Values so That Spaces Become ‘%20’ Instead of ‘+’
You can use HTML forms to dispatch actions to custom macOS app URL schemes, but you need to encode the form data yourself to avoid surprises.
Global Day of Code Retreat 2024 Retrospective
Nov 9th, 2024 was Global Day of Code Retreat. I found that people are the actually hard thing in programming.
Running Unsigned Applications on macOS Sequoia
“Open Anyway” for unsigned apps is now located in settings.
Composition Over Inheritance in NSViews
I noticed that I’m writing some AppKit/UIKit view components in a composable way that reminds me of the opaque nature of SwiftUI.View-conforming types: hiding away the actual 1st party APIs, providing very little surface area.
Alex Ozun: Type-Driven Design with Swift (SwiftCraft 2024)
The talk “Type-Driven Design with Swift” by Alex Ozun covers interesting topics and presents type-based solutions to software development problems in an easy-to-grasp way.
Checklists Appreciated Under Stress
Giving birth to a child includes managing stressed-out hospital staff, too. Checklists would’ve helped along the way at every turn. And they still help me to get stuff done in an otherwise unorganized daily routine.
Typed Filters and callAsFunction
Combining three Swift features for the sake of expressivitiy: sum types aka enums, callAsFunction to introduce “callable” semantics, and type extensions to beautify call sites.
More blog posts in the archive