2024-10-15
50 篇热帖
2. Google Funding Construction of Seven U.S. Nuclear Reactors (www.wsj.com)
3. World conker champion found with steel chestnut, cleared of cheating (www.theguardian.com)
4. Show HN: Pumpkin – A Modern Minecraft server written in Rust (github.com)
Pumpkin 项目概述
Pumpkin 是一个完全用 Rust 编写的现代 Minecraft 服务器,旨在提供快速、高效且高度可定制的游戏体验。该项目在遵循游戏核心机制的前提下,以性能和玩家体验为优先目标。
核心目标
- 性能:通过利用多线程实现最大化的运行速度和效率。
- 兼容性:支持最新的 Java 版和基岩版 Minecraft 服务器版本,并遵循原版游戏机制。
- 安全性:将安全性放在首位,致力于防止已知的安全漏洞。
- 灵活性:提供高度可配置性,允许用户禁用不必要的功能。
- 可扩展性:为插件开发提供基础支持。
主要功能特性
配置与协议
- 支持 TOML 格式配置文件。
- 涵盖服务器状态/延迟响应、数据加密、数据包压缩等协议处理,并支持 Java 版和基岩版。
世界管理
- 支持玩家列表、记分牌、世界加载与保存、时间控制、世界边界、光照更新、实体生成、Boss 血条。
- 提供多种区块加载/生成/保存模式(原版、线性、Pump)。
- 支持红石电路和液体物理模拟。
玩家管理
- 涵盖皮肤、传送、移动、动画、物品栏、战斗、经验值、饥饿值、副手、成就、进食等玩家相关机制。
实体系统
- 支持玩家实体、实体效果、实体保存。
- 非生物实体(如矿车、投掷物)、怪物、动物、村民及实体 AI 功能仍在开发中。
服务器功能
- 支持插件系统、服务器查询、RCON 远程管理、物品管理、粒子效果、聊天系统、命令系统、权限管理和多语言翻译。
代理支持
- 兼容 Bungeecord 和 Velocity 代理。
其他信息
- 运行指南:提供快速入门指南。
- 参与贡献:欢迎社区贡献,并提供贡献指南(CONTRIBUTING.md)。
- 项目文档:文档位于 https://pumpkinmc.org/。
- 社区交流:可通过 Discord 服务器获取最新动态和参与交流。
- 项目资助:可通过 GitHub Sponsors 进行资助。
5. How I Experience Web Today (2021) (how-i-experience-web-today.com)
文章 How I Experience Web Today (2021) 描述了作者在2021年体验网络时,访问URL https://example.com,然后看到Example Domain的说明。Example Domain是一个用于在文档中进行说明性示例的域名,可在文献中使用而无需事先协调或询问。内容直接呈现了网络体验中的一个具体交互过程。
6. Show HN: I 3D scanned the tunnels inside the Maya Pyramid Temples at Copan (mused.com)
自20世纪30年代起,考古学家开始向洪都拉斯科潘遗址的卫城内部挖掘隧道,以探究其多阶段建造历史。目前调查基本完成,隧道总长度接近4公里,早期发现的石碑、灰泥立面与墓葬等文物,极大地丰富了人们对卫城最终形态形成前的认识。
由哈佛大学主导、并与洪都拉斯人类学与历史研究所持续合作的保护计划,已为该隧道系统创建了数字3D模型。该计划致力于在潮湿气候、季节性水位变化、游客访问需求以及坍塌风险等多重挑战下,探索保护内部珍贵建筑遗产的有效途径。
7. The three-page paper that shook philosophy: Gettiers in software engineering (jsomers.net)
1963年,哲学家Edmund Gettier发表了三页论文《Is Justified True Belief Knowledge?》,质疑传统“知识=有证据支持的真实信念(Justified True Belief,JTB)”定义。通过著名的“Gettier案例”,Gettier提出:人在拥有证据、信仰真实命题且该命题确实为真时,仍可能没有真正“知道”事实,而只是偶然误打误撞地凑巧。以“牛的模型”案例说明:你看到牛模型,据此确信“田里有牛”,事实田里确实有牛,但你实际上只是被巧合所骗,知识得出方式存在漏洞。
文章将Gettier思想引入软件工程领域。作者在Genius公司工作时,CTO经常讨论“gettier”现象,并将其用于描述软件开发中的特殊问题:开发者有充足理由相信某个现象、并且事实确实发生,但实际原因与认知不同。
第一个软件案例:作者开发的Web搜索引擎出现autofocus失效的问题,他合理地认为刚提交的pull request导致了故障,且事实确实如此。但其实,真正原因是同事对底层框架做了更改,意外地影响了autofocus特性,作者的修改只是偶然和底层bug同时上线。由此,作者拥有“pull request导致autofocus失效”的JTB,但不是严格意义上的“知识”,因失效真正原因隐藏于自身认知之外。
第二个案例:代码更新导致邮件通知失效,用户报告问题。作者调查发现最近邮件模块代码有更新,似乎是出错原因。然而实际上,邮件服务本身在几乎同一时间宕机,成为真正直接原因。作者拥有“代码变更导致邮件通知失效”的JTB,但实际上是并发事件产生的误导。
文章指出,虽然从哲学严谨标准看,软件开发中的“Gettier现象”未必是经典的Gettier案例,但它确实为开发者描述了一类难题:多个可能原因并存,你有充分理由相信A,但实际上是B造成问题。“gettier”成为公司内部术语,帮助开发者提高警觉性:不要过度相信直觉和表面证据,学会怀疑、复查隐藏因素,如忘记清理缓存、使用错误分支、代码路径未被调用等。
总结,软件开发中常见“gettier”现象提示我们:即使拥有充分证据支持的信念与事实吻合,也需警惕认知与现实错位。开发者应该警觉、谨慎,提升问题排查能力,避免被复杂系统中的偶然巧合蒙蔽。
8. Routine dental X-rays are not backed by evidence (arstechnica.com)
常规牙科X光检查缺乏证据支持
核心观点:美国牙科协会(ADA)并不推荐每年进行常规牙科X光检查,但许多牙医仍在这么做,这与循证医学原则相悖,且存在过度诊断和治疗的风险。
1. ADA指南的实际内容
- 2012年指南:对无龋齿高风险的成人,建议每2-3年进行后牙翼片X光检查;高风险者可延长至18个月。强调不应在临床检查前进行预防性X光筛查。
- 2023年更新指南:不再规定具体时间间隔,转而强调应最小化患者辐射暴露,且任何X光检查必须具有临床正当性。
2. 证据缺失与过度使用问题
- 数据不足:缺乏高质量研究(如随机临床试验)证明X光筛查对低风险成人有益。
- 准确性存疑:2021年一项系统综述(涵盖77项研究)显示,X光检测早期龋齿的假阴性率高,可能漏诊病例。
- 专家批评:《JAMA Internal Medicine》多篇评论指出,牙科行业缺乏数据支持其常规实践,且存在经济利益驱动过度治疗和监督缺失的问题。
3. 儿童X光筛查的潜在危害
- 一项2021年随机临床试验发现,对学龄前儿童增加X光检查会导致更多假阳性和过度诊断,结论支持仅进行视觉触觉检查。
- 早期发现“白点病变”(早期龋齿)的益处未被证实,因多数病变不会进展为牙本质龋洞,且早期治疗无长期效果证据。
4. 行业监督缺失
- 牙科是少数集临床检查、诊断、治疗于一体的医疗专业,同一从业者完成全流程,阻碍了外部监督。
- 尽管数字化X光已降低辐射剂量,但辐射危害具有累积性,不必要的检查违反“首先不伤害”原则。
- 其他技术(如根尖定位仪)可在部分场景替代X光。
5. 专家呼吁
- 多位专家(包括退休医学专家Sheila Feit、口腔医学专家Yehuda Zadik等)共同呼吁:
- 开展严格随机临床试验,评估X光筛查的风险与益处。
- 基于临床指征而非固定时间间隔使用X光检查。
- 审视其他常规牙科实践(如智齿预防性拔除)的证据基础。
总结:现有证据不支持将X光检查作为常规筛查手段,尤其对于低风险成人和儿童。牙科行业需转向循证实践,并加强外部监督以避免过度医疗。
9. Web Browser Engineering (browser.engineering)
《Web浏览器工程》书籍概览
核心目的
本书旨在解释Web浏览器的工作原理,通过使用Python语言构建一个基本但完整的浏览器(约数千行代码),涵盖从网络请求到JavaScript执行的全过程。
书籍结构
前言与背景
- 浏览器与Web的关系:阐述浏览器在Web生态中的基础作用。
- Web历史:简要介绍万维网的发展历程。
第一部分:加载页面
- 下载网页:涉及URL解析与HTTP请求的基本流程。
- 绘制到屏幕:包括创建窗口及在画布上绘制内容。
- 文本格式化:处理自动换行与行间距等排版问题。
第二部分:查看文档
- 构建HTML树:解析HTML并修复可能的错误,生成文档对象模型(DOM)。
- 页面布局:实现行内布局与块级布局的排版规则。
- 应用作者样式:解析CSS并应用样式到文档元素。
- 处理按钮与链接:实现超链接交互及浏览器界面(chrome)的基本功能。
第三部分:运行应用程序
- 向服务器发送信息:包括表单提交及与Web服务器的通信。
- 运行交互脚本:通过JavaScript修改DOM并响应用户事件。
- 保持数据隐私:涉及Cookie、登录机制、XSS与CSRF等安全主题。
第四部分:现代浏览器
- 添加视觉效果:实现混合、裁剪与合成等图形特效。
- 任务调度与线程:包含事件循环与渲染流水线的优化。
- 动画与合成:利用GPU实现流畅动画效果。
- 提升内容可访问性:支持键盘输入、缩放及可访问性树(Accessibility Tree)。
- 支持嵌入式内容:处理图像、iframe及脚本嵌入等复杂内容。
- 重用先前计算:通过失效机制、编辑处理及正确性验证提升性能。
资源与社区
- 本书提供博客、Mastodon及Twitter用于发布更新。
- 在Github设有讨论论坛,同时支持直接邮件联系。
注:本书以实践为导向,通过逐步构建浏览器来深入讲解Web技术栈,适合对浏览器内部机制及Web底层技术感兴趣的开发者与学习者。
10. Apple introduces iPad mini built for Apple Intelligence (www.apple.com)
苹果发布专为Apple Intelligence打造的新款iPad mini
产品概述
苹果公司于2024年10月15日发布了全新的iPad mini,搭载A17 Pro芯片并支持Apple Intelligence。这款超便携设备拥有8.3英寸Liquid Retina显示屏,提供蓝色、紫色、星光色和深空灰四种配色。起售价499美元(128GB Wi-Fi版),10月23日正式发售。
核心升级:A17 Pro芯片
- 性能提升:采用6核CPU,相比上一代(A15 Bionic)CPU性能提升30%,GPU(5核)性能提升25%。
- 神经引擎:16核神经引擎速度提升至前代的2倍。
- 图形能力:支持硬件加速光线追踪、动态缓存和网格着色,为高性能游戏和专业应用提供支持。
专为Apple Intelligence设计
深度集成于iPadOS 18的Apple Intelligence系统,利用苹果芯片和生成式模型,在保护隐私的前提下提供个性化智能服务。首批功能于本月通过iPadOS 18.1更新(美式英语)提供:
- Writing Tools:在邮件、笔记等多场景中提供文本重写、校对和摘要功能。
- Siri升级:新增文本输入方式,语言理解更自然,并保持上下文连贯。
- Photos增强:通过文本描述创建回忆影片,新增“Clean Up”工具移除照片背景干扰物。
- 未来功能:包括Image Playground(快速生成图像)、Genmoji(创建原创表情)、Siri的屏幕感知与跨应用操作,以及集成ChatGPT选项。
连接与摄像头改进
- 无线连接:支持Wi-Fi 6E(速度提升2倍)和5G(eSIM)。USB-C接口传输速度提升至10Gbps。
- 摄像头:后置12MP广角摄像头支持Smart HDR 4,可自动识别并扫描文档;前置12MP超广角摄像头支持人物居中功能。
Apple Pencil Pro支持
新增对Apple Pencil Pro的支持,带来以下创新交互:
- 挤压感应:快速调出工具面板。
- 滚转控制:旋转笔身可调整笔刷方向。
- 触觉反馈:提供操作确认。
- Find My支持:便于查找。 设备通过磁吸配对、充电和存放。同时支持Apple Pencil (USB-C)。
iPadOS 18新特性
除Apple Intelligence外,系统还带来多项升级:
- 计算器与Math Notes:使用Apple Pencil手写数学表达式即时求解,支持变量和图表。
- Smart Script:优化手写笔记,实时美化字迹,支持插入排版文本。
- 音频录制与转录:录制内容并同步转录文本,便于搜索。
- 个性化定制:主屏幕图标和小组件可自由布局,新增深色/着色模式。
- Photos应用重设计:简化布局,按主题浏览。
- 信息应用:新增动画文本效果、计划发送等功能。
环保设计
- 机身采用100%再生铝,磁体使用100%再生稀土元素,电路板采用100%再生金镀层和锡焊料。
- 无汞、无溴化阻燃剂、无聚氯乙烯。
- 包装为100%纤维基材料,迈向2025年全面去塑化目标。
- 苹果致力于2030年底前实现整个碳足迹碳中和。
价格与上市信息
- iPad mini:Wi-Fi版499美元起(128GB),Wi-Fi+蜂窝网络版649美元起。提供128GB、256GB、512GB配置。
- 教育优惠:起售价449美元。
- 配件:Apple Pencil Pro(129美元)、Apple Pencil USB-C(79美元)、Smart Folio保护壳(59美元)。
- 发售:10月15日起接受预订,10月23日开始发货。
- 服务:提供以旧换新、Apple Card分期免息、AppleCare+服务。购买用户可享受个性化设置指导。
11. Bike Manufacturers Are Making Bikes Less Repairable (www.ifixit.com)
自行车,这一传统上易于维修和改装的交通工具,正面临制造商推行专用零件、降低可维修性的挑战。这一趋势在电动自行车领域尤为明显,主要体现在以下方面:
- 专用零件取代标准件:自行车行业正在脱离长期使用的标准化零件体系。例如,过去通用性较强且维修工具简单的中轴,如今催生出20多种专用接口工具需求。电子变速、碳纤维座管、主动悬挂等复杂技术的引入,进一步增加了维修难度,这些功能对多数骑行者而言并非必需,却将自行车变成复杂的“黑箱”。
- 电池缺乏通用性与维修性:电动自行车的电池缺乏类似AA电池的通用标准。其形状、容量、电压各异,导致用户必须依赖原厂电池。一旦原厂停售,完好的自行车可能因无法获得兼容电池而报废,形成品牌锁定并产生电子垃圾。
- 廉价自行车质量低劣:为迎合市场需求,大量廉价自行车(售价150-250美元)采用劣质材料和糟糕设计,其目的是“注定失败”,从出厂就可能存在问题,对骑行者构成安全隐患。购买二手优质自行车是更可持续的选择,但需要用户具备一定的鉴别和维修知识。
- 应用程序依赖风险:依赖专用应用程序才能使用或调整设置的电动自行车存在严重风险。一旦应用程序被开发商停止支持,自行车的核心功能将受到限制甚至瘫痪。
制造商推动这一趋势的主要动机是商业利益:通过专用零件确保用户必须购买原厂配件,如果配件昂贵或难以获取,就会促使消费者购买新车而非维修。新兴技术也刺激了不必要的“升级”需求。
文章指出,自行车是最高效、环保的交通方式之一,但上述反维修实践正在将其变成一次性消费品。为此,行业需要立法强制制造商公开提供专用零件和维修信息。文章末尾以“无限电池”为例,展示了一种可由用户完全自行维修、更换电芯的通用型电动自行车电池设计,作为对抗当前趋势的希望。
12. FIDO Alliance publishes new spec to let users move passkeys across providers (fidoalliance.org)
FIDO联盟发布了一套新的工作草案规范,旨在实现凭证的安全跨提供商转移。该规范由联盟内凭证提供商特别兴趣小组的成员(包括1Password、苹果、谷歌、微软等公司)共同制定。
这项规范被称为凭证交换协议和凭证交换格式,它定义了一种标准格式,用于在凭证管理器之间转移密码、通行密钥及其他凭证,并确保转移过程默认安全,而非明文传输。
推动安全凭证交换的原因在于,它能够进一步加速通行密钥的采用并提升用户体验。目前已有超过120亿个在线账户支持通行密钥登录,其优势显著:登录速度提升75%,成功率提高20%,同时能有效防范网络钓鱼和凭证复用。
此前,缺乏标准导致凭证转移通常以不安全的方式进行。新规范的目的是构建一个开放的生态系统,消除技术壁垒,保障用户自由选择和更换凭证提供商的权利。
目前,该工作草案正面向社区公开征求意见和反馈。规范尚未定稿,可能还会修改,因此暂不建议实施。感兴趣的各方可在指定渠道查阅草案并提交意见。待规范获批后,各提供商可据此实施,为用户提供安全便捷的跨平台凭证迁移体验。
13. Asterinas: OS kernel written in Rust and providing Linux-compatible ABI (github.com)
Asterinas 是一个用 Rust 编写、提供 Linux 兼容 ABI 的开源操作系统内核项目,旨在成为生产级、内存安全且高性能的 Linux 替代方案。
核心理念与设计 Asterinas 采用“全新构建”的方法,从零开始使用 Rust 开发,以摆脱传统 C 代码库的限制。其核心设计思想是:
- 现代架构:首创 framekernel(框架内核) 架构。它结合了宏内核的高性能与微内核的安全隔离。不安全的 Rust 代码被严格限制在一个小型、可审计的框架(OSTD)中,其余大部分内核代码均使用安全的 Rust 编写,从而最大限度地缩小了可信计算基(TCB)。
- 现代设计:借鉴 Linux 的工程经验,但在必要时进行创新。例如,其内存管理子系统采用了名为 CortenMM 的新方案,以提升 CPU 可扩展性(该工作获得了 SOSP 2025 最佳论文奖)。
- 现代代码:代码库优先考虑安全性、清晰度和可维护性,追求性能但绝不牺牲安全保证。
- 现代工具:提供专用工具包 OSDK,旨在简化基于 Rust 的内核或组件的开发、运行和测试,使其体验接近编写普通 Rust 应用。
项目进展与成果 项目已积极开发四年,支持超过 230 个 Linux 系统调用,并推出了实验性发行版 Asterinas NixOS。多项相关研究成果被顶级学术会议(如 SOSP、USENIX ATC、ICSE、FAST)接收,涵盖内存管理、安全存储、并发验证和模糊测试等领域。
支持与参与
- 支持平台:
- 开发平台(用于构建和测试):支持 x86-64 和 ARM64。
- 部署平台(作为内核运行):分层支持。
- Tier 1:x86-64(完全支持并测试)。
- Tier 2:x86-64(Intel TDX)、RISC-V 64(活跃开发)。
- Tier 3:LoongArch 64(早期/实验性)。
- 用户使用:提供
Asterinas NixOS ISO Installer供早期采用者和爱好者体验。 - 开发者参与:可通过克隆仓库并使用 Docker 容器环境进行内核构建和运行,或直接编译运行 Asterinas NixOS。
未来方向 2026年的重点是提升项目成熟度,目标是在 x86-64 上支持标准和机密虚拟机。长远来看,将扩展功能并加固系统,以用于数据中心、自动驾驶和具身智能等关键任务场景。
许可 项目源代码和文档主要采用 Mozilla Public License (MPL) Version 2.0 许可,部分组件使用更宽松的许可证。
14. Mothbox 4.0 (digital-naturalism-laboratories.github.io)
Mothbox 4.0 概述
设备介绍
Mothbox 是一款低成本、高性能的昆虫监测器,专为野外生物学家设计,具有高效节能和轻量化的特点,便于在丛林等偏远地区部署。其低成本特性使得用户可以批量部署以研究特定景观,或单独制作以监测自家生物多样性。
所有物理设计、电路原理图、树莓派脚本及昆虫识别人工智能均以免费开源形式提供,用户可自行构建、分享和改进。
可用版本
目前提供两种版本:
- Mothbox Pro:工厂预组装电子元件,易于组装,部件成本约 390美元。
- Mothbox DIY:完全使用现成部件自行制作,部件成本约 450美元。
研究昆虫对保护的意义
- 环境变化的高分辨率传感器:昆虫(尤其是蛾类和甲虫)多样性极高,已知昆虫物种占全球已描述物种的约一半(200万种中约100万种),其中蛾类约有14.4万种(约占全球已知物种的1/14)。它们的活动数据结合气候、声学或土壤分析,能深入评估环境修复情况。
- 提供高度局部化的洞察:昆虫寿命短、活动范围有限,可提供超局部数据。以蛾类为例,其幼虫通常只取食特定植物,因此监测蛾类可间接反映本地植物群落状况。相比之下,大型动物(如美洲豹)活动范围广,其出现未必反映当地环境健康状况。
- 易于吸引观测:许多夜行性昆虫(如飞蛾)易被光源吸引。Mothbox 利用此原理,通过自动化设备取代传统耗时的人工观测,用户只需部署设备,后续数据收集和分析均可远程进行。
工作原理
- 低功耗待机:设备在设定的计划时段内唤醒。
- 诱引与拍摄:触发昆虫诱引装置(通常为强紫外线灯),并拍摄访客的高清图像。
- AI数据分析:
- 使用开源的 YOLO v8 算法检测图像中的昆虫并裁剪出独立图像。
- 通过 BioCLIP(结合 pybioclip 包和 FiftyOne 界面)对昆虫进行自动分类和识别,可识别至不同分类学等级。
其他项目
- Mothbeam:一款开源、便携、低成本的诱虫灯光设备,用于辅助昆虫观测,相关文档已部分公开。
参与方式
- 邮件列表:可通过发送邮件至指定地址订阅,获取最新功能更新。
- 订购表格:有意向的用户可填写表格获取设备。
- 自行构建:完整文档包括如何采购、组装、编程和使用 Mothbox,用户可依指南自制设备开展生物多样性研究。
更多信息(包括设备规格、技术演示视频和相关科学论文)可通过官方渠道查阅。
15. Commonly used arm positions can overestimate blood pressure readings: study (medicalxpress.com)
16. Life expectancy rise in rich countries slows down: took 30 years to prove (www.nature.com)
17. Zamba2-7B (www.zyphra.com)
Zamba2-7B 模型总结
性能亮点
- Zamba2-7B 在评估基准上达到了当前最佳性能,超越了同级别领先的模型(如 Mistral-7B、Gemma-7B、Llama3-8B)。
- 具有卓越的推理效率:相比 Llama3-8B 等模型,首次令牌生成时间(time to first token)快 25%,每秒处理令牌数(tokens per second)提升 20%,内存占用显著降低。
架构改进(相对于 Zamba1-7B)
- 将 Mamba1 块替换为 Mamba2 块。
- 使用两个共享注意力块,并以 ABAB 模式在网络中交错分布(原 Zamba1 仅一个共享注意力块)。
- 对每个共享 MLP 块应用 LoRA 投影器,使网络能在不同深度调用共享层时实现 MLP 的特化,同时保持额外参数开销较小。
- 核心架构为混合 SSM-注意力结构:以 Mamba 层为骨干,交错插入共享注意力层。共享注意力通过权重共享来最小化参数成本,并通过拼接原始输入嵌入来提升性能。
模型质量
- 在标准语言建模评估集上表现优异,在同级小模型(≤8B)中质量与性能领先。
- 高质量的原因包括:
- 创新架构:共享注意力结构使更多参数可分配至 Mamba2 骨干,同时保留了注意力的跨序列依赖性。
- 高质量预训练数据:使用约 3 万亿令牌的预训练数据集,结合了 Zyda 及其他公开数据集,经过严格过滤和去重,在消融实验中质量优于现有顶级开源预训练数据集。
- 退火训练阶段:额外使用 100 亿个精心策划的高质量令牌进行退火预训练,通过快速衰减学习率进一步提升模型质量。
- 因此,Zamba2-7B 在单位预训练令牌上的性能表现优异,超过同类模型的趋势曲线。
推理效率优势
- Mamba2 块效率极高,吞吐量约为同等参数量 Transformer 块的 4 倍。
- Mamba 块仅需存储较小的隐藏状态,无需 KV 缓存,仅需为共享注意力块的调用存储 KV 状态,大幅节省内存。
- 模型尺寸设计利于在现代硬件(如 GPU 的流多处理器、CPU 多核)上进行并行化,提升了推理效率。
训练与开源信息
- 使用内部训练框架(基于 Megatron-LM)在 128 张 H100 GPU 上训练约 50 天完成,证明以小团队和适中预算可在 7B 规模达到前沿水平。
- 模型采用 Apache 2.0 许可证开源,提供以下资源:
- 指令微调版:
https://huggingface.co/Zyphra/Zamba2-7B-Instruct - 基础版:
https://huggingface.co/Zyphra/Zamba2-7B - 纯 PyTorch 实现:
https://github.com/Zyphra/Zamba2
- 指令微调版:
- 团队致力于推进高效基础模型的民主化与科学探索,鼓励社区合作。
18. A solar gravitational lens will be humanity's most powerful telescope (2022) (phys.org)
19. Show HN: Mermaid ASCII Diagrams (mermaid-ascii.art)
项目概述
Mermaid ASCII Diagrams 是一个将 Mermaid 图表转换为 ASCII 码形式的工具,方便在终端或纯文本环境中展示图表。
两种替代使用方法
cURL 请求
通过发送 POST 请求直接生成 ASCII 图表:curl https://mermaid-ascii.art -d mermaid="graph LR\nABC --> DEF"用户只需在请求中指定 Mermaid 图表语法即可获取结果。
本地 Golang 命令行运行
- 克隆仓库并进入项目目录:
git clone https://github.com/AlexanderGrooff/mermaid-ascii cd mermaid-ascii - 使用 Go 运行指定的 Mermaid 文件(如
test.mermaid):go run main.go -f test.mermaid
适合需要本地部署或集成的场景。
- 克隆仓库并进入项目目录:
核心特点
- 支持标准 Mermaid 语法生成 ASCII 图表。
- 提供在线服务(cURL)与本地部署(Golang)两种灵活方式。
- 适用于命令行文档、终端展示等纯文本环境。
20. Why birds do not fall while sleeping (news.cnrs.fr)
鸟类为何睡眠时不会掉落
鸟类是动物界中除人类外唯一的恒定双足动物,拥有非凡的平衡能力。科学家近期在《皇家学会界面杂志》上发表研究,揭示了鸟类如何能在站立时睡眠而不失平衡。关键在于一种被称为张拉整体的结构特性——这种结构通过内部元件间张力与压力的微妙相互作用保持稳定。
研究起点与鸟类结构特点
法国国家自然历史博物馆和CNRS的研究团队从进化生物力学角度出发,重点关注鸟类足部结构。鸟类作为同质性极高的类群,自起源便共享为飞行优化的身体构造:刚性躯干、用于起降的下半身和翅膀。这种结构广泛适应于各种环境,展现出独特多功能性。鸟类属于弯曲双足动物,站立时全身弯曲,类似人类踮脚蹲姿,但这种姿势能让鸟类放松甚至睡眠,能耗更低。
实验模型与平衡机制
研究人员以斑胸草雀为模板构建数字模型,将骨骼替换为杆件,肌肉肌腱替换为刚度不同的缆索,足部关节替换为滑轮。最初使用单一缆索(从骨盆延伸至足部,穿过髋、膝、踝关节)的模型不稳定。为提高稳定性,他们增设多条缆索,特别是一条从膝关节后方通过的缆索。这对应了鸟类独特的解剖特征:一根肌腱穿过膝关节后方的韧带环以保持对齐。
引入四条缆索(包括膝关节后方那条)后,模型实现了被动稳定,像不倒翁一样能在轻微扰动下自动恢复平衡。
钙化肌腱的关键作用
研究还发现,鸟类肌腱的钙化特性(几乎骨化)至关重要。这种低弹性虽看似不利于稳定,实则能减少外力扰动的影响,并让系统更快速地反应,迅速回归平衡位置。正是这种张拉整体系统使鸟类能在风雨中安睡不坠。
机制本质与应用前景
该机制的核心在于其被动性:鸟类无需主动思考或集中注意力,完全依靠系统弹性维持平衡,不消耗额外能量,体现了“身体智能”。
工程师已受启发,设想在机器人中应用张拉整体系统,以实现双足机器人在不稳定表面上长时间低能耗站立,并有望在土木工程中实现结构轻量化、节能减材,提升人机交互安全性。
21. Jank development update – Moving to LLVM IR (jank-lang.org)
jank开发进展:转向LLVM IR
近期活动与全职开发计划 作者于9月在Heart of Clojure会议上发表演讲,深入讲解了jank中异常处理的实现。演讲中宣布,将于2025年1月辞去在EA的工作,全职投入jank开发。此前已从全职转为兼职以投入更多时间。目前尚无明确资金支持,作者希望通过jank创造实际价值,吸引企业使用并提供支持。同时,作者已加入SciCloj导师计划,指导学员通过参与jank开发学习编译器技术。
JIT编译优化:从C++转向LLVM IR 当前jank通过AST生成C++代码,虽能利用C++的类型推导、模板等特性,但存在严重的启动性能问题:约4k行jank代码生成80k行C++,JIT编译耗时达12秒。尽管可通过预编译C++20模块将启动时间降至0.3秒,但预编译本身需要2分钟,矛盾依然存在。
为解决问题,作者探索了直接生成LLVM IR的方案。相比C++,LLVM IR更接近汇编,但调用C++存在名称修饰等复杂问题。因此作者为jank设计了一个C语言API,从而可以直接从IR调用C语言接口。示例展示了Clojure代码生成等效C代码及对应LLVM IR的过程。
转向LLVM IR带来新权衡:虽然丢失了C++的某些高级特性,但能显著提升JIT编译速度。预计编译时间将大幅缩短,且通过C API为未来支持更多语言(如Rust)奠定了基础。
对原生互操作的影响
当前jank支持两种原生互操作:内嵌C++的native/raw形式,以及将C++文件作为命名空间引入。转向IR后,native/raw形式将被移除,但第二种形式将保留:当jank代码引入C++文件时,该文件仍会通过JIT编译C++完成注册。这种混合模式既保持了C++的强大能力,又提升了jank代码本身的编译效率。
jank作为原生Clojure方言的愿景 通过基于C ABI的运行时库,jank可与多种语言(Ruby、Lua、Rust等)交互。由于可JIT编译任何LLVM IR,未来可无缝集成其他LLVM支持的语言。这意味着开发者可以在jank项目中混合使用Clojure与C、C++等语言,由编译器和运行时统一处理编译。
社区贡献
- Saket:优化了字符对象以支持Unicode,添加了科学记数法,并实现了
to_code_string以支持pr-str。 - Jianling(SciCloj学员):完善了字符串转义序列支持,正在添加数字字面量支持。
- Haruki:正在重构构建系统以支持Nix,这将简化构建流程并助力未来纳入nixpkgs。
- LLVM 19支持:关键JIT修复将回溯到19.x分支,预计可从19.2版本起使用系统Clang/LLVM二进制,简化开发者体验。
未来展望 作者计划在下次更新中提供LLVM IR与C++编译启动时间的对比数据。项目参与者日益增多,社区持续活跃,可通过Slack、GitHub等渠道加入参与。
22. Ichigo: Local real-time voice AI (github.com)
Ichigo:本地实时语音AI工具包总结
核心定位
Ichigo是一个专为开发者设计的简化版语音处理Python包,旨在通过直观的API和FastAPI服务提供先进的语音模型,简化音频处理的复杂性,使开发者能专注于系统部署与优化。
主要功能模块
自动语音识别 (ASR)
- Ichigo-ASR:基于Whisper-medium的紧凑型语音分词器(2200万参数),可将语音压缩为离散token,便于与大语言模型集成。
- 支持单文件与文件夹批量处理,提供Python一键转录接口和FastAPI服务(支持端点如S2T、S2R、R2T)。
- 经过英语(400小时)和越南语(1000小时)数据训练。
语音语言模型 (LLM)
- Ichigo-LLM:实验性研究项目,目标是扩展文本LLM的原生听觉能力,采用受Meta Chameleon启发的早期融合技术。
- 提供公开检查点(v0.1至v0.3),致力于构建开源、可本地运行的语音助手。
文本转语音 (TTS)
- Ichigo-TTS:即将推出,当前内容未详细说明。
技术特点与设计
- 模块化架构:ASR和TTS任务共享组件,允许利用ASR数据训练TTS(反之亦然),并支持通过创新的Speechless模型进行无语音数据训练(论文待发布)。
- 多任务统一框架:强调将语音任务整合到单一表示框架中,子模型组件可跨任务复用,提升有限数据下的模型训练效率。
- 基准测试:在LibriSpeech等数据集上,Ichigo-ASR在多语言环境下表现良好,但英语纯净语音识别精度略低于Whisper-medium原版。
使用方式
- 安装:通过Python包管理器直接安装。
- 部署:支持本地脚本调用或通过FastAPI服务集成至前端,提供curl示例和API文档。
- 社区协作:开放研究项目,欢迎开发者贡献代码与数据集。
未来方向
- 完善TTS功能,推动语音任务模块化与数据共享。
- 发布技术报告,阐述统一框架设计理念。
- 通过协作与众包扩展语音数据集。
23. Tell HN: DigitalRiver/MyCommerce stopped paying vendors since July
24. How ham radio endures (www.zdnet.com)
业余无线电如何持续发挥作用
作者童年在西弗吉尼亚州的经历揭示了业余无线电的核心魅力:与远距离的人通信、探索技术以及在紧急情况下提供帮助。尽管数十年来技术不断演进,莫尔斯电码已不再必需,但业余无线电操作员在各种天气条件下于灾难中助人的传统依然延续。
在灾难发生后,业余无线电操作员在连接受灾者与亲友、协调大规模救援行动中扮演关键角色。他们利用自身设备建立通信网络,通常是在手机基站损坏、互联网中断之时。这些志愿者实质上是专业人士,他们定期参与训练和演习,如业余无线电应急服务(ARES)现场日,以确保灾害应对能力。
在先进的科技时代,业余无线电是其他系统失效时可靠的后备方案。操作员依靠技能和电池供电的无线电设备,确保危机中通信线路畅通,使救援得以到达。他们使用多种无线电波段实现远距离通信,从而能将信息传递到灾区以外的地方。
在灾难中,业余无线电操作员会组建自组织网络传递信息。在美国,他们受无线电业余民间应急服务(RACES)监管。许多操作员还完成联邦应急管理署(FEMA)的国家事件管理系统(NIMS)和事件指挥系统(ICS)课程,以有效融入应急通信框架。部分人员还接受国家气象局(SKYWARN)风暴观测员培训或辅助通信(AUXCOMM)培训,以便融入当地应急运营中心。
凭借装备和训练,操作员建立“通信网”或“网络”,将受灾者、物资和灾情信息传递给外界当局和家人。这些网络有指定的频率、时间表和程序以确保高效传递信息。操作员也可能被指派到应急运营中心、避难所、医院等关键地点提供通信支持。
他们使用标准化的消息格式和程序准确传输信息,包括正式的消息表格、字母解释法和中继协议。紧急通信优先于日常通信,并采用消息优先级系统(常规、优先、紧急、特急)确保信息流畅传递。灾难期间,操作员通常按指定通信网报到或前往预分配地点主动工作,无需额外召唤。
许多应急管理部门与业余无线电组织签有正式协议或谅解备忘录,以便协调规划和响应。
若想在下次飓风来临时提供帮助,可以从学习业余无线电概念、术语和法规开始,例如使用《ARRL技术级执照手册》等资源。在美国,需通过联邦通信委员会(FCC)业余无线电执照考试。初学者可购买如宝锋UV-5R这样的基础手持对讲机扫描接收器。深入爱好者还可从业余无线电集会、本地俱乐部购买优质二手设备,并强烈建议加入本地业余无线电小组以快速掌握技能和术语。
25. Show HN: Vortex – a high-performance columnar file format (github.com)
Vortex:高性能列式文件格式
概述
Vortex 是新一代列式文件格式与工具包,专为高性能数据处理设计,特别适用于对象存储支持的数据系统。其核心优势包括:
- 卓越性能:随机访问读取速度比 Apache Parquet 快100倍,扫描速度快10-20倍,写入速度快5倍,压缩率相近,且支持宽表零拷贝/零解析元数据。
- 可扩展架构:借鉴 Apache DataFusion 的扩展模式,提供可插拔的编码系统、类型系统、压缩策略与布局策略,与 Apache Arrow 零拷贝兼容。
- 开源中立:作为 Linux Foundation(LF AI & Data)项目,采用 Apache-2.0 许可证。
- 广泛集成:支持 Arrow、DataFusion、DuckDB、Spark、Pandas、Polars 等工具,Apache Iceberg 集成即将推出。
开发状态
自版本0.36.0起,文件格式保持稳定,并确保向后兼容性(可读取≥0.36.0版本的旧文件)。
核心功能
- 逻辑类型:逻辑 schema 与物理布局分离
- 零拷贝 Arrow 集成:无缝转换 Apache Arrow 数组
- 可扩展编码:可插拔物理布局与内置优化
- 级联压缩:支持嵌套编码方案
- 高性能计算:针对编码数据优化计算内核
- 丰富统计:支持懒加载摘要统计以优化查询
技术架构
- 逻辑层:定义数据类型与 schema
- 物理层:处理编码与存储实现
- 内置编码:兼容 Apache Arrow 内存格式
- 扩展编码:优化压缩方案(如 RLE、字典编码等)
快速入门
安装方式
- Rust Crate:通过
vortexcrate 导出所有功能 - Python 包:支持通过 Python 包安装
- 命令行工具(vx):用于浏览文件结构
# 推荐安装预编译二进制文件 cargo binstall vortex-tui # 或从源码构建 cargo install vortex-tui --locked # 通过 Python 运行 uvx --from vortex-data vx --help # 使用示例 vx browse <file>
开发环境
- 依赖项(macOS):安装 FlatBuffers、Protobuf、DuckDB 等
- Rust 工具链:通过 rustup 或 Homebrew 安装
- 初始化子模块:
git submodule update --init --recursive - 依赖管理:使用
uv sync --all-packages
性能优化
建议使用 MiMalloc 作为全局内存分配器:
#[global_allocator]
static GLOBAL_ALLOC: MiMalloc = MiMalloc;
项目信息
- 许可:Apache License 2.0
- 治理:作为 Linux Foundation 子项目,独立开源,治理模型见 CONTRIBUTING.md
- 贡献:请先阅读 CONTRIBUTING.md
- 漏洞报告:发送至 vuln-report@vortex.dev
致谢
Vortex 借鉴了多项学术与开源研究,包括 BtrBlocks、FastLanes、FSST、ALP、Procella、ClickHouse 等,并向 Apache Arrow、DataFusion、DuckDB 等开源项目致谢。
26. Response to DHH (ma.tt)
关于撤回“回应DHH”帖子的说明
作者撤回了原帖,并对原帖中的过激言辞致歉。作者表示,尽管在一些观点上与DHH存在分歧,但真正的争议焦点并非DHH本人,而是WP Engine与Silver Lake。
针对DHH核心观点的简要回应:
- 关于标题“Automattic玷污开源”:作者认为该标题有失公允。
- 关于长期谈判:Automattic与WP Engine长达18个月以上的谈判,并非因GPL协议或其公司名称使用“WP”二字,而是源于后者对WordPress和WooCommerce商标的滥用。商标必须受到保护,Rails的商标政策即是明证。
- 关于法律信函:Automattic发出的“停止并终止”信函针对的是公开的商标滥用行为;而WP Engine的信函则意在审查并泄露私人通信内容。WP Engine后续提起的全面诉讼已牵涉整个WordPress.org社区。
- 关于插件更新:将ACF插件在WordPress.org目录中更新为“Secure Custom Fields”,目的是为用户提供目录中最佳、最安全的代码。此次更新包含一项安全修复,但ACF团队至今未合并该修复。
- 关于GPL代码使用:作者表示将合并ACF未来对其GPL代码的任何改进,并将在未来几天增加增强功能,以提供一个安全且免费的ACF替代方案。如果WP Engine不希望发生这种情况,就不应将其代码以GPL许可发布,或通过WordPress.org目录进行分发。
- 关于开源商业化:作者认为基于开源建立业务是件好事,WordPress生态系统年价值至少达100亿美元以上;Automattic和WP Engine在其中所占份额均不足5%。
27. Drawing Graphics on Apple Vision with the Metal Rendering API (github.com)
在Apple Vision上使用Metal渲染API绘制图形
本文详细介绍了在Apple Vision Pro上使用Metal渲染API构建自定义渲染引擎的技术要点,涵盖了从初始配置到最终渲染的完整流程。
核心组件:Metal与Compositor Services
- Metal是Apple的低开销图形与计算API,提供对GPU的直接控制和丰富的调试工具。
- Compositor Services是visionOS专属API,作为SwiftUI与Metal渲染引擎的桥梁,负责创建和管理
LayerRenderer对象,用于向Apple Vision的左右眼显示器提交渲染命令。
LayerRenderer配置
在创建沉浸式空间时,通过实现CompositorLayerConfiguration协议来配置LayerRenderer:
- 纹理格式:指定颜色(如
.bgra8Unorm_srgb)和深度(如.depth32Float)纹理的像素格式。 - 注视点渲染:启用
isFoveationEnabled。系统会自动根据用户视线焦点调整渲染分辨率,提升性能。开发者无法直接访问用户视线数据。 - 纹理布局:选择如何组织用于呈现内容的纹理。推荐使用
.layered(一个3D纹理,左右眼各占一层)或.shared(一个足够大的纹理),以支持顶点放大等技术并减少命令提交。.dedicated(左右眼各一个纹理)会加倍渲染命令,应避免使用。
关键技术:顶点放大
为避免为左右眼分别渲染场景(命令翻倍),可采用顶点放大技术。它允许一次绘制调用同时渲染到多个渲染目标(即左右眼显示器)。
- 准备:在创建
MTLRenderPipelineDescriptor时,设置maxVertexAmplificationCount = 2。 - 启用:在配置渲染通道(
MTLRenderPassDescriptor)时,设置renderTargetArrayLength = 2,并应用由系统提供的rasterizationRateMap以支持注视点渲染。 - 视口映射:从
LayerRenderer.Drawable查询当前帧的视口大小和视图映射,并通过渲染命令编码器设置。 - 矩阵计算:必须为左右眼分别计算视图和投影矩阵。
- 视图矩阵:结合来自ARKit的设备全局位姿与从
LayerRenderer.Drawable.View获取的眼睛局部变换矩阵,并求逆。 - 投影矩阵:根据从
LayerRenderer.Drawable.View获取的切线值和深度范围(注意:使用反向Z投影),使用ProjectiveTransform3D构建。
- 视图矩阵:结合来自ARKit的设备全局位姿与从
- 着色器适配:
- 顶点着色器:接收
amplification_id,用于索引对应的视图/投影矩阵对来变换顶点。 - 片段着色器:同样可使用
amplification_id获取对应矩阵,用于依赖视角的效果(如光照)。
- 顶点着色器:接收
渲染循环与帧提交
推荐在独立线程上执行渲染循环,主线程继续处理输入。
- 获取帧与预测时间:通过
layerRenderer.queryNextFrame()和frame.predictTiming()获取当前帧对象和最佳渲染时间。 - 更新阶段:调用
frame.startUpdate()后,执行所有与设备锚点无关的应用逻辑(如物理、动画)。 - 等待:使用
LayerRenderer.Clock().wait(until: timing.optimalInputTime)阻塞线程,直到最佳提交时间。 - 提交阶段:
- 调用
frame.startSubmission()。 - 查询最新的设备锚点(来自
WorldTrackingProvider)。 - 提交所有依赖于设备锚点的渲染和计算命令到GPU。
- 调用
frame.endSubmission()完成提交。
- 调用
支持立体与非VR显示
为同时支持Apple Vision(立体)和其他平台(平面)渲染,可采用以下策略:
- 渲染路径:使用条件编译(
#if os(visionOS))区分LayerRenderer.Drawable(立体)和MTKView(平面)的渲染路径。 - 着色器适配:利用Metal函数常数,在一个着色器二进制文件中根据
isAmplifiedRendering标志启用顶点放大逻辑。非放大路径使用单个相机矩阵。
注意事项
- 注视点渲染限制:启用注视点渲染时,无法渲染到比设备显示器分辨率更低的像素缓冲区,因此无法使用如MetalFX之类的降分辨率+升采样技术。
- 后处理:Compositor Services提供的纹理不允许计算着色器写入。必须使用全屏四边形和片段着色器实现后处理效果。
- 相机位置:左右眼视图矩阵的平移分量略有不同。实际开发中可取其平均值作为统一的相机世界位置,但在Xcode模拟器中需使用左眼位置。
- 模拟器与录制:Xcode模拟器仅渲染左眼且不支持MSAA。使用Reality Composer Pro的开发者捕获功能录制视频时,
.layered布局可能导致右眼纹理显示异常。
28. Splitting engineering teams into defense and offense (www.greptile.com)
本文介绍了作者所在初创公司Greptile如何通过将工程团队分为“防御型”和“进攻型”两个角色来应对小团队支撑快速增长产品的挑战。
核心问题:小型工程团队(4人)在客户支持、紧急修复等“事件驱动型”工作与长期开发任务之间难以平衡,导致开发效率低下。
解决方案:将团队一分为二。
- 进攻型工程师(2人):专注于2-4周的长期、复杂的开发任务(如重构、重大功能开发),期间完全不受支持工作干扰。
- 防御型工程师(2人):全力处理所有事件驱动型工作(支持票、bug修复、小需求),为进攻型工程师创造无干扰的工作环境。之后双方角色轮换。
核心理念:
- 保护“心流”:最小化干扰能显著提升开发者的产出和专注度。即使是少量中断也会大幅降低工作效率。
- 明确分工:“防御型工程”对应产品维护与客户留存;“进攻型工程”对应产品扩展与客户获取。两者在资源分配上存在矛盾,需主动划分责任。
背景与备注:此方法源于小团队在资源有限、产品快速迭代、竞争激烈环境下的特定实践,并非普适性管理建议。作者自述团队存在产品瑕疵多、招聘困难等问题,此结构是当前情境下保障产出的有效手段。
29. The Physics of Magic Windows (2021) (mattferraro.dev)
《魔法窗口的物理学》摘要
本文介绍了一种通过精密控制亚克力板表面形状,利用光焦散效应使透明物体在光照下投射出预设图像甚至3D全息图的技术。核心原理是:光线通过折射率不同的介质时会发生折射,通过在亚克力表面制造微小的凹凸起伏,可以引导光线汇聚或发散,从而在远处平面上形成明暗图案,即焦散图像。
主要技术步骤
问题建模:将目标图像离散化为像素网格,每个像素对应亚克力表面的一个区域。目标是找到一个高度图 ( h(x, y) ),使得其产生的焦散图像亮度分布 ( b(u, v) ) 与目标图像一致。
网格变形:
- 核心思路是让亚克力表面网格中每个单元格的面积,与目标图像中对应像素的亮度成正比(即亮度高的区域,对应表面面积更大)。
- 通过迭代优化一个损失函数来实现网格变形,该函数衡量当前网格单元面积与目标亮度比例之间的差异。
- 关键创新在于借鉴计算流体力学中的概念,引入速度势 (\Phi) 将问题转化为求解泊松方程 (\nabla^2 \Phi = L)(其中 (L) 是损失场),从而得到一个平滑、可控的向量场来指导网格点移动,最终实现网格的连续变形。
确定表面法线:
- 对于变形后网格上的每个点,根据其位置 ((x, y)) 和它需要将光线导向的目标点 ((u, v)),利用斯涅尔定律(折射定律)计算该点所需的表面法线向量 (\vec{N})。
- 法线向量的计算公式为: [ N_x = \tan \left( \frac{\tan^{-1}((u-x)/d)}{n_1 - n_2} \right), \quad N_y = \tan \left( \frac{\tan^{-1}((v-y)/d)}{n_1 - n_2} \right) ] 其中 (n_1)(亚克力)和 (n_2)(空气)是折射率,(d) 是物体到成像平面的距离。
求解高度图:
- 已知表面法线的水平分量 (\vec{N}{xy} = (N_x, N_y)),而法线与高度图的关系为 (\vec{N}{xy} = \nabla h)。
- 对该式两边取散度,再次得到一个泊松方程 (\nabla^2 h = \nabla \cdot \vec{N}_{xy})。
- 求解此方程即可得到连续的表面高度图 (h(x, y))。通常需要迭代2-3次以修正因表面起伏导致的光程变化。
制造与实现
- 生成的高度图数据可用于CNC铣床加工亚克力板。先进行粗加工,再精加工以获得光滑表面。
- 加工后表面粗糙,需经过从200目到1500目的湿砂纸打磨,最后使用汽车抛光剂抛光,才能获得高透明度和光学质量。
总结
该技术本质上是通过精密的光学逆设计和计算几何方法,将平面图像编码到透明材料的微观表面结构中。作者提供了相关代码(Julia语言,采用MIT许可),并指出其数学原理主要基于2014年Yue等人的论文《Poisson-Based Continuous Surface Generation for Goal-Based Caustics》。文章末尾暗示,同样的原理可能可以解释为何该物体在阳光下会产生全息效果,但未详述。
30. Project Euler (projecteuler.net)
31. Furilabs Linux Phone (furilabs.com)
关于 Furilabs Linux Phone 的内容显示,当前页面正专注于一个商店(Shop)部分,但产品信息仍在加载中(Loading products...)。这表明该页面可能与该Linux手机的产品销售或相关商品展示有关,具体的产品详情、规格或购买选项尚未完成加载。
32. Play 3.0 mini – A lightweight, reliable, cost-efficient Multilingual TTS model (play.ht)
33. Tesla Optimus Bots Were Remotely Operated at Cybercab Event (www.bloomberg.com)
34. In Jordan, a ‘stunning’ discovery under Petra’s ancient stone (www.nytimes.com)
35. The Retreat to Muskworld (niedermeyer.io)
36. Hacker Typer (hackertyper.net)
Hacker Typer 概述
Hacker Typer 是一个创建于 2011 年的在线工具,旨在让用户通过简单打字模拟电影和流行文化中黑客的形象。它已为全球数百万用户带来乐趣,让人们通过键盘输入和后台编程逻辑体验成为“黑客”的感觉。
主要功能与使用方式
- 基本操作:在页面上开始打字,即可立即生成模拟的黑客代码。
- 增强体验:按下 Shift、Alt(Mac 上为 Option)键三次可增强视觉效果。
- 全屏模式:支持浏览器全屏使用以获得沉浸式体验。
- 界面控制:
- 按 Esc 可关闭任何弹出对话框。
- 点击右下角的“x”可隐藏菜单栏,刷新页面可恢复。
- 通过 Settings 菜单可修改配置选项。
项目使用与联系信息
- 作者鼓励用户在任何项目、视频或图像中使用 Hacker Typer,并欢迎分享创意成果。
- 可通过电子邮件
hackertyper@duiker101.net联系开发者。 - 更多信息可访问开发者网站:
duiker101.net。
免责声明
开发者明确声明不会协助进行任何非法入侵行为,因此请勿提出相关请求。
37. LLMs can't perform "genuine logical reasoning," Apple researchers suggest (arstechnica.com)
苹果研究报告:大语言模型无法进行“真正的逻辑推理”
研究背景与目的
苹果公司六名工程师发表了一篇预印本论文《GSM-Symbolic:理解大语言模型数学推理的局限性》。研究旨在评估以OpenAI和Google为代表的公司在最新AI模型中宣称的高级“推理”能力是否可靠。研究发现,先进的大语言模型在面对看似微不足道的变化时,其数学“推理”表现会变得极其脆弱和不可靠。
研究方法
研究人员以广泛使用的基准测试集GSM8K(包含8000多道小学水平的数学应用题)为基础,创建了名为GSM-Symbolic的新评估集。他们动态替换原始题目中的特定名称和数字,生成新问题(例如,将“Sophie”改为“Bill”,“31”改为“19”)。这种方法旨在:
- 避免数据污染:避免测试题直接出现在模型的训练数据中。
- 保持难度不变:替换不影响解决题目所需的内在数学推理步骤。
此外,研究人员还创建了GSM-NoOp基准集,在问题中添加了“看似相关但最终无关紧要”的陈述(例如,在一道关于采摘猕猴桃的题目中加入“其中有五颗比平均尺寸稍小”)。
主要研究发现
对微小改动的脆弱性:
- 在GSM-Symbolic上,20多个前沿LLM的平均准确率均有所下降,下降幅度从0.3%到9.2%不等。
- 同一模型在50次不同名称和数值的运行中表现出高达15%的准确率波动。
- 研究人员认为,这种差异表明模型并非进行“形式化”推理,而是在进行“分布内模式匹配”,试图将给定的问题和解题步骤与训练数据中见过的相似案例对齐。
对无关信息的“灾难性”失败:
- 在GSM-NoOp测试中(添加无关信息),模型的性能出现了灾难性下降,准确率下降幅度从17.5%到高达65.7%。
- 例如,在猕猴桃问题中,多数模型会尝试从总数中减去较小的果实,研究人员推测这是因为训练数据中包含了需要类似减法操作的例子。这揭示了模型在“不理解语义的情况下将语句转换为操作”的关键缺陷。
结论与假设:
- 基于结果,研究人员提出假设:“当前的大语言模型无法进行真正的逻辑推理。相反,它们试图复制在其训练数据中观察到的推理步骤。”
- 研究表明,这种推理的模仿在遇到与训练数据不完全匹配的意外情况时非常脆弱,凸显了在没有底层逻辑或世界模型支持下进行高级推理的内在局限性。
行业背景与专家观点
- 这项新研究并非独树一帜,其他近期论文也表明LLM并非执行形式化推理,而是通过概率模式匹配来模仿推理。
- 文章提到,业界可能正在创造一种**“理解的幻象”**:当模型足够庞大,能吸收海量信息并以新颖方式组合概念时,会给人一种它真正理解世界的错觉。
- AI专家Gary Marcus在分析中指出,AI能力的下一次重大飞跃,需要神经网络能够整合真正的**“符号操作”**,即以抽象变量和运算来表征知识(如代数和传统计算机编程所示)。在此之前,我们将继续看到这种脆弱的“推理”模式。
38. Show HN: FTWA – Turn any website into an app (ftwa.mathix.dev)
FTWA 是一种工具,可以将任何网站转化为本地应用,具有以下主要特点:
- 快速打开应用:通过 Spotlight、Rofi、开始菜单等系统工具快速访问应用,如同原生应用。
- 节省资源:轻量高效,利用用户已打开的浏览器,避免额外资源消耗。
- 几乎不占磁盘空间:仅占用几 KB 磁盘空间,本质是链接快捷方式。
- 速度快:创建、启动和使用均迅速,类似原生应用性能。
- 优于 Electron 应用:比内存占用高的 Electron 应用更轻量,浏览器标签更省资源。
- 美观用户界面:移除浏览器框架,释放网站潜力,提升视觉体验。
39. Scale Ruins Everything (coldwaters.substack.com)
40. Superstitious Users and the FreeBSD Logo (lists.freebsd.org)
41. Show HN: Gomponents, HTML components in pure Go (www.gomponents.com)
Gomponents 是一个用纯 Go 语言编写 HTML 组件的库,旨在替代复杂的模板语言,帮助开发者专注于构建应用。
核心概念与目的
Gomponents 将 HTML 组件表示为 Go 函数,这些函数返回 Node 接口,最终可渲染为 HTML 5。这使得开发者可以利用 Go 语言的特性(如类型安全、自动补全、调试、代码格式化)来构建和组合可复用的 UI 组件,无需学习额外的模板语法。
主要特性
- 组件即函数:组件用普通的 Go 函数定义,结构清晰。例如,一个导航栏(
Navbar)可以调用其它函数(如NavbarItem)来构建,实现代码复用。 - 条件渲染:提供
If函数用于根据布尔条件显示组件,Iff则通过回调函数避免空指针错误。 - 数据映射:使用
Map函数可以将切片数据(如[]NavLink)轻松转换为组件列表。 - 样式管理:
Classes帮助器允许根据应用状态动态地应用或组合 CSS 类。 - 原始 HTML 支持:
Raw函数允许直接注入原始 HTML 字符串,适用于集成现有 HTML 代码或 SVG。 - 纯 Go 优势:完全利用 Go 生态,具备类型安全、编译器和编辑器支持、标准代码格式化(
gofmt)等优点。
快速开始与资源
- 安装:通过
go get maragu.dev/gomponents命令安装。 - 示例与模板:官方仓库内提供了一个结合 Gomponents 和 TailwindCSS 的示例 Web 服务器应用。社区还提供了包含 Gomponents、TailwindCSS 和 HTMX 的完整项目模板(starter kit)。
- 工具支持:社区开发了在线的 HTML 转 Gomponents 代码的转换器工具。
- 项目信息:更多详情可查看 GitHub 仓库或作者的博客文章。
42. PayloadCMS: Open-Source, Fullstack Next.js Framework (github.com)
PayloadCMS 概述
PayloadCMS 是一个开源、全栈的 Next.js 框架,同时也是首个原生集成于 Next.js 的无头CMS,能够直接安装在你现有的 /app 文件夹中,标志着无头CMS新时代的开启。
核心优势
- 框架与CMS合一:既是应用开发框架,也是无头CMS。
- 灵活部署:支持无服务器部署,可在 Vercel 上免费部署。
- 代码统一:允许将前端与后端代码置于同一个
/app目录中。 - 开源免费:避免了额外的SaaS服务注册。
- 现代化查询:可在 React Server Components 中直接查询数据库。
- 高度可扩展:管理后台和后端均可100%扩展。
- 无供应商锁定:不依赖特定服务商。
- 提升效率:构建速度快,不易遇到瓶颈。
快速开始
确保满足所有软件要求后,运行以下命令创建新项目:
pnpx create-payload-app@latest
新手建议使用网站模板 (pnpx create-payload-app@latest -t website),它展示了自定义富文本块、按需重新验证、实时预览等功能,并集成了 Tailwind CSS 的前端。
一键部署选项
- Cloudflare:通过 Workers、R2 (文件存储) 和 D1 (全球复制数据库) 一键部署。
- Vercel:集成 Next.js 前端、Neon 数据库和 Vercel Blob (媒体存储) 进行一键部署。
丰富模板
提供生产就绪、端到端的解决方案模板,可快速构建网站、电商商店、博客或作品集。
- 官方模板:网站、电商等。
- 社区模板:鼓励用户在 GitHub 仓库中添加
payload-template主题以供分享。
主要功能特性
- 完全免费开源
- Next.js 原生,运行于
/app文件夹 - 服务器组件集成:可使用服务器组件扩展 Payload UI,并在其中直接查询数据库
- 全 TypeScript 支持,自动生成数据类型
- 内置认证系统
- 版本控制与草稿
- 本地化支持
- 区块式布局构建器
- 可定制的 React 管理后台
- Lexical 富文本编辑器
- 条件字段逻辑
- 极其精细的访问控制
- 强大的钩子系统:针对每个操作提供文档和字段级别的钩子
- 高性能 API
- 高安全性:采用 HTTP-only cookies、CSRF 防护等
资源与社区
- 文档:官网提供详尽的文档。
- 迁移指南:提供从 v2 迁移到 v3 的指南。
- 贡献:遵循
contributing.md指南参与贡献。 - 示例:提供丰富的示例代码,涵盖多种设置方式。
- 插件系统:高度可扩展,支持官方和社区插件。
- 社区支持:通过 GitHub Discussions、Issues 和 Discord 服务器获取帮助。
43. Big advance on simple-sounding math problem was a century in the making (www.quantamagazine.org)
百年难题重大突破:数学家通过椭圆曲线证明n²+1序列的大素因子下界
智利数学家赫克托·帕斯滕于2023年11月在为数论课程设计期末考试时,意外地解决了一个困扰数学界超过一个世纪的难题。他通过研究椭圆曲线与模形式理论,证明了序列n²+1(即2, 5, 10, 17, 26…)的最大素因子增长下界,将原有记录大幅提升。
问题背景与历史挑战
序列n²+1是研究加法与乘法交互关系的经典对象。自1898年斯托默证明该序列最大素因子趋于无穷后,数学家一直在探究其增长速度。1930年代,乔拉和马勒独立证明最大素因子至少约为log(log n),但该增长极为缓慢。2001-2003年,斯图尔特、余坤瑞和哈里斯托伊利用超越理论方法取得微小改进,但此后研究陷入停滞。
关键突破与方法创新
帕斯滕的核心创新在于将序列信息嵌入椭圆曲线的结构中。他构建了特定椭圆曲线方程y² = x³ + 3x + 2n,其判别式与n²+1直接相关。通过应用他早年发展的志村曲线与模形式理论,他成功控制了序列分解式中指数的乘积,进而结合超越理论方法,证明最大素因子至少约为(log(log n))²——这是对原有结果的平方级改进。
工作意义与潜在影响
该成果于2024年被顶级期刊《数学发明》快速接受。数学家普遍认为这是一项突破性进展:
- 方法层面:首次将现代算术几何工具深度应用于经典序列的素因子研究,为相关序列(如n²+3、n⁵+2)的推广提供了新范式。
- 理论延伸:帕斯滕将相同方法应用于abc猜想的某些特例,取得了数十年来首次实质性进展。
- 研究前景:哈佛大学马祖尔教授指出,这种新方法的创新性为研究加法与乘法交互的核心问题开辟了新路径。
研究背后的故事
帕斯滕将此突破部分归因于个人生活的低潮期。2023年父亲去世后,数学成为他与现实互动的方式。他在一个本应出考试题的清晨,通过逃避任务获得了灵感,最终实现了证明。其妻子数学家娜塔莉亚·加西亚-弗里茨验证结果后,建议他反复检验——他整个下午都在验证,定理依然成立。
这项工作不仅是具体问题的解决,更展示了代数几何与解析数论工具结合的创新潜力,为探索素数分布等根本问题提供了新视角。
44. Cargo Airships Are Happening (www.elidourado.com)
文章核心围绕货运飞艇的商业可行性转变展开,指出作者此前对市场需求与经济模型的误判经修正后,反而揭示了飞艇在跨太平洋货运市场中远超预期的巨大潜力,并介绍了由此催生的新公司Airship Industries。
主要内容总结如下:
作者先前的探索与观点:作者深入研究了飞艇行业,曾雇佣工程师分析500吨级货运飞艇。他认为飞艇具备“越大越好”的特性,应聚焦洲际货运,但认为其经济性可能仅等同于卡车运输,利润率较薄,因此对其能否以初创公司形式发展存疑。该观点曾通过文章和视频广泛传播。
关键发现与修正:工程师Jim Coutre(拥有SpaceX和Hyperloop经验)在阅读文章后进行了详细的技术经济分析。他发现作者低估了现有航空货运的实际端到端耗时。当前的航空货运并非门到门直达,涉及多方承运、仓储、清关等环节,全程通常需一周或更久。而货运飞艇实现4-5天的跨太平洋运输并完成门到门交付,实际比现有航空货运更快。
商业逻辑的根本转变:这一发现改变了经济模型。货运飞艇可以收取航空货运级别的运费(而非卡车运费),同时提供更快的服务。这意味着其单位利润率将远高于此前预期,具备极强的盈利能力。与现有的、利润微薄的波音747货机相比,货运飞艇在端到端速度、成本可控性和利润率上都具有显著优势。
公司成立与前景:基于此新认知,Jim Coutre于2023年创立了Airship Industries,团队由前SpaceX工程师组成,并成功完成大额种子轮融资(作者参与的辛迪加为最大投资者)。该公司设计的飞行器旨在主导跨洋货运市场,其优势包括:
- 缩短交货时间,提升客户体验。
- 降低货运处理成本、延迟与货损风险。
- 实现高利润率。
- 减少75%的燃料消耗和碳排放,无需可持续燃料技术突破。
结论与展望:作者认为,鉴于货运飞艇能够直接竞争高价值的航空货运市场并获得高额利润,其作为资本密集型硬件初创项目变得完全可行。作者对Airship Industries的发展感到兴奋,并预见到未来将有大量巨型飞艇投入运营,深刻改变全球物流格局。
45. Short films by Lillian F. Schwartz (1927-2024) (lillian.com)
# 网页内容概述
该网页是一个处于建设状态的公告页面。其主要目的是告知访问者,当前网站尚未完成构建,需要稍后再来访问。
## 核心信息
- **状态**:网站正在建设中("Under Construction"),即将推出("Coming Soon")。
- **用途**:这是一个临时页面,用于在网站正式上线前向用户展示。
- **其他信息**:页面底部注明,此域名已通过 **NetworkSolutions.com** 进行注册。
## 与提供标题的关联
提供的文章标题为《Short films by Lillian F. Schwartz (1927-2024)》,但网页的实际内容**并未包含任何**关于这位艺术家及其短片作品的具体信息、介绍或相关内容。网页内容仅为一个通用的网站维护公告。
46. Show HN: MynaUI Icons – 1180 Beautifully Crafted Open Source Icons (mynaui.com)
MynaUI Icons 是一个精心设计的开源图标库,提供1180个图标。它支持多种集成方式,包括React、Iconify、Figma文件、图标字体、Raycast、SVG Sprites、Figma插件,并附有文档和下载选项。
主要特性与集成方式:
- React、Iconify、Figma文件、图标字体、Raycast、SVG Sprites、Figma插件
- 提供文档和下载
对于使用 shadcn/ui 的项目,可以通过以下命令快速安装:
npx shadcn@latest add https://mynaui.com/icons/shadcn.json
该项目还提供了图标搜索功能。
47. 'Islands' of regularity discovered in the famously chaotic three-body problem (phys.org)
48. PEP 762 – REPL-acing the default REPL (peps.python.org)
PEP 762 – REPL-acing the default REPL 摘要
概述
PEP 762 描述了 Python 3.13 中新的交互式解释器(REPL)的实现。该 REPL 完全用 Python 编写,旨在替代旧的基于 C 的实现,并提供一系列现代化的功能,以改善用户体验和代码维护性。
动机
旧的 CPython 交互式 shell 使用 C 语言编写,依赖于 readline 或 editline 库。这导致其难以维护和扩展,阻碍了新功能的开发,例如多行编辑、语法高亮和自定义命令等现代用户期望的功能。用 C 语言解决这些问题复杂度高,因此社区转向使用 Python 实现新的 REPL。
核心功能(基于 PyREPL)
新 REPL 的实现基于 PyREPL 项目,主要特性包括:
- 多行历史与编辑:支持跨行的命令历史浏览和编辑,并自动处理缩进。
- 复制与粘贴:支持终端的括号粘贴模式,或通过
F3键进入专用粘贴模式,方便粘贴多行代码。 - 帮助系统:可通过
F1键快速访问 Python 内置帮助模块。 - 自定义命令:提供
exit、quit、help等命令,行为更直观。 - 颜色支持:提示符和错误信息等输出支持彩色显示,并可通过
NO_COLOR等环境变量控制。
技术优势
用 Python 实现 REPL 具有以下优势:
- 降低贡献门槛:代码更易于测试、修改和社区贡献。
- 灵活性与可扩展性:便于未来添加新功能。
- 跨平台一致性:避免了依赖特定系统库带来的兼容性问题。
向后兼容性
- 新旧 REPL 将共存,旧的基于 C 的 REPL 会保留作为后备方案。
- 用户可通过设置环境变量
PYTHON_BASIC_REPL=1来继续使用旧版 REPL。 - 旧的
readline/editline配置文件(如.inputrc)在新 REPL 中不受支持,但可在旧 REPL 中继续使用。
被拒绝的方案
提案考虑了其他方案,但均被否决:
- 扩展旧的 C 实现:过于复杂,无法根本解决问题。
- 从零开始开发:开发跨平台终端应用工作量大。
- 使用其他现有项目(如 IPython、bpython):PyREPL 因其成熟度、功能集和与 PyPy 的代码共享优势而被选中。
49. Forscape – A Language and Editor for Scientific Computation (github.com)
Forscape:科学计算语言与编辑器
Forscape 是一款专注于科学计算的语言和编辑器,旨在以低成本抽象、安全检查和直观的用户体验解决工程问题。其编辑器支持数学渲染,使矩阵、分数和符号等对象能像科学论文与笔记中一样进行编程。
核心功能与特性
语言核心
- 专注于矩阵操作,支持乘法、范数、叉积、转置等标准矩阵运算,并采用数学语法。
- 强调“聚焦问题,而非实现细节”,提供低抽象成本的编程体验。
编辑器特性
- 语法高亮中会加粗矩阵标识符。
- 支持编译时维度检查,在输入实时高亮违规内容。
- 悬停标识符时会在工具提示中显示编译时维度。
安装与使用状态
重要提示
- 项目处于早期 Alpha 阶段,可能缺乏向后兼容性,语言语法、文件编码可能变更,且可能出现崩溃。
- 欢迎提供反馈和错误报告。
安装方式
- Windows:下载安装包或通过源码编译。
- Linux:需从源码编译。
开发环境与技术栈
必需依赖
- Qt 5/6 及 QtSvg 模块
- Python 3
- Conan(需安装 Qt 插件)
- 可选:GraphViz(用于调试 AST)
外部库(无需配置)
- Eigen(线性代数)
- parallel-hashmap(高性能哈希表与 B 树)
- readerwriterqueue(无锁单生产者/单消费者队列)
- spdlog(日志库)
- 包含 Computer Modern、JuliaMono、Quivira 等支持 Unicode 的字体。
开源与协作
许可证
- 核心采用 MIT 许可证。
- 商业模块发布后短期销售,之后将并入开源核心,以实现财务可持续性。
参与贡献
- 项目鼓励对语言设计感兴趣、能接受原型与生产代码间模糊性的开发者参与。
- 开发通过 Jira 跟踪进度,使用 GitHub 自动化测试,需通过测试才能合并代码。
- 目前无官方交流渠道,可直接联系维护者。暂无用户或设计文档,推荐参考《Crafting Interpreters》作为编程语言入门。
50. Emit (re.factorcode.org)
文章介绍了在连接式语言Factor中实现EMIT语法的过程,以支持对局部变量操作的逻辑块进行更灵活的提取和重用。
核心问题
在Factor中,逻辑块可直接操作栈值,易于提取和重用。但当转换为使用局部变量时,若要提取逻辑块并封装为独立单词(如calc-c和calc-d),调用时必须先将变量放回栈中,导致代码冗余(例如重复a b)。
解决方案
提出假设语法EMIT:,允许定义直接嵌套在局部变量作用域中操作的逻辑块,无需手动管理栈。例如:
EMIT: calc-c ( a b -- c ) a b sqrt * ;
EMIT: calc-d ( a b -- d ) a sqrt b + ;
:: do-things ( a b -- c d )
calc-c calc-d ;
实现步骤
- 定义惰性变量元组:
TUPLE: lazy token ;用于存储延迟绑定的变量引用。 - 生成临时语法词:通过
define-temp-syntax为每个命名变量创建语法转换词,将其转换为惰性变量。 - 替换惰性变量:
replace-lazy-vars函数遍历表达式,将惰性变量替换为当前词汇表中的实际符号。 - 定义EMIT语法词:解析输入,创建惰性变量上下文,最终生成可替换变量的语法扩展。
验证与结果
测试表明语法有效:调用1 2 do-things后栈输出为1.414...和3.0,符合预期。该功能已添加到locals.lazy词汇表中。
总结
通过惰性变量绑定和语法变换,Factor实现了在局部变量作用域中无缝提取和重用逻辑块的能力,提升了代码的简洁性和表达力,同时遵循了DRY(不重复自己)原则。