Recent articles

Jump to a random post

Git basics for iOS developers

Updated on: April 23, 2024

I’ll just say this right off the bat. There’s no such thing as git “for iOS Developers”. However, as iOS Developers we do make use of git. And that means that it makes a lot of sense to understand git, what it is, what it’s not, and most importantly how we can use it effectively […]

Read post

Making your SwiftData models Codable

Updated on: April 23, 2024

In a previous post, I explained how you can make your NSManagedObject subclasses codable. This was a somewhat tedious process that involves a bunch of manual work. Specifically because the most convenient way I’ve found wasn’t all that convenient. It’s easy to forget to set your managed object context on your decoder’s user info dictionary […]

Read post

SwiftUI’s Bindable property wrapper explained

Updated on: April 23, 2024

WIth the introduction of Xcode 15 beta and its corresponding beta OSses (I would say iOS 17 beta, but of course we also get macOS, iPadOS, and other betas…) Apple has introduced new state mangement tools for SwiftUI. One of these new tools is the @Bindable property wrapper. In an earlier post I explained that […]

Read post

What’s the difference between @Binding and @Bindable

Updated on: April 23, 2024

With iOS 17, macOS Sonoma and the other OSses from this year’s generation, Apple has made a couple of changes to how we work with data in SwiftUI. Mainly, Apple has introduced a Combine-free version of @ObservableObject and @StateObject which takes the shape of the @Observable macro which is part of a new package called […]

Read post

Tips and tricks for exploring a new codebase

Updated on: April 23, 2024

As a developer, joining a new project or company is often a daunting and scary task. You have to get aquatinted with not just a whole new team of people, but you also have to familiarize yourself with an entirely new codebase that might use new naming conventions, follows patterns that you’re not familiar with, […]

Read post

Understanding unstructured and detached tasks in Swift

Updated on: June 4, 2025

When you just start out with learning Swift Concurrency you’ll find that there are several ways to create new tasks. Roughly speaking, you can make one of three tasks in Swift: Unstructured Tasks Detached Tasks Child Tasks While it’s true that a detached task is also unstructured, in this post I will refer to the […]

Read post

Structured concurrency in Swift explained

Updated on: July 4, 2025

Swift’s async await syntax heavily relies on a concept called Structured Concurrency. Structured concurrency describes the relationship between tasks that perform concurrent work. Specifically, it defines the relationship between parent and child tasks in Swift. Structured Concurrency finds its roots in the fork join model which is a model that stems from the sixties. In […]

Read post

Setting up a simple local web socket server

Updated on: April 23, 2024

Every once in a while I find myself writing about or experimenting with web sockets. As an iOS developer, I’m not terribly familiar with setting up and programming servers that leverage web sockets beyond some toy projects in college. Regardless, I figured that since I have some posts that cover web sockets on my blog, […]

Read post

Expand your learning with my books

Practical Swift Concurrency header image

Learn everything you need to know about Swift Concurrency and how you can use it in your projects with Practical Swift Concurrency. It contains:

  • Eleven chapters worth of content.
  • Sample projects that use the code shown in the chapters.
  • Free updates for future iOS versions.

The book is available as a digital download for just $39.99!

Learn more