2024-10-21

30 篇热帖

1. Egypt declared malaria-free after 100-year effort (www.bbc.com)

埃及被认证为无疟疾国家:百年抗击的成果

核心事件 世界卫生组织(WHO)已正式认证埃及为无疟疾国家。WHO总干事谭德塞称此为“真正具有历史意义”的成就,并指出“疟疾如同埃及文明本身一样古老,但这个曾困扰法老们的疾病如今已成为历史”。

历史努力与认证条件

  • 百年防治:埃及当局近100年前便启动了消灭这种致命蚊媒传染病的首次努力。
  • 早期措施:20世纪20年代,为限制人与蚊子的接触,埃及开始禁止在住宅附近种植水稻和农作物。
  • 认证标准:WHO认证要求一个国家证明在至少过去连续三年内,本地疟疾传播链已被中断,并且该国具备防止传播重新建立的能力。

全球现状与埃及的地位

  • 埃及是WHO东地中海区域第三个获得认证的国家,继阿联酋和摩洛哥之后。
  • 全球共有44个国家和一个地区达到了这一里程碑。

WHO的提醒与后续挑战 WHO强调,此次认证“只是一个新阶段的开始”,敦促埃及保持警惕以维护其无疟疾状态。疟疾每年仍导致全球至少60万人死亡,绝大多数发生在非洲。

疟疾知识补充 疟疾由一种复杂寄生虫引起,通过蚊子叮咬传播。虽然疫苗已在部分地方使用,但监测疾病和避免蚊虫叮咬仍是预防疟疾最有效的方法。

2. Show HN: Epublifier – scrape pages (books, manuals) for offline reading (github.com)

Epublifier 工具摘要

核心功能
Epublifier 是一个浏览器扩展工具,可将网页内容转换为 ePub 电子书格式,方便用户离线阅读。其主要目标是为传统爬虫工具难以处理的网站提供灵活的提取方案。

适用场景

  • 处理需要 JavaScript 动态加载内容的网站。
  • 避免被网站检测或封锁(工具运行在浏览器环境中)。
  • 适用于非标准化或小众网站,无需预配置即可快速抓取内容。
  • 适合偶尔使用、非重复性的抓取需求。

支持网站类型

  1. 预定义网站:如 Novel Update、Wuxia World、Read the Docs 系列等。
  2. 自定义网站:支持通过以下方式定义抓取规则:
    • 使用 <ul><ol> 元素作为目录。
    • 通过正则表达式匹配链接文本。
    • 使用 CSS 选择器定位元素。
  3. 动态网页应用:可识别预设的标题元素和“下一页”按钮,自动遍历页面。

安装方式

设计优势

  • 无需复杂配置:用户可通过图形界面选择关键元素,无需编写代码(高级用户可添加自定义 JavaScript 解析规则)。
  • 适应性强:针对依赖 JavaScript 动态生成内容的网站,解决了传统命令行爬虫的局限性。
  • 轻量化使用:专注于一次性或低频抓取任务,非通用爬虫替代品。

构建环境

  • 系统要求:Windows 10,Node.js (npm v8.1.2)。
  • 构建步骤
    1. 安装 npm。
    2. 在项目根目录运行 npm install
    3. 运行 npm run build_ff(Firefox 版)或 npm run build(Chrome 版)。

致谢与支持

  • 依赖库:jEpub。
  • 捐赠渠道:PayPal。
4. How I Got a Digital Nomad Visa for Japan (www.tokyodev.com)

日本数字游民签证申请经验总结

本文作者分享了申请日本数字游民签证的完整经历,包括动机、挑战、申请流程和关键注意事项。

核心要求与挑战 该签证于2024年4月推出,允许申请者在日本合法远程工作,但要求严格:

  • 资格:必须来自指定国家。
  • 收入:需证明年收入达到1000万日元(约合6.7万美元)以上。
  • 保险:需购买保额不低于1000万日元的死亡、伤病医疗保险。
  • 时长:最长停留6个月,不可续签,期满后需等待6个月才能再次申请。

作者认为,高收入门槛和较短停留期是其局限,但弱日元汇率使收入要求相对容易达到。

申请流程与关键步骤

  1. 获得雇主许可:作者的公司支持远程工作,确认在境外工作不超过183天不会引发税务问题。
  2. 确定时间线:官方未公布处理时间,建议至少提前3个月申请。作者为12月抵达,于8月提交申请。
  3. 填写申请表:遇到“日本地址”和“电话”字段的难题。作者留空地址,填写了德国电话,并提交了活动计划说明。
  4. 收集收入证明:提交了税务报表、当前工作合同和近期工资单,以证明收入达标。建议提供尽可能多的证明文件。
  5. 购买旅行保险:需涵盖整个停留期。作者购买了可自由指定日期的保险套餐,并建议在签证批准前购买可退款的机票。
  6. 提交申请:在柏林大使馆提交,是当地首个此类申请。大使馆工作人员对新签证也不熟悉。
  7. 等待与获批:等待约6周后于10月初获得批准。

实用提示与常见问题

  • 住房:因非居民身份,难以租住长期公寓。建议参考短期租房机构资源,如Hmlet。
  • 税务:作为非居民,无需在日本缴纳所得税。
  • 居留身份:此签证不授予居民身份,无法获得在留卡,因此签署合同等可能受限。
  • 再入境:如需短期离境,必须前往入管局办理再入境许可,过程繁琐。
  • 配偶:配偶能否工作不明确,建议若符合条件应独立申请。
  • 行前准备:作者建议学习日语、寻找兴趣或专业社群(如科技聚会)以及了解共享办公空间。

结论 作者认为,6个月的数字游民生活能提供比旅游更深入的日本体验,但无法等同于长期定居(缺乏职场融入和居民身份)。对于符合收入条件且犹豫是否移居日本的人,此签证是一个有价值的尝试途径。

5. Drasi: Microsoft's open source data processing platform for event-driven systems (github.com)

Drasi 简介

Drasi 是微软开源的一个数据处理平台,旨在简化事件驱动系统中对数据变化的检测与即时响应。它是一个综合解决方案,提供内建功能来跟踪系统日志和特定事件的变化源,评估其相关性,并自动启动相应的后续操作。该项目目前是云原生计算基金会(CNCF)的沙箱项目。

核心价值与原理

Drasi 能够提供实时的、可操作的洞察,而无需承担传统数据处理方法的开销。它跟踪系统变化和事件,无需将数据复制到中央数据湖或频繁查询数据源。Drasi 使用连续查询(Continuous Queries) 来持续评估传入的数据变化。当数据变化符合查询中指定的标准和条件时,查询的结果集会被更新。这些更新随后会触发根据您的具体需求定义和调整的上下文感知反应(Reactions)

系统架构与组件

Drasi 的运作基于三个核心组件:

  1. 源(Sources):连接到软件系统中的数据存储库,监控日志和数据源,以跟踪变化的数据。
  2. 连续查询(Continuous Queries):通过应用标准和条件来解释监控到的变化,以识别重要变更。在 Drasi 中,这些连续查询使用 Cypher 查询语言编写。
  3. 反应(Reactions):根据连续查询结果集的更新来触发有意义的响应。

应用示例

文章以一个在线订购服务的配送系统为例,说明 Drasi 如何解释事件并触发适当响应:

  • 场景:订单处理后,需要实时通知配送司机订单已准备好取货。
  • Drasi 自动化流程
    1. 配置一个源(Source) 来监控订单管理系统中订单状态的变化,并配置第二个源来检测司机何时有空进行配送。
    2. 创建一个连续查询(Continuous Query),将两个源的数据结合起来,匹配已准备好取货的订单与可用的司机。
    3. 定义一个反应(Reaction) 来向司机发送警报,通知他们前往取货区。

这种流线型的设置通过实时数据集成和自动化响应,确保司机能及时收到通知,从而优化配送流程。

项目状态与入门

  • 当前状态:这是一个早期版本,旨在让社区了解该平台并进行概念验证实验。项目欢迎反馈、错误报告和功能建议。
  • 入门指南:提供了针对 Kubernetes 的入门教程,引导用户应用源(Source)、创建连续查询(Continuous Queries)以及应用调试反应(Debug Reaction)来查看输出。
  • 代码库:该仓库包含构建基于 Drasi 解决方案所需的一切,包括源、反应以及开发和测试工具。

社区与贡献

  • 社区参与:鼓励通过参与问题讨论或加入 Discord 服务器来开始贡献。
  • 贡献指南:项目提供了详细的贡献指南。
  • 行为准则与安全:项目遵循明确的行为准则,并有报告安全漏洞的流程。

许可与联系

  • 许可证:该项目根据 Apache 2.0 许可证授权。
  • 联系方式:可以通过 Discord 服务器或电子邮件(info@drasi.io)联系 Drasi 的作者团队。
6. Solving Sudoku in Python Packaging (github.com)

本文介绍了一种创新的思路:利用Python包管理器解决数独问题。其核心原理在于,数独求解与Python包依赖解析都属于NP完全问题,因此可以将数独的每个单元格映射为一个Python包(命名为sudoku_{x}_{y}),单元格的值(1-9)则对应包的版本。

操作流程如下:

  1. 输入:将待解数独以CSV格式提供。
  2. 转换:运行csv_to_requirements.py脚本,将已知数字转换为requirements.in文件,其中包含类似sudoku_0_0 == 5的版本固定声明。
  3. 求解:使用包管理器(如快速的uv pip compile或较慢的pip-compile)配合一个本地存放所有可能版本包的目录(packages/)来解析依赖。求解结果输出为requirements.txt文件,其中包含了所有81个包的确定版本。
  4. 渲染:运行render_solution.py脚本,将requirements.txt转换为可读的数独解答网格。

示例与性能: 文章提供了一个完整的示例,展示了从输入数独到获得解答的全过程。性能测试显示,使用uv包管理器求解一个数独平均仅需约29.7毫秒,且耗时稳定。

关键洞见: 作者指出,虽然依赖解析在理论上是NP完全问题,但在实际中,Python包的依赖关系通常很简单(例如单调递增的版本范围),使得求解过程极少遇到指数级复杂度的场景。真正的性能瓶颈往往在于获取和解析包元数据,以及构建源码分发包。

7. Microsoft said it lost weeks of security logs for its customers' cloud products (techcrunch.com)

微软通知客户,其部分云产品在2023年9月2日至9月19日之间丢失了超过两周的安全日志,导致网络安全防护人员无法获取关键数据进行入侵检测。微软称此次日志丢失是由于内部监控代理中的一个漏洞,部分代理在上传日志数据时出现故障,并强调该故障并非安全事件,仅影响日志事件收集。

受影响产品包括Microsoft Entra、Sentinel、Defender for Cloud和Purview。通知指出,日志丢失可能导致客户无法分析数据、检测威胁或生成安全警报,增加在两周窗口期内识别未授权访问的难度。微软未透露更多细节,但一位高管表示,已通过回滚服务变更来修复问题,并向所有受影响客户发送通知并提供必要支持。

此次日志故障发生在微软因未向部分美国联邦机构提供安全日志而受到调查的一年后。当时,中国支持的黑客组织Storm-0558窃取了微软网络中的数字密钥,并访问美国政府在微软云中的邮件。美国国务院因购买高等级微软许可证而获取安全日志,及时发现入侵,而其他遭攻击机构由于未购买高等级许可证而无法及时识别事件。

在中国相关入侵事件后,微软承诺自2023年9月起为低级别付费云账户提供安全日志访问权限。

8. WebGPU-Based WiFi Simulator (wifi-solver.com)

这是一个基于WebGPU技术构建的WiFi信号强度模拟工具。其核心目的是通过一个强大的物理模拟引擎,计算无线信号在家庭环境中的传播与衰减情况,从而帮助用户确定无线路由器的最佳摆放位置,以实现最优的网络覆盖。该工具以网页应用的形式提供,并配有一个展示其功能的图片卡片。

9. Kurt Vonnegut's lost board game published (www.polygon.com)

库尔特·冯内古特(Kurt Vonnegut)以其反战小说如《五号屠场》闻名,但鲜为人知的是,他也曾设计过一款桌游。1956年,在其首部小说《自动钢琴》反响平平后,作为二战老兵的冯内古特为谋生设计了一款名为GHQ的军事策略桌游。该游戏利用他对现代协同作战的理解,将战争浓缩在一个8x8的网格棋盘上。

尽管冯内古特当年四处投稿推荐,游戏却未能出版,其设计手稿和往来信件被保存在印第安纳大学档案馆中。直到近年,纽约大学游戏设计师杰夫·恩格尔斯坦在研究时发现了这些资料,包括附有冯内古特亲手批注的原始打字规则稿。在获得冯内古特遗产管理机构许可后,恩格尔斯坦对规则进行了轻微优化和完善,并设计了全新的插图与美术。

如今,这款近70年前创作的游戏终于以《库尔特·冯内古特的GHQ:失传的桌游》为名出版,在巴诺书店独家发售。有趣的是,GHQ与冯内古特后来悲观、讽刺的反战作品(如《泰坦的海妖》)形成鲜明对比——他在投稿信中甚至认为GHQ能成为西点军校等军事机构的优秀训练工具。对于这种矛盾,恩格尔斯坦表示没有确切答案,因为冯内古特生前未作解释。

从桌游史角度看,GHQ若在1950年代末成功出版,将与《策略2》(1958年)、《风险》和《外交》(约1959年)等里程碑游戏同期问世,这些作品后来深刻影响了战术战棋及4X战略游戏品类的发展。

该游戏最初的测试员之一是冯内古特的儿子马克,现年77岁。他在邮件中提到,父亲当年虽在写作上受挫,但对GHQ的成功抱有坚定信念。游戏还附有科幻作家詹姆斯·S·A·科里撰写的前言。

10. Show HN: Create mind maps to learn new things using AI (github.com)

AI思维导图生成项目总结

项目概述

这是一个基于Next.js的思维导图可视化工具,利用React Flow实现交互式思维导图创建与展示,主要功能是通过AI生成思维导图以辅助学习新事物

核心功能

  • 交互式思维导图可视化:支持节点展开、收起、拖拽等操作
  • 节点详情查看:通过侧边栏展示节点详细信息
  • 多格式导出:可将思维导图数据导出为Markdown文件或保存为本地JSON文件
  • 灵活的模型配置:支持切换本地模型(通过Ollama)与外部模型(如OpenAI)

技术栈

  • 前端框架:Next.js
  • 可视化库:React Flow
  • UI组件:shadcn和Magic UI组件
  • AI集成:通过AI SDK集成本地模型(默认llama3.1)和外部模型(默认gpt-3.5-turbo)

配置与使用

  1. 环境配置

    • 复制.env.template.env.local
    • 通过NEXT_PUBLIC_USE_LOCAL_MODELS环境变量选择使用本地或外部模型
    • 使用外部模型需配置OpenAI API密钥
    • route.ts文件中指定Ollama运行的模型名称
  2. 启动方式

    • 安装依赖后运行开发服务器
    • 访问http://localhost:3000开始使用
  3. 提示词管理

    • 本地和外部模型使用不同的提示词(分别在defaultLocalPromptdefaultExternalPrompt中定义)

注意事项

  • 本地模型需通过Ollama安装并运行
  • 外部模型通常比本地模型响应更快
  • 项目采用MIT开源许可证

该项目提供了一个完整的AI驱动思维导图生成解决方案,适合需要结构化学习和知识整理的用户使用。

11. Today is Ubuntu's 20th Anniversary (lists.ubuntu.com)

Ubuntu 4.10 "Warty Warthog" 发布公告摘要

发布日期: 2004年10月20日
版本: 4.10,代号"Warty Warthog"
性质: Ubuntu Linux发行版的首个正式版本。

核心特性与理念

  • 基于Debian: 整合了Debian软件库的广度,同时优化了安装流程。
  • 免费与开源: 100%免费,坚持使用自由软件,所有最终用户应用程序均为开源。
  • 定期发布: 承诺每六个月发布一个新版本。
  • 安全支持: 每个版本提供长达18个月的免费安全更新和技术支持。
  • 多架构支持: 支持x86、amd64和PowerPC处理器。

主要技术特性

  • 安装介质: 仅需一张CD,安装过程快速且简单。
  • 默认软件栈:
    • 桌面环境:GNOME 2.8(Ubuntu是首个在发布当日就集成此版本的发行版)。
    • 浏览器:Firefox 0.9(包含安全补丁)。
    • 办公套件:Evolution 2.0(邮件和日历),OpenOffice.org 1.1.2。
    • 图形服务器:XFree86 4.3,改进了硬件检测和支持。
  • 设计目标: 兼顾笔记本电脑与台式机,提供完整桌面模式或极简服务器模式。默认安装注重网络安全性。

获取与社区资源

  • 下载: 提供安装CD和测试用的Release Candidate Live CD下载。
  • 免费邮寄: 用户可注册免费获取物理光盘。
  • 社区参与:
    • 网站与维基: 提供项目信息、文档和社区协作空间。
    • 即时通讯: IRC频道 #ubuntu 用于帮助和讨论。
    • 邮件列表: 拥有包括德语、法语、西班牙语在内的多语言邮件列表,涵盖安全、新闻、翻译等主题。
  • 下一版本预告: 下一个版本"Hoary Hedgehog"计划在六个月后发布,鼓励社区参与贡献。

命名含义: "Ubuntu"源自古非洲语,意为"人道待人",体现了开源社区项目的协作精神。

12. Intelsat 33e breaks up in geostationary orbit (spacenews.com)

Intelsat 33e卫星在地球同步轨道解体

核心事件: Intelsat公司的Intelsat 33e卫星已于2024年10月19日在地球同步轨道(GEO)解体并丧失电力,导致为欧洲、非洲及亚太部分地区提供的通信服务中断。

主要细节:

  • 状态与影响: Intelsat于10月21日宣布该卫星已完全损失,无法修复。服务中断影响了上述区域的客户。
  • 碎片追踪: 美国太空部队报告正在追踪与此次解体相关的约20块碎片。后续,ExoAnalytic Solutions公司追踪确认的碎片数量增至约57块。目前评估认为碎片对其他卫星不构成直接威胁,但轨道不确定性存在潜在风险。
  • 公司应对: Intelsat正与卫星制造商波音合作分析故障原因,并成立了故障审查委员会。同时,公司正努力将受影响客户转移至其卫星舰队中的其他卫星或第三方运营的航天器。
  • 关键背景:
    • 保险情况: 事故发生时,该卫星未投保
    • 历史问题: Intelsat 33e于2016年8月发射,但因主推力器问题,投入使用时间比计划延迟了三个月。此外,在轨测试期间出现的第二次推进问题使其设计寿命缩短了约3.5年
    • 系列故障: 这是Intelsat EpicNG系列高通量卫星的第二次全损事件。首颗卫星Intelsat-29e于2019年在轨仅三年后便宣告损失。
13. IOCCC Flight Simulator (2010) (blog.aerojockey.com)

IOCCC Flight Simulator 是 1998 年国际混乱 C 代码大赛(IOCCC)“最佳作品”获奖项目,是一个用不到 2KB 代码实现的飞行模拟器。

核心特点:

  • 平台与许可: 在类 Unix 系统的 X Windows 环境下运行,代码属于公共领域。
  • 飞行模型: 模拟轻型单引擎螺旋桨飞机——派珀切诺基(Piper Cherokee),并实现了相对准确的六自由度刚体动力学模型。
  • 交互控制: 使用键盘操控。方向键作为操纵杆(前、后、左、右推杆),回车键居中操纵杆,Page Up 和 Page Down 分别增加和减少油门。转弯时方向舵自动协调。
  • 平视显示: 界面左下角有三个基本仪表:空速表(单位:节)、航向指示器(罗盘,0°北,90°东等)和高度表(高于地面高度,单位:英尺)。
  • 场景加载: 支持加载线框场景文件(.sc)。场景文件是简单的 3D 坐标列表,程序读取坐标并绘制线段。可一次加载多个文件(少于 1000 行)。示例场景包括:
    • horizon.sc:基本地平线(建议通常加载)。
    • pittsburgh.sc:匹兹堡市中心景象。
    • 其他如 mountains.scbb.sc(障碍课程)、pyramids.scriver.sc 等。
  • 运行示例: 通过管道将场景文件输入程序,例如 cat horizon.sc pittsburgh.sc | ./banks
  • 简化设定: 飞机永不失速,燃料无限。

编译与自定义: 程序源码本身很精简,但编译时需要通过预处理器定义多个宏来映射控制键和设置参数。文章提供了详细的编译选项说明,例如:

  • -DUP=XK_Up:将“向前推杆”控制映射到向上箭头键。
  • -Ddt=0.02:设置时间步长为0.02秒(需权衡稳定性与画面闪烁)。
  • 文末附有一个适用于 Linux 系统的示例编译脚本。

背景与资料:

  • 该项目因在极其有限的字节限制(排除空白字符后不超过1536字节)内实现了飞行模拟而获奖,其紧凑的代码得益于正交矩阵的数学特性。
  • 该模拟器曾出现在 Steve Skiena 的著作《计算赌注》中,维基百科的 IOCCC 词条也有记载。
  • 开发者创建了该项目的 Facebook 页面。
  • 程序源码包含在 1998 年 IOCCC 获奖者发行版中,用户需自行下载编译。该发行版中的其他程序受版权保护,但模拟器源码本身属于公共领域。
14. Scientists working to decode birdsong (www.newyorker.com)

本文介绍了科学家解码鸟类歌声的研究进展,揭示鸟类通信的复杂性远超传统认知。以下为主要发现与进展:

一、鸟类声音通信的复杂性

  • 灰雁等鸟类具有复杂的社交结构,其声音(如呼叫声)承载大量信息,包括个体识别、警报、家庭联络等。研究表明,灰雁至少拥有10种不同类型的叫声。
  • 鸟类的声音常被分为“鸣唱”和“叫唤”,但两类界限模糊,且人类拟声词难以准确转写鸟类声音,因鸟类拥有与人类不同的发声器官(鸣管)。

二、关键研究突破

  1. 孵化期声音学习:生物学家索尼娅·克莱因多夫发现,超级细尾鹩莺在孵卵期间会发出“孵化呼叫”,雏鸟在破壳前即从母鸟的声音中学习专属“家庭方言”,推翻了鸣禽仅从父鸟学习鸣唱的旧范式。
  2. 概念性与语法性沟通:日本科学家�的拓发现,日本山雀的警报叫声包含具体含义(如“蛇来了”对应逃跑行为),并可能具有类似人类语法的结构,不同叫声序列组合能改变意义。
  3. 手势符号:研究还发现鸟类可能使用象征性手势,例如雌鸟以振翅动作示意伴侣先进入巢穴。

三、技术应用与解码挑战

  • 机器学习助力识别:康奈尔大学开发的“Merlin鸟鸣识别”应用利用大量声音数据库,已能准确识别全球约1400种鸟类声音,并借助公民科学持续扩大数据规模。
  • 解码意义仍是难点:尽管识别技术成熟,但理解鸟类声音的具体含义(如社交对话、情感表达)仍面临挑战。不同鸟类的声音在不同语境下可能表达不同意图,且背景噪音干扰分析。

四、研究范式的转变

  • 传统观点认为鸟类鸣唱仅为求偶或领地防御,但新研究表明鸟类具备“声音学习能力”,能终身习得新声音,类似人类语言的发展性。
  • 部分学者主张以“动物语言学”视角研究鸟类,探究其认知与沟通的复杂性,而非简单归为条件反射。

五、社会与科学意义

  • 研究呼吁打破人类对动物沟通能力的低估,正视鸟类等动物可能具备的复杂认知与交流系统。
  • 公众参与(如通过鸟类录音App)与跨学科合作(生物学、计算机科学、语言学)正推动该领域快速发展。

结论

鸟类歌声远非简单噪音,而是结构精细、含义丰富的沟通系统。随着技术与理论进步,人类正逐步揭开鸟类声音的奥秘,这不仅深化我们对自然界认知,也可能重新定义“语言”的边界。

15. ByteDance sacks intern for sabotaging AI project (www.bbc.com)

字节跳动解雇一名涉嫌蓄意破坏AI项目训练的实习生

2024年10月21日

据BBC报道,TikTok母公司字节跳动表示,已解雇一名“恶意干扰”其人工智能模型训练的实习生。

该公司否认了关于该事件造成损害程度的报道,称相关说法“存在一些夸大和不准确之处”。此前,有关该事件的消息于周末在社交媒体上流传。

字节跳动发表声明称,该员工是广告技术团队的实习生,并无AI实验室工作经验。其社交媒体个人资料及部分媒体报道内容存在不准确信息。公司强调,其商业在线运营(包括其大型语言AI模型)未受该实习生行为影响。

字节跳动同时否认了有关该事件因破坏由数千块高性能图形处理器组成的AI训练系统而造成超1000万美元损失的报道。

除已于8月解雇该人员外,字节跳动表示已将此事件通报给该实习生所在大学及行业机构。

字节跳动旗下拥有TikTok及其中国版本抖音等全球最受欢迎的社交媒体应用。该公司在算法开发领域被广泛视为领导者,这得益于其应用对用户的吸引力。

与许多国内外同行一样,字节跳动正大力投资人工智能。该技术不仅为其Doubao聊天机器人提供支持,还应用于包括文生视频工具“即梦”在内的众多其他应用。Doubao是该公司类ChatGPT的生成式AI模型,也是中国最受欢迎的AI聊天机器人。

16. A step toward fully 3D-printed active electronics (news.mit.edu)

MIT研究人员朝着全3D打印活性电子器件迈出关键一步,他们演示了完全通过3D打印制造的、无需半导体的可复位保险丝。这些器件是活性电子设备的关键组成部分,通常需要半导体才能实现。

核心发现与技术原理

  1. 意外发现:该研究源于一次实验中的观察。研究人员在利用挤出3D打印技术制作磁性线圈时,发现所使用的掺铜纳米颗粒的聚合物细丝材料具有独特性质:当通过大电流时,其电阻会急剧升高,但电流停止后又能恢复原状。
  2. 替代晶体管:这种特性使得该材料能够像半导体晶体管一样,作为开关使用。研究人员利用这一现象,通过单步3D打印,制造出了可用于构建无半导体逻辑门的开关器件。
  3. 材料唯一性:研究人员测试了掺入碳、碳纳米管和石墨烯等多种其他3D打印细丝,均未能复现这种可复位的开关特性。他们推测,现象可能与铜颗粒受热分散、聚合物从晶态转变为非晶态(聚合物正温度系数效应)有关,但确切机理仍需进一步研究。

技术现状与应用潜力

  • 性能:这些3D打印器件的性能虽不及硅基晶体管,但足以用于基础控制与处理功能,例如调节电机转速。实验显示,它们在经过4000次开关循环后仍未出现性能衰退。
  • 优势:与传统半导体制造相比,该技术使用可生物降解材料,能耗更低,产生的废物更少。打印所用的聚合物细丝成本低廉,且可通过掺杂其他材料(如磁性微粒)来增加功能。
  • 意义:这项技术有望将电子器件制造能力民主化,使企业、实验室乃至家庭都能在远离传统制造中心的地方生产智能硬件。其在太空等领域按需打印机电一体化设备方面具有应用潜力。

局限性与未来展望

  • 尺寸限制:受挤出打印工艺和材料特性所限,目前只能制造尺寸为几百微米的器件,远大于先进电子器件中纳米级的晶体管。
  • 未来目标:研究人员旨在进一步发展该技术,目标是仅使用挤出3D打印技术制造出功能齐全的电子器件,并计划尝试打印一个可工作的磁性电机。他们也将致力于优化工艺,以构建更复杂的电路并提升器件性能。
17. Software engineer titles have almost lost all their meaning (www.trevorlasn.com)

软件工程师头衔正逐渐失去其实际意义

头衔通胀的现状

过去,“高级软件工程师”头衔代表着实际的经验与专业技能。然而近年来,该头衔的晋升门槛显著降低,许多仅有3-4年经验的开发者即被冠以此称号。原本需要长期积累的高级能力认证,现已演变为快速授予的虚衔。这种头衔通胀现象不仅令人困惑,更消解了职业里程碑的实际价值。

真正的高级工程师应具备的素质

真正的高级工程师不仅是技术执行者,更是经过多项目、多技术栈锤炼的问题解决者。其核心能力包括:

  • 复杂系统重构经验:能处理遗留代码库与系统级问题
  • 危机处理能力:在生产环境故障中保持冷静,快速诊断并主导解决
  • 架构设计视野:决策需兼顾长期可维护性与扩展性
  • 技术领导力:能指导初级开发者技术与职业发展
  • 持续学习心态:保持技术好奇心与职业伦理意识

这些能力通常需要多年多样化实践才能形成,并非短期工作年限所能替代。

头衔通胀的主要成因

  1. 人才市场竞争:初创公司通过虚高头衔补偿薪资差距
  2. 社交平台影响:LinkedIn等平台将头衔变为个人品牌工具
  3. HR分类困难:快速演变的科技职位使标准化命名变得复杂
  4. 留人策略失效:企业将头衔晋升作为廉价激励手段,却忽视实际职责匹配

解决问题的必要性与方向

虚高头衔会导致期望与现实错配,使员工承担超出其经验的职责,既增加个人压力,也影响团队效能。

企业可采取以下措施:

  • 建立标准化职级体系(如L3-L5级别制),将晋升与具体技能职责绑定
  • 制定透明的岗位说明,明确各级别预期
  • HR与技术负责人协作,创建标准化的技能评估矩阵
  • 保持头衔真实性,以此吸引重视实际成长的人才,提升团队信任度与行业声誉

抵制头衔通胀不仅能优化内部管理,更能为企业在行业中建立可信赖的专业形象

18. Can SpaceX land a rocket with 1/2 cm accuracy? (theshamblog.com)

SpaceX火箭着陆精度技术分析

核心观点

SpaceX无法实现半厘米的火箭着陆精度,且无需达到此精度。实际测量与控制能力均表明,火箭着陆系统的设计容差远大于半厘米要求。

位置测量技术限制

  • GNSS(GPS)精度:民用GPS精度约2.5米(95%置信度);SBAS增强系统可提升至1.2米;RTK(实时动态定位)理论精度可达2.5厘米,但需在发射台或海上浮标设置接收器,且依赖稳定的通信链路。
  • 惯性测量单元(IMU)误差:仅依靠IMU进行航位推算,7分钟飞行后位置误差可达8.6米以上。
  • 其他误差源:火箭结构热变形(长度变化可达10-20厘米)、制造公差、GPS天线与着陆销之间的动态偏移等因素,使得半厘米测量精度在物理上无法实现。
  • 结论:Bill Gerstenmaier所称的“半厘米精度”可能是口误,实际应为“半米级”或“厘米级”控制误差。

位置控制与需求容差

  • 控制能力:基于Falcon 9陆地着陆数据,其着陆区域通常在±2.5-5米范围内。Super Heavy因无燃料晃动、可悬停微调、多发动机控制等优势,预期精度更高。
  • 捕获系统容差:着陆销捕获区域宽度约22米,允许±6.5米横向误差;前后容差约±9米;垂直容差估计为±2.5米。这些容差远超当前技术能力,提供了充足的安全余量。

姿态测量与控制

  • 姿态测量:通过陀螺仪积分获取姿态角。消费级IMU在7分钟内误差约3.2度,战术级IMU误差可低至0.03度。初始垂直度校准误差为主要误差源,但预期仍小于1度。
  • 姿态控制:预期控制精度在1度以内。捕获系统姿态容差较宽:横滚±10度、俯仰±15度、偏航±5度。其中偏航容差最严格,但通过捕获臂的差异压缩机构和挤推效应可进一步补偿。

速度与角速率控制

  • 速度测量:GPS测速精度可达1-2厘米/秒,IMU积分420秒后速度误差约4.1厘米/秒,两者融合可满足需求。
  • 角速率测量:消费级IMU分辨率已达0.0005度/秒,远高于需求,振动等误差可通过滤波抑制。

单发动机失效生存性

  • 姿态控制:单台Raptor发动机失效后,剩余两台可通过2度左右的矢量调整维持姿态,且容差仍有余量。
  • 推力限制:两台发动机可提供约1.67倍推重比,但可能不足以完成软着陆,需依赖额外燃料余量或调整下降剖面。

技术难点与成就

  • 实际挑战:火箭着陆精度虽非难点,但工程实现复杂,需应对数百万零件可靠性、实时轨迹规划、车辆与塔架通信、快速迭代验证等挑战。
  • 创新亮点:实时燃料约束下的参考轨迹重规划、热分离技术、车辆与塔架实时数据链路、极高迭代速度(首次捕获尝试即成功)。
  • 团队评价:SpaceX在工程与运营卓越性上已达行业巅峰,Starship通过大幅降低发射成本革新太空访问,已进入实现阶段。

总结:SpaceX通过宽泛的设计容差、稳健的传感器融合及控制算法,无需实现半厘米精度即可完成火箭捕获。此次成功着陆体现了其在复杂系统集成与快速工程实践方面的领先能力。

19. OOP is not that bad (osa1.net)

OOP 并不糟糕

面向对象编程(OOP)虽然不是作者偏好的范式,但主流静态类型OOP在多人长期协作编程方面做对了一些非常重要的事情。本文重点探讨了其中最核心的一点,并通过与Haskell的对比,说明OOP并非一无是处。

什么是OOP?

本文中的OOP指使用静态类型语言编程,具备以下特性:

  • :组合状态和可修改状态的方法。
  • 继承:允许类复用其他类的状态和方法。
  • 子类型:如果类型B实现了类型A的公共接口,则B的值可作为A传递。
  • 虚拟调用:方法调用的接收者类型由运行时而非静态类型决定。

符合此定义的语言包括C++、Java、C#、Dart。

OOP的优势:可组合库与向后兼容演进

通过一个日志库和数据库库的示例,展示了OOP特性如何实现库的平滑扩展和向后兼容:

  1. 初始设计:简单的Logger类和DatabaseHandle类。
  2. 抽象化:将Logger改为抽象类,添加具体子类(如_SimpleLogger)。此更改向后兼容,用户代码无需修改。
  3. 添加新功能
    • 添加忽略日志的_IgnoringLogger子类。
    • 添加文件日志等实现。
    • DatabaseHandle添加使用日志的新实现(如_LoggingDatabaseHandle)。
    • 添加基于严重级别的日志过滤(_LogAboveSeverity)。
    • 添加文件日志并支持刷新操作(FileLogger)。

关键优势

  • 所有更改均保持类型安全。
  • 库演进完全向后兼容。
  • 应用程序代码无需修改类型或方法。
  • 仅需更新对象构造方式即可使用新功能。

在Haskell中实现类似功能

方法1:代数数据类型(ADT)与回调

data Logger = MkLogger { _log :: Message -> Severity -> IO () }
  • 新状态通过闭包捕获,而非添加到类型中。
  • 新类型(如FileLogger)需要单独定义,现有代码无法直接使用。
  • 扩展性有限,需要重构用户代码。

方法2:类型类

class Logger a where
    log :: a -> String -> Severity -> IO ()
  • 需要隐藏具体类型以保持向后兼容。
  • 使用类型参数会导致“雪球效应”,更改传播到所有用户。
  • 存在类型(existentials)语法复杂,使用受限。

方法3:效果单子

class MonadLogger m where
    log :: String -> Severity -> m ()
  • 通过单子转换器实现不同日志后端。
  • 避免了类型参数传播问题。
  • 但需要整个生态系统遵循相同模式。

可组合效果系统

  • 不同效果库(如mtl和eff)通常不兼容。
  • 使用不同处理器需要复杂的类型操作。
  • 对生态系统一致性要求高。

OOP与Haskell方案的对比

方面 OOP Haskell(效果单子)
代码更改 仅需修改对象构造 需要整个生态采用相同模式
类型安全 全程保持 全程保持
向后兼容 天然支持 需要精心设计
新开发者门槛 低,代码直观 高,需要理解效果系统
库兼容性 无需特殊处理 可能需要适配器

结论

主流静态类型OOP在类型安全的前提下,实现了直白的向后兼容演进易于组合的特性。这对于大型长期项目至关重要。

Haskell虽有设计模式(如效果单子)可解决类似问题,但需要整个生态系统遵循相同模式。功能编程社区应更认真对待OOP的这些工业成功经验,而非简单归因于历史偶然。

20. Google Drive Blackout in Italy After Another Major Anti-Piracy Blunder (torrentfreak.com)

摘要

意大利反盗版平台“Piracy Shield”再次发生重大失误,错误封锁了谷歌云盘(Google Drive)的核心域名与IP地址,导致大量意大利用户在数小时内无法访问其服务。此次事件暴露了该系统由私营版权方主导、缺乏透明度和问责机制的严重问题。

背景与运作机制:

  • 意大利拥有行政封锁机制,由私营版权方(主要受益方是足球联赛意甲)运营的“Piracy Shield”技术平台负责实施。
  • 意大利电信监管机构AGCOM是该平台的主要支持者,但整个过程缺乏透明度,关键信息常被隐瞒,运营方极少因失误受罚。

事件经过:

  • 上周六傍晚,平台封锁了谷歌云盘的关键域名 drive.usercontent.google.com 及其关联IP地址(如 142.250.180.129)。
  • 封锁导致意大利用户访问谷歌云盘时被重定向至不同ISP的拦截页面,服务从当晚6点左右开始受影响,至9点左右近乎完全中断。
  • 尽管系统声称能在30分钟内执行封锁,但此次错误解除耗时超过12小时,封锁后仍有约20%的意大利用户无法访问。

反应与影响:

  • AWS技术经理乔治·邦菲利奥曾在事件前就预警过类似风险,但其建议被忽略。
  • 谷歌趋势数据显示,封锁期间意大利用户大量搜索“谷歌云盘”相关问题,甚至开始寻求“One Drive”等替代服务,体现了过度封锁带来的实际损害。
  • 文章质疑封锁谷歌域名可能是故意行为或严重失职,并指出若发生在工作日,后果将不堪设想。

呼吁与建议:

  • 文章敦促意大利政府立即介入,剥夺版权方干预互联网基础设施的权力,以防发生更严重的事件。
  • 建议对过度封锁行为实施重罚,例如按受影响用户数量计算赔偿金,以此威慑运营方并增加其责任感。
21. Optimizing Beer Glass Shapes to Minimize Heat Transfer – New Results (www.arxiv.org)

文章摘要:优化啤酒杯形状以最小化热传递 – 新结果

本文旨在确定啤酒杯的最优形状,以最小化饮用过程中液体的热传递,从而尽可能长时间地保持啤酒低温。该方法无需使用隔热材料,具有教育意义和实际应用价值。

研究问题与方法

  • 核心目标:通过优化杯体形状(而非使用隔热材料)来最小化热传递速率。
  • 问题类型:这是一个逆优化问题——目标是找到使热传递率最小的几何形状(曲线S),区别于已知形状求热传递率的正问题。
  • 核心发现:最小化热传递等价于最小化总表面积与体积的比值(Atot/V)。

模型假设与简化

为获得解析解,模型做了以下关键假设:

  1. 几何形状:杯体为旋转体,由一条连续、可微(C1类)、单调递增的曲线 r(h) 绕垂直轴旋转生成。
  2. 材料性质:杯壁热阻忽略不计(模拟薄玻璃),杯底绝热(模拟厚底或放置于隔热表面)。
  3. 流体状态:啤酒温度在空间上均匀,且为均匀流体(无沉淀物)。
  4. 热传递:忽略杯壁和泡沫层的导热热阻,仅考虑通过杯侧壁和液面自由表面的对流热传递;忽略辐射传热及手部接触传热。

数学模型与解析解

  • 控制方程:应用热力学第一定律于控制体积,推导出描述液体温度随时间变化的常微分方程 (ODE)。分析表明,温度变化率 dT/dt 与表面积体积比 Atot/V 成正比。
  • 优化条件:通过变分法推导,得到 Atot/V 取极值时需满足的ODE。积分求解后,得到描述最优杯形的解析表达式r(h) = (1/C1) * sqrt(4 + (C1^2 * Rb^2 - 4) * exp(C1 * h / 2)) 其中 h 为液面高度,r 为对应高度的杯子半径,Rb 为杯底半径,C1 为形状参数(C1 > 0)。
  • 物理意义:解表明,最优杯形从底部(小半径)向开口(大半径)单调递增,呈现类似郁金香或喇叭的形状。

参数确定与优化流程

  • 关键参数:形状参数 C1 由杯底半径 Rb、杯口半径 Rop(或比值 λ = Rop/Rb)和杯高 H 共同决定。
  • 新贡献:本文改进了此前研究(Pellegrini, 2019)的参数确定方法,提出了一个迭代步骤(公式32-35),以确保得出的杯子尺寸实用(避免体积过大)。
  • 流程:给定目标杯子的类别(如帝国品脱杯),以其高度 H 和口径比 λ 为输入,通过上述步骤计算 C1,进而确定杯底半径 Rb,使优化杯的容积与真实杯子匹配(误差<1 ml)。

结果与讨论

  • 优化形状特性:所有优化杯形在几何上相似,仅由 HRbλ 进行定量缩放。
  • 应用示例:对七类常见啤酒杯(包括巴西郁金香杯、帝国品脱杯、美式品脱杯、小麦啤杯、啤酒马克杯等)进行了优化计算,并给出了具体的几何尺寸(表2)和形状图示。
  • 局限性:当前解仅保证在给定 Hλ 的局部最优,尚无法比较不同类别或不同配置杯子之间的全局最优性。
  • 实际意义:所提出的形状可通过传统方法制造。例如,优化后的小麦啤杯呈经典的瘦高喇叭形,而马克杯则更显圆润。

结论

  1. 教育价值:本研究展示了基础热力学和函数极值理论如何应用于一个贴近生活的实际问题,是物理与数学教学的优秀案例。
  2. 实际贡献:提出了一种确定实用尺寸最优啤酒杯形状的解析方法和新计算流程。
  3. 未来工作:当前模型存在简化。未来的研究可纳入更多实际因素(如杯底传热、辐射、泡沫效应),并寻求跨类别的全局优化标准。
  4. 最终目标:旨在通过激发学生对精确科学的兴趣,并为啤酒爱好者提供“科学依据”,从而提升饮用体验。
22. C-Motive's electrostatic motors use printed circuit boards instead of magnets (www.c-motive.com)

C-Motive 静电电动机:用印刷电路板取代磁铁

C-Motive 的静电电动机专为固定式工业应用设计,旨在提供安静、免维护、高效的扭矩输出。与传统电动机相比,其耗电量更低,并且无需主动冷却系统、皮带传动或齿轮箱等额外组件。

与传统电磁电动机的对比

传统的电磁电动机有超过200年的历史,但需要其他技术来解决其问题:

  • 齿轮箱:传统电磁电机优化用于高速运行,需通过齿轮箱降速以达到所需扭矩输出。而静电电机天然适合低速运行,电气损耗低。
  • 主动冷却:铜线圈产生的热量需要主动冷却系统来降温。
  • 效率损失:电机尺寸增大本身就会导致效率损失和安全问题。

核心技术优势

静电技术带来了多方面的显著优势:

  1. 高效率:在电动机和发电机应用中效率更高,可增加电动汽车续航、降低工业/制造工厂的公用事业费用、提升可再生能源的发电量。
  2. 低速大扭矩:无需齿轮箱即可在低速下产生扭矩,且无需任何主动冷却。
  3. 高比扭矩:比扭矩(Nm/kg)可达传统电机的10倍
  4. 静音运行:声音和电磁噪音都很低。
  5. 精确控制:无转矩脉动,运动平滑(无齿槽转矩),可实现精确运动控制。
  6. 低能耗保持:以极低的能量损耗(<0.2%满功率)保持位置。
  7. 环境适应性:可完全浸没在水中运行。
  8. 可扩展性:设计原理相同,可扩展至多兆瓦级规模。
  9. 供应链安全:不使用稀土金属或磁铁,拥有完整的国内供应链。

工作原理简介

电机内部由级联和交替的转子(运动)与定子(固定)板构成。这些板由**标准印刷电路板(PCB)**制成,板上有从中心轮毂向外辐射的、经过高度优化的导电金属迹线(即电极)。

此外,C-Motive的电机内充填了一种专有的介电液体。该液体安全、无毒,并由大宗商品化学品制成,确保了产品在现场的整体安全性。

电机的驱动器控制决定速度和扭矩输出的电压,这些驱动器使C-Motive的电机可定制以适应任何应用

23. Show HN: Erin – Open-source and self-hosted TikTok feed for your own videos (github.com)

Erin 是一个开源且可自托管的服务,它提供了一个类似 TikTok 的垂直滑动信息流界面,用于浏览用户自己的视频文件。该项目源于 Reddit 上的一个需求,旨在提供一个能显示已过滤视频并使用 TikTok 界面风格的自托管应用。

主要功能

  • 使用类似 TikTok 的滑动界面展示用户自己的视频。
  • 可以标记不想在信息流中显示的视频,并通过长按标记按钮进入管理器查看和取消标记。
  • 支持创建自定义播放列表(通过子目录组织视频),并支持嵌套文件夹。
  • 支持自动播放、键盘前进/后退、双击全屏切换。
  • 可通过直接链接分享视频。
  • 支持显示视频和播放列表的元数据(如频道头像、名称、说明和链接),元数据通过与视频文件名对应的 JSON 文件定义,并支持文件夹级元数据。
  • 支持延迟加载视频,根据文件名自动命名剪辑。
  • 提供简单可选的主密码安全功能。
  • 支持水平和垂直滚动方向。
  • 支持从视频的开始、中间或随机位置开始播放。
  • 支持通过注入自定义 CSS 文件(设置 USE_CUSTOM_SKINtrue 并挂载 custom.css)来自定义外观。
  • 支持 HTTP 和 HTTPS。
  • 支持 Docker/代理部署。

部署与配置 Erin 是一个基于 React 的应用,完全由 Caddy 驱动,负责处理身份验证、提供静态文件和提供 React 应用。

  • 前提:需创建一个包含所有视频文件的 videos 目录。
  • Docker 部署
    1. 创建 .env 文件并配置环境变量。
    2. 使用 docker run 命令运行容器,将视频目录挂载为只读卷,并指定端口映射和 .env 文件。
  • Docker Compose 部署:提供了示例文件(如 docker-compose.simple.ymldocker-compose.proxy.yml)以快速启动。

关键配置参数(通过环境变量设置)

  • PUBLIC_URL:实例的公共访问 URL。
  • AUTH_ENABLED:是否启用基本身份验证(true/false)。
  • AUTH_SECRET:用于保护实例的密码哈希(使用 docker run caddy caddy hash-password 生成)。
  • APP_TITLE:浏览器标签页显示的自定义标题。
  • AUTOPLAY_ENABLED:是否启用自动播放。
  • PROGRESS_BAR_POSITION:进度条位置(bottom/top)。
  • IGNORE_HIDDEN_PATHS:是否忽略隐藏文件和目录。
  • SCROLL_DIRECTION:信息流滚动方向(vertical/horizontal)。
  • USE_CUSTOM_SKIN:是否加载自定义皮肤。
  • VIDEO_START_POSITION:视频开始播放的位置(start/middle/random)。

注意事项

  • 视频文件扩展名必须是 .mp4.ogg.webm(Safari 不支持 .ogg)。
  • 添加新视频只需将文件放入挂载的 videos 目录并刷新浏览器。
  • 文件名中的 - 会转换为空格,__ 会转换为 - 以生成显示标题。
  • 视频在每次刷新时会随机排序。
  • 部署时需注意密码哈希在 Docker CLI 和 Docker Compose 中的不同处理方式(特别是在包含 $ 符号时需在 Compose 中进行转义)。
  • 常见问题排查包括检查网络连接、DNS 配置、Caddy 文档、容器内视频文件路径和日志等。
24. Skeptical of rewriting JavaScript tools in "faster" languages (nolanlawson.com)

文章作者对当前将JavaScript工具用Rust、Zig等"更快"语言重写的趋势表示怀疑。作者基于个人对JavaScript的投入和偏见,提出了几点客观担忧:

性能方面:作者认为JavaScript工具还有大量优化空间,并未穷尽所有性能提升可能。许多新工具(如Rolldown、Oxlint、Biome)的提速可能源于重写本身(更注重性能、API已确定)而非语言优势。浏览器中的JavaScript已证明对多数场景"足够快"。

字节码与JIT:Node.js脚本无法享受浏览器字节码缓存和即时编译(JIT)的优势,但Node.js正通过编译缓存(如NODE_COMPILE_CACHE)改善。JIT在长期运行的服务器中效果显著,但在一次性脚本中优势有限。原生语言在CLI领域可能有性能优势。

贡献与调试:JavaScript作为"工人阶级语言",入门门槛低、社区庞大。重写为Rust等语言会提高贡献和调试门槛,可能阻碍普通开发者参与、修改或修复依赖项,甚至导致"习得性无助"。

作者承认现有工具(如eslint、prettier)确实缓慢,竞争有益,但认为JavaScript并非天生低效,仍有优化潜力(如Chrome DevTools使用Uint8Array作为位向量的优化)。最终,作者担忧重写热潮可能将JavaScript工具变成少数精英开发者维护的"黑箱",对社区产生意想不到的负面影响。

25. Learn Rust the Dangerous Way (cliffle.com)

《Learn Rust the Dangerous Way》系列文章概要

该系列文章旨在帮助没有正式计算机科学背景的底层C程序员(如固件、游戏引擎、操作系统内核开发者)学习Rust,通过将熟悉的、优化过的C代码转换为Rust来建立联系。

系列文章结构如下:

  1. 为什么学习Rust the Dangerous Way? - 系列介绍与基本规则。
  2. 你不能在任何语言里写C: - 将一段粗糙且优化过的C程序,翻译为同样粗糙且优化过的unsafe Rust代码。
  3. 引用随需提供: - 解析Rust引用与指针的异同及其重要性。
  4. 优化前请测量: - 审视一种基于未初始化内存的优化,并将其转换为同样快速的safe代码。
  5. 更完美的联合体: - 探讨指针类型转换的替代方案,以及如何为unsafe操作编写safe包装器。
  6. 用不安全的部分构建安全: - 最终将大部分程序转换为safe代码,并确保剩余的unsafe部分尽可能安全。
  7. 让编译器完成工作(额外章节): - 探讨如何用惯用的、地道的Rust重写程序,并依赖自动向量化来保证性能。

系列通过一系列循序渐进的实践文章,引导读者从unsafe Rust起步,逐步理解核心概念(如引用、内存优化),最终将代码重构为更安全、更地道的Rust风格。

27. Is it better to fail spectacularly? (danielmangum.com)

文章摘要:《失败得轰轰烈烈更好吗?》

本文讲述了作者为芝加哥马拉松备战、参赛及赛后反思的完整经历,核心围绕“冒险与谨慎”之间的抉择展开。

一、赛前的疑虑与计划

作者此前三次马拉松成绩在3小时3分至3小时8分之间,本次目标是突破3小时大关。赛前两个月,他因工作繁忙、旅行疲劳和生病等因素,担心准备不足。他制定了四个配速计划:稳健计划大后半程加速计划一生最佳10K计划保守的“Dan跑马拉松”计划。但赛前一晚,他均不满意,最终设计了**“烧船”计划**——前半程相对放松,后半程逐步加速,目标2:59:51。他认为此计划“大胆而非妄想”。

二、赛前准备与比赛日

  • 行程与饮食:作者周五晚抵达芝加哥,周六进行短程热身跑并参加马拉松博览会。饮食策略是专注碳水化合物,避免暴食,赛前晚餐仅食白面包。
  • 比赛日早晨:凌晨3点起床,进食白面包、咖啡和运动饮料,反复温习比赛计划。清晨与家人步行至起点,起跑前在人群中感受到全球跑者共有的紧张与期待。

三、比赛过程:失控的节奏与意外危机

  • 前半程过快:尽管计划以7:10/英里起步,但作者前10公里配速实际达6:45/英里,手表信号受高架桥干扰,让他误判速度。第8英里察觉严重超速,但决定继续当前配速,践行“烧船”精神。
  • 后半程的挣扎:第12-15英里,观众热情高涨,作者加速前进。第16-20英里仍感良好,甚至考虑冲击2:53。然而第23英里突发抽筋,右腿无法移动,暂停超一分钟后方能缓步前进。
  • 最后的冲刺:虽抽筋缓解,但作者放弃冲击2:53,保守调整配速。最后1英里遇到妻子凯蒂的鼓励,最终以2小时55分34秒完赛,个人最好成绩提升近8分钟,但以34秒之差未达波士顿马拉松资格线。

四、赛后反思与总结

作者认为本次比赛“大胆但非妄想”,尽管执行了未计划的激进策略,但最终成功突破3小时。他总结了成功的方面

  • 赛前赛后碳水聚焦的饮食策略有效稳定能量。
  • 比赛中补给纪律性强(每站运动饮料,每4英里能量胶)。
  • 速度训练提升了耐受能力。
  • 允许自己享受比赛,与观众和家人互动,心态积极。

也指出了需要改进之处

  • 训练里程不足(峰值周跑量73英里,最长单次20英里)导致后半程抽筋。
  • 赛前计划过于保守,因自我怀疑而设定模糊目标。
  • 赛前目标应更明确,便于训练中调整。

五、附录:比赛分段计时

作者附上了官方分段数据,显示前半程配速稳定在6:45-6:36/英里,第40公里因抽筋骤降至7:09/英里,最终完赛配速6:45/英里。

总结:文章通过一次马拉松参赛经历,探讨了在追求挑战性目标时,如何在“冒险”与“谨慎”之间找到平衡。作者虽未达成最高目标,但取得了个人突破,并从中获得了关于训练、计划和心态的深刻启示。

29. Intuit asked us to delete part of this Decoder episode (www.theverge.com)

Intuit公司战略与收购整合 Intuit通过一系列收购(如TurboTax、Mailchimp、Credit Karma)构建了一个覆盖个人财务、小企业会计和营销的综合平台。公司采取**“互操作性”**策略,通过建立数据管道连接不同云平台(如AWS和Google Cloud),而非完全统一技术栈,以加速整合并保留收购对象的优势。这种策略的优势在于灵活性,但挑战在于整合过程可能比预期更长。公司当前结构围绕消费者和业务两大平台运行,强调以统一战略和目标(“Intuit操作系统”)进行管理,而非让各业务单元完全独立。

税务相关争议与公司回应 Intuit旗下TurboTax因游说反对美国联邦免费直接报税系统而长期受到批评。尽管Intuit声称其游说旨在简化税法,并指出免费报税选项已通过私营企业提供,但大量报道指出该公司自1990年代末起投入数百万美元进行游说。此外,Intuit曾因“免费”营销误导消费者,在2022年支付1.41亿美元和解金,并在2023年被FTC裁定需停止此类宣传。在采访中,CEO Sasan Goodarzi对此进行了辩护,坚持认为免费报税已存在且政府系统不必要。采访后,Intuit公关负责人要求删除关于税务争议的问答部分,认为提问“不当”,但《The Verge》予以拒绝并原样发布了该段落。

AI与技术投资 Intuit约六年前开始押注AI,目前平台由机器学习、知识工程和自研大语言模型(LLM) 驱动。公司强调其AI专注于实现“为您完成”的体验(如自动记账、营销),并确保准确性,尤其在税务和会计领域。Intuit并未依赖外部LLM的规模效应,而是基于自身数据训练模型,但会与其他技术进行实验以学习。尽管LLM存在局限(如计算能力),但通过与其他AI技术的组合应用来弥补。

其他关键决策

  • 关闭Mint服务:将用户迁移至Credit Karma平台,旨在打造统一平台,但承认部分Mint用户需求无法完全满足。
  • 裁员与招聘:2024年裁员约8%(主要依据绩效管理系统筛选的“未达预期”员工),并计划招聘新员工专注于AI领域,以加速战略投资。
  • 产品迁移:正将用户从桌面端迁移至云端,但承认云端版本功能与传统桌面版存在差异,迁移过程存在挑战,旨在提供更适合当代用户的“为您完成”体验,而非简单复制桌面功能。