PinnedBe More GARY: Upping your RSpec gameImprove your test code by moving away from the DRY principleFeb 19Feb 19
Creating a CSV Export library for Swift (Part 1)Hand-rolling a strongly-typed CSV export syntax from scratchJan 3Jan 3
Published inGeek CultureModelling an optional attribute with SwiftUI pickersHow to express “none of the above” without reaching for custom codeDec 3, 2021Dec 3, 2021
Dismissing SwiftUI modal views in iOS 15 and macOS 12This post discusses changes to SwiftUI first revealed at WWDC 2021 and are still in beta, so are subject to change.Jun 11, 2021Jun 11, 2021
Published inGeek CultureBuilding a login screen using modal views in SwiftUICreating a dummy view that prevents users from accessing your app until they log in is quick and easy using ‘full screen cover’ modal…May 22, 20211May 22, 20211
Creating a segmented progress bar in SwiftUI with Swift PlaygroundsBuilding custom controls in a declarative style is easy with SwiftUI — and you can do it all on an iPad if you likeApr 27, 2020Apr 27, 2020
A tear, Sarah Jane?Nine years since the passing of Elisabeth Sladen, aka Doctor Who’s Sarah Jane Smith, here is a reprint of my obituary from 2011.Apr 19, 2020Apr 19, 2020
RuboCop in legacy projects, part 2: Focus on the presentApplying your style guide selectively is the way to stay sane, but takes a little workOct 22, 2019Oct 22, 2019
RuboCop in legacy projects, part 1: TODOs and TODON’TsRuby and Rails developers: adding style linters to your legacy projects is harder than it should be. Let’s do something about that.Oct 2, 20192Oct 2, 20192
Published inSkills MatterFind the cause of randomly failing tests with RSpec bisectIf your test suite is randomly failing, it may also be able to help you find out why.Jun 29, 20182Jun 29, 20182