The Swift website provides nightly builds of the Swift compiler (called toolchains) for download. Building with a nightly compiler can be useful if you want to check if a bug has already been fixed on main, or if you want to experiment with upcoming language features such as Embedded Swift, as I’ve been doing lately. […]
Software engineering book recommendations The following is a list of software engineering books I’ve read that I felt had a strong and lasting positive impact on my career. It’s not a list of everything I enjoyed (that would be impossible to list down), but rather a special list of resources that taught/helped me so much […]
You may have noticed that the Swift compiler automatically treats the closure of a DispatchQueue.main.async call as @MainActor. In other words, we can call a main-actor-isolated function in the closure: import Dispatch @MainActor func mainActorFunc() { } DispatchQueue.main.async { // The compiler lets us call this because // it knows we’re on the main actor. […]
Have you ever seen “preachings” like these in the wild west of Twitter, Medium, and LinkedIn? “If you’re not using X in 2023 you’re an idiot!” “XYZ architecture is the only way to go!” “Doing X in Swift? Stop immediately!” Humans’ obsession with dividing things into groups is not unknown to psychology. The ability to […]
ChatGPT has become an important part of my daily software engineering work, so I thought it would be interesting to share what exactly I’ve been using it for in case you’re wondering how to use it to improve your productivity. Use-case 1: I don’t know what I’m looking for I find that Google tends to […]
Recently, at Sovrn, we had an AI Hackathon where we were encouraged to experiment with anything related to machine learning. The Hackathon yielded some fantastic projects from across the company. Everything from SQL query generators to chatbots that can answer questions about our products and other incredible work. I thought this would be a great […]
async/await in Swift was introduced with iOS 15, and I would guess that at this point you probably already know how to use it. But have you ever wondered how async/await works internally? Or maybe why it looks and behaves the way it does, or even why was it even introduced in the first place? […]
Performance problems can be rare in this era of blazing-fast iPhones, but chances are you’re still having to deal with them every once in a while. Classic performance issues such as scroll hitches are still very easy to introduce if you’re not careful about them, and when it happens, you’ll want to be properly equipped […]
If you landed at this article then it’s possible that you’re dealing with one of the most annoying things you can face as a developer: having to investigate an issue reported by your users that nobody seems to be able to reproduce internally. The topic of investigating crashes you can’t reproduce is something I’ve already […]
I previously wrote about JustTweak here. It’s the feature flagging mechanism we’ve been using at Just Eat Takeaway.com to power the iOS consumer apps since 2017. It’s proved to be very stable and powerful and it has evolved over time. Friends have heard me promoting it vehemently and some have integrated it with success and […]