Talks and Materials
Speaking
Talks and materials on Swift, SwiftUI, concurrency, architecture, cryptography, algorithms, and practical app development.
Swift Concurrency: Are We There Yet?
Slides (PDF) Slides (Keynote) Presentation (Vimeo)
Date: June 12, 2024
Location: One More Thing Conference (Cupertino, CA)
Swift Concurrency history, adoption strategy, Swift 6, and Apple-framework realities.
Building with SwiftUI and Concurrency
Slides (Keynote) Project (GitHub)
Date: May 25, 2022
Location: Underdog Devs Xcoders
Building a small Simon-style game with SwiftUI and async/await.
SwiftUI: Understanding State
Date: April 28, 2022
Location: Underdog Devs Xcoders
State, observable models, substate, redraw behavior, and view structure.
Modern UICollectionViews
Date: February 24, 2022
Location: Underdog Devs Xcoders
Compositional layouts, diffable data sources, and modern collection view patterns.
Swift Scripting
Project (MyLibrary.zip) ShellProcess (GitHub) Slides (Keynote)
Date: January 20, 2022
Location: Underdog Devs Xcoders
Using Swift for lightweight scripts and command-line helpers.
Building Tic-Tac-Toe with SwiftUI
Date: April 19, 2021
Location: Underdog Devs: Spring Into Swift
SwiftUI view construction, navigation, state, and single sources of truth.
How to Make a Living Creating Mobile Apps
Date: April 5, 2021
Location: Underdog Devs: Spring Into Swift
Career notes for aspiring iOS developers and independent app builders.
View Controller Composition
Date: February 19, 2020
Location: iOS Orlando
Breaking large UIKit view controllers into smaller composed pieces.
Programmatic UIKit Basics
Date: January 15, 2020
Location: iOS Orlando
Building UIKit interfaces without storyboards or Interface Builder.
Combine in Action
Date: November 20, 2019
Location: iOS Orlando
Using Combine with Timer, NotificationCenter, URLSession, and app data flow.
Tiny SwiftUI (on watchOS)
Date: October 16, 2019
Location: iOS Orlando
SwiftUI on watchOS, Digital Crown interactions, and WatchKit comparison points.
Apple CryptoKit: Encryption and Keys and Signatures, Oh My!
Project (CryptoKit.playground) Slides (Keynote)
Date: September 18, 2019
Location: iOS Orlando
Hashing, authentication, encryption, signatures, and public-key cryptography.
Swift Package Manager
Date: August 21, 2019
Location: iOS Orlando
SPM basics, Xcode integration, package setup, and package authoring.
Swifty Algorithms: Merge Sort
Project (MergeSort.swift) Slides (Keynote)
Date: June 19, 2019
Location: iOS Orlando
A Swift walkthrough of merge sort and generics.
Swifty Algorithms: Minimum Coin Change
Project (MinimumCoinChange.swift)
Date: April 17, 2019
Location: iOS Orlando
Greedy and dynamic-programming approaches to minimum coin change.
Swifty Algorithms: Radix Sort
Project (RadixSort.swift) Slides (Keynote)
Date: March 20, 2019
Location: iOS Orlando
A Swift walkthrough of radix sort.
Swifty Algorithms: Fibonacci
Date: February 20, 2019
Location: iOS Orlando
Iterating from a straightforward Fibonacci implementation to a more efficient one.
What’s New in Swift 5.0?
Date: January 23, 2019
Location: iOS Orlando
Swift 5.0 changes, ABI stability, Swift Evolution, and snapshot builds.