Donny Wals 👾
banner
donnywals.bsky.social
Donny Wals 👾
@donnywals.bsky.social
iOS Engineer, blogger and author at https://donnywals.com. Loves learning and sharing knowledge. -- #swift #ios #swiftlang #iosdev #solopreneur (he/him)
What are you thoughts on iterating Observable properties with the Observations object in Swift? I feel like it's easier to grok than withObservationTracking but the syntax is a bit verbose... how do you think Obs...
https://www.donnywals.com/using-observations-to-observe-observable-model-properties/
November 10, 2025 at 2:51 PM
Did you know that the ability to iterate arrays, sets, and dictionaries in Swift are a result of Swift's protocol oriented design?

Learn more in this week's post: https://www.donnywals.com/a-deep-dive-into-collections-sequences-and-iterators-in-swift/
November 6, 2025 at 11:12 AM
Can you spot the issue with this code? There's a memory leak that I've seen introduced in many codebases.

In this week's post I explain exactly what the leak is, and how you can avoid memory leaks in tasks
https://www.donnywals.com/comparing-lifecycle-management-for-async-sequences-and-publishers/
September 18, 2025 at 5:01 PM
Learn how to build this cool custom UI Component for iOS 26 using Liquid Glass 😱

www.donnywals.com/designing-cu...
July 1, 2025 at 6:53 PM
Today is your last chance to get 25% off on my books using code WWDC25! Don't miss out 😱

https://donnywals.gumroad.com
June 15, 2025 at 9:20 AM
Today is a good day for Practical Swift Concurrency 😁
June 13, 2025 at 5:44 PM
Practical Swift Concurrency will be updated for Swift 6.2, and will cover the changes to default actor isolation and inheritance in-depth. Buy now with 25% off and get the updated version for free 😁

https://gumroad.com/l/practical-swift-concurrency/wwdc25
June 13, 2025 at 1:47 PM
Happy last day of WWDC! Here's your reminder that you can still get 25% off on my books for a couple more days. Yes, they will be updated where needed for free, and yes the concurrency book will be updated for Swift 6.2 😁

https://donnywals.gumroad.com
June 13, 2025 at 8:48 AM
Felt like I didn't really do much today but turns out it was actually a rather productive day with lots of different small tasks done. 😅

Context switching makes things messy
June 11, 2025 at 4:01 PM
One of these buttons takes about 150ms to perform its work. The other takes more than 5 seconds.

Which one do you expect to be the fast one?
June 5, 2025 at 8:22 AM
WWDC is always a good time for me to reflect on my books, and which updates they might need. I started reviewing my books to see which should be updated regardless of WWDC.

Learn about my current plans, and my WWDC25 sale now: https://donnywals.gumroad.com/p/book-updates-and-wwdc-2025
June 3, 2025 at 10:04 AM
💰 WWDC 2025 is right around the corner so it's time for a big sale!

Get 25% off all my books and courses with discount code WWDC25 until June 15th!

https://donnywals.gumroad.com/
June 3, 2025 at 5:44 AM
So apparently, Wednesday has been my most productive day on average last month. Didn't expect that tbh.

I want to add more insights later but this is already pretty cool 😁

Want graphs like this too? Check out Chrona for Mac: https://apps.apple.com/us/app/chrona-enhanced-pomodoros/id6744358744
May 19, 2025 at 8:00 AM
I'm about to submit a small update for Chrona that provides some useful insights for your tracked pomodoros. Ever wondered which days / times of day were your best productivity-wise?

Chrona can help you figure that out 😁

https://apps.apple.com/us/app/chrona-enhanced-pomodoros/id6744358744
May 16, 2025 at 2:51 PM
Let's go ahead and make today a productive day. 6 timers with a 5 star ranking? Should be doable right? 💪

https://apps.apple.com/us/app/chrona-enhanced-pomodoros/id6744358744
May 2, 2025 at 7:26 AM
Time to get working and log some pomodoros! Goal for today is to have at least 6 5-star pomodoros tracked 💪

https://apps.apple.com/us/app/chrona-enhanced-pomodoros/id6744358744
April 28, 2025 at 7:07 AM
Great way to start the day! Ps. Check out the sneak preview of Maxine’s new design 🤩

I just completed a 00:37:26 workout and burned 290 kcal (360 total).
Workout tracked with Maxine: https://apps.apple.com/us/app/maxine-one-rep-max-tracker/id6615073254
April 24, 2025 at 7:22 AM
Expect some higher volume in posting today! 😄
April 9, 2025 at 4:55 AM
😱😱
April 8, 2025 at 6:19 PM
And now we hope that the review is swift and smooth! 🤞

Pretty cool to have my first of (at least) 4 apps submitted to the Mac App Store 😁. Especially because this is my very first Mac app
April 8, 2025 at 11:57 AM
I think it's about time I ship my first app of the year this week...

Track pomodoros, write down what you did, and review your productivity in graphs. It's a simple idea, but it's been working _really_ well for me these past few weeks. 😁

Just a few more small things to fix before I'm ready
April 7, 2025 at 6:32 PM
There's absolutely no way that I'm going to stick to my goal of launching my first quarterly project today, but I'm very happy with where it's at right now and I do want to get it archived and up on Gumroad soon. Just a couple of UI tweaks and bug fixes and it's what I'd call my MVP.
March 31, 2025 at 12:32 PM
💪💪

I just completed a 00:39:51 workout and burned 297 kcal (374 total).
Workout tracked with Maxine: https://apps.apple.com/us/app/maxine-one-rep-max-tracker/id6615073254
March 20, 2025 at 8:07 AM
Join me today for a deep dive into some of swift concurrency’s most complex topics 😎

www.eventbrite.nl/e/digging-in...
March 13, 2025 at 8:21 AM