Home

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: 2024-06-12 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: 2022-05-25 Location: Underdog Devs Xcoders

Building a small Simon-style game with SwiftUI and async/await.

SwiftUI: Understanding State

Project (GitHub)

Date: 2022-04-28 Location: Underdog Devs Xcoders

State, observable models, substate, redraw behavior, and view structure.

Modern UICollectionViews

Slides (Keynote)

Date: 2022-02-24 Location: Underdog Devs Xcoders

Compositional layouts, diffable data sources, and modern collection view patterns.

Swift Scripting

Project (MyLibrary.zip)ShellProcess (GitHub)Slides (Keynote)

Date: 2022-01-20 Location: Underdog Devs Xcoders

Using Swift for lightweight scripts and command-line helpers.

Building Tic-Tac-Toe with SwiftUI

Project (GitHub)

Date: 2021-04-19 Location: Underdog Devs: Spring Into Swift

SwiftUI view construction, navigation, state, and single sources of truth.

How to Make a Living Creating Mobile Apps

Slides (Keynote)

Date: 2021-04-05 Location: Underdog Devs: Spring Into Swift

Career notes for aspiring iOS developers and independent app builders.

View Controller Composition

Slides (Keynote)

Date: 2020-02-19 Location: iOS Orlando

Breaking large UIKit view controllers into smaller composed pieces.

Programmatic UIKit Basics

Project (GitHub)

Date: 2020-01-15 Location: iOS Orlando

Building UIKit interfaces without storyboards or Interface Builder.

Combine in Action

Project (SimpleAppAndAPI.zip)

Date: 2019-11-20 Location: iOS Orlando

Using Combine with Timer, NotificationCenter, URLSession, and app data flow.

Tiny SwiftUI (on watchOS)

Project (GitHub)

Date: 2019-10-16 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: 2019-09-18 Location: iOS Orlando

Hashing, authentication, encryption, signatures, and public-key cryptography.

Swift Package Manager

Slides (Keynote)

Date: 2019-08-21 Location: iOS Orlando

SPM basics, Xcode integration, package setup, and package authoring.

Swifty Algorithms - Merge Sort

Project (MergeSort.swift)Slides (Keynote)

Date: 2019-06-19 Location: iOS Orlando

A Swift walkthrough of merge sort and generics.

Swifty Algorithms - Minimum Coin Change

Project (MinimumCoinChange.swift)

Date: 2019-04-17 Location: iOS Orlando

Greedy and dynamic-programming approaches to minimum coin change.

Swifty Algorithms - Radix Sort

Project (RadixSort.swift)Slides (Keynote)

Date: 2019-03-20 Location: iOS Orlando

A Swift walkthrough of radix sort.

Swifty Algorithms - Fibonacci

Project (Fibonacci.swift)

Date: 2019-02-20 Location: iOS Orlando

Iterating from a straightforward Fibonacci implementation to a more efficient one.

What’s New in Swift 5.0?

Slides (PDF)Slides (Keynote)

Date: 2019-01-23 Location: iOS Orlando

Swift 5.0 changes, ABI stability, Swift Evolution, and snapshot builds.