Books


This is the current catalog of books. You'll find technical books on writing code for Apple platforms using Swift and SwiftUI as well as non-technical books on bread baking and grief.

These titles are available as eBooks from Gumroad.

The Edges and Swiftly Mysteries (Technical Books)


The Case of the Crimson Test Suite

Writing Swift Tests has never been easier or more enjoyable. Whether you've resisted testing before or you currently use XCTest, you're going to love the new Swift Testing framework.

Swift testing relies on macros to make it easy for you to write tests, group them in suites, and customize and collect tests with display names and tags. Your expectations will be simpler to write and the results will be easier to read. By default your tests run in parallel in random order so you'll discover dependencies you didn't know you had. Whether you're testing ordinary methods or methods that throw errors or are async (or both), Swift Testing makes it so much nicer and cleaner.

The Case of the Crimson Test Suite is a comprehensive and fast moving introduction to the Swift Testing framework.

The Case of the Vanishing Bodies

While everyone who writes Swift code will use Swift Macros, not everyone should write their own Swift Macros. This book will help you determine whether writing Swift Macros is for you.

You'll create both freestanding and attached macros and get a feel for when you should and shouldn't create them, which sort of macro you should create, and how to use SwiftSyntax to implement them. Your macros will accept parameters when appropriate and will always include tests. You'll even learn to create helpful diagnostics for your macros and even FixIts.

The Case of the Vanishing Bodies is an exploration of SwiftSyntax and ways to use Swift Macros to make the code you write clearer and cleaner.

The Mystery of the Mutating Mannequin

This book is an exploration of DataFlow in SwiftUI. We progress from a simple view with no state, to one that uses @State, to vies that share state with @Binding. Our data model grows and we use @ObservableObject and @Published, AsyncStreams, and @Observable objects (which, of course are different than @ObservableObjects).

Our example grows to where we need to manage an object graph. We begin with a manual solution, we go old school with Core Data and we finish by glancing into the future with SwiftData.

The Mystery of the Mutating Mannequin is a fun study of the various ways in which data flows in SwiftUI. Your apps will thank you for reading it.

The Curious Case of the Async Cafe

It's time to embrace modern concurrency in Swift and this book is a fast-paced tour of all of the components including async, await, Tasks, using continuations to replace and wrap delegates and closure-based APIs, AsyncSequences and AsyncStreams, structured concurrency using async let and Task Groups, and, of course, actors.

The Curious Case of the Async Cafe is a quirky comprehensive introduction to Swift's async/await and friends. It will change the way you code.

The Kickstart Series (Technical Books)


Functional Programming Kickstart

There's nothing natural about Functional Programming. It's awkward, it feels funny, ...

And then one day you start to see the world differently and you can't remember what was so difficult.

A Functional Programming Kickstart is a hands-on, fast-moving kickstart will provide you with a new set of skills that you can add to - not replace - your current favorite programming techniques.

SwiftUI Kickstart

SwiftUI is the future of iOS, Mac, AppleWatch and AppleTV development.

A SwiftUI Kickstart introduces experienced Swift programmers to this new User Interface framework.

A SwiftUI Kickstart introduces you to the light-weight, value-typed, declarative world of SwiftUI.

Swift Kickstart

A Swift Kickstart is the perfect book for the experienced developer who wants to get serious about learning the Swift programming language.

As the language matures and improves, this book changes to reflect the latest best practices and coding style. This second edition to the best-selling Swift introduction has been updated to Swift 6.

Code along with - A Swift Kickstart on using Xcode Playgrounds.

Combine

There was a time before async/await when Combine replaced all those techniques we've used for decades for passing information around in an iOS or macOS App asynchronously: Target-Action, callbacks, closures, delegates, notifications. As much as I love Combine, it you aren't already using it in your project, you should embrace the newer language level features in async/await.

A Combine Kickstart is a comprehensive introduction to Apple's Combine Framework. It will change the way you code.

Non-Technical Books


Bread Baking Kickstart

The amazing thing about bread baking is you do it a few minutes at a time during little breaks you take while working from home or doing other things. A Bread Baking Kickstart shows you how to master the techniques and formulas to produce great bread at home.

This book begins with pancakes, muffins and other quick breads before moving on to simple yeasted breads, pizza, focaccia, pita, and bagels. You'll use pre-ferments such as biga, poolish, and sourdough, learn to incorporate whole grains and more water, and learn a great over-all formula that you can adapt and make your own.

Dear Elena

Dear Elena is the first one hundred posts from the blog I began the day my daughter died suddenly - a week before her seventh birthday.

This is a book I wrote for myself that I've released after requests from so many parents asking that I do so.

Baker's Math

Bread bakers bake from formulas not recipes.

There are some basic calculations you need to be able to easily perform to use and create your own bread formulas.

Baker's Math is a short book that explains how to determine the right water temperature and how to scale your ingredients.