2024-08-30

30 篇热帖

1. AnandTech Farewell (www.anandtech.com)

AnandTech 论坛版块结构概览

AnandTech 论坛是一个综合性技术社区,主要划分为硬件软件与操作系统社区与非技术话题三大板块。以下为各子版块及其关键数据:

一、 硬件与组件讨论

  1. CPU与超频:讨论处理器与微处理器,包括超频。拥有7.81万个主题和140万条消息。
  2. 主板:关于主板的讨论区。主题6.7万,消息47.68万。
  3. 显卡:讨论视频产品与图形技术。主题9.61万,消息160万。
  4. 内存与存储:涵盖DDR3/DDR4内存、硬盘、SSD等存储技术。主题2.26万,消息22.22万。
  5. 显示器:讨论显示器与显示设备。主题1.12万,消息11万。
  6. 电源供应器:讨论电源技术。主题6000,消息5.32万。
  7. 机箱与散热:讨论机箱选择和散热方案。主题4.69万,消息38.63万。
  8. 笔记本电脑:讨论笔记本和平板电脑。主题2.4万,消息17.55万。
  9. 网络设备:讨论网络设置、调制解调器等问题。主题5.46万,消息35.28万。
  10. 苹果笔记本与台式机:讨论所有苹果电脑及黑苹果。主题895,消息1.31万。
  11. 外设与组件:讨论各类外围设备。主题1.85万,消息10.99万。
  12. 电脑构建:综合性硬件组装、问题解决与讨论区。该版块最为活跃,拥有31.41万个主题250万条消息

二、 软件、操作系统与数字娱乐

  1. 操作系统:讨论各类操作系统。主题7.39万,消息54.99万。
  2. Windows:专注于Windows系统及应用。主题10.11万,消息68.28万。
  3. 苹果软件:讨论macOS、iOS等。主题8000,消息10.44万。
  4. 开源软件:讨论各类开源系统及软件。主题3100,消息2.71万。
  5. 编程:计算机编程讨论区。主题6800,消息5.61万。
  6. PC游戏:PC游戏讨论。主题2.02万,消息67.81万。
  7. 分布式计算:讨论SETI@Home等项目。主题4.09万,消息55.82万。
  8. 安全性:讨论计算机安全。主题3700,消息2.57万。
  9. 数字相机与视频:讨论摄影摄像设备。主题5600,消息6.63万。
  10. 游戏主机:讨论游戏机与主机游戏。主题1.19万,消息29.83万。
  11. 移动设备:讨论智能手机等。主题1.71万,消息33.53万。
  12. 音频组件:讨论音响设备。主题1.09万,消息11.82万。
  13. 电视:讨论电视与家庭影院。主题4100,消息2.54万。

三、 社区与非技术话题

  1. 热门优惠与赠品:分享网络上的优惠信息。主题12.53万,消息170万。
  2. 非主题讨论俱乐部:综合性闲聊区,极为活跃。主题79.4万个,消息1830万条
  3. 政治与新闻:严肃的时事政治讨论。主题8.42万,消息430万。
  4. 咨询技术专家:深入的硬件与架构讨论。主题8400,消息9.19万。
  5. 车库:讨论汽车相关话题。主题2.08万,消息49.29万。
  6. 家庭与园艺:分享家居改善与园艺技巧。主题2400,消息3.54万。
  7. 论坛问题与反馈:处理论坛账号及技术问题。主题1.64万,消息12.32万。

总结:该论坛结构清晰,覆盖了从PC硬件、软件编程到生活娱乐的广泛话题。其统计数据显示,电脑构建、非主题讨论俱乐部和PC游戏是社区最活跃的区域,反映出其作为硬件爱好者与综合技术社区的定位。

2. The secret inside One Million Checkboxes (eieio.games)

百万复选框中的秘密

作者在2024年6月26日发布了一个名为“百万复选框”(OMCB)的网站,包含一百万个全局复选框,任何用户的勾选或取消勾选操作都会实时同步给所有访问者。该网站意外走红,在两周内吸引了50万用户,产生了超过6.5亿次操作,并被多家媒体报道。

技术限制与巧妙发现

为防止用户绘制不当内容,作者通过调整复选框行数与浏览器宽度的比例,使得用户在不同设备上无法看到彼此的涂鸦。同时,网站使用位(bit)来高效存储复选框状态:每个复选框对应一个位(1为勾选,0为未勾选),整个状态仅需125KB存储空间。

几天后,作者在数据库的ASCII编码数据中意外发现URL链接(如指向catgirls.win),起初误以为是黑客入侵。经排查发现,这些URL实际是由用户通过勾选特定复选框形成的二进制数据转换而来:8个复选框状态组成一个字节,对应一个ASCII字符,从而拼写出完整的URL。

青少年黑客的创意行动

通过该URL,作者加入了一个名为“Checking Boxes”的Discord服务器,发现一群技术精湛的青少年正在利用网站进行创作:

  • 他们将百万复选框状态渲染为1000x1000像素的图像(黑色为勾选,白色为未勾选)。
  • 在图像中隐藏了多种信息:包括二进制消息、Base64编码的URL,以及带有纠错功能的QR码,全部指向同一个Discord服务器,以吸引更多编程爱好者。
  • 随着时间推移,他们开发了更复杂的绘图系统,甚至尝试制作动画和模拟颜色显示。
  • 在作者关闭网站前移除速率限制的夜晚,他们展示了精彩的动画创作,包括一个Rickroll动画。

尽管部分用户抱怨机器人的使用影响了体验,但作者认为这些青少年的创造力和技术能力令人钦佩。作者将这段经历与自己高中时通过编程恶作剧并受到鼓励的往事相联系,对这些青少年的成就感到骄傲和感动。

这段经历让作者深感欣慰,他期待这些青少年未来能创造更多精彩的作品。

4. Judge rules $400M algorithmic system illegally denied Medicaid benefits (gizmodo.com)
5. CIEL Is an Extended Lisp (ciel-lang.org)

CIEL (CIEL Is an Extended Lisp) 项目摘要

CIEL 是一个扩展的 Lisp 环境,当前版本为 0.0-dev。该项目旨在提供一个“开箱即用”(batteries included)的开发体验,完全基于 100% Common Lisp 构建。

核心特性与功能

  • 开箱即用:内置了丰富的库和实用工具,开发者无需繁琐的额外配置即可使用常见功能。
  • 脚本化运行:支持通过 Shebang(如 #!/usr/bin/env ciel)直接作为脚本执行,简化了代码的运行流程。
  • 内置网络与数据处理:原生集成了 HTTP 请求和 JSON 解析等现代开发常用模块。示例代码展示了如何直接调用 http:get 获取网络 API 数据,并使用 json:read-json 进行解析和打印输出。

文档与资源说明

由于当前的文档网页依赖 JavaScript 进行渲染,在无 JS 环境(如 EWW 浏览器)下无法查看完整内容。如需获取项目的更多详细信息和完整文档,建议直接访问其 GitHub 仓库

6. Anthropic's Prompt Engineering Interactive Tutorial (github.com)

Anthropic 提示工程互动教程摘要

课程目标

该课程旨在提供全面、分步骤的指导,帮助用户掌握如何在 Claude 模型中设计最佳提示。完成课程后,用户将能够:

  • 掌握良好提示的基本结构。
  • 识别常见失败模式并学习“80/20”应对技巧。
  • 理解 Claude 模型的优势与局限。
  • 从零开始为常见用例构建有效的提示。

课程结构与特点

  • 实践导向:课程包含9章及配套练习,并附有更高级方法的附录。每章底部设有“示例练习区”,供用户自由实验和观察提示变化对 Claude 回复的影响,并提供答案参考。
  • 模型说明:教程主要使用最小、最快且最经济的模型 Claude 3 Haiku。Anthropic 还提供更智能的 Claude 3 Sonnet 和最强智能的 Claude 3 Opus 模型。
  • 平台推荐:教程也提供基于 Google Sheets 的版本(通过 Anthropic 的 Claude for Sheets 扩展),推荐使用此版本以获得更友好的用户体验。

目录结构

课程按章节组织,包含课程与练习,分为三个难度级别:

初级

  1. 基本提示结构
  2. 清晰与直接表达
  3. 分配角色

中级

  1. 数据与指令分离
  2. 输出格式化与替 Claude 发言
  3. 预认知(分步思考)
  4. 使用示例

高级

  1. 避免幻觉
  2. 构建复杂提示(行业用例)
    • 从零构建复杂提示:聊天机器人
    • 复杂提示用于法律服务
    • 练习:复杂提示用于金融服务
    • 练习:复杂提示用于编码

附录:超越标准提示

  • 提示链
  • 工具使用
  • 搜索与检索
8. The vagus nerve orchestrates the mind-body connection (www.quantamagazine.org)

迷走神经是人体最长的神经,连接大脑与全身多个器官,在协调身心互动中起着核心作用。它起源于脑干延髓,直接从大脑发出(而非脊髓),并像“高速公路网络”一样分支到头部和躯干的各个关键部位,包括心脏、肺、肠道等。左右迷走神经分别连接大脑左右半球,但因身体器官不对称(如心脏偏左、肝脏偏右),左右神经长度和功能有所不同。

迷走神经调控许多非自主的生理功能,包括心率、血压、呼吸、消化和免疫反应,充当着身体的“刹车”与“油门”。例如,在恐惧或威胁情境下,它不仅负责引发应激反应(如心跳加速、出汗),还在反应后帮助身体恢复平静状态(如降低心率、血压)。这种调控是双向的:迷走神经既向大脑传递身体状态信号,也向身体发送大脑的指令,从而整合情绪、感知与生理反应(如性唤起、恐惧后的平复)。

近年来,迷走神经刺激成为神经科学研究的热点,通过轻微电刺激可应用于治疗癫痫、抑郁症、中风后活动障碍、偏头痛等。刺激方式包括手术植入电极或非侵入性耳部夹持。然而,一些所谓的“多迷走神经疗法”(如特定呼吸练习)缺乏科学依据,可能只是安慰剂效应。

总之,迷走神经通过广泛的分布与双向调节,构成了身心连接的关键通道。没有它,大脑与身体的协调将中断,许多核心情绪体验(如恐惧、愉悦、威胁应激)将无法正常产生。

9. Programming Zero Knowledge Proofs: From Zero to Hero (zkintro.com)

本文是一篇面向开发者的零知识证明(ZKP)编程教程,旨在展示如何将复杂的密码学协议(如群签名)转化为直观的编程任务。文章以 Circom(领域特定语言)和 Groth16(证明系统)为核心技术栈,详细讲解了 ZKP 电路的“编辑-构建-运行”开发周期。

核心开发流程

  1. 环境准备:配置 Rust、npm、Circom 和 snarkjs 等依赖,通过自动化脚本简化环境搭建。
  2. 编写与编译电路:使用 Circom 定义算术约束,编译生成 .r1cs(一阶约束系统)和 .wasm(用于生成见证)文件。
  3. 可信设置(Trusted Setup):Groth16 系统需要可信设置来生成证明密钥和验证密钥。该过程分为与电路无关的 Phase 1 和特定电路的 Phase 2。
  4. 生成与验证证明:证明者使用私密输入生成见证(Witness)和证明;验证者利用公开输出和验证密钥进行校验,充分体现了 ZKP 的隐私性与简洁性。

迭代实践与关键功能

  • 基础乘法电路:实现基础约束(c <== a * b),证明知晓某公开数的两个私密因子,帮助开发者理解信号、输入输出及约束机制。
  • 约束优化:针对基础电路允许输入“1”的逻辑漏洞,引入 circomlib 库中的 IsZero() 组件增加排他性约束,完善质因数分解逻辑。电路修改后仅需重新执行 Phase 2 设置。
  • 数字签名实现:摒弃复杂的传统公钥密码学,采用 ZK 友好的 Poseidon 哈希函数和承诺(Commitments)机制。通过约束验证“身份承诺由身份密钥哈希生成”及“签名由身份密钥与消息哈希生成”,实现轻量级数字签名。
  • 群签名扩展:在数字签名基础上,利用循环和算术表达式扩展实现群签名。允许用户证明自己是特定群体的一员并签署消息,同时完全隐藏具体身份。

核心优势

文章通过循序渐进的代码示例,阐明了 ZKP 在提供隐私保护和计算压缩方面的优势。开发者无需深厚的密码学数学背景,即可利用 ZKP 工具和标准库,将抽象的密码学问题转化为标准的编程任务,高效构建和验证安全应用。

10. SDL3 new GPU API merged (github.com)
# SDL3 新 GPU API 合并

本文档记录了与 **SDL3 GPU API**(对应 Pull Request `libsdl-org/SDL#9312`)相关的一个早期概念验证项目的开发进展。

## 核心信息
*   **项目性质**:这是一个 **非常早期的概念验证**,旨在支持 SDL3 的新 GPU API。
*   **关联链接**:项目明确引用了 SDL3 的官方 Pull Request `#9312`。

## 主要局限与待办事项
根据多次提交的描述,该实现目前存在以下关键缺陷和未完成的工作:
1.  **代码质量与稳定性**:
    *   缺乏完善的清理和错误处理机制。
    *   存在一些奇怪的帧缓冲区错误,尤其在 `hasvk/wayland/HSW` 环境下,可能与驱动程序有关。
    *   某个版本会导致 RenderDoc 崩溃。
2.  **架构与集成**:
    *   未能与 Vulkan 后端进行良好分离(实现了此功能但破坏了原有的 Vulkan 着色器)。
    *   构建系统仅支持 CMake,缺乏 Makefile 实现。
3.  **功能与验证**:
    *   无法清晰地清除信箱/邮筒模式区域,理想情况是能在一个渲染通道内完成清除和位块传输。
    *   **仅使用 Vulkan 后端进行了测试**,未在其他后端(如 DirectX、Metal)上验证,而 Vulkan 后端通常比其他后端更宽松。

## 开发时间线
*   **2024年3月31日**:`aganm` 提及了此 Pull Request。
*   **2024年9月**:开发者 `sulix` 在其 `omnispeak` 仓库中多次提交更新,内容均为上述同一份早期概念验证的迭代,并持续列出待办事项。提交日期包括9月5日、9月9日、9月13日、9月27日。
*   **2024年9月21日**:`bdach` 也提及了此 Pull Request。

## 总结
该内容展示了一个针对 SDL3 新 GPU API 的**实验性、早期原型开发过程**。其核心价值在于为新 API 提供了初步的实践反馈和问题暴露,但目前状态极不稳定,功能缺失,并且测试范围非常有限,仅覆盖了 Vulkan 后端。开发者的持续提交记录强调了项目仍处于探索和问题收集阶段。
11. Dawn of a new era in Search: Balancing innovation, competition, and public good (blog.kagi.com)

搜索新时代的黎明:在创新、竞争与公共利益之间取得平衡

本文围绕谷歌搜索被裁定为垄断一案展开分析,指出其垄断地位根植于其独有的搜索索引、用户索引和广告商索引三大核心资产。文章认为,对消费者的主要伤害并非源于搜索引擎接入选择有限,而是源于搜索体验本身的单一性——受广告利益驱动的商业模式导致搜索结果质量下降、广告泛滥、隐私风险及激励错配。

核心问题与背景

  • 垄断裁定:法官已裁定谷歌在搜索领域构成垄断,其市场份额超过90%。
  • 自我强化的飞轮:谷歌构建了一个用户、广告商和网站管理员共同参与的自我强化循环,使其垄断地位难以撼动。即使是巨额投入的竞争对手(如微软的必应)也难以突破。
  • 消费者伤害:谷歌的广告商业模式导致三大核心索引的控制权集中,其广告驱动的搜索体验(如排名、展示)优先考虑广告商而非用户的最佳利益,具体表现为结果质量下滑、广告饱和、隐私问题和激励错配。

对现有救济措施的批评

文章认为,现行讨论的救济措施(如限制默认搜索引擎协议、分拆业务等)主要旨在削弱谷歌,而未能真正促进创新、多元化竞争和消费者福祉的根本提升。

提议的创新性救济方案

本文提出了一项旨在实现《谢尔曼法案》核心目标(保护消费者、维护竞争市场)的新型救济方案

  1. 核心思路:将谷歌的搜索索引从其商业模式(用户索引和广告商索引)中分离。
  2. 关键举措:将搜索索引视为数字时代的“必需设施”,并依据反垄断法中的“必需设施原则”,以合理、公平和非歧视的条款向竞争对手提供访问权限。
    • 分离索引与产品:允许其他公司利用同一高质量的网络索引开发创新的搜索解决方案。
    • 标准化API访问:提供定义清晰、公平的编程接口。
    • 分层定价模型:使初创公司和大公司都能以合理成本访问索引。
    • 设立监管机构:确保公平访问和合规性。

方案的预期效益

  • 促进竞争与创新:大幅降低进入门槛,催生新的、专业化的搜索引擎和应用。
  • 支持多元化商业模式:使付费、隐私保护型或免费公共搜索等不同模式得以共存,为用户提供更多选择。
  • 改善隐私与搜索质量:推动开发不依赖数据收集的搜索产品,并通过竞争提升算法和整体用户体验。
  • 维护搜索作为公共产品:确保对高质量搜索能力的广泛访问,维持其作为关键信息资源的地位。
  • 推动经济增长:开放的搜索索引可催生基于搜索能力的新业务和服务。
  • 促成公共搜索引擎:将信息访问视为数字时代的基本人权,提议创建一个由纳税人资助、服务公共利益的公共搜索引擎。

挑战与展望

该方案也面临创新激励、技术可行性、国际协调、公平补偿及意外后果等挑战,但文章认为这些并非不可克服。作者呼吁政策制定者、行业领袖和公众共同参与讨论,协作塑造一个更能服务用户需求、促进创新、尊重隐私并确保信息公平获取的搜索未来。

12. Experience the Apollo 11 Lunar Landing (www.firstmenonthemoon.com)

体验阿波罗11号登月项目概述

本项目旨在让用户沉浸式重温1969年阿波罗11号登月的历史性时刻。其核心内容与特点如下:

  • 历史回顾:聚焦1969年三名宇航员探索未知领域的全球瞩目事件。
  • 多维体验:提供观看与聆听功能,重现登月过程中的激动氛围。
  • 精准还原:以分钟为单位,真实再现阿波罗11号机组人员与任务控制中心(Mission Control)的第一视角经历。
  • 关键节点:涵盖了如“是否准备好进行动力下降(Powered Descent)”等登月任务中的关键决策与通信瞬间。
13. I'm blocking connections from AWS to my on-prem services (consulting.m3047.net)

文章总结了互联网发展史,指出现代云服务(如AWS)的崛起可能导致互联网的“巴尔干化”,即形成孤立、缺乏互操作性的封闭生态系统。作者回顾了从NSFNet时代到商业互联网的演变,说明当前云服务提供商已形成庞大、自成一体的社区,与开放互联网存在隔阂。

作者基于实际经验,决定屏蔽来自AWS的连接至其本地服务器。此举主要出于以下原因:

  • 应对来自AWS IP范围的滥用流量(如过度ping、扫描),这些流量源于云服务的短暂性和匿名性。
  • AWS庞大的IP地址空间导致防火墙规则管理复杂,屏蔽可简化运维。
  • 作者运营的服务(如Web、DNS、SMTP)主要面向个人用户,且长期采取“禁止爬虫”政策。
  • 技术上可通过初始握手区分客户端/服务器,因此仅屏蔽AWS作为客户端的入站连接,而不影响本地客户端访问AWS。

作者对SMTP做出例外,因其依赖反向DNS验证发件服务器合法性。他指出云服务商通常反向DNS配置不佳,但AWS相对较好。作者批评云服务商缺乏透明度,未提供有效机制(如反向DNS、whois)来帮助识别和协作处理滥用问题。

最后,作者呼吁云服务商(特别是大型提供商)承担更多责任,建立完善的滥用报告和溯源机制,以促进更健康的互联网协作,否则“巴尔干化”趋势可能加剧。

14. Open Source Twitch for Developers (github.com)

Algora TV 是一个面向开发者的互动直播和视频分享服务。其最新功能“直播广告牌”允许在直播中插入视频广告,帮助开发者通过直播获得收入,同时为开发工具公司提供新的受众触达渠道。

本地环境设置指南
开发环境需要以下前提条件:

  • Elixir 和 Erlang/OTP(推荐使用 asdf 安装,需 Elixir 1.17.3+ 和 Erlang 27.1+)
  • PostgreSQL
  • FFmpeg
  • ImageMagick
  • OBS Studio(推荐用于测试直播功能)

项目初始化步骤

  1. 克隆仓库并进入目录。
  2. 安装依赖(Apple ARM 芯片设备需额外安装 Rust 编译器并运行特定命令)。
  3. 创建并配置 .env 文件。
  4. 创建 PostgreSQL 用户并授权。
  5. 执行数据库迁移和种子数据填充。
  6. 启动开发服务器。

外部服务集成

  • GitHub:用于用户认证,需创建 OAuth 应用并配置回调地址。
  • Tigris:用于存储和分发直播流及媒体文件,需创建公开存储桶并配置 S3 兼容端点。

系统架构概览

  • 流媒体处理流程
    编码器(如 OBS)通过 RTMP 发送流数据,经 FLV 解复用、H264/AAC 解析和封装后,生成分片 MP4(fMP4)格式,通过 HLS 协议上传至 Tigris 对象存储。
  • 整体架构
    流媒体上传至 Fly.io 部署的 Elixir 应用,经 RTMP 服务器(Membrane)处理后存储于 Tigris。观众通过 Tigris 获取直播流,同时通过 Fly.io 的 Phoenix Web 服务器交互。

许可证与致谢
项目采用 AGPLv3 许可证,并感谢 Tigris、Fly.io、Phoenix Framework、Ecto、Membrane、FFmpeg 和 Tailwind CSS 等开源项目的支持。

15. DuckDuckGo for Mac is now open source (github.com)

文章摘要

本文是关于 DuckDuckGo for Mac 浏览器开源项目 的重要公告与开发指引。

主要更新与说明

  • 项目迁移:DuckDuckGo Mac 版的源代码已迁移至新的代码仓库 duckduckgo/apple-browsers。原仓库不再接受贡献,所有错误报告和功能请求都应提交到新仓库。
  • 构建准备
    • 子模块:项目使用 Git 子模块,克隆后需运行 git submodule update --init --recursive 来获取。
    • 开发者配置:非 DuckDuckGo 团队成员的开发者,需在项目的 “Signing & Capabilities” 中自行选择团队并设置自定义的 Bundle Identifier。
    • 依赖管理:使用 Swift Package Manager,无需额外配置。
    • 代码规范:使用 SwiftLint 来强制执行 Swift 代码风格和规范,开发者需自行安装。
  • 术语更新:项目已对含有种族主义色彩的术语进行了更新,例如将主分支改为 main,使用允许列表和阻止列表等。
  • 参与贡献:有意参与贡献者,请参阅贡献指南。
  • 支持与反馈
    • 帮助中心提供产品信息及隐私保护说明。
    • 用户可通过官方网站或浏览器内的 “发送反馈” 功能(三点菜单中)提交反馈或问题。
  • 开源许可:项目采用 Apache 2.0 许可证
17. Things my girlfriend and I have argued about (www.thingsmygirlfriendandihavearguedabout.com)

《我和女朋友争论的事情》总结

这篇文章以幽默自嘲的笔调,列举了作者(Mil)与其德国女友玛格丽特(Margret)之间无数琐碎而又常见的日常争论,生动描绘了一段充满张力、笑声与无奈的真实情侣生活。

核心主题

争论围绕日常琐事展开,看似荒诞,却深刻反映了两人性格、文化背景和生活习惯的差异。作者通常自认理性,而女友的行为则常被描绘为难以预测甚至“疯狂”。

主要争论类别与典型例子

1. 生活习惯与家务琐事

  • 烹饪与清洁:玛格丽特做饭后厨具堆积如山,而作者只用一锅一勺;作者负责洗碗,但对女友使用清洁剂导致水槽变蓝等“事故”保持沉默。
  • 空间占据:两人常“碰巧”想站在同一个位置,导致轻微的身体冲撞或口角。
  • 冷冻食品囤积:玛格丽特疯狂囤积打折食品,导致冰箱过度拥挤、食物包装被拆、烹饪说明丢失。
  • 悬挂装饰物:玛格丽特热衷于在房间各处悬挂风铃、植物等,作者深受其扰。

2. 消费与金钱观

  • 礼物困境:每逢节日,玛格丽特要求“惊喜”,但无论作者送什么,几乎总收到“你当时在想什么?”的反应。寻找完美礼物成为耗时数月的痛苦任务。
  • 现金管理:玛格丽特永远缺现金,作者从取款机取出的钱常在几分钟内被她“征用”。
  • 购物习惯:玛格丽特曾在商场更衣区外的开放区域直接试穿牛仔裤,作者费尽口舌才让她明白这在英国不被接受。

3. 沟通与观影习惯

  • 电影解说员:玛格丽特看影视作品时,无法停止提问(“她是谁?”“他为什么中枪?”),甚至提前剧透,作者几近崩溃。
  • 电视争论:关于遥控器的所有权、寻找责任及频道更换权,能引发四种类型的争执。
  • “你在干什么?”:玛格丽特经常在作者进行任何活动(如看书、削土豆)时发出此问,即便答案显而易见。

4. 驾驶与事故

  • 驾驶风格:玛格丽特在德国路考时曾因不确定该靠哪边行驶而询问正在开车的作者;她曾多次撞到静止物体(如停车场标志)和其他车辆。
  • 破坏力:度假时,她将作者的新数码相机交给幼子玩耍,导致相机摔坏;在人迹罕至的海滩,她精准撞上了附近唯一的另一辆车。

5. 度假与社交场合

  • 裸照展示:在德国亲友家做客时,他们常展示玛格丽特过往的裸体照片,作者只能强忍不适。
  • 争论升级:一次度假中,玛格丽特撞车后作者未发一言,但随后她却因作者未彻底清理浴室而大发雷霆,展现了其“不成比例”的反应模式。

6. 个人习惯与误解

  • 剃须镜:玛格丽特认为作者剃须时使用镜子是“自恋”,并以前男友们都不用为证(作者暗讽那些前男友已无法发声)。
  • 剃须泡沫:早晨,玛格丽特看到作者耳朵有白色残留,第一反应是“耳朵里有黄油吗?”,而非更合理的剃须泡沫。
  • 穿着变化:玛格丽特断定作者开始穿T恤是其“中年危机”的标志,依据薄弱至极。

关系本质

文章通过这些源源不断的争论,刻画了一种充满活力、坦率直接的关系。争吵虽琐碎且常令人沮丧,但背后是长期的相互容忍、独特的相处模式,以及隐藏在幽默叙述下的深厚情感。作者最终也承认,尽管抱怨不断,但玛格丽特在一些关键时刻(如提醒作者已有牙医预约)的细心,让他感受到爱意。整篇文章是对于亲密关系中磨合、沟通与幽默感的生动礼赞。

18. Google Closure Library has been archived (github.com)

Google Closure Library 已被归档

文章主要信息是 Google Closure Library 已被归档(archived)

文章的其余部分为 GitHub 平台的功能和解决方案的介绍与导航菜单,涉及内容包括:

  • 开发工具:GitHub Copilot、Codespaces、Actions 等。
  • 安全与应用:代码安全、漏洞检测。
  • 解决方案分类:按公司规模、使用场景(如DevOps、CI/CD)、行业(如金融、医疗)等分类。
  • 企业服务:企业级平台、高级安全功能、技术支持。
  • 社区与资源:开发者社区、文档、博客等。

尽管文章大量篇幅用于展示 GitHub 的生态,但其核心且明确的结论是:Google Closure Library 这个项目已经进入归档状态。

19. Firewall rules: not as secure as you think (www.haskellforall.com)

本文介绍了几种在严格企业防火墙环境下实现主机突破限制的技术,适用于需要在受限网络中部署软件的场景(如本地部署软件供应商)。核心目标是利用最少的防火墙权限实现任意协议的双向通信。

关键动机:软件供应商需要在客户数据中心内运行软件,但客户通常不愿为维护或升级开放过多防火墙权限(如直接SSH访问)。因此,需要隐蔽的技术手段绕过限制。

四种关键技术

  1. 正向代理:在外部主机设置代理(如Squid),允许内部主机通过该代理访问任意外部地址,绕过客户防火墙对目标地址的限制。
  2. TLS终止反向代理:为避免防火墙检测到未加密的代理流量,使用反向代理(如stunnel、nginx)加密通信。将外部主机的443端口流量解密后转发给本地代理,使连接看起来像正常的HTTPS请求。
  3. 反向隧道:利用TCP长连接的双向特性,通过SSH反向隧道(ssh -R)将外部主机的端口映射到内部主机,从而在外部主机接收连接并转发至内部主机,实现“入站”连接。
  4. Corkscrew:将SSH连接封装为HTTP流量,再通过stunnel客户端模式进一步伪装为HTTPS流量。最终使SSH连接看起来像普通的HTTPS出站请求。

终极方案: 结合以上技术,可实现通过出站HTTPS请求建立入站SSH连接

  1. 在内部主机使用Corkscrew和stunnel客户端将SSH流量伪装为HTTPS请求,连接至外部主机。
  2. 通过该伪装连接建立SSH反向隧道,将外部主机的某个端口(如17705)映射到内部主机的SSH端口(22)。
  3. 此后,通过外部主机的映射端口即可直接SSH访问内部主机,对客户防火墙而言仅为正常的HTTPS出站连接。

总结

  • 这些技术依赖于对连接双方主机的控制。
  • 客户防火墙仅能监控内部主机与外部主机之间的直接通信,无法洞察代理后或隧道内的真实流量。
  • 实现上述方案仅需客户允许内部主机向外部主机发起HTTPS连接(443端口),这是最常见且宽松的防火墙规则之一。
  • 相关工具已集成于holepunch仓库中,可供直接使用或参考。

本文说明,若通信双方由同一实体控制,仅靠防火墙规则难以完全阻止连接逃逸,通过组合开源工具可实现隐蔽的通信突破。

21. Rust's Ugly Syntax (2023) (matklad.github.io)

本文探讨了 Rust 语法看似“丑陋”的争议。作者认为,许多对 Rust 语法的抱怨实际上源于对 Rust 语义的反对。文章通过一个标准库中读取文件内容的函数示例进行了说明。

该函数示例的复杂性主要体现在泛型约束 P: AsRef<Path> 和一个嵌套的内部函数上。作者指出,内部函数的使用与编译优化策略有关(将泛型代码与用户代码编译以实现内联优化),而泛型约束 AsRef 则是为了接受多种能表示文件路径字节切片的抽象类型,这关乎性能。

为了阐明语法与语义的关联,作者进行了两个方向的实验:

  1. 虚构语言重写:作者将同一个函数用多种虚构的编程语言风格(如Rs++、Rhodes、CrabML等)重写,以展示如果Rust采用不同语法,代码可能呈现的外观。这些例子旨在说明,语法差异可能掩盖了相似的语义核心。

  2. 简化语义实验:在保持 Rust 语法不变的前提下,作者尝试逐步简化函数背后的语义,以得到更简洁的代码:

    • 移除嵌套函数(牺牲少量编译优化性能)。
    • 移除泛型约束 AsRef<Path>,要求通过虚拟调用而非直接内存访问来操作抽象类型(牺牲性能)。
    • Vec<u8> 替换为运行时提供的不透明 Bytes 类型(失去对内存布局的直接控制)。
    • 引入垃圾回收(GC)并移除显式的借用标记(失去部分性能优势和内存安全保证)。
    • 简化错误处理,移除 ? 运算符和显式的 Result 返回类型(丧失编译时强制的错误处理)。

经过这一系列简化,代码变得极其简洁,但作者通过这一过程揭示了 Rust 语法复杂性的根源:它所表达的 语义(如泛型的单态化、零成本抽象的内存布局控制、所有权与借用系统、显式错误处理)正是 Rust 获得高性能、内存安全和并发安全等核心特性的基础。因此,Rust 的语法是其强大但有时略显复杂的语义的外在表现。

22. Visit Bletchley Park (bletchleypark.org.uk)

布莱切利公园博物馆参观指南

布莱切利公园是英国一处重要的博物馆和遗产景点,全年每日开放(9:30-17:00),旨在让游客探索二战时期英国密码破译者的非凡成就,以及他们在这历史原址中的故事。

核心信息

  • 开放时间:每日9:30至17:00,全年无休。
  • 参观亮点:游客可在此了解二战密码破译的历史,并参与互动展览。
  • 优惠活动
    • 在线预订可享受标准门票10%的折扣。
    • 10英里半径内的本地居民可享受50%的门票折扣。
  • 临时展览:“人工智能时代”展览持续至2026年底,门票包含在内。

近期活动与展览

  • 活动
    • 1940年代周末(6月13-14日):体验音乐与时代氛围。
    • 波兰密码破译节(7月25-26日):探索密码破译历史。
    • 艺术在公园(7月1日):参与创意活动。
    • 布莱切利公园之夏(7月25日-8月31日):体验特别故事与活动。
  • 常设与临时展览
    • 人工智能时代:探讨人工智能在当代与未来的影响。
    • 情报工厂:展示1942-1945年间,布莱切利公园如何工业化运营,员工增至约9,000人。
    • D-Day:拦截、情报与入侵:突出布莱切利公园情报在诺曼底登陆中的关键作用。
    • 11A棚:Bombe突破:介绍Bombe机器的历史,位于原址展示。

游客服务

  • 无障碍与设施:提供无障碍信息和服务详情。
  • 家庭友好:设有“顶级秘密任务包”和免费家庭多媒体导览。
  • 餐饮:Block C咖啡店和Hut 4咖啡馆提供餐饮选择。
  • 视频导览:官网提供参观体验视频,帮助游客提前了解。

媒体与荣誉

  • 新闻:布莱切利公园在2026年VisitEngland卓越奖中获得银奖。
  • 播客系列:多个剧集探讨密码破译历史、人物与音乐在公园中的角色,如:
    • E191:布莱切利公园的音乐。
    • E190:聚焦乔希·库珀。
    • E189:迪利与他的女孩们(关联马塔潘角战役85周年)。
    • E188:聚焦艾米莉·安德森。

布莱切利公园通过展览、活动和教育项目,持续为游客提供沉浸式的历史与科技体验。

24. Launch HN: CodeViz (YC S24) – Visual maps of your codebase in VS Code
25. Language and shell in Go with 92% test coverage and instant CI/CD [video] (www.youtube.com)
26. JPMorgan's Python training for business analysts and traders (github.com)

课程概述 该Python培训面向摩根大通的业务分析师、交易员及部分特定客户。课程旨在介绍Python中的数值计算与数据可视化,重点不在于系统的计算机科学或编程教学,而是展示即使没有编程背景的人员也能理解和使用相对复杂的主题,具有启蒙和示范性质。

授课形式 培训采用线下形式,由摩根大通的技术人员和交易员主讲。有意参与的机构客户请联系其摩根大通团队。

技术平台与数据来源 本课程依赖Binder项目实现在线环境,该项目得到Google Cloud Platform、OVH、GESIS Notebooks和Turing Institute的支持。

  • 金融数据来源:IEX Cloud
  • 机场与航线数据来源:OpenFlights.org

许可信息 本软件依据Apache 2许可授权,详见LICENSE文件。

27. Tabbed out on the Oregon Trail (blog.zarfhome.com)

文章标题: Tabbed out on the Oregon Trail
主要内容:
这篇文章介绍了一本基于俄勒冈小径的互动游戏书《Pick Your Own Path on The Oregon Trail》(2020年,作者Jesse Wiley),重点讨论其罕见的“标签页”格式和内容特点。

关键点:

  • 书籍格式: 该书采用不常见的“标签页”格式,而非传统的“翻到第N页”游戏书。这种格式涉及模切标签、厚纸和全彩印刷,制作成本高昂,布局复杂(类似Jason Shiga的《Meanwhile》,需解决NP完全问题)。
  • 历史背景: 俄勒冈小径起源于1971年的早期叙事文本游戏,后经多次移植和重制。2008年,Gameloft获得许可证并发布现代版本。2018年左右,衍生出CYOA(选择你自己的冒险)书籍系列,前四本为普通格式,共八本,署名Jesse Wiley(可能为笔名或集体假名)。
  • 新书特点: 2020年出版的新书使用全彩印刷,包含面板和标签,但文本简短(每页仅几句话),配有像素风格插图。故事结构简单,有两条主要分支,共25个失败状态和3个胜利状态,死亡原因包括疾病、事故等。
  • 内容评论: 书籍缺乏历史背景,未提及前往俄勒冈的原因,但避免了对美洲原住民的负面描绘。设计上存在逻辑不一致(如循环节点和时间错误),决策点有时任意。作者对格式起源和Jesse Wiley身份感到好奇,但未获明确答案。
  • 总结: 这本书虽格式新颖,但内容相对简单,格式制作难度大,作者呼吁更多关于此类游戏书的信息。
28. Build Your Own Z80 Computer: Design Guidelines and Application (1981) (archive.org)