2024-02-25

30 篇热帖

1. Google helped destroy adoption of RSS feeds (2023) (openrss.org)

摘要:谷歌如何导致RSS订阅率下降

RSS(Really Simple Syndication)至今仍在使用,但其采用率因谷歌等科技巨头的限制而显著下降。谷歌利用开放的RSS协议获取市场份额,却持续做出损害用户利益的行为,导致许多曾经依赖RSS的用户放弃使用。谷歌似乎采取了“拥抱、扩展、消灭”的策略:先围绕RSS构建产品以获取用户信任,锁定用户后便移除RSS支持,并忽略恢复请求。这不仅是对RSS的漠视,也对互联网的自由与开放构成威胁。

谷歌的关键行为包括:

  • 移除Chrome中的RSS按钮:早期Chromium(Chrome浏览器基础)内置RSS按钮,但后来无故移除。
  • 收购FeedBurner并限制功能:谷歌2007年收购RSS服务FeedBurner,随后关闭其API(2012年),并于2022年大幅移除关键服务(如邮件订阅),导致用户RSS链接失效。
  • 关闭Google Reader:谷歌2005年推出这款网页RSS阅读器,却于2013年以“使用率下降”为由关闭,致使用户失去主流RSS工具,且未提供替代方案,导致大量用户放弃RSS。
  • 从Google Alerts中移除RSS:2008年添加RSS接收功能,2013年移除,仅保留电子邮件选项。虽在抗议后恢复,但用户已大量流失。
  • 杀死Chrome的RSS扩展:谷歌曾提供显示RSS订阅图标的浏览器扩展,但移除后(声称误操作)又恢复,此举削弱了用户对RSS稳定性的信心。
  • 从Google News移除RSS集成:谷歌新闻最初支持RSS订阅,2017年完全停止支持,迫使用户寻找替代链接,而谷歌自有的新闻链接却继续正常工作。
  • 最近动态:2021年谷歌宣布Chrome将重新支持RSS,但至今未正式发布,且鉴于其历史行为,即使推出,用户也难以信任其长期可靠性。

影响与呼吁:谷歌的影响力巨大,其反复引入又移除RSS功能的行为损害了用户对RSS的感知与信心。RSS是开放网络的重要组成部分,文章呼吁谷歌若继续集成RSS功能,应长期支持、维护并确保其优先性,以维护互联网的开放性。

2. Show HN: Reverse-Engineering a Switch Lite with 1,917 wires (usoldering.com)

逆向工程任天堂Switch Lite主板:1,917根导线提取网表

核心概述

本文详细介绍了一套自行开发的、用于从已组装PCB(以任天堂Switch Lite逻辑主板为例)中提取完整网表数据的创新流程。该过程通过结合高精度全景成像、定制化软件工具和专用硬件,成功映射了PCB上所有元器件之间的电气连接。

关键技术与流程

整个流程包含以下三个创新点协同工作:

  1. 高分辨率全景成像:能够以6000 PPI的精度创建组装PCB的几何与色彩准确的全景图像。
  2. 点选式图形界面:用于在全景图上绘制元器件/焊盘几何数据,并支持添加/修改其他任意数据。
  3. 专用提取PCB:能够逐个为任意数量的引脚供电,并在每一步读取所有引脚状态。

主要操作步骤包括:

  1. 成像与拼接:拍摄2,444张照片,拼接成PCB正反两面的全景图(过程中需拆卸屏蔽罩)。
  2. 元器件映射与拆卸:使用GUI标注元器件和焊盘位置,并将760个元器件逐一拆卸、分拣、记录。
  3. 连接性探测:使用万用表检测所有焊盘与地平面的连通性,初步分组为“网片段”。
  4. 隐藏连接提取:使用1,917根导线将自制PCB的引脚连接到目标PCB的各个“网片段”。通过该PCB逐一供电并读取状态,映射出PCB内层所有的隐藏电气连接,形成完整网表。此过程共使用约30,176个焊点。
  5. 数据整合与发布:合并所有片段生成最终网表,连同几何数据和全景图一起导出为Boardview文件并开源分享。

数据与限制

  • 数据规模:2,444张照片拼接为2张全景图;760个元器件被拆卸记录;1,917根导线用于提取连接。
  • 已知限制
    • 提供的全景图实际为2,000 PPI(6,000 PPI版本因体积过大,为半十亿像素)。
    • 元器件/焊盘轮廓在当前OpenBoardView中显示为简化版本(复杂渲染数据已存在,但需兼容的商业软件FlexBV5)。
    • 流程中缺少超声波清洁步骤(可能导致残留物引起假阳性连接),且未对拆卸的元器件进行电气特性测量。

项目动机与开源

作者拥有超过十年的电子合同制造(医疗、航空等领域)经验,本项目旨在摆脱对昂贵专业设备的依赖,探索居家远程工作与高级焊接技能的结合,并为社会做出贡献。作者已将所有数据开源,并接受捐赠以支持后续更多设备的逆向工程、流程优化和文档化工作。

3. Hallucination is inevitable: An innate limitation of large language models (arxiv.org)

大语言模型幻觉的固有局限性

核心观点:大语言模型(LLM)中的幻觉现象(生成与事实不符的内容)并非可通过技术手段完全消除的缺陷,而是其作为通用问题解决器所固有的理论局限。

主要内容与论点

1. 问题的形式化与不可能性证明

  • 论文将LLM的幻觉定义为可计算的LLM可计算的真实世界函数之间的输出不一致。
  • 基于学习理论(learning theory)的结果证明:LLM无法学习所有可计算函数。这意味着,当LLM被用作通用问题解决器时,必然会在某些任务上产生幻觉。
  • 由于形式化世界是更复杂的真实世界的一部分,真实世界中的LLM同样无法避免幻觉。

2. 对现实世界LLM的约束与验证

  • 对于受可证明的时间复杂度约束的现实世界LLM,论文识别并描述了更容易产生幻觉的任务类型。
  • 通过实证实验验证了上述理论主张,表明在特定条件下幻觉确实不可避免。

3. 对现有缓解措施与安全部署的启示

  • 利用形式化框架,讨论了现有幻觉缓解机制(如检索增强、微调等)的可能作用原理及其效果边界。
  • 强调了该理论认识对于LLM安全部署的实际意义:理解幻觉的固有性有助于设定合理预期并设计风险控制策略。

结论

幻觉是LLM作为通用人工智能工具的内在理论限制,而非单纯的工程缺陷。这要求在应用LLM时,必须在设计、评估和部署中充分考虑并管理这一固有风险。

4. Architecture.md (2021) (matklad.github.io)

Architecture.md (2021) 摘要

本文强烈建议维护 10k-200k 行代码的开源项目时,在 README 和 CONTRIBUTING 文件旁添加一个 ARCHITECTURE 文档。作者基于自身贡献和维护开源项目的经验指出,临时贡献者与核心开发者之间的关键差距在于对项目物理架构的了解;不熟悉项目会导致定位代码更改的时间大幅增加,从而降低效率。

ARCHITECTURE 文件被视为一种低投入、高杠杆的工具,用于快速弥补知识差距。其核心原则是保持简短,只描述项目中不太可能频繁变更的高层架构内容,避免与代码同步更新,而是每年定期回顾几次。文档应聚焦于回答两个问题:“哪里有实现功能 X 的代码?”和“我正在查看的代码模块具体做什么?”,但需避免深入实现细节,这些细节应留给单独文档或内联注释。

文档内容建议包括:

  • 以鸟瞰图概述项目解决的问题。
  • 提供详细的代码地图,描述粗粒度模块及其相互关系,类似于国家地图而非各州详细图集。
  • 命名重要文件、模块和类型,但避免直接链接(以防链接失效),鼓励读者通过符号搜索查找相关实体。
  • 显式指出架构不变性,例如常见的隐式约束(如模型层不依赖视图层)。
  • 明确标出层和系统之间的边界,因为边界本身蕴含实现约束信息,且在代码中难以随机发现。
  • 最后,添加一个关于横切关注点的单独部分。

文章以 rust-analyzer 的 architecture.md 作为良好示例,说明如何实践这些建议。整体而言,ARCHITECTURE 文档旨在帮助贡献者快速构建项目心智模型,提升协作效率。

5. Marginalia: 3 Years (www.marginalia.nu)

Marginalia Search 项目已历经三年发展,从最初的实验性搜索引擎演变为全职工作。目前,搜索引擎的运行状态达到历史最佳水平,多个重要里程碑得以实现,包括从作者的客厅迁移到企业服务器。

今年的核心主题是清理代码库和简化应用,以降低运营负担并提升代码的可访问性,便于操作员和开发者参与。这些优化工作已开始显现实效。

技术改进方面,索引切换不再需要长时间停机,现在支持零停机升级;操作流程从耗时数周的手动过程转变为通过 GUI 按钮一键完成。此外,添加锚文本关键词支持显著增强了搜索结果的相关性,尽管初期集成不足,但随时间推移效果明显。

作者全职投入项目已八个月,得益于 nlnet 的资助。平衡工作与休息是主要挑战,作者努力每周至少休息一天,以维持工作效率。

索引目标为 10 亿文档,但进展比预期缓慢,因网络信噪比较低;搜索引擎的优势部分源于选择性索引。索引量从一年前的 5000 万至 1 亿增至上次爬取的 2.2 亿,预计下一轮爬取后达到 2.9 亿至 3 亿。

下一步将聚焦查询解析和执行的改进,目前正在进行代码清理的准备工作。项目的主要突破往往源于实验性举措,如锚文本支持这类未计划优化。

最后,作者感谢 NLnet、FUTO、Patreons、倡导者及用户的支持。

6. Does offering ChatGPT a tip cause it to generate better text? (minimaxir.com)

本文探讨了在ChatGPT的系统提示中提供激励(如小费或威胁)是否能提升其文本生成质量的问题。作者通过多项实验进行测试,主要结论如下:

  • 实验设计:作者设计了两种主要实验。一是“生成高尔夫”,要求ChatGPT输出恰好200字符的故事,测试其遵循精确长度约束的能力;二是内容质量评估,使用GPT-4作为“评审”,对生成的专业性文章进行评分。
  • 激励类型:测试了多种正面激励(如500美元小费、泰勒·斯威夫特演唱会门票、实现世界和平等)和负面激励(如500美元罚款、用大写字母威胁“你将死亡”等),并探索了组合激励的效果。
  • 结果分析
    • 在字符长度实验中,部分激励(如“世界和平”和“死亡威胁(大写)”)使输出分布更集中、均方误差更低,但统计检验(p值)大多不显著,表明效果不明确。
    • 在质量评估实验中,激励对内容质量的影响也无一致模式,某些组合得分高,但无规律可循,甚至无激励的输出也可能获得高分。
  • 作者结论:尽管某些激励提示可能带来细微改进,但总体上无法明确证明激励能显著提升ChatGPT的输出质量。作者认为这可能与大语言模型的概率性质有关,提示变化带来的效果类似“彩票”,但仍有探索价值,并建议未来进行更大样本的实验。

作者最终指出,现代AI可能对“奇怪”的提示策略有积极响应,但激励的实际效果仍需进一步研究。所有实验代码和结果均已在GitHub开源。

7. Osquery: An sqlite3 virtual table exposing operating system data to SQL (osquery.io)
8. How Does Bluesky Work? (steveklabnik.com)

Bluesky 如何工作?

Bluesky 是一个微博应用,但其核心目的是验证 认证传输协议(AT Protocol,简称 atproto) 的可行性。atproto 是一个旨在构建“开放社交互联网基础”的联邦协议,目标是防止社交媒体被少数公司控制。

核心概念:atproto

atproto 是一个联邦协议,专为大规模分布式社交应用设计。它不涉及加密货币或区块链,但使用了密码学等技术。

  • 联邦化:系统各部分可由不同运营者运行,相互通信,避免单一机构控制。
  • 可扩展性:通过分布式设计,将负载分配给能够处理的节点,支持大规模用户。
  • 分布式应用:应用直接在网络上运行。目前所有内容均为公开,暂未实现私密消息,因在联邦系统中保障隐私较为复杂。

主要组件

  1. 个人数据服务器:用户数据以记录形式存储在存储库中。运行存储库的服务称为 PDS(Personal Data Server)。用户可以自托管 PDS 或使用他人托管的服务。
  2. 中继:为解决可扩展性问题(如避免用户发帖时通知所有关注者),引入了中继服务。中继聚合网络信息并以“信息流”形式对外提供。
  3. 应用视图:开发者通过定义 Lexicon(数据模式)来构建应用。应用视图从中继获取数据流,并根据自定义 Lexicon 进行过滤和处理,从而呈现特定内容视图。

数据流向简图: PDS -> 中继 -> 应用视图

内容审核:“言论”与“传播”

atproto 采用“言论与传播”的分层模型:

  • 言论层:负责跨网络复制和分发内容,不关心内容语义。
  • 传播层:负责内容的可见度和分发范围,即审核工具层。用户可以选择自己的审核员(如订阅不同的标签器)。

传播层关键服务

  • 提要生成器:消费中继的信息流,根据特定算法(如按时间倒序、仅显示图片帖子、显示不常发帖用户的帖子等)为用户生成个性化内容列表。用户可以创建、分享和使用任何提要。
  • 标签器:为内容或账户打标签的服务。用户订阅后,其体验会根据标签改变。例如,用于实施屏蔽名单或进行内容分级(如识别NSFW内容)。标签可以手动或通过算法生成。

这种审核模型在网络层面工作,因此同一个审核工具(如一个屏蔽名单)可以在基于 atproto 构建的任何应用中通用。

身份与账户可移植性

用户的身份核心是 DID(去中心化标识符),一个稳定的密码学标识。用户还有一个处理柄,即一个域名(如 @steveklabnik.com@username.bsky.social)。用户可以通过在域名的DNS中添加TXT记录,将域名设为处理柄。

  • 真正的账户可移植性:由于身份基于DID和密码学签名,没有传统意义上的“账户”。如果PDS宕机,用户可以从网络回填数据并迁移至新PDS,关注者无感知。
  • DID 方法:主要支持 did:web(基于域名)和 did:plc(BlueSky 自研)。did:plc 依赖于BlueSky运营的服务进行解析,这使BlueSky拥有比网络设计更多的禁止权限,是主要的争议点。BlueSky 表示未来可能将其治理移交给共识模型。

Bluesky 如何基于 atproto 构建

Bluesky 是运行在 atproto 网络上的一个应用。它运行了一个应用视图、一个Web应用、一个为通过其注册用户服务的PDS以及一个中继。它发布了两套 Lexicon:通用的 com.atproto.* 和 Bluesky 专用的 app.bsky.*

Bluesky 的产品目标是让普通用户无需理解底层技术细节即可使用,无需选择实例,并能实现无缝的账户迁移。开发者可以通过创建自定义 Lexicon 并运行相应的应用视图,在 atproto 上构建新的应用。

9. Frugly vs. Freemium (taylor.town)

Frugly vs. Freemium 文章摘要

核心困境

作者开发了一款教育工具后面临商业伦理难题:产品不应设置付费墙,但开发者需要可持续收入。最终提出的解决方案是为非付费用户提供丑化的用户界面,并称之为"廉价定价"或"外观缺陷软件"。

对现有商业模式的评估

传统教育工具的局限

  • 优质教育工具(如GPT-4、WolframAlpha等)通常昂贵,加剧了教育不平等
  • 作者希望保持低成本,实现更公平的教育工具

排除的商业模式

  1. 广告模式:拒绝通过侵犯隐私和注意力来获利
  2. 捐赠模式:不适用于工具类产品,需要持续营销努力
  3. 游戏皮肤模式:虽然公平,但需要社交效应和季节性内容支撑,不适合教育软件

核心解决方案:外观缺陷软件

基本原理

  • 免费提供功能完整的软件
  • 通过在界面中添加丑陋的提示信息(如绿色、倾斜的字体)
  • 用户支付一次性费用(终身$123)或订阅(月$4)后移除这些丑化元素

技术实现

  • 使用条件判断动态显示丑陋提示
  • 通过SQL动态生成带有"[FREE]"标记的播客XML
  • 设计简单,维护成本低

潜在弱点

  • 容易被技术手段绕过(如Tampermonkey脚本)
  • 作者尊重用户修改网页的权利,不采取阻止措施

设计哲学

  • 寻找伦理与利润之间的平衡点
  • 采用设计思维,考虑具体约束条件
  • 目标是创造更公平的世界,即使这意味着"更丑陋"的界面

这种模式避免了传统付费墙的伦理问题,同时为开发者提供了可持续的收入来源,特别适合那些希望保持产品可及性但又需要运营资金的独立开发者。

10. Coding the anime "woosh" screen on Amiga (dansalva.to)

在Amiga上实现动漫“嗖”屏幕效果的技术总结

本文详细介绍了在Amiga平台开发游戏《Magicore Anomala》时,实现动漫风格全屏角色图形(CG)及动态转场效果所面临的三大技术挑战及解决方案。

挑战一:内存限制与数据压缩

  • 背景:Amiga 500拥有512KB芯片RAM(专供图形/声音)和512KB扩展RAM(仅CPU可用)。一张320x240、32色的未压缩CG占用48KB芯片RAM,超出内存预算。
  • 解决方案
    1. 采用ZX0压缩格式,将CG压缩至约8KB。
    2. 将压缩CG加载至扩展RAM,在显示前解压至芯片RAM。
    3. 关键技巧:复用现有屏幕内存区域(房间背景、危险物体层、文本框区域),这三块区域总计恰好48KB,无需额外分配内存。
    4. CG显示后,原始背景数据可恢复。

挑战二:“屏幕分割”转场效果

  • 需求:实现一种视觉上比垂直渐变擦除更酷的分割式场景切换。
  • Amiga硬件特性利用
    1. 铜处理器(Copper):并行执行指令,在特定扫描线改变硬件寄存器。
    2. 屏幕指针:可在任意芯片RAM位置切换显示内存,支持每帧甚至单帧内多次切换。
  • 实现原理
    1. 通过调整屏幕起始指针使画面上半部分“向上滚动”。
    2. 在分割点,铜处理器关闭位平面DMA并切换背景色。
    3. 在分割底部,恢复DMA和背景色,显示从分割点下方继续。
    4. 每帧由CPU根据当前分割宽度调整铜指令中的等待行号。

挑战三:动漫风格“运动线条”

  • 需求:在背景绘制动态的“嗖”线条效果。
  • 解决方案与问题克服
    1. 使用精灵:精灵独立于屏幕内存,适合绘制线条。
    2. 颜色限制:精灵共享调色板,通过“附加”模式将四个精灵组合,使用16色调色板中的3色(29-31)。
    3. 图形复用:精灵图形前4字节为控制位(位置、高度),难以直接复用同一图形在不同位置。
      • 方案:在铜指令中先设置指向仅含控制位的“虚拟精灵”的指针,在扫描线19(精灵DMA读取控制位后)迅速将指针切换至实际运动线条图形,从而在不同位置显示同一图形。
    4. 位平面关闭时精灵不显示:若在CG显示前禁用位平面以避免显示垃圾数据,精灵也不会被绘制。
      • 方案:保持1个位平面启用,但将其指向空数据(通过设置位平面模数寄存器使指针循环,仅需40字节空数据即可)。

结论

通过数据压缩和巧妙的硬件特性利用,开发者成功在Amiga 500有限内存下实现了复杂炫酷的动漫转场效果,展示了Amiga硬件(特别是铜处理器与DMA)的独特能力,且未使用图形处理器(blitter)。

12. Some OpenBSD features that aren't widely known (dataswamp.org)

OpenBSD 不为人知的实用特性总结

这篇文章介绍了 OpenBSD 系统中一系列实用但不太为人知的特性,涵盖了安全、自动化、日常管理等多个方面。

1. 安全级别 (kern.securelevel)

这是一个可设置从 -12 四个等级的系统参数,只能逐级提升,不可逆向降低。系统默认在多用户模式下运行于安全级别 1。在此级别下,文件系统标志 sappnd(仅追加)和 schg(不可变)无法被移除。

可将级别提升至 2 以获得更强的安全锁定:

  • 所有原始磁盘变为只读。
  • 系统时间被锁定,只能进行微小调整。
  • PF 防火墙规则无法被修改或刷新。 此特性非常适用于专用防火墙或需要确保日志时间戳完整性的场景。

2. 内存分配器额外检查 (vm.malloc_conf)

OpenBSD 的内存分配器支持通过 sysctl 或环境变量 MALLOC_OPTIONS 启用额外检查(如 S 标志启用安全检查)。这既可用于增强安全性,也可用于调试程序的内存错误。

3. 文件标志 (chflags)

除了常规的权限和所有权,OpenBSD 文件系统还支持通过 chflags 命令设置文件标志,例如:

  • sappnd/uappnd:仅允许追加写入。
  • schg/uchg:设置文件为不可变。 这些标志在安全级别 1 下受到保护,为文件提供了额外的安全层。

4. 增强的 Crontab 功能

OpenBSD 的 crontab 支持多种实用扩展:

  • 随机时间:使用 ~ 符号(如 ~/520~40)生成随机执行时间,避免任务同时运行。
  • 条件通知:添加 -n 标志,仅在任务返回非零状态码时发送邮件。
  • 防止并发:添加 -s 标志,确保同一时间只有一个任务实例运行。
  • 静默模式:添加 -q 标志,禁止记录该任务的日志。 这些标志可以组合使用(如 -ns)。

5. 自动化安装介质 (autoinstall)

通过将预配置答案文件注入安装内核 (bsd.rd),可以创建自动化安装介质。结合 site.tgz 归档文件,还可以在安装时部署自定义脚本和文件,极大地简化了批量部署工作。

6. apmd 守护进程钩子

apmd 服务不仅管理电源,还允许在特定电源事件(如挂起、恢复、接入电源)发生时运行自定义脚本。脚本需放置在 /etc/apm/ 目录下并以事件名命名(如 powerup)。例如,可以在挂起时自动锁定屏幕。

7. 使用 hotplugd 响应设备事件

hotplugd 服务允许在设备(如 USB 存储器、打印机)插入或移除时执行脚本。脚本会接收设备类别和名称作为参数,便于实现如自动挂载、启动服务等操作。

8. 根分区备份 (Altroot)

如果系统中存在挂载于 /altroot/ 的分区,并且在每日脚本环境中设置了 ROOTBACKUP=1,则每日脚本会使用 dd 命令将主根分区备份到该分区。这是一种保持备用根分区同步的简单方法。

9. talk:终端内实时聊天

talk 是一个简单的双用户实时聊天程序,内置于系统基础工具中。需通过 inetd 服务启用(配置 ntalk 协议)。用户双方登录后,一方发起 talk <用户名> 邀请,另一方接受即可在分屏终端界面中进行实时对话。该通信基于本地 UDP 端口,若用于远程,需确保网络安全。

13. Amazon blocks long-running FireTV capability, Breaking apps with no warning (www.aftvnews.com)

亚马逊Fire TV更新禁用本地ADB连接,导致大量应用失效

亚马逊近期对Fire TV系统进行了一项极不受欢迎的更改。最新软件更新(Fire OS 7的7.6.6.9版本和Fire OS 8的8.1.0.3版本)禁用了设备上应用建立本地ADB(Android Debug Bridge)连接的能力。这一功能自2014年首款Fire TV发布时便已存在,是Android设备的一项基础能力。

具体影响

  • 应用功能失效:依赖本地ADB连接执行高级任务的Fire TV应用变得无法使用。例如,这些应用可以一键清除所有已安装应用的缓存以释放存储空间,或一键强制停止所有应用。知名应用如Remote ADB Shell(下载量超50万)、TDUK APP KillerTDUK APP Cache Cleaner均受到严重影响。
  • 亚马逊处理方式遭批
    • 无预警:亚马逊未事先通知受影响的开发者。
    • 沟通不畅:应用在开发者门户显示正常,却被标记为“不兼容”。开发者TechDoctorUK在收到关于应用测试错误的邮件后,联系亚马逊才得知实情。
    • 测试不相关:亚马逊的测试居然是在非Amazon设备(如Android手机)上进行的,而这些应用明确标注仅适用于Fire TV设备。
    • 回复敷衍:亚马逊仅以“安全更新”为由回应,后续称应用“覆盖了原生用户体验”而将其下架,作者认为这是拒绝应用的托辞。

更改原因分析

亚马逊声称此更改是“为了增强安全”。但文章指出,Android系统本身已存在多重安全措施:

  1. 需连续七次点击“型号名称”以开启隐藏的开发者菜单。
  2. 需手动启用“ADB调试”选项。
  3. 任何新的ADB连接请求(无论是本地还是外部)都会弹出全屏提示,需要用户明确允许。 文章作者认为,亚马逊的真实目的可能是为了保护其Fire TV主屏。一些应用利用本地ADB连接检测遥控器按键,从而允许用户使用替代主屏幕,这绕过了亚马逊主屏上的自动播放视频广告等盈利内容。作者虽理解亚马逊保护其商业模式的意图,但认为通过破坏一项核心系统功能来达成此目标是**“短视且愚蠢的”**,好比“为阻止政治对手而拆毁一座所有人都在用的桥”。

总结

此次更新被视为亚马逊一系列不受欢迎的Fire TV改动中的最新一例。它在未充分沟通的情况下,禁用了一个长期存在的基础功能,导致大量合法、实用的第三方应用失效,并因糟糕的开发者关系处理而进一步损害了平台声誉。作者批评其手法“草率”,并以自己曾担任Fire TV产品经理时会提前与开发者沟通、协助更新的规范流程作为对比。

15. Every model learned by gradient descent is approximately a kernel machine (2020) (arxiv.org)

论文标题: "Every model learned by gradient descent is approximately a kernel machine (2020)"

本文内容主要描述了arXiv网站提供的学术工具和资源,而非论文核心内容。arXiv网站集成了多种功能模块,以支持学术研究和社区协作:

  • Bibliographic Tools:包括Bibliographic Explorer等工具,用于文献探索和管理。
  • Code, Data, Media:提供与文章关联的代码、数据和媒体资源,便于研究复现和扩展。
  • Demos:展示相关演示功能。
  • Related Papers:通过推荐系统和搜索工具(如IArxiv recommender)帮助用户发现相关论文。
  • About arXivLabs:这是一个实验性框架,允许社区合作者直接在arXiv网站上开发和分享新功能,强调开放性、社区合作、卓越性和用户数据隐私,致力于提升学术社区价值。
16. GenAI and erroneous medical references (hai.stanford.edu)

研究揭示:大型语言模型在医学评估中存在引用错误问题

一项新研究指出,目前广泛用于医学评估任务的大型语言模型无法可靠地支持其提出的医学主张,暴露出生成式人工智能(GenAI)在医疗领域的严重缺陷。

核心发现 研究表明,当大型语言模型被应用于医学相关场景(如生成诊断建议、治疗参考或研究文献引用)时,它们会产生无法验证甚至完全错误的医学参考资料。这意味着模型的输出可能包含虚构的研究、不准确的数据或误导性的医学信息。

问题本质 该发现直接挑战了将生成式AI作为医疗信息来源的可靠性。模型并非基于严谨的医学文献数据库进行回答,而是通过模式识别和概率生成文本,这导致其引用内容缺乏真实的学术或临床依据。

潜在影响 在医疗评估和决策支持系统中,错误的医学引用可能误导医疗专业人员或患者,带来安全隐患。研究强调,在将此类技术应用于严肃的医疗场景前,必须建立严格的验证机制和人工审核流程。

研究背景 此研究由斯坦福大学人类中心人工智能研究所(HAI)相关团队开展,反映了当前学术界对生成式AI在关键领域应用风险的关注。尽管技术快速发展,但模型的“幻觉”问题和事实准确性仍是医疗等专业领域应用的核心障碍。

启示 该研究呼吁医疗行业和科技开发者需谨慎对待GenAI在医学中的应用,优先解决模型的可信度与溯源能力问题,而非盲目追求其便利性。

18. You almost never see a clock at the mall (thehustle.co)

商场、赌场与杂货店运用“时间扭曲”策略,让消费者忘记现实世界,从而延长停留时间并增加消费。

赌场行业的核心技巧
赌场是时间扭曲策略的先行者。其典型做法包括:

  • 移除时钟与自然光:早期赌场应赌客要求移除时钟,避免其意识到时间流逝。管理专家比尔·弗里德曼发现,自然光会提醒赌客回归现实,因此用遮光材料覆盖玻璃,阻断日照。
  • 环境设计原则:低天花板、迷宫式布局、昏暗单调的装修(突出赌博设备而非装饰)、中低音量背景音乐等,旨在营造沉浸感,减少外界干扰。
  • 维持“幻想状态”:工作人员避免打断沉浸中的赌客,将其引入“心流”状态——专注于赌博活动而忽略时间,从而增加投注金额和时长。

零售业的借鉴与应用
商场和超市采用类似策略:

  • 减少外部线索:隐藏时钟与窗户,避免顾客想起外界环境。
  • 迷宫式布局:如宜家等店铺通过迂回路径强制顾客移动,展示更多商品。
  • 音乐调控:慢节奏音乐促使顾客放慢脚步,延长停留时间。
  • 利用决策疲劳:研究表明,购物20分钟后,大脑决策能力开始下降;40分钟后理性判断近乎失效。商家通过延长购物时间,增加冲动消费。

技术挑战与未来趋势
智能手机的通知提示会破坏沉浸体验,但虚拟现实(VR)可能成为新的时间扭曲工具。VR能完全屏蔽外界干扰,创造更深层沉浸环境,未来可能被用于零售与赌场,进一步淡化时间感知。

尽管这些策略显得刻意,但作者指出,时间感知流失在生活中本身常见——随着年龄增长,单调日常会让时间感加速。商场与赌场只是系统化利用了这一现象。

19. The Top of the DNS Hierarchy (computer.rip)

文章摘要:《The Top of the DNS Hierarchy》

本文探讨了分布式系统中不可避免的中心节点问题,并以DNS(域名系统)的根服务器为核心,阐述了其结构、运作方式、可靠性及所面临的挑战。

1. 分布式系统的中心节点必要性

互联网的结构特性(缺乏广播发现机制)导致大多数分布式系统在启动时必须依赖一组中心、半静态的节点来进行初始引导和节点发现。例如:

  • 比特币使用9个硬编码的域名来发现初始对等节点。
  • Tor网络使用9个中心目录服务器提供初始节点列表。
  • DNS系统同样依赖13个硬编码的根服务器来建立域名解析的层级结构顶端。

2. DNS层级与根服务器

  • DNS采用层级结构,域名解析从右向左(如computer.rip可理解为rip.域下的computer记录)。顶层是根域(.),其下为顶级域(如.rip),再往下是二级域等。
  • 根域的权威服务器即13组根服务器a.root-servers.netm.root-servers.net),由不同机构运营(如Verisign运营两组,部分由美国国防部关联机构、大学、ICANN等运营)。
  • 由于DNS查询初期无法解析域名,根服务器更实际地由其IP地址标识,这些地址以“根提示文件”的形式“半硬编码”在递归解析器中。

3. 根服务器的现代实现:任播(Anycast)技术

  • 13组根服务器并非13台独立服务器,而是13个独立管理的服务器集群
  • 每组根服务器使用任播技术,将同一个IP地址(实质为一个子网)通过BGP在多个地理位置的节点广播。用户连接该IP时,流量会被路由至最近或最优的节点。
  • 这一设计使每组根服务器实际上包含大量(有时超过100个)任播站点,每个站点可能由多台服务器及冗余网络设备组成,大幅提升了系统的可靠性、性能和抗攻击能力
  • 根服务器通常部署在主要互联网交换点,地理分布广泛,即使单个服务器集群出现故障,其他集群仍能维持服务。

4. 历史攻击事件与可靠性分析

  • DNS根服务器曾遭受多次DDoS攻击(如2007年、2015年),但由于任播部署和集群的冗余性,未对全球互联网造成严重影响
  • 以2015年攻击为例,安全分析(由Verisign和奇虎360等机构进行)显示:
    • 攻击流量针对两个特定域名(336901.com916yy.com),疑似商业DDoS服务(booter)误操作或实验,将本应针对域名权威服务器的攻击错误导向了根服务器。
    • 攻击流量来自多个可能相关的僵尸网络(如BillGates变种),体现了现代僵尸网络的商业化与分销特性
  • 这些事件凸显了中心节点的潜在风险,但DNS通过长期缓存、任播冗余和多层冗余设计有效缓解了威胁。

5. 根服务器数量与技术背景

  • 13这个数量并非基于技术必然性,而是源于早期UDP DNS响应512字节限制下的优化结果。
  • 随着IPv6和EDNS扩展的应用,响应大小限制已突破,但因现有体系足够稳健且新增服务器涉及复杂的政治和信任问题,数量长期未变。

6. 总结

DNS根服务器系统是互联网关键基础设施,体现了分布式系统对中心引导节点的依赖。通过任播技术和多利益相关方运营,它构建了一个高度可用、 resilient 的全球目录系统,但也持续面临安全与信任挑战。该案例展示了抽象层级如何通过复杂底层机制(如BGP任播)实现关键服务的可靠运行。

20. Zero-rupee note (en.wikipedia.org)

零卢比纸币是印度一种模仿银行纸币的反腐工具,由非政府组织“5th Pillar”于2007年创立,旨在对抗系统性政治腐败。该纸币外观与印度旧版50卢比纸币类似,但上面印有“在各级消除腐败”“我承诺不会收受或行贿”等反腐口号。它并非法定货币,只印制一面以避免触犯伪造法律。

使用方式是:当公务人员索要贿赂以办理本应免费的服务时,市民以零卢比纸币作为抗议,表达拒绝行贿的立场。这种做法可以让普通人以和平方式向权力人员说“不”,而不用担心遭遇报复。纸币一方面是个人抗议工具,另一方面也提醒公务人员社会在持续努力打击腐败,旨在通过羞愧或震慑促使其守法。

创意最早由美国马里兰大学物理学教授、印度侨民Satindar Mohan Bhagat于2001年提出,并经5th Pillar组织实践推广。5th Pillar于2007年首次印制2.5万张纸币,起初在金奈(Chennai)发行,随后因效果良好而逐步扩展。截止2014年8月,该组织已发放超过250万张零卢比纸币,每月仍有数千张在全国分发。

纸币已在印度22种官方语言中的5种发行:泰米尔语、印地语、卡纳达语、马拉雅拉姆语和泰卢固语。根据5th Pillar估计,印度每年因贿赂支付约30亿英镑(约合49亿美元),而政府内部人士认为实际数字更高。腐败主要集中在警察、土地管理、司法、供水、供电、医院、税务等公共服务系统。2005年透明国际的印度腐败调查显示,62%受访者有直接行贿经历,警察领域有80%受访者曾被要求贿赂。

零卢比纸币的理念已扩展至其他受腐败困扰国家,包括也门、加纳、贝宁、墨西哥和尼泊尔。2015年起,通过ZeroCurrency.org网站,该理念向更多国家和货币推广应用。

零卢比纸币被认为帮助提升市民拒绝贿赂的信心,成为基层反腐的有力工具。相关组织和学者认为,这一创意用简单、直接的方式既表达社会抗议,又推动政府系统性反腐。

21. Selfish reasons to want more humans (rootsofprogress.org)

文章核心观点

本文反驳了“理想人口应大幅减少”的主张,论证了人口增长对每个个体都有利的“自私理由”。作者认为,一个动态的、不断增长的世界对所有人更好。

主要论点与论据

1. 反对静态的可持续人口观

  • 以保罗·埃利希和珍·古道尔为代表的观点认为地球理想人口应远少于当前(分别建议20亿和5亿),追求一种静态的“可持续”状态。
  • 作者反对此观点,认为资源并非静态。历史上,当某种资源(如鲸油、象牙)枯竭时,人类会转向基于更丰富资源的新技术。工业时代没有出现重大资源短缺灾难的例子。
  • 地球的承载能力是技术的函数,污染、气候变化等问题也可以被视为待解决的难题。只要思想持续创新,增长就能继续。

2. 人口增长对个体的“自私”益处

更多天才

  • 更多人口意味着更多极端值——更多超级聪明、有创造力或有才华的人,能创作伟大的艺术、科学和发明,造福所有人。
  • 例如,若天才定义为百万人中挑一,那么每增加十亿人口就多出一千名天才来解决人类问题。

更快的进步

  • 研发投入总量增加:更多人口意味着更多的研究人员和更多的财富用于研发。
  • 专业化分工:经济中分工提高生产力(斯密式增长),研发中研究人员可更专精。
  • 更大市场支持更多研发:公司可以投资于更“高处的果实”(如复杂的脱粒机、癌症药物、高制作价值的娱乐产品),因为更大的市场使这些投资有利可图。
  • 更宏大的项目成为可能:如古代埃及的大规模灌溉系统、20世纪60年代的阿波罗计划(耗资当时美国联邦预算的4%以上)。未来如太空电梯、戴森球等项目需要巨大的团队和财富盈余。
  • 维持增长的必要性:证据表明,要维持恒定的经济增长率,就需要研发投资呈指数增长,这包括人类资本(研究人员基数)。随着知识边界扩大,“知识负担”加重,研究人员需更专业,长期而言,研究人员基数的指数增长离不开人口的指数增长。在一些经济增长模型中,人均GDP的长期增长率与人口增长率直接成正比。

更多选择

  • 美学、风格与品味的更好匹配:更大的社会提供更多样的美食、建筑风格、时尚、娱乐子类型。全球互联也增加了多样性(例如,各地城市的民族餐馆现象)。
  • 职业的更好匹配:更大的经济体提供更多人生选择(从飞行员到电子表格专员)。
  • 人际关系的更好匹配:更大的世界增加找到完美商业伙伴、歌词作者或婚姻伴侣的机会。
  • 更小众的社区和市场:无论兴趣多奇特,更大的人口基数都更容易找到志同道合者(如百万分之一的几率,在千万人口城市能形成小俱乐部);也更容易找到支持小众兴趣的经济受众(如“一千个真粉丝”理论)。

3. 深层模式

  • 非竞争性商品:此类商品(如知识、软件)可被所有人共享。人口越多,产生的此类商品越多,使所有人受益。
  • 规模经济:固定成本可被分摊,降低平均成本。
  • 网络效应与梅特卡夫定律:网络的价值不在于节点,而在于连接;节点总数越多,每个节点可有的连接数越多(与节点数的平方成正比)。这些共同产生了集聚效应

4. 对人口减少主张的批评

  • 作者假设埃利希和古道尔等人并非字面上呼吁种族灭绝或全球灾难,但他们所倡导的世界是一个极度贫瘠和停滞的世界:更少的发现、发明、创造性天才作品、疾病治愈方法、选择和灵魂伴侣。
  • 一个拥有庞大且增长人口的世界,才是一个能够创造和维持进步的动态世界
22. Bought a Prison Laptop on eBay (twitter.com)

由于提供的文章内容不完整,且仅包含一段关于X.com隐私扩展可能引起问题的提示信息,无法针对“在eBay上购买监狱笔记本电脑”这一主题进行有效总结。如需完成摘要,请提供完整的文章内容。

24. It's OK to abandon your side-project (robbowen.digital)

摘要内容

在Web行业中,副项目常被视为成功故事的源头,但本文作者指出,放弃副项目同样正常且有价值。许多开发者对副项目产出不足感到焦虑,尤其受“持续交付”文化的影响。作者通过个人经历反思了副项目的意义。

作者分享了一个被放弃的副项目:为学习拉脱维亚语语法格(grammatical cases),他计划开发一个测验应用。技术栈包括Svelte 3.0、Netlify无服务器函数、静态JSON文件和本地存储,使用正则表达式检查答案。经过一周开发,他部署了MVP,但发现应用过于简单且不有趣。关键在于,在开发过程中,他已通过研究语法规则被动学习了所需知识,因此不再需要应用本身。

这一经历让作者重新思考副项目的成功标准:成功不一定是交付产品,而是学习经验和实验价值。放弃的项目能提供宝贵的实践,如学习新技术、解决问题或探索创意。作者建议初学者开发者以学习和探索为目的进行副项目,避免因压力而焦虑。如果项目导致压力或倦怠,放弃是合理的,因为它可能已间接带来了成长和价值。副项目应专注于创造性、乐趣和自我提升,而非外部认可。

25. ViHN: Vim for Hacker News (qsantos.fr)

ViHN: Vim for Hacker News 浏览器扩展摘要

ViHN 是一款浏览器扩展,旨在让用户完全使用键盘来浏览和阅读 Hacker News (HN)。它适用于 Firefox 和 Chrome,主要解决的核心问题是:在 HN 的树状评论结构中,通过键盘快捷键实现高效导航(如下一条评论、父评论、兄弟评论等),从而避免频繁使用鼠标。

背景与动机 作者是一名键盘重度使用者,曾使用平铺式窗口管理器(如 Ratpoison)和 Vim。在使用 HN 时,发现其树状讨论结构(需要向上查找父评论、跳到兄弟讨论、隐藏子树等)无法像线性论坛那样仅靠滚动解决,因此希望摆脱鼠标操作。他首先尝试了“Refined Hacker News”等现有扩展,但因其存在加载慢、未维护导致的功能故障等问题,最终自行开发了 ViHN。

核心功能与设计

  1. 纯键盘导航:扩展的核心是提供全面的 Vim 风格快捷键,用于在故事列表和评论树中导航。
  2. 反向时间顺序查看新评论:借鉴了“SlateStarComments”的思路,ViHN 不猜测用户已读评论,而是提供一个按反向时间顺序排列的评论列表,用户浏览到上次阅读的位置即可停止。
  3. 评论操作:支持快捷回复、编辑、删除评论,并能在回复/编辑时预览评论。可高亮显示原帖作者。
  4. 请求管理:针对 HN 的严格速率限制,扩展管理投票、收藏、标记等请求,分散发送时间,并在遇到 503 错误时自动重试。
  5. 技术实现:为追求高性能、零构建时间和最小开销,扩展使用原生 JavaScript(Vanilla JS)编写。

主要快捷键列表(按下 ? 键可切换帮助)

  • 导航评论/故事
    • j / k:下一条/上一条评论或故事。
    • J / K:下一个/上一个兄弟评论。
    • g / G:跳转到第一条/最后一条故事或评论。
    • h / p:返回父评论/父故事。
    • n:切换到“最新条目”列表。
  • 链接跟踪
    • o / O:在前台/后台打开故事链接或评论。
    • c / C:在前台/后台打开评论讨论串。
    • b / B:同时打开故事链接和评论讨论串(前台/后台)。
    • 数字键 1-0:快速打开评论中的第1至第10个链接(按住 Shift 可在后台打开)。
  • 操作
    • m:折叠/展开评论树。
    • u / d:对故事/评论进行赞成/反对投票(或取消)。
    • f / F:收藏/取消收藏(或标记/取消标记)当前故事/评论。
    • r / e:回复(或评论)故事/评论、编辑评论(均带预览)。
    • D:删除评论。
    • Ctrl+Return:提交当前表单。
  • 导航“最新条目”列表
    • l:显示所选评论/故事。
    • j / k:上/下移动。
    • J / K:跳过10项。
    • g / G:跳到顶部/底部。
    • n:返回主界面。
26. Ledger (lock.cmpxchg8b.com)

简介

Ledger 是一个命令行会计工具,类似 Quicken、GnuCash 或 Mint,但主要面向 UNIX 用户。作者的新年决议是坚持使用 Ledger,并成功实践了一年。选择 Ledger 的原因在于其高效的命令行操作、可脚本性以及对 grep、编辑器和版本控制友好的文件格式。尽管其他个人理财软件也能实现类似功能,但 Ledger 的设计更符合技术偏好。

开始使用

入门 Ledger 并不容易,因为每个人的财务安排可能独特,文档可能无法完全覆盖所有情况。Ledger 的灵活性既是优势也是挑战:处理复杂交易(如分摊账单)时,用户需要自行决定处理方式,这可能导致初期决策的不确定性。此外,需要积累几个月的数据才能公平评估 Ledger 的实用性,这需要一定投入。学习查询语法和优化数据组织也可能需要回顾和编辑过去数据。尽管如此,作者认为这些努力值得,因为 Ledger 提供了一种“正确”的解决方案感。

示例

Ledger 是一个纯命令行工具,没有图形界面,但可以通过管道与工具如 gnuplot 集成以生成图表。用户可以自动导入银行交易数据或手动输入。文章提供了多个查询示例,展示 Ledger 的强大功能:

  • 计算本月总支出。
  • 分析今年每月汽油花费。
  • 查看当前净资产。
  • 跟踪投资增长,包括特定股票和长期资本收益。
  • 查询特定商家(如麦当劳)的消费。
  • 计算平均月度支出,并过滤超过特定金额的类别。
  • 评估信用卡奖励是否值得年费。
  • 列出可抵税的捐赠记录。 这些示例体现了 Ledger 在预算、预测以及多货币、多商品跟踪方面的灵活性。

建议

文章鼓励任何考虑使用 Ledger 的人在新年时开始尝试,并强调尽管入门有挑战,但长期使用会带来显著益处。

27. A simple MUD server in Python which can be run on a Raspberry Pi (github.com)

MUD Pi:树莓派上的简易多用户地牢服务器

项目概述

MUD Pi 是一个基于文本的多人在线地牢游戏服务器,专为树莓派或其他低端服务器设计。它使用 Python 编写,允许玩家通过 telnet 客户端连接,体验经典的文本冒险游戏。

环境要求

  • Python版本:需要安装 Python 2.7+ 或 3.3+。
  • 网络连接:服务器需接入互联网,以便玩家远程访问。
  • 客户端:玩家需使用 telnet 客户端连接(大多数操作系统已预装,Windows Vista 及以上版本可能需要手动安装)。

服务器运行

  • Windows:直接双击 simplemud.py 文件运行,关闭终端窗口即可停止服务。
  • Mac/Linux/树莓派:通过终端进入脚本目录并运行。若通过 SSH 连接,可使用 screen 工具使脚本在后台持续运行,或创建守护脚本实现开机自启。

玩家连接

  • 网络配置:若服务器位于 NAT(如家用路由器)后,需设置端口转发(默认端口 1234)。
  • 获取IP:通过访问 http://www.whatsmyip.org 获取服务器外部 IP 地址。
  • 连接命令:在终端执行 telnet <IP地址> 1234,连接成功后将显示欢迎信息。使用 Ctrl+] 后输入 quit 可退出客户端。

技术背景

  • Telnet:一种基于文本的网络协议,常用于 MUD 游戏等场景。
  • MUD:多人在线地牢游戏,是早期图形化大型多人在线角色扮演游戏(如《魔兽世界》)的前身。

项目结构与扩展

  • 源代码:包含两个核心文件:
    • mudserver.py:提供 MudServer 类,处理玩家连接及消息收发。
    • simplemud.py:示例游戏代码,实现玩家聊天和房间移动功能。
  • 扩展性:项目开源(遵循许可证条款),鼓励用户修改和扩展,例如添加更多游戏房间或优化网络模块。
  • 学习资源:建议初学者参考在线 Python 教程(如 http://www.learnpython.org)进行开发。

衍生项目

MUD Pi 已催生多个创意项目,例如:

  • ESP8266 MUD:在微芯片上运行的微型 MUD。
  • MuddySwamp:大学主题的 MUD 游戏。
  • Dumserver:功能丰富的 MUD 引擎。

作者与反馈

  • 作者:Mark Frimston。
  • 联系方式:可通过邮箱 mfrimston@gmail.com 或 GitHub 项目页提交反馈。
28. David Hahn, the 'radioactive boy scout' who tried to build a nuclear reactor (2022) (allthatsinteresting.com)

David Hahn:“放射性男孩侦察兵”的核反应堆尝试

David Hahn是美国密歇根州一名青少年童子军成员,因20世纪90年代中期在自家后院棚屋中试图建造“增殖反应堆”而引起联邦调查局(FBI)和核管理委员会(NRC)的关注,被称为“放射性男孩侦察兵”。

实验背景与过程

  • Hahn自幼对科学着迷,10岁开始学习化学,14岁成功制备硝化甘油。
  • 1991年,他获得原子能功绩徽章,此后专注于研究元素周期表和核反应堆原理。
  • 1995年,17岁的Hahn在继母位于密歇根州商业镇的后院棚屋中秘密开始实验,目标是建造增殖反应堆。
  • 他通过化名和伪装故事从核管理委员会获取信息,并利用常见物品收集材料:从灯笼中提取钍、从时钟中获取镭、从枪准星中获取氚、并用价值1000美元的电池提取锂。
  • 实验中使用咖啡滤网、泡菜罐等日常器具处理危险化学品,防护措施仅为防毒面具。

实验结果与影响

  • Hahn最终成功制造出一个简易中子源,虽未达到核反应堆的持续裂变水平,但产生可检测的辐射,影响范围达数个房屋。
  • 1995年,警方因无关事件拦下Hahn后,在其车中发现放射性材料,进而发现棚屋实验室。
  • 环境保护署(EPA)介入调查,将棚屋列为超级基金危险物质清理场。
  • 实验过程中,Hahn曾遭受皮肤灼伤、头发变绿和晕厥,且因防护不足可能导致寿命缩短。
  • 辐射泄露潜在影响约4万居民,但Hahn拒绝接受医学评估。

后续生活与结局

  • 尽管实验引发风波,Hahn仍获得鹰级童子军荣誉。
  • 他后续经历包括尝试大学学业、加入美国海军和海军陆战队,但心理健康问题持续困扰。
  • 2007年,Hahn因盗窃公寓楼烟雾探测器(含微量放射性镅)被捕,担心其再次进行核实验,当局疏散居民五小时。他因盗窃罪被判90天监禁。
  • 2016年,39岁的Hahn因酒精、苯海拉明和芬太尼联合用药过量死亡。

David Hahn的故事体现了青少年对科学的狂热探索与危险实验之间的模糊界限,其经历凸显了缺乏专业指导和防护的核材料研究可能带来的严重后果。

29. We were not accepted into Google Summer of Code. So, we started our own (qdrant.tech)

Google Summer of Code(GSoC)2024迎来20周年,过去20年中,已有19,000新贡献者在超过800个开源组织的指导下加入开源社区。Qdrant去年参与GSoC并成功完成两个项目——UI Dashboard与非结构化数据可视化,以及高级地理过滤功能,并已集成至引擎。其中一位年轻贡献者加入Qdrant团队并继续开发。

Qdrant今年未被GSoC 2024录取,原因未知。Qdrant决定自行发起Qdrant Summer of Code,向贡献者提供资助,遵循GSoC的官方时间线和规则,欢迎Rust或Python方向的贡献。主要项目包括:

  • 基于WASM的降维可视化:实现Rust降维算法,编译为WASM并集成至Qdrant Web UI。
  • 高效BM25与Okapi BM25(结合BERT分词器):需要Rust高效并行实现并拥有Python绑定,支持Qdrant的FastEmbed稠密嵌入模型。
  • Python中的ONNX Cross Encoders:将交叉编码器排序模型导出至ONNX运行时,并与Qdrant FastEmbed集成以实现高效重排。
  • Rank Fusion算法Rust实现:开发如Reciprocal Rank Fusion(RRF)等排序融合算法的Rust实现,并创建对应的Python绑定。
  • Jepsen测试Qdrant分布式一致性:设计并编写基于其他数据库实现的Jepsen测试,并撰写测试报告或博文。

申请者可于3月18日开始,通过电子邮件提交申请。具体细节可查阅Notion页面(https://www.notion.so/qdrant/GSoC-2024-ideas-1dfcc01070094d87bce104623c4c1110)。Qdrant鼓励社区共同参与和庆祝开源精神。