2026-03-23

21 篇热帖

PC Gamer recommends RSS readers in a 37mb article that just keeps downloading

PC Gamer 网站体验及 RSS 阅读器推荐 (PC Gamer 网站体验与 RSS 阅读器推荐)

这篇文章主要讨论了当前 PC Gamer 网站的糟糕用户体验,以及使用 RSS 阅读器来规避这种情况的建议。

主要问题:

  • 过多的广告干扰: 访问 PC Gamer 网站时,用户首先会遇到弹窗通知、订阅邮件弹窗以及至少五个可见的广告,严重阻碍了阅读体验。文章内容下方也同样存在五个广告。
  • 巨大的网页体积: 初始加载网页体积高达 37MB。更令人担忧的是,在撰写文章的五分钟内,网站已经下载了近 500MB 的新广告数据。
  • 带宽消耗过大: 网站大量下载广告导致用户带宽消耗巨大,影响网络体验。

解决方案:

文章建议使用 RSS 阅读器来规避这些问题,因为它们可以有效地过滤掉网站上的广告和不必要的内容,提供更纯粹的阅读体验。

推荐的 RSS 阅读器:

文章推荐了以下几款 RSS 阅读器:

  • NetNewsWire
  • Unread
  • Current
  • Reeder

总而言之,文章旨在提醒读者,现代网站的广告和臃肿设计已经严重影响了用户体验,并推荐使用 RSS 阅读器作为一种更高效、更纯粹的获取信息方式。

Migrating to the EU

迁移至欧盟:服务和订阅转移的报告

发布于 2026-03-22

本文档记录了作者将众多服务和订阅从非欧盟国家迁移至欧盟或更换为欧洲服务提供商的过程,主要出于对当前全球政治局势的考量以及对欧盟更友好的数据保护法规的追求。以下是服务迁移的详细情况:

1. 邮件 (Mail)

  • 原服务: Fastmail (每月 10 欧元,适用于两个账户,支持无限自定域名,可设置“万能接收地址”和从任何地址发送邮件)。
  • 迁移原因: 寻找提供类似功能且位于欧盟的替代方案。
  • 新服务: Uberspace (采用“随你定价”模式,提供 Shell 账户、网页托管、邮件托管等服务)。该服务允许使用任意数量的自定域名用于网页和邮件,并支持从任何发件人地址发送邮件。
  • 客户端: 由于 Uberspace 不提供专用邮件客户端,作者现在使用 Thunderbird for Android。

2. 日历 (Calendar)

  • 原方案: Uberspace 不提供内置日历解决方案,作者尝试了多种 CalDAV 服务器,但最终选择在 Uberspace Asteroid 上安装 NextCloud。
  • 客户端: 桌面端使用 Thunderbird,Android 端使用 DAVx5 和 Fossil Calendar。

3. 网站 (Web)

  • 原服务: Hetzner 的 VPS。
  • 迁移原因: 迁移至 Uberspace 以整合邮件和日历服务。
  • 迁移过程: 由于原网站使用 SSI (Server Side Includes) 技术,需要调整 HTML 代码以适应 Uberspace 使用的 Apache 服务器。

4. 域名与 DNS (Domains and DNS)

  • 原服务: Namecheap (价格合理,域名选择丰富,DNS 管理功能完善,支持及时)。
  • 迁移原因: 寻找位于欧盟的替代服务商。
  • 新服务: hosting.de (价格、评价、德国本地化以及 .is 域名可用性是选择的关键)。

5. Git 代码仓库 (Git)

  • 原服务: GitHub (以及自托管的 Gitea 实例)。
  • 迁移原因: 寻求更可靠的选择。
  • 新服务: Codeberg (德国非盈利组织,提供 Git 代码托管服务)。

6. VPN

  • 服务: Mullvad (每月 5 欧元,瑞典公司,不记录用户数据,无需注册)。未进行更改,作者对其服务表示满意。

7. Android 设备与 Google

  • 原情况: 使用工作手机进行个人用途,Pixel 6 手机,但无法安装自定义 ROM 或使用 F-Droid 等替代应用商店。
  • 新设备: Pixel 9a,安装了 Graphene OS,同时保留了 Google Play Store 以安装特定应用。
  • 应用商店: 可以现在使用 F-Droid 等替代应用商店,安装例如 NewPipe 等应用。

8. Chromebook

  • 原情况: 使用 Chromebook 进行休闲娱乐,因其价格便宜、电池续航长、快速唤醒等特点。
  • 替代方案: 购买二手 MacBook Air (A1465),安装 MX Linux with Fluxbox,用于浏览和观看视频。

总而言之,作者逐步将服务迁移至欧盟,以提升数据安全性和隐私保护,并寻找性价比更高的欧洲服务提供商。 这是一份临时报告,作者将根据后续迁移情况进行更新。

OpenClaw is a security nightmare dressed up as a daydream

OpenClaw:梦想与噩梦

引言

本文探讨了OpenClaw,一款由人工智能模型驱动的自主代理,它承诺实现自动化未来,但同时也伴随着安全隐患。在GPT-4发布后,OpenClaw和BabyAGI曾引发广泛讨论,但最初的炒作热度很快消退。如今,凭借更强大的模型(Opus)和成熟的生态系统,OpenClaw再次成为焦点,甚至被OpenAI收购了其创始人Peter Steinberger。然而,这种进步是以安全为代价的。

OpenClaw的愿景:自动化未来

OpenClaw旨在实现一个自动化程度极高的未来,例如:自动清理收件箱、安排会议、预订航班,并控制智能家居设备。它能够与本地文件系统、终端、浏览器、Gmail、Slack,甚至家庭自动化系统交互。Federico Viticci的Macstories文章描述了使用OpenClaw创建的数字助手“Navi”,它可以控制Spotify、Sonos扬声器、Philips Hue灯泡,并使用ElevenLabs的语音合成技术进行语音交互。

优势:自动化带来的便利

Brandon Wang的文章详细描述了OpenClaw的优势,例如:

  • 学习与适应: 随着使用时间的增加,代理可以从模式中学习,创建工具、工作流和技能,并在需要时自动获取。
  • 复杂工作流: 代理可以存储和管理复杂的工作流程,例如,在取消餐厅预订时,自动提醒费用、确认是否可以取消,并在日历事件中包含取消截止日期。

局限性与风险

然而,OpenClaw也存在诸多问题:

  • 安全漏洞: OpenClaw的底层技术存在安全漏洞,可能导致经济损失。
  • Prompt注入: 代理容易受到Prompt注入攻击,恶意指令可能导致其执行不期望的操作。
  • 技能中心风险: OpenClaw依赖于SkillHub,用户可以上传自己的技能,但缺乏安全检查,导致恶意软件传播。
  • 权限滥用: 代理拥有访问敏感数据的权限,例如文本消息、银行账户信息和日历,可能被用于恶意目的。
  • 缺乏责任: 与人类助手不同,代理无法追究责任。

安全建议

为了安全使用OpenClaw,建议采取以下措施:

  • 隔离部署: 将OpenClaw部署在Docker容器中,并限制其访问权限。
  • 使用单独的账户: 为OpenClaw创建单独的Gmail账户、日历和集成账户。
  • 最小权限原则: 仅授予代理必要的权限。
  • 使用Composio: 使用Composio管理OAuth认证和工具集成,以提高安全性。
  • 监控代理行为: 密切监控代理的执行历史和权限使用情况。

TrustClaw:安全替代方案

TrustClaw是OpenClaw的安全替代方案,它解决了OpenClaw的一些关键安全问题:

  • 管理OAuth: 避免在本地存储OAuth令牌。
  • 范围控制: 定义代理的访问权限。
  • 远程沙箱执行: 在隔离环境中执行代码,防止恶意Prompt注入。
  • 零配置: 简化设置过程。
  • 24/7代理: 允许用户安排任务。
  • 完整可观察性: 追踪代理的执行历史。

结论

OpenClaw代表了人工智能自主代理的未来,但同时也带来了安全风险。在享受自动化便利的同时,必须谨慎对待潜在的安全隐患,并采取适当的措施来保护自身的数据和隐私。TrustClaw提供了一个更安全的替代方案,它在功能性和安全性之间取得了平衡。

GrapheneOS will remain usable by anyone without requiring personal information

GrapheneOS 声明摘要 (GrapheneOS Statement Summary)

以下是对 GrapheneOS 声明的摘要:

GrapheneOS 将继续在全球范围内可用,无需用户提供任何个人信息、身份证明或账户。 GrapheneOS 及其服务将保持国际可用性。 即使由于当地法规限制导致 GrapheneOS 设备在该地区无法销售,GrapheneOS 也会接受。

关键点:

  • 全球可用性: GrapheneOS 致力于在全球范围内保持可用性。
  • 无需个人信息: 使用 GrapheneOS 不要求用户提供任何个人信息、身份证明或账户。
  • 尊重当地法规: 如果当地法规限制了设备销售,GrapheneOS 尊重并接受这一情况。

统计信息 (来自社交媒体帖子):

  • 关注者数量:31,046
  • 点赞数量:1,124
  • 分享数量:659
  • 回复数量:33

发布信息:

POSSE – Publish on your Own Site, Syndicate Elsewhere

POSSE 概述

POSSEPublish (on your) Own Site, Syndicate Elsewhere (在你自己的网站上发布,然后在其他地方分发) 的缩写。它是一种实践,即首先在你的网站上发布内容,然后将副本或链接分享到第三方平台(如社交媒体)上,以便观众可以直接与你的内容互动。

Figure out how you want to fit into the network.

POSSE icon

POSSE-2012-312.jpeg

为什么选择 POSSE

  • 让你的朋友以他们喜欢的方式阅读你的帖子。 POSSE 允许你的朋友继续使用他们习惯的平台(例如 Instagram、Tumblr、Twitter、Neocities 等)来阅读你的内容。
  • 与朋友保持联系,现在就联系,而不是等待未来的可能性。 POSSE 关注当前的朋友关系,而不是未来的潜在联系。
  • 朋友比联盟更重要。 从人性的角度来看,关注人际关系比架构理想(例如联邦化)更重要。如果联邦化方法首先采用 POSSE 策略,它们更有可能获得更好的采用率。
  • POSSE 不仅仅是博客。 它是 IndieWeb 运动与普通“每个人都建立自己的网站”或“每个人都安装和运行 (YourFavoriteSocialSoftware)” 等单一文化解决方案不同的关键组成部分。

为什么选择 POSSE 的一般理由

  • 减少对第三方服务的依赖。 通过直接在自己的网站上发布内容,你不会依赖第三方服务。
  • 拥有内容。 通过首先在自己的网站上发布内容,你可以追踪到你的内容所有权链条,无需第三方服务(壁垒)的干预。
  • 拥有内容的规范 URL。 内容的规范 URL 位于你的域名上。
  • 副本可以引用原始内容。 通过首先在自己的网站上发布内容,你可以创建永久链接,并允许第三方服务上的副本链接或引用原始内容。
  • 更好的搜索结果。 使用任何搜索引擎在自己的域名上搜索公共内容比依赖第三方平台的搜索结果更好。
  • 可以反向分发回复。
  • 利用其他服务的社交层和聚合功能,同时将内容的规范副本存储在自己的网站上。

为什么链接到原始内容

常见的 POSSE 实践是使用永久短链接 (permashortlink) 从 POSSE 副本链接到原始内容。原因如下:

  • 促进原始内容的发现。 从第三方服务上的副本链接到原始内容,可以促进原始内容的发现。
  • 规避垃圾邮件者。 当垃圾邮件者复制你的帖子时,他们也会复制链接回原始内容,从而为人们找到和查看你的原始帖子提供更多渠道。
  • 提高原始帖子的排名。 当你的 POSSE 副本被其他人复制并重新发布时,如果这些副本链接到你的原始帖子,搜索引擎会识别到这一点,从而提高原始帖子的排名。

如何实现 POSSE

一般原则

通常,当你的内容发布软件发布内容时,它还应该将副本发布到你选择的第三方平台,并提供一个原始帖子链接 (permashortlink)。

具体实施细节因平台而异。

发布副本到第三方平台后,你应该:

  • 在你的帖子的 posts-elsewhere 部分中链接到分发的副本。

用户界面

最佳用户界面(UI)是自动、可靠且不可见的。 如果你能以始终如一的方式实现 POSSE,那么不需要显式 UI。

Twitter

Twitter 是最受欢迎的 POSSE 目标平台。

Facebook

目前有两种方法可以实现 Facebook 的 POSSE:

  • 手动交叉发布
  • 使用 Bridgy 浏览器扩展

WordPress

Ghost

Plain Text Notes

软件

  • PHP
  • Python
  • Docker
  • Services (Bridgy, IFTTT)

发布流程

  • 客户端到网站到第三方平台
  • 客户端到网站和第三方平台

IndieWeb 示例

其他方法

  • COPE (Create Once, Publish Everywhere)
  • POSE (Publish Once, Syndicate Everywhere)
  • PESOS (Publish Elsewhere, Syndicate Own Site)
  • PESETAS

总结

POSSE 是一种策略

The gold standard of optimization: A look under the hood of RollerCoaster Tycoon

滚石过山车 (RollerCoaster Tycoon) 性能优化的秘密:访谈纪要

本文总结了作者在德国游戏播客 Stay Forever 关于经典游戏《滚石过山车》(RollerCoaster Tycoon, 1999) 技术方面的访谈内容。访谈探讨了该游戏在 1999 年硬件环境下,如何流畅地模拟大型主题公园,以及其优化的关键因素。

核心观点:

  • 游戏优化传奇:《滚石过山车》及其续作以其卓越的性能优化而闻名,几乎完全由其开发者 Chris Sawyer 使用汇编语言编写。即使在如今,许多现代建筑游戏也难以达到其流畅的帧率。
  • 汇编语言的应用: 使用低级语言汇编是该游戏性能优化的重要因素,在当时能提供比 C 或 C++ 等高级语言更高性能的代码。尽管如今编译器优化能力提升,但汇编语言在 RCT 中仍然发挥了重要作用。
  • OpenRCT2: 玩家社区开发的完全兼容的重构版本 OpenRCT2,通过数年逆向工程实现了对原游戏的高度还原,并不断进行改进。
  • 细粒度的类型优化: 游戏针对不同数值范围,使用不同大小的数据类型存储金钱值。例如,整个公园的价值使用 4 字节,而商店物品的价格仅使用 1 字节。OpenRCT2 后来将所有金钱值统一为 8 字节变量,因为现代 CPU 处理大型数据类型效率更高。
  • 位移操作代替乘除法: 游戏大量使用位移操作(<< 和 >>)代替乘除法,加速计算。例如,左移两位相当于乘以 2,右移两位相当于除以 2。 游戏设计中,公式会尽量使用 2 的幂次方数,以便利用位移操作优化。
  • 游戏设计为性能优化: Chris Sawyer 同时是游戏设计师和程序员,这使得他能够根据性能特点进行游戏设计。
  • 独特的寻路机制: 游戏采用独特的寻路方式,客人在公园里漫无目的地游荡,直到偶然发现有趣的景点,而不是预先规划路线。对于需要寻路的情况(如维修人员到达损坏设施或客人前往出口),会使用传统的寻路算法,并设置了寻路深度限制,如果超过限制则放弃寻路。客人的抱怨“找不到出口”实际上是寻路算法放弃搜索的提示。
  • 人群管理: 游戏避免了复杂的碰撞检测和避让系统,允许大量客人在同一路径上停留,从而提高性能。客人在拥挤时会感到不快乐并抱怨,提示玩家需要调整布局。
  • 程序员与设计师的协作: 作者强调,现代游戏开发中,程序员和设计师需要更紧密的合作,并且需要有勇气放弃一些技术挑战,以实现整体性能优化。

总而言之,《滚石过山车》的成功在于其精细的汇编语言优化、巧妙的游戏设计,以及程序员与设计师的紧密合作。这些因素共同促成了这款在硬件限制下依然流畅运行的经典游戏。

Why I love NixOS

NixOS:我所热爱的操作系统

这篇文章表达了作者对 NixOS 操作系统以及其底层包管理器 Nix 的喜爱,而非仅仅对其作为发行版的特性。作者认为 NixOS 的核心价值在于其 确定性和可重现性,这使得它与传统操作系统截然不同。

以下是文章的主要观点:

  • 状态管理: 传统操作系统容易变成各种配置和安装包的堆积,难以追溯和理解其工作原理。NixOS 则允许用户以声明式的方式定义系统,并可轻松重建、修改和回滚。
  • 声明式配置: 用户可以在一个地方集中定义整个操作系统,包括软件包和配置,避免了在不同位置追逐配置信息的麻烦。
  • 稳定性与可预测性: NixOS 经过长时间的演进,具有很高的稳定性,并提供半年度的稳定发布周期。用户可以配置自动更新,而无需担心传统操作系统升级带来的问题。
  • 实验友好: NixOS 允许用户在不影响基础系统的情况下尝试新软件包,并通过隔离的 shell 环境进行实验,避免了环境污染。
  • 跨平台一致性: Nix 包管理器可以在 macOS 和 Linux 上使用,甚至有社区支持 FreeBSD,从而保证开发工具和依赖管理的一致性。
  • LLM 编码时代的支持: Nix 非常适合快速变化的 LLM 编码环境。它可以为编码代理提供精确版本的工具和依赖项,并将其隔离在沙箱环境中运行,而不会修改系统状态。同时,可以捕获代理的依赖关系并进行验证,形成可重现的构建结果。
  • Docker 的替代方案: 作者认为 Nix 提供的确定性模型比 Docker 更令人满意。通过 dockerTools.buildLayeredImage,可以使用 Nix 构建更小、更确定性的 Docker 镜像。
  • 一致性: NixOS 提供了一种统一的软件思维方式,涵盖笔记本电脑、shell、项目依赖项、CI 管道和部署工件等各个方面。

总结:

作者喜爱 NixOS,是因为它代表了一种理想的软件系统:声明式、可重现、可逆和稳定。它帮助用户专注于快速发展的工具,并避免了因环境配置问题而产生的担忧。NixOS 是一种强大的工具,它不仅是一个操作系统,更是一种值得拥抱的软件管理理念。

备注:

  • 作者使用的硬件是 HP EliteBook X G1a 14 英寸笔记本电脑,配备 64 GiB RAM 和 AMD Ryzen AI 9 HX PRO 375 处理器。
  • nix develop 是一种可以快速进入类似 Nix 构建环境的交互式 shell 工具。
  • 作者开发的 Rust 语音转文本代理(用于替换 Whisper 和 Willow Voice)正在考虑开源或发布为独立应用。
GrapheneOS refuses to comply with new age verification laws for operating system

GrapheneOS 拒绝遵守年龄验证法律,并概述了相关背景

以下是对文章内容的总结:

核心观点: 隐私保护的 Android 操作系统分支 GrapheneOS 宣布,它将不会遵守要求操作系统收集用户年龄数据的法律,并表示如果因法规原因无法在某些地区销售设备,则会接受。

相关法律:

  • 巴西的数字 ECA 法律 (Law 15.211): 于 3 月 17 日生效,要求操作系统供应商实施年龄验证,否则将面临高达 950 万美元的罚款。
  • 加利福尼亚州的数字年龄保证法案 (AB-1043): 将于 2027 年 1 月 1 日生效,要求操作系统供应商在账户设置期间收集用户的年龄或出生日期,并将这些数据通过实时 API 传输给应用商店和开发者。
  • 科罗拉多州的 SB26-051: 在 3 月 3 日通过州参议院,具有类似要求。

GrapheneOS 的立场:

  • GrapheneOS 基金会(一个注册的加拿大非营利组织)致力于保持其操作系统对全球任何人的可用性,无需个人信息、身份证明或账户。
  • 项目方表示,如果由于法规原因无法在某个地区销售 GrapheneOS 设备,他们会接受。

与摩托罗拉的合作:

  • GrapheneOS 与摩托罗拉宣布长期合作关系,计划在 2027 年推出搭载 GrapheneOS 的摩托罗拉设备,这将结束 GrapheneOS 长期以来仅限于 Google Pixel 设备的独特性。
  • 摩托罗拉需要确保预装 GrapheneOS 的设备符合每个销售市场的当地法规,或者可能需要限制地理销售范围。

其他案例:

  • GrapheneOS 不是唯一拒绝遵守年龄验证法律的公司。开源计算器固件 DB48X 发布法律通知,声明其软件“不会、不能也不会”实施年龄验证。MidnightBSD 已经更新其许可协议,禁止巴西用户使用。

法律风险:

  • 文章提到了美国联邦检察官成功起诉了隐私保护的比特币混币器 Samourai Wallet 的开发者,这引发了关于管辖权的问题。
  • 加利福尼亚州的 AB-1043 对违反规定的行为,每受影响的儿童处以最高 2500 美元的民事罚款,故意违反则处以 7500 美元,由州检察长执行。

批评:

  • 批评者,包括 400 多名计算机科学家,认为这些法律正在建立监控基础设施,而并没有真正保护儿童,因为自我声明很容易被绕过。加利福尼亚的法律并不要求照片身份证件或生物识别验证,用户只需在设置过程中自我报告年龄。

总而言之,GrapheneOS 坚持其隐私保护的原则,拒绝遵守强制年龄验证的法律,并愿意接受由此带来的潜在市场限制。

Palantir extends reach into British state as gets access to sensitive FCA data

英国金融监管机构授予 Palantir 数据分析合同引发隐私担忧 (英国金融监管机构授予 Palantir 数据分析合同引发隐私担忧)

以下是对原文的总结:

英国金融行为监管局 (FCA) 授予了美国人工智能公司 Palantir 一项合同,允许其分析 FCA 内部的敏感情报数据,旨在打击金融犯罪,包括欺诈、洗钱和内幕交易。 这项为期三个月的试用合同每周支付超过 3 万英镑,Palantir 将分析 FCA 的庞大“数据湖”。如果试用成功,可能会导致全面采用 AI 系统。

合同细节:

  • 目的: 帮助 FCA 更好地利用数字情报,将资源集中在监管的 42,000 家金融服务公司中存在违规行为的公司。
  • 数据范围: 涉及大量敏感信息,包括案件情报文件、问题公司信息、贷款机构关于欺诈的报告、以及公众数据(包括消费者向金融申诉管理局的投诉)。具体包括电话录音、电子邮件和社交媒体信息。
  • 竞争: 除了 Palantir 之外,只有一个其他竞争者。
  • 数据安全措施: FCA 强调 Palantir 仅作为“数据处理器”而非“数据控制者”运行,必须在监管机构的指示下行动。FCA 将保留最敏感文件的加密密钥,数据将仅在英国境内托管和存储。合同结束后,Palantir 必须销毁数据,且所有知识产权应由 FCA 保留。
  • 数据使用: FCA 最初考虑使用假数据或对公司和个人姓名进行打乱,但最终决定使用真实数据进行测试,认为这是唯一有价值的测试方法。Palantir 不得将数据复制用于训练其产品。

争议与担忧:

  • 隐私担忧: 该合同引发了“非常显著的隐私担忧”,人们担心 Palantir 如何处理这些敏感数据,以及是否会泄露给其所有者或其他相关方。
  • Palantir 的背景: Palantir 曾为以色列军方和美国移民执法局 (ICE) 提供服务,这引发了对该公司道德可靠性的质疑。
  • 内部担忧: FCA 内部人士担心 Palantir 了解 FCA 如何检测洗钱威胁后,是否会分享这些信息。
  • 潜在风险: 专家 Michael Levi 认为,虽然 AI 技术在打击金融犯罪方面具有潜在价值,但需要关注 Palantir 的所有者是否会利用其影响力提供信息。

Palantir 的回应:

Palantir 辩称其技术已经促成了约 9.9 万次额外手术的安排,帮助英国警方打击家庭暴力,并表示该公司“采取严格的方法尊重人权”。Palantir 将评论请求转给了 FCA。

FCA 的声明:

FCA 表示,有效利用技术对于打击金融犯罪至关重要,并强调已经采取了严格的控制措施来保护数据。

总而言之,该合同旨在利用 Palantir 的 AI 技术加强 FCA 的打击金融犯罪能力,但同时也引发了关于数据隐私、安全和 Palantir 公司道德标准的重大担忧。

GitHub appears to be struggling with measly three nines availability

GitHub 近期服务稳定性问题及行业趋势总结

近期,GitHub 频繁出现服务中断问题,引发了对其稳定性的担忧。

GitHub 近期故障事件:

  • 2月9日: GitHub Actions、Pull Requests、Notifications 和 Copilot 等服务出现问题。最初承认 "部分 GitHub 服务" 出现问题,随后承认 Notifications 延迟约 50 分钟。最终在 1929 UTC 确认服务恢复正常,但延迟已缩短至约 30 分钟。
  • 2月9日 - 2月10日: Copilot 的策略传播出现问题,部分用户可能无法访问新启用的模型。

GitHub 状态页面变更:

GitHub 修改了其状态页面,使得用户难以直观地了解服务的可用性,尤其是在过去 90 天内的整体运行时间。

历史数据分析:

虽然官方状态页面信息有限,但通过公开状态源重建的状态页面显示,GitHub 在2025年曾出现过运行时间低于 90% 的情况。

其他相关事件:

  • GitHub 正在考虑针对 AI 生成的低质量代码,对 Pull Requests 设置“kill switch”。
  • GitHub 曾一度计划对自托管的 Runners 收费,后又撤销了该计划。
  • 编程语言 Zig 宣布离开 GitHub,理由是 Microsoft 对 AI 的过度关注已经破坏了该服务。
  • 名为 Shai-Hulud 的蠕虫攻击了 25,000 个 GitHub 仓库。

行业趋势与 SLA:

GitHub 并非唯一经历服务不稳定性的平台。虽然 “五九” (99.999% 正常运行时间) 是理想目标,但一些供应商难以维持 90% 的正常运行时间。GitHub 的企业云服务客户协议规定了 99.9% 的正常运行时间,但该公司并未向所有用户保证此指标。

总结:

GitHub 近期服务稳定性问题以及其他相关事件,突显了在依赖云服务时,需要充分考虑和规划潜在的停机时间,而不仅仅是正常运行时间。

Attractive students no longer receive better results as classes moved online

研究摘要:大学学生外貌与成绩的关系

本文研究了学生面部吸引力对学术成果的影响,并考察了不同教学形式下这种影响的差异。研究数据来自瑞典的工程专业学生。

主要发现:

  • 线下教学: 在线下教学环境下,外貌更具吸引力的学生在非定量科目中获得更高的成绩。这种现象适用于男性和女性。值得注意的是,这种影响仅在教师与学生互动较多的课程中才会出现。
  • 线上教学(COVID-19 疫情期间): 当教学转为线上时,非定量科目中外貌更具吸引力的女性学生的成绩有所下降。然而,对于男性而言,即使在转向线上教学后,“美貌优势”仍然存在。
  • 结论: 研究结果表明,歧视可能是解释女性“美貌优势”成绩差异的重要因素。

关键词: 吸引力,美貌,COVID-19,歧视。

JEL 分类: D91, I23, J16, Z13

数据可获取性: 可以根据要求获取数据。

致谢: 作者感谢编辑和一位匿名审稿人,并感谢Annette Brondin, Ivan Premovski, Hanna M. Stålhammar, 和 Sara Swartling 在招募评估员方面提供的协助。研究受益于与Niclas Berggren, Andreas Bergh, Joakim Westerlund 的讨论,以及众多研讨会参与者的意见。作者感谢 Arne Ryde 基金会的资金支持。

Iran war energy crisis is a renewable energy wake-up call

中东冲突凸显全球对化石燃料的依赖,加速可再生能源转型呼声

事件背景: 中东冲突导致通过霍尔木兹海峡的石油和液化天然气(LNG)出口几乎完全停止,扰乱了能源市场,导致油价上涨,并对依赖进口能源的国家造成压力。

影响范围:

  • 亚洲: 受影响最严重,因为大部分石油都销往亚洲。
  • 欧洲: 政策制定者正在寻求减少能源需求。
  • 非洲: 面临燃料成本上涨和通货膨胀的风险。
  • 全球: 许多国家都受到了影响,而那些拥有更多可再生能源的国家则相对隔离,因为可再生能源依赖于国内资源,如阳光和风能。

可再生能源的机遇:

  • 与以往的石油冲击不同,目前可再生能源在许多地方已经具有成本竞争力。
  • 2024年全球90%以上的新型可再生能源项目比化石燃料替代方案更便宜。
  • 可再生能源的普及有助于减少对进口燃料的依赖。

国家应对:

  • 中国与印度: 尽管中国仍然依赖煤炭,但已在全球可再生能源领域处于领先地位,并通过电动汽车等方式减少了对进口石油的依赖。印度也在扩大清洁能源的使用,但规模相对较小,政府对可再生能源制造和电网建设的支持力度不足。
  • 欧洲: 一些国家试图减少对化石燃料的依赖,但随后转向寻找新的化石燃料供应商,未能有效推动能源转型。
  • 日本: 政策重点仍然是多元化化石燃料进口,而非投资国内可再生能源。
  • 非洲: 依赖进口石油的经济体面临更大的冲击风险。一些国家,如埃塞俄比亚,正在大力推广电动汽车和可再生能源。
  • 孟加拉国: 采取限电措施,并面临燃气短缺,导致餐馆关闭的风险。

关键观点:

  • 专家认为,类似能源危机是基于化石燃料的能源系统的常态,而不是例外。
  • 可再生能源的投资对于提升能源安全和应对未来危机至关重要。
  • 发展中国家面临更大的挑战,需要国际援助和技术支持来加速能源转型。

总结: 中东冲突暴露了全球对化石燃料的高度依赖,并引发了加速可再生能源转型的呼声。尽管一些国家已经采取了措施,但全球能源转型仍然面临诸多挑战。

Department of State advises Americans worldwide to exercise increased caution

全球旅行安全提醒:美国国务院发布特别警示 (2026年3月22日)

以下是对美国国务院发布的全球旅行安全提醒的总结:

核心内容: 美国国务院提醒全球各地的美国公民,尤其是中东地区的美国公民,务必提高警惕并谨慎行事。

具体情况:

  • 全球范围影响: 该提醒适用于全球所有美国公民。
  • 目标: 美国国务院的领事设施,包括中东以外的设施,均已成为袭击目标。
  • 潜在威胁: 支持伊朗的团体可能针对海外的美国利益,以及与美国或美国公民相关的地点进行袭击,遍布全球。
  • 旅行影响: 可能会出现周期性的空域关闭,导致旅行中断。

建议措施:

  • 注册STEP: 通过 step.state.gov 注册,以便接收最新的安全警报。
  • 关注官方渠道: 关注“美国国务院 - 美国公民安全更新”在 WhatsApp 上的频道,以及 @TravelGov on X 的账号。
  • 出行前准备: 在计划旅行前,仔细阅读目的地的旅行建议和详细信息,以及最新的警报,访问 travel.state.gov/destination

总结: 此次提醒旨在提醒美国公民注意全球安全形势的变化,并提供必要的资源和信息,以确保他们在海外旅行的安全。

Five Years of Running a Systems Reading Group at Microsoft

微软系统阅读小组:起源、演变与经验 (Microsoft Systems Reading Group: Origins, Evolution, and Experiences)

概述: 这篇文章讲述了Armaan Sood在微软创建并运营的“系统阅读小组”的故事,从最初专注于数据库内部原理,逐渐扩展到涵盖更广泛的系统领域。文章分享了阅读小组的演变过程、经验教训以及作者从中获得的收益。

起源与早期发展 (Origins and Early Development):

  • 2021年,Armaan Sood作为Azure数据库团队的新人,为了寻找对数据库领域感兴趣的同事,创建了最初名为“数据库内部原理阅读小组”。
  • 小组最初的阅读材料主要集中在数据库内部原理和系统相关的经典论文,例如:
    • Algorithms Behind Modern Storage Systems
    • WiscKey: Separating Keys from Values in SSD-conscious Storage
    • LLAMA: A Cache/Storage Subsystem for Modern Hardware
    • Finding a Needle in Haystack: Facebook's Photo Storage
    • Column-Stores vs. Row-Stores: How Different Are They Really?
    • The Bw-Tree 和其后续改进 Building a Bw-Tree Takes More Than Just Buzz Words
  • 小组的讨论形式为:个人阅读论文,然后进行一小时的讨论。
  • 除了阅读论文,小组还通过侧面渠道分享工程博客和演讲,这同样具有重要价值。

演变与拓展 (Evolution and Expansion):

  • 随着阅读的深入,小组的讨论逐渐扩展到数据库以外的领域,例如内存层次结构、共识协议等。
  • 2024年,小组开始采用“引导式阅读系列”的形式,通过多节会议深入研读Stonebraker和Hellerstein的《数据库系统阅读》(Red Book)。
  • 小组也开始邀请外部嘉宾进行分享,例如Niv Dayan对Diva系统的讲解。
  • 2025年,为了反映更广泛的范围,小组更名为“微软系统阅读小组”。

2026年主题: 2026年的主题是“数据中心基础”,将阅读《数据中心即计算机》(The Datacenter as a Computer)一书,涵盖服务器、机架、网络集群、负载均衡、电源、散热、效率、故障等内容。

运营经验 (Operational Experiences):

  • 从小处着手,保持一致性: 稳定的会议频率比偶尔中断的频繁会议更有利于小组的持续发展。
  • 让范围自然增长: 避免过度限制主题,顺应好奇心可以吸引更多不同团队的人参与。
  • 引导式阅读系列胜过独立论文: 多次会议的深入研读能够帮助参与者建立共同的理解,从而引发更深入的讨论。
  • 不必是专家: 对未知主题的共同探索比单方面讲解更有利于参与。
  • 拥有联合组织者: 共同负责可以确保小组在一方忙碌时,另一方可以维持活动的持续性。
  • 允许未充分准备的参与者: 允许不阅读所有论文的参与者,并在会议开始时进行简短的总结。

个人收益 (Personal Benefits):

  • 学习: 阅读了自己可能不会主动选择的论文,涉及从内存芯片架构到Google容器调度等广泛主题。
  • 人脉: 与微软内部对同一领域感兴趣的工程师、研究人员和科学家建立了联系,促进了工作上的沟通与合作,也结识了许多志同道合的朋友。

总结 (Conclusion):

文章鼓励公司内部员工创建阅读小组,强调从简单开始,顺应兴趣,并保持开放和协作的态度。 微软系统阅读小组的链接为:aka.ms/msrg

Ask HN: Apple terminated our dev account over a rogue employee

总结:苹果公司因员工违规行为终止非洲软件公司开发者账户

以下是对 Hacker News 帖子 "Ask HN: Apple terminated our dev account over a rogue employee" 的总结:

主要问题:

一家位于非洲的小型软件公司,其应用程序对当地社区至关重要,为当地商店、餐馆和送货员提供了经济支持。该公司因一名员工利用公司设备进行违反苹果开发者服务条款的未经授权活动,被苹果公司终止了整个组织的开发者账户。

公司应对措施:

  • 立即解雇了违规员工。
  • 彻底改进了安全措施,包括撤销所有个人访问权限,并实施了强制性的、同行评审和监督的苹果开发者门户访问会话。

当前困境:

  • 公司已通过 App Store Connect 提交了申诉,但感觉被自动化流程阻碍。
  • 已向苹果高管发送电子邮件,但未收到回复。
  • 由于账户被终止,应用程序面临被移除的风险,导致社区成员失去收入来源。

公司诉求:

该公司不寻求特殊待遇,只是希望苹果App Review团队能够审核他们采取的安全措施,并考虑给予一次重审的机会。

参考信息:

  • 苹果团队 ID: T35TM9SW45

总结: 该公司希望 Hacker News 社区的成员能够提供建议,或帮助联系到苹果公司的人员,以便审查他们的申诉并解决问题。他们强调,此次事件对当地社区的经济影响非常严重。

Diverse perspectives on AI from Rust contributors and maintainers

人工智能在 Rust 项目中的观点总结 (人工智能在 Rust 项目中的观点总结)

本文档总结了 Rust 项目贡献者和维护者对人工智能 (AI) 的观点,这些观点于 2 月 6 日开始收集。该文档旨在涵盖各种观点,以便理解各方的争论。

重要声明: 这些评论并不代表“Rust 项目的观点”,而是个人观点。Rust 项目目前尚未形成关于使用 AI 工具的统一观点,本文档是朝着形成该观点迈出的第一步。

核心观点:

  • AI 是一种需要精通的工具: 获得良好结果需要仔细的工程设计,而非简单的“AI 效果好/不好”。需要结构化问题,提供上下文和指导,并优化上下文窗口。AI 模型在不断改进,现代模型已经“不可忽视”。
  • 非编码任务的价值: 许多人发现 AI 在搜索、发现、代码审查和头脑风暴等非编码任务中很有用。例如,AI 可以帮助导航大型代码库和文档,发现代码中的错误。
  • 编码方面经验不一: 有些人认为 AI 使能了解决问题的能力,并能更快地完成任务,而另一些人则觉得使用 AI 耗时且效率低下。
  • AI 对编码技能的影响: 依赖 AI 可能导致编码技能的退化,并使人难以理解代码。
  • AI 的伦理和法律问题: AI 数据通常是未经授权的从互联网上抓取,存在版权问题,并且 AI 集中了少数公司的权力。AI 可能传播偏见、消耗大量能源,并增加项目维护的风险。

具体讨论:

  • 搜索和发现: AI 有助于在不熟悉的 codebase 和文档中导航。
  • 代码审查和头脑风暴: AI 可以用于代码审查,探索想法,并发现错误。
  • 大型半结构化数据处理: AI 使处理半结构化数据变得更容易。
  • 编写的挑战: AI 生成的文本可能冗长、缺乏结构和信息。
  • AI 生成代码的质量问题: 质量参差不齐,需要仔细审查。
  • AI 对新手的影响: 过度依赖 AI 可能会阻碍新手学习和掌握编程技能。
  • AI 审查的挑战: 很难发现细微的错误,审查的本质也发生了改变。

建议:

  • 建立通用政策: 明确贡献者责任,要求披露 AI 使用情况,并禁止提交未经审查的 AI 生成代码。
  • 鼓励披露和问责: 要求贡献者理解并对他们的贡献负责。
  • 支持多语言: 允许使用母语进行交流,并提供翻译支持。
  • 鼓励 AI 公司支持 Rust 维护: 寻求 AI 公司的资金支持。
  • 赞助 AI 工具: 为贡献者和维护者提供 AI 工具的赞助访问权限。
  • 声誉系统: 实施声誉系统,以过滤低质量的 PR。
  • 利用 AI 辅助审查: 探索使用 AI 辅助代码审查和问题分类。

核心张力:

  • 深度集成 vs. 基于道德的拒绝: 一方希望拥抱 AI,另一方认为任何形式的妥协都等同于支持不道德的行为。
  • 支持 AI vs. 认可 AI: 为 AI 用户提供支持,可能会被视为认可 AI。
  • 选择退出 AI vs. AI 的帮助: 个人应有权选择不使用 AI,但 AI 也可以帮助项目。

总之,Rust 项目需要仔细权衡 AI 的利弊,制定明确的政策,并确保 AI 的使用不会损害项目的质量和价值观。

“Collaboration” is bullshit

总结:关于协作、责任与生产力

这篇文章探讨了现代科技行业对“协作”的过度追求,并揭示了其对个人责任和生产力的负面影响。作者引用了历史案例和研究来支持其观点。

核心观点:

  • 稀疏性原理: 借鉴了S.L.A. Marshall在二战期间对美军士兵的研究,以及IBM对计算机使用情况的发现,作者指出,在任何群体中,只有少数人(大约20%)贡献了大部分的工作,而其余的人则提供“结构性支持”。
  • 协作陷阱: 现代科技行业将“协作”视为解决协调和参与问题的方案,导致了各种协作工具(Notion, ClickUp, Slack, Jira等)的泛滥,员工需要同时管理多个账户,并花费大量时间在协作活动上,但实际产出却很少。
  • 责任扩散: 协作文化模糊了个人责任,将失败归咎于“流程”,使得个人更容易逃避责任。Ringelmann的绳索实验和Brooks在软件开发中的观察都证实了群体规模扩大时,个人努力会下降的现象。
  • 真正的生产力来自个人所有权: 高质量的工作通常是由个人或小型团队完成的,他们拥有明确的权威和责任。作者举例说明了Dostoevsky写作《卡拉马佐夫兄弟》和Apollo Guidance Computer团队的例子。
  • 协作的误用: 协作工具被用来进行“社会管理”而非实际工作,导致会议、文档、回顾等活动不断增多,协调成本超过了执行时间。
  • 回归个人责任: 作者呼吁回归信任个体完成工作的理念,减少对组织层面的可见性,并明确责任归属,让个体为自己的行为负责,而不是将责任分散到整个团队。

总结:

文章认为,过度强调协作可能导致责任模糊、生产力下降。作者主张,应该回归个人所有权和清晰的责任,减少不必要的协作活动,从而提高工作效率和产出。核心在于区分沟通和协作,以及明确谁对最终结果负责。

They’re vibe-coding spam now

垃圾邮件的“设计升级”:AI 助力诈骗新趋势 (The "Design Upgrade" of Spam: A New Scam Trend Fueled by AI)

这篇文章探讨了垃圾邮件的演变,以及AI技术如何降低了诈骗成本,导致垃圾邮件的质量和隐蔽性显著提升。

主要内容:

  • 垃圾邮件的“设计升级”: 过去垃圾邮件通常设计粗糙,但现在许多垃圾邮件开始采用更美观的设计,试图模仿 legitimate 的邮件。即使关闭图片显示,这些邮件也能保持一定的可读性,这使得传统的垃圾邮件识别方法失效。
  • Vibe Coding 和 AI 的影响: 文章指出, "Vibe Coding" (一种快速、简易的编程方式) 和大型语言模型 (LLM) 的出现,使得即使没有编程基础的人也能轻松创建诈骗软件,并将其出售。这些诈骗软件可以用于盗取信用卡信息、窃取 Office365 凭据等。
  • VibeScamming 的兴起: 安全平台 Guard.io 提出了 "VibeScamming" 的概念,指通过简单的提示,利用AI平台就能轻松构建诈骗计划。
  • 识别垃圾邮件的挑战: 由于垃圾邮件设计水平的提高,区分真假邮件变得越来越困难。文章建议用户采取邮件混淆和使用邮件别名等措施来保护自己。
  • 识别垃圾邮件的线索: 尽管垃圾邮件更具迷惑性,但仍存在一些线索可以帮助识别,例如邮件中称呼使用邮箱地址而非姓名,以及使用高度混淆的发件人地址。
  • 作者的建议: 作者鼓励开发者在构建应用程序时加入更多的人性化设计,避免过度使用特定的设计风格(如Chrome、颜色和表情符号),以免其作品看起来不靠谱。

总结:

垃圾邮件正经历一场由AI技术驱动的变革。 诈骗者利用AI工具,降低了诈骗成本,并提高了垃圾邮件的欺骗性。面对这种新的威胁,用户需要更加警惕,并采取相应的安全措施来保护自己。

Teaching Claude to QA a mobile app

Zabriskie 自动化测试实践总结 (Zabriskie Automated Testing Practices Summary)

本文讲述了作者在构建社区应用Zabriskie的过程中,如何利用Capacitor实现跨平台(Web、iOS、Android)开发,以及如何克服测试难题,最终利用Claude构建自动化测试流程的经验。

核心技术与架构:

  • 跨平台开发: 作者使用Capacitor将React Web应用封装成原生壳(WebView),实现Web代码在iOS和Android平台的运行,从而实现一个代码库支持三平台。
  • 服务器驱动的UI架构: 后端发送JSON格式的屏幕布局,客户端进行渲染,方便快速迭代和部署。

测试挑战与解决方案:

  • 测试工具的困境: 由于Zabriskie应用运行在WebView中,传统的Web测试工具(Playwright)无法直接访问原生壳,而原生测试框架(XCTest, Espresso)则无法访问WebView中的HTML内容,导致测试工具选择受限。
  • Android自动化测试:
    • 连接问题: 解决Android Emulator的localhost指向问题,使用adb reverse命令进行端口转发。
    • WebDriver协议: 利用Android WebView暴露的Chrome DevTools Protocol (CDP) 实现自动化控制,通过WebSocket连接,直接操作WebView,无需猜测坐标或与UI元素交互。
    • 截图分析: 结合adb shell screencap截图功能,编写Python脚本分析25个屏幕的视觉问题(布局错误、错误信息、缺失图片等)。
    • 自动Bug报告: 自动生成格式规范的Bug报告,并上传至生产论坛。
  • iOS自动化测试: iOS的测试过程比Android复杂得多,遇到了诸多限制:
    • 无法输入邮箱地址: 绕过原生输入限制,修改后端逻辑,允许用户名登录,并将输入类型从email改为text
    • 无法关闭原生弹窗: 通过修改系统数据库TCC.db,预先授权推送通知权限,并修改JavaScript代码,避免触发权限请求。
    • 坐标定位困难: 使用ios-simulator-mcp工具的ui_describe_point函数获取精确坐标,避免坐标猜测。
    • WebDriver协议缺失: iOS WebView不暴露CDP协议,导致自动化测试难以实现。

关键经验总结:

  • CDP优先: 尽可能使用浏览器调试协议进行自动化操作,避免坐标定位。
  • 测量坐标: 避免猜测坐标,使用系统API获取精确坐标。
  • 隔离工作区: 保持工作区的隔离性,避免提交无关代码。
  • 测试先行: 在提交代码前务必运行测试,确保代码质量。

最终成果:

  • Android自动化测试在90分钟内完成,iOS自动化测试耗时超过六小时,体现了移动自动化工具在2026年的现状。
  • 每天早上8:47自动运行测试,及时发现并报告问题,确保应用质量。

总而言之,本文详细记录了作者在Zabriskie项目中的自动化测试实践,强调了跨平台开发、测试工具选择、问题解决以及代码质量控制的重要性。