2024-07-23

49 篇热帖

1. Open source AI is the path forward (about.fb.com)

开源AI是前进之路

核心论点

文章作者(Meta创始人马克·扎克伯格)认为,人工智能的发展将类似于高性能计算的历史:早期封闭的Unix系统最终被开源的Linux超越,Linux因其可修改、低成本、更先进、更安全和更广泛的生态系统而成为行业标准。开源AI正沿着类似路径发展,并将引领未来。

当前进展:Llama 3.1模型发布

Meta发布了Llama 3.1 405B(首个前沿级开源AI模型)以及改进的70B和8B模型。这些模型在成本效益上优于封闭模型,405B模型的开源特性使其成为微调和蒸馏更小模型的理想基础。

生态系统建设

Meta正与众多合作伙伴(包括亚马逊、Databricks、英伟达、Groq等)合作,为开发者提供全栈服务支持。模型将在AWS、Azure、Google Cloud等主要云平台提供,并有Scale.AI、戴尔、德勤等企业协助部署和定制化。

开源AI的三大优势

1. 对开发者的好处

  • 自主控制:组织可按需训练、微调和蒸馏模型,满足特定任务(如设备端任务需小模型,复杂任务需大模型)。
  • 避免锁定:避免依赖封闭供应商,防止服务条款变更或中断,并能跨云平台迁移。
  • 数据安全:敏感数据可在本地处理,无需通过云API发送;开源软件通常因透明性更安全。
  • 成本效益:在自有基础设施上运行Llama 3.1 405B的推理成本约为GPT-4o的一半。
  • 长期投资:开源技术进步迅速,采用开源架构可获得长期优势。

2. 对Meta的好处

  • 确保技术访问:避免被封闭生态系统(如苹果平台)限制,Meta需要访问最佳技术。
  • 构建生态系统:开源能使Llama发展出完整的工具链、效率优化和硬件适配生态,而非闭门造车。
  • 竞争持续:AI竞争激烈,单一代模型开源不构成巨大劣势;Llama需通过持续竞争和开放成为标准。
  • 商业模式适配:Meta的业务并非依赖模型销售,因此开源不会直接影响其收入或研发能力。
  • 历史成功:Meta通过开源(如Open Compute项目、PyTorch、React)已节省数十亿美元并受益于生态创新。

3. 对世界的好处

  • 广泛受益:开源确保全球更多人获得AI的益处与机会,防止权力过度集中。
  • 安全性与公平性:开源模型更透明,可接受广泛审查,通常更安全(如结合Llama Guard安全系统)。
  • 应对威胁:对于无意伤害(如模型给出错误建议),开源因透明性更安全;对于有意伤害,广泛部署的AI系统能让大机构有能力制约恶意行为者。
  • 地缘政治策略:美国等民主国家应依靠去中心化和开放创新,而非封闭模型来保持领先。封闭模型易被窃取,且会限制美国创新生态系统,使初创企业、大学等错过机遇。开源有助于构建可持续的领先优势。

结论与呼吁

Llama 3.1的发布被视为行业转折点,开源AI将成为开发者的首选。Meta承诺持续投资开源生态,并邀请全球开发者、企业共同参与,以利用开源AI创造最大的经济机会与全球安全。

模型访问:开发者可通过 llama.meta.com 获取模型。

3. Kawaii – A Keychain-Sized Nintendo Wii (bitbuilt.net)

Kawaii – 钥匙链大小的任天堂Wii

Kawaii 是一个由 Wesk 和 Yveltal 合作的项目,旨在创建一个超小的、钥匙链大小的任天堂Wii。它是首个完全利用 OMEGA trim 的构建,目标是制作有史以来最小的功能性Wii,尺寸几乎与 OMEGA trim 的轮廓一样大。

发展过程

  • 初始构想:最初计划是一个更传统的外形,包括风扇、5mm散热器、控制器端口和micro-HDMI输出。
  • 设计优化:后来,将塑料外壳和散热器替换为加工金属一体机壳,并用磁性pogo针连接器取代了控制器、A/V和电源端口,进一步缩小尺寸。
  • 技术整合:随着Wii欠压技术和Thundervolt的开发,项目转向被动冷却。虽然尺寸从57x57mm略微增加到60x60mm,但集成了Thundervolt以提升能效。
  • 最终设计:Wesk负责MCAD设计,重新设计了带有有机散热鳍片的外壳和单个磁性pogo针连接器。还设计了一个底座,用于垂直放置以优化热对流,并简化连接,无需适配器电缆。

最终规格

  • 机箱:60x60x16mm的CNC加工铝合金机箱,被动冷却,带有激光蚀刻艺术作品。
  • 内部硬件:使用Thundervolt的欠压OMEGA trim。
  • 连接器:12针磁性pogo针连接器(类似MagSafe)。
  • 内部PCB:用于SD-USB、输入保护和视频多路复用的突破PCB。
  • 底座:USB-C电源输入、4个GameCube控制器端口、复合/分量视频输出和立体声音频输出。
  • 美学设计:六个带有RGB LED的丙烯酸窗口,以及钥匙链环。
  • 开源计划:项目完成后将完全开源。

大小比较

Kawaii 的尺寸与 GC Nano 和 Short Stack 相比显著更小,突出了其极致的小型化设计。

6. Copying is the way design works (matthewstrom.com)

这篇文章探讨了“复制”在设计领域中的核心作用,通过历史案例与观点阐述,论证了复制并非简单的抄袭,而是设计演进、学习与创新的根本方式。

核心论点与案例:

  1. 原创与复制的模糊界限:文章以Charles和Ray Eames设计的LCW椅子为例。这款椅子最初以亲民价格实现了设计与耐用的统一。如今,Herman Miller生产的原版椅售价高昂,而Modway公司功能与外观相同的仿制品“Fathom”则以更低价格销售,实际上更贴近Eames“为多数人提供最优设计”的初衷。这表明,“原创”与“复制”的定义并非绝对,有时复制品更能实现设计的原始精神。

  2. 复制与反复制的矛盾:以史蒂夫·乔布斯和苹果公司为例。苹果Macintosh的图形用户界面直接借鉴了施乐PARC的Alto电脑,乔布斯称其为“最棒的东西”。然而,苹果自身却极力反对被复制,为此卷入多起诉讼,最终学会了通过大量专利来保护设计。这个故事揭示了创新者常常从复制中获益,却又极力反对他人复制自己的矛盾心理。

  3. 复制作为学习与创新的途径:程序员约翰·卡马克为了掌握游戏滚动技术,直接逆向工程并复制了《超级马里奥兄弟3》的第一关。虽然将复制品提供给任天堂未果,但基于此代码,他们最终创造了开创性的游戏《指挥官基恩》。卡马克反对专利,认为它阻碍了独立思考者得出相似解决方案,并将《德军总部3D》、《毁灭战士》等游戏的源代码开源,鼓励复制与再创作。

  4. 复制作为一种权利理查德·斯托曼发起自由软件运动,提出“自由软件”的概念,其核心是用户拥有使用、修改和分发软件的自由。这催生了开源软件运动和Creative Commons等知识共享许可协议。如今,从维基百科到Unsplash图片库,大量资源采用开放许可,允许复制与再利用,这种模式也已蔓延至设计领域(如Figma社区、开源图标库等)。

  5. 跨文化的复制观

    • 在中国文化中,“复制品”与“仿制品”有不同内涵,复制品(如兵马俑的复制品)被认为与原作具有同等价值。
    • 文森特·梵高通过临摹日本浮世绘(如歌川广重的作品)学习技法,最终形成自己独特的风格,他坦言“我所有的作品都建立在某种程度上对日本艺术的借鉴之上”。
    • “山寨”文化不仅是复制,更是一种带有戏谑和创新性的模仿(如《哈利·波特与瓷娃娃》),这在西方设计界对应为“未经请求的重新设计”(Unsolicited Redesign),设计师通过重新诠释知名品牌来展示能力,有时甚至能获得官方认可。

个人经历与结论: 作者作为设计师,其职业生涯始于描摹漫画和复制喜爱的网站设计。他认为复制是无需正规设计教育就能入门和进步的有效途径,在工作中也常借鉴其他产品的设计元素。他将复制比喻为中国的“仿制品”(学习精髓)、“复制品”(精确学习)和“山寨”(批判性再创作),每一种都在设计过程中扮演重要角色。

最终结论:无论对复制持何种看法,我们都生活在一个由复制催生的设计与技术世界中。只要设计存在,复制就将如影随形,它是设计运作方式中不可或缺的一部分。

7. Intent to end OCSP service (letsencrypt.org)

核心声明
Let's Encrypt 计划尽快停止支持在线证书状态协议(OCSP),转而使用证书吊销列表(CRLs)。该服务自2014年上线以来一直提供 OCSP 支持,并于2022年增加了 CRLs 支持。

原因

  1. 隐私风险:当用户通过浏览器或软件访问网站时,OCSP 会让证书颁发机构(CA)立即知晓用户访问的网站和 IP 地址。即使 CA 如 Let's Encrypt 不主动保留信息,也可能被法律强制收集数据。CRLs 不存在此问题。
  2. 简化基础设施:停止 OCSP 服务可节省资源,提升 Let's Encrypt 的合规性、可靠性和效率。自2022年支持 CRLs 后,OCSP 已无必要。

时间线

  • 2023年8月,CA/Browser Forum 通过决议,使 OCSP 服务对公开信任的 CA 变为可选。
  • 微软是唯一仍要求 OCSP 的根程序,预计在6-12个月内使其可选。
  • 微软确认后,Let's Encrypt 将宣布具体关闭计划,目标在宣布后3-6个月内停止 OCSP 服务。用户可通过 Discourse 的 API Announcements 类别获取更新。

影响与建议

  • 网站和普通用户不受影响,但依赖 OCSP 的非浏览器软件(如 VPN)可能受影响。
  • 建议用户尽早停止对 OCSP 的依赖。大多数 OCSP 实现为“失败开放”,即无法获取 OCSP 响应不会中断系统。
  • 使用 Let's Encrypt 证书的非浏览器通信软件应确保在证书不含 OCSP URL 时能正常运行。

组织背景
Let's Encrypt 隶属于互联网安全研究组(ISRG),这是一家非营利组织,其他项目包括 Prossimo 和 Divvi Up。

8. Ask HN: Is it possible to make FAANG salaries without working there?
9. Timeshift: System Restore Tool for Linux (github.com)

Timeshift:Linux系统恢复工具

核心功能与设计

Timeshift 是一款为 Linux 设计的系统恢复工具,功能类似于 Windows 的“系统还原”和 macOS 的“时间机器”。其核心是定期对文件系统创建增量快照,以便日后将系统恢复到早期状态,撤销所有系统变更。

  • 保护目标:专用于保护系统文件和设置,默认排除用户个人数据(如文档、图片、音乐),确保还原时用户文件不受影响。
  • 快照模式
    • RSYNC 模式:使用 rsync 和硬链接技术创建快照,通过共享通用文件节省磁盘空间。每个快照都是完整的系统备份,可通过文件管理器浏览。
    • BTRFS 模式:利用 BTRFS 文件系统的内置功能创建快照。此模式仅支持采用 Ubuntu 风格子卷布局(包含 @@home 子卷)的 BTRFS 系统,能创建和恢复字节级完全一致的快照,速度极快且空间开销低。

关键特性

  • 简易设置:安装后即可运行并创建首个快照。可启用 cron 作业进行自动定时快照。
  • 多级快照计划:支持按小时、天、周、月及系统启动等不同时间间隔创建和保存快照,并可为每个级别配置保留的快照数量。启动快照会延迟 10 分钟执行,以免影响系统启动。
  • 智能调度:不同于固定时间点备份的工具,Timeshift 设计为每小时运行一次,仅在需要时创建快照,更适合非全天候运行的桌面用户,避免因系统未运行而错过备份。
  • 高效存储:避免了传统硬链接复制的目录结构空间浪费,通过为每个快照打标签(如“每日”、“每月”)并使用符号链接指向实际快照,每个快照在磁盘上仅保留一份。
  • 系统还原方式灵活
    • 在线还原:从当前运行系统直接还原,需重启完成。
    • 离线还原:从另一台安装了 Timeshift 的系统还原。
    • Live 系统还原:当主系统无法启动时,可从 Ubuntu Live CD 启动,在 Live 系统中安装 Timeshift 并还原。
    • 跨发行版还原:允许在不同 Linux 发行版之间还原系统快照(例如,从 Linux Mint 还原回 Xubuntu 的快照)。
  • 恢复后钩子:支持在还原作业结束后、重启前运行自定义脚本(位于 /etc/timeshift/restore-hooks.d)。

支持的系统配置

  • 常规分区LUKS 加密分区LVM2 卷
  • BTRFS 卷仅支持 Ubuntu 风格布局,即必须存在 @ 子卷(用于根目录)和可选的 @home 子卷(用于 /home)。两者可在同一或不同 BTRFS 卷上。/home 也可挂载在非 BTRFS 分区上。若使用交换文件,需将其置于 @@home 之外的独立子卷(如 @swap)。
  • 引导加载程序:必须为 GRUB2。支持 EFI 系统。
  • 加密主目录:支持,将备份并还原 /home/.ecryptfs/$USER 下的加密文件。
  • 不支持:Docker 和容器化系统、GRUB 旧版引导程序。

安装与移除

  • Debian/Ubuntu/Linux Mint 等sudo apt-get install timeshift
  • Fedorasudo dnf install timeshift (注意:BTRFS 快照仅支持 Ubuntu 布局)。
  • 移除:使用对应包管理器卸载(如 sudo apt-get remove timeshift)。卸载前必须通过应用程序删除所有快照,否则 /timeshift 目录下的快照数据将继续占用磁盘空间。

已知问题与限制

  • BTRFS 布局限制:严格要求 @@home 子卷布局。如果交换文件位于这些子卷内,可能导致快照创建失败。
  • 磁盘空间:快照需要大量存储空间。若空间不足,可减少保留的快照数量或备份级别,或改为手动创建快照。
  • 引导与 EFI:不兼容 GRUB 旧版。从 Live USB 还原 EFI 系统时,必须以 EFI 模式启动 Live USB。
10. Database Design for Google Calendar: A Tutorial (kb.databasedesignbook.com)

Google Calendar 数据库设计教程摘要

目的与受众

本教程旨在指导开发者如何为复杂项目(以 Google Calendar 克隆版为例)设计数据库。目标受众是需要将模糊的业务需求转化为完整、准确的数据库表结构的人员。

核心方法论:最小建模

教程采用“最小建模(Minimal Modeling)”方法,将设计分为独立于具体数据库的逻辑建模(占80%篇幅)和物理建模两个阶段,通过结构化的方式确保设计与业务需求严格对齐。

逻辑模型设计

  1. 锚点(Anchors/实体):识别出可计数的核心实体,如 UserDayEvent(全天事件)、TimeEvent(时间事件)、TimezoneDayOfTheWeek
  2. 属性(Attributes):采用“问答形式”定义属性,并使用“逻辑类型”(如 string, date, either/or/or)。针对重复事件,设计了“纠缠属性”(Tangled attributes),即仅在特定条件(如设置为重复)下才生效的属性(如重复步长、结束日期或次数)。
  3. 链接(Links):通过形式化句子定义实体间的 1:N 和 M:N 关系(如“用户创建多个全天事件”),以验证基数(Cardinality)并防止设计缺陷。
  4. 时间槽(Slots):为解决日历页面渲染及重复事件中单个实例的修改、跳过问题,引入 DaySlotTimeSlot 锚点。每个具体发生的事件(包括非重复事件)均对应一个 Slot 实例,从而解耦了事件规则与具体实例。

物理模型与 SQL 实现

  1. 映射策略:采用“一个锚点对应一张表”的策略。将逻辑类型映射为具体的物理数据类型(如 VARCHAR, DATE, DATETIME, TINYINT)。业务必填项设为 NOT NULL,纠缠属性设为允许 NULL
  2. 关系实现:1:N 关系通过在 N 端表中添加外键列实现;M:N 关系(如事件与星期几)通过创建独立的关联表(如 day_event_dows)实现。
  3. 最终表结构:生成 8 张核心 SQL 表(users, timezones, day_events, time_events, day_slots, time_slots 及两张 M:N 关联表)。DayOfTheWeek 作为虚拟表/枚举处理,不建立物理表。

标准设计流程

业务需求文本 $\rightarrow$ 提取锚点 $\rightarrow$ 定义属性(问答)与链接(句子) $\rightarrow$ 绘制逻辑模型图 $\rightarrow$ 映射物理表名、列名与数据类型 $\rightarrow$ 编写 SQL DDL 语句 $\rightarrow$ 团队评审与共享。

11. NASA Graphics Standards Manual (1975) (standardsmanual.com)

这篇文章介绍了《NASA图形标准手册(1975)》的重新发行版本。

该手册由理查德·丹尼和布鲁斯·布莱克本设计,为美国国家航空航天局(NASA)塑造了一套充满未来感的视觉识别系统。此次重印版(2015年)内容丰富,包含了理查德·丹尼撰写的前言、克里斯托弗·博纳诺斯的评论文章,以及直接从丹尼个人收藏扫描的原始手册页面。此外,书中还复刻了1974年向NASA展示的35毫米幻灯片演示文稿,并收录了NASA随后分发的配套小册子《NASA图形标准经理指南》的扫描件。

关于书籍的物理规格:全书共220页,含有129个图像图版。尺寸为9.5 × 11.5英寸(24.1 × 29.2厘米)。印刷采用CMYK四色加上5种Pantone专色,并使用了随机网点技术。纸张方面选用了100克/平方米的Yupo Original纸和135克/平方米的Perigord Matte纸。装订为硬壳精装,封面有双色丝网印刷和软触覆膜。每本书都单独包装在防静电屏蔽袋中。印刷地点在意大利。国际订单需通过Counter Print网站进行。

版权信息表明,原始手册的版权属于1975年的NASA。此次2015年再版由Standards Manual, LLC出版发行。书中明确指出,虽然手册源自NASA,但其出版和发行并非由NASA赞助或背书,而是一项独立的项目,旨在保存和传播那个时代的图形设计档案。本版中的所有图像均扫描自理查德·丹尼的私人档案。

13. The Elegance of the ASCII Table (danq.me)

ASCII表的优雅之处

ASCII表不仅是编程中的实用工具,其设计更蕴含着美学与智慧。它通过7位二进制编码(0000000至1111111)定义了128个字符,其中前32个是控制字符(如回车0D、换行0A),二进制均以00开头,便于计算机快速识别非打印字符。唯一的例外是DEL(1111111),这是为兼容旧式打字机的全孔删除操作而保留的历史痕迹。

ASCII设计中的多个选择体现了深思熟虑的逻辑:

  • 空格被特意置于第一个可打印字符位置(二进制0100000),以确保计算机排序时人名“John Smith”能正确出现在“Johnny Five”之前。
  • 数字0-9的编码(二进制以011开头,后四位为数字本身的二进制值,如0=0110000)使得解析时能快速识别数字,且其移位符号(如!、@)基于早期打字机布局。
  • 字母编码具有优雅规律:大写字母以10开头,后跟字母表顺序的二进制(如A=1000001);小写字母则比对应大写高0100000(即以11开头,如a=1100001),既利于排序(大写优先)又简化了大小写转换逻辑。

ASCII的编码规则不仅方便人类阅读和记忆,也优化了早期计算机的位级处理效率。尽管现代Unicode(如UTF-8)已扩展支持更多字符,但UTF-8仍保持与ASCII的向后兼容,彰显了ASCII作为基础编码标准的持久影响力。其设计融合了实用性、历史痕迹与数学规律,体现了隐藏在日常技术中的精致与智慧。

14. Audapolis: Edit audio files by transcript, not waveform (github.com)

Audapolis:基于文本转录的媒体编辑器

Audapolis 是一款专为口语类媒体设计的编辑器,其核心创新在于通过文本转录(transcript)而非传统波形(waveform)来编辑音频文件,旨在让口语密集型媒体的编辑工作流变得更加简单、高效且易于上手。

核心功能与特点

  • 文字处理器般的体验:为用户提供类似文字处理软件的直观编辑界面,大幅降低媒体编辑的学习门槛。
  • 自动语音转录:能够自动将音频内容转录为文本,实现基于文本的快捷编辑。
  • 多媒体格式支持:支持纯音频、纯视频以及音视频混合编辑。广泛适用于广播节目、播客(Podcast)、有声书、访谈剪辑等各类口语类媒体制作场景。
  • 免费且注重隐私:软件完全免费。所有数据均保存在用户本地设备中,不涉及任何云端处理,确保数据隐私并让用户完全掌控自己的数据。

平台支持与用户反馈

  • 跨平台可用:目前提供 Windows、Linux 和 macOS 三大操作系统的最新版本下载。
  • 社区互动:开发团队鼓励用户积极报告 Bug 或用户体验(UX)问题。同时提供问卷调查,以收集用户的实际需求与期望,从而持续优化软件功能。

项目背景

该项目曾于 2021 年 9 月至 2022 年 2 月期间获得相关资金资助。

15. How much money we can raise for transparently idiotic startups? (www.smbc-comics.com)

无法基于提供的内容生成有效摘要。给定材料中仅包含网页标题、日期、标签及少量页面元素,未包含实质性文章正文。因此无法提取主要观点、关键细节或核心信息。

16. The workers have spoken: They're staying home (www.computerworld.com)

文章核心观点:远程办公已成不可逆转的趋势,员工更倾向于留在家中工作,企业难以强制恢复办公室坐班制度。

详细内容摘要:

  1. 员工选择与态度:超过半数员工明确表示,即使面临不晋升的风险,也宁愿选择继续在家工作,而非返回办公室。以戴尔公司为例,这表明2024年员工对工作模式的期望已与十年前大不相同。

  2. 远程办公的优势:文章列举了员工偏好居家办公的主要原因:

    • 免除通勤之苦。
    • 更易实现工作与生活的平衡。
    • 节省开支(如餐饮、交通)。
    • 拥有选择居住地点的自由,不受办公地点限制。
    • 对个人工作环境有更强的掌控感。
  3. 个人经验与佐证:作者以自身二十多年的远程工作经历为例,说明即使居住地远离公司,通过远程办公仍能高效完成工作,并享受更优质的生活环境(如居住成本更低、自然环境更好)。该经历印证了疫情后许多员工对远程工作的积极体验。

  4. 人才管理的挑战:高德纳公司人力资源总监指出,表现优秀的员工更倾向于加入提供混合或完全远程办公政策的企业。若公司不提供此类选项,将面临高绩效人才流失的风险,进而影响生产力、增加岗位回填难度,并导致高质量人才储备下降。

  5. 商业地产市场的证据:穆迪的商业地产分析显示,办公室空置率已达历史新高,超过20% 的办公空间处于闲置状态。文章指出,该比率尚未进一步攀升,主要是因为许多公司仍受长期租约所困。一旦租约到期,企业无需再承担办公室空间成本,这被视为对企业有利的双赢局面(商业地产行业除外)。

  6. 未来趋势:综合以上论点,文章断言远程办公已成为21世纪早中期及未来新兴工作文化的主流形态,并建议各方适应并享受这一变化。

17. Maestro: Netflix's Workflow Orchestrator (netflixtechblog.com)

Netflix Maestro:工作流编排器概述

Netflix 已将其工作流编排器 Maestro 的源代码开源。Maestro 是一个水平可扩展的系统,专为管理大规模数据/机器学习工作流(如数据管道和ML模型训练)而设计。它支持有向无环图(DAG)和有环工作流,并提供一系列可重用模式。

核心特性与进展

  • 开源与规模:Maestro 已在 Netflix 内部广泛使用,日均处理数十万工作流实例和近五十万作业,在高峰日可处理约二百万作业。相较于上一年,其执行作业量增长了87.5%。
  • 全面托管:为 Netflix 内部数千用户、应用和服务提供“工作流即服务”。
  • 支持多样用例:涵盖 ETL 管道、机器学习工作流、A/B 测试、数据迁移等。
  • 定义方式:工作流以 JSON 格式定义,分为属性(如作者、所有者、执行设置)和版本化工作流(含元数据、步骤定义)两部分。

关键工作流特性

1. 运行策略

Maestro 提供多种预定义策略来控制工作流实例的执行顺序和并发性:

  • 顺序运行:默认策略,按触发顺序(FIFO)依次执行。
  • 严格顺序运行:按顺序执行,但若历史记录中出现阻塞性错误,则暂停后续执行,直至错误被手动解除。
  • 仅首个运行:确保当前运行完成后才队列新实例,避免重复执行问题。
  • 仅最新运行:确保始终运行最新触发的实例,若新实例入队时当前实例仍在运行,则停止当前实例。
  • 带并发限制的并行运行:在预定义的并发限制下并行运行多个实例,适用于数据回填等需要分发执行的场景。

2. 参数与表达式语言

参数在 Maestro 中至关重要,支持动态代码注入以增强灵活性。为应对安全风险(如无限循环导致 OOM),Netflix 开发了简单、安全、可靠的表达式语言(SEL)。SEL 遵循 Java 语言规范的子集,并在语法解析和运行时(通过 Java Security Manager)增加安全校验与限制。此外,支持输出参数,允许步骤执行后通过 REST API 将结果返回给系统。

3. 工作流执行模式

Maestro 提供三大核心构建块:

  • Foreach 循环:将循环每次迭代视为独立的子工作流实例执行,便于处理需重复运行不同参数的任务(如数据回填)。
  • 条件分支:允许基于上游步骤的 SEL 表达式条件来决定后续步骤是否执行。
  • 子工作流:支持在一个步骤中调用另一个工作流,实现功能的模块化与复用,构建“工作流即函数”的图谱。

这些模式可组合使用,以构建复杂的自动恢复等工作流。

4. 步骤运行时与参数

  • 步骤运行时:定义了步骤在执行时的控制逻辑和状态跟踪。Maestro 提供了内置运行时(如 foreach、子工作流运行时)。
  • 步骤参数合并:支持在运行时注入参数。参数按特定顺序合并:默认通用参数 → 注入参数 → 默认类型参数 → 工作流/步骤信息参数 → 未定义新参数 → 步骤定义参数 → 运行/重启参数。这使得步骤行为高度可定制。

5. 步骤依赖与信号

步骤之间可通过基于信号的依赖关系来定义执行条件。信号是携带信息的消息,可通过步骤输出或外部系统(如 SNS、Kafka)发布。这支持了发布-订阅模式,下游步骤可依赖特定信号触发,实现精确的一次性执行。Maestro 还支持“信号血缘”,用于追踪信号的历史和匹配关系。

6. 调试与监控功能

  • 断点:允许在工作流步骤上设置断点,使执行暂停以便检查,支持手动恢复。
  • 时间线:记录步骤执行中的重大事件(如状态转换),辅助调试。
  • 重试策略:针对失败步骤,可配置重试次数、延迟(包括指数退避策略),并区分平台级错误重试和用户级重试。
  • 聚合视图与滚动视图
    • 聚合视图:合并多次运行中所有步骤的状态,提供整体工作流实例的视图。
    • 滚动视图:提供工作流实例的高级状态摘要,统计各状态的步骤数量,并展平嵌套结构(如子工作流、foreach)进行计数,便于快速定位问题。

7. 事件发布

当工作流定义、实例或步骤实例状态发生变化时,Maestro 会生成内部事件进行处理,并部分转化为外部事件发布到外部队列(如 SNS、Kafka)。下游服务可消费这些事件以获取工作流状态变更通知,实现事件驱动架构。

总结

Maestro 是一个功能全面、高度可扩展且安全的工作流编排器,旨在简化大规模复杂工作流的管理。其开源为外部社区提供了 Netflix 级别的编排能力。用户可通过其 GitHub 仓库 获取代码并参与开发。

19. The Unix Pipe Card Game (punkx.org)

这是一款名为《The Unix Pipe Card游戏》的纸牌游戏,旨在教导孩子们如何通过管道(pipe)组合Unix命令。

游戏假设玩家(通常为家长)已掌握基本的Unix命令,例如catgreptailheadwcsortuniq。建议家长在电脑上实际演示这些命令。如果没有Unix系统,可使用浏览器内的jslinux。

该游戏有可购买的版本(已售罄),也提供PDF文件供玩家自行打印。游戏代码已在GitHub上开源,作者是jackdoe,合作作者为Jackie,采用CC BY 4.0许可证。此外,还有难度更高的扩展包,涉及进程替换(Process Substitution)等概念。

游戏核心机制与规则如下:

  1. 由最年轻的玩家选择游戏胜负判定方式:可以是最短管道链完成者胜,也可以是最长管道链完成者胜。
  2. 最年轻的玩家抽取一张任务卡,且每张任务卡只能使用一次。
  3. 将命令卡牌洗匀并背面朝上放置。
  4. 玩家按顺时针顺序轮流从牌堆摸牌,并尝试用手中的命令卡牌组合成能完成抽取任务的管道命令。
  5. 第一个成功完成任务的玩家获得一分。
  6. 当所有任务卡都用完后,游戏结束。

游戏包含一系列预设任务卡,示例如下:

  • 打印文件的第二行。
  • 打印文件的倒数第二行。
  • 统计包含“rises”一词的行数。
  • 打印第一个包含字母“W”的行。
  • 打印出现次数最多的行。
  • 制造一个不产生任何输出的命令链。
  • 等等。

文章最后,作者还推荐了其开发的其他系列教育类卡牌游戏,用于教授编程和计算机科学的基础概念,包括:

  • 《Programming Time》:教授Python和算法。
  • 《The C Pointer Game》:教授C语言指针、数组和字符串。
  • 《4917》:教授机器码和CPU工作原理。
  • 《RunLength Encoding for Kids》:解释游程编码。
  • 《PUNK0》:关于函数组合的卡牌游戏。
  • 以及关于RISC-V汇编和教学日志的其他项目。
20. Wiz walks away from $23B deal with Google (www.cnbc.com)

网络安全初创公司Wiz已放弃与谷歌母公司Alphabet一笔价值230亿美元的潜在收购交易,转而将专注于按原计划推进首次公开募股。这笔交易若达成,本将成为谷歌有史以来最大的一笔收购案。

Wiz联合创始人阿萨夫·拉帕波特在致员工的备忘录中表示,拒绝如此高的报价是艰难的,但公司将聚焦于IPO和达成10亿美元年度经常性收入的下一个里程碑。知情人士透露,反垄断审查风险和投资者担忧是放弃交易的主要原因。

Wiz于2020年成立,增长迅速,其云安全产品涵盖预防、主动检测和响应,吸引了众多大企业客户。该公司在成立仅18个月后就实现了1亿美元的年度经常性收入,去年该数字已达到3.5亿美元。此笔交易几乎能将其最新一轮融资中120亿美元的估值翻倍。

此次交易失败对谷歌的云业务而言是一次挫折。目前谷歌云正面临来自领跑者微软和亚马逊的激烈竞争,尽管其云部门在2023年实现了盈利,但仍需持续增长以抓住人工智能时代的发展机遇。谷歌此前于2022年以54亿美元收购了网络安全公司Mandiant,而其最大的收购案仍是2012年以125亿美元收购硬件制造商摩托罗拉。

此外,该交易的流产也被视为对Index Ventures、Insight Partners等风险投资机构的失望,这些基金近年筹集了数十亿美元,需要超过100亿美元的退出机会才能为有限合伙人带来可观回报。Wiz的创始团队此前曾创立安全初创公司Adallom并以3.2亿美元出售给微软。

Wiz决定放弃收购,选择独立IPO,也反映了在监管环境收紧和市场不确定性下,科技领域大型退出事件稀少的现状。拉帕波特曾在去年表示,他肯定会带领Wiz上市。

21. A free tool to quickly detect counterfeit flash (2017) (fight-flash-fraud.readthedocs.io)

F3:快速检测假冒闪存盘的免费工具

F3(Fight Flash Fraud / Fight Fake Flash)是一款用于测试闪存设备(如U盘、存储卡)的实际容量和性能的工具,旨在帮助用户识别并打击容量虚标的假冒产品。

核心原理与主要功能

该工具通过向设备写入特定的伪随机数据,然后读取并比对这些数据来验证存储空间的真实性。如果设备宣称的容量超过实际物理容量,写入的数据在读取时将出现不匹配,从而暴露欺诈行为。

F3主要包含以下组件:

  • f3write 与 f3read:用于性能与完整性的综合测试。f3write 向已挂载的设备写入大文件,f3read 随后验证这些文件是否与写入时完全一致。
  • f3probe:最快的容量探测工具,适合大容量磁盘。它直接操作未挂载的块设备,只写入必要的数据进行测试。警告:此操作会破坏设备上的所有现有数据。
  • f3fix:根据 f3probe 的输出结果,在假冒驱动器上创建一个与其真实容量相匹配的分区,从而“修复”设备以供安全使用。

基本使用流程

  1. 性能与完整性测试: 依次运行以下命令(需替换路径为您的设备挂载点):

    f3write /media/michel/5EBD-5C80/
    f3read /media/michel/5EBD-5C80/
    
  2. 快速容量探测(破坏性): 需以 root 权限运行,直接指定块设备(如 /dev/sdX):

    f3probe --destructive --time-ops /dev/sdX
    
  3. 修正容量: 根据 f3probe 输出的参数(如 --last-sec),运行:

    f3fix --last-sec=16477878 /dev/sdX
    

安装方法

F3 可在多种操作系统上编译安装。

  • Linux / FreeBSD:通过源代码编译。
  • Windows:可通过 Cygwin 环境编译 f3writef3read,但 f3probef3fix 需要 Linux 环境,建议使用 Docker。
  • Mac:可通过 Homebrew 或 MacPorts 安装 f3writef3read,其他组件同样建议使用 Docker。
  • Docker 安装:提供预构建镜像 peron/f3,方便在不同平台上运行。在 Mac 和 Windows 上,正确传递USB设备到容器可能需要额外配置(例如使用 docker-machine 和 VirtualBox 进行设备直通)。

其他资源与相关工具

  • 图形用户界面 (GUI)
    • F3 QT:Linux 平台的 QT 图形界面,支持主要命令。
    • F3XSwift:Mac 平台的图形界面,支持 f3writef3read
  • 实用脚本:提供如 f3write.h2w(模拟 H2testw 输出)和 log-f3wr(记录测试日志)等脚本,方便高级用户定制测试。
  • Flakyflash:一个补充工具,用于处理非欺诈但存在间歇性数据损坏的闪存设备(基于FAT文件系统),可以标记坏簇。
22. What Is Entropy? (johncarlosbaez.wordpress.com)

文章总结

本文介绍了一本关于的小书的当前草稿及其基本理念。作者将熵定义为我们对某一情况未知但原则上可学习的信息量,并试图通过具体例子(如常温常压下氢气的熵)来精确量化这一概念。

核心内容

书中重点探讨以下主题:

  • 信息香农熵吉布斯熵
  • 最大熵原理玻尔兹曼分布
  • 温度与“冷却度”
  • 熵、期望能量与温度的关系
  • 能量均分定理配分函数
  • 期望能量、自由能与熵的关系
  • 三种经典系统的熵:经典谐振子盒中粒子经典理想气体

特点与限制

  • 作者刻意避开热力学第二定律(熵增原理)的深入讨论,因其复杂性需另一本书详述。
  • 避免涉及熵在生物学、黑洞物理等领域的应用,因此不涉及科普作品中常见的“熵与无序”等比喻。
  • 尽量减少量子力学的前置知识,但指出普朗克常数在经典系统熵公式中的必要性——因其提供了相空间体积的单位,即使经典近似也需要微量量子概念来得到氢气熵的良好公式。
  • 书籍以数学为导向,注重概念精确性和反例探索,重要结论以框体形式突出。作者建议读者可先通读再细究技术细节。

背景与形式

  • 该书源于作者在Twitter上以“推文”形式开设的熵短期课程的扩展版本。
  • 作者感谢Jacopo Bertolotti制作的动画,并在评论中收集了众多读者的修正意见。
23. Types as Interfaces (two-wrongs.com)

文章内容总结

本文探讨了在Haskell中使用类型作为接口的设计模式,通过一个桌游实现的例子说明了该模式的优势与局限性。

核心模式:类型作为接口

作者最初设计了一个游戏中的报价类型 Quote。为了在单播通信中增加发送者和接收者信息,他没有直接修改 Quote,而是创建了一个通用的包装类型 Msg a,将 PlayerId 作为发送方和接收方字段,并将原始类型作为负载 _payload。这样,Msg Quote 就成为了带有通信元数据的报价。

该模式的核心优势在于通用性:可以为任何类型 a 添加元数据。例如,一个只关心发送和接收者的函数 msg_for 可以编写为:

msg_for :: Player -> Msg a -> Bool

此函数能处理任何 Msg a 类型的值,无论其负载是 Quote 还是其他类型。

可组合性的问题与讨论

文章指出,这种“类型即接口”的模式常被批评可组合性不佳。问题在于,当需要为数据添加多层注解(例如时间戳)时,包装的顺序会影响现有函数的适用性

例如,定义了 Timestamped a 用于添加时间戳后:

  • Timestamped (Msg Quote) 可以传递给 msg_for 函数(因为它仍是 Msg a)。
  • Msg (Timestamped Quote) 则不能,因为它最外层是 Msg,其负载类型是 Timestamped Quote,而非 Quote

潜在解决方案:类型类

为了处理不同顺序的组合,文章提出了使用类型类来定义真正的接口。例如:

class HasRecipient a where
    get_receiver :: a -> PlayerId

然后为 Msg aTimestamped (Msg a) 等类型分别实现该类型类。这样,函数签名可以变得更通用:

msg_for :: HasRecipient msg => Player -> msg -> Bool

它能够处理任何实现了 HasRecipient 接口的类型。

然而,作者认为这种方法可能增加代码复杂度,尤其是在长期维护中。例如,需要为 Timestamped (Msg (Timestamped Quote)) 这样的复杂嵌套定义合适的实例会变得混乱。

工程实践启示

文章最后从网络协议(如以太网、IP、TCP、HTTP的分层封装)中获得启发,提出了一个务实的观点:

在实际工程中,可能并不需要支持所有可能的嵌套组合。相反,工程师应该确定一个固定的、有明确层次的结构(例如,始终采用 Timestamped (Msg Quote) 的形式),并舍弃那些不重要的变体。这使代码更简单、更可维护。

文章总结道,虽然类型类可以提供泛化能力,但根据实际需求选择并坚持一种数据表示结构,往往是更简单有效的工程实践。作者不认为存在一劳永逸的解决方案,强调了权衡取舍的重要性。

24. Show HN: Lisp in C# (github.com)

Sharpl:C#实现的自托管Lisp解释器

核心介绍 Sharpl是一个完全用C#实现的自托管Lisp解释器,代码量约7千行,无外部依赖。它提供了简单的REPL,可直接运行Lisp代码。

核心语法特性

  • Pair:使用:创建,如1:2:3,在语言中广泛使用。
  • 范围:支持min..max:stride语法,如1..5:2
  • 有序映射:使用花括号{k1:v1 ... kN:vN}定义。
  • 方法组合:使用&符号组合方法。
  • 可变参数:方法参数支持*后缀,如(foo [bar*] ...)
  • 解构绑定:支持声明式解构,如(let [_:y 1:2] y)
  • 展开:使用*展开序列,类似Python的splat。
  • 延迟操作:使用defer注册作用域退出时执行的操作。
  • 迭代器协议:统一且深度集成。
  • 定点数:默认十进制类型。
  • Nil:写作_
  • 真值TF均已定义,零值、空字符串、空数组等被视为假。
  • 比较=进行深度值比较,is仅比较身份。
  • 括号:仅用于函数调用。
  • 可调用性:许多类型都可调用,类似Clojure。
  • 方法符号:使用^定义。
  • 行号:支持行号追踪。

绑定与作用域

  • 词法作用域:使用let创建。
  • 动态作用域:使用var创建。

方法与函数

  • 使用^定义方法,省略名称则创建Lambda。
  • 支持闭包,在方法定义时捕获外部绑定。
  • 使用return进行显式尾调用优化。

控制流

  • 条件分支:使用ifelse
  • 循环:提供loop(无限循环)和for(迭代多个可迭代对象)。

数据类型

  • 基本类型nil、位(T/F)、符号、字符、整数、定点数。
  • 复合类型:对(Pairs)、数组(固定大小)、字符串、列表、映射。
  • 栈操作:对、数组、列表和字符串均支持pushpeekpop
  • 切片:复合类型支持使用对进行索引切片。

标准库功能

  • 迭代器:提供mapfilterreducesumzipenumeratefind-first
  • 用户定义类型:使用trait定义抽象类型,type定义具体类型。
  • 错误处理:使用fail抛出错误,try处理错误,支持自定义错误类型和重启机制。
  • 评估eval进行运行时动态评估,emit进行编译时静态评估。
  • 时间库:提供时间戳、时长、时区转换、日期时间范围生成等功能。
  • 通信:提供Pipe(单向)和Port(双向)线程安全通道,支持poll轮询。
  • JSON:提供json/encodejson/decode
  • 终端控制:提供键值常量、poll-keyread-keyask等基础TUI功能。

开发与工具

  • 测试:使用check进行断言测试。
  • 基准测试:使用bench进行性能测量。
  • 构建:可使用dotnet publish构建独立可执行文件。
  • 调试:使用dmit显示表达式生成的VM操作。
  • 贡献:项目欢迎提交拉取请求或通过GitHub议题讨论变更。
25. Re: Do people IRL know you have a blog? (lars-christian.com)

这篇短文是作者回应“现实生活中的人是否知道你有博客”这一话题的自述。作者主要表达了以下几个核心观点:

  • 现实中的疏离感:作者曾兴奋地向妻子展示自己为个人网站开发的“阅读追踪”功能,但妻子的反应是困惑和漠不关心,并反问“谁会在乎你读什么书”。这种不被理解的场景在作者近二十年的网站运营生涯中反复出现。无论是2005年社交媒体尚未兴起时,还是当下大型科技平台影响力开始衰退,身边的人始终无法理解他维护一个个人网站的意义。
  • 将不被关注视为自由:作者认为,这种“无人在意”的状态恰恰是一种自由。它允许他无需向任何人解释,可以不抱歉意地探索个人兴趣,自由表达任何想法。他的网站不是为了取悦他人,而是满足自己的热爱。
  • 珍视“通过冷门获得的匿名性”:作者的网站从未流行,文章也从未广泛传播,现实中几乎无人讨论他发布的内容。他将这种状态称为“通过冷门和淡漠获得的匿名性”,并逐渐珍视它。这种匿名性使他免于将网站变成一种“焦虑石”(指反复揉搓、让人焦虑的东西),避免了在“保持专业形象”和“展现酷炫个性”之间的拉扯。由于网站从不是收入来源,他无需担心实验性的设计或内容会影响生计。
  • 小网站中的持续灵感:尽管作者形容自己或许是个“无聊的、有点企业化的人”,但他通过浏览小型的独立网络不断获得新的灵感,这可能会让他的网站未来变得更勇敢、更有锐气。但他认为,无论网站如何变化,现实生活中的人们很可能依然不会过多关注。

总之,这篇文章描绘了一种在数字时代维护个人独立网络空间的体验:其核心动机源于自我表达和对科技巨头控制的微小反抗,而最大的“奖励”恰恰是来自外界的漠不关心,这为创造者提供了宝贵的、无压力的自由。

26. The Linux audio stack demystified (and more) (blog.rtrace.io)

本文旨在解析Linux音频系统的工作原理。首先介绍了声音的物理本质、人类听觉特性以及数字音频的采样、量化与存储原理,随后阐述了声卡的核心作用。重点剖析了Linux音频堆栈的模块化分层结构:

  • ALSA:内核层的底层音频驱动与API,提供硬件控制和基础功能。
  • JACK:专业级声音服务器,以超低延迟和实时音频处理见长,适用于音乐制作等场景。
  • PulseAudio:通用桌面声音服务器,支持多流混合、应用独立音量控制、网络音频传输和音效处理,提升了桌面音频体验。
  • PipeWire:现代多媒体框架,旨在统一取代PulseAudio和JACK,兼具低延迟、音视频流处理、良好的应用兼容性和安全性。

声音服务器的核心功能包括:混合多路输入流、支持多路输出、独立控制各流音量、创建虚拟输出、通过插件应用音效(如压缩器、均衡器、降噪),以及为应用程序提供音频API。选择建议:PipeWire适用于广泛场景;JACK专注最低延迟专业音频;PulseAudio仍是通用桌面可靠选择。主流发行版多已采用PulseAudio或PipeWire。

27. Cure for male pattern baldness given boost by sugar discovery (www.sheffield.ac.uk)

研究发现:天然糖2dDR可能为治疗男性型秃头症提供新途径

背景与影响
男性型秃头症(雄激素性脱发)影响全球高达50%的男性,目前仅有两种FDA批准的药物治疗。该研究由谢菲尔德大学和巴基斯坦COMSATS大学的科学家合作开展,旨在寻找新的治疗方案。

关键发现

  • 科学家发现一种名为2-脱氧-D-核糖(2dDR)的天然糖,能够刺激小鼠模型中的毛发生长。
  • 研究发表在《药理学前沿》杂志上,基于过去八年对2dDR促进伤口愈合的观察,意外发现其对毛发生长的促进作用。

研究方法与机制

  • 使用雄激素驱动的小鼠脱发模型(模拟男性型秃头症),局部应用小剂量2dDR。
  • 结果表明,2dDR通过促进新血管形成(血管生成),改善毛囊血液供应,从而刺激毛发再生。

有效性比较

  • 在小鼠实验中,2dDR的毛发生长效果与现有药物米诺地尔相当,但作为一种天然糖,它可能提供更安全、廉价的替代方案。

潜力与前景

  • 2dDR天然存在于人体内,具有成本低、稳定性高的特点,易于通过凝胶或敷料递送。
  • 研究仍处于早期阶段,但结果支持进一步探索其作为男性型秃头症治疗的潜力。
  • 科学家强调,该发现可能改善患者自信与生活质量,为脱发治疗开辟新途径。

研究团队观点

  • 谢菲尔德大学Sheila MacNeil教授指出,该方法可能通过提升毛囊血液供应来促进生长。
  • COMSATS大学Muhammed Yar教授认为,2dDR的天然特性和易递送性使其成为理想的候选治疗物。
28. Counting bytes faster than you'd think possible (blog.mattstuchlik.com)

本文介绍了针对特定高性能挑战的优化解决方案:统计250MB文件中值为127的字节总数。解决方案在Intel Xeon E3-1271 v3(仅使用AVX2指令集)上实现了约550倍的性能提升。

挑战与目标

挑战要求读取标准输入中250MB的均匀分布字节流,统计值为127的字节数量。初始的朴素循环方法效率极低,因此需要深度优化。

核心解决方案

  1. SIMD指令内核:使用AVX2的vpcmpeqb指令将32字节块与127进行比较,通过vpsubb指令累积匹配计数。为防止窄累加器溢出,定期使用vpsadbwvpaddq指令将结果合并到64位宽累加器中。
  2. 内存访问优化
    • 页面交错访问:受Intel优化手册中“Streamer”预取器特性的启发,采用非顺序访问模式。程序同时交错处理8个4K内存页面(而非顺序处理整个文件),显著提升了完全内存带宽受限场景下的性能。在该挑战中,此优化带来约15%的性能提升;对于更简单的计算(如模255求和),提升可达30%。
    • 软件预取:在处理每个块时,添加了提前4个缓存行的软件预取指令,进一步优化数据访问。
  3. 实现细节
    • 使用mmap将输入文件映射到内存,便于高效访问。
    • 主循环中,每批次处理8个页面,每个页面处理多个64字节的缓存行。
    • 最终将累积的计数合并输出。

关键优化点

  • 向量化计算:通过SIMD指令并行处理32字节数据,大幅提升计算吞吐量。
  • 内存带宽利用:页面交错访问模式打破了顺序访问的限制,更好地利用了硬件预取器的特性,减少了内存访问延迟。
  • 平衡计算与预取:通过软件预取提前加载数据,保持计算单元持续忙碌。

性能结果

解决方案在基准测试中比朴素实现快约550倍。作者在HighLoad排行榜上暂列第13名,落后第一名约7%。

总结

该解决方案展示了通过精细的SIMD优化和创新的内存访问模式(如页面交错访问),可以极大提升内存带宽受限任务的处理速度。页面交错访问技术虽然效果显著,但在实践中却较少被讨论和使用。

29. Switzerland now requires all government software to be open source (www.zdnet.com)

瑞士强制要求政府软件开源

瑞士通过《电子手段履行政府任务联邦法》(EMBAG),成为全球开源软件运动的前沿国家。该法律要求所有公共机构公开由其开发或为其开发的软件源代码,除非受第三方权利或安全因素限制,以实践“公共资金,公共代码”原则,旨在提升政府透明度、安全性和运营效率。

法律背景与历程

  • 起源:2011年瑞士联邦最高法院发布开源法律应用Open Justitia,引发专有软件公司的反对。
  • 斗争:经历十多年政治和法律争议后,EMBAG于2023年正式通过。
  • 核心内容:不仅允许政府或承包商发布开源软件,还强制要求以开源许可证发布代码,排除第三方权利或安全限制。

主要推动者与益处

  • 领导者:伯尔尼应用科学大学公共部门转型研究所所长Matthias Stürmer教授主导推动,称其为“政府、IT产业和社会的重要机遇”。
  • 益处
    • 减少公共部门的供应商锁定。
    • 促进企业数字业务解决方案扩展。
    • 降低IT成本,为纳税人提供更优服务。

附加要求与实施

  • 开放政府数据:法律还要求发布非个人和非敏感政府数据作为开放政府数据(OGD),实现“默认开放”模式。
  • 实施挑战:瑞士联邦统计局负责执行,但组织和财务细节仍需明确。

欧洲其他国家的开源支持

  • 法国:总统马克龙公开支持开源,国家宪兵队使用Linux系统。
  • 欧盟:通过FOSSA项目推动开源安全,但担忧资金削减(如NGI Zero Commons Fund)。

美国的开源政策

  • 联邦政策:要求联邦机构至少20%的新定制代码开源,但不强制使用开源。
  • GSA政策:促进“开放优先”方法,要求公布开源代码。

全球意义

瑞士的立法被视为国际范例,旨在促进数字主权、创新和公共部门协作。尽管欧洲和美国已有开源支持措施,但全球仍需更多努力以推动开源普及。

30. The Puzzle of How Large-Scale Order Emerges in Complex Systems (www.wired.com)

根据新框架,研究人员可能接近解释复杂系统中大规模有序性如何涌现。该框架由费尔南多·罗萨斯(Fernando Rosas)、阿尼尔·塞斯(Anil Seth)等人提出,将涌现现象比作“自然界中的软件”:宏观层面的行为由自成一体的规则支配,无需追踪所有微观细节。

核心思想是,复杂系统通过将自身组织成一个层级结构来实现涌现,该层级中每一层的运作都独立于下层细节。研究者使用“计算力学”这一数学形式主义来定义系统何时具备这种层级结构,并识别出三种关键的“闭合性”:

  1. 信息闭合:微观细节信息无法更好地预测宏观行为。
  2. 因果闭合:宏观层面的干预独立于微观细节,宏观状态自身导致其未来状态。
  3. 计算闭合:系统不同尺度的动态可以通过粗粒化相互构建,形成嵌套的、“强可聚合”的因果状态(ε机器)结构。宏观层面由此出现一个高度压缩的描述,能完全捕捉影响宏观行为的微观动态。

该框架通过分析随机行走、神经网络和元胞自动机等模型系统得到验证。它还允许处理“泄露的涌现”,即宏观与微观并非完全独立(如生物体中的基因突变有时会影响整体功能)。此外,该工作与“因果涌现”概念相呼应,即宏观层面可拥有比微观更强的因果影响力,并可能为理解自由意志提供新视角。

尽管仍有学者对宏观因果性持怀疑态度,但该框架为理解涌现现象提供了新的形式化工具,有助于界定何时可以开发有效的宏观粗粒化模型,并可能解答关于宇宙结构的基本问题。

31. Netflix has open-sourced its Maestro Workflow Orchestrator (github.com)

Netflix Maestro 工作流编排器

项目概述

Maestro 是 Netflix 开源的一款通用工作流编排器,为数据平台用户提供完全托管的工作流即服务(WAAS)。它服务于数据科学家、数据/软件/机器学习工程师及业务分析师等数千名用户。该系统每天调度数十万个工作流和数百万个作业,具备高可扩展性,并在流量高峰期仍能保持严格的服务等级目标(SLO)。

核心功能与技术架构

基础构建与运行

  • 环境依赖:需要 Git、Java 21、Gradle 和 Docker。
  • 构建与启动:通过 Gradle 命令(buildbootRun)进行项目构建和本地服务启动。支持结合 Docker Compose 和 Spring profiles 激活 AWS 模块运行。

REST API 管理

提供完整的 RESTful API 用于管理工作流生命周期,支持执行以下操作:

  • 创建和获取工作流定义(如 DAG 测试样本)。
  • 手动触发工作流运行。
  • 查询工作流实例的运行状态。
  • 删除工作流及其相关数据。

扩展模块 (maestro-extensions)

  • 架构设计:作为独立的 Spring Boot 服务运行(默认端口 8081),通过 SQS 监听 Maestro 服务器发布到 SNS 主题的事件。
  • 核心功能:处理附加功能,例如消费步骤实例状态变更事件并提供 foreach 步骤的扁平化视图。
  • 本地部署:依赖 LocalStack 模拟本地 SQS/SNS 服务,配合 Maestro 主服务(端口 8080)协同运行。

Kubernetes 支持

原生支持 Kubernetes 环境。在配置好 kubectl 后,可通过 API 提交特定的 Kubernetes 工作流 JSON 定义并手动触发运行。

Python SDK 客户端

提供官方的 Python SDK,方便开发者通过代码与 Maestro 服务器交互,主要功能包括:

  • 工作流定义:使用代码构建工作流(Workflow)和作业(Job),设置所有者和标签,并导出为 YAML 格式。
  • 服务推送:通过 MaestroClient 将 YAML 格式的工作流推送到 Maestro 服务器。
  • 任务执行:通过客户端启动指定工作流,并支持传递自定义运行参数(如字符串类型的键值对)。

许可证与社区

  • 开源协议:项目基于 Apache License 2.0 许可证开源。
  • 社区支持:提供 Slack 社区工作区供开发者交流与讨论。
33. When British Railways deliberately crashed a train (www.therailwayhub.co.uk)

1984年7月17日,英国铁路局(British Railways)与中央电力发电局(CEGB)在诺丁汉郡附近的奥尔德达尔比测试线上,共同策划并执行了一次著名的实车碰撞测试,旨在向公众证明核燃料运输罐在极端事故下的安全性。

测试目的与背景 此次测试耗资160万英镑,是CEGB为平息反核团体对核燃料运输安全持续担忧所进行的四年、总耗资400万英镑测试计划的一部分。此前基于缩比模型的测试未能完全消除公众疑虑,因此决定进行全尺寸实物撞击测试。测试目标是验证用于运输乏燃料的“Magnox Mark M2c”型钢制运输罐能否承受高速列车正面撞击。

测试准备与执行

  • 运输罐:测试用运输罐由实心钢锻造而成,内部装载3吨钢棒模拟燃料,并注水加压。其尺寸约为2.18 x 2.56 x 2.21米,总重48吨。
  • 撞击列车:使用一台退役的46型柴油机车(46 009号,重140.5吨)牵引三节Mk I型客车,以每小时100英里的速度撞向故意侧翻在轨道上、装载着运输罐的“Flatrol”货车。
  • 测试现场:设有观礼台,邀请了媒体、官员及核电站观察员。为确保精准,测试时间原定于13:12,但因反核抗议者闯入而延迟约9分钟。

撞击过程与结果 撞击发生后,机车前部严重损毁,腾空后侧翻;首节车厢的盥洗室撞入机车后舱。然而,关键的核燃料运输罐仅盖子上有一道划痕,内部压力仅下降了0.2磅/平方英寸,基本保持完好。三节客车车厢结构未严重扭曲,内部座椅大部分保持原状。

结论与反响 测试成功证明了运输罐能抵御最严重的铁路事故。CEGB指出,此结果虽以高昂成本验证了模型预测,但若能消除公众疑虑则物有所值。不过,文章最后也提及了当时反对者的另一个观点:运输安全固然重要,但后端处理厂(如塞拉菲尔德)的放射性物质泄漏问题同样不容忽视。

(注:摘要基于原文内容客观归纳,已控制在800字以内,并采用中文直接陈述核心事实。)

34. United States Discloses Nuclear Warhead Numbers; Restores Nuclear Transparency (fas.org)

美国科学家联合会(FAS)对美国解密其军事库存核弹头数量及退役拆解弹头数量的决定表示欢迎。此举符合美国对核透明化的承诺,FAS呼吁所有其他核国家效仿。

库存与拆解数据:美国国家核安全管理局(NNSA)发布的数据显示,截至2023年9月,美国核武器军事库存包含3,748枚核弹头,这与FAS此前估计的3,708枚仅相差40枚。数据显示,美国去年仅拆解了69枚退役核弹头,为1994年以来的最低年度数量。1994年至2023年间,美国累计拆解退役弹头12,088枚。目前,另有约2,000枚退役弹头正在储存中等待拆解,这一数字高于FAS此前的估计。

透明化的恢复与中断:此次解密恢复了自奥巴马政府时期建立、后因特朗普政府中断、拜登政府首年重启但随后又中断三年的核库存透明化政策。FAS认为,此前拒绝其获取2021至2023财年数据的请求是错误的,今天的数据解密证明,披露库存信息并不会损害美国安全。

库存趋势:解密的数字显示,过去七年间美国核武器库存保持相对稳定。自2007年以来的库存削减幅度相对有限,主要源于总统指导方针、战略和现代化项目的变化,而非《新削减战略武器条约》的直接影响。库存中的弹头数量远低于冷战时期水平。

FAS的透明化工作:FAS长期致力于推动核武器问题的负责任透明化。一方面,FAS政府保密项目通过报告和申请解密不必要的秘密(如库存数字)来推动透明化,尽管在2019-2020年和2022-2024年期间,FAS的解密请求最初被拒绝。另一方面,FAS核信息项目致力于分析和公开全球核武库信息,其评估数据被北约官员称赞为“最佳开源信息”。

核透明化的重要性:FAS认为核透明化至关重要,主要体现在三个方面:

  1. 支持美国安全:通过提供关于美国能力的事实信息来支持威慑与安抚任务,并证明美国并未秘密扩充库存,有助于减少不信任和最坏情况的预测。
  2. 促进国际对话:美国在批评他国缺乏透明化的同时,自身若保密将削弱其倡导立场,并可能被指责为虚伪。
  3. 保障民主进程:透明化对于国内关于核武库现状、未来及政策的知情辩论至关重要。这并非零和博弈,而是民主过程的核心。尽管美国的披露不依赖于他国的同步行动,但FAS鼓励法国、英国等盟国以及俄罗斯、中国等其他核国家效仿美国的做法。
35. Paper cuttings made by 17th-century schoolgirls discovered beneath floorboards (www.smithsonianmag.com)

17世纪女学生剪纸艺术重见天日

在伦敦历史建筑萨顿庄园(Sutton House)的地板下,发现了17世纪女子寄宿学校学生创作的精美剪纸作品。这些包括小狐狸、星星和母鸡等图案的纸片,在脆弱材质下奇迹般保存了350年,将于7月19日至12月在萨顿庄园首次公开展出。

发现与背景

  • 这些作品于1980年代房屋翻修时与其他数百件文物一同出土,但直到去年才由志愿者团队系统整理。
  • 萨顿庄园曾是1657年创办的女子寄宿学校,为中上层阶级女孩提供教育。在当时,女子正规教育是相对新颖的概念。
  • 学校课程涵盖读写、算术、音乐与艺术,剪纸与刺绣等手工艺同属艺术教育的一部分。学生通过临摹书籍图样、手工上色完成作品,用于装饰盒器等物品。

艺术价值与意义

  • 早期现代物质文化专家Isabella Rosner指出,此类剪纸在17世纪家政手册中虽有记载,但实物遗存极少。目前英国仅存三例17世纪剪纸,此次发现为其中之一。
  • 作品带有鲜明个人特色:例如粉色母鸡图案旁拼写有误的“hean”(应为hen),展现了少女们的创作痕迹。
  • 研究者推测,著名17世纪家政作家汉娜·伍利(Hannah Woolley)可能曾任职于该校并教授剪纸技艺。其著作中曾详细描述“剪裁印花装饰房间或柜橱”的技巧。

历史见证

  • 国家信托资深藏品官员Kate Simpson表示,尽管长久以来知晓萨顿庄园作为女子学校的历史,但关于课程、学生与教学细节寥寥。此次发现“生动还原了当年女学生学习的一门技艺,以及精心裁剪、着色微型纸张的过程”。

此次展览将通过这些穿越三个半世纪的纸艺作品,直观呈现17世纪女子教育中艺术技能培养的真实面貌。

38. Show HN: Briefer – multiplayer notebooks with schedules, SQL, and built-in LLMs (briefer.cloud)
39. Why Adventure Games Suck (1989) (grumpygamer.com)

《为什么冒险游戏很烂》摘要

文章背景

本文由游戏设计师罗恩·吉尔伯特(Ron Gilbert)写于1989年,当时他正在设计《猴岛小英雄》。他在2004年发布此文时感慨,冒险游戏已“正式死亡”,并希望RPG、FPS等类型的设计师能从其过往经验中获得启发。

核心观点

  • 冒险游戏的本质:作者热爱以故事和慢节奏思考为核心的冒险游戏,但指出这类游戏很少能“做对”。
  • 不应称为“互动电影”:故事游戏与电影有根本区别(尤其是“互动性”),应建立自己的类型。将其称为“互动电影”是源于狭隘的市场营销和“好莱坞嫉妒”。
  • “怀疑暂停”的重要性:游戏应尽可能让玩家沉浸其中(进入“怀疑暂停”状态)。任何导致玩家挫败感(如反复读档)的设计都会破坏沉浸感,使玩家弃游。

吉尔伯特设计准则(十二条经验法则)

为了最大限度保持玩家的沉浸感,作者提出以下设计准则:

  1. 最终目标需清晰:玩家一开始就应明白要达成什么。
  2. 子目标需明确:尤其初始子目标,能有效引导玩家。
  3. 应能“活到老学到老”:玩家通过谨慎和观察应能避免死亡,而非通过死亡来学习。
  4. 避免“逆向解谜”:应先发现需要解决的问题(如裂缝),再找到解决方案(如绳子)。
  5. 避免“忘记拿取”:不要求玩家提前拾取看似无关、但后期必要的物品。
  6. 谜题应推进剧情:每个谜题的解决应使玩家更接近理解故事或目标。
  7. 避免实时设计:应使用“好莱坞时间”而非实时,让玩家感觉“刚好赶上”,而非因超时失败。
  8. 提供渐进奖励:通过展现新区域、新剧情等方式让玩家感知进展。
  9. 避免随意谜题:谜题解决方案应合理,不应仅靠试错或运气。
  10. 奖励意图:理解玩家想做什么,并帮助其实现,避免因表述问题(如解析器辨识)阻碍玩家。
  11. 避免不相关事件:解锁新区域的事件应与逻辑相关。
  12. 给予玩家选择:避免将玩家“困在笼子里”解决一系列小谜题,应设计更开放的结构,允许玩家尝试不同路径。

对游戏行业的建议

  • 取消或限制存档:存档应仅用于暂时离开,不应成为游戏机制的一部分,否则会导致设计松散。
  • 调整游戏定价与规模:针对高昂的游戏价格,不应为延长游戏时间而加入拖沓的谜题,而应设计紧凑、约4-5小时的高质量体验。

结论

作者认为,冒险游戏若要成为游戏与叙事结合的桥梁,必须减少无关的解谜,更专注于讲故事。游戏设计的终极目的是娱乐,而非带给玩家额外的挫折感。

40. Microsoft: Linux Is the Top Operating System on Azure Today (thenewstack.io)

文章标题:Microsoft: Linux Is the Top Operating System on Azure Today

摘要内容:

微软Azure云服务的历史见证了操作系统格局的巨大转变。尽管在2001年,时任微软CEO史蒂夫·鲍尔默曾将Linux的开源许可协议称为“癌症”,但如今,Linux已超越Windows,成为Azure上使用最广泛的操作系统。这一转变主要由客户需求驱动,而非纯粹的哲学争论。

现状与数据

  • 主导地位:Linux是Azure上排名第一的操作系统。
  • 具体规模:Azure Marketplace中超过60%的第三方产品(约20,000项服务)基于Linux;超过60%的虚拟机核心也运行在Linux上。
  • 内部应用:Azure的众多核心服务,如Azure Kubernetes Service (AKS)、OpenAI和HDInsight等,其底层基础设施均运行在不同版本的Linux之上。

微软的转变与支持工作

  • 历程:Azure最初于2008年推出时是作为.NET平台服务。但在客户不断要求托管LAMP(Linux, Apache, MySQL, PHP/Python/Perl)技术栈后,微软在2014年在CEO萨提亚·纳德拉的“微软❤Linux”理念支持下,开始提供运行Linux的虚拟机。
  • 专门团队:微软成立了“Linux平台组”,负责支持内部用户和Azure客户的Linux需求。
  • 自研内核:微软维护着自己的内核“Azure Linux”,并基于它发布了Azure Linux发行版,但其在Azure上运行的众多Linux版本中只占一小部分。
  • 发行版支持:微软维护一套“认可”的Linux发行版列表(如Red Hat Enterprise Linux、Debian、Suse、Canonical、Oracle Linux和CentOS等),这并非推荐,而是表示微软与发行商有合同关系,并会投入工程资源确保其在Azure上良好运行。每月仅从认可的合作伙伴处,微软就会收到约1,000个镜像更新。
  • 更新与镜像管理:微软通过Azure镜像基础设施确保软件包能及时更新,让用户在需要时能快速获取。同时,对于客户选择的自动更新选项,Azure会在应用到用户系统前对更新进行测试,以防系统故障。

测试与验证

  • 持续集成:微软每12小时构建一次自己的内核,并将验证结果反馈到Linux内核持续集成数据库中。
  • 测试规模:在Azure上运行的数百万虚拟机横跨数千种SKU(库存单位,针对不同工作负载如GPU、存储等优化),每月进行约500万次测试,覆盖性能、功能、压力等40多个方面。
  • 自动化框架:微软开发了LISA(Linux集成服务自动化) 框架来自动化测试。许多测试用例已开源。通过LISA测试的镜像被认为是“可以放心运行”的。
  • 未来计划:微软计划将LISA作为自助服务门户发布,称为Azure Image Test Service for Linux(AITL),允许第三方通过API或GUI验证其Linux构建是否适合Azure,测试结果可私有保存并集成到用户的CI/CD流程中。

总之,微软已从过去对Linux的抵触,转变为投入巨大工程资源来确保Linux在Azure上高效、可靠地运行,并成为其云平台的核心组成部分。

41. Ask HN: I built a Yubikey-based domain controller. Is it sellable?
42. Button Stealer (anatolyzenkov.com)

Button Stealer 概述

这是一个名为 Button Stealer 的 Chrome 浏览器扩展。其核心功能是自动从用户访问的每个网站“偷取”一个按钮,并将其收集起来。

主要特点:

  • 自动化运行:扩展在后台自动工作,用户只需正常浏览网页。
  • 核心功能:从每个打开的网页中选取并“窃取”一个按钮,存入个人收藏。
  • 定位与性质:被描述为有趣、无用且免费的工具,主要目的是提供一种新奇、娱乐性的浏览体验。
  • 目标用户:适合喜欢尝试新颖、无实用目的的浏览器插件的用户。
43. Show HN: Convert HTML DOM to semantic markdown for use in LLMs (github.com)

概述

dom-to-semantic-markdown 是一个 JavaScript 库,其核心功能是将 HTML DOM 转换为专为大语言模型(LLM)优化的语义化 Markdown 格式。它能够保留网页内容的语义结构,提取关键元数据,并通过优化减少令牌使用量,从而便于 LLM 理解和处理信息。

主要特性

  1. 语义结构保留:保留 <header><footer><nav> 等 HTML 元素的语义。
  2. 元数据提取:能够捕获页面标题、描述、关键词、Open Graph 标签、Twitter Card 标签以及 JSON-LD 数据。
  3. 令牌效率:通过 URL 引用化和简洁的内容表示来优化令牌使用。
  4. 主要内容检测:自动识别并提取网页的主要内容区域。
  5. 表格列跟踪:为表格列添加唯一标识符,帮助 LLM 更好地关联跨行数据。

功能示例

该库可以通过其 CLI 工具 d2m 展示核心功能:

  1. 简单内容提取:从给定 URL(如 https://xkcd.com)抓取并转换整个页面。
  2. 表格列跟踪:在转换带表格的页面时(如技术文章),为表格列添加唯一标识符(例如 <!-- col-0 -->),以改善 LLM 对数据结构的理解。
  3. 基本元数据提取:在输出 Markdown 的开头以 YAML front matter 格式包含标题、描述和关键词。
  4. 扩展元数据提取:除了基本元数据,还包含 Open Graph、Twitter Card 标签和 JSON-LD 数据。

安装与使用

  • 安装:可以通过 npm install dom-to-semantic-markdown 安装。
  • CLI 使用:使用 npx d2m 命令,支持从文件(-i)、URL(-u)输入,并可指定输出文件(-o)。关键选项包括:
    • -e:仅提取主要内容。
    • -t:启用表格列跟踪。
    • -m basic-m extended:包含不同级别的元数据。
  • 编程使用
    • 浏览器环境:调用 convertHtmlToMarkdown 函数处理 document.body
    • Node.js 环境:可使用 JSDOM 等库配合 convertHtmlToMarkdown 函数。

API 核心

提供两个主要转换函数:

  • convertHtmlToMarkdown(html, options):转换 HTML 字符串。
  • convertElementToMarkdown(element, options):转换 HTML 元素。 配置选项 包括:是否提取主要内容(extractMainContent)、引用 URL(refifyUrls)、启用表格列跟踪(enableTableColumnTracking)、包含元数据(includeMetaData)等。

用于大语言模型

生成的语义化 Markdown 旨在便于 LLM 处理。建议用法是:先为 LLM 提供简要指令,然后将提取的 Markdown 内容用三个反引号包裹,最后附上具体问题或提示。这种格式有助于 LLM 理解上下文,从而给出更准确的回答。

44. Clojure macros continue to surprise me (tonsky.me)

Clojure宏的非凡灵活性与创新应用

作者在开发Humble UI组件库时,希望实现一个既能展示组件代码又能作为集成测试的功能。目标是在应用界面中并排显示运行中的组件和其源代码,并确保两者完全一致,类似程序自我展示源码的“quine”概念。

通过Clojure宏,作者实现了基本功能:宏接受代码AST(抽象语法树),返回运行用的AST和序列化后的代码字符串。但这种方法会重新格式化代码,因为宏只能处理解析后的AST数据结构,必须自行添加缩进和换行。尝试多种现有格式化工具(如clojure.pprint、zprint、cljfmt)后,作者对效果并不满意——问题在于某些数据结构可能既是普通向量又是UI组件结构。

作者突破常规思维,提出非常规解决方案:让宏直接读取源文件获取原始格式。利用Clojure中*file*变量保存的文件路径,宏可以访问文件系统,定位特定代码键值,读取后续第一个表单作为字符串,并通过去除公共缩进实现格式化。具体通过slurp-source函数实现:

  1. 使用slurp读取源文件内容
  2. 通过str/index-of定位目标键值
  3. 使用LineNumberingPushbackReader读取后续表单
  4. 用正则表达式获取缩进模式
  5. 移除公共缩进后返回格式化字符串

这种方法虽然违背常规实践,但仅用约十行代码实现了完美格式化。作者强调,这种能力体现了Clojure的独特乐趣——无需外部工具即可操作代码、访问文件系统甚至动态引入网络代码。虽然通常应避免此类做法,但Clojure的宏系统允许开发者快速实现这些“疯狂”的创意,满足特定需求。

45. A Man Who Thought Too Fast (2020) (www.newyorker.com)

弗兰克·拉姆齐(1903-1930)是20世纪初剑桥大学的一位杰出学者,在数学、哲学和经济学领域均做出深远贡献,却于26岁早逝。他自幼聪慧,18岁便翻译维特根斯坦的《逻辑哲学论》,随后在《心智》杂志发表批评文章,令罗素、凯恩斯等前辈学者感到压力。凯恩斯曾评价他的储蓄率论文是“数学经济学中最杰出的贡献之一”,其中主张未来世代的福祉应与当代同等看待,反对“伦理上站不住脚”的折现,这一思想多年后才产生巨大影响。

拉姆齐的数学工作常隐含于其他论文中,例如他为探究逻辑公式有效性而发展的两条定理,四十余年后成为“拉姆齐理论”的基础,用于分析秩序与无序(例如证明在任何六人社交网络中,总存在三人互为朋友或三人互不相识)。他的哲学思想深受皮尔士实用主义影响,认为信念的意义在于其导向的行动和后果。他在1926年关于真理与概率的论文中,通过假想赌局来衡量信念强度与欲望,奠定了决策论和主观概率理论的基础。

此外,他在经济学领域提出了“拉姆齐定价”和“最优税收”理论,后者建议在特定条件下设定销售税以使各商品产量按相同比例下降,重塑了公共财政思考方式。然而,拉姆齐为人低调谦逊,自认“懒惰”,其思想因维特根斯坦的盛名而长期被掩盖。学者常遭遇“拉姆齐效应”:自以为的突破往往发现拉姆齐早已提出。

拉姆齐成长于知识精英家庭,父亲为剑桥数学家,母亲是女权活动家。他13岁成为无神论者,阅读量惊人,曾因情感困扰赴维也纳接受精神分析。他与妻子莱蒂斯·贝克的婚姻生活愉快,性格开朗,与维特根斯坦的阴郁形成对比。1929年维特根斯坦返回剑桥后,两人密集交流,学者认为这对维特根斯坦从《逻辑哲学论》转向《哲学研究》的实用主义路径可能有重要影响,但维特根斯坦的思想发展具有独特性,难以简单归因。

拉姆齐早逝后,其贡献逐渐被重新发掘:数学家研究拉姆齐数,哲学家讨论拉姆齐句与拉姆齐测试,经济学家探讨拉姆齐模型。学者们不免设想,若他能长寿,20世纪思想史或将改写——但这类反事实陈述恰如拉姆齐所言,只是表达态度,而非对应现实。

46. Trunk: Build, bundle and ship your Rust WASM application to the web (trunkrs.dev)
47. A new path for Privacy Sandbox on the web (privacysandbox.com)

谷歌隐私沙盒新路径

政策调整

谷歌宣布不再直接淘汰第三方Cookie,转而计划在Chrome浏览器中推出新用户界面,允许用户就Cookie使用进行知情选择,并可随时更改此设置。该方案正与监管机构协商中。

继续发展隐私保护工具

  • 继续开发并投资隐私沙盒(Privacy Sandbox)API:该技术经测试有望在保护隐私的同时支持广告生态。
  • 新增功能:计划为Chrome的隐身模式添加IP保护功能

背景与协作

该决策基于与英国竞争和市场管理局(CMA)、信息专员办公室(ICO)、开发者、广告商等各方的长期反馈与测试。谷歌表示,隐私沙盒API的实际效果预计将随行业采用率提升而改善。

未来方向

谷歌将继续与监管机构及行业协作,推进以隐私保护为核心的互联网发展路径。

48. Glasgow 2024 Hugo Awards Statement – 22 July, 2024 (glasgow2024.org)

格拉斯哥2024雨果奖声明摘要

事件概述

格拉斯哥2024雨果奖管理小组在统计最终投票时发现异常数据,并就此发布官方声明。

问题核心

根据《世界科幻协会章程》第6.2条规定,投票必须由自然人完成,且每人限投一票。2024年最终投票中,发现377张选票由不符合“自然人”标准的账户投出,具体特征包括:

  • 使用明显虚假姓名
  • 姓氏首字母按字母顺序连续变化
  • 姓名为连续数字的翻译 这些异常选票集中支持某一位候选作品(称作“候选作品A”),其投票模式与该奖项历史上任何其他候选作品的投票数据都存在显著差异。

调查依据

  1. 数据异常模式分析
  2. 收到匿名举报:有人资助大量人员购买世界科幻协会成员资格,并承诺在按指定意向投票后报销费用

处理决定

  • 取消377张欺诈性选票(占总投票数3,813票的约9.9%)
  • 候选作品A未被取消资格(无证据表明其知情或参与舞弊),但在剔除无效票后未赢得该类别奖项
  • 其他3,436张选票维持有效

后续安排

  • 2024年8月11日雨果奖颁奖典礼后,将公布完整的投票结果、提名统计和投票统计(不包含已取消的377票)
  • 当前因保密和数据保护规定,无法公开原始投票数据
  • 提及未来可能建立独立审计机制,但目前尚未实施

声明立场

管理小组强调:

  • 行动出于保护雨果奖公正性的责任
  • 确保2024年获奖者凭实力公平获胜
  • 向选民保证投票公正统计
  • 理解社区可能存疑,但受限于保密要求无法提供更多细节