## 待在家中的理由:为什么在线研究比旅行更能带来真正的理解 本文认为,令人惊讶的是,待在家中并通过在线方式研究一个地方,可能比实际前往旅行更能获得信息。作者认为,在维基百科等资源上花费的短时间,可以获得与长时间旅行一样多的“有趣”信息,而且往往具有更广泛的意义。 虽然承认旅行能提供独特的感官体验,但作者指出这些体验并不一定能带来*更好*的理解。现代技术——直播、360°照片和社交媒体——可以复制许多传统上与旅行相关的观察学习。 作者提醒人们警惕在“实地”获得的看似客观信息的错觉,并引用了联合果品公司操纵记者的历史例子。他们还强调了通过精心策划的旅行体验形成的主观偏见。虽然承认旅行可以培养情感联系——在紧张的地缘政治环境中可能很有价值——但作者最终认为,政府真正试图控制的是信息获取途径,而不是机票。 最终,本文认为旅游本身存在根本性的缺陷,它建立在对“未受破坏”体验的渴望之上,而这种体验本身是不具备可持续性的,甚至可能*降低*与一个地方及其人民的真正联系。
## GitHub Actions 交互式 Web 终端:总结
该项目提供了一个免费且开源的解决方案,用于获取对失败的 GitHub Actions 运行的交互式 Web 终端访问权限。解决的核心问题是,为了修复在本地工作但构建失败的情况,不断推送猜测性的更改所带来的困扰。
该解决方案利用 WebRTC 在 Actions VM 和用户浏览器之间建立点对点连接,从而最大限度地降低服务器成本。一个使用 Go 构建并托管在 Railway.com 上的信令服务器(利用按使用量付费和“休眠”实例以提高成本效益)促进了初始连接交换。
安全性至关重要:身份验证使用 GitHub OAuth 用于浏览器,并使用来自 Actions 的 OIDC 令牌来验证用户和仓库身份。此外,还增加了可选的一次性密码 (OTP),在浏览器和 VM 之间直接验证,即使信令服务器受到损害,也能防止恶意连接。
该系统通过 WebRTC 数据通道流式传输终端数据,在 Actions VM 上使用 `pty.Shell`,在浏览器中使用 Ghostty 库,以提供无缝的终端体验。该项目优先考虑最少的服务器参与,专注于安全的对等体介绍,并利用高效的云基础设施提供具有成本效益的公共可用服务。
您可以在 [https://actions-term.gripdev.xyz/](https://actions-term.gripdev.xyz/) 试用它,并在那里找到代码链接。
## XMPP 与元数据:摘要
本次演讲最初在混沌通信大会上发表,探讨了 XMPP 消息协议中的元数据问题。虽然 XMPP 提供了可扩展性和联合,但即使使用端到端加密 (E2EE),每条消息的发送都会向相关服务器泄露信息——发送者、接收者和时间。信任您的服务器至关重要,因为服务器被攻破会暴露所有元数据。
演讲概述了四种主要的元数据威胁:服务器被攻破、实时数据关联、利用静态服务器数据以及网络层面的观察。讨论了几种潜在的解决方案,包括无服务器消息传递 (XEP-0174),它绕过了服务器但牺牲了加密,以及 XTLS,用于直接、加密的客户端到客户端连接。加密身份 (XEP-0416) 提供了另一种减少对服务器信任的途径。
将 XMPP 与其他协议进行了比较:Signal 虽然在密码学上很强大,但它是中心化的并收集元数据;Matrix 在服务器之间复制数据,加剧了元数据问题;SimpleX 优先考虑隐私,内置了密码学和洋葱路由。
最终,改进 XMPP 的元数据处理需要持续的努力,尽管资源有限。虽然采用可能缓慢,但增量改进可以加强协议和生态系统。
## Lightpanda 新的基于 Zig 的 DOM:zigdom
Lightpanda 发现 V8、Zig 和 LibDOM 之间存在摩擦,尤其是在事件、自定义元素和 ShadowDOM 方面,因此用自定义的基于 Zig 的解决方案 `zigdom` 替换了之前的 DOM 实现 (LibDOM)。 这个为期六个月的项目旨在创建一个更精简、更可控的代码库,简化未来的扩展和改进。
`zigdom` 使用基于指针的节点结构和大型分配来最大程度地减少内存开销,并采用延迟加载元素属性以进一步降低内存使用量。他们集成了基于 Rust 的 `html5ever` 解析器,用于强大的 HTML 处理,并实现了 V8 快照以显著缩短启动时间。
虽然性能提升个位数,但主要好处是统一的代码库,可以更好地控制内存管理和事件处理。 这个基础将促进多线程和改进的自定义元素/ShadowDOM 支持等功能。 开发过程得到了 AI 编码代理 (Claude) 的帮助,证明对于 DOM 实现这样定义明确的任务非常有效,但仍然需要彻底的代码审查。 `zigdom` 现在已集成到 Lightpanda 的主分支中。