I just released my latest book - this one is on Async coding in Swift. I can continue the pre-pub price of $20 until my other distributors release it later this week.

If you buy one book this year - well it should be something more personally meaningful - but if you buy, say, seven - this should definitely be one of them.

https://editorscut.gumroad.com/l/async

The Curious Case of the Async Cafe

This is it - your introduction to all you need to use async await and friends."I laughed, I cried, it moved me - eventually" - a fake Chat Bot review we made upSwift's solution to asynchronous and concurrent code is now part of the language itself. The new syntax is easier to read and follow the logical flow of what in the past was complicated, fragmented, or deeply nested. With async/await you'll focus on tasks instead of threads or even queues."The Curious Case of the Async Cafe" is a quirky fast-paced tour of the components of modern concurrency in Swift 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. Updated for Xcode 14 and Swift 5.7 and tested on Apple Silicon. ContentsChapter 1: Async, Await, and TaskWe BeginErrorsThe (too) Big SleepIntroducing async / awaitTaskAsync and ErrorsTestingBe CarefulChapter 2: ContinuationsThe Delegate PatternDelegate to ContinuationsMultiple ContinuationsUnsafe ContinuationsThrowing ContinuationsClosures and CallbacksAsync AlternativesAsync WrappersRefactoringsURLSession and Closures with ErrorsChapter 3: AsyncSequences and AsyncStreamsNotificationsIntroducing AsyncStreamSequences of NotificationsSendable and Actor BoundariesTransforming AsyncSequencesSequence PipelinesCombineAsyncStream ContinuationsContinuous DeliveryAsyncAlgorithmsChapter 4: Structured ConcurrencyUnstructured Async CallsAsync LetCancelling TasksTask ValuesUnstructured App Store SearchTaskGroupsSequences of TaskGroupsAsyncImageChapter 5: ActorsOn and Off the Main ActorShared Mutable StateActorsSuspending and ReentrancyNonisolated MembersCommunication between ActorsGlobal ActorsTaskLocalCreating Distributed ActorsUsing Distributed ActorsEpilogue

Gumroad
@dimsumthinking Almost done with the first chapter. Great read so far. I’m slowly progressing from knowing how to use async to why.
@ohennig thank you- that’s my goal
@dimsumthinking 23 days later I’m only on chapter three, but I had to go back to an old project and rewrite a lot of the code, based on what I’ve learned so far.
@ohennig As much as I love the sequences and streams material in Ch 3 - I think you're really going to like the structured concurrency stuff coming in Ch 4
@dimsumthinking Turns out the family didn’t want to starve, so I’m still on chapter 3, but I found a ”typo” in section 3.
The last } in the NotificationsReceiver deinit isn’t marked for deletion when we switch to Task.
I hope it’s ok to file a bug report this way. If not, please let me know.
Still think it’s a great book. 😊
@ohennig I'm always grateful to get corrections - I have a link in the book to https://github.com/editorscut/ec013async/issues as it makes it easier for me to track to make sure I've actually made the corrections. As to the other matter - family and food come before this book. I've checked and the book has been corrected for the next update. Thank you again
Issues · editorscut/ec013async

Contribute to editorscut/ec013async development by creating an account on GitHub.

GitHub
@dimsumthinking In that case I’ll feel proud that I could make a small “contribution”, less than two years in my swift journey.