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!
![Photo of Christian](/contact/profile-square.jpg)
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
A formal request for tips and tricks.
Pretty-Printing Variables, Objects, and Functions in JavaScriptCore
A JavaScript function for debugging that stringifies an object including its functions so you can evaluate the result again.
PSA: SwiftUI Button Click-Through Fixed in macOS 15
SwiftUI non-bordered button styles don't support click-through up to macOS 15, but are fixed with the upcoming macOS release.
Find yourself dealing with primitive value types a lot? There’s a term for that.
Logical Ranges and Character Ranges
Text editing is different from text inspection, and I believe I'm on the path towards a more expressive domain.
Embark: Display Buffer in Dedicated Side Window
Show any buffer in a side-window (aka a sidebar, but also potentially at the bottom) of an Emacs frame. Includes Embark key bindings to do this from a buffer list.
Create Journal Note For a Previous Day in denote.el
TLDR: Customize denote-prompts. The longer version shows you how to discover this based on the code on your own if you're in a similar situation.
More blog posts in the archive