2026-01-29

23 篇热帖

We can’t send mail farther than 500 miles (2002)

统计系邮件系统距离限制事件总结 (Summary of the Statistics Department Email System Distance Restriction Incident)

本文讲述了作者Trey Harris在校园邮件系统中遇到的一个奇怪问题:统计系无法发送超过500英里(约520公里)的邮件。

事件经过:

  • 问题报告: 统计系主任报告称,该系的邮件系统无法发送超过500英里的邮件。
  • 初步调查: 作者起初难以置信,并询问为何未尽早报告。统计系主任表示,他们通过统计学家的地理分析确定了距离限制,并等待数据收集完成才报告。
  • 实验验证: 作者登录统计系服务器进行测试,发现确实存在距离限制:距离近的城市(如Richmond、Atlanta、Princeton)可以发送邮件,但距离较远的城市(如Memphis、Boston、Detroit)则无法发送。
  • 配置检查: 作者检查了sendmail.cf文件,发现该文件实际上是他自己编写的,并且与他本地的配置相同。
  • 问题根源: 作者通过Telnet连接 SMTP 端口,发现服务器使用的 Sendmail 版本是 SunOS 提供的 Sendmail 5,而不是作者标准化的 Sendmail 8。原来,顾问在“修复”服务器时,实际上将其升级到了旧版本的 SunOS,导致 Sendmail 版本被降级。
  • 技术原理: Sendmail 5 虽然能读取 Sendmail 8 的 sendmail.cf 文件,但无法正确处理 Sendmail 8 中引入的较长、自文档化的配置选项,导致这些选项被忽略,并被设定为零。其中一个被设为零的选项是连接远程 SMTP 服务器的超时时间,在特定的网络环境下,这个超时时间被设置为极短(约3毫秒),导致超过一定距离的邮件发送失败。
  • 网络环境影响: 校园网络当时是完全交换式的,这意味着邮件包到达出口前不会经历路由器延迟,因此连接远程主机的速度很大程度上取决于光速距离。

总结:

统计系邮件系统出现距离限制的根本原因是服务器版本升级导致 Sendmail 版本降级,从而使得 Sendmail 无法正确解析作者编写的 sendmail.cf 文件中的配置选项,最终导致超时时间过短,限制了邮件的发送距离。事件揭示了系统版本升级可能带来的意外后果,以及网络环境对邮件传输速度的影响。


统计系邮件系统距离限制事件总结 (Chinese Translation)

本文讲述了作者Trey Harris在校园邮件系统中遇到的一个奇怪问题:统计系无法发送超过500英里(约520公里)的邮件。

事件经过:

  • 问题报告: 统计系主任报告称,该系的邮件系统无法发送超过500英里的邮件。
  • 初步调查: 作者起初难以置信,并询问为何未尽早报告。统计系主任表示,他们通过统计学家的地理分析确定了距离限制,并等待数据收集完成才报告。
  • 实验验证: 作者登录统计系服务器进行测试,发现确实存在距离限制:距离近的城市(如Richmond、Atlanta、Princeton)可以发送邮件,但距离较远的城市(如Memphis、Boston、Detroit)则无法发送。
  • 配置检查: 作者检查了sendmail.cf文件,发现该文件实际上是他自己编写的,并且与他本地的配置相同。
  • 问题根源: 作者通过Telnet连接 SMTP 端口,发现服务器使用的 Sendmail 版本是 SunOS 提供的 Sendmail 5,而不是作者标准化的 Sendmail 8。原来,顾问在“修复”服务器时,实际上将其升级到了旧版本的 SunOS,导致 Sendmail 版本被降级。
  • 技术原理: Sendmail 5 虽然能读取 Sendmail 8 的 sendmail.cf 文件,但无法正确处理 Sendmail 8 中引入的较长、自文档化的配置选项,导致这些选项被忽略,并被设定为零。其中一个被设为零的选项是连接远程 SMTP 服务器的超时时间,在特定的网络环境下,这个超时时间被设置为极短(约3毫秒),导致超过一定距离的邮件发送失败。
  • 网络环境影响: 校园网络当时是完全交换式的,这意味着邮件包到达出口前不会经历路由器延迟,因此连接远程主机的速度很大程度上取决于光速距离。

总结:

统计系邮件系统出现距离限制的根本原因是服务器版本升级导致 Sendmail 版本降级,从而使得 Sendmail 无法正确解析作者编写的 `

Please Don't Say Mean Things about the AI I Just Invested a Billion Dollars In

摘要:英伟达 CEO 黄仁富呼吁停止对人工智能的负面评价

根据Gizmodo的报道,英伟达CEO黄仁富公开呼吁停止对人工智能技术的负面评价。文章以讽刺的口吻,模拟黄仁富的表态,表达了他对人工智能技术遭遇批评的担忧。

主要观点和细节:

  • 对批评的抵制: 黄仁富表达了对人工智能技术被指责为“欺骗老年人”、“破坏社会信任”、“生成不当内容”等负面评价的强烈不满,认为这些指责毫无根据。
  • 技术重要性: 他强调人工智能技术是“人类历史上最重要的工具”,并认为不应因为其带来的负面影响而对其进行嘲讽。
  • 对批评的反驳: 黄仁富反驳了对该技术可能导致失业、环境破坏等问题的担忧,认为这种“黑白分明”的思维方式不现实,并且“残酷”。
  • 潜在益处: 他声称该技术将推动各行业创新,解决女性主义和性别平等问题。
  • 承认并淡化负面影响: 尽管承认人工智能技术可能导致监控状态扩大、教育系统崩溃、侵犯版权、以及开发自主杀伤性武器等问题,但黄仁富试图淡化这些负面影响,并最终呼吁人们接受和使用该技术。
  • 个人诉求: 文章结尾以恳求的口吻表达了黄仁富希望继续“不道德的科技极权主义生活”,并避免受到批评的愿望。

总结:

该文章以一种讽刺的方式呈现了黄仁富对人工智能技术遭遇批评的反应。他既试图为该技术辩护,强调其潜在益处,又对批评的声音表示不满,并最终呼吁人们接受和使用该技术,尽管承认其存在诸多问题。文章整体基调带有反讽意味,暗示了对科技巨头及其产品可能带来的负面影响的担忧。

Somebody used spoofed ADSB signals to raster the meme of JD Vance

总结:利用ADS-B欺骗技术在Mar-a-Lago上方绘制JD Vance的表情包

这篇文章报道了利用ADS-B (Automatic Dependent Surveillance-Broadcast) 欺骗技术,在佛罗里达州Mar-a-Lago上方绘制了JD Vance表情包事件。

主要内容:

  • 欺骗行为: 某人利用ADS-B欺骗技术,伪装成一架VC-25A (美国总统专机,Air Force One) 飞机,在ADSBExchange的平台上展示了JD Vance的表情包图像。
  • ICAO标识: 欺骗信号使用了“AF2”的ICAO (国际民航组织) 标识。
  • 呼号: 该欺骗飞机的呼号是 "VANCE1"。
  • 事件发生地: 表情包图像显示在Mar-a-Lago上方。
  • 时间: 事件发生于2026年1月28日。
  • 来源: 该事件最初由 Twitter 用户 @SR_Planespotter 发布。
  • 相关讨论: 文章提到了对ADS-B年龄验证的需求,以及Fediverse上的其他相关讨论,包括WhatsApp的新“严格帐户设置”功能以及关于保护美国第一修正案免受外国攻击的讨论。
  • **评论:**文章中包含用户对“rasterize”一词的校正,以及对旧Tektronix设备的回忆。

关键词: ADS-B, Trump, JD Vance, 欺骗, Air Force One, Mar-a-Lago.

总而言之,该事件展示了ADS-B欺骗技术被用于恶作剧或传播虚假信息的能力,并引发了对ADS-B系统安全性的讨论。

Europe’s next-generation weather satellite sends back first images

欧洲气象第三代下一代气象卫星探测器 (MTG-S) 首批图像发布

概述

2026年1月27日,欧洲空间局 (ESA) 在布鲁塞尔欧洲空间会议上发布了来自气象第三代下一代气象卫星探测器 (MTG-S) 的首批图像。这些图像展示了该任务如何提供温度和湿度数据,从而能够更准确地预测欧洲和北非地区的天气。

主要功能与数据

MTG-S 卫星搭载的红外探测器 (Infrared Sounder) 仪器能够拍摄地球的全景图像,其轨道高度约为 36000 公里。

  • 温度图像: 使用长波红外通道测量地球表面温度以及云顶温度。深红色代表高温(主要为陆地表面),蓝色代表低温(通常为云顶)。图像显示非洲和南美洲地区温度较高,西非海岸线(包括塞内加尔首都达卡)和纳米比亚、南非西部海岸线在图像中呈现红色。
  • 湿度图像: 使用中波红外通道测量地球大气中的湿度。蓝色代表大气湿度较高,红色代表大气湿度较低。撒哈拉沙漠和中东地区显示出最干燥的大气。
  • 火山活动监测: 通过红外通道突出显示发展中的火山灰云,动画展示了2025年11月23日埃塞俄比亚 Hayli Gubbi 火山的喷发过程。

任务特点与意义

  • 下一代气象预报: MTG 任务旨在解决欧洲面临的科学和社会挑战,为天气和空气质量预报提供变革性的数据。
  • 地同步轨道: 卫星位于地同步轨道,可以维持相对于地球的固定位置,覆盖欧洲和北非部分地区,并以 15 分钟的重复周期提供数据。 每30分钟提供新的温度和湿度数据,配合 MTG-Imager (MTG-I) 卫星的云层和闪电数据,为气象学家提供完整的区域天气图。
  • 超光谱仪器: MTG-S 卫星上的红外探测器是欧洲首台地同步轨道的超光谱探测器。该仪器使用干涉技术分析光波的微小模式,以获取温度、湿度,以及测量大气中的风和痕量气体的数据。
  • 三维大气图: 最终,这些数据将被用于生成三维大气图,从而提高天气预报的准确性,特别是在对快速变化的风暴进行短期预报时。
  • 多任务卫星: MTG-S 卫星还搭载了哥白尼 Sentinel-4 任务,该任务利用紫外、可见光和近红外 (UVN) 成像光谱仪进行大气污染监测。

卫星信息

  • MTG 任务目前有两颗卫星:MTG-I 和 MTG-S。第二颗成像卫星将于 2026 年晚些时候发射。
  • MTG-S 卫星于 2025 年 7 月 1 日发射。
  • Thales Alenia Space 是 MTG 任务的总承包商,OHB Systems 负责 MTG-S 卫星。
  • Eumetsat 负责任务控制和数据分发。
Vitamin D and Omega-3 have a larger effect on depression than antidepressants

总结:维生素 D 和 Omega-3 补充剂可能对抑郁症有益

TL;DR: 抗抑郁药对抑郁症的平均效果相当于从 C 级到 C+ 级。1500 毫克/天的 ≥60% EPA 的 Omega-3 补充剂效果稍好,相当于从 C 级到 B– 级。而 5000 IU/天的维生素 D 效果最佳,相当于从 C 级到 A– 级!即使你已经服用维生素 D 和 Omega-3,也可能需要增加剂量。

详细总结:

这篇内容探讨了抗抑郁药、Omega-3 补充剂和维生素 D 对抑郁症的影响,并通过“效应大小”来衡量这些干预措施的效果。

  • 效应大小的解释: 效应大小是一种标准化指标,用于衡量两组之间的差异,并考虑了数据的变异程度。作者将效应大小与学校成绩联系起来,方便理解:

    • F:低于平均水平 2 个标准差(可能表示自杀倾向)
    • D:低于平均水平 1 个标准差(抑郁)
    • C:平均水平
    • B:高于平均水平 1 个标准差(积极乐观)
    • A:高于平均水平 2 个标准差(非常积极)
  • 抗抑郁药: 研究表明,最佳抗抑郁药的效果大小约为 0.4,相当于从 C 级到 C+ 级。虽然效果有限,但抗抑郁药可能通过“安慰剂效应”发挥作用,即患者对获得治疗的预期会产生积极影响。

  • Omega-3: 研究发现,1500 毫克/天的 ≥60% EPA 的 Omega-3 补充剂的效果大小约为 0.6,相当于从 C 级到 B– 级。这意味着 Omega-3 比抗抑郁药略好,并且风险较低。

  • 维生素 D: 研究表明,5000 IU/天的维生素 D 的效果大小约为 1.8,相当于从 C 级到 A– 级。这是三种干预措施中效果最好的,甚至可能比抗抑郁药更有效。即使你没有维生素 D 缺乏症,补充维生素 D 仍然有益。作者建议检查维生素 D 的剂量,因为官方推荐的剂量可能过低。

结论与建议:

作者强调,维生素 D 和 Omega-3 补充剂具有低风险、高回报的潜力,并建议在咨询医生后,至少尝试服用一个月。他们还指出,政策制定通常滞后于科学研究,因此有必要关注这些被低估的干预措施。

具体建议:

  • 每天服用约 1500 毫克 ≥60% EPA 的 Omega-3 补充剂。
  • 每天服用约 5000 IU 的维生素 D 补充剂。
  • 如果你已经服用抗抑郁药,不要停止,可以尝试将补充剂与药物结合使用。

作者强调,这些补充剂并非万能药,但它们可能对改善心理健康有显著作用。

免责声明: 作者明确表示,这并非医疗建议,请在咨询医生后进行尝试。

Render Mermaid diagrams as SVGs or ASCII art

美丽 Mermaid:快速、美观且多功能的 Mermaid 图表渲染器

beautiful-mermaid 是 Craft 团队为 Craft Agents 构建的,旨在为 AI 辅助编程提供强大的图表支持。它解决了现有 Mermaid 渲染器的一些问题,并提供了快速、美观且灵活的解决方案。

核心问题与解决方案:

传统的 Mermaid 渲染器存在以下问题:

  • 美观度: 默认样式可能不够专业。
  • 主题定制: 定制颜色需要复杂的 CSS 调整。
  • 终端输出: 无法直接在命令行工具中渲染。
  • 依赖臃肿: 引入了过多的代码来渲染简单的图表。

beautiful-mermaid 旨在解决这些问题,提供:

  • 速度快: 渲染 100+ 图表小于 500ms。
  • 美观: 内置 15 个精心设计的预设主题,并支持自定义主题。
  • 通用性: 支持在富 UI 和纯文本终端中渲染。
  • 轻量级: 纯 TypeScript 实现,零 DOM 依赖。

主要特性:

  • 支持 5 种图表类型: 流程图、状态图、序列图、类图、ER 图。
  • 双重输出: SVG 格式用于富 UI,ASCII/Unicode 格式用于终端。
  • 15 个内置主题: 方便选择,并易于添加自定义主题。
  • 完全兼容 Shiki: 直接使用 VS Code 主题,访问数百个社区主题。
  • 实时主题切换: 使用 CSS 自定义属性,无需重新渲染。
  • 单色模式: 仅使用两种颜色也能渲染出美观的图表。
  • 零 DOM 依赖: 纯 TypeScript,可在任何地方使用。
  • 超快速度: 高性能渲染。

安装:

使用 npm, bun 或 pnpm 安装:

npm install beautiful-mermaid
# 或
bun add beautiful-mermaid
# 或
pnpm add beautiful-mermaid

快速入门:

SVG 输出:

import { renderMermaid } from 'beautiful-mermaid'

const svg = await renderMermaid(`
  graph TD
    A[Start] --> B{Decision}
    B -->|Yes| C[Action]
    B -->|No| D[End]
`)

ASCII 输出:

import { renderMermaidAscii } from 'beautiful-mermaid'

const ascii = renderMermaidAscii(`graph LR; A --> B --> C`)

// 输出示例
┌───┐     ┌───┐     ┌───┐
│   │     │   │     │   │
│ A │────►│ B │────►│ C │
│   │     │   │     │   │
└───┘     └───┘     └───┘

浏览器 (脚本标签):

<script src="https://unpkg.com/beautiful-mermaid/dist/beautiful-mermaid.browser.global.js"></script>
<script>
  const { renderMermaid, THEMES } = beautifulMermaid;
  renderMermaid('graph TD; A-->B').then(svg => { ... });
</script>

主题系统:

beautiful-mermaid 的主题系统使用两种基本颜色:背景 (bg) 和 前景 (fg)。

  • 双色基础 (Mono Mode): 仅需 bgfg 两个颜色,通过 color-mix() 函数派生出其他颜色。
  • 增强模式 (Enriched Mode): 可以提供额外的颜色来覆盖特定派生的颜色,例如 line (线条), accent (强调), muted (柔和), surface (表面) 和 border (边框)。
  • CSS 自定义属性: 所有颜色都以 CSS 自定义属性的形式存在,允许实时切换主题而无需重新渲染。
  • 内置主题: 提供 15 个预设主题。
  • 自定义主题: 创建自定义主题非常简单,只需提供 bgfg 颜色即可。

Shiki 兼容性:

支持使用 VS Code 主题,通过 fromShikiTheme() 函数将 VS Code 主题的颜色映射到图表角色。

API 参考:

  • `renderMermaid(text, options?): Promise<
That's not how email works

HSBC 的邮件追踪问题与不合理的通知

这篇文章讲述了作者与 HSBC 银行在邮件问题上经历的一系列令人困惑的事件。

事件经过:

作者持有 HSBC 信用卡,但使用频率不高。 HSBC 突然寄来一封信,通知作者的邮件地址已被退回,需要更新。作者登录银行账户,发现其邮件地址与账户中的地址一致。通过在线客服沟通,客服坚持要求作者更新邮件地址,即使邮件地址本身是正确的。作者随后致电客服,客服告知作者如果邮件地址正确,可以忽略该信件。作者建议 HSBC 应该更新信件模板,避免误导用户。

追踪像素问题:

作者进一步分析 HSBC 邮件,发现邮件底部包含追踪像素 (tracking pixels),用于追踪邮件的读取情况。 HSBC 使用 http:// 协议,而非安全的 https:// 协议,这存在安全隐患,可能泄露用户的 IP 地址和网络信息。更糟糕的是,由于作者使用隐私保护工具屏蔽了追踪像素, HSBC 错误地认为作者没有收到邮件,进而发送了更新邮件地址的通知。

作者的观点和建议:

作者认为 HSBC 错误地假设了追踪像素的可靠性,并对 HSBC 的做法提出了批评:

  • 停止使用不安全的追踪像素: 建议 HSBC 采用安全的 HTTPS 协议,并避免泄露用户网络信息。
  • 不要假设屏蔽追踪像素的用户没有收到邮件: 强调屏蔽追踪像素并不意味着用户没有收到邮件。
  • 停止追踪用户邮件阅读习惯: 建议 HSBC 尊重用户隐私,不要过度监控用户行为。
  • 采用更可靠的验证方法: 建议 HSBC 使用邮件验证链接等方式来确认邮件地址的有效性。

总结:

作者指出 HSBC 的做法反映了过度依赖追踪技术的 “黑暗时间线” 式的监控行为。作者呼吁 HSBC 尊重用户隐私,并改进其数据使用策略,避免不必要的误导和安全风险。文章以作者的个人经历为切入点,揭示了银行在数据监控方面的潜在问题,并提出了改进建议。


(以下为中文翻译的脚注)

1 你知道,那个标榜多元文化的银行,我们曾经拿它开玩笑。 2 很久以前,我也有一个 HSBC 的储蓄账户,后来转银行时忘记关掉… 20 年前… 并且我可能还欠他们六便士,当时账户余额是负的。 3 毕竟,我一直在阅读他们的邮件! 4 毕竟,正如我再次强调:HSBC 为我记录的,并且正在使用的邮件地址,已经正确无误。 5 今后,我直接打电话处理。在线客服虽然可以在后台进行,但整个交流耗时一个小时却得不到满意的结果,而电话沟通通常能在 10 分钟内解决问题(希望如此)。 6 追踪像素还可以收集有关您的其他个人信息,例如您打开邮件时的 IP 地址,这可能会泄露您的位置。 7 甚至更糟糕!一个精通技术的攻击者可以将图像注入到 HSBC 邮件的底部;这些图像可以显示文本,例如“您需要立即致电 HSBC [攻击者电话号码]”。这将允许欺诈者通过将自己的内容注入到合法的 HSBC 邮件中来劫持邮件。 真的, HSBC,您应该解决这个问题。

The UK paid £4.1M for a bookmarks site

英国政府人工智能技能枢纽项目总结

英国政府最近推出了“人工智能技能枢纽”(AI Skills Hub)项目,旨在到2030年为1000万名工人提供人工智能技能培训。该项目由普华永道(PwC)负责,耗资410万英镑(约合565.7万美元)。

然而,该项目受到了广泛批评,主要集中在以下几个方面:

  • 糟糕的用户界面: 该网站的用户界面设计极其糟糕,被描述为“vibecoded”,缺乏专业性和精心设计。
  • 缺乏原创内容: 该网站的主要功能仅仅是链接到外部平台,例如Salesforce的Trailhead学习平台,并没有自主开发课程内容。
  • 未能满足可访问性标准: 普华永道承认该网站未能完全符合可访问性标准,导致用户体验不佳,甚至对无障碍用户造成困扰。
  • 内容错误: 网站上关于“人工智能与知识产权”的课程中,错误地引用了美国的“合理使用”(Fair Use)概念,而英国采用的是更为严格的“公平交易”(Fair Dealing)原则。
  • 设计缺陷: 网站设计存在诸多问题,例如课程注册按钮过小,难以找到,以及某些功能(如“技能与培训差距分析”)被不合理地关闭。

文章作者对该项目的浪费和缺乏匠心精神表示愤怒。作者认为,在公共服务面临困境的情况下,将410万英镑用于建设一个几乎无人使用的网站是极不合理的。此外,作者也批评政府没有选择国内小型网站开发企业,而是将项目交给年收入高达600亿美元的跨国公司普华永道。

文章还提到了另一个政府网站“AI Delivery”,该网站是由人工智能生成的,虽然质量比“人工智能技能枢纽”好一些,但仍缺乏对作品的自豪感。

总而言之,该项目反映了英国政府在人工智能技能培训方面投入资金,但缺乏有效性和质量控制,引发了对政府决策和项目执行的质疑。

Apple to Soon Take Up to 30% Cut from All Patreon Creators in iOS App

苹果要求 Patreon 创作者在 2026 年 11 月 1 日前切换至 App Store 内购

主要内容:

苹果公司已设定新的截止日期,要求所有 Patreon 创作者在 2026 年 11 月 1 日前,将他们的支付系统从 Patreon 的旧版系统切换到 iPhone 和 iPad 上的 App Store 内购系统。此举旨在让苹果对 Patreon 平台上的订阅费用收取佣金。

关键细节:

  • 背景: Patreon 是一个平台,允许创作者(如 YouTube 创作者)从粉丝那里获得付款,作为广告和赞助之外的重要收入来源。
  • 苹果的立场: 苹果将 Patreon 上的创作者支持付款视为数字商品,并有权收取佣金。
  • 佣金比例: 苹果对内购和订阅收取 30% 的佣金,但对于持续超过一年的订阅,佣金降低至 15%。
  • 创作者选择: Patreon 允许创作者选择在 iOS 应用中提高价格以应对费用,或者自行承担费用,保持不同平台上的价格不变。
  • 绕过内购: Patreon 用户可以通过 Patreon 网站完成付款,从而绕过 App Store 的佣金。
  • 当前采用率: 目前,只有 4% 的 Patreon 创作者仍在继续使用旧版支付系统。
  • 政策反应: Patreon 对苹果的政策表示失望。
  • 相关链接: Patreon 已经发布了带有更多详细信息的 FAQ:https://support.patreon.com/hc/en-us/articles/28801582599181-iOS-In-app-Purchases-and-Migrating-to-Subscription-Billing-FAQ

其他新闻:

  • 新产品发布: 苹果发布了二代 AirTag 和 Black Unity Connection Braided Solo Loop Apple Watch 表带。
  • iPhone 5s 软件更新: 苹果为 iPhone 5s 和 iPhone 6 发布了 iOS 12.5.8 更新,继续支持这些设备,分别达到 13 年和 12 年的软件更新周期。
  • Apple Creator Studio 发布: 苹果发布了 Apple Creator Studio,这是一个包含 Final Cut Pro、Logic Pro 等一系列应用程序的订阅服务,每月费用为 12.99 美元或每年 129 美元。
  • 预计产品发布: 预计 2026 年苹果将发布超过 20 种产品,包括智能家居中心和其他新产品。
Show HN: A MitM proxy to see what your LLM tools are sending

Sherlock:LLM CLI 工具的令牌追踪器 - 概要

Sherlock 是一个用于 LLM (大型语言模型) 命令行界面 (CLI) 工具的令牌追踪器,提供一个实时的终端仪表盘,帮助用户监控其令牌使用情况。

主要功能和特点:

  • 令牌使用追踪: 实时显示每个请求消耗的令牌数量。
  • 上下文窗口监控: 使用燃料表显示累计使用量与限制之间的关系。
  • 提示调试: 自动保存每个提示为 Markdown 和 JSON 格式,方便审查。
  • 零配置: 安装即可使用,无需配置证书或进行其他设置。

安装与使用:

  1. 从 GitHub 克隆项目:git clone https://github.com/jmuncor/sherlock.git
  2. 进入项目目录:cd sherlock
  3. 安装:pip install -e .
  4. 在第一个终端启动仪表盘:sherlock start (可以选择端口和令牌限制)。
  5. 在第二个终端运行 LLM 工具,例如:
    • sherlock claude (Anthropic Claude Code)
    • sherlock gemini (Google Gemini CLI - 存在已知问题,受 upstream issue 影响)
    • sherlock codex (OpenAI Codex)
  6. Sherlock 会自动配置代理,并将请求通过代理转发,同时在仪表盘中实时更新令牌使用情况。

核心组件:

  • HTTP 代理: 运行在本地端口 (默认 8080),拦截并处理 LLM CLI 工具的请求。
  • 仪表盘: 实时显示令牌使用情况、上下文窗口状态 (颜色编码:绿色、黄色、红色) 和最后一次提示。
  • 提示存档: 将每个请求的提示保存为 Markdown 和 JSON 格式,方便调试和分析。

支持的提供商:

  • Anthropic (Claude Code) - 支持
  • Google (Gemini CLI) - 待修复 upstream issue
  • OpenAI (Codex) - 支持

指令:

  • sherlock start: 启动代理和仪表盘。
  • sherlock claude: 使用代理运行 Claude Code.
  • sherlock gemini: 使用代理运行 Gemini CLI.
  • sherlock codex: 使用代理运行 OpenAI Codex CLI.
  • sherlock run --provider <name> <cmd>: 使用代理运行任意命令。

工作原理:

Sherlock 通过配置 LLM CLI 工具使用本地 HTTP 代理 (localhost:8080) 来拦截请求。 代理同时运行仪表盘和提示存档功能,并将请求转发到 LLM 提供商的 API。

贡献:

欢迎贡献代码! 可以通过 Fork 仓库、创建分支、提交修改、推送代码并创建 Pull Request 的方式参与项目。

Oban, the job processing framework from Elixir, has come to Python

Oban.py 总结:数据库驱动的 Python 作业队列

本文介绍了 Oban.py,一个使用数据库(PostgreSQL)作为核心的 Python 作业队列框架。作者分享了探索 Oban.py 代码库的笔记和观察,并将其与 Elixir 版本的 Oban 进行比较,同时探讨了并发概念。

核心特点:

  • 数据库驱动: Oban.py 将作业插入和处理都依赖于数据库。用户可以在同一个数据库事务中插入作业(例如,创建用户和发送确认邮件),如果事务失败,所有操作都会回滚。
  • 队列和限制: 支持本地和全局队列限制,并能够存储已完成的作业及其结果。内置 cron 定时功能,以及其他队列管理功能。
  • 开源和专业版: Oban.py 分为开源版 (OSS) 和商业版 (Pro)。
  • OSS 限制: 开源版本存在一些限制:
    • 单线程 asyncio 运行: 并发但不真正并行,CPU 密集型任务会阻塞事件循环。
    • 不支持批量插入/确认: 每个作业单独插入和确认。
    • 不太准确的重试机制: 长时间运行的作业可能被错误地重试。
  • Pro 版增强功能: Pro 版本解决了上述限制,并提供额外功能,如工作流、中继、唯一作业和智能并发。

作业处理流程:

  1. 插入: 作业被插入到 oban_jobs 表中,状态为 available,并触发 PostgreSQL NOTIFY 事件。
  2. Stager 唤醒: 监听该事件的每个 Oban 节点上的 Stager 被唤醒,并仅关注其运行的队列。
  3. Producer 调度: Stager 通知 Producer,Producer 负责将作业分发给 Worker。
  4. 获取作业 (加锁): Producer 使用 FOR UPDATE SKIP LOCKED 语句从数据库中获取新的作业,并将其状态更新为 executingSKIP LOCKED 允许并发获取,避免等待。
  5. 执行: Producer 将作业分发给 Worker,Worker 执行任务。
  6. 确认: 任务完成后,Executor 处理结果,并通知 Producer 确认作业完成。

后台流程:

  • 领导者选举: 利用 PostgreSQL 的 INSERT ... ON CONFLICT 机制进行简单有效的领导者选举,负责 Pruner 和 Lifeline 的工作。
  • Lifeline (救援): 领导者节点负责救援长时间执行但未完成的作业,避免它们无限期地卡住。
  • Pruner (清理): 领导者节点负责清理已完成、已取消或已丢弃的旧作业。
  • 重试和回退: Worker 在执行失败时,根据配置进行重试,并使用抖动 (jitter) 机制防止重试风暴。

总结:

Oban.py 是一款优秀的作业队列框架,特别是由于其依赖于 PostgreSQL 进行协调,减少了对外部基础设施的需求。开源版本适合小型项目,而专业版本则提供了更强大的功能和性能,尤其适用于大规模应用。作者认为,Oban.py 的代码库设计清晰,易于理解。

LM Studio 0.4

LM Studio 0.4.0 发布总结 (LM Studio 0.4.0 Release Summary)

LM Studio 0.4.0 已经发布,带来了多项重大更新,旨在提升性能、扩展部署方式和改善用户体验。

主要亮点:

  • 无 GUI 部署 (Headless Deployment): 引入 llmster,LM Studio 的核心组件,现在可以独立运行,无需图形界面。这意味着可以在服务器、CI/CD 流程、云服务器、Google Colab 等环境中部署 LM Studio。
  • 并行请求 (Parallel Requests): 利用 llama.cpp 2.0.0 的支持,LM Studio 现在可以处理多个并发推理请求,提高吞吐量。用户可以在模型加载对话框中设置 "Max Concurrent Predictions" 和启用 "Unified KV Cache"。
  • 全新 REST API: 提供了一个新的状态式 REST API 端点 /v1/chat,允许使用本地 MCP(模型配置插件)进行聊天,并提供详细的性能统计信息。
  • UI 焕新 (UI Refresh): 用户界面进行了全面改进,包括聊天导出、分屏视图、开发者模式和内联文档。
  • 聊天导出: 支持将聊天导出为 PDF、Markdown 或纯文本格式。
  • 分屏视图: 允许用户并排打开多个聊天会话。
  • 开发者模式: 暴露了更多高级选项,方便开发者进行配置和调试。
  • 内联文档: 提供新的内联文档,涵盖 REST API、CLI 命令和高级配置选项。
  • CLI 体验升级: 引入了新的 CLI 体验,以 lms chat 命令为中心,可以在终端中直接进行聊天和下载模型。

安装方式:

  • Linux / Mac: curl -fsSL https://lmstudio.ai/install.sh | bash
  • Windows: irm https://lmstudio.ai/install.ps1 | iex

关键命令:

  • lms daemon up: 启动守护进程。
  • lms get <model>: 下载模型。
  • lms server start: 启动本地服务器。
  • lms chat: 在终端中打开交互式聊天会话。
  • lms runtime update llama.cpp: 更新运行时。

权限密钥 (Permission Keys): 为了控制对 LM Studio 服务器的访问,引入了权限密钥,可以在应用设置的服务器选项卡中生成和管理。

其他改进:

  • 修复了多个 bug,提升了应用的稳定性和性能。
  • 增加了对新的模型格式和工具的支持。
  • 改进了用户界面和用户体验。

LM Studio 0.4.0 旨在为用户提供更强大、更灵活和更易于使用的本地 LLM 推理体验。欢迎用户反馈,并期待未来的更新。

Mousefood – Build embedded terminal UIs for microcontrollers

Mousefood 项目概览

Mousefood 是一个为 Ratatui 提供 no-std embedded-graphics 后端的项目。它允许在资源有限的嵌入式设备上运行 Ratatui 界面。

主要特点:

  • No-std 支持: 适用于资源受限的嵌入式环境。
  • 与 Ratatui 集成: 允许使用 Ratatui 现有的 UI 组件和布局。
  • 硬件无关: 可在多种平台上运行,包括 ESP32、ESP32-C6、STM32、RP2040 和 RP2350。
  • Unicode 字体支持: 默认使用 embedded-graphics-unicodefonts,提供更广泛的字符支持,包括特殊字符和 Braille。
  • 可配置: 允许定制字体、颜色主题和刷新回调。
  • EPD 支持: 支持 WeAct Studio (weact-studio-epd) 和 Waveshare Electronics (epd-waveshare) 电子墨水屏。
  • 模拟器支持: 可以使用 embedded-graphics-simulator 在模拟器中运行。

快速上手:

  1. 添加依赖: cargo add mousefood

  2. 示例代码:

    use mousefood::embedded_graphics::{mock_display::MockDisplay, pixelcolor::Rgb888};
    use mousefood::prelude::*;
    use ratatui::widgets::{Block, Paragraph};
    use ratatui::{Frame, Terminal};
    
    fn main() -> Result<(), Box<dyn std::error::Error>> {
        let mut display = MockDisplay::<Rgb888>::new();
        let backend = EmbeddedBackend::new(&mut display, EmbeddedBackendConfig::default());
        let mut terminal = Terminal::new(backend)?;
    
        terminal.draw(draw)?;
        Ok(())
    }
    
    fn draw(frame: &mut Frame) {
        let block = Block::bordered().title("Mousefood");
        let paragraph = Paragraph::new("Hello from Mousefood!").block(block);
        frame.render_widget(paragraph, frame.area());
    }
    

特殊字符:

由于嵌入式图形的存储空间限制,默认字体集可能不包含所有 Ratatui 常用的特殊字符。Mousefood 默认使用 embedded-graphics-unicodefonts 来解决这个问题,提供更丰富的字符集。用户也可以选择使用 ibm437 作为替代方案,以节省空间。

粗体和斜体字体:

Mousefood 支持粗体和斜体字体,但需要通过 EmbeddedBackendConfig 提供相应的字体文件。

颜色主题:

可以使用 color_themeEmbeddedBackendConfig 中重新映射颜色。默认情况下使用 ANSI 调色板。Mousefood 内置了 ColorTheme::ansi() (标准 ANSI 颜色) 和 ColorTheme::tokyo_night() (东京夜主题) 等预设主题。

模拟器:

Mousefood 可以通过 embedded-graphics-simulator 在模拟器中运行,方便调试和预览。

EPD 支持:

Mousefood 支持 WeAct Studio 和 Waveshare 电子墨水屏,需要启用相应的特征并配置刷新回调。

性能和硬件支持:

在资源有限的嵌入式设备上,应使用 opt-level = 3 编译优化以提高性能。

文档:

完整的 API 文档可在 docs.rs 上查阅。

贡献:

欢迎贡献代码!请在提交 Pull Request 之前阅读 贡献指南

使用 Mousefood 构建的项目:

许可证:

Mousefood 采用 Apache 2.0 和 MIT 双重许可。

Maine’s ‘Lobster Lady’ who fished for nearly a century dies aged 105

缅因州“龙虾女”维吉尼亚·奥利弗逝世,其传奇一生激励后人

缅因州州长珍妮特·米尔斯(Janet Mills)对维吉尼亚·奥利弗(Virginia "Ginny" Oliver)的离世表示哀悼,称其一生“令人惊叹”,并希望她的记忆能激励缅因州的下一代渔民。奥利弗于1月21日去世,享年105岁。

奥利弗被誉为缅因州的“龙虾女”,她的故事反映了美国越来越多的人因生活成本高涨、工资停滞而选择延长工作年限的现象。

然而,奥利弗本人曾在2021年接受美联社采访时表示,她自8岁起就与父亲和哥哥一起开始捕龙虾,并且一见钟情。她喜欢在海边工作,并表示将尽可能长时间地坚持下去。

奥利弗每天黎明前起床,使用当地称为“poagies”的小鱼来引诱龙虾,她驾驶着她已故丈夫拥有的“维吉尼亚”号船作业。她拥有了惊人的97年捕龙虾生涯,并因此成为纪录片、美国主流电视台新闻报道以及儿童书籍(包括《龙虾女》)的主角。

著名演员马克·哈米尔(Mark Hamill,以《星球大战》中的卢克·天行者角色而闻名)也加入了奥利弗的粉丝群体,并在社交媒体上赞扬了她的毅力。奥利弗曾收到英国卡迪夫皇家海军协会的荣誉邀请,并曾获得缅因州州长的生日特别表彰。

奥利弗即使名声大噪,仍然保持谦逊和活力。她每天出海时都会化口红和佩戴耳环,因为她说:“你永远不知道会遇到谁。”

在奥利弗捕龙虾的生涯中,龙虾从一种大众食物演变成一种昂贵的餐厅美食。其单价从最初的每磅28美分上涨到6.14美元,涨了22倍。

奥利弗直到103岁时因摔倒而停止捕龙虾。她的朋友、作家和普利策奖获奖记者芭芭拉·沃尔什(Barbara Walsh)表示,奥利弗相信生活、欢笑和做自己喜欢的事情。沃尔什在致敬中写道,奥利弗性格果断,经常宣称“我是老大”。

缅因州龙虾节(Maine Lobster Festival)也发表声明,称奥利弗是“不仅仅是一个地方偶像”,更是“缅因州海洋历史的活生生的一部分”。

奥利弗留下她的孩子和孙子等后代。

Jellyfin LLM/"AI" Development Policy

Jellyfin 项目 LLM/“AI” 开发政策 总结 (Summary of Jellyfin LLM/“AI” Development Policy)

以下是 Jellyfin 项目关于使用 LLM(大型语言模型)辅助开发的政策总结,旨在规范社区贡献,维护代码质量。

一、总体原则 (General Guidelines)

  • 禁止直接使用 LLM 输出进行任何形式的交流: 包括 issue、评论、功能请求、PR 描述、论坛/聊天帖子等。所有交流内容必须使用自己的语言表达,确保理解所发布的内容。 翻译时允许使用 LLM 辅助,但需明确注明并尽可能提供原始语言版本。
  • 代码贡献需负责: LLM 代码贡献需经过仔细审查,避免“随意编码”的情况。 代码质量差将被拒绝。

二、官方项目代码贡献 (LLM Code Contributions to Official Projects)

  • 专注和简洁: PR 必须集中于特定功能,避免涉及不相关代码。大型 PR 必须拆分成多个小而易于审查的提交。
  • 高质量标准: 必须符合代码格式和质量标准,避免冗余注释、混乱代码等。禁止提交 LLM 元文件(如 .claude 配置文件)及其他编辑器创建的非代码文件。
  • 解释代码变更: PR 提交体(以及提交体)必须用自己的语言解释代码变更的原因,不能使用 LLM 生成的文本。
  • 充分测试: 代码必须能够成功构建和运行,并对修改的功能进行测试。
  • 积极配合审查: 必须能够处理审查反馈,并根据建议修改代码。无法解释 LLM 变更原因,则PR会被拒绝。
  • 理解功能: 功能或重构必须有深入的理解,不能仅凭 LLM 自动生成代码。
  • 最终裁决权归审查者: 如果 PR 难以审查,会被拒绝。

三、非官方项目分享 (Sharing of Non-Official Projects)

  • 明确标注: 主要由 LLM 开发的项目必须明确标注。
  • 遵守协议: 必须遵守现有代码的许可证,并完整署名原有贡献者。禁止篡改 Git 历史或盗用他人代码。
  • 避免LLM “猎巫”: 社区成员不应仅因怀疑工具使用 LLM 生成而对其进行负面评价或排斥。
  • 宽松执法: 管理员不会对第三方项目进行逐行代码审查以判断是否使用 LLM,除非明显违反规则。

核心原则:

  • 避免直接使用 LLM 生成代码: 不要让 LLM 随意修改代码库,并将其作为最终成果提交。
  • LLM 仅作为辅助工具: 使用 LLM 辅助开发,而非作为代码变更的唯一来源。
  • 注重代码质量: 努力贡献高质量的代码,否则请勿提交。

该政策旨在平衡 LLM 作为开发工具的优势与维护 Jellyfin 代码质量的必要性。

Spinning around: Please don’t – Common problems with spin locks

关于自旋锁的经验教训 (关于自旋锁的经验教训)

本文总结了作者在处理自旋锁时遇到的问题,并分享了避免常见错误的建议。作者强调,除非确有必要,否则应避免使用自旋锁,并建议使用操作系统提供的原语。如果必须使用自旋锁,务必充分了解其潜在风险。

问题根源:

  • 线程不安全: 最初的自旋锁实现由于缺乏原子操作,容易导致多个线程同时获得锁,造成数据竞争。
  • CPU 资源浪费: 自旋锁的空循环会持续占用 CPU 资源,即使线程没有实际工作可做,也会导致 CPU 频率升高,增加功耗,降低性能。
  • 内存顺序问题: 缺少适当的内存顺序保证可能导致核心间数据同步问题和性能损失。
  • 优先级反转: 低优先级线程持有自旋锁,高优先级线程试图获取锁并不断自旋,导致低优先级线程无法及时释放锁,从而阻塞高优先级线程。
  • 虚假共享: 即使变量地址不同,位于同一缓存行上的变量可能导致虚假共享,降低性能。

改进方案:

  1. 使用原子操作: 使用 std::atomic<int> 替换简单的布尔变量,并使用 exchange 操作实现线程安全的锁获取。
  2. 加入 PAUSE 指令: 在自旋循环中插入 PAUSE 指令,通知 CPU 线程正在等待,避免不必要的 CPU 资源浪费。
  3. 指数退避策略: 采用指数退避策略,增加 PAUSE 指令的次数,减少线程对 CPU 的竞争。
  4. 基于 TSC 的延迟: 使用 TSC (Time Stamp Counter) 测量延迟,避免 PAUSE 指令持续时间差异过大。
  5. 利用操作系统原语: 使用 futex (Linux) 或 WaitOnAddress (Windows) 等操作系统原语,将线程挂起,等待锁释放,避免持续自旋。
  6. 使用 std::atomic_wait: 考虑使用标准库提供的 std::atomic_wait,但需注意不同实现之间的差异。
  7. 避免虚假共享: 使用 alignas 关键字对变量进行对齐,避免虚假共享。

总结:

自旋锁的使用需要谨慎,必须充分了解其潜在风险并采取相应措施。作者建议尽可能避免使用自旋锁,并优先选择操作系统提供的原语来解决线程同步问题。如果必须使用自旋锁,务必遵循最佳实践,例如使用原子操作、加入 PAUSE 指令、采用指数退避策略和利用操作系统原语。

The tech market is fundamentally fucked up and AI is just a scapegoat

技术市场裁员浪潮:更深层次的系统性问题 (Jìshù shìchǎng cáiyuán làngcháo: Gèng shēncì chéngxì xìng wèntí)

This article analyzes the recent wave of layoffs in the tech industry, particularly citing Amazon's 16,000 layoffs, and argues the issue goes far beyond the impact of AI. The author believes the current state of the tech job market is fundamentally "broken" and represents a mutation of a deeper problem stemming from the aftermath of the 2008 financial crisis.

Key Points:

  • Post-2008 Economic Shift: Following the 2008 crisis, an era of cheap money and low interest rates incentivized tech companies to prioritize exponential growth over sustainability. Investors demanded rapid expansion, leading to over-hiring.
  • "Work in Progress" as an Asset: Unlike traditional industries where unfinished goods (Work in Progress) are liabilities, tech companies began treating hiring engineers and working on unreleased projects as an asset, essentially creating excessive inventory.
  • Layoffs as a "Product Feature": When the economic climate shifted, companies realized they were holding onto large amounts of "talent inventory." Layoffs subsequently became a way to cut costs and signal "discipline" to Wall Street, often resulting in stock price increases.
  • Two-Tier System: Many large tech companies operate with a core team focused on revenue-generating products, and a separate, larger group working on experimental projects ("bets") to hoard talent and potentially add to the core. These "bets" are often the first to be cut during economic downturns.
  • Paradox for Engineers: Highly skilled engineers invest significant time and effort to secure positions, only to find themselves on non-essential teams, treated as easily replaceable statistics.
  • Erosion of European Stability: Europe, previously offering more stability and labor protections, is experiencing a shift as American tech companies expand and European startups adopt similar growth-at-all-costs strategies, importing US-style compensation models and organizational volatility.
  • Misaligned Signaling of Value: Tech companies now use layoffs as a marketing signal to Wall Street, demonstrating cost-cutting efficiency rather than reflecting genuine financial difficulties.
  • Root Cause: Financial Toxicity: The current job market challenges aren't primarily due to AI, but rather a consequence of the inflated teams and expectations resulting from the influx of liquidity into the tech sector over the past 14 years.
  • "Liquidation" of Talent: Engineers are not being laid off due to poor performance but are instead being "liquidated" like a losing stock trade.

In essence, the author argues that the tech industry needs to return to building with scarcity and prioritize sustainable growth over excessive expansion to break this cycle.

Computer History Museum Launches Digital Portal to Its Collection

计算机历史博物馆推出OpenCHM,实现其珍贵档案的数字化全球访问

加利福尼亚州山景城 – 2026年1月21日 – 计算机历史博物馆 (CHM),作为在解码技术领域(包括其计算过去、数字现在以及对人类未来的影响)的领导者,宣布推出OpenCHM,一个全新的数字门户,旨在为全球提供对其无与伦比的馆藏的访问。

CHM 总裁兼首席执行官 Marc Etkind 表示:“OpenCHM 的设计旨在激发发现、激发好奇心,并使数字时代的的故事更易于所有人、无论在哪里都能访问。我们正在解锁馆藏,供新的受众探索。”

OpenCHM 由戈登和贝蒂·摩尔基金会和其他慷慨的捐助者资助,该发布标志着 CHM 多年数字化倡议的一个重要里程碑。该门户与 KeepThinking 合作设计,并由其创新的 Qi 馆藏管理系统提供支持。

戈登和贝蒂·摩尔基金会科学项目主任 Janet Coffey 表示:“我们很高兴看到 CHM 将其独特的馆藏向更广泛的受众开放,包括学者、教师、学生和公众。CHM 历史学家和领域专家的引人入胜的、经过精心策划的叙事以及探索个人兴趣的工具和功能相结合,使该平台真正引人入胜。摩尔基金会也重视 OpenCHM 团队对周到设计和文档的承诺,我们希望这能激励和使其他组织能够更开放地分享他们的馆藏。”

OpenCHM 平台通过数字门户扩展了对 CHM 浩瀚馆藏的全球访问,并且持续的数字化工作会定期添加更多历史资料。除了馆藏之外,该门户还引入了新的数字讲故事和发现工具,旨在为专家和普通观众带来技术革命的历史。

OpenCHM 的主要功能包括:

  • 高级搜索工具: 具有智能过滤器,用于搜索文档、图像、软件、对象等,允许用户探索特定的文物、档案和口述历史。
  • 策展推荐和故事: 突出显示富有远见的先驱和开创性的创新。
  • 亮点和发现墙: 展示稀有和标志性的文物。
  • 我的相册: 允许用户创建、保存和分享包含他们选择材料的自定义文件夹。
  • 开发者门户: 提供对 API、示例代码和注册的访问。

OpenCHM 推进了 CHM 的使命,即保存和解读技术的历史,并将其作为公共资源广泛普及。

关于 CHM

计算机历史博物馆 (CHM) 是领先的博物馆,致力于解码计算对我们世界持续的影响。我们处于独特的位置,可以提炼过去的经验教训,并通过我们的研究、展览、活动和无与伦比的计算文物,为能够做出塑造更美好未来的选择的知情数字公民创造条件。

Ross Stevens Donates $100M to Pay Every US Olympian and Paralympian $200k

美国奥运会和残奥会运动员的经济支持新方案

根据《乡村与国家》杂志的报道,美国奥运会和残奥会运动员的经济状况将迎来重大改变。国际奥委会(IOC)不提供现金奖金,各国对运动员的奖励标准各不相同。此前,即使美国运动员在奥运会上获得奖牌,美国政府也不会提供任何经济补贴。

为了改变这一现状,亿万富翁罗斯·史蒂文斯将向美国奥运会和残奥会运动员提供经济支持。从即将到来的米兰科尔蒂纳冬奥会开始,他将向每位美国奥运会和残奥会运动员提供20万美元,无论他们是否获得奖牌。

具体分配方式如下:

  • 一半的资金将在他们首次获得奥运资格的20年后或45岁时发放。
  • 另一半10万美元将作为他们去世后家庭的保障福利。

史蒂文斯向美国奥林匹克与残奥会委员会(USOPC)的捐赠总额高达1亿美元,这是有史以来向该组织的最大一笔捐赠。史蒂文斯表示,他不认为经济不安全应该阻碍美国精英运动员追求卓越。

虽然史蒂文斯的支持将为美国运动员提供额外的收入来源,但他们通常也会通过赞助和代言获得收入,并且各自的全国性体育管理机构也会提供不同的财政支持。史蒂文斯的支持重点在于运动员的退役后的经济保障。

这项名为“史蒂文斯经济安全奖”(Stevens Awards)的捐赠旨在为代表美国的运动员提供经济支持。USOPC主席吉恩·赛克斯表示,许多运动员在年轻时(通常25或30岁)就结束竞争生涯,面临着缺乏财务储蓄的现实。他强调,史蒂文斯的慷慨捐赠不仅能提供经济安全网,还能为运动员未来的发展提供助力。

Bf-Tree: modern read-write-optimized concurrent larger-than-memory range index

Bf-Tree 项目总结

Bf-Tree 是由微软 (MSR) 开发的,用 Rust 编写的现代、读写优化、大于内存范围索引。

核心特点:

  • 并发性: 专为高并发读写场景设计。
  • 大于内存: 适用于数据量超出可用内存的情况。
  • 范围索引: 支持高效范围查询。
  • Rust 实现: 使用 Rust 语言实现,提供良好的性能和安全性。

设计文档:

使用方法 (Rust):

  1. 添加依赖:Cargo.toml 文件中添加 bf-tree = "0.1.0"

  2. 示例代码:

    use bf_tree::BfTree;
    use bf_tree::LeafReadResult;
    
    let mut config = bf_tree::Config::default();
    config.cb_min_record_size(4);
    let tree = BfTree::with_config(config, None).unwrap();
    tree.insert(b"key", b"value");
    
    let mut buffer = [0u8; 1024];
    let read_size = tree.read(b"key", &mut buffer);
    
    assert_eq!(read_size, LeafReadResult::Found(5));
    assert_eq!(&buffer[..5], b"value");
    

开发者指南:

  • 构建:
    • 前提条件: 支持 Linux, Windows, macOS (Linux 优先测试)。需要安装 Rust (https://rustup.rs)。
    • 安装 pre-commit hooks: 用于代码格式化和 linting。
      • Ubuntu: sudo apt update && sudo apt install pre-commit; pre-commit install
    • 编译: cargo build --release
  • 测试:
    • 单元测试: cargo test
    • Shuttle 测试: 使用 Shuttle 框架进行并发测试,探索线程交错情况。cargo test --features "shuttle" --release shuttle_bf_tree_concurrent_operations (约 5 分钟)
    • Fuzz 测试: 生成随机输入以检测崩溃和数据不一致。 详情见 fuzz
  • 基准测试: 详情见 benchmark
    • 基本基准:cd benchmark; env SHUMAI_FILTER="inmemory" MIMALLOC_LARGE_OS_PAGES=1 cargo run --bin bftree --release
    • 高级基准:使用 metrics, NUMA, huge pages 等。
      • env MIMALLOC_SHOW_STATS=1 MIMALLOC_LARGE_OS_PAGES=1 MIMALLOC_RESERVE_HUGE_OS_PAGES_AT=0 numactl --membind=0 --cpunodebind=0 cargo bench --features "metrics-rt" micro

其他:

  • 行为准则: 遵循 Microsoft 开放源代码行为准则。
  • 贡献: 请参阅 CONTRIBUTING.md
  • 安全: 请参阅 SECURITY.md 报告安全问题。
  • 商标: 遵守 Microsoft 的商标和品牌指南。
  • 联系方式: [email protected]
Native Instruments enters into insolvency proceedings

Native Instruments 进入初步破产程序:总结

根据 Create Digital Music 的报道,音乐硬件和软件制造商 Native Instruments 已进入初步破产程序。

主要内容:

  • 公司概况: Native Instruments 是一家知名的音乐硬件和软件公司,旗下拥有 Massive、Traktor、Kontakt 等标志性软件,以及 Maschine+ 等硬件产品。此外,该公司还拥有 iZotope、Brainworx 和 Plugin Alliance 等品牌。
  • 破产程序: 目前具体情况尚不明确,但已任命管理人负责重组和潜在资产出售。Native Instruments 拥有数百名员工,他们的命运也面临不确定性。
  • 所有权: 私募股权公司 Francisco Partners 拥有 Native Instruments 的多数股权,该公司还拥有 GoodRX 和 Verifone 等其他公司的多数股权。
  • 历史背景: Native Instruments 曾于 2019-2020 年间经历过大规模裁员和不确定性,最终被私募股权公司收购。
  • Plugin Alliance 的情况: 旗下子公司 Plugin Alliance 声明与此次破产程序无关,运营将正常进行,并继续发布新插件和更新现有软件。
  • 未来展望: 最终结果尚不明确,可能出现新的投资者入主,恢复正常运营,也可能资产被出售。
  • 潜在收购方: Akai 很有可能成为收购方,该公司已经开始在其 MPC 机型中整合 Native Instruments 的软件。

总结: Native Instruments 遭遇破产程序,未来充满不确定性,但 Plugin Alliance 运营不受影响。 对于依赖 Native Instruments 产品生态系统的用户来说,这无疑是一个令人担忧的消息。

Tesla ending Models S and X production

特斯拉将结束Model S和X的生产,转而生产Optimus人形机器人

特斯拉CEO埃隆·马斯克在公司第四季度财报电话会议上宣布,特斯拉将结束Model S和X两款车型的生产,并将位于加利福尼亚州弗里蒙特的工厂用于生产Optimus人形机器人。

主要内容:

  • Model S和X将告别生产线: 特斯拉计划逐步结束Model S和X的生产,马斯克称之为“光荣退役”。他建议有购买意向的客户尽快下单。这两款车型是特斯拉继Roadster之后的早期车型,近年来由于电动汽车市场的竞争加剧,特斯拉对其价格进行了多次削减。Model S于2012年开始销售,Model X于三年后推出。目前,Model S起价约为95,000美元,Model X起价约为100,000美元。
  • Model 3和Y占据主导地位: Model 3和Y是特斯拉最受欢迎的车型,占去年159万辆交付量的97%。Model 3起价约为37,000美元,Model Y约为40,000美元。
  • 营收首次下降: 特斯拉在最新财报中报告了有记录以来首次年度营收下降,过去四个季度中三个季度销售额下降。马斯克正试图将注意力从传统电动汽车转移到自动驾驶汽车和人形机器人等领域,而特斯拉目前在这两个领域几乎没有业务。
  • Optimus人形机器人: 特斯拉正在开发Optimus,目标是推出一种双足、智能的机器人,能够胜任从工厂工作到照看孩子等各种任务。特斯拉计划本季度发布Optimus的第三代产品,这是“专为大规模生产设计的第一代”。
  • 弗里蒙特工厂转型: 特斯拉将用100万台/年产能的Optimus生产线取代弗里蒙特工厂的Model S和X生产线。Optimus需要全新的供应链,与现有供应链几乎没有关联。
  • 增加员工和产量: 特斯拉预计将在弗里蒙特工厂增加员工数量,并显著提高产量。

总结: 特斯拉正在战略性地调整其生产方向,放弃Model S和X,全力投入Optimus人形机器人的生产,希望通过这一举措拓展新的业务增长点。