Observing Nested Properties in Combine
A Swift-native alternative to key-value observing.
Sharing Your Work
Lessons learned from launching Frame Grabber 1.1 and the feedback I received.
Fine-Scrubbing Videos with UISlider
A drop-in UISlider subclass that adds variable scrubbing speeds.
One Year on the App Store
Looking back on Frame Grabber, my first iOS app.
Status Bar Tester
Like ⌘Y in the Simulator but on your device.
Designing a map of playgrounds.
Introducing Trail Joggling
Inventing a new sport.
Visualizing My Photo Library
Spotting trends in 19k photos.
I Made An App
Publishing my first iOS app on the App Store.
5 Years of Home Screens
Putting together monthly iOS home screens of the last 5 years.
Plotting Weight on iOS
Plotting Apple Health samples with Shortcuts and Pythonista.
An iOS shortcut to compare emojis across platforms.
Alfred File Actions++
Bringing Alfred's File Actions to all apps.
Counting Mountain Summits with Strava
Figuring out how often I've climbed this one mountain.
This Site is Open Source
This site is now open source.
An iOS Workflow to tell me when it's going to be dark outside.
Speeding up Your Menu Bar
Finding menu bar items by searching.
Man Page for Alfred
A workflow that documents your workflows.
A CSS stylesheet to mute distracting links for focused reading.
Show All Hacker News Comments
A userscript to show the containing thread for a single comment page on Hacker News.
Automating lifting my mood with IFTTT, Workflow and cats.
Making Table of Contents for GitHub
Reflecting on the Table of Contents for GitHub browser extension.
Table of Contents for GitHub
A browser extension that adds a table of contents to GitHub readmes, wikis and gists.
Collapsing Hacker News Threads
A browser extension to collapse comments on Hacker News.
A Safari extension for Pinboard to bookmark the current website.
Unhijacking Google Search Results
A userscript to disable Google Search results link indirections.