Weekly note ✏️
OpenAI recently rolled back part of its latest GPT-4o update due to a subtle but serious issue: sycophancy—the tendency of the model to agree with users, even when they're wrong. You can read their full post here.
This isn’t just about getting the wrong cake recipe or a slightly off response in chat. It’s about the misalignment of goals: the model started prioritizing pleasing the user over providing the right answer. And that’s a huge problem.
Imagine an AI-generated line of code that silently breaks your app. Or worse—an AI response that reinforces a poor life decision, just because it’s trying to be agreeable. This isn’t just about speed anymore. It's about correctness, completeness, and responsibility.
Take CV polishing as an example. There are tons of AI-powered platforms that can help tailor your resume to specific roles—and they’re getting better. But full replacement of this process? Not yet.
Why? Because HR professionals still hold contextual and behavioral knowledge that AI can’t truly replicate. AI may interpret a situation with extrapolated logic, but HR often makes decisions based on nuance, human interaction patterns, and subtle red flags that go beyond keywords.
Until AI starts to genuinely understand—rather than just predict—the best we can do is use it as a tool, not a decision-maker.
Connect with the "Those Who Swift" team - Justas Markus & Anton Gubarenko 👋
Sponsor 🤝
Supercharge your GitHub Actions with fully managed M4 Pro runners from Cirrus Labs
The fastest Apple Silicon chips at a fixed monthly price.
Start your free 10-day trial plus 50% off your first month with code WHOSWIFT50OFF — exclusively for subscribers.
Swift Around the Web 🌐
Using equatable() to Avoid the NavigationLink Pre-Build Pitfall
Fatbobman highlights a performance issue in SwiftUI where NavigationLink
pre-builds destination views, potentially leading to unnecessary resource usage. By applying the .equatable()
modifier to views, developers can prevent this pre-building behavior, ensuring that destination views are constructed only when needed, thus optimizing performance.
Read more.📍
How a Single Line of Code Could Brick Your iPhone
Guilherme Rambo uncovers a vulnerability in iOS where misuse of the low-level Darwin notification system can cause system-wide disruptions. By exploiting this, a sandboxed app could trigger denial-of-service conditions, such as blocking system gestures or displaying persistent system alerts. Very interesting!
Read more.📍
Coding 👨💻
Keep Downloading with a Background Session
William Boles provides a comprehensive guide on implementing background downloads in iOS using URLSession
with a background configuration. He explains how to set up a BackgroundDownloadService
to manage downloads that continue even when the app is suspended or terminated.
Read more.📍
The Underground Wrapper Scene
Danny Bolella delves into the lesser-known world of SwiftUI wrapper libraries, highlighting how developers create custom abstractions to simplify complex UI components. These wrappers enhance functionality and streamline development, offering tailored solutions beyond the standard SwiftUI toolkit.
Read more.📍
Unlocking the Real Power of Swift 6’s Typed Throws with Error Chains
Cihat explores Swift 6's new typed throws
feature, which allows functions to declare specific error types they can throw. This enhancement enables more precise error handling and better compiler checks, leading to safer and more predictable code.
Read more.📍
Design 🎨
SwiftUI Label and Button Style View Modifiers
Keith Harrison discusses how to customize the appearance of labels and buttons in SwiftUI using built-in and custom styles. He demonstrates how to create reusable styles by conforming to the ButtonStyle
protocol.
Read more.📍
Other cool stuff 🧰
Complexity Part 3: Problem–Solution Mismatch
Dmitrii Ivanov continues to explore how software complexity often arises when solutions no longer align with the problems they aim to solve. This misalignment can result from initial design choices, evolving requirements, or overgeneralized patterns, leading to code that's harder to maintain and understand.
Read more.📍
Swift Design Patterns: Adapter
Natascha Fadeeva explains the Adapter design pattern in Swift, demonstrating how to bridge incompatible interfaces by wrapping existing classes. The article illustrates this with a practical example, showing how to adapt a third-party class to conform to a desired protocol, facilitating seamless integration without modifying the original code.
Read more.📍
AI 🤖
Qwen3 Release
Latest update of open-source Qwen3 from Alibaba Cloud makes it one of the most affordable and get’s the high ranks in tests. Still trying to achieve the results of competitors but for average tasks it fits well.
Read more.📍
Tutorials 📒
Handling App Lifecycle In SwiftUI With scenePhase
Learn how to monitor your SwiftUI app’s lifecycle—active, inactive, or background—using scenePhase
. This guide explains how to react to these changes and keep your app responsive and efficient. A practical resource for ensuring your app behaves correctly during state transitions.
Read more.📍
Video 🎥
Make a View Scrollable Only When Needed
Learn how to make a scrollable view with specific behaviour with latest iOS view modifiers
Watch here.📍
How to profile a SwiftUI app's performance?
Donny Wals have made a video explanation of his latest article about how to Profile SwiftUI views performance. For those who prefer video content.
Watch here.📍
Friends
Donny Walls is offering 15% off his practical bundle of all three books to our community members.
Yet, another thing…💬
Code-talker
We’ve get used to chat with code via AI-agent or IDE but now you can convert your repository on GitHub to a conversation-based website
Check here.📍
Thanks for reading Those Who Swift! Subscribe for free to receive new posts.