portfolio blog contact about
featherless
software design

2025

April

  • Performance Review: Claude 3.7 Sonnet


2024

November

  • Getting consistent temperature preferences on iOS

October

  • Buggy linear gradients in SwiftUI Charts

  • Reminder: Apple Watches use 32 bit pointers

September

  • SubscriptionStoreView crasher on watchOS 11.1

  • textSelection broken in List on iOS 18

August

  • Let’s build iOS 18’s navigation title card in SwiftUI

  • Everything you never thought you wanted to know about emoji flags

  • Subtitle Shenanigans in SwiftUI’s `Menu`

  • Hog Mobile

  • FB14804445: Swift 6 and SwiftUI’s `PasteButton`

  • End of an era

  • “Why aren’t the designers and engineers sitting together?”

July

  • LinkedIn’s loading animation

  • Threads Carousel pinch effect

  • Leads define culture

March

  • What do you think?


2016

April

  • Enumerate XCUIElementQuery in Swift

January

  • Retirement and shared code


2015

October

  • Minimal Swift 2.1 protocol conformance

  • Reading MIDI properties in Swift using ambiguous return types

  • Hashable CFString in Swift

  • Enumerate messages of a MIDIPacket using Swift reflection

  • MIDI messages as a Swift associated enum

  • Get current Xcode playground page name

  • Enumerating tuple values in Swift

  • Swift Dictionary: get with default

  • Enumerate MIDIPacketList in Swift: Part 2

  • How to access framework internals from a Swift Playground

  • Swift frameworks with conflicting symbols in Objective-C apps

  • Enumerate MIDIPacketList in Swift: Part 1


2011

October

  • Nimbus Chameleon


2010

October

  • Three20 is -insert expletive-

March

  • Hack Faster with Secret Features

January

  • Strips postmortem

Built with Slipstream

Copyright © 2002-2025 Jeff Verkoeyen