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: 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

Project (GitHub)

Date: April 28, 2022
Location: Underdog Devs Xcoders

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

Modern UICollectionViews

Slides (Keynote)

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

Project (GitHub)

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

Slides (Keynote)

Date: April 5, 2021
Location: Underdog Devs: Spring Into Swift

Career notes for aspiring iOS developers and independent app builders.

View Controller Composition

Slides (Keynote)

Date: February 19, 2020
Location: iOS Orlando

Breaking large UIKit view controllers into smaller composed pieces.

Programmatic UIKit Basics

Project (GitHub)

Date: January 15, 2020
Location: iOS Orlando

Building UIKit interfaces without storyboards or Interface Builder.

Combine in Action

Project (SimpleAppAndAPI.zip)

Date: November 20, 2019
Location: iOS Orlando

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

Tiny SwiftUI (on watchOS)

Project (GitHub)

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

Slides (Keynote)

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

Project (Fibonacci.swift)

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?

Slides (PDF) Slides (Keynote)

Date: January 23, 2019
Location: iOS Orlando

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