2025-11-12

45 篇热帖

Show HN: I built a synth for my daughter

为女儿定制的便携式合成器:项目总结

TL;DR: 作者为女儿三岁生日制作了一个便携式音阶合成器,它有四个滑块控制四个循环序列中的音符。向上滑动音高升高,向下滑动音高降低。

项目概述:

作者为了女儿的兴趣,设计并制作了一个儿童友好的、具有触感的音乐玩具——便携式音阶合成器。该合成器集成了合成模块和扬声器,并提供音调、音量、音阶、音高和乐器等控制选项。它还配备了 OLED 屏幕,提供视觉反馈,并显示一个可爱的跳舞熊猫。项目使用了定制 PCB 和 3D 打印外壳。

项目背景:

受到女儿对蒙台梭利活动板的兴趣启发,作者希望创造一个类似合成器控制面板的、简单、触觉和富有创意的音乐玩具,无需持续按住按钮即可保持声音播放。

开发过程:

  1. 原型阶段:

    • 从 Arduino Inventors Kit 开始,目标是构建一个基本的 MIDI 控制器,通过电位器读取数值,映射到 12 个音符,并输出 MIDI 消息。
    • 使用 Arduino MIDI 库读取电位器输入,并使用 Python 脚本将 MIDI 消息转发到 Mac 的 MIDI 设备,通过 Logic Pro 进行软件乐器播放。
    • 引入了 M5Stack SAM2695 合成器模块,简化了音频合成过程,并使用 Elegoo Nano 作为微控制器。
    • 添加了 OLED 屏幕,使用 u8g2 图形库进行视觉反馈和动画显示(跳舞熊猫)。
    • 利用 Wokwi 微控制器模拟器进行虚拟电路测试和代码调试。
  2. 外壳设计:

    • 由于找不到合适的现成外壳,作者学习 CAD 并使用朋友的 Bambu Labs A1 Mini 3D 打印机制作外壳。
    • 使用 Fusion 360 进行 CAD 设计,推荐 Product Design Online 的教程和 wermy 的视频。
  3. 电路板设计与组装:

    • 最初使用焊接面包板进行电路连接,但由于连接脆弱,容易损坏。
    • 设计了定制 PCB,使用 JLCPCB 代工制造,成本为 £35.41。
    • 使用 Adafruit Miniboost 稳压电源,解决电池电压不足的问题。

关键技术:

  • Arduino: 作为微控制器,负责处理用户输入和控制合成器。
  • MIDI: 用于将控制信号传递给软件乐器或合成器。
  • SAM2695 合成器模块: 提供音频合成功能。
  • OLED 屏幕: 提供视觉反馈和动画效果。
  • u8g2 图形库: 用于在 OLED 屏幕上显示图形。
  • Fusion 360: 用于 CAD 设计和 PCB 设计。
  • 3D 打印: 用于制作外壳。
  • JLCPCB: 用于 PCB 代工制造。

未来展望:

  • 优化 OLED 屏幕刷新率,减少延迟。
  • 升级到 ESP32 微控制器,简化固件并扩展显示功能。
  • 考虑将项目发展成产品,但需解决安全认证和生产制造等问题。
  • 开放源代码,或通过 Kickstarter 众筹进行小批量生产。
  • 欢迎有硬件产品开发经验的人士提供建议。
Yt-dlp: External JavaScript runtime now required for full YouTube support

yt-dlp 2025.11.12 发布:YouTube 下载需外部 JavaScript 运行时

yt-dlp 项目发布了 2025.11.12 版本,标志着对 YouTube 下载引入了对外部 JavaScript 运行时的强制要求。此更改是之前 #14404 预告的后续。

主要变更:

  • 外部 JavaScript 运行时支持: 为了继续支持 YouTube 下载,yt-dlp 现在需要一个外部 JavaScript 运行时环境。
  • 强烈建议安装: 强烈建议所有使用 yt-dlp 下载 YouTube 内容的用户安装以下任一支持的运行时环境。
  • 支持的运行时环境 (推荐顺序):
    1. Deno (推荐): 适用于大多数用户。最低版本:2.0.0,建议使用最新版本。 链接:https://deno.com/, https://github.com/denoland/deno
    2. Node: 最低版本:20.0.0,强烈建议使用最新版本(25+)以确保安全性。 链接:https://nodejs.org/
    3. QuickJS: 最低版本:2023-12-9,强烈建议使用版本 2025-4-26 或更高版本以获得最佳性能。 链接:https://bellard.org/quickjs/
    4. QuickJS-ng: 虽然支持所有版本,但推荐使用基础的 QuickJS 以获得更好的性能。 链接:https://quickjs-ng.github.io/quickjs/
    5. Bun: 最低版本:1.0.31,建议使用最新版本。 链接:https://bun.com/
  • 默认启用/禁用: 仅 Deno 默认启用,其他运行时默认禁用,出于安全考虑。 更多详情请参考 EJS Wiki
  • yt-dlp-ejs 组件: 除了 JavaScript 运行时,还需要 yt-dlp-ejs 组件。 该组件已包含在所有官方 yt-dlp 可执行文件中,如果使用 yt-dlp[default] 安装了 Python 包,也已包含。其他安装方式请参考 EJS Wiki 的第 2 步。

YouTube 支持状态:

  • 弃用旧方法: 不使用 JavaScript 运行时下载 YouTube 内容已视为“弃用”。虽然仍然可以有限地工作,但可用格式将受到限制,尤其是在登录用户的情况下。 随着时间的推移,情况将进一步恶化,且无法修复。
  • 未来趋势: 最终,没有 JavaScript 运行时将无法下载 YouTube 内容。

给包维护者的提示:

  • yt-dlp-ejs 代码使用 ISC 和 MIT 协议授权,需要单独打包。
  • 如果将 yt-dlp 作为 Python 包打包,建议将 yt-dlp-ejs 单独打包。
  • yt-dlp-ejsyt-dlp 的可选依赖项,但 YouTube 支持已弃用。
  • 每个 yt-dlp 版本都会固定到特定的 yt-dlp-ejs 版本。
  • 如果将 yt-dlp 打包为 zipimport 二进制文件,可以使用 make yt-dlp-extra 构建包含 yt-dlp-ejs 的 zip 可执行文件。

参考资料:

FFmpeg to Google: Fund us or stop sending bugs

The New Stack Newsletter Subscription and FFmpeg Security Controversy Summary (中文)

以下是对 The New Stack 网站内容和相关新闻的总结:

一、The New Stack Newsletter 订阅

The New Stack 邀请软件工程领域的领导者和开发者加入他们的社区,并提供每日新闻和独家内容订阅服务。订阅流程包括:

  • 邮件地址填写: 必填。
  • 重新订阅: 如果之前已取消订阅,需要点击链接重新订阅。
  • 个人信息填写: 需要填写姓名、公司名称、国家、邮编等信息,以及工作级别、职位、组织规模、组织类型、主要行业等,以便提供更相关的资讯。
  • JavaScript 工具使用调查: 调查开发者最常用的非 React 工具,选项包括 Angular, Astro, Svelte, Vue.js, 其他,以及只使用 React 或不使用 JavaScript。
  • 确认邮件: 订阅完成后,需要检查邮箱确认邮件,并根据需要调整偏好设置。
  • 社交媒体关注: 鼓励关注 The New Stack 的 LinkedIn 账号。

二、FFmpeg 安全漏洞争议

文章主要讲述了围绕 FFmpeg 项目安全漏洞报告和修复的争议,涉及 Dan Lorenc (Chainguard CEO)、Google 和安全研究人员。

  • FFmpeg 的重要性: FFmpeg 是一个广泛使用的开源多媒体框架,被 VLC、Kodi、Plex、Google Chrome、Firefox 和 YouTube 等众多平台和软件所依赖。
  • 志愿者维护的困境: FFmpeg 项目主要由志愿者维护,资金严重不足,这使得处理日益增多的安全漏洞报告变得困难。
  • AI 发现的罕见漏洞: Google 的 AI 代理发现了一个罕见的 FFmpeg 漏洞(与 1995 年游戏 Rebel Assault 2 的编码器相关),引发了讨论。
  • Google 的漏洞披露政策: Google Project Zero 宣布了一项新的漏洞披露政策,规定在发现漏洞后一周内公开报告,无论是否已修复。这给志愿者维护者带来了压力。
  • 核心争议: 核心问题在于,依赖 FFmpeg 的大型科技公司(如 Google)是否应该承担更多的责任,例如提供补丁或直接支持 FFmpeg 项目的维护,而不是将漏洞修复的负担转嫁给无偿的志愿者。
  • 不同观点: 虽然一些开发者认为 Google 提供了帮助,但 FFmpeg 团队认为 Google 应该提供更多支持,尤其是在 AI 发现大量漏洞的情况下。
  • libxml2 的维护者退出: 另一个开源项目 libxml2 的维护者也因处理安全问题负担过重而宣布退出维护,进一步凸显了开源项目维护者面临的困境。
  • 呼吁支持: 文章呼吁大型科技公司对关键的开源项目提供更多支持,以避免安全漏洞和项目维护的中断。

总结:

The New Stack 社区旨在为软件工程领域提供资讯和资源。同时,文章也揭示了开源项目维护面临的挑战,以及大型科技公司在支持开源项目中的责任与义务。 围绕 FFmpeg 项目的争议反映了开源世界中资金不足、志愿者维护压力大等问题,以及大型科技公司在利用开源技术的同时,如何承担相应的责任。

Pakistani newspaper mistakenly prints AI prompt with the article

总结:X.com 隐私扩展问题提示

该提示信息表明在使用 X.com (前 Twitter) 时可能遇到了问题。

主要内容:

  • 问题描述: 用户在使用 X.com 时遇到了问题。
  • 可能原因: 某些隐私相关的浏览器扩展程序可能导致问题。
  • 解决方案: 建议用户禁用这些隐私扩展程序,然后重试。

核心信息:

提示用户,如果在使用 X.com 遇到问题,可能是由于安装了某些隐私扩展程序引起的,建议禁用这些扩展程序以解决问题。


中文总结:

在使用 X.com (前 Twitter) 时,如果遇到问题,可能是因为安装了某些隐私扩展程序。建议禁用这些扩展程序,然后再次尝试。

Yann LeCun to depart Meta and launch AI startup focused on 'world models'

Meta AI 科学家 LeCun 将离开公司,创办 AI 初创公司:总结

以下是对文章内容的总结:

核心事件: Meta (META) 的首席人工智能科学家 Yann LeCun 计划辞职,创办一家专注于 "世界模型" (world models) 的 AI 初创公司。

LeCun 的新公司:

  • 研究方向: LeCun 的新公司将致力于开发 "世界模型",这是一种下一代 AI 系统,旨在从视觉和空间数据中学习,而非文本。
  • 目标: 这些模型旨在模仿人类的推理和对物理世界的理解,LeCun 预计该项目需要十年时间才能成熟。
  • 与 LLM 的区别: LeCun 认为大型语言模型 (LLMs) 虽然有用,但在推理和计划方面存在根本限制,而 "世界模型" 可以实现更接近人类思考的机器。

Meta 的战略调整:

  • 战略转变: Meta CEO Mark Zuckerberg 正加大对 "超级智能" (superintelligence) 领域的投入,以与 OpenAI 和 Google 竞争。
  • FAIR 的调整: Zuckerberg 将 LeCun 创立的 Fundamental AI Research Lab (FAIR) 从长期研究转向商业 AI 产品和大型语言模型 (LLMs)。这是在 Meta 的 Llama 4 模型表现不佳后做出的调整。
  • 人才引进: Zuckerberg 聘请了 Scale AI 的创始人 Alexandr Wang,以 143 亿美元收购其公司 49% 的股份,并任命 Wang 领导新的超级智能部门。 同时,他还成立了 TBD Lab,提供高薪酬以吸引竞争对手中的顶尖 AI 人才。
  • 其他人事变动: Joelle Pineau (AI 研究副总裁) 已加入 Cohere,Meta 同时裁减了 AI 部门的 600 名员工,并聘请了 ChatGPT 的联合创作者 Shengjia Zhao 作为超级智能实验室的首席科学家。

背景信息:

  • 投资者压力: Meta 的股价在 10 月底下跌了 12.6%,市场价值蒸发近 2400 亿美元,部分原因是 Zuckerberg 透露 AI 支出可能会超过 1000 亿美元。
  • LeCun 的贡献: LeCun 是一位图灵奖得主,是现代 AI 的先驱。

总结: LeCun 的离开标志着 Meta AI 计划的哲学和结构性分歧,同时也预示着在通往通用人工智能 (AGI) 领域的竞争中出现了一个潜在的新竞争者。

股价信息: Tuesday META 收盘价为 627.08 美元,下跌 0.74%,盘后交易价格为 627.00 美元,下跌 0.01% (NasdaqGS)。

Collaboration sucks

总结:过度协作如何扼杀公司发展 (总结 PostHog 文章)

这篇 PostHog 博客文章探讨了过度协作对公司发展速度和效率的负面影响,并提出了减少协作的策略。文章的核心观点是,虽然协作有其价值,但过度的、不必要的协作反而会拖慢进度,降低团队士气和工作效率。

核心论点:

  • “独自快速,共同远行” 的误解: 文章指出,这句格言在创业公司中经常被误解,导致过度协作。 频繁的沟通和反馈,实际上会减缓“司机”(即负责执行任务的个人)的速度。
  • 过度协作的表现: 文章列举了过度协作的常见表现,例如:
    • 频繁询问他人意见 ("Curious what X thinks?", "Would love to hear Y’s take on this")
    • 不明确地寻求反馈,导致不必要的讨论
    • 将讨论从 Pull Request 转移到 Issues, Slack,最终变成漫无目的的讨论
    • 默认选择“讨论”而非直接执行
  • 协作的根源: 文章分析了导致过度协作的原因,包括:
    • 希望帮助他人
    • 避免不包容的反馈方式
    • 缺乏明确的责任人
    • 难以独自完成某些任务
  • PostHog 的价值观: PostHog 强调“你是司机”的价值观,鼓励员工独立承担责任,自主决策,并减少不必要的协调。

解决方案:

文章提出了减少过度协作的策略:

  • 默认情况下优先发货: 鼓励使用 Pull Requests,减少 Slack 讨论。
  • 积极消除不必要的协作: 当发现过度协作时,直接指出并建议由“司机”自行决定。
  • 明确反馈需求: 明确告知需要反馈的内容和对象,避免泛泛而谈。
  • 在发货后提供反馈: 尽量在代码或功能发布后再进行反馈,避免将反馈变成准审批流程。
  • 领导者应该放手: 领导者应该给予团队成员更大的自主权,避免过度干预。
  • 明确“知情船长”的角色: 即使接受反馈,最终决策权仍应由负责执行的人员掌握。

总结:

文章强调,减少不必要的协作,并鼓励员工独立承担责任,是提高公司效率和加速发展的重要因素。 积极主动地减少协作,可以帮助公司更快地实现目标。

最后,文章还列出了 PostHog 的招聘信息,包括:

  • AI Product Engineer
  • Backend Engineer (Feature Flags & Ingestion)
  • Influencer Wrangler
  • YC Technical Onboarding Specialist
  • ClickHouse Operations Engineer

以及一些外部链接的博客文章和视频。

Firefox expands fingerprint protections

Firefox 145 隐私保护升级总结 (Firefox 145 Privacy Upgrade Summary)

以下是对 Mozilla 博客文章的总结,重点介绍了 Firefox 145 带来的隐私升级:

核心问题:指纹追踪 (Browser Fingerprinting)

  • 指纹追踪是一种隐蔽的追踪技术,网站通过收集浏览器设置的细微信息(例如时区、操作系统、字体等)来创建独特的“指纹”,从而追踪用户,即使在禁用 Cookie 或使用私密浏览模式时依然有效。这种追踪可以持续数月。

Firefox 的应对措施 (Firefox's Response)

  • Firefox 一直致力于保护用户隐私。自 2020 年起,其内置的增强追踪保护 (Enhanced Tracking Protection, ETP) 已经能够阻止已知的追踪器。
  • Firefox 持续改进其反指纹追踪保护,从 2021 年开始逐步增强。
  • Firefox 145 标志着反指纹追踪防御的第二阶段完成,将指纹追踪器能够追踪到的 Firefox 用户比例减少了一半

技术细节 (Technical Details)

  • 多层防御 (Layered Defenses): Firefox 采用多层防御机制,基于其现有的隐私功能。
  • 信息限制 (Information Limitation): Firefox 限制网站获取的信息,从而缩小用户的指纹。 例如,在允许网站获取硬件信息以优化游戏体验的同时,也阻止追踪器滥用这些信息进行追踪。
  • 具体保护措施 (Specific Protections):
    • 阻止已知追踪和指纹脚本。
    • 保护字体信息。
    • 限制网站获取硬件细节,例如处理器核心数、触摸屏支持的指数量、以及任务栏/Dock 的尺寸。
  • 初始部署 (Initial Deployment): 新的指纹追踪保护措施最初在私密浏览模式和 ETP 严格模式下启用,Mozilla 计划之后默认启用。

平衡与可用性 (Balance and Usability)

  • Firefox 的保护措施旨在在保护隐私和保持网站可用性之间取得平衡。 过度激进的指纹追踪阻止可能会破坏网站的正常功能,例如日历、日程安排和会议工具需要实时时区信息。
  • 用户可以了解问题发生的原因,并针对特定网站单独禁用保护措施,始终掌握控制权。

未来展望 (Future Outlook)

  • Mozilla 致力于持续改进 Firefox 的隐私保护功能,让用户能够按照自己的意愿享受网络服务。
  • 建议用户升级到最新版本的 Firefox 以获得最佳的隐私保护效果。

总而言之,Firefox 145 的升级显著提升了反指纹追踪的能力,为用户提供了更强大的隐私保护,同时努力保持网络可用性和用户控制权。

Fighting the New York Times' invasion of user privacy

OpenAI 回应《纽约时报》的数据请求:保护用户隐私的声明

OpenAI 发布声明,回应《纽约时报》(NYT)要求其提供 2000 万条 ChatGPT 私有对话的请求,并强调公司致力于保护用户隐私。以下是主要内容:

事件背景:

  • 《纽约时报》正在起诉 OpenAI,并要求法院强制 OpenAI 交出 2000 万条用户对话,以寻找用户可能绕过其付费墙的证据。
  • 这并非首次 NYT 提出类似请求,此前曾试图限制用户删除聊天记录,并要求提供 14 亿条对话。OpenAI 都进行了反击。
  • OpenAI 认为 NYT 的要求侵犯了用户隐私,且与诉讼解决无关。

OpenAI 的立场:

  • OpenAI 尊重独立新闻业,并与多家媒体合作,但认为 NYT 的要求不符合新闻业维护隐私的传统。
  • OpenAI 正在积极寻求法律途径,阻止 NYT 获取这些对话,并承诺持续探索保护用户隐私的所有选项。
  • OpenAI 强调,用户对话属于用户,不应成为内容访问争议的附带品。

数据安全与隐私保护措施:

  • OpenAI 正在加速其安全和隐私路线图,投资大量资源构建防御系统,以防止未经授权的数据访问。
  • 长期计划包括为 ChatGPT 消息引入客户端加密,确保对话的私密性和不可访问性,即使是 OpenAI 本身也无法访问。
  • OpenAI 将建立自动化系统来检测安全问题,只有在存在严重滥用和关键风险(例如威胁生命、计划伤害他人或网络安全威胁)时,才会升级到小规模、经过严格审查的人工审核团队。

数据处理流程:

  • 受法院命令影响的数据(2000 万条对话,时间范围为 2022 年 12 月至 2024 年 11 月)将被进行“脱敏”处理,移除或删除个人身份信息 (PII) 以及其他敏感信息(例如密码)。
  • OpenAI 将推动 NYT 只能在严格的法律协议下维护的安全环境中查看这些数据。
  • 这些数据目前存储在一个安全系统中,受到法律保护,只能用于满足法律义务。
  • 只有 OpenAI 的少量法律和安全团队成员才能访问这些数据。

哪些用户受到影响?

  • 个人 ChatGPT 用户(2022 年 12 月至 2024 年 11 月的对话)
  • 不受影响的客户: ChatGPT Enterprise、ChatGPT Edu、ChatGPT Business (原“Team”) 客户以及 API 客户。

OpenAI 的承诺:

  • OpenAI 承诺保持透明,并及时向用户通报事件进展,包括任何对命令的变更或对用户数据的影响。
  • OpenAI 致力于构建一个用户可以信任的未来,确保个人 AI 对话的安全、私密和真正私密。

总而言之,OpenAI 坚决捍卫用户隐私,并正在采取积极措施保护用户数据,同时积极应对《纽约时报》的数据请求。

Learn Prolog Now

Learn Prolog Now! 课程简介 (Learn Prolog Now! Course Overview)

Learn Prolog Now! (LPN) 是一门介绍 Prolog 编程的入门课程,其目的是让初学者能够轻松入门 Prolog。

主要特点:

  • 多种形式: LPN 课程提供在线版本(自 2001 年起可用)和书籍版本(经过彻底修订)。
  • 自学友好: 课程设计力求相对独立,即使没有计算机基础知识的学习者,也能通过阅读教材和完成练习掌握 Prolog 的基础知识。
  • 实践导向: 课程强调 Prolog 的实践性。 仅仅阅读是不够的,建议学习者下载 Prolog 解释器(网站提供相关链接),并完成课程提供的实践环节。 鼓励学习者进行更多的编程练习以提高技能。
  • 部分入门: 课程旨在提供 Prolog 的部分入门,而非全面覆盖。
  • 欢迎反馈: 课程作者欢迎用户提供反馈和更正,以便在后续版本中进行改进。可以通过网站提供的联系方式进行反馈。

总结:

Learn Prolog Now! 课程旨在为初学者提供一个清晰、易懂且实践导向的 Prolog 入门学习资源。 通过阅读教材、完成练习和实际编程,学习者可以获得 Prolog 的初步了解。

.NET MAUI is coming to Linux and the browser

.NET MAUI 扩展:支持 Linux 和浏览器,由 Avalonia 提供支持

.NET MAUI 现在可以通过 Avalonia 后端扩展到 Linux 和浏览器平台。该项目旨在让开发者无需重写代码即可将现有的 MAUI 应用部署到更多平台,并提升桌面性能。

主要内容:

  • 新平台支持:

    • Linux 桌面应用: 支持 Ubuntu、Debian 和 Fedora 等 Linux 发行版。
    • 嵌入式 Linux: 兼容 Raspberry Pi 等嵌入式设备。
    • WebAssembly (浏览器): MAUI 应用可以在浏览器中运行,无需原生依赖。
    • Windows 和 macOS: 也能在现有桌面平台上运行,并据称在 macOS 上性能提升超过 2 倍。
  • Avalonia MAUI 后端: 通过替换渲染层为 Avalonia,保持 MAUI 代码库不变。

  • 开发简化: Avalonia 团队只需维护一个平台(Avalonia),减少平台特定问题的调试时间。

  • Avalonia 的动机: Avalonia 团队希望为现有的 MAUI 开发者提供更多平台和更好的性能,并从中学习,以增强 Avalonia 本身。

  • 开发者优势:

    • 解决 MAUI 开发者长期以来对 Linux 支持和一致 UI 行为的需求。
    • 提供硬件加速渲染、一致的布局和样式系统、流畅的动画以及广泛的平台覆盖。
  • 性能提升: 使用绘制的 GPU 友好型 UI 栈,未来将与 Google Flutter 的 Impeller 渲染器合作,进一步提升渲染速度、降低电池消耗并实现更流畅的动画。

  • 未来展望: 将持续分享预览版、基准测试和更新,并在后端稳定后以 MIT 许可证开源。

体验:


(中文总结)

Perkeep – Personal storage system for life

Perkeep 项目总结

Perkeep (原名 Camlistore) 是一个开源项目,旨在提供一套格式、协议和软件,用于在后 PC 时代建模、存储、搜索、共享和同步数据。它支持各种数据类型,包括文件、对象、推文和大型视频文件(高达 5TB),并可以通过手机、浏览器或 FUSE 文件系统进行访问。

核心特点:

  • 数据自主控制: Perkeep 强调用户对数据的完全控制权。
  • 开源: 项目采用开源模式,鼓励社区参与。
  • 隐私优先: 默认情况下,所有数据都具有隐私保护,对隐私问题高度重视。
  • 无单点故障 (SPOF): 避免依赖任何单一实体,包括用户自身,以确保数据的可靠性。
  • 数据持久性: 目标是确保数据在未来 80 年内仍然可用。

当前状态:

Perkeep 仍在积极开发中。 尽管可以运行并获得一定程度的实用性,但用户应预料到可能存在错误和未完成的功能。

最新版本:

最新版本是 0.12 ("Toronto"),于 2025 年 11 月 11 日发布。 用户可以通过官方网站获取下载和入门指南。

相关资源:

iPod Socks

iPod Socks 与 iPhone Pocket:苹果的另类配件

本文介绍了苹果公司曾经推出的两种非主流配件:iPod Socks 和 iPhone Pocket。

iPod Socks (2004-2012)

iPod Socks 是一套由六种不同颜色(绿色、紫色、灰色、蓝色、橙色和粉色)棉质针织袜子组成的套装,于 2004 年 11 月推出,用于保护 iPod 免受旅行中的损坏。 在同年 10 月的一次特别音乐活动上,苹果 CEO 史蒂夫·乔布斯将其戏称为“革命性的新产品”。 这套袜子最初售价 29 美元(相当于 2024 年的 48 美元),每只袜子约 5 美元(相当于 2024 年的 8 美元)。

尽管 iLounge 给其评分为 B-,并指出其双色设计和能够容纳各种尺寸的 iPod,但袜子也因阻碍屏幕和控制按钮的使用以及价格过高而受到批评。 2012 年 9 月,苹果停止销售 iPod Socks,但由于其通用尺寸和鲜艳的颜色,该产品很快成为收藏家追逐的商品,价格甚至飙升至 90 美元(相当于 2024 年的 120 美元)。

iPhone Pocket (2025)

2025 年 11 月,苹果宣布推出 iPhone Pocket,这是一种类似 iPod Socks 的产品,专为 iPhone 设计。 它的形状更像一个针织袋,可以系在手臂上或系在包上。 就像 iPod Socks 一样,iPhone Pocket 也提供多种颜色,并具有针织外观。 然而,与棉质的 iPod Socks 不同,iPhone Pocket 由 3D 打印长丝材料制成。

iPhone Pocket 的价格分为两种:短带版本 150 美元,长带版本 230 美元。短带版本有柠檬黄、橘色、紫色、粉色、 Peacock 蓝、蓝宝石蓝、肉桂色和黑色等颜色;长带版本仅有蓝宝石蓝、肉桂色和黑色三种颜色。

总而言之,iPod Socks 和 iPhone Pocket 都代表了苹果公司在配件设计上的另类尝试。 虽然它们在上市期间都受到了一定的欢迎,但最终都成为了苹果历史上的一个有趣的插曲。

What happened to Transmeta, the last big dotcom IPO

Transmeta:互联网泡沫时代最后的风采

Transmeta 于 2000 年 11 月 7 日上市,被一些分析师认为是互联网泡沫时代最后一次大型首次公开募股 (IPO)。 筹集了 2.73 亿美元的资金,直到 2004 年谷歌上市,Transmeta 的 IPO 被认为是科技 IPO 的成功案例。 虽然 Transmeta 是一家硬件公司,与当时流行的互联网公司有所不同,但其最初的计划是向互联网公司销售产品,但最终未能实现。

Transmeta 与互联网泡沫的终结

Transmeta 是一家 CPU 公司,专注于技术创新。虽然 PayPal 在 2002 年 2 月进行了 IPO,但 Transmeta 仍然被认为是互联网泡沫时代一个重要的分水岭。 2002 年 2 月, Forbes 杂志指出,在 9/11 恐怖袭击之后,IPO 的数量急剧下降,表明投资者对科技股的信心受到打击。Transmeta 的出现标志着互联网 IPO 的数量和规模都显著减少,投资者对互联网股的兴趣也开始降温。

Transmeta 的技术特点

Transmeta 的独特之处在于其 CPU 的工作原理。该公司试图通过使用转换层来生产与 x86 兼容的 CPU。 这种设计理论上可以支持多种转换层,从而使其能够模拟 PowerPC 或 ARM 等架构。AMD 采用类似的方法,将 x86 指令转换为 RISC 指令以提高效率,但 AMD 的实现是基于硬件的,而非软件。

Transmeta 推出了两款 CPU:Crusoe 和 Efficieon。Crusoe 能够达到与 Pentium III 相当的速度,但效率较低。Efficieon 与 Pentium 4 竞争,但性能相对较弱,难以与 Intel 和 AMD 的产品竞争。Transmeta 依赖 IBM、TSMC 和 Fujitsu 进行 CPU 的生产制造。

Transmeta CPU 主要应用于低功耗笔记本电脑、瘦客户端和嵌入式应用,例如 Bluecoat Web 过滤设备。

Transmeta 的命运

2003 年 6 月,Linux 内核的开发者 Linus Torvalds 辞去了 Transmeta 的工作。 2005 年,Transmeta 放弃了 CPU 销售,转而专注于知识产权许可。 2009 年 1 月,Transmeta 被 Novafora 收购,Novafora 又将专利组合出售给 Intellectual Ventures。 Novafora 在同年 8 月停止运营。如今, Intellectual Ventures 以非独占方式向其他公司许可 Transmeta 的知识产权。

Transmeta 的最终命运类似于 Netscape 和 VA Linux,而非 Red Hat。 如今,Transmeta 的硬件已经非常稀有,成为一种收藏品,但并没有引起广泛的怀旧情绪。

作者简介

本文作者 David Farquhar 是一位计算机安全专业人士、企业家和作家,自 1991 年以来一直在撰写关于计算机的文章。 他拥有 Security+ 和 CISSP 认证,并撰写关于复古计算机和游戏的文章。

Four strange places to see London's Roman Wall

伦敦城墙的四个奇特遗迹 (Four Strange Places to See London's Roman Wall)

本文介绍了在伦敦城中寻找古罗马城墙的四个不寻常地点,突出了其历史意义和隐藏的发现。

1. 伦敦塔站1号站台: 乘客在等候西行列车时,可以从站台后方看到一段罗马城墙遗迹。这段墙位于铁轨对面,由黑瓷砖围合,呈现出粗糙不规则的石块。尽管它已经历了中世纪的重建,但仍然是原始的城墙的一部分。虽然墙体本身已不明显,但站台对面立着一块银色铭牌,确认了这些石块的来源。然而,由于地铁建设,大约22米长的城墙已被拆除。

2. 莱昂纳多皇家酒店后方: 从伦敦塔站步行至莱昂纳多皇家酒店后方,可以发现一段相当长的罗马城墙遗迹,长度超过20米。这段墙体保留了中世纪重建的特征,例如拱形的射手孔和用于支撑木平台的方形孔。仔细观察,可以看到一些独特的红砖条纹,这些砖条用于加强结构。最特别的是,游客可以穿过这段墙体,通过一个中世纪的低矮拱门,或者绕过墙体的末端。

3. 维纳街咖啡馆露台: 位于维纳街的“城市墙”景点,是一个隐藏在学生公寓楼下的地下空间,展示了从挖掘现场发现的文物,包括公元70年代的硬币和1760年代的猫骨。 游客可以欣赏到多层结构的城墙遗迹,并可以坐在咖啡馆的露台上享用咖啡和餐饮,同时欣赏独特的景观。

4. 伦敦墙停车场: 在伦敦墙停车场的最远端,隐藏着一段罗马城墙遗迹。这段墙体被嵌入停车场的地基中,并用混凝土块保护,以防止车辆碰撞。最近,在一段墙体前加装了玻璃屏障,并标有“伦敦市”字样。这段墙体的存在,将古老的防御工事与现代的停车场形成鲜明对比,使其成为一个独特的历史遗迹。

You will own nothing and be (un)happy

Goodnotes 6 更新与订阅模式引发的反思 (Goodnotes 6 Update and Reflections on Subscription Models)

这篇文章记录了作者在使用Goodnotes应用程序时遇到的变化以及由此引发的对数字世界“所有权”的思考。以下是主要内容:

Goodnotes 6 的更新与变化:

  • 版本升级: 作者发现 Goodnotes 应用程序已更新至版本 6。
  • AI 集成: 版本 6 集成了 AI 功能,且作者表示这些功能无法关闭。
  • 终身许可取消: 过去提供的终身许可选项已取消。
  • 作者的困境: 作者之前购买了 Goodnotes 的“终身”版本,但现在需要订阅才能访问最新功能,这让他觉得不如当初直接购买年度订阅划算。

订阅模式的普遍化与反思:

  • 普遍趋势: 作者观察到越来越多的服务采用订阅模式,从食品外卖到啤酒订阅,几乎所有东西都开始收费订阅。
  • 免费试用陷阱: 文章指出,许多公司利用用户忘记取消免费试用的习惯来获取收益。
  • 退款困难: 退款流程通常被设计得复杂,例如隐藏退款按钮或增加额外的步骤,使得用户放弃退款。
  • 数字所有权的幻觉: 作者认为,在数字世界中,“所有权”已经成为一种幻觉,用户实际上只是租用应用程序、音乐或其他工具,直到提供商决定设置付费墙。
  • 市场导向: 市场更看重稳定的收入流,而不是公平的所有权。订阅模式鼓励公司寻找让用户持续付费的方式,而非提升产品质量。
  • 未来担忧: 作者幽默地表达了对未来公司可能采取的极端商业模式的担忧,例如“榨取灵魂来获取利润”。

总结:

文章主要表达了作者对 Goodnotes 应用程序更新以及数字世界订阅模式日益盛行的不满,并对这种模式对用户“所有权”的影响以及未来可能带来的负面后果进行了反思。作者希望通过个人经历引发人们对数字产品所有权和订阅模式的反思。

Hard drives on backorder for two years as AI data centers trigger HDD shortage

人工智能热潮下的存储短缺与QLC NAND崛起:总结

核心问题: 人工智能 (AGI) 研发的快速推进导致对数据中心的需求激增,而存储和内存的生产未能跟上步伐,引发了严重的短缺。

主要内容:

  • 硬盘短缺: 企业级硬盘的交付时间预计将延迟两年,导致企业不得不寻找替代方案。
  • QLC NAND SSD 替代: 为了规避硬盘短缺,大型云服务提供商(hyperscalers)正在转向基于 QLC NAND 的固态硬盘 (SSD),用于冷存储,以保持成本效益。
  • QLC NAND 预计超越 TLC: 预计到 2027 年初,QLC NAND 将在存储市场中超越 TLC NAND,成为主流。
  • NAND 价格上涨: 圣丹娜 (Sandisk) 已经将 NAND 价格提高了 50%,此前曾预警涨幅为 10%,反映了市场对人工智能需求的强劲上涨。
  • 内存短缺加剧: DRAM 和 NAND 制造商都在向愿意支付高价的人工智能客户出售产能。库存缓冲由原来的 2-3 个月缩短到仅有几个星期。
  • 行业巨头受益: SK 海力士等公司受益于人工智能带来的需求激增,营收和利润创下历史新高。
  • 消费者受影响: 存储和内存短缺最终将影响普通消费者,导致电子产品供应紧张,价格上涨。
  • 未来展望: Adata 董事长预测,由于人工智能数据中心的需求,情况只会进一步恶化。

总结: 人工智能的快速发展对存储和内存带来了前所未有的需求压力,导致生产瓶颈和价格上涨。QLC NAND 由于其成本优势,成为了应对这一挑战的关键方案,预计将在未来几年内占据主导地位。 然而,这种短缺也对普通消费者造成了影响,预示着未来电子产品市场可能面临进一步的供应紧张。

X5.1 solar flare, G4 geomagnetic storm watch

2025年11月11日:X5.1 耀斑,G4 磁暴预警

2025年11月11日 19:07 UTC

今天,太阳黑子区域4274爆发了自它出现以来最强烈的耀斑,也是本太阳周期内第六强烈的耀斑。 此次耀斑为X5.1 (R3-强),于今天上午10:04 UTC达到峰值。

耀斑爆发后,迅速伴随着一个强大的日冕物质抛射(CME)。日冕抛射产生的日冕波以及CME被推进到太空时观察到的日冕变暗现象都具有壮观的规模。Halo CME (@halocme) 在X上发布了相关动画,展示了这一现象。

此次CME拥有指向地球的组成部分,预计将于11月13日到达地球。由于之前已经有其他 CME 释放,因此分离出这次 CME 的内部物质 (ICME) 将会比较困难。

美国国家海洋和大气管理局 (NOAA) 空间天气预报中心 (SWPC) 已经发布了针对明天(11月12日)的G4级或更高等级的磁暴预警。 CME的速度很快,并且将穿过高太阳风速和低密度区域,这得益于之前该区域释放的两个 CME。

如果地球上太阳风和行星磁场的值有利,可能会导致磁暴,从而使极光在通常情况下不会出现的地区可见,例如北欧的法国、德国、乌克兰、瑞士和奥地利。在美国,极光可能在内华达州和阿肯色州等地区可见。

除了这次X5.1 CME之外,还有两个较小的日冕物质抛射也正朝着地球移动,预计将在未来6到18小时内到达。 这两个等离子云可能同时到达,或以近距离的间隔相继到达。

关键信息总结:

  • 耀斑: 太阳黑子区域4274爆发了X5.1级的耀斑,是本太阳周期内第六强烈的耀斑。
  • CME: 耀斑伴随着一个巨大的日冕物质抛射(CME),其速度快,并具有指向地球的组成部分。
  • 磁暴预警: NOAA SWPC 发布了针对11月12日的G4级或更高等级的磁暴预警。
  • 极光: 如果条件允许,极光可能在通常情况下不会出现的地区可见,如欧洲和美国的部分地区。
  • 其他CME: 还有两个较小的CME正在前往地球,预计将在未来6-18小时内到达。
  • 数据来源: 相关数据来自GOES-19 CCOR-1、ACE和DSCOVR。

建议关注SpaceWeatherLive应用,获取实时太阳风数据,以便及时了解空间天气状况。


相关链接:

I converted a rotary phone into a meeting handset

古董旋转电话改造为会议手柄:一个充满曲折的故事

这篇文章讲述了作者如何将一个旧的西门子旋转电话改造为会议手柄的故事。作者最初对会议感到厌烦,并希望通过这个项目来表达一种反抗。

项目概览:

作者的目标是将旧电话改造成一个同时具备键盘和声卡的设备,用于模拟挂断会议的行为,并提供音频输入和输出功能。此外,还计划让旋转拨号盘可以输入数字。

硬件改造:

  • 电话本身: 使用了旧西门子旋转电话,由于其内部空间宽敞,且电路板采用无焊接设计,方便改造。
  • 连接器: 作者设计并3D打印了一个小型连接器,用于将电线连接到电话电路板上的金属触点,避免永久性修改。
  • RP2040 微控制器: 选用树莓派的 RP2040 作为核心,该芯片既能作为声卡,又能作为 USB 设备。
  • USB 集线器: 由于最初尝试使用 RP2040 作为声卡失败(花费了 50 美元使用 LLM 编写代码),作者最终选择使用 USB 集线器,将 RP2040 键盘和廉价的 USB 声卡连接到电脑。
  • 声卡: 从 AliExpress 购买了价格低廉的 USB 声卡,拆除连接器后焊接引脚,与电话手柄连接。

软件实现:

  • 键盘模拟: RP2040 通过检测挂机开关状态以及旋转拨号盘的脉冲来模拟键盘输入。挂机时发送预设的快捷键(例如 Zoom 的 Ctrl+Shift+E,Meet 的 Ctrl+W,Teams 的 rm -rf / 等)。
  • LLM 辅助: 最初尝试使用 Claude Opus 4.1 编写代码,但由于成本较高且代码质量下降,最终放弃。

最终成果:

改造后的电话可以模拟挂断会议,并提供音频输入输出功能。旋转拨号盘可以输入数字。整个系统通过 USB 集线器连接到电脑。作者分享了一段演示视频,展示了整个过程。

代码仓库:

项目代码已发布到 GitHub:https://github.com/skorokithakis/dialogue/

总结:

该项目展示了作者利用旧设备和微控制器进行创意改造的过程,并突出了 LLM 在辅助编程方面的潜力与局限性。最终,作者成功地将一个古董旋转电话改造成了一个独特的会议手柄。

I can build enterprise software but I can't charge for it

NeoClerks: 企业级 AI 头像平台 (NeoClerks: Enterprise AI Avatar Platform)

本文介绍了 NeoClerks,一个自托管的企业级 AI 头像平台,其创作者正在寻找在印度、阿联酋和土耳其的市场合作伙伴和客户。该平台旨在成为 Soul Machines 的竞争对手,并重点关注西方市场以外的可行市场。

核心技术:

  • 逼真的 3D 头像: 使用 Unreal Engine 5 和 MetaHuman 技术创建。
  • 实时对话: 响应时间为 1-8 秒。
  • 多语言支持: 支持 47 种语言,利用 OpenAI Whisper STT 和 TTS 技术。
  • 智能缓存: 采用 4 层缓存,使用后可降低 60-90% 的成本。
  • RAG 知识库: 结合 BM25 和向量搜索技术。

企业级功能:

  • 多租户 B2B 架构: 支持组织、订阅和使用情况跟踪。
  • 自动化计费系统: 提供 8 个定价层级,包含超额费用计算和发票功能。
  • AI 驱动的分析: 提供 7 种分析类型,包括情感分析、主题分析、质量分析、意图分析和知识差距分析。
  • 生产监控: 使用 Prometheus、Grafana 和 Loki 监控,包含 35 多个告警规则。
  • 管理面板: 使用 Next.js 构建,提供全面的系统管理功能。
  • 分布式架构: 采用 4 服务器分布式架构,可扩展至 100+ 部署。
  • 安全性: JWT 身份验证,基于角色的访问控制 (RBAC),HTTPS 加密,数据库连接池,以及服务故障断路器模式。

市场定位与竞争:

NeoClerks 的价值主张是提供企业级功能,但成本仅为竞争对手的 1/10。与其他竞争对手(Soul Machines, D-ID, Synthesia)相比,NeoClerks 的优势在于:自托管(数据保留在用户所在国家/地区),白标功能,多租户 B2B 架构,RAG 知识库和全面的管理面板与监控功能。

目标市场与用例:

  • 印度 (重点市场): 由于没有制裁,拥有庞大的酒店、零售和 BPO 市场,且英语普及,支付基础设施完善 (Razorpay, Stripe India)。主要目标客户包括酒店 (AI 礼宾员)、零售连锁店 (店内客户服务)、BPO (客户支持自动化)、机场/购物中心 (导航、信息) 和教育机构 (24/7 学生支持)。
  • 阿联酋/迪拜 (次重点市场): 对伊朗企业合作持开放态度,拥有高端酒店市场和政府服务。
  • 土耳其/新加坡 (三级市场): 正在研究市场契合度和法律框架。

当前状态与下一步计划:

目前产品已准备就绪,但尚未有客户。创作者正在积极寻找首批 10 名试点客户,目标是在 2025 年 4 月之前获得 10-20 名客户,然后寻找具有销售能力和运营能力的联合创始人。同时,也欢迎印度数字代理商进行经销商合作。

技术验证:

项目代码库包含 818 次提交,超过 20,000 行代码,188 个自动化测试。 创作者使用了 Claude Code 进行代码审查和架构验证。

联系方式:

Please donate to keep Network Time Protocol up – Goal 1k

NTP 项目概要 (NTP Project Summary)

NTP 项目致力于网络时间协议 (NTP) 的研究与开发。NTP 是一种协议,旨在将计算机网络中的时钟同步到统一的时间基准。该协议是全球数十亿设备,包括水下和太空设备,可靠运行的关键保障。

主要内容:

  • 核心功能: NTP 确保计算机网络中设备的时间同步,提供精确的时间服务。
  • 重要性: 精确的时间同步对于多个关键应用至关重要,例如:卫星、GPS、5G、金融服务、医疗保健等,这些应用已经彻底改变并成为我们日常生活的重要组成部分。
  • 开源实现: NTP 项目提供 NTP 标准的 开源参考实现
  • 文档支持: 项目维护着该实现的相关 文档,以及用于系统之间通信的时间协议和算法标准。
  • 参考资料: 关于 NTP 的背景信息可以在 参考库 中找到。
  • 支持机构: Network Time Foundation 为 NTP 项目提供支持,更多信息请访问 基金会官网

总结: NTP 项目通过开源实现、文档和标准开发,确保全球网络中设备的时间同步,支撑着众多关键应用领域的可靠运行。

Show HN: Unflip – a puzzle game about XOR patterns of squares

翻转方块游戏说明总结

本游戏的目标是将所有方块翻转为白色。

游戏玩法:

  • 翻转操作: 玩家可以通过拖拽操作来翻转方块的颜色。每次拖拽必须从一个角落拖拽到对角线的另一角落,且拖拽区域必须是 2x2 或更大的正方形。
  • 颜色变化: 每次翻转操作,白色方块会变成黑色,黑色方块会变成白色。

游戏目标:

  • 将所有方块都翻转成白色,即可赢得游戏。

辅助功能:

  • “Par” 值: 每个关卡都有一个“Par”值,表示解决该关卡的最小步数。玩家可以将其作为提示,或者作为额外的挑战目标。
  • “撤销” (Undo): 允许玩家撤销上一步操作。
  • “重新开始” (Restart): 允许玩家重新开始当前关卡。

总结: 这是一个通过拖拽操作翻转方块颜色的益智游戏,玩家需要通过合理的翻转,将所有方块都变成白色来赢得游戏。游戏提供“Par”值、撤销和重新开始等功能,帮助玩家更好地进行游戏。

A modern 35mm film scanner for home

Knokke:全新电影扫描时代

Knokke 是一款为追求速度、质量和控制力的摄影师打造的高分辨率 35 毫米电影扫描仪。

主要特点:

  • 高分辨率和速度: Knokke 能够在几分钟内扫描整个胶卷,每个帧以 4064 DPI 和 48 位颜色深度进行捕捉。
  • 卓越的质量: 自定义光学元件和最先进的传感器带来卓越的质量和速度。
  • 现代软件: Knokke 运行在 Korova 上,Korova 是一款轻量级的 C++ 应用程序,原生支持 Linux、macOS 和 Windows。
  • 定制化扫描: 每个帧可以自定义扫描设置,并在多次扫描中重复使用,以获得一致的结果和定制的工作流程。用户可以直接跳至所需帧,从而大大缩短扫描时间。
  • 面向用户和专业人士: Knokke 适用于个人摄影师和实验室专业人士。
  • 可靠性和未来保障: 产品采用优质材料和精密工程,确保持久可靠的性能。同时提供持续的软件支持、开源灵活性和易于获取的备件。

技术规格:

  • 分辨率:4064 dpi
  • 扫描速度:每卷 5 分钟
  • 色彩深度:48 位
  • 动态范围:120 dB
  • 背光:LED 矩阵,RGB LED 背光
  • 接口:USB-C 3.2
  • 软件:自定义软件

价格与配置:

  • 售价:999 欧元
  • 包含:扫描仪 + 软件

其他信息:

Knokke 重新定义了电影扫描,将现代成像、光学和软件融入到一个精美设计的设备中。产品图片展示了其外观和内部结构。

Why Nietzsche matters in the age of artificial intelligence

人工智能时代的尼采式哲学:重塑意义与责任

本文探讨了人工智能(AI)的快速发展对社会带来的深刻变革,以及如何借鉴尼采的哲学思想来应对这些挑战。文章指出,AI 不仅带来了技术性的颠覆,更引发了关于工作、人际关系和伦理道德的深刻存在主义危机。

1. 尼采哲学的兴起

19 世纪末的欧洲正经历着科学理性主义和启蒙理想的冲击,社会陷入了文化迷茫和道德困惑。工业化加速了社会变革,传统等级制度瓦解,许多人失去了对价值观和人生意义的共同认知。 尼采正是基于这种背景,发展了他的哲学,旨在应对他所认为的现代危机——虚无主义,即对绝对真理的信仰崩溃和意义的丧失。 尼采主张,个体应成为价值创造者,通过自我超越和存在主导来塑造人生目标,而非盲从外部系统。 权力意志并非追求支配,而是指向成长、创造力和价值重估的力量。 超人则代表了一种新的生活方式:从内心创造意义,以自主、责任和勇气拥抱生命,拒绝被动顺从和依赖机构。 尼采的哲学为那些在宗教和社会确定性缺失的空虚中挣扎的人们,提供了一条通往道德独立、创造表达和内心韧性的道路。

2. AI 时代社会挑战:置换、瓦解与碎片化

近年来,AI 发展迅猛,特别是大型语言模型和生成系统的突破。如今,AI 已成为在现实世界中感知、移动和行动的具象化力量。 这种从抽象计算到具象化 AI 的转变,标志着 AI 与社会互动方式的深刻转变。

  • 工作置换与意义危机: AI 自动化正在重塑制造业、物流和服务业。 预计机器人市场将达到十亿台,经济潜力巨大,但同时也带来了深远的人力成本。 即使采取机器人税或普遍基本收入等政策,经济支持也无法取代有意义的工作所带来的社会和心理价值。 工作不仅是谋生手段,更是个人身份、目标和社会认可的核心支柱。 AI 侵蚀传统就业结构,使人们不仅失去了工作,也失去了对自身在世界中地位的认知框架。 研究表明,非自愿失业与抑郁、焦虑和生活满意度下降密切相关,尤其当人们感到自己的贡献不再受社会认可时。
  • 人际关系置换与社会空虚: AI 正在重新定义人际关系,渗透到照护、教育和日常沟通中。 AI 系统可以模拟同情,提供陪伴,并调解社会互动,但缺乏互惠性。 随着“人造亲密”的出现,真挚的情感纽带可能被可预测的一边性互动所取代。 依赖 AI 驱动系统,人们反而报告了更高的孤独感、疏离感和不连结感。
  • 伦理框架侵蚀与道德碎片化: AI 系统越来越多地参与招聘、医疗、执法和金融等领域的决策,用算法逻辑取代了人力判断。 这些系统往往基于有偏见的数据进行训练,并嵌入了企业的或机构的价值观,缺乏透明的问责机制。 结果是,共享的道德框架逐渐侵蚀:原本基于社会规范和公共讨论做出的决策,现在在技术基础设施中展开,超出了民主监督的范围。

3. 重新审视尼采在 AI 时代

AI 带来的危机,如工作置换、人际关系瓦解和伦理框架碎片化,都与尼采在 19 世纪末诊断的现代存在主义危机相呼应。 工业化和理性主义削弱了人们在传统意义上的意义来源,而如今的 AI 革命则可能造成新的目的真空。 尼采的“自我超越”思想,为人们在 AI 驱动的经济转型中应对存在挑战提供了一个视角。

然而,尼采的框架主要关注文化虚无主义,未能充分解决当代技术力量的结构性问题。 AI 时代的挑战不仅是内在的,也是基础设施层面的。 算法在人们不知情的情况下影响行为,平台集中权力,机器做出的决策往往缺乏公共监督。 因此,需要对尼采的哲学进行演化:既要保留他强调的内在自主性,又要融入系统意识。

结论

我们需要从孤立的价值创造转向关系意义的构建,从自我肯定转向共同设计的未来。 AI 时代的哲学必须培养存在勇气和公民想象力,弥合个人与政治

Ditch your mutex, you deserve better

并发编程的陷阱与 STM 解决方案

本文探讨了现代多核计算机并发编程的挑战,并提出了软件事务内存 (STM) 作为一种更可靠的解决方案。

背景:

随着摩尔定律放缓,单核性能提升乏力,多核 CPU 变得普遍。因此,利用并行计算变得至关重要。然而,长期以来并发编程研究的成果并未能带来预期的便利,同步线程仍然存在困难。

问题:互斥锁 (Mutexes) 的局限性

  • 数据竞争 (Data Races): 当多个线程同时访问同一内存位置,且至少有一个是写操作时,就会发生数据竞争。这会导致非确定性结果,即使代码状态相同,多次运行也可能产生不同的结果。
  • 缺乏原子性: 即使使用互斥锁,跨多个互斥锁的复杂操作也难以保证原子性,可能导致不一致的系统状态。
  • 缺乏可组合性: 互斥锁难以组合成更高级别的原子操作,导致代码封装性差,需要手动管理锁,容易出错。
  • 死锁 (Deadlocks) 和活锁 (Livelocks): 多个线程相互等待对方释放资源,导致程序卡死。
  • 难以调试: 互斥锁引入的并发错误难以追踪和修复,尤其是在大型系统中。

银行账户转账示例:

文章利用银行账户转账示例,展示了互斥锁在实际应用中的问题。即使是简单的存款、取款和转账操作,在并发环境下也可能导致数据竞争、不一致性和死锁。

解决方案:软件事务内存 (STM)

STM 借鉴数据库事务的概念,提供了一种更安全、更可靠的并发编程方式。

  • 原子性: STM 保证事务中的所有操作要么全部成功,要么全部失败回滚,确保数据一致性。
  • 可组合性: STM 允许将多个操作组合成一个原子事务,无需手动管理锁。
  • 乐观并发: STM 不会阻塞线程等待锁,而是乐观地执行操作,并在冲突时进行重试。
  • 智能重试: STM 支持基于数据条件进行智能重试,避免忙等待。

STM 的优势:

  • 避免数据竞争: STM 强制在事务内进行数据访问和修改,从而避免数据竞争。
  • 消除死锁: 由于 STM 不使用锁,因此不会发生死锁。
  • 简化并发编程: STM 提供了更高级别的抽象,简化了并发编程的复杂性。

示例:Haskell 中的 STM

文章展示了如何使用 Haskell 中的 STM 实现银行账户转账功能,并对比了使用互斥锁和 STM 的优缺点。

结论:

互斥锁在并发编程中存在诸多问题,STM 提供了一种更安全、更可靠的解决方案。在选择并发编程工具时,应该根据具体需求权衡利弊,并考虑使用 STM 等更高级的并发模型。

Ultima VII Revisited

Ultima VII: Revisited 项目总结 (Ultima VII: Revisited Project Summary)

Ultima VII: Revisited 是一个旨在为经典游戏 Ultima VII: The Black Gate 编写替代引擎的开源项目。该项目的目标是提供一个现代化的引擎,允许玩家体验 Ultima VII 的世界,同时拥有增强的功能和改进。

安装与运行 (Installation and Running)

要运行该引擎,需要将原始 DOS ULTIMA7 游戏文件夹的内容复制到 /Data/u7 目录。这使得替代引擎能够读取原始文件中的地图和图形。

开发安装说明 (Developer Installation Notes)

  • 使用 Git 将项目克隆到本地文件夹。
  • 将原始 DOS ULTIMA7 目录的内容复制到 $(SolutionDir)/Redist/Data/U7/

构建方式 (Building)

该项目支持两种主要的构建方式:

  • Meson (跨平台):
    • 确保已安装 Meson 构建系统。
    • 运行 meson setup buildmeson setup --backend vs build (生成 Visual Studio 项目)。
    • 运行 meson compile -C build 进行构建。
    • build/ 目录中运行 u7revisited 程序。
  • CMake (Windows & Linux):
    • Windows: 安装 CMake (3.15 或更高版本),并使用 "Developer Command Prompt for VS 2019" 运行 CMake 命令。
    • Linux: 安装 CMake 和必要的依赖项 (例如 cmake, build-essential, libgl1-mesa-dev, libx11-dev)。
    • 按照相应的 CMake 命令配置和生成构建文件,然后构建项目。

控制方式 (Controls)

  • WASD: 移动。
  • Q/E: 旋转。
  • 鼠标滚轮: 缩放。
  • 地图左键单击: 传送至指定位置。
  • NPC 双击左键: 尝试对话。
  • 容器双击右键: 打开并查看内容 (NPC 也被视为容器)。
  • 小键盘 +/-: 调整游戏速度。
  • 小键盘 Enter: 前进一个小时。
  • ESC: 退出。

沙盒模式 (Sandbox Mode)

沙盒模式是“调试”模式,提供额外的选项用于构建和测试世界,允许在游戏内进行修改并保存。

  • 左键单击: 打印对象、NPC 或地面瓦片的调试信息。
  • 双击左键: 调用对象的 Interact() 函数。
  • F1: 切换形状编辑器工具。
  • F7: 切换静态对象的黑色边框和拖动功能。
  • F8: 切换 Lua 调试以获得额外日志记录。
  • F9: 切换调试边界框。
  • F10: 显示寻路成本 (通过颜色)。
  • F11: 突出显示脚本对象 (绿色)。
  • 右箭头: 跳到下一个小时。

反馈 (Feedback)

项目作者欢迎反馈,可以通过电子邮件 [[email protected]](mailto:[email protected]) 提供,并在邮件主题中注明 "Revisited"。

该项目是一个开源项目,源代码可在 GitHub 上获取。

A brief look at FreeBSD

FreeBSD 探索记录:虚拟机的初步体验

2025年11月12日

本文记录了作者在虚拟机中体验FreeBSD的过程,旨在评估其是否值得在即将到手的Framework笔记本电脑上使用。作者目前使用Fedora Silverblue,但考虑尝试FreeBSD,如果体验不佳,仍可随时切换回Fedora。

选择FreeBSD的原因:

  • 更 cohesive 的系统: FreeBSD 将内核、用户空间工具和其他组件整合在一起,便于贡献者参与开发,例如,修改标准库函数时,只需贡献给 FreeBSD 项目,而无需分别贡献给内核和 glibc 等项目。
  • 软件可用性: 尽管部分软件(如 lua-language-server)缺失或更新滞后,但总体来说,FreeBSD 拥有令人惊讶的软件数量。
  • 稳定性: 结合软件包管理,理论上 FreeBSD 可以达到与 Fedora Silverblue 相当的稳定性,同时提供更多且更新鲜的软件。

设置环境:

作者使用 M1 Mac Mini 上的虚拟机 (FreeBSD 14.3,基于 ZFS 文件系统) 进行测试,因为没有闲置的电脑可以专门用于 FreeBSD 实验。虚拟机环境限制了对 Framework 笔记本电脑硬件兼容性的评估。

初步体验:

  • 网络配置: 使用 /etc/rc.conf 设置 DHCP,但 service dhclient 命令需要显式指定接口,略显不便。
  • DNS 缓存: FreeBSD 默认不提供 DNS 缓存,可以选择 unbound 或 local_unbound。作者使用 local_unbound,但由于上游 DNS 服务器不支持 DNSSEC,导致 DNS 查询失败,最终通过配置 /var/unbound/conf.d/disable-dnssec.conf 来禁用 DNSSEC 解决问题。
  • 默认设置调整:
    • 调整了 ASLR 设置,将 kern.elf64.allow_wx 设置为 0,以提高安全性。
    • 未启用 PID 随机化,因为其作用尚不明确。
    • 禁止非 root 用户读取 dmesg 信息,提高安全性。
    • 禁止用户查看其他用户进程,增强服务器环境的安全性。
  • pkgbase 启用: 尝试启用 pkgbase,但遇到了一些问题,如 fetch 命令无法工作,创建了大量的 .pkgsave 文件。
  • 软件包管理: pkg 工具类似于 dnf,速度可以更快,并且不会在不预期时自动更新数据库。
  • 防火墙: FreeBSD 提供了 PF、IPFW 和 IPF 三种防火墙,选择困难。
  • 资源占用: FreeBSD 启动时运行的进程数量较少,资源占用更低。
  • CLI 习惯: FreeBSD CLI 工具对长选项的支持较差,与 GNU 工具的习惯不同。
  • 社区氛围: FreeBSD 社区显得较为保守,对新事物接受度不高,有时会表现出排斥 Linux 用户的态度。

总结:

作者对 FreeBSD 的初步体验并不明确,需要更多时间在实际硬件上进行测试,特别是对 Framework 笔记本电脑的硬件支持、KDE 环境的体验以及 FreeBSD 的整体性能进行评估。作者也对 FreeBSD 的社区氛围表示担忧,认为其不够开放和包容。最终,作者将根据实际体验来决定是否在 Framework 笔记本电脑上使用 FreeBSD。

“One Student One Chip” Course Homepage

课程概述与学习资源总结 (Course Overview and Learning Resources Summary)

本课程旨在教授计算机体系结构相关知识,并提供实践操作指导。课程预计于2025年9月开始提供现场教学。如有实验手册或材料中的错误,或对实验有疑问或建议,请通过电子邮件 (yuzihao#ict.ac.cn) 联系 Yu Zihao。

学习资源:

  • 时间预估: Time 列显示了完成每个任务的预计时间(小时)。2小时的预估通常不包含编程作业,而是指补充知识的视频讲座。 预估基于“中级”学习者,即具备积极的学习态度、编写过超过500行的程序、并理解调试的水平。 初学者预计需要2-3倍的时间完成学习。
  • 资源访问: 点击图标可直接跳转到相应资源。
  • 讲义: 完整的课程讲义可通过右上角的导航栏访问,并可以导出为PDF格式(参考reveal.js的导出指南)。
  • **S阶段内容:**目前仍在开发中。

课程阶段与内容:

课程分为 F, E, D, C, B, A 等阶段,每个阶段包含不同的任务和学习内容。

  • F 阶段: 侧重于提问技巧和基础知识的理解,包括如何提出有效问题、安装和使用 Logisim、数字电路和逻辑电路基础、计算机系统状态机模型、简单处理器设计(支持求和)以及完全功能的 Mini RISC-V 处理器。
  • E 阶段: 涵盖 C 语言编程、硬件描述语言、Linux 系统安装与基本使用、从 C 代码到二进制程序、从 RTL 代码到 Tapeout-Ready Layout、PA1 实践作业、预习答辩申请,以及相关讲义和视频资源。
  • D 阶段: 重点介绍 NEMU (RV32IM 支持)、程序机器级表示、AM 运行时环境、使用RTL实现Mini RISC-V 处理器、设备与 I/O、以及相关讲义和视频资源。
  • C 阶段: 介绍工具与基础设施、RV32E 单周期 NPC、调试技巧、ELF 文件和链接、异常处理和 RT-Thread、以及相关讲义和视频资源。
  • B 阶段: 涵盖总线、SoC 计算机系统(I & II)、时间分析与优化、简单缓存、流水线处理器、以及相关讲义和视频资源。
  • A 阶段: 包括乘法和除法模块、系统调用与应用程序、虚拟内存管理、特权级别和 xv6、启动 Linux 和 Debian、高级缓存、高级分支预测等内容。

其他资源:

  • RISC-V Reader
  • 《基于 RISC-V + Linux 平台计算机系统》
  • ETH Zurich 的《数字设计与计算机体系结构》课程
  • 提问模板

活动记录:

  • 2024/07/14 - “一学生一芯片”2024年夏季研讨会
  • 2023/08/25 - 开源芯片技术生态论坛
  • 2023/07/02 - 第六届“一学生一芯片”启动会
  • 以及其他技术讲座和研讨会的相关链接。

注意事项:

页面跳转时,如果进度条卡住,可能是由于文档正在更新。建议刷新页面以继续学习。

Micro.blog launches new 'Studio' tier with video hosting

Micro.blog: 拥抱视频,构建独立网络空间

Micro.blog 致力于让用户真正拥有自己的网络存在。最初,它是一个简单的博客托管平台,同时集成了类似 Twitter 的社交时间线,将短篇(无标题)和长篇(带标题)帖子放在同等地位。自 2017 年推出以来,创始人 Manton Reece 不断添加新功能,以扩展这一使命。

核心功能:

Micro.blog 提供了丰富的功能,包括:

  • 播客托管
  • 网页存档/书签
  • Fediverse 兼容性: 原生支持 Mastodon 回复,并支持从 Bluesky 获取回复。
  • 跨平台发布: 自动将内容发布到 Mastodon、Flickr、LinkedIn、Medium、Nostr、Pixelfed、Threads 和 Tumblr 等其他社交网络。
  • 照片博客
  • 自定义域名
  • 私有笔记
  • 书籍/电影/电视剧博客
  • 阅读追踪
  • 自动邮件订阅
  • 开放 API 用于内容管理

所有内容都托管在用户自己的网站上(强烈建议使用自己的域名)。

视频托管新功能:Micro.blog Studio

最近,Micro.blog 推出了一项重要的新功能:视频托管,名为 Micro.blog Studio。 该功能支持上传长达 20 分钟的视频,并可以自动将视频复制到 PeerTube 和 Bluesky。

拥抱独立网络理念:

Micro.blog 遵循 "Publish to Own Site, Syndicate Elsewhere" (POSSE) 的框架,鼓励用户将网站作为内容的首要发布地,然后再将其分发到其他网络。 Reece 认为,将视频内容集中在少数大型平台(如 YouTube)不利于开放网络的发展。 Micro.blog 旨在提供一个易于使用且可扩展的视频托管解决方案,让用户可以拥有和控制自己的视频内容。

定价:

Micro.blog 提供不同的订阅计划,价格从每月 1 美元到 15 美元不等,包含不同功能的子集。

用户期望与建议:

作者表达了对 Micro.blog 视频托管功能的期待,并提出了以下建议:

  • 跨层级扩展视频时长限制: 建议在不同层级提供不同时长的视频托管,例如 1 分钟、5 分钟、10 分钟和 20 分钟,而不是仅在 Studio 计划中提供 20 分钟的限制。
  • 支持 4K 分辨率: 希望能够支持上传和播放 4K 分辨率的视频。

总而言之,Micro.blog 正在积极构建一个以用户为中心的独立网络空间,视频托管功能的推出是这一目标的又一重要里程碑。

I didn't reverse-engineer the protocol for my blood pressure monitor in 24 hours

总结:通过嗅探数据包逆向工程血压监测设备

这篇文章讲述了作者在接种流感疫苗后,药剂师建议他进行24小时血压监测,并提供了Microlife WatchBP O3设备。作者出于好奇,尝试逆向工程该设备,以获取血压数据,避免使用Windows虚拟机。

主要内容:

  • 设备和软件: 作者使用了Microlife WatchBP O3血压监测设备,并下载了配套的WatchBP Analyzer软件。
  • 虚拟机绕过: 作者不想在Windows虚拟机中使用软件,因此尝试在Linux环境下运行它。
  • 数据嗅探: 作者使用Wireshark在Linux环境下嗅探设备和虚拟机之间的网络数据包,从而获取血压数据。
  • 数据分析: 通过分析Wireshark捕获的数据包,作者识别出血压数据(收缩压、舒张压、心率)的编码格式,并尝试解读其他数据,如oscillometric signal peak pressure (OPP)和时间戳。
  • 时间戳推测: 作者尝试解读时间戳,发现第六和第七列数据可能与AM/PM和分钟有关。
  • 实验中断: 由于时间限制,作者最终未能完全破解设备,但获得了宝贵的逆向工程经验。
  • 健康发现: 通过这次经历,作者了解到“正常血压”和“白大衣高血压”的概念。

关键技术点:

  • USB HID设备: 血压监测设备被识别为标准的USB HID设备。
  • Wireshark: 使用Wireshark嗅探网络数据包。
  • Bottles: 使用Bottles在Linux环境下运行Windows软件。
  • pyhidapi: 尝试使用pyhidapi库模拟设备交互。
  • 数据包分析: 分析数据包中的十六进制数据,从中提取血压信息。

总结:

作者通过逆向工程血压监测设备,展示了数据包嗅探和分析的技术,并从中学习到了一些健康知识。尽管最终未能完全破解设备,但整个过程体现了作者对技术的好奇心和解决问题的能力。

Blame as a Service

产品化替罪羊:对新兴商业模式的分析 (Productized Scapegoating: An Analysis of an Emerging Business Model)

本文探讨了一种新兴的商业模式:产品化替罪羊 (BaaS)。这种模式源于社交媒体平台的竞争性动态,并已蔓延到企业领域,以应对日益增长的社会舆论压力。

背景:社交媒体与声誉管理

2010 年代,Instagram 和 Twitter 等平台通过粉丝和点赞等指标,构建了明确的社会地位竞争体系。这种模式使得在线声誉对现实世界产生影响。如今,企业也正面临类似的竞争,并投入巨额资金进行声誉管理,尤其是在公共关系驱动的信息时代。

什么是产品化替罪羊 (BaaS)?

BaaS 是一种新兴服务,它允许企业将负面责任外包给第三方公司,避免因自身决策而遭受公众批评。就像软件即服务 (SaaS) 允许企业租用技术服务一样,BaaS 允许企业租用替罪羊,从而在不损害品牌形象的情况下,追求利润最大化的目标。

BaaS 公司的特点:

  1. 隐蔽的价值主张: 提供一系列服务,掩盖其核心价值:承担责任。
  2. 保护决策者: 保护企业高层免受负面外部影响。
  3. 网络效应: 随着承担责任能力提升,BaaS 公司的价值也会增加。

案例分析:

  • 麦肯锡 (McKinsey): 经典的 BaaS 案例。企业聘请麦肯锡进行咨询,表面上是为了获得外部视角,但实际上是为了将决策责任转移给第三方,从而在进行裁员或重组等不受欢迎的决定时,获得“客观”的理由。麦肯锡既为顾问提供声望,为高管提供免责,同时也赚取了丰厚的报酬。
  • Ticketmaster: 通过动态定价等手段,允许艺术家在收取高额溢价的同时,将粉丝的愤怒转移到 Ticketmaster 上。Ticketmaster 承担了高额费用和负面评价的责任,而艺术家则能够最大化经济收益。
  • UMA: 作为 Polymarket 的预言市场算符,UMA 能够为 Polymarket 提供“去中心化”的投票结果,掩盖了少数有影响力的用户操纵投票结果的事实,从而避免 Polymarket 承担责任。
  • 未来趋势:AI 招聘平台 (AI Hiring Platforms): AI 招聘平台将成为 BaaS 的下一个发展方向,企业可以通过宣称 AI 进行了客观决策,来维持其首选的招聘行为。

结论:

尽管 AI 技术发展迅速,但人类仍然是最佳的替罪羊。最佳的 BaaS 模式是人类与 AI 相结合,利用 AI 的神秘感和人类的灵活性,为企业提供全面的声誉管理服务。这种模式允许企业在追求利润最大化的同时,将责任转移给第三方,从而在复杂的社会环境中生存和发展。

关键词: 产品化替罪羊,BaaS,声誉管理,麦肯锡,Ticketmaster,预言市场,AI 招聘,社会责任。

We ran over 600 image generations to compare AI image models

AI 图像编辑模型对比测试:LateNiteSoft 的经验分享 (AI Image Editing Model Comparison: LateNiteSoft's Experience)

tl;dr: LateNiteSoft,一家拥有 15 年 iOS 摄影应用开发经验的公司(Camera+, Photon, REC),通过对 600 张图片生成进行对比,总结了不同 AI 模型在不同图像编辑场景下的表现。本文分享了他们的发现,避免大家重复浪费资源。

背景 (Background)

LateNiteSoft 是一家独立开发摄影相关 iOS 应用的公司,从未接受过风险投资。他们致力于为用户提供优质的体验,并开发了基于信用制的“按生成量付费”的 AI 服务 CreditProxy,并将其作为服务提供。他们发布了 MorphAI 应用作为概念验证,并利用 Camera+ 的用户群体进行测试。随着新模型的出现,他们需要评估哪些模型更适合支持。

测试 (The Tests)

测试选取了宠物、儿童、风景、汽车和产品摄影等常见题材,并使用了相对简单的提示词,模拟普通用户的习惯。

生成时间对比:

OpenAI (High) Gemini Seedream
80 秒 11 秒 9 秒
OpenAI Medium: 36 秒

经典滤镜 (Classic Filters)

  • Grungy vintage photo (粗糙复古照片): Gemini 在细节保留方面表现出色,但效果可能不够强烈和富有创意。OpenAI 容易产生“AI 痕迹”。
  • Use soft, diffused lighting (使用柔和漫射光): Gemini 有些许捷径,效果有些奇怪。
  • Transform into a kaleidoscopic pattern (变成万花筒图案):
  • Apply a heat map effect (应用热图效果): 模型缺乏对“热”的概念,Seedream 仅识别人类会发热。
  • Make it look like a long exposure photograph (看起来像长曝光照片): OpenAI 在风景和车上表现最佳,但在其他场景下效果不佳。Gemini 几乎没有改变。
  • Pinhole camera (针孔相机): Gemini 误解为实际的针孔相机。
  • Add a layer of fog or mist (添加雾气):
  • Make it look like it’s golden hour (看起来像黄金时段):
  • Make it look like it’s etched in glass (看起来像蚀刻在玻璃上): OpenAI 和 Seedream 表现出色。
  • Remove background (移除背景): OpenAI 容易失真,不适合此用途。
  • Isolate the object (隔离对象): Gemini API 返回需要用户指定隔离对象的提示,目前脚本无法处理。
  • Give it a metallic sheen (赋予金属光泽): Seedream 在产品图像上取得了令人惊艳的效果,甚至添加了手机反光。

镜头效果 (Lens Effects)

OpenAI 容易产生幻觉,Gemini 结果更接近真实,Seedream 介于两者之间。

  • Apply a fish-eye lens effect (应用鱼眼镜头效果):
  • Strong bokeh blur (强散焦): OpenAI 给出强烈的模糊,但没有散焦效果。Gemini 产生随机圆圈。
  • Apply a Dutch angle (canted frame) (应用荷兰角):
  • Change to a bird’s-eye view (改为鸟瞰图):

风格迁移 (Style Transfer)

OpenAI 在风格迁移方面表现更好,Gemini 则比较保守,有时几乎不做任何改变。

  • Draw this in the style of a Studio Ghibli movie (画成吉卜力电影风格): OpenAI 表现最佳。
  • Transform into watercolor painting (变成水彩画):
  • Make it look like a pastel artwork (看起来像粉彩艺术品):
  • Transform into Art Nouveau style (变成新艺术风格):
  • Apply a ukiyo-e Japanese woodblock print style (应用浮世绘风格): Seedream 在亚洲文化风格的处理上表现出色。
  • Transform into low poly art (变成低多边形艺术): Seedream 表现突出。

人像效果 (Portrait Effects)

  • Make it look like a caricature (画成漫画人物): Seedream 偏向于动漫风格。
  • **Turn them into an action figure in
Simulating a Planet on the GPU: Part 1 (2022)

模拟地球:一项个人项目进展总结

本文记录了作者(LGR)在尝试创建一款类似SimEarth 2的行星模拟器上的开发历程。由于市面上缺乏能模拟板块构造、洋流等“深层”地球运作机制的游戏,作者决定自己动手开发。

项目目标: 创建一款能够模拟地球板块构造、大气条件和大陆漂移的行星模拟器。

开发历程及技术选择:

  1. 基于多边形的方法: 最初尝试使用Delaunay三角剖分和Voronoi镶嵌在球体上生成多边形,用于表示地理特征。但由于板块碰撞需要大量多边形,在Unity环境下性能受限,作者转而使用C++、SDL2和Vulkan进行开发,但最终意识到构建自定义引擎的难度过高,又返回Unity。
  2. 基于立方体贴图的方法: 为了优化性能,作者转向研究Unity的优化工具,并利用GPU的计算能力。通过使用计算着色器,将板块模拟为立方体贴图,实现了板块碰撞、俯冲和海底扩张的模拟,但无法实现板块变形。
  3. 平滑粒子流体动力学 (SPH): 受物理模拟的启发,作者尝试使用SPH技术,模拟“地壳”颗粒之间的碰撞,形成山脉和山谷,并将其应用于空气和水模拟。 利用计算着色器实现了SPH在球体上的初步实现,但编写和调试计算着色器非常困难,需要大量的实验和性能优化。

当前进展:

  • 实现了基于计算着色器的SPH模拟,能够模拟地壳变形。
  • 通过实验验证了GPU计算与内存访问的性能差异。

未来计划:

  • 添加洋流方向指示。
  • 模拟风和降水,包括雨影效应。
  • 模拟洋流对空气的影响,例如北大西洋暖流对欧洲的温暖作用。
  • 添加热点、火山和各种岩石类型。
  • 优化性能,使其能在更多硬件上运行。

作者表示,该项目是其最具挑战性但也最有成就感的项目之一,并承诺将在后续博客中分享更多进展。项目目前提供下载链接。


模拟地球:项目进展总结 (中文)

本文是LGR撰写的一篇博客,记录了他开发一款类似SimEarth 2的行星模拟器的过程。由于市面上缺乏能够模拟地球板块构造等深层机制的游戏,他决定自行开发。

项目目标: 创建一个能够模拟地球板块构造、大气条件和大陆漂移的行星模拟器。

技术选型与开发历程:

  1. 多边形方法: 最初使用Delaunay三角剖分和Voronoi镶嵌在球体上生成多边形,但因板块碰撞需要大量多边形导致性能瓶颈,不得不切换到C++、SDL2和Vulkan。 最终因为引擎开发难度过高,又回到Unity。
  2. 立方体贴图方法: 利用GPU的计算能力,通过计算着色器将板块模拟为立方体贴图,实现了板块碰撞、俯冲和海底扩张的模拟,但无法模拟板块变形。
  3. 平滑粒子流体动力学 (SPH): 受物理模拟的启发,尝试使用SPH技术模拟地壳颗粒碰撞,形成地形,并应用于空气和水模拟。 使用计算着色器实现了SPH在球体上的初步实现,但调试和优化计算着色器非常困难。

当前进展:

  • 实现了基于计算着色器的SPH模拟,可以模拟地壳变形。
  • 通过实验验证了GPU计算和内存访问性能差异。

未来规划:

  • 添加洋流方向指示。
  • 模拟风和降水,包括雨影效应。
  • 模拟洋流对空气的影响,例如北大西洋暖流对欧洲的温暖作用。
  • 添加热点、火山和各种岩石类型。
  • 优化性能,使其能在更多硬件上运行。

作者表示,该项目是其最具挑战性但也最有成就感的项目之一,并承诺将在后续博客中分享更多进展。项目目前提供下载链接。

The terminal of the future

终端的未来:重塑交互体验 (未来的终端:重塑交互体验)

本文探讨了当前终端的局限性,并设想了一个更强大的终端系统应该是什么样的。文章基于 Julia Evans 的博客文章和 Gary Bernhardt 的演讲,提出了对终端架构的重新思考。

现有终端的局限性

作者指出,现代终端的内部结构混乱,许多设计决策源自上世纪 80 年代,难以进行根本性改变。终端系统由四个主要部分组成:

  1. 终端模拟器: 负责在图形显示上渲染网格结构。
  2. 伪终端 (PTY): 内核级别的连接,负责终端模拟器和接收输入的进程组之间的通信。
  3. Shell: 管理进程组,读取和解析输入,并启动进程(通常是 Bash)。
  4. 进程: 由 Shell 启动的程序,与上述系统交互,接收输入并发送输出。

输入不仅是文本,还包括信号,而输出则是 ANSI 转义序列,用于控制终端模拟器的格式。

理想终端的设想

作者认为,现有终端的功能受限,难以实现更高级的功能。他们设想了一个类似 Jupyter Notebook 的终端,具备以下特性:

  • 高保真图像渲染: 可以显示更丰富的视觉效果。
  • “从头开始重跑”功能: 方便重新执行命令和查看结果。
  • 代码和输出视图: 可以同时编辑代码和查看输出。
  • 内置编辑器: 支持语法高亮、标签和鼠标操作。

实现挑战与解决方案

直接使用 Jupyter Notebook 作为终端内核会遇到问题,例如实时输入、长寿命进程管理和状态管理等。

文章提出了以下解决方案:

  • Shell 集成: 借鉴 Warp 终端的做法,通过自定义 DCS 或 OSC 133 逃逸码实现终端与 Shell 的原生集成,从而实现更精细的渲染和功能。
  • 长寿命进程管理: 支持进程交互、挂起、恢复和断开连接,类似于 tmux 等工具。
  • 数据流追踪: 借鉴 Pluto.jl 的机制,实现命令的事务性语义,支持撤销/重做功能,并构建更强大的搜索和调试工具。

分阶段构建

作者建议分阶段实现新的终端系统:

  1. 事务性语义: 首先构建一个命令行工具,实现命令的事务性操作。
  2. 持久会话: 通过客户端/服务器模型实现 PTY 的持久化和网络恢复。
  3. 结构化 RPC: 利用客户端/服务器模型,对输入/输出进行元数据标记,实现更高级的功能,如记录、搜索和集成。
  4. Jupyter-like 前端: 最终构建一个类似 Jupyter Notebook 的前端,提供更丰富的交互体验。

总结

作者认为,构建一个更好的终端需要从底层进行重塑,并采用分阶段构建的方式,逐步实现更强大的功能。通过结合 Jupyter Notebook 的交互特性、Shell 集成和数据流追踪技术,可以打造一个更智能、更灵活的终端系统,从而提升开发效率和用户体验。


Microplastics: No longer a "maybe"

微塑料:我们体内不可避免的威胁 (Wēixīliào: Wǒmen Tǐnèi Bùkě Bìmiǎn de Wēixié) - 摘要

以下是对原文内容的摘要:

微塑料污染不再仅仅是环境问题,而是已经渗透到人体内部,成为一个严峻的健康问题。研究表明,微塑料已存在于人体血液、肺部、胎盘、大脑和母乳等组织中,目前测试过的所有人类组织都已受到污染。

主要发现:

  • 普遍存在: 微塑料已在人体内广泛检出,几乎所有已测试的人体组织都含有微塑料。
  • 疾病关联: 患有慢性疾病(如炎症性肠病 (IBD)、痴呆症、心脏病)的患者组织中,微塑料含量显著高于健康人群。
  • 浓度上升趋势: 新研究不断发现人体组织中微塑料浓度持续升高。例如,过去八年间,大脑组织中微塑料的普遍程度增加了 50%。
  • 纳米塑料的出现: 纳米塑料是直到十年前才被检测到的污染物,其潜在影响尚不明确。
  • 动物实验结果: 在动物(小鼠)实验中,暴露于较高剂量微塑料会导致肠道炎症、激素紊乱、不育、发育迟缓和器官损伤。目前使用的剂量高于人类暴露水平,但由于全球塑料污染呈指数级增长,这一差距正在缩小。

潜在风险:

即使是小鼠实验中观察到的效果的一小部分出现在人类身上,也可能引发全球性的健康危机。人类的风险承受能力远低于实验动物,因为人类需要进行高强度的工作,并经历长期的积累过程,包括数十年的微塑料沉淀和长达九个月的妊娠期。

呼吁行动:

原文强调,不应等待政府干预,而是应立即采取行动,避免重蹈铅、石棉和 PFAS 等物质的覆辙。


(Translation of the Summary into English for reference):

Microplastics: An Inevitable Threat Within Us - Summary

The following is a summary of the original content:

Microplastic pollution is no longer just an environmental problem, but has infiltrated the human body, becoming a serious health issue. Research shows that microplastics are present in human tissues such as blood, lungs, placenta, brain, and breast milk, and virtually all human tissues tested have been contaminated.

Key Findings:

  • Ubiquitous Presence: Microplastics have been widely detected within the human body, with virtually all tested human tissues containing microplastics.
  • Disease Association: Patients with chronic diseases (such as IBD, dementia, and heart disease) have significantly higher microplastic levels in their tissues compared to healthy individuals.
  • Increasing Concentration Trend: New studies continually find increasing microplastic concentrations in human tissues. For example, the prevalence of microplastics in brain tissue has increased by 50% over the past eight years.
  • Emergence of Nanoplastics: Nanoplastics are pollutants that were only detected ten years ago, and their potential impact remains unclear.
  • Animal Experiment Results: In animal (mouse) experiments, exposure to higher doses of microplastics leads to intestinal inflammation, hormone disruption, infertility, developmental delays, and organ damage. The doses used are currently higher than human exposure levels, but this gap is narrowing due to exponential growth in global plastic pollution.

Potential Risks:

Even a small fraction of the effects observed in mouse experiments appearing in humans could trigger a global health crisis. Human risk tolerance is far lower than that of experimental animals, as humans need to perform high-intensity work and undergo a long accumulation process, including decades of microplastic accumulation and a nine-month pregnancy.

Call to Action:

The article emphasizes that action should be taken immediately rather than waiting for government intervention, to avoid repeating the mistakes made with substances such as lead, asbestos, and PFAS.

Performance hacks for faster Python code

好的,这是对原文内容的摘要,字数控制在800字以内,使用Markdown格式,并为中文:

10个提升Python代码性能的智能技巧

本文由深度学习工程师和Python程序员Dido Grigorov分享,总结了10个提升Python代码性能的实用技巧。Python以其简洁、易读性和多功能性而闻名,但在处理大型数据集或实时系统时,性能瓶颈可能成为问题。本文旨在帮助开发者优化Python代码速度,同时保持其优雅性和可读性。

1. 使用集合进行成员测试

当需要检查元素是否存在于集合中时,使用列表效率较低。列表的成员测试(x in some_list)需要逐个扫描元素,时间复杂度为O(n)。而集合使用哈希表实现,平均情况下提供O(1)的查找时间。因此,对于大型数据集,集合的成员测试速度更快,更适合过滤重复项、验证输入或交叉引用元素。

2. 避免不必要的复制

复制大型对象(如列表、字典或数组)会消耗大量时间和内存。尽可能使用原地修改对象,避免创建副本。许多内置数据结构提供原地方法(如sortappendupdate)。

3. 使用__slots__提高内存效率

默认情况下,Python类使用动态字典__dict__存储属性,这提供了灵活性但增加了内存开销。__slots__允许显式声明类的固定属性集合,从而消除__dict__,减少内存使用,并略微加快属性访问速度。

4. 使用math函数代替运算符

对于数值计算,Python的math模块提供了C语言实现的函数,速度更快、精度更高。例如,使用math.sqrt()比使用**运算符计算平方根更有效。

5. 预分配内存

当动态构建列表或数组时,Python会在后台进行调整。如果预先知道数据结构的最终大小,预分配内存可以显著提高性能,避免重复调整和数据复制。

6. 避免在热循环中使用异常处理

Python的异常处理机制虽然强大,但不适合在性能关键的热循环中使用。异常处理涉及堆栈展开和上下文切换,成本较高。使用条件检查(ifin等)来预防错误,比使用异常处理更高效。

7. 使用局部函数进行重复逻辑

在函数中重复使用的特定逻辑可以定义为局部(嵌套)函数,以提高性能和组织性。局部函数受益于更快的名称解析,并且可以捕获封闭作用域中的变量。

8. 使用itertools进行组合操作

itertools模块提供了用于排列、组合、笛卡尔积等迭代器操作的高效、C语言优化的工具。这些函数生成元素,避免将整个结果存储在内存中,适用于大型或无限序列。

9. 使用bisect进行排序列表操作

使用bisect模块可以高效地在排序列表中进行插入和搜索,时间复杂度为O(log n)。

10. 避免重复函数调用

在循环中重复调用同一个函数会产生不必要的开销。将结果计算一次并存储在局部变量中,可以减少函数调用开销,提高运行时效率。

总结

本文介绍了通过高效利用Python内置功能、优化数据结构和避免不必要操作来提升Python代码性能的十个技巧。这些技巧包括使用集合、避免复制、使用__slots__、使用math函数、预分配内存、避免异常处理、使用局部函数、使用itertools、使用bisect和避免重复函数调用。通过应用这些技巧,开发者可以显著提高Python代码的性能,同时保持其可读性和优雅性。

作者Dido Grigorov是一位经验丰富的深度学习工程师和Python程序员,在人工智能领域拥有17年的经验,目前正在斯坦福大学攻读AI专业。

Heroku Support for .NET 10

好的,以下是根据您提供的文本生成的摘要,用中文写成,且字数在800字以内:

.NET 10 发布及在 Heroku 平台的支持

微软在 .NET Conf 2025 上正式发布了 .NET 10,同时发布了 ASP.NET Core 10、C# 14 和 F# 10。Heroku 平台现已支持 .NET 10 应用的构建和运行,包括对新 SDK 特色的支持,例如 基于文件的应用.slnx 解决方案文件

.NET 10 的重要性:LTS 支持与迁移计划

.NET 10 是一个 长期支持 (LTS) 版本,将提供长达三年的支持,包括定期更新和安全补丁。这使得 .NET 10 成为企业和开发人员构建和迁移的首选版本,提供稳定且功能强大的基础。

.NET 8 和 .NET 9 将在 2026 年 11 月 10 日结束支持,因此现在是规划迁移的好时机。Heroku 将继续支持 .NET 8 和 .NET 9,并遵循官方 .NET 支持策略,为 .NET 应用提供稳定和安全的平台。

基于文件的应用:简化部署

.NET 10 引入的亮点之一是 基于文件的应用,允许开发者使用单个 C# 文件定义应用,无需项目或解决方案文件。这极大地简化了 .NET 应用的部署流程,尤其适用于 Heroku 平台。

例如,一个简单的 ASP.NET Core 10 Web 应用 HelloHeroku.cs 只需要包含以下代码:

// Use the new #sdk directive to pull in the ASP.NET Core SDK
#:sdk Microsoft.NET.Sdk.Web

var builder = WebApplication.CreateBuilder(args);
var app = builder.Build();

app.MapGet("/", () => "Hello from .NET 10 on Heroku!");

app.Run();

将此文件推送到 Heroku 后,平台会自动检测并使用 .NET buildpack,安装最新 SDK,构建、发布应用并将其部署为 Web 应用。

SLNX:现代化的解决方案文件

为了现代化 .NET 开发体验,.NET 10 SDK 将 SLNX 作为默认的解决方案文件格式,取代传统的 .sln 文件。SLNX 文件更易于阅读和编辑,减少合并冲突,并支持更广泛的工作流和环境。

开发者可以使用 dotnet solution migrate 命令迁移现有的 .sln 文件。

Microsoft 测试平台与 Heroku CI

.NET 10 SDK 集成了 Microsoft 测试平台 (MTP),直接在 dotnet test 命令中可用。由于 Heroku CI 默认运行 dotnet test,因此迁移应用后,测试套件将自动工作。开发者可以通过 app.json 文件自定义测试设置和执行。

迁移支持与资源

为了支持 .NET 10 的迁移,Heroku 更新了相关文档和资源:

  • .NET Getting Started app 现在运行在 .NET 10 上。
  • ASP.NET Core 配置文章 提供了 ASP.NET Core 10 的新指导,包括从已弃用的 IPNetworkForwardedHeadersOptions.KnownNetworks API 迁移的建议。
  • Heroku 上使用 .NET 10 RC 构建的应用(TargetFramework 设置为 net10.0)将在下次 git push 时自动构建为稳定版本的 .NET 10。
  • 开发者可以使用 global.json 文件固定到特定 SDK 版本。

Heroku 还提供了 .NET 10 破坏性变更文档 ,帮助开发者了解升级注意事项。

立即开始

Heroku 鼓励开发者尝试 .NET 10,并提供了 Getting Started with .NET on Heroku 指南,欢迎开发者提出问题和反馈。

Agentic pelican on a bicycle

摘要:模型迭代生成鹈鹕骑自行车的SVG图像实验

本文描述了一项实验,旨在评估大型语言模型(LLM)利用视觉反馈进行自我迭代创作的能力,以生成鹈鹕骑自行车的SVG图像。该实验是对Simon Willison多年来使用的非正式模型基准测试的扩展,该基准测试以其荒诞性而闻名,却能揭示模型的能力。

实验设计:

  • 提示词: 实验使用一个简洁的提示词:“生成鹈鹕骑自行车的SVG图像”,并指示模型将SVG转换为JPG,利用其多模态视觉能力评估图像,并基于评估结果进行改进,直到模型认为满意为止。
  • 工具: 模型可以使用文件系统、命令行以及Chrome DevTools MCP服务器(用于SVG-to-JPG转换)。
  • 标准化: 为了消除渲染差异的影响,所有模型使用相同的Chrome DevTools MCP服务器进行SVG到JPG的转换。
  • 模型: 实验测试了六种多模态模型:Claude Opus 4.1, Claude Sonnet 4.5, Claude Haiku 4.5, GPT-5.1 (低/高推理能力), GPT-5 (中等推理能力), GPT-5-Codex (中等推理能力) 以及 Gemini 2.5 Pro。

实验结果:

  • GPT-5.1 (高/低): 高推理能力版本增加了辐条、天空的渐变、云彩,并尝试调整腿和脚踏的位置,还添加了微笑。低推理能力版本则添加了太阳的光晕,并且鹈鹕开始放屁,自行车仍然损坏。
  • Claude Opus 4.1: 在迭代过程中增加了自行车链条、更多辐条、鹈鹕的比例和手臂,并添加了“今日捕获”的特殊餐盘,以及背景中的街道和鸟类,体现了对机械关系的理解。
  • Claude Sonnet 4.5: 采取了更为谨慎的方法,对曲线进行细微调整,添加阴影和运动指示,以及调整位置和辐条。
  • Claude Haiku 4.5: 进行了六次迭代,持续调整细节,最终使鹈鹕的腿和脚得到了完善。
  • GPT-5 (中): 在五次迭代中改进了鹈鹕和自行车的比例和形状,但基本构图保持不变。
  • GPT-5-Codex (中): 最初的尝试较为抽象,后续迭代并没有简化,反而增加了更多的图层和复杂性,结果具有争议性。
  • Gemini 2.5 Pro: 与其他模型不同,Gemini在六次迭代中改变了鹈鹕和自行车的基本排列方式,例如姿势和方向。

结论:

  • 乐观视角: 像Claude Opus 4.1这样的模型确实进行了有意义的改进,例如添加自行车链条,体现了对机械关系的理解。
  • 怀疑视角: 大多数模型只是进行微调和添加细节,而没有从根本上改变最初的设计。
  • 困惑视角: 某些模型(例如GPT-5-Codex)似乎将“更复杂”误认为“更好”,自我反馈循环放大了其最初的艺术方向。
  • 总体: 代理式方法带来的结果与零样本生成的结果不同。 结果是否更好取决于模型自我评估的能力。 仅仅拥有视觉能力是不够的,还需要审美判断力、机械推理能力或停止添加细节的智慧。

这项实验揭示了模型自我评估和改进创作能力的不同维度,与Simon Willison最初的零样本基准测试揭示了模型首次尝试处理不寻常的创意任务的能力不同。

The Uselessness of "Fast" and "Slow" in Programming

软件工程中的尺度问题:对“快”与“慢”的思考 (软件工程中的尺度问题:关于“快”和“慢”的思考)

本文探讨了软件工程中一个独特的挑战:软件开发涉及的尺度跨度极大,从纳秒级的优化到数月时间内运行在数千个核心上的计算,甚至可能同时进行。这种跨度高达19个数量级,远远超过了大多数学科所能触及的范围。

主要观点:

  • 尺度跨度巨大: 软件开发涉及的范围极其广泛,对程序员来说,理解和处理这种巨大的尺度差异是困难的。
  • “快”与“慢”的模糊性: 在如此广阔的尺度范围内, “快”和“慢”等词语变得模糊且无意义。例如,500个周期、5万个周期和500万个周期,对于人类来说,差异并不明显,但对于实际的性能影响却大不相同。
  • 框架选择的误区: 开发者常常只关注框架的“每秒请求数”指标,而忽略了代码本身的处理效率。即使是性能较差的框架,如果代码本身效率低下,也无法达到预期的性能。
  • 数据库开发的重要性: 在数据库开发中,每一纳秒都至关重要,因为数据库操作会重复执行数万亿次。Go语言虽然在静态编译语言中属于较快的行列,但在对性能要求极致的数据库开发场景下,其一些弱点可能会暴露出来。
  • 避免过早优化: 应该关注操作的粗略数量级,根据实际情况选择优化策略。例如,在跨国HTTP请求中,简单的加法运算可以忽略不计,而应该关注API请求的性能。
  • 术语的精确性: 在讨论性能时,避免使用“快”和“慢”等含糊的词语,应明确说明性能指标、竞争对手和时间尺度。

总结:

文章强调了在软件工程中,理解和处理尺度差异的重要性。 开发者应该避免使用模糊的术语,关注实际的性能指标,并根据具体情况选择合适的优化策略,才能避免因过度关注微小的性能细节而忽略更大的问题。 过于强调“性能”而牺牲开发效率,有时反而会带来更大的损失。最终目标是选择适合特定需求的工具和技术,并确保代码能够高效地完成任务。

Cache-friendly, low-memory Lanczos algorithm in Rust

低内存 Lanczos 算法在 Rust 中的实现与性能分析

本文探讨了一种解决矩阵函数计算问题的方案:一种两遍 Lanczos 算法,它仅需要 O(n) 内存,但代价是矩阵向量乘积数量加倍。作者发现,在仔细实现的情况下,这种两遍版本不仅内存效率高,而且在某些问题上速度更快。

核心问题: 标准 Lanczos 方法需要存储一个 n × k 的基矩阵,这导致内存需求巨大,对于大型问题(例如 500,000 变量,1000 次迭代),仅基矩阵就需要大约 4GB 内存。

解决方案: 提出了一种两遍 Lanczos 算法,它仅需要 O(n) 内存,通过将计算分为两个阶段来实现:

  • 第一遍:计算投影问题: 运行标准的 Lanczos 算法,计算 α 和 β 系数,但不存储基向量。
  • 第二遍:重构和累积: 使用第一遍计算出的 α 和 β 系数,重新计算基向量,并利用它们构建解。

关键优势:

  • 内存效率: 显著降低内存需求,从 O(nk) 降至 O(n)。
  • 潜在的加速: 通过优化缓存访问,在某些情况下可以比标准 Lanczos 方法更快。

实现细节:

  • Rust 实现: 使用 faer 库,利用 MemStack 进行栈分配,避免频繁的内存分配。
  • 迭代器: 使用迭代器管理状态,避免不必要的拷贝。
  • 向量循环: 使用 zip! 宏生成 SIMD 友好的循环,提高计算效率。
  • 缓存优化: 两遍方法通过缓存本地累积来优化性能,避免了扫描大型基矩阵造成的内存延迟。

实验结果:

  • 内存使用: 两遍方法的内存使用量保持恒定,而标准方法随着迭代次数线性增长。
  • 运行时间: 在计算密集型问题中(例如,当矩阵是稠密的),两遍方法的运行时间几乎是标准方法的两倍。在内存带宽受限的问题中,两遍方法可以更快,因为它减少了从内存读取数据的需求。
  • 可扩展性: 两遍方法和标准方法都具有线性可扩展性,但两遍方法的内存占用更少。

结论:

两遍 Lanczos 算法提供了一种有效的内存优化技术,适用于大型稀疏矩阵函数计算问题。虽然它需要更多的矩阵向量乘积,但通过优化缓存访问,可以在某些情况下获得加速。该算法的实现和实验结果表明,低级优化和缓存友好的算法设计可以对性能产生重大影响。

相关资源:

Anthropic invests $50B in US AI infrastructure

Anthropic 发布 50 亿美元美国计算基础设施投资,加速 AI 发展

Anthropic 公司宣布一项 50 亿美元的投资计划,旨在建设美国计算基础设施,并与 Fluidstack 公司合作在德克萨斯州和纽约州建设数据中心,未来将扩展至更多地点。该项目旨在为 Anthropic 的工作负载提供最大效率,支持持续的前沿研究和开发。

主要要点:

  • 投资规模: 50 亿美元。
  • 合作方: Fluidstack 公司,负责建设数据中心。
  • 地理位置: 德克萨斯州和纽约州,未来将扩展至更多地点。
  • 目标: 优化 Anthropic 工作负载效率,支持前沿研究,并创造就业机会。
  • 就业机会: 项目预计将创造约 800 个永久职位和 2,400 个建筑职位。
  • 时间表: 数据中心将在 2026 年陆续投入使用。
  • 战略意义: 该项目旨在支持特朗普政府的《人工智能行动计划》,以维持美国在人工智能领域的领导地位,并加强国内技术基础设施。

Anthropic 公司发展:

Anthropic 的发展得益于其技术人才团队、对安全的关注以及前沿研究,包括对对齐和可解释性的开创性工作。目前 Anthropic 服务的客户超过 30 万家,大型客户数量(年营收超过 10 万美元的客户)在过去一年中增长了近七倍。

Fluidstack 公司:

Fluidstack 凭借其卓越的敏捷性,能够快速交付千瓦级的电力,被选为 Anthropic 的合作伙伴。

相关内容:

  • Claude Opus 4.5 发布: 这是目前全球在编码、代理和计算机使用方面表现最佳的模型,对幻灯片和电子表格等日常任务进行了有意义的改进,具有前沿性能和大幅提升的 token 效率。
  • Claude 可用于 Microsoft Foundry 和 Microsoft 365 Copilot: 进一步拓展了 Claude 的应用范围。
  • Anthropic 与 Microsoft、NVIDIA 宣布战略合作: Anthropic 将其快速增长的 Claude AI 模型部署在 Microsoft Azure 上,由 NVIDIA 提供支持,扩大了 Claude 的访问范围,并为 Azure 企业客户提供了更广泛的模型选择和新功能。 Anthropic 承诺购买 300 亿美元的 Azure 计算能力,并可额外采购高达一个千瓦的计算能力。
The Geometry Behind Normal Maps

切线空间详解:从法线贴图到理解表面几何

本文旨在解释切线空间的概念,以及它在计算机图形学中的作用,尤其是在法线贴图等技术中。作者分享了自己学习切线空间的过程,从最初只关注效果到深入理解其几何意义。

核心观点:

  • 切线空间并非渲染技巧,而是一种几何结构,任何具有参数化表面的物体都存在。
  • 它通过UV坐标将纹理坐标的“扁平世界”与3D表面的“弯曲世界”连接起来。
  • 切线空间在局部定义坐标系,用于表达方向、导数和变换,相对于表面本身而不是世界坐标系。

主要内容:

  1. 切线空间解剖:

    • 切线空间是每个表面点上的局部坐标系,由切平面和切向量组成。
    • 切平面是表面在该点的平坦近似,定义了该点的局部行为。
    • 切向量位于切平面上,与法向量共同构成正交基底,定义了切线空间。
  2. UV如何定义方向:

    • UV贴图将每个表面点映射到2D坐标,定义了纹理如何应用以及表面移动与纹理坐标移动之间的关系。
    • UV坐标定义了切线空间的方向,通过描述纹理坐标在表面上的运动来实现。
  3. 构建切线空间:

    • 切向量(切向向量和副切向向量)描述纹理坐标在表面上的运动。
    • 需要通过计算将纹理空间的方向转换到表面空间,这可以通过矩阵变换来实现。
    • 由于UV贴图通常非均匀,可能导致切向量不正交,需要使用Gram-Schmidt正交化过程进行校正,确保正交性和单位长度。
    • 切向向量和副切向向量以及法向量组成一个正交基底,定义了切线空间。
  4. 从切线空间到法线贴图:

    • 法线贴图利用切线空间将法向量存储为纹理,解决低多边形模型细节不足的问题。
    • 法线贴图中的每个像素编码一个法向量方向,这些方向在切线空间中定义。
    • 顶点着色器重建切线变换矩阵(TBN),将法线贴图中存储的方向转换到表面的坐标系中。
    • 法线贴图将RGB颜色值转换为法向量方向,从而模拟高多边形模型的细节。

总结:

切线空间是理解表面几何和纹理映射的关键。它提供了一种将纹理空间和表面空间联系起来的方式,使得法线贴图等技术能够有效地模拟表面细节,从而提升图形的真实感。 通过了解切线空间的原理,可以更好地理解和应用计算机图形学的相关技术。

Chat Control 2.0 through the back door

欧盟聊天控制提案引发担忧:数字自由面临威胁

在欧盟关键会议前夕,数字权利专家、前欧洲议会议员帕特里克·布雷耶博士发出了警报,警告一项“欺骗性的伎俩”正在通过幕后渠道推动一项强制性且扩大的聊天控制措施,其侵入性甚至超过了最初被否决的计划。该立法方案可能在闭门会议中获得批准。

布雷耶博士认为,这项立法包是一个“政治欺骗”,公开发布抗议后,包括德国、荷兰、波兰和奥地利在内的多个成员国曾明确表示反对无差别聊天控制。然而,现在它又以更隐蔽、更危险、更全面的形式卷土重来,试图欺骗公众。

核心问题:

该提案包含三个关键问题,布雷耶博士将其称为“毒药”:

  1. 强制聊天控制,伪装成“风险缓解”: 虽然明确的扫描义务已被取消,但新草案第4条存在漏洞,要求电子邮件、聊天和即时通讯服务提供商(如 WhatsApp)采取“所有适当的风险缓解措施”。 这意味着他们仍然可能被强制扫描所有私人消息,包括端到端加密服务。布雷耶博士警告说,这使得“移除指令”的废除变得毫无意义,甚至可能导致手机上的客户端扫描(CSS)成为强制要求,从而终结安全加密。

  2. 对文本聊天的全面监控:一场“数字女巫审判”: 所谓的“聊天控制”远远超出了先前讨论的对照片、视频和链接的扫描。 现在,算法和人工智能可以用于大规模扫描所有公民的私人聊天文本和元数据,以寻找可疑的关键词和信号。 布雷耶博士指出,人工智能无法可靠地区分调情、讽刺和犯罪的“引诱”,并担心会产生大量误报,将无辜公民置于普遍怀疑之下,并暴露大量私人甚至亲密的聊天记录和照片。

  3. 对青少年实施“数字居家禁足”,终结匿名通信: 在聊天控制辩论的阴影下,另外两项措施也被推动:

    • 终结匿名通信: 为了符合文本中对未成年人的身份验证要求,所有公民都需要出示身份证件或进行面部扫描才能打开电子邮件或即时通讯账户。“这将是对匿名通信的实质性终结,对依赖匿名保护的举报人、记者、政治活动家和寻求帮助的人来说是一场灾难。”
    • “数字居家禁足”: 16岁以下的青少年将被禁止使用 WhatsApp、Instagram、在线游戏以及众多具有聊天功能的应用程序,声称是为了保护他们免受引诱。“数字隔离而非教育,以排斥而非赋权来保护——这是家长制的、脱离现实的、错误的教育方法。”

呼吁行动:

布雷耶博士呼吁包括德国、荷兰、波兰、捷克、卢森堡、芬兰、奥地利和爱沙尼亚在内的多个欧盟政府,利用他们的否决权阻止这项“虚假妥协”。 他建议立即进行以下修正:

  1. 禁止通过“风险缓解”的后门进行强制聊天控制。
  2. 禁止人工智能聊天警察,仅将扫描限制在已知儿童性虐待材料(CSAM)上。
  3. 禁止大规模监控,只允许根据法院命令对嫌疑人进行有针对性的监控。
  4. 保留匿名权,取消强制年龄验证要求。

布雷耶博士总结道,这项提案承诺安全但却交付了一个全面的监控机器,承诺保护儿童却惩罚了我们的孩子,并将隐私定罪。 这不是妥协,而是一种对公民的欺诈行为,任何民主政府都不应参与其中。

关于帕特里克·布雷耶博士:

布雷耶博士是一位法学家、数字权利专家,直到2024年担任欧洲议会议员(海盗党)。 作为聊天控制法规(CSAR)的议会立场联合谈判人,他是一位在欧洲领先的无差别大规模监控批评者。

更新: 在抗议之后,11月13日,出现了一项澄清声明,指出聊天控制不应强制执行,即使是通过“风险缓解”的后门。 然而,其他问题仍然存在。 我们必须在即将到来的三方谈判(欧盟议会、欧盟政府和欧盟委员会)中提高我们的声音。 预计它们将在2026年1月开始,并在3月完成。

Shop Sans is a typeface for curved text paths

Shop Sans 字体概要 (Summary of Shop Sans Font)

Shop Sans 是一款专为圆形和弯曲文本路径设计的字体。其核心特点是“Curve”可变字体,允许用户调整细节,以优化字体在不同曲率半径下的弯曲效果,确保文字平滑呈现。

主要特点:

  • 针对曲线文本: 专门设计用于在圆形和弯曲文本路径上使用。
  • 可变字体 “Curve”: 通过可变字体技术,可以调整字体细节以适应不同的弯曲半径。
  • 常规非弯曲版本: 除了曲线版本,也提供常规的、非弯曲的字体变体,适用于标准文本设置。
  • 设计风格: 设计灵感来源于20世纪商业和工业领域的常见字体,具有直率、朴实但不乏个性的风格。

设计者及机构:

总而言之,Shop Sans 提供了在圆形和弯曲文本路径上显示文字的有效解决方案,并兼具实用性和复古风格。

A catalog of side effects

好的,以下是根据您提供的英文文本生成的中文摘要,字数控制在800字以内,不包含个人观点或未在原文中出现的信息,并采用Markdown格式:

编译器优化中的IR指令效应追踪

编译器优化器为了提升性能,需要追踪IR(中间表示)指令的_效应_。指令的效应范围很广,从无效应到写入特定变量,甚至到完全未知(写入所有状态)。本文探讨了编译器追踪这些效应的不同方法,并对一些主流编译器的实现进行了总结。

背景

IR指令效应追踪类似于编程语言中的代数效应,但编译器追踪的效应粒度更细,例如“写入局部变量”、“写入列表”或“从栈读取”,这些信息能够指导指令的重排序、复制或删除。

举例来说,一段伪代码:

v = some_var[0]
another_var[0] = 5

指令是否可以重排序取决于some_varanother_var是否_别名_(即是否指向同一对象)。 有时可以直接回答这个问题,但通常更有效率的是计算一个近似答案:它们_是否有可能_别名? 即使some_varanother_var类型不同,严格别名规则下,LoadStore操作也可能访问不同的内存地址。

效应表示方法

目前,编译器主要采用两种方式表示效应:位集(bitsets)和堆范围列表(heap range lists)。

  • 位集(Bitsets): Cinder (Facebook的Python JIT) 使用位集来表示“AliasClass”,其中每个位代表堆中的一个独立位置。位集运算(或运算表示并集,与运算表示交集)可以用于判断指令是否会互相影响。例如,ListItem代表所有可能的列表索引,而TupleItem代表所有元组项,它们之间互不影响。

  • 堆范围列表(Heap Range Lists): JavaScriptCore (WebKit浏览器引擎) 使用堆范围列表,通过预定和后定整数对来表示嵌套的堆效应。DOMJIT的抽象堆表示以YAML文件形式定义,清晰地展示了堆结构的层级关系。例如,Node_firstChildNode的子堆,而Node_nextSiblingNode_lastChild是相互独立的。

不同编译器的实现

  • Cinder: 使用位集表示效应,并将其应用于死代码消除(DCE)等优化。memoryEffects函数负责分析指令的效应。

  • JavaScriptCore: 采用抽象堆的概念,使用堆范围列表来表示效应。rangesOverlap函数用于判断两个范围是否重叠。

  • Android ART: 也使用位集来表示效应,并应用于循环不变代码运动、全局值编号等优化。

  • V8: 使用位集来表示效应,并应用于值编号等优化。

总结

无论是位集还是堆范围列表,都可以有效地表示IR指令的效应,并指导编译器的优化。选择哪种方法取决于具体的应用场景和性能需求。 理解IR指令的效应对于实现高效的编译器优化至关重要。

参考项目

Terminal Latency on Windows (2024)

Windows 终端性能评估:MinTTY 依然出色

本文回顾了作者对 Windows 终端的选择,并对多个终端进行了性能测试,以寻找最佳的终端体验。文章最初于 2009 年撰写,讨论了 MinTTY 的优势,如今依然是作者的最爱之一。

背景与现状:

  • Windows 终端环境得到了显著改善:
    • Cygwin 默认使用 MinTTY。
    • Windows 增加了 PTY 支持,减少了延迟。
    • Windows 提供了对 ANSI 终端序列的全面支持。
    • 出现了多种终端选择,例如 Cmder、ConEmu、Alacritty、WezTerm 和 xterm.js。

测试目标:

作者关注以下几个方面:

  • 基本功能: 24 位颜色、合理默认字体(支持 emoji)、斜体支持。
  • 输入延迟: 按键到像素显示的时间。
  • 吞吐量: 处理大量输出的能力。
  • 多标签支持: 尽管 tmux 已经满足需求,但多标签功能依然是加分项。

测试终端:

  • Legacy conhost.exe (Windows 10 19045)
  • MinTTY (3.7.0)
  • Alacritty (0.13.1)
  • WezTerm (20240203-110809-5046fc22)
  • Windows Terminal (1.18.10301.0)

测试方法:

  • 功能测试: 使用 colortest.rs 脚本测试颜色和斜体支持,使用 emoji-data.txt 测试 emoji 支持。
  • 延迟测试: 使用 "Is It Snappy?" 工具测量按键到像素显示之间的帧数,在 80x50 窗口和全屏 Emacs 编辑场景下进行测试。
  • 吞吐量测试: 使用 cat 命令测量处理大量文本文件所需的时间。
  • CPU 使用率测试: 观察终端在持续按键和空闲状态下的 CPU 使用率。

测试结果:

  • 功能: 除了 conhost.exe,所有终端均满足基本功能要求。conhost.exe 的默认调色板质量较差。
  • 延迟: conhost.exe 和 MinTTY 延迟最低,其他终端稍有差距。
  • 吞吐量: MinTTY 在吞吐量测试中表现出色,远超其他终端。
  • CPU 使用率: WezTerm 的 CPU 使用率异常高,MinTTY 和 Windows Terminal 在空闲时 CPU 使用率较高。conhost.exe 在空闲时 CPU 使用率最低。

结论:

  • MinTTY 依然是优秀的终端选择,拥有低延迟、高吞吐量和良好的默认调色板。
  • conhost.exe 延迟最低,但功能和默认调色板存在不足。
  • Alacritty、WezTerm 和 Windows Terminal 在延迟方面略逊一筹,但属于同一性能级别。
  • WezTerm 的 CPU 使用率存在问题,需要修复。
  • Windows Terminal 的 CPU 使用率过高,影响系统性能。

更新:

Windows Terminal 1.19 版本修复了一个问题,将延迟降低了一半,使其与 WSLtty 的性能相当。

总而言之,文章建议使用 MinTTY 作为 WSL 的默认终端,并指出 Windows 终端和其他终端在性能和资源消耗方面仍有改进空间。