2024-05-26

29 篇热帖

1. Cloudflare took down our website (robindev.substack.com)

Cloudflare 强制客户升级企业计划并导致网站宕机事件摘要

事件概述

一家拥有约400万月活用户的在线赌场公司,自2018年起一直使用 Cloudflare Business 计划(250美元/月),主要用于CDN和DDOS防护。2023年4月起,Cloudflare 通过邮件以“滥用问题”为由联系该公司,实则施压要求其升级至 Enterprise 计划

经过详情

  1. 初次接触与施压

    • Cloudflare 以“滥用问题”为由发送邮件,实为销售团队接触,要求考虑企业计划。
    • 两周后再次邮件,指控该公司使用多个镜像域名可能违反服务条款(TOS),但未明确具体违规域名。
    • 与所谓“信任与安全团队”的通话实为销售代表,对方开出 每月1万美元(需预付全年12万美元) 的合同,并声称这是唯一解决方案。
  2. 谈判与胁迫

    • 公司尝试协商,提出无需那么多功能、希望按月支付等,均被拒绝。
    • Cloudflare 给出 24小时 的签约最后通牒,后经公司高层交涉才延长一周。
    • 当公司提到正与竞争对手(Fastly)接触后,Cloudflare 数小时内删除了所有域名配置,导致:
      • 公共网站、客户邮件(包括支持邮件)、内部基础设施全部瘫痪。
      • 仅剩的客服邮件(如工单系统)也无人回应。
      • 团队被迫紧急迁移至Fastly,造成数小时至48小时不等的DNS传播延迟,持续数周影响。
  3. Cloudflare 的回应

    • 删除配置前发邮件声称“不影响现有服务”,与实际情况严重不符。
    • “信任与安全团队”始终未主动联系,账户持续被锁定。

作者提出的警告与建议

关于 Cloudflare 的商业行为

  • 定价不透明:企业计划价格基于公司估计的客户支付能力,而非固定标准,同类服务报价可能相差十倍。
  • 销售手段强硬:会利用任何借口(如多域名使用)强迫升级至企业计划,并设下不合理期限施压。
  • 支持渠道有限:低价客户难以获得非销售相关的支持回应。

技术迁移与准备建议

  • 域名注册:切勿在 Cloudflare 注册域名,以免迁移时被卡脖子。
  • 缓存配置:避免使用自定义缓存规则,应设置为“始终缓存”并“遵循源标头”,便于未来迁移至其他代理。
  • 避免使用专有产品:尽量不使用 Cloudflare 特有功能(如 Zero Trust、Workers),优先采用兼容第三方的标准方案。
  • 备份配置:务必备份所有在 Cloudflare 上的配置(DNS、邮件记录、速率限制规则等)。
  • 评估必要性:考虑是否真的需要 Cloudflare。它主要防御大规模DDOS,对针对具体应用层的攻击可能效果有限,且专业攻击服务常针对 Cloudflare 用户进行绕过。

商业模式认知

  • 作者认为 Cloudflare 的商业模式是二选一:要么你以低价“利用”它的服务,要么它以高价“榨取”你的价值,没有中间地带。

总结

此事件暴露了 Cloudflare 在商业操作上可能存在的胁迫性销售策略和风险。对于依赖其服务的企业,尤其是流量增长后可能面临强制升级的客户,必须提前规划技术方案的独立性与迁移准备,避免业务因服务提供商的单方面决定而陷入瘫痪。

2. Google Meet rolls out multi-device adaptive audio merging (workspaceupdates.googleblog.com)

Google Meet 新功能:自适应音频合并,支持多设备协同

功能发布日期:2024年5月22日(快速发布域),2024年6月5日(计划发布域)

核心功能:在混合办公模式下,允许同一房间内的多个用户各自使用笔记本电脑加入同一 Google Meet 会议,系统可自动合并并优化音频,消除回声和反馈,确保所有人清晰沟通。

主要特点与优势

  • 自动检测与同步:自动识别同一房间内多台设备,并同步麦克风与扬声器。
  • 提升会议灵活性:解决会议室资源不足、硬件故障或缺乏专用设备的问题,支持在休息室、咖啡馆等非正式场地快速组建临时会议空间。
  • 优化音频体验:使用每位参与者的麦克风和扬声器,确保所有人都能被清晰听到。音频自动合并后,参与者会在人员面板中被分组显示。

使用设置

  • 管理员:无额外控制选项。
  • 终端用户:功能默认开启,可在“设置 > 音频 > 自适应音频”中手动关闭。

推出节奏

  • 快速发布域:自5月22日起逐步推出(功能可见性最长需15天)。
  • 计划发布域:自6月5日起全面推出(功能可见性需1-3天)。

适用范围:适用于拥有 Gemini Enterprise、Gemini Business、Gemini Education、Gemini Education Premium 或 AI 会议与消息附加组件的 Google Workspace 客户。

3. How Home Assistant is being used to protect from missile and drone attacks (denysdovhan.com)

本文介绍了作者在乌克兰战争背景下,如何利用Home Assistant系统来监测和应对导弹与无人机空袭威胁,以保障个人安全。

背景与威胁分级 自2022年俄罗斯入侵以来,乌克兰持续遭受各种空袭。作者指出,空袭警报频繁,但不必每次都躲入掩体。人们通过手机应用和Telegram频道实时监控威胁类型、导弹路径及危险等级,以做出判断。主要威胁包括:

  • MiG-31K战机起飞:可能携带“匕首”高超音速导弹,危险等级较高但发生不频繁。
  • 自杀式无人机攻击:如伊朗Shahed-136无人机,多数被击落但仍具威胁。
  • 弹道导弹攻击:如“伊斯坎德尔”导弹,速度极快,预警时间仅约10分钟,需立即躲避。
  • 巡航导弹攻击:如“口径”巡航导弹,飞行较慢但射程远。 最危险的是组合攻击,常发生在凌晨4点,以无人机和巡航导弹消耗防空系统,随后发射弹道或高超音速导弹。

Home Assistant的自动化监控方案 作者利用Home Assistant构建了多层次预警系统:

  1. 集成内置警报:使用乌克兰全国警报系统集成,当有任何危险时,自动发送关键通知并通过智能音箱播报,确保及时唤醒家人。
  2. 抓取Telegram频道获取实时信息:为减少手动查看手机的频率,作者使用Multiscrape自定义集成抓取Telegram预警频道数据,每5秒扫描一次,并设置了两个关键二进制传感器:
    • 迫在眉睫的攻击传感器:监控“图-95战略轰炸机起飞”等关键词。一旦检测到,意味着巡航导弹攻击即将来临,系统会发送通知,提醒做好准备(如准备避难所、文件)。
    • 直接危险传感器:监控包含“基辅”、“警告”、“快速目标”等关键词的信息。当检测到直接威胁时,系统会触发最高优先级警报:发送临界通知、在全屋扬声器中循环播放“直接威胁,立即隐蔽”的警告语音,并将扬声器音量调高,以确保熟睡者能被唤醒并立即行动。

风险权衡与生活适应 作者坦言,在长期遭受夜间袭击的环境中,人们需要权衡风险:是前往避难所通宵不眠,还是留在家中休息以维持日常工作能力。作者基于对防空系统效能的信任和对风险概率的评估(类似遭遇车祸),多数时候选择留在家中,仅在接收到“直接危险”警报时才躲入浴室(有两道墙与窗户隔离)。他强调这不是安全建议,并呼吁在乌克兰的人们应遵循官方指引,前往避难所。

总结而言,本文展示了如何将Home Assistant这一智能家居平台创造性地应用于极端战时环境,通过自动化整合多方信息源,实现个性化、分级别的威胁预警,从而在战争条件下争取更多的反应时间和生存机会。

5. Turn Your iPhone into a Dumb Phone (dumbph.com)

如何将iPhone变成“笨手机”

本文介绍如何通过简单的应用和设置,将现有iPhone简化,以减少屏幕时间并培养数字极简生活方式,而无需购买新设备。

主要方法

1. 使用极简主屏幕启动器

  • 推荐安装Dumbify(一次性付费4.99美元)或类似应用(如Blank Spaces)。
  • 这些启动器以纯文本列表显示应用名称,取代色彩鲜艳的应用图标,降低视觉吸引力和分心概率。
  • 可自定义显示哪些应用,使主屏幕更简洁。

2. 设置纯色壁纸(隐藏程序坞)

  • 使用与iOS程序坞颜色匹配的纯色壁纸(文章提供了深色/浅色示例)。
  • 隐藏程序坞中的所有应用,实现极简主屏幕。
  • 建议关闭自动深色/浅色模式(设置 > 显示与亮度 > 外观),避免程序坞颜色变化。
  • 可同时关闭主屏幕的“搜索”小组件。

3. 启用灰度显示模式

  • 通过辅助功能设置将屏幕变为黑白灰度,降低应用吸引力。
  • 设置路径:辅助功能 > 辅助功能快捷键 > 开启“颜色滤镜”。三击侧边按钮可快速切换灰度模式。
  • 或直接设置:辅助功能 > 显示与文字大小 > 颜色滤镜 > 灰度。
  • 研究表明灰度模式能减少问题性手机使用及焦虑,但也是最难坚持的调整。
  • 若难以适应,可尝试低饱和度模式作为折中方案。

4. 关闭不必要的通知

  • 关闭大部分应用通知,仅保留必要提醒(如电话、短信、银行应用)。
  • 操作路径:设置 > 通知,按应用自定义通知偏好。
  • iOS 15及以上版本可使用“定时推送摘要”管理通知。
  • 此方法被研究认定为最容易坚持的调整,能显著减少无关打扰。

5. 删除上瘾应用(高级建议)

  • 根本方法是卸载易成瘾应用(如社交媒体、视频平台等)。
  • 可尝试不同策略:完全删除、周末禁用、使用屏幕使用时间功能或第三方应用(如Opal)限制使用。
  • 删除应用能切断触发习惯的视觉提示,打破行为循环。

注意事项

  • 这些调整能减少手机吸引力,但无法完全消除访问社交、邮件等途径的可能。
  • 效果因人而异,部分方法(如灰度模式)可能影响日常使用体验。
  • 文章强调,数字极简需要结合应用管理与习惯调整,并非一蹴而就。

参考来源

文中引用了两项支持相关策略的研究,指出灰度显示和通知关闭的有效性与坚持难度。

6. Tmux is worse-is-better (hiandrewquinn.github.io)

tmux(终端复用器)允许用户在不依赖图形环境的情况下,将终端屏幕分割为多个独立的shell会话,特别适用于经常通过SSH连接服务器的程序员。它与i3窗口管理器类似,但专注于终端环境,并且是OpenBSD的默认安装软件。作为数字极简主义工具,tmux或其前身screen配合Vim即可满足基本需求。

开发者Kovid Goyal(kitty终端模拟器的作者)多次公开批评tmux,认为终端复用器会引入不必要的开销、复杂性和性能问题,因为它们需要解析和修改转义码,导致每个字节被重复处理。他声称kitty包含了tmux的功能并做得更好,除了远程持久性(远程持久性指会话在断开后仍保持活动状态)。

作者使用kitty作为家庭终端,但工作中需使用Windows系统,因此经常SSH到Linux服务器。在这些场景中,tmux成为首选,因为它总是在远程服务器上可用,并能从任何本地终端模拟器(如Alacritty、Windows Terminal)中运行多个shell,而无需多次SSH连接。kitty必须运行在本地机器上,而tmux运行在远程服务器上,这一区别至关重要。

文章引入“worse is better”哲学,强调软件应优先满足最常见用例的核心需求,即使方法不是最优。tmux虽有缺点,但因其可靠性和通用性,在远程工作中成为实用选择。作者维护一个使用tmux和kitty的虚拟机,但日常更多直接通过Windows远程登录,依赖tmux完成多任务处理。尽管kitty功能更先进,tmux在实际应用中仍具不可替代的优势。

7. Rete algorithm (en.wikipedia.org)
# Rete 算法摘要

**Rete 算法**是一种为实现**基于规则的系统**而设计的**模式匹配算法**。它由 Charles L. Forgy 于1974年首次提出,旨在高效地将大量规则或模式应用于知识库中的大量对象或事实,从而确定哪些规则应该被触发。

## 核心思想与设计

- **目的**:解决朴素实现(逐个检查规则)在规则和事实数量增长时性能急剧下降的问题。
- **设计原则**:用**内存换取速度**。通过构建一个**有向无环图**形式的网络,存储中间匹配结果,避免每次变化都重新评估所有规则。理论上,其性能与规则数量无关,可实现数量级的速度提升。
- **名称来源**:词根“Rete”在拉丁语和解剖学中意为“网”或“网络”。

## 网络结构与工作原理

Rete 网络由多个节点和存储(内存)组成,主要分为两部分:

1.  **Alpha 网络(鉴别网络)**:
    - 包含 **alpha 节点**(单输入节点),负责基于简单条件测试(如常量比较)选择**单个事实**。
    - 成功匹配的事实会被存储在相应的 **alpha 内存**中。
    - 节点共享用于消除冗余。

2.  **Beta 网络(连接网络)**:
    - 包含 **beta 节点**(双输入节点),负责对来自不同 alpha 内存的**事实列表(或Token)** 进行**连接操作**。
    - 存储**部分匹配**的**beta 内存**。一个WME列表代表对一条规则条件的**部分匹配**。
    - 当WME列表传播到网络的末端节点时,表示对某条规则的条件**完全匹配**。

**工作流程**:
- 事实(作为工作记忆元素,WME)进入根节点。
- 在 alpha 网络中筛选后,匹配的事实进入 beta 网络进行连接。
- 匹配的WME列表最终到达**终端节点(p-节点)**,该节点代表一条具体的规则。
- 终端节点将匹配实例激活并放入**议程**。

## 关键运行时机制

- **冲突解决**:引擎在匹配-解决-执行循环中,根据优先级、规则顺序等因素对议程中已激活的规则实例进行排序。
- **生产执行**:引擎按顺序触发规则实例,执行其关联的动作。动作可以修改工作记忆(添加、删除或更新事实),从而立即触发新的匹配-解决-执行循环。
- **折射**:默认情况下,一条规则实例在同一个循环中最多被触发一次。
- **量化处理**:通过特殊beta节点支持**存在量化**(测试存在匹配)和**全称量化**(测试所有匹配),其中否定(不存在)是广泛支持的一种形式。

## 应用与优化

- **应用**:作为许多流行规则引擎(如 CLIPS, Jess, Drools)的核心,支持**前向链推理**和复杂的关系查询。
- **优化**:
    - 使用**哈希表**等索引策略优化内存访问,对性能至关重要。
    - 后续发展出 **Rete II**、**Rete III** 等算法,通过增加后向链支持、优化网络结构和哈希策略,在复杂问题上实现进一步性能飞跃。
    - 衍生算法如 **TREAT**、**Rete-OO**(支持模糊逻辑和不确定性推理)等,以适应不同场景需求。
- **挑战**:在大型系统中,原始算法可能面临内存消耗问题。

## 总结

Rete 算法通过构建一个高效的、共享的、存储中间结果的模式匹配网络,解决了基于规则系统的核心性能瓶颈,成为该领域的里程碑。其基本结构和原理被众多现代规则引擎采纳和扩展。
8. Simplicity – Google SRE Handbook (2017) (sre.google)

简洁性——Google SRE 手册 (2017)

核心观点

软件系统的可靠性以追求极致的简洁为代价。SRE 的职责是平衡系统的敏捷性与稳定性,而简洁性是达成此目标并保障可靠性的先决条件。

稳定性与敏捷性的权衡

软件系统本质上是动态和不稳定的。SRE 的目标是在保证系统可靠的同时,尽可能不影响开发者的敏捷性。实践表明,可靠的过程(如快速、可靠的生产部署)实际上能提升敏捷性,因为它使变更更易于观察,从而加速了错误的发现与修复。

“无聊”的美德

与生活中的追求不同,在软件领域,“无聊”是积极属性。我们期望程序按预期脚本运行,避免生产环境出现意外。需区分本质复杂度(问题本身固有的复杂性)和意外复杂度(可通过工程手段消除的复杂性)。SRE 团队应抵制意外复杂性的引入,并致力于消除已存在的复杂性。

代码即负债

工程师常对其编写的代码产生情感依恋,但应避免保留无用代码。以注释形式保留、通过标志门控未执行的代码都是糟糕的做法,它们会成为隐患(如 Knight Capital 的案例)。SRE 鼓励审视代码以确保其推动业务目标,定期移除死代码,并将臃肿检测纳入各层测试。删除无用代码是极具价值的。

简洁的 API

软件的设计应趋向于“无可删减”的完美。编写清晰、最小化的 API 是管理系统复杂性的关键。API 提供的方法和参数越少,就越易于理解,也能将更多精力投入优化核心方法。小而简单的 API 通常是问题被清晰理解的标志。

模块化

模块化原则适用于从 API 到分布式系统的各个层面。组件(二进制文件或配置)间的松耦合是同时促进开发者敏捷和系统稳定性的简洁模式。它允许对系统部分进行独立修改和部署。API 的变更应通过版本化管理,以支持系统的渐进式更新,避免全量发布的风险。良好的分布式系统应由目标明确、范围清晰的协作组件构成。模块化也适用于数据格式,例如 Google 的 Protocol Buffers 旨在实现向前和向后兼容的序列化格式。

简洁的发布

简单的发布优于复杂的发布。小批量发布变更更容易理解和衡量其影响,类似于机器学习中的梯度下降,通过小步迭代来寻求最优解。这使团队能更快速、更有信心地推进,因为每个代码变更都可在更大的系统中被独立理解。

10. Zellij: A terminal workspace with batteries included (zellij.dev)

Zellij 是一个功能齐全的终端工作空间工具,具有“batteries included”特性,提供预配置和开箱即用的体验。用户无需安装即可快速尝试 Zellij,支持多种 shell 环境:对于 bash/zsh,运行 bash <(curl -L https://zellij.dev/launch);对于 fish,使用 bash (curl -L https://zellij.dev/launch | psub);对于 powershell,执行 irm https://zellij.dev/launch.ps1 | iex。此外,用户可以查看将要执行的脚本源码(支持 Linux/Mac 和 Windows),并通过提供的链接探索 Zellij 的强大功能。

11. Mediocre Engineer's Guide to HTTPS (devonperoutky.super.site)

这篇文章详细介绍了HTTP和HTTPS通信的工作原理,重点解析了HTTPS如何通过TLS加密保障安全。

文章首先概述了互联网是基于分层抽象的网络,使得开发者能专注于应用层。随后详细描述了一个HTTP请求的完整生命周期:

  1. 请求发起与DNS解析:客户端在应用层构造HTTP文本请求,并通过DNS将域名解析为IP地址。
  2. 建立连接与数据传输:在传输层通过TCP三次握手建立可靠连接,然后发送HTTP请求数据包。
  3. 路由与响应:数据包经过网络层和链路层在互联网中路由,最终到达服务器。服务器处理请求后返回HTTP响应。

文章指出,纯HTTP通信不安全,因此引入了安全层(主要使用TLS/SSL协议)以构成HTTPS。HTTPS的核心是TLS握手过程,其目的是在客户端和服务器之间建立安全通信:

  • 目的:协商加密套件(用于验证、压缩和加密的算法集合),并交换密钥信息以生成对称会话密钥。
  • 传统TLS握手流程:包括客户端问候、服务器问候与证书交换、证书验证、预主密钥生成与传输、双方生成会话密钥等步骤。
  • TLS 1.3的改进:移除了不安全的加密套件(如RSA),简化了握手流程(通常只需一次往返),使其更快、更安全。

总结而言,文章从基础的HTTP通信出发,深入讲解了网络分层模型,最终聚焦于通过TLS握手实现HTTPS安全加密的核心机制,并对比了新旧版本TLS的差异。

12. Show HN: Boldly go where Gradient Descent has never gone before with DiscoGrad (github.com)

DiscoGrad工具摘要

核心问题

自动微分(AD)在处理包含参数相关分支控制流(如if-else语句)和随机性的程序时,常产生无用的梯度(零值或有偏)。这限制了在优化、控制和推理问题中使用梯度下降法调整程序参数。

解决方案:DiscoGrad

DiscoGrad 是一个工具,能自动将C++程序转换为可高效计算跨分支平滑梯度的版本。

主要功能

  1. 梯度平滑:支持通过外部扰动进行平滑,但若目标程序本身包含随机性则无需额外扰动。
  2. 多后端支持:集成了多种梯度估计后端。
  3. 神经网络集成:可通过Torch集成神经网络,实现端到端训练。
  4. 适用领域:支持基本的C++结构,已应用于交通、人群管理和流行病学等领域的示例程序。

技术实现与使用

环境与安装

  • 测试系统:Ubuntu 24.04/22.04, Arch Linux, Fedora 38。
  • 依赖:clang (>=13), libclang-dev, libclang-cpp-dev, llvm, llvm-dev (>=13), cmake
  • 编译:在transformation目录执行cmake .make -j

快速入门

programs/hello_world/hello_world.cpp(实现Heaviside阶跃函数)为例:

  1. 编译:运行./smooth_compile programs/hello_world/hello_world.cpp,会为每个后端生成二进制文件。
  2. 运行对比:
    • 在原始程序上运行AD,导数为0。
    • 使用dgo后端估计器,可得到非零导数,适用于优化。

API使用

  1. 基本设置
    • 在源文件顶部定义输入数量(const int num_inputs = ...;)并包含discograd.hpp
    • 实现以_DiscoGrad_为前缀的入口函数,返回类型为adouble,参数为aparams
  2. 主函数集成
    • 创建DiscoGrad实例,传入命令行参数。
    • DiscoGradFunc包装平滑函数。
    • 调用dg.estimate(func)以使用所选后端的梯度估计器。
  3. 包含额外变量:需将函数封装在实现DiscoGradProgram接口的类中,该类需实现run(DiscoGrad&, aparams&)方法。

编译与执行

  • 编译:使用./smooth_compile脚本,默认为所有后端生成可执行文件,可通过-C标志选择特定后端。
  • 执行:运行生成的二进制文件,通过标准输入传入参数(如echo 0.0 | ...),输出包含平滑输出和偏导数。

后端概览

DiscoGrad提供多个梯度估计后端:

后端可执行文件后缀 描述
crisp 原始程序,可选输入扰动和AD。
dgo DiscoGrad梯度预言机,基于AD和蒙特卡洛采样的自有估计器。
pgo Polyak梯度无关预言机
reinforce 对引入了人工高斯随机性的程序应用REINFORCE算法。
rloo REINFORCE留一估计器。

注:当所有分支都直接基于已知分布的离散随机变量时,StochasticAD可能是一个合适的替代方案。

其他信息

  • 许可证:MIT许可证。
  • 相关论文
    1. Kreikemeyer & Andelfinger (2023), “Smoothing Methods for Automatic Differentiation Across Conditional Branches”, IEEE Access。
    2. Andelfinger & Kreikemeyer (2024), “Automatic Gradient Estimation for Calibrating Crowd Models with Discrete Decision Making”, ICCS 2024。
  • 致谢:工作得到德国研究基金会(DFG)资助。
13. Hurl, the Exceptional Language (hurl.wtf)

文章标题:Hurl, the Exceptional Language 摘要

语言目的:Hurl 是一门专为探索“以异常处理作为唯一控制流”的编程范式而创建的语言。

起源与背景:该语言的创作灵感源于 Nicole Tietz-Sokolskaya 与 Recurse Center 朋友们的讨论。作者最终决定将其实现,并对此表示了一些幽默的“歉意”。

社区评价:该语言在开发者社区中获得了多样且有趣的反馈,包括对其设计理念的惊叹、不敢轻易使用的调侃,以及对其将异常处理控制流系统化、规范化的称赞。

项目资源

  • 文档与示例:项目网站提供了 Hurl 的使用文档、示例、调试指导以及常见问题解答。
  • 源代码:Hurl 语言及其网站的源代码均在公开的代码仓库中提供。
  • 贡献与许可:欢迎通过邮件发送补丁,但贡献者需签署版权转让协议以保持项目的再许可能力。

许可协议:该项目采用一种独特的三选一许可模式,用户可在以下三种协议中任选其一使用软件,三者互不关联:

  1. AGPL-3.0(开源协议)
  2. GAL-1.0(“同性恋议程许可”,名称幽默)
  3. 商业许可
14. To the brain, reading computer code is not the same as reading language (2020) (news.mit.edu)

阅读计算机代码时大脑活动不同于阅读语言

2020年麻省理工学院神经科学家的研究发现,尽管编程与学习新语言有表面相似性(如学习新符号和规则),但阅读计算机代码并不会激活大脑中负责语言处理的区域

核心发现

  • 不依赖语言网络:研究使用fMRI扫描发现,阅读代码(如Python或ScratchJr)时,大脑的语言区域(如布罗卡区)几乎没有活动。
  • 激活“多重需求网络”:相反,阅读代码主要激活了一个名为**“多重需求网络”**的分布式脑区网络。该网络位于额叶和顶叶,通常在处理需要同时操控多种信息的复杂认知任务时被征用,例如解决数学题或填字游戏。
  • 介于语言与数学之间:虽然编程与语言有类比之处,但其大脑处理机制既不同于语言,也不完全等同于数学或逻辑推理。研究显示,阅读代码时,多重需求网络的左右半球均被激活,这与主要依赖左半球的数学问题有所不同,表明编程具有独特的认知需求。

研究背景与方法

  • 该研究旨在探究编程学习是更依赖语言能力还是数学能力。
  • 研究对象是熟悉Python或ScratchJr的年轻成人,他们在fMRI机器内阅读代码片段并预测其执行结果。
  • 约翰斯·霍普金斯大学的另一项同期研究也支持了这一结论,即解决代码问题激活的是多重需求网络而非语言区域。

潜在影响与讨论

  • 教学启示:研究结果表明,无法简单地将编程教学归为基于数学或基于语言的技能。学习编程可能需要利用语言和多重需求系统,但熟练掌握后,其认知基础并非语言。这提示计算机科学教育者可能需要发展自己独特的教学方法。
  • 专业化潜力:研究推测,对于拥有数十年编程经验的专家,其大脑中可能出现与编程相关的更专业化活动模式,但在经验有限的学习者中尚未观察到这种专业化迹象。

结论

理解计算机代码似乎是大脑一项独特的认知能力,既非语言也非数学,其神经基础是用于处理复杂认知任务的“多重需求网络”。

16. GRC SpinRite (computer.rip)

文章核心总结:

本文围绕数据恢复工具 SpinRite 的历史与现状展开,探讨了存储技术、数据恢复方法的演变,并对SpinRite在当代环境下的实际价值提出质疑。

1. 存储技术与故障模式的变化:

  • 硬盘可靠性提升: 现代硬盘(HDD)比过去更可靠,故障减少。
  • 固态硬盘(SSD)普及: 具有物理磨损的设备(如笔记本电脑)已转向SSD。SSD的故障模式通常是“全有或全无”,性能会随时间下降。
  • HDD角色变化: 传统HDD主要用于大容量存储(如8TB及以上)。

2. 数据恢复领域的两大分支:

  • 消费者/业务数据恢复: 从损坏或故障设备中恢复文件。核心问题是设备无法读取数据。
  • 数字取证: 从功能正常的设备(或镜像)中恢复已删除的文件。核心利用文件系统特性(如“删除”仅标记为可用)。
  • 关键差异: 两者技术不同。取证常用“文件雕刻”(通过文件头/尾特征定位),而消费者恢复需处理硬件读取故障。

3. 现代存储设备的复杂性与恢复挑战:

  • 内部抽象化: 无论是HDD还是SSD,都包含复杂的内部逻辑、缓存、纠错和重映射机制,这些对用户和恢复软件是不透明的。
  • SSD的主动管理: TRIM命令使SSD控制器能主动管理块状态,无法获得真正的物理镜像,只能获得固件提供的“视图”。
  • 部分故障的处理: 对于部分块读取失败,开源工具ddrescue是有效选择,它能跳过坏块以恢复大部分可读数据。

4. SpinRite的宣称与质疑:

  • 历史背景: SpinRite始于1987年,是一款基于FreeDOS的可启动工具,曾被认为是“圣杯”级工具。
  • 核心声称:
    • 通过“DynaStat”系统进行统计分析,通过大量重试和位级分析确定数据。
    • 使用“晃动磁头”等技术进行数据恢复。
    • 直接发出ATA命令,绕过系统BIOS。
  • 对宣称的质疑(针对现代设备):
    • 技术过时: 其许多“低级”恢复技术基于对磁盘表面和磁头绝对定位的旧假设,与现代硬盘(使用伺服反馈定位、复杂内部管理)和SSD的工作原理严重不符。
    • 有效性存疑: 对现代硬盘,唯一可能有价值的操作是执行全盘重写,以触发控制器检测和重映射坏块,但这并非其独有或主要功能。
    • 营销问题: 文档陈旧,网站信息矛盾(例如,既表示SpinRite对SSD用途有限,又宣传“对SSD惊人有效”)。宣传主要通过播客视频进行,充满轶事证据,具有“伪科学”特征。
  • 结论性观点: 作者认为SpinRite的技术在上世纪80-90年代可能有价值,但随着技术演进,已变得无关紧要。持续宣传其“神奇”功效,尤其是在SSD上的效果,使其更像一个“骗局”。

5. 附带提及:

  • GRC其他服务: 文章简要提及了GRC提供的其他网络服务(如密码生成器、ShieldsUp),并指出其界面和安全性说明显得陈旧。
  • 怀旧因素: SpinRite经典的TUI(文本用户界面)动画被作者认为是其仍然吸引人的一个因素。
17. 'I was misidentified as shoplifter by facial recognition tech' (www.bbc.com)
18. Periodic Table of the Elements, in Pictures and Words (elements.wlonk.com)

本文介绍了多种面向学生和成人的元素周期表及相关学习资源。

核心产品:

  • 图片元素周期表:彩色且信息丰富,在元素名称、符号和原子序数基础上,通过图画展示其主要人类用途或自然存在。使用颜色区分化学族类,并辅以小符号表示物理状态、颜色、常见性等特性,避免过多复杂数字。
  • 文字元素周期表:提供更详细的文字描述,包括元素物理性质及多种用途/自然存在。同样进行颜色编码,并额外提供关于原子结构、化学键和放射性的说明面板。
  • 简化版图片周期表:与完整版图片周期表内容相同,但移除了图例和符号等细节,使图像更简洁。

可打印学习材料:

  • 元素卡片:可自行打印的双面卡片,正面有图,背面有文字信息。可用于排列、记忆或自创游戏。
  • 元素活页:每张活页展示一个元素,可用于制作大型周期表或供学生个人研究。
  • 学生工作表:可打印的练习页,供学生填写元素的符号、名称、描述、用途并绘制图画,适合家庭学习等深入研究活动。

替代模型与可视化图表:

  • 替代周期表模型:提供左阶梯式、螺旋式、锥形螺旋式和圆柱螺旋式四种周期表的纸模型,供学生制作和讨论。
  • 原子轨道图:以电子概率密度分布(模糊云)的形式展示所有基本原子电子轨道,可视化原子结构。提供彩色和黑白两种版本。
  • 粒子图:展示粒子物理标准模型中的基本粒子和许多复合粒子,解释了原子核的组成。

资源说明:

  • “图片”与“文字”周期表可单独使用,但搭配使用效果最佳。
  • 还提供交互式网页版本和多种语言的翻译链接。
  • 某些材料(如卡片和活页)需用户自行打印,网站不销售实物。
19. Feynman's Garden (www.marginalia.nu)

费曼的问题解决算法描述:写下问题→认真思考→写下解决方案。该算法并非简单强调“聪明”,而是揭示了在复杂问题中(无法直接查询、分解或简单迭代)思考的实际运作机制。

核心观点

  1. 思考是后台进程:大脑在接收相关信息后,会自动进行“连接点”式的处理,而非依赖线性推理。
  2. 输入阶段:主动收集并写下所有与问题相关的信息,如同向大语言模型提供提示。关键在于清晰构建问题,而非书写内容本身。
  3. 处理阶段:停止输入新信息,让大脑自主消化已有数据。需远离干扰(如散步、洗澡),等待洞察自然涌现。这一过程可能耗时数小时至数天。
  4. 输出阶段:立即将灵光一现的见解记录下来。这既防止遗忘,也向大脑反馈信息的重要性,强化后续思考路径。

实践范例

作者在2021年的生活无意中契合了这一算法:工作日沉浸于搜索引擎开发,积累专业信息;周末完全脱离电脑,专注生活。每个周末结束后,总会产出数页新想法用于下周实施。

思考与园艺的类比

思考的产出(“今日之思”)源于先前的输入(“昨日之读”)。若希望获得有价值、相关的思考,需像园艺一样:

  • 播种:选择优质信息源(深刻、结构化的思考)。
  • 修剪:过滤无关噪音(如八卦、碎片信息)。
  • 培育:让大脑在后台自然连接与生长,最终收获见解。

该算法的核心在于:有意识地管理信息输入,并信任大脑的自主处理能力,而非追求即时线性解决。

20. Majorana, the search for the most elusive neutrino of all (2012) (newscenter.lbl.gov)

文章标题: Majorana,追寻最难捉摸的中微子(2012)

核心内容总结:

本文主要介绍了MAJORANA DEMONSTRATOR实验,其核心目标是验证中微子是否为其自身的反粒子。这个问题是粒子物理学中一个基础且悬而未决的重大谜题。

  1. 科学问题:目前只观察到左手中微子和右手反中微子两种螺旋度状态。中微子双贝塔衰变(两个中子同时衰变为两个质子并发射两个电子和两个反中微子)已被观测到,但无中微子双贝塔衰变(仅发射两个电子,无反中微子)从未被确证。若能观测到此过程,将直接证明中微子是马约拉纳费米子(即自身即为反粒子),这将颠覆粒子物理的标准模型,因其违反了轻子数守恒定律。

  2. 实验方案:该实验利用锗-76(一种可发生双贝塔衰变的同位素)作为探测材料。实验装置位于美国南达科他州 Sanford 地下研究设施(SURF)内,深达一英里的岩层下,以屏蔽宇宙射线。实验使用40公斤(计划未来扩展至1吨)经提纯、部分富集(86%)的纯锗晶体,同时作为衰变源和高分辨率探测器。

  3. 关键挑战与技术

    • 极低背景噪声:目标事件极其罕见(锗-76的双贝塔衰变半衰期估计为1.3×10^21年),因此必须将环境放射性和探测器材料自身杂质产生的背景信号降至最低。实验采用多层铅/铜屏蔽、在地下建造超纯部件、并对所有部件进行严格建模和材料筛选,旨在将背景水平降至以往同类实验的百分之一。
    • 事件识别:通过分析锗探测器中电荷载体的“脉冲形状”来区分背景事件与无中微子双贝塔衰变事件。后者将产生一个精确的2.039 MeV能量峰值(两个电子的总能量),而普通双贝塔衰变的能量则由四个粒子分享,形成宽峰。
  4. 科学意义与竞争

    • 若发现无中微子双贝塔衰变,不仅证明中微子的马约拉纳性质,还能为中微子质量标度提供直接测量窗口。衰变速率与中微子质量相关。
    • 该实验与意大利Gran Sasso国家实验室的GERDA实验(使用不同屏蔽方案的锗实验)形成竞争与合作并存的关系,双方可能在未来联合建造最终的一吨级探测器。在其他元素(如碲、氙)上验证该过程也至关重要,以确证观测到的效应源自中微子本身。
  5. 名称由来:实验以意大利理论物理学家Ettore Majorana命名,他在1930年代首次提出某些费米子(物质粒子)也可能是其自身的反粒子,即马约拉纳费米子。他本人于32岁时神秘失踪。

总之,MAJORANA实验是一项旨在解答中微子本质、可能彻底改变现有物理理论基石的尖端地下实验,其技术核心在于实现极低背景环境下的稀有事件探测。

22. Chickens in Trees (suziepetryk.com)

树上的鸡

作者去年在夏威夷最古老的岛屿之一考艾岛度假时,最深刻的印象便是无处不在的鸡群。从机场到租车点,从汽车旅馆停车场到草地,鸡无处不在,最初让他联想到美国城市里常见的松鼠。

直到某天傍晚,作者目睹一只鸡飞上矮树枝加入同伴,才打破了他“鸡不会在树上”的固有认知。后来他了解到,在全球许多地区,散养鸡夜间在树上栖息是常见且本能的行为。研究显示,不同地区鸡栖树的比例差异很大:缅甸约1%,尼日利亚部分地区为8%,另一些地区则高达65%,这可能与天敌威胁、地面温度等环境因素有关。

这种行为对鸡群有多方面好处:增强飞行和躲避天敌的能力、通过树上通风良好的环境减少疾病传播、隔离病鸡、并更容易接触到果实和树叶。然而也存在风险,例如可能被猫头鹰等捕食者袭击,或被狐狸、狼等爬树捕食,甚至珍贵的蛋鸡可能被盗。

由于上述原因,许多家禽饲养者试图阻止鸡上树,这成为常见网络搜索内容。鸡群中存在“啄序”等级,地位最高的鸡在危险时能占据最高、最安全的树枝。

在夏威夷大岛,作者发现当地有许多野猫与野鸡共存。尽管常有争论应先控制鸡还是猫的数量——鸡会破坏庄稼但能控制昆虫,猫则威胁本土鸟类——但专家指出“问题是猫很可爱”。立法者正试图通过法案拨款控制火奴鲁鲁的鸡群数量。

最后,作者在伯克利山散步时听到树上传来奇怪的叫声,发现了一只火鸡,呼应了他在夏威夷的经历。

24. Ask HN: What are your favourite websites that display a lot of data / tables?
26. Startup is about to install bladeless rooftop wind turbines on box buildings (electrek.co)

Aeromine Technologies无叶片屋顶风力涡轮机技术概述

公司动态与融资

Aeromine Technologies已完成900万美元的A轮融资,本轮融资由能源研究、投资与战略公司Veriten领投。该公司成立于2022年,计划利用这笔资金扩大其无叶片屋顶风力涡轮机的生产规模。

技术核心与工作原理

  • 产品形态:Aeromine生产紧凑型的“风能采集平台”,单机功率为50千瓦或以上,安装在建筑物屋顶边缘。
  • 无叶片设计:产品外部没有移动部件或叶片,采用类似赛车空气动力学翼型的原理来捕捉并放大气流,实现发电。
  • 发电系统:其核心为转子-定子系统,配备高效5千瓦永磁发电机。
  • 部署方式:一个典型的系统由20-40个单元组成,安装在建筑主要迎风面的边缘。

产品特性与优势

  • 坚固耐用:每个重约1000磅的单元能够承受时速120至158英里的风力。
  • 静音运行:该技术运行时无噪音。
  • 灵活集成:设备可独立运行,也可与现有的屋顶太阳能系统集成。
  • 供电可靠:通过现场发电,可减少对电网的依赖,规避电网供应中断的风险。

应用场景与目标市场

该技术专为具有平坦、无遮挡屋顶的大型箱式建筑设计,适用于公寓楼、仓库、制造工厂、办公楼、医院、零售中心等多种商业和公共建筑。

商业化进展与展望

  • 项目储备:公司表示其项目管道中已积累400个合格项目。
  • 商业计划:预计于2025年在欧洲和北美市场实现商业化推出。

投资方观点

Veriten创始人兼首席执行官Maynard Holt表示,分布式电力创新对于帮助公司满足其对可靠、价格合理的电力需求以及实现低影响电力的愿望至关重要。Aeromine快速、经济地帮助各类公司利用风能资源满足能源需求的能力,在分布式能源解决方案中独具特色。

28. Show HN: I made a online free tool to enhance and auto-crop your screenshots (socialscreenshots.com)

SocialScreenshots 是一款免费的在线工具,旨在帮助用户快速创建适用于社交媒体的精美视觉内容。

该工具的核心功能包括:

  • 增强与自动裁剪:用户可以上传截图,工具能自动进行优化处理,如提升清晰度、调整色彩,并智能裁剪,使其更美观。
  • 模板化设计:提供预设的模板和布局,方便用户快速生成符合不同社交媒体平台风格的图片。
  • 背景与框架:可为截图添加自定义背景或设备外观框架,使其看起来更专业。
  • 简易操作:整个过程在网页端完成,无需专业设计技能,操作直观快捷。

其主要目标是简化社交媒体内容创作流程,让个人用户和中小团队能够免费、轻松地制作出引人注目的视觉素材。

29. Two B.C. companies ordered to shut down on national security grounds (vancouversun.com)

加拿大政府以国家安全为由,下令两家卑诗省公司“停止一切运营”。

2024年5月26日,加拿大工业部长弗朗索瓦-菲利普·尚帕涅宣布,经过国家安全审查,加拿大政府已下令解散 Bluevec Technologies Inc.Pegauni Technology Inc. 这两家公司。

部长并未具体说明这两家公司构成何种国家安全威胁,但暗示这两家总部位于本拿比的公司接受了外国投资。他表示,政府的决定基于事实、证据以及加拿大安全情报机构等合作伙伴的建议,并强调虽然加拿大欢迎外国直接投资,但当投资威胁到国家安全时,将果断采取行动。

由于《加拿大投资法》的保密条款,该部发言人无法提供更多细节。该法律允许对进入加拿大的任何外国投资(无论其价值如何)进行国家安全审查。

公司背景与关联:

  • 根据卑诗省公司注册记录,两家公司的首席执行官兼唯一董事均为贾俊峰,并共享同一个位于素里的邮寄地址。两家公司在本拿比的工业园区设有办公室,相距约500米。
  • Bluevec Technologies 成立于2018年3月,是一家反无人机公司,销售无线无人机防御技术,能够通过探测无人机的无线信号来阻断或禁用设备,应用于保护隐私、保障空中交通通道安全以及防止向监狱空投违禁品等场景。
  • Pegauni Technology 成立于2018年1月,根据其LinkedIn页面,该公司生产无线安防产品。目前该公司似乎已关闭,其网站已不再活跃。

相关法律诉讼:

  • Bluevec曾被竞争对手、总部位于温哥华的 SkyCope Technologies 提起民事诉讼,指控Bluevec通过前SkyCope员工窃取商业机密,从而获得竞争优势。
  • 卑诗省最高法院法官去年下令,因滥用机密信息并向中国反无人机公司 北京利正科技有限公司 出售测向代码,贾俊峰、Bluevec及另一名员工需向SkyCope支付80万加元。
  • 在法庭上,贾俊峰作证称北京利正科技是Bluevec最大的客户,但SkyCope指控贾俊峰是北京利正科技的所有者。法庭记录援引了北京仲裁委员会在另一案件中的裁决,认定贾俊峰是利正科技的股东,并通过他人代持股份。
  • 此案审理过程长达10天,且双方积怨甚深。双方曾在网络安全公司Fortinet的北京和温哥华办公室共事,后关系破裂。