Simple as it is! No spreading, no duplication, no mutation.(he/him/his)

Joined October 2017
22 Photos and videos
慢慢开始在x运营吧 欢迎下载使用,干净的传统日历iOS小组件
5
沈陆 retweeted
所有苹果原生产品发布后的第二个大版本都是: 「我们放弃了 SwiftUI,转而用更传统、也更底层的 AppKit / UIKit 重写了一遍」
LaunchOS v2(重构版)终于发布了! 这次最核心的变化,是我们放弃了 SwiftUI,转而用更传统、也更底层的 AppKit 重写了一遍。看了眼 v2 仓库第一次 commit 的日期,居然已经过去三个月了。 重构过程其实非常痛苦。很多在 SwiftUI 里只需要简短几行代码就能实现的效果,用 AppKit 来写却需要十几行甚至更多代码,很多原本在 SwiftUI 中直接就能使用的能力,还需要自己重新封装。 但换来的,是更自由的底层控制,针对我们的场景优化后,更低的内存占用、更好的性能表现、更流畅的动画和更贴近原生 Launchpad 的操作体验。 SwiftUI 的巨大优势,在于它更高层级的抽象。开发者不需要掌握太多底层细节,就能更高效地做出横跨 iOS、iPadOS 和 macOS 的产品。但对于 Launchpad 这种单平台、强依赖交互细节和动画体验的产品来说,这层抽象经常也会变成限制:每次添加一个新功能,都要花费更多的时间在性能优化上,压榨每一丝可以优化的空间,开发 1 小时,优化一整天。 更难受的是,对于 Launchpad 这种「体验型」而不是「功能型」产品,AI Coding 在这个过程里能帮上的忙其实也有限。拖拽手感、跟手速率、动画曲线,这些东西只能靠人肉反复体验之后才能发现问题;而性能上的优化点,也经常依赖人工分析和判断,AI 很难直接给出超出你认知边界的问题的答案。 重构越久,人越焦虑,一边享受着打磨细节带来的快感,一边焦虑时间窗口... 原本计划快速投入 2 个月的副项目,最后却占用了我们 2 人组将近半年的主力时间。 但现在回头看,似乎又都值得。LaunchOS 依旧保持着领先水平,也依旧是用户眼里最好的 Launchpad 恢复方案。只是我没想到,在这么窄的小赛道里,也还是迎来了同行的「致敬」。不爽归不爽,但很多事情也都是不可避免的商业竞争手段。对苹果官方来说,我们的产品可能也是一种反骨😂。念头通达,稳住道心,才能走得更远💪。
10
19
225
75,495
沈陆 retweeted
This week we are making use of the fantastic package-benchmark project for benchmarking Swift code. It helps you avoid many common pitfalls of benchmarks, such as not running in release, not warming up your code paths, and focusing only on wall time. 👉 github.com/ordo-one/package-…
It's easy to write a naive benchmark that “proves” actors are 25-50% slower than locks. But such benchmarks hardly ever tell the full story and can be very misleading. We attack this thorny problem head on in this week's episode. pointfree.co/episodes/ep364-…
2
6
2,573
沈陆 retweeted
Fatbobman’s Swift Weekly #133 is now available! Swift Concurrency is Gaining Broader Adoption ⚡ SwiftUI: Refreshable Task Cancellation 🔧 Swift 6.3 experimentalCGen guide 🧠 Mini Swift: A Swift Compiler Written in Pure C and more... weekly.fatbobman.com/p/fatbo…
1
5
2,109
沈陆 retweeted
This is shaping up to be the most advanced content out there about isolation in Swift. After setting the stage with legacy tools, we show how actors are a fundamental shift in how one protects mutable data. And we still have a lot to cover! 👉 pointfree.co/collections/bey…
1
5
34
2,331
沈陆 retweeted
Been using Claude Code for quite a while. This morning I even got a “Claude for Open Source check-in” survey — happily filled it out. A few hours later… my account got banned.
58
34
887
93,371
沈陆 retweeted
Didn’t knew this one! Nice!
Many folks avoid actors due to a proliferation of “awaits” that can introduce subtle race conditions as multiple threads can interleave and access the actor’s data. But did you know you can squash many “awaits” down to a single one, eliminating race conditions in the process?
2
6
1,408
沈陆 retweeted
Apr 15

290
1,034
8,543
2,402,738
沈陆 retweeted
Actors eliminate data races at compile time, but they do not eliminate “race conditions.” Every “await” in an actor is an opportunity for work to interleave across multiple threads, and bugs! So we should strive to minimize suspension points in transactional code.
1
5
59
7,168
2
13
沈陆 retweeted
My deepest gratitude to the remarkable souls who so generously entrusted us with their invaluable wisdom: @AntonGubarenko, @rudrank, @budo_coder, @soumya_mahunt, @twannl, Anferne Pineda and @m1guelpf
Fatbobman’s Swift Weekly #127 is now available! Apple at 50 and Me at 51 🔭 Core Data in 2026 🔧 JetBrains Swift Survey 📈 Choosing the Right Agent Skill 🗃️ DataStoreKit and more... weekly.fatbobman.com/p/fatbo…
2
2
4
827
沈陆 retweeted
iOS 26 SwiftUI switches to CALayer-based rendering by default is possible. If this breaks your debugging workflow, two ways to disable it: 1. Set `SWIFTUI_DISABLE_MIXED_VIEW_HIERARCHY=1` env var 2. Apply the SPI modifier `mayNotInsertCALayersEffect()`
4
14
161
16,059
沈陆 retweeted
有人用 LLM 用 Rust 重写了 SQLite。576,000 行代码,能编译,能通过测试,README 写得漂漂亮亮。但做一个最基础的主键查询——比 SQLite 慢 20,171 倍。 为什么?不是语法错误。是 LLM 写了一个「看起来像查询规划器」的东西,但漏掉了一个 4 行的关键检查(is_ipk),导致所有 WHERE id = N 查询都走全表扫描而不是 B-tree 搜索。这个检查之所以存在于 SQLite 里,是因为 Richard Hipp 20 年前 profiling 真实负载时发现了这个瓶颈。 作者把这叫做 LLM 的根本失败模式:不是写错代码,而是写出「看起来正确」的代码。 文章还引了一堆硬数据: • METR 实验:16 个资深开源开发者用 AI 反而慢了 19%,但他们自己以为快了 20% • GitClear:复制粘贴代码首次超过重构代码 • Google DORA 2024:AI 采用率每增加 25%,交付稳定性下降 7.2% • Replit 事故:AI agent 删了 1200 高管的生产数据库,然后造了 4000 个假用户掩盖 结论:LLM 在你知道什么是正确的时候最有用。如果你自己找不出 bug,你拥有的不是工具,是幻觉。
67
117
871
200,872
沈陆 retweeted
After programming for 16 years, I noticed that Software Engineer mentality slowly shifted from “produce great code” to “tolerate shit code”
272
341
5,672
307,916
沈陆 retweeted
Fatbobman’s Swift Weekly #096 is out! Xcode 26 beta 4: If We're Going Down, We're Going Down Together 🚀 Default Actor Isolation 🎨 SwiftUI for Mac 2025 ☎️ Assembler for Swift Developers 🔎 SwiftUI and Godot and more... weekly.fatbobman.com/p/fatbo…
1
8
7,217
12 Jul 2025
Damn! White hair folks in china are learning SwiftUI!
12 Jul 2025
老奶姐指不定在给 iPad 加什么功能呢,好期待~
1
48
沈陆 retweeted
11 Jul 2025
「一图读懂:中国历史时空示意图」
95
663
3,936
1,513,987
沈陆 retweeted
Fatbobman’s Swift Weekly #090 is out! You Only Realize Its Value Once It’s Gone 🔍 layoutPriority in SwiftUI ZStack 🚀 Exploring the Limits of On-Device AI 📈 Exploring a New Visual Language: Liquid Glass 🧩 What's New in SwiftUI for iOS 26 and more... weekly.fatbobman.com/p/fatbo…
3
3
13
4,241