--- title: 稻草人周刊 Vol.48 subtitle: 为什么本地优先应用没有流行起来? tags: - 计算机 - 软件 - 设计 - AI - 人际交往 - 游戏 - 隐私 categories: 稻草人周刊 date: 2025-09-29 10:41:00 draft: false toc: true banner: https://image.guhub.cn/uPic/2025/09/20250929-my-bed.jpeg endnotes: - 封面图自摄,设备为 iPhone 15 Pro - 封面上是我的床,换上了这周刚买的四件套 aliases: - /posts/weekly/48 --- {{< music cover="https://image.guhub.cn/uPic/2025/09/Artpop_cover.png" title="Venus" artist="Lady Gaga" apple="https://music.apple.com/cn/album/venus/1472266365?i=1472266531" spotify="https://open.spotify.com/track/3n3S5cH3IyaOswY2XSUGTS" netease="https://music.163.com/#/song?id=27896617" >}} 刚开始听 Lady Gaga 的时候不清楚为什么对 ARTPOP 的风格不太敢恭维,最近却突然想听,目前最喜欢的是这首和第一首《Aura》。 --- ## ↯ · 当下 - 读完了另一本讲自杀的小说《[维罗妮卡决定去死](/library/2025/维罗妮卡决定去死/)》,相比[上一本](/library/2025/十三封自杀告别信/)没有很喜欢,原因大概是这一本爹味太重了。 - 博客做了一些改动 - 废除了博客的[卡片](/cards/)分区,依然能够单独访问,但是不显示在标签页面和首页了,文中的卡片引用也被替换为了块引用。这么做的原因是我发现自己其实很少写卡片,一个卡片的大小其实也很难把一个概念讲清楚。一开始我把卡片定义为「个人词典」,希望标准化自己的用词,但这个效用也没有发挥出来。 - 现在点赞(献上心脏)之后能看到自己和其他人献上的心脏(有时是大脑)。 ![](https://image.guhub.cn/uPic/2025/09/I0zZBQ.jpg) - **移除了博客的 Umami 统计**,一方面保障访客的隐私,另一方面,个人博客其实不太需要分析用户行为,另外,每天总想着打开后台看博客的访问量总归会让我觉得有些焦虑。 - 调整了博客的一些标签和文章系列:现在「掏心」和其他原先未被归类的散文,都被归为「 [乱章](/categories/乱章/) 」这一个文章系列下了;添加了一个名为「 [人类观察日志](/categories/人类观察日志/) 」的新系列;移除和合并了一些不常用或不清晰的标签。 还给某些标签做了简略的分类: ![](https://image.guhub.cn/uPic/2025/09/cZOOsq.jpg) - 给新家添置了一个吧台,作为咖啡角,不想坐着的时候也很适合站立办公。 {{< gallery >}} ![](https://image.guhub.cn/uPic/2025/09/2025-09-26%2000.34.35.jpg) ![](https://image.guhub.cn/uPic/2025/09/2025-09-26%2000.34.46.jpg) {{}} ## ⋈︎ · 连接 ### 为什么本地优先应用没有流行起来? > [!note] 📜 > 文章链接: [Why Local-First Apps Haven’t Become Popular?](https://marcobambini.substack.com/p/why-local-first-apps-havent-become) 作者解释了本地优先 App 没有流行起来的原因:构建本地优先的应用就像维护一个分布式系统一样难。本地优先指的是所有数据都保存在本地,随后上传至云端,其他设备可以通过云端同步数据。本地优先意味着加载速度更快、数据更有保障,也比基于网络的应用更注重用户隐私。[^1] 随后作者解释了构建分布式系统的两大挑战,顺序不可靠(Unreliable Ordering)和冲突(Conflicts),并分别提出了解决方案:混合逻辑时钟(Hybrid Logical Clocks,HLCs)和无冲突重复数据类型(Conflict Free Replicated Data Types,CRDTs)。 简单来说,作者认为构建本地优先应用不应该使用请求队列[^2],应该合并各个设备的改动以保证一致性,使用行之有效的分布式系统技巧(HLCs 和 CRDTs)。 #### 我的观点 个人认为,本地优先意味着数据保存在本地,用户有更多的控制权,要迁移数据到别的软件也就更容易,让迁移变得困难可能是许多网络优先应用留住用户的方法。大部分网络优先应用会提供导出数据选项,但导出的数据格式一般都很难用。 另外,作者提出的数据同步的解决方案其实有些可疑,作者举了这样一个例子: > 设备 A:`balance += 20` > > 设备 B:`balance -= 20` > > `balance` 原来是 100,如果设备 B 后操作(通过 HLCs 比较顺序,而不是依赖不可靠的系统时间),就应该采用 B 的结果,将 `balance` 改为 80,忽略 A 的改动。 这很反直觉,因为很明显,A 和 B 都对 `balance` 进行了变更,应该把两次更改合并,先加 20 再减 20,也就是说 `balance` 应该还是 100。有关这点,评论区有另外两位读者也提出了相似的质疑。 > @Jacob Wright: > > your example with modifying balance shows how weak LWW is. If 2 clients change a balance by +20 and -20, you would *want* the result to be a net zero change. The most naive approach is to let the server decide the value by who arrived last. Your approach by adding a timestamp is slightly better. For a balance, you'd want a PN-Counter that captures increments and decrements so they can merge together. > @dries: > > This strategy doesn't take into account that peers will propose changes with different local states. Not only that, but some changes might be accumulative, i.e. add both changes (+20, -20), resulting in zero change. The balance example is not the best one. 作者似乎也没能把 HLCs 的原理讲明白,因为从作者举的例子来看,多台设备依然需要互相通信才能确定操作的先后顺序。评论区有人指出对于这种需求,应该使用基于区块链技术的方法来确定改动顺序。 简而言之,作者在这边文章里追求「简单有效」,但似乎有些简单过头,导致有些不可靠的地方。 #计算机 #软件 ### 算工智能 > [!note] 📜 > 文章链接: [Abundant Intelligence - Sam Altman](https://blog.samaltman.com/abundant-intelligence) Sam Altman 在 9 月 23 日发布的博客文章,标题是对 AI 这个缩略词的重新定义,把 Artificial(人工的)换成了 Abundant(资源丰富的),这里的资源指代算力资源。Sam Altman 在这篇文章里表达的观点很简单,他认为人工智能的发展速度不应该被基础设施限制住,所以他们接下来的几个月会计划构建能够快速生产大量 AI 基础设施(AI infrastructure)的工厂。 另外,Sam Altman 在开头提到使用 AI 在未来可能会成为一项基本人权,我不知道该如何评价。 #AI ### 总是邀请安娜 > [!note] 📜 > 文章链接: [Always invite Anna](https://sharif.io/anna-alexei) 作者写道自己在大学的第一个学期经常在周五晚上和同学出去聚会,但有一个叫做 Anna 的女生总是拒绝参加,因为她把大多数时间都花在学习上了。最后,大家都不再想着去邀请她了,只有 Alexei 依然坚持。Alexei 解释说他知道 Anna 会拒绝,但他一直这样做是为了让 Anna 感觉自己是团体的一份子。几年之后,作者又遇见了 Anna,说起那段经历时,她说那个时候她非常想念家人,而朋友们每周五晚上都来敲她的门让她感到自己在远离家乡的地方也有了归属。 有时候那些最需要收到邀请的人反而是那些总是会拒绝的人。 #### 我的观点 我没 Alexei 那么心善,如果是现在的我,我会察觉到 Anna 可能需要受到这种关照,但我会无视自己的同理心,然后通过言语或行动暗示 Anna 应该试着自己找到归属,而不是等着别人来敲她的门。我可能还挺坏的,在察觉到别人的情绪时会选择不去理会这种察觉,而是观察对方会以何种方式处理自己的情绪,这对我来说还挺有意思的。 #人际交往 ### 个性化隐私的广告边界 > [!note] 📜 > 文章链接:[个性化广告的隐私边界(上) - 少数派](https://sspai.com/post/102268) 文章解释了信息时代有关「隐私」的三个误区,区分了隐私、安全和匿名这三个容易被混淆的概念。文章写得很清晰,值得一读。 #### 我的观点 最近对隐私这个话题有些感兴趣,也借着*被 macOS 26 的新版 Safari 丑到所以换了别的浏览器*[^3]的机会,开始思考如何通过插件、上网习惯等手段,尽可能保证自己的隐私不受侵犯。此外,思考过后,我还把博客的 Web 统计移除了,因为我实际上不需要分析用户行为,而使用脚本跟踪访客本质上也是我讨厌的行为。 我现在的做法是使用 Helium 浏览器和 uBlock Origin 插件,尽可能避开需要登录才能使用的网站,以及一个终极奥义——少上网,多出门。 #隐私 ### 一起玩桌游 > [!note] 📜 > 文章链接:[一起坐下玩桌游 \| Bluepikachu](https://bluepika.life/blog/play-boardgames-together) 作者分享了他对于桌游的认识,澄清了一些关于桌游的常见误区,推荐了一些桌游,我还尤其喜欢最后一段对于《狼人》这个经典桌游的评价。 #### 我的观点 我也很喜欢桌游,但我想许多真正热爱游戏(无论是电子游戏还是桌面游戏)的人都和我有同样的烦恼,缺少一个最重要的游戏配置——和自己一起玩游戏的人。 每次去桌游店玩到好玩的游戏都会记下名字,放进收藏夹里,可每次都没下单。贵不是主要的问题,主要的问题是花了很多钱却找不到人一起来玩。我现在放在家里的桌游就只有两副 UNO,一副是和宝可梦联名的,另一副是比较新的「SHOW 'EM NO MERCY」版本,即使是这样经典易上手的桌游,我也很少有机会拿出来和别人一起玩。我想这是因为我比较独吧。 还在教培机构兼职的时候有和学生一起去桌游店玩,因为带了一个班的学生一起,所以桌上一共有十个人,可供选择的游戏就很少。即使是推荐了游戏,也会因为沟通问题(以及班级这种集体里真的很容易出现性格不合的一两对人)导致游玩体验不佳。作者在文章里提到桌游的最佳人数是 4~8 人,我想的确是这样。我想如果是和朋友一起玩,我应该只会组 4 个人的局。[^4] 文章最后关于《狼人》的讨论很有意思,我虽然不是很老的桌游玩家,也的确是被这种我不太喜欢的新人老人的风气带起来的,我依然对目前《狼人》玩家群体里的各种黑话和套路感到不适,以及被首刀和等待发言真的很容易把人憋坏! #游戏 --- ## ⁂ · 星群 ### Helium 一个注重去除干扰、专注隐私的开源浏览器,基于 Chromium,内置 uBlock Origin,主打「不把任何数据在用户不知情的情况下上传到云端」。一些设计也很有巧思,功能也不臃肿,很精致的感觉。目前 Helium 还在处于 Beta 测试阶段。 {{< gallery >}} ![](https://image.guhub.cn/uPic/2025/09/PixPin_2025-09-26_00-48-27_.jpeg "官网的标语是「无干扰互联网」") ![](https://image.guhub.cn/uPic/2025/09/PixPin_2025-09-26_00-45-06_.jpeg "选择默认搜索引擎时,Helium 专门标注了这些搜索引擎会把你的数据上传到什么地方,并默认选择 DuckDuckGo。") ![](https://image.guhub.cn/uPic/2025/09/PixPin_2025-09-26_00-52-35_.jpeg "很好用的 !bang 功能,可以在地址栏快速查询 Wikipedia、提问 ChatGPT 等等。") ![](https://image.guhub.cn/uPic/2025/09/PixPin_2025-09-26_00-54-40_.jpeg "标签组和分栏视图,该有的都有。") {{}} 访问:[Helium Browser](https://helium.computer) ### Messenger 一个基于 WebGL 的游戏,画风很喜欢,右上角有任务清单,整体上是开放世界游戏。玩家可以换装,四处探索,还可以看到其他的玩家在地图上走动。我只是简单逛了一下,还没有认真玩这款游戏,但我已经喜欢上了。 ![](https://image.guhub.cn/uPic/2025/09/PZINy8.jpg) ![](https://image.guhub.cn/uPic/2025/09/nH5I5S.jpg) 访问: [Messenger](https://messenger.abeto.co/) [^1]: 不过我个人觉得有待商榷,因为同步数据时也需要在网络中传输数据,最保护隐私的做法是完全断开网络连接,但这显然不现实。 [^2]: 即把离线的更改都保存起来,等有网络连接时再逐个请求云端提交改动。 [^3]: Apple 你还我紧凑模式!😭 [^4]: 另一个原因是上次去桌游店想玩《璀璨宝石》,结果被告知这个游戏的最高人数是 4 人——可是我真的很想玩《璀璨宝石》!