Fatbobman’s Swift Weekly #041 | My “Adventure” Journey to Hangzhou

fatbobman ( 东坡肘子)
5 min readJul 22, 2024

--

Weekly Comment

My “Adventure” Journey to Hangzhou

Last week, I embarked on an “adventure” journey to Hangzhou.

During the Let’s VisionOS event in Beijing this April, I noticed a tall boy, Ryan Zhu, helping out with various tasks alongside the event organizers. To my surprise, I learned that he was only 17 years old and still in his second year of high school. Ryan had traveled from Hangzhou not only to attend the event but also to learn about event organization.

Soon after, I came across news about an event being prepared by Ryan and his many friends — a hackathon called AdventureX 2024|Escape Plan, targeting young people aged 16–26. On their official website, this event was described as China’s first youth-oriented hackathon organized by students and the community. Through a podcast interview, I learned that most of the organizers were students, with a significant portion being middle school students. The more I learned, the more curious I became, but also increasingly concerned: Could such a team really support a 5-day event with hundreds of participants?

Upon receiving Ryan’s invitation, I gladly accepted to conduct a SwiftUI-related workshop, but this didn’t completely dispel my doubts.

However, the moment I stepped into the venue, all my worries vanished. Looking at everything around me, I couldn’t help but think: Perhaps only an event led and participated by young people could create such a vibrant and creative atmosphere.

The success of the event was evident in the state of each participant. Seeing the young faces, all fully focused and passionate, made me realize that perhaps only at this age can one so wholeheartedly immerse themselves in an adventure full of unknown challenges.

Let’s look forward to AdventureX 2025 together!

Don’t miss out on the latest updates and excellent articles about Swift, SwiftUI, Core Data, and SwiftData. Subscribe to Fatbobman’s Swift Weekly and receive weekly insights and valuable content directly to your inbox.

Originals

Developing an Infinite Four-Direction Scrollable Pager with SwiftUI

Fatbobman

In this article, we will analyze the key ideas in implementing an infinite four-way scrolling pagination component. discuss the points that need special attention, and candidly review the shortcomings of SwiftUI in coping with such scenarios. Through this case, we not only learn the specific technical implementation but also better understand how to break through the convention and solve problems creatively within the framework of SwiftUI.

Recent Selections

Analysis of System Crashes Caused by CrowdStrike

Recently, a technical mishap at cybersecurity firm CrowdStrike triggered a massive system crash globally, severely affecting key service sectors in multiple countries.

  • Zach Vorhies (former Google employee who disclosed Google’s “Machine Learning Fairness,” an AI system that censors and controls access to information) analyzed the root of the problem in his tweet. He pointed out that null pointer errors in C++ programming and a lack of effective quality control were the main reasons for the disaster. Vorhies suggested adopting modern programming languages like Rust to prevent such issues and called on Microsoft to improve its driver rollback strategies to prevent system-wide crashes caused by single driver issues. This event highlights the importance of programming language selection and quality control in the development of high-privilege system components.
  • Tavis Ormandy (Google vulnerability researcher) disagreed with Zach Vorhies’ views. In his tweet, he pointed out that the issue was not caused by null pointers, “This code is reading pointers from a table in a loop, and some of them are invalid. This could be due to errors in parsing a configuration file, leading to some entries being uninitialized.”

Swift 6

Alex Grebenyuk

In Swift 6, the Data Race Safety feature was supposed to help developers automatically identify and resolve difficult-to-track concurrency issues. However, Alex Grebenyuk expresses his concerns and doubts about this in his article. He notes that this feature effectively shifts a significant amount of work onto developers, especially when enabling Swift 6 mode turns previous warnings into compilation errors, potentially leading to thousands of errors when dealing with large codebases. Therefore, Alex suggests treating concurrency errors as warnings, making these warnings optional and not mandatorily tied to Swift 6 mode, and supporting continuous iterative improvements rather than prematurely locking in the design. He also criticizes the direction of Swift’s recent feature development, questioning whether these changes have genuinely enhanced development efficiency. The article calls on Apple to return to Swift’s original principles — keeping the language fast and simple and focusing on boosting developers’ productivity rather than increasing their workload. Alex’s analysis reflects some senior Swift developers’ expectations and concerns about the language’s future direction.

Discussions on Xcode 16

Michael Tsai

In this overview, Michael Tsai gathers diverse feedback from the developer community on Xcode 16, introduced at WWDC 2024. The new version brings highly anticipated features like AI-driven code auto-completion (Swift Assist) among others, sparking some controversy. Developers have mixed reviews about the AI functionalities, praising its context-aware capabilities but also criticizing it for producing hallucinatory code. The article also touches on other updates such as explicit building of Swift modules, EditorConfig support, as well as some legacy issue fixes and new compatibility issues that have arisen.

Chris Lawley’s In-Depth Interview About Smart Script and Math Notes

Christopher Lawley

Chris Lawley engages in an in-depth conversation with Apple’s Input Experience Engineering Manager Jenny Chen and System Experience Product Manager Ty Jordan, discussing two innovative features in iPadOS 18: Smart Script and Math Notes. Smart Script utilizes on-device machine learning to optimize the handwriting experience, making handwritten text comparable to typed text. Math Notes supports handwriting mathematical equations and instant calculations, also allowing for variable settings and chart creation. This interview not only discusses the technical principles and use cases of these features but also reveals details not covered in the WWDC keynote, showcasing significant advancements in iPadOS 18 in enhancing user efficiency and experience.

Mastering ScrollView in SwiftUI

Majid Jabrayilov

Following last year’s major update, Apple has again infused SwiftUI’s ScrollView with a host of new features at WWDC 2024, further enhancing its capabilities. Majid Jabrayilov explores these new features in several articles, providing developers with a comprehensive guide. The articles cover key concepts such as Scroll Offset, Scroll Geometry, Scroll Phases, and Scroll Visibility, aiming to help developers fully master the new functionalities of ScrollView to create smoother and more interactive scrolling experiences in SwiftUI applications.

If you found this weekly helpful or enjoyed reading it, consider making a donation to support my writing. Your contribution will help me continue creating valuable content for you.
Donate via Patreon, Buy Me aCoffee or PayPal.

Want to Connect?

@fatbobman on Twitte
https://mastodon.social/@fatbobman on Mastodon

--

--

fatbobman ( 东坡肘子)

Blogger | Sharing articles at https://fatbobman.com | Publisher of a weekly newsletter on Swift at http://https://weekly.fatbobman.com