2025-11-08

32 篇热帖

Rockstar employee shares account of the company's union-busting efforts

Rockstar Games 涉嫌反工会活动事件总结

根据 GTAForums 论坛上的讨论,Rockstar Games 公司近期发生了一系列事件,引发了关于其反工会活动的担忧。以下是主要内容:

事件经过:

  • 大规模解雇: 近期,Rockstar Games 解雇了超过 34 名员工,其中 31 名位于英国,3 名位于加拿大。
  • 解雇原因: 公司以“严重不当行为”为由,指称这些员工在 Discord 上的行为是解雇的原因。然而,公司并未提供任何证据,也未透露具体的不当行为。
  • 不合理的解雇程序: 被解雇员工在解雇会议中被拒绝了获得工会代表的权利,会议时间短于 5 分钟。未在工作室的员工则通过电话被告知解雇,且 HR 在一位员工惊慌失措时挂断了电话。
  • 工会背景: 大部分被解雇的员工是工会成员,且主要来自英国各工作室的工会组织委员会。
  • 工会发展: 在被解雇事件发生前一周,工会成员人数已达到约 200 人,超过了 10% 的门槛,可以开始与管理层进行集体谈判,就包括恶性加班、不合理的薪资和僵化的工作安排等问题进行协商。
  • 员工担忧: 剩余员工担心遭到报复,不敢公开讨论,导致工作室士气低落。

员工代表的观点:

一位自称是 Rockstar Games 多年资深员工的匿名人士(已通过 @Spider-Vice 验证)表示:

论坛讨论:

  • 许多论坛用户对 Rockstar Games 的行为表示震惊和愤怒。
  • 有人认为这可能会导致员工泄密或粉丝不满。
  • 一些用户认为这与公司此前承诺改善工作环境的努力相悖。
  • 不少用户表达了对 Rockstar Games 和 GTA VI 的信心下降。

总结:

Rockstar Games 近期解雇多名员工,引发了关于其反工会活动的质疑。公司并未提供充分证据,且解雇程序存在诸多问题,导致员工对公司失去信任。工会正在积极争取被解雇员工的权益,并呼吁公众支持。事件也引发了人们对游戏行业工作环境和员工保护问题的关注。

Vodafone Germany is killing the open internet – one peering connection at a time

沃达丰退出公共互联网交换点:延迟降低还是新中介?

摘要: 德国电信巨头沃达丰(Vodafone)宣布将退出德国的公共互联网交换点(IXP),转而通过一家名为 Inter.link 的公司进行互联互通。沃达丰声称此举将带来更低的延迟、更高的可靠性和成本节约。然而,本文分析了这一转变,质疑其是否真的能实现沃达丰的承诺,并探讨了其对互联网开放性和净中立性的潜在影响。

背景:

  • 沃达丰计划在2025年底完全退出所有公共互联网交换点,包括世界上最大的交换点——法兰克福DE-CIX。
  • 此前,沃达丰在高峰时段的网络问题导致用户体验不佳,甚至不得不将Telefonica DSL作为主要WAN连接。
  • 此举引发了对互联网开放性和净中立性的担忧,并引发了对沃达丰是否会通过Inter.link收取额外费用的质疑。

传统互联网互联方式 (Settlement-Free Peering):

  • 互联网用户购买的是ISP的网络接入服务,ISP再通过一系列协议和连接与其他网络互联。
  • 公共互联网交换点,如DE-CIX,允许成百上千的网络直接连接,交换数据,无需支付费用。
  • 这种“免结算互联”模式,使得数据传输路径最短,延迟最低,效率最高。

Inter.link的介入:

  • 沃达丰现在将所有互联互通业务外包给Inter.link,一家总部位于柏林的“网络即服务”(NaaS)提供商。
  • Inter.link在15个国家/地区拥有40多个接入点,声称连接了300多个数据中心。
  • 虽然Inter.link的公共互联政策看起来正常,但其“不与客户互联”的规定引发了对内容提供商可能需要支付额外费用的担忧。
  • 作者推测,内容提供商可能需要成为Inter.link的客户,以确保可靠地向沃达丰客户提供服务。

对互联网开放性的潜在影响:

  • 沃达丰的转变可能改变互联网的经济模式,导致大型电信公司试图通过收取额外费用来增加收入。
  • 这与瑞士电信监管机构对瑞士电信收取互联费用的裁决类似,以及欧盟对净中立性的规定相悖。
  • 德国的IT-Administrator 认为,沃达丰的转变可能降低透明度,并增加小型供应商和内容提供商的准入门槛。

Deutsche Telekom的先例:

  • 德国电信(Deutsche Telekom)长期以来因服务质量问题和人为制造的瓶颈而受到批评。
  • 消费者组织已经向监管机构投诉,指责德国电信试图通过创建“付费快速通道”来违反净中立性原则。

延迟降低的质疑:

  • 根据学术研究,通过中间网络传输数据通常会增加延迟。
  • 作者未能找到支持沃达丰声称Inter.link可以降低延迟的证据。

总结:

沃达丰退出公共互联网交换点,转向Inter.link互联互通的举动,可能对互联网开放性和净中立性产生深远影响。尽管沃达丰声称此举将带来好处,但作者对这一转变表示担忧,认为它可能导致互联网经济模式的改变,并最终损害用户利益。最终结果取决于沃达丰的实际表现,需要进一步的数据分析来验证其承诺。

更新:

  • 作者承认,最初的分析可能存在不足,但仍然倾向于公共IXP,并认为Inter.link的模式可能对沃达丰客户有利。
  • 沃达丰将保留与大型云服务提供商(Hyperscalers)的专用互联互通。
  • 作者强调,最终结果将取决于沃达丰的实际表现。

关键词: 沃达丰, Inter.link, 互联网交换点, IXP, 净中立性, 网络即服务, NaaS, 延迟, 互联互通, 德国电信, 欧洲监管。

Denmark's government aims to ban access to social media for children under 15

丹麦拟社交媒体年龄限制,以保护儿童安全

主要内容:

丹麦政府近日宣布了一项协议,旨在禁止15岁以下的人员访问社交媒体,以此应对对儿童过度沉浸于互联网不良内容和商业利益的担忧。该举措被认为是欧盟范围内限制青少年和儿童使用社交媒体的最严厉措施之一。

关键细节:

  • 年龄限制: 计划禁止15岁以下的人员访问社交媒体,但允许13岁以上的儿童在特定评估后由家长允许访问。
  • 高普及率: 丹麦数字事务部长卡罗琳·斯塔格表示,94%的丹麦13岁以下儿童至少在使用一个社交媒体平台,其中超过一半的10岁以下儿童也在使用。
  • 立法进程: 该禁令的生效需要时间,由跨党派的议会多数派成员制定相关立法,预计需要数月时间。丹麦将谨慎推进立法,以确保法规的有效性和避免技术巨头利用漏洞。
  • 执行方式: 丹麦计划建立年龄验证应用程序,并利用全国电子身份系统(13岁以上丹麦公民几乎都拥有)进行验证。虽然无法强制技术巨头使用该应用程序,但丹麦将通过欧盟委员会对不进行适当年龄验证的公司处以高达全球收入6%的罚款。
  • 动机与目标: 该举措并非为了剥夺儿童接触数字世界的机会,而是为了保护他们免受有害内容的影响。斯塔格批评技术巨头未能保障儿童安全,并表示将“接管方向盘”以确保儿童的未来。
  • 全球趋势: 澳大利亚已于去年12月通过了全球首个针对儿童的社交媒体禁令,规定最低年龄为16岁。中国也已对儿童的在线游戏和智能手机使用时间设定了限制。法国正在调查TikTok是否允许推广自杀内容。
  • 欧盟法规: 欧盟的《数字服务法》已禁止13岁以下的儿童在TikTok、Instagram、YouTube等平台注册账户。
  • 技术平台的回应: TikTok表示支持丹麦的倡议,并强调其已实施了50多种青少年安全功能以及家长控制工具。Meta尚未对此发表评论。
  • 问题: 丹麦尚未明确说明如何在儿童普遍拥有屏幕设备的情况下执行该禁令。

总结:

丹麦政府通过拟议的社交媒体年龄限制,旨在保护儿童免受在线有害内容的影响,并对技术巨头未能保障儿童安全提出了质疑。该举措可能对全球范围内的社交媒体监管产生影响,并促使技术平台采取更严格的安全措施。

Ticker: Don't die of heart disease

避免心脏病:一份实用指南 (Bìbiǎo Xīn Zàng Bìng: Yī Fèn Shí Yòng Zhǐnán)

TL;DR:

  • 心脏病是全球死亡的主要原因,而且并非只影响老年人。25% 的心脏病发作发生在 55 岁以下的人群中。
  • 许多人第一次发现自己患有心脏病时,往往是猝死。心脏病通常是悄无声息地发展数十年,最终突然爆发。
  • 通过采取行动,您可以避免死于心脏病。
    • 富人通常通过接受高价的预防性医疗服务来避免心脏病。
    • 但他们所采取的措施简单易行,每个人都可以做到。您可以通过花费不到 300 美元做一些重要的检查,并在保险的覆盖下服用所需的药物。
    • 我们拥有预防心脏病的知识、测试、诊断和治疗方法,您可以按照这份指南开始关注您的心脏健康。
  • 30 多岁和 40 多岁是采取行动的最佳时机。
  • 您不能依赖您的医生来帮助您预防心脏病或心脏病发作。您是唯一可以保护自己免受心脏病死亡威胁的人。
  • 如果您只读一件事,请阅读“如何避免死于心脏病”部分。

内容概要:

1. 为什么要做这件事?

作者分享了自己因为发现皮肤癌而开始关注健康的经历,并意识到预防心脏病的重要性。他认为,医疗系统更注重治疗疾病而非预防疾病,而普通人需要成为自己健康的倡导者。

2. 背景介绍

心脏病是全球死亡的主要原因,并且越来越影响年轻人。许多人直到发生心脏病发作才意识到自己的健康问题。

3. 扭曲的激励机制

作者指出,医疗系统的经济激励机制导致其更关注治疗疾病,而非预防疾病。

4. 什么是心脏病?

心脏病通常指动脉粥样硬化性心脏病 (ASCVD),即血管中胆固醇斑块积聚,阻塞血流。斑块的形成是一个缓慢的过程,从青少年时期开始,并随着年龄的增长而恶化。

5. 预防疾病

预防心脏病是关键,因为它不仅能延长寿命,还能预防其他疾病。

6. 如何避免死于心脏病

作者建议采取以下措施:

  • **生物标志物检测:**进行扩展的血脂检测,包括 ApoB、Lp(a)、hsCRP 等,以了解自己的风险因素。
  • **影像学诊断:**进行 CT 扫描或 CTA 扫描,以查看动脉中的斑块情况。
  • **药物治疗:**根据医生的建议服用他汀类药物、ACE 抑制剂等药物。
  • **行为改变:**保持健康的生活方式,包括规律的锻炼、健康的饮食、充足的睡眠和管理压力。

7. 如何从医生那里获得这些服务

作者提供了一份样本信函,帮助读者向医生索取必要的检查和治疗。

8. 如何解读检查结果

作者建议利用 ChatGPT 等工具来解读检查结果,并与医生讨论。

9. 最终想法

作者希望通过这份指南帮助更多人了解心脏病预防的重要性,并采取行动保护自己的健康。

关键点:

  • 积极主动: 成为自己健康的主人,不要依赖医生。
  • 早期检测: 尽早进行检查,了解自己的风险因素。
  • 持续管理: 采取行动,管理风险因素,保持健康的生活方式。
  • 经济可行: 预防心脏病并不需要花费巨额资金,通过简单的检查和生活方式的改变,就能有效降低风险。
YouTube Removes Windows 11 Bypass Tutorials, Claims 'Risk of Physical Harm'

YouTube 内容审核风波:技术教程遭误判,引发对自动化审核的反思

近期,YouTube 平台对 Linux 和自建网络等技术内容审查的现象再次引发关注。这次,受欢迎的科技 YouTuber CyberCPU Tech (频道地址:https://www.youtube.com/@CyberCPU?ref=itsfoss.com) 遭遇了更严重的打击,其频道一度面临风险。

事件的起因是 CyberCPU Tech 分别发布了两部视频:一部演示了如何在本地帐户上安装 Windows 11 25H2 (视频地址:https://www.youtube.com/watch?v=0U7IyQQ-puQ&ref=itsfoss.com),另一部则展示了如何绕过 Windows 11 的硬件要求,在不受支持的系统上安装操作系统 (视频地址:https://www.youtube.com/watch?v=mCBVSTNNAgo&ref=itsfoss.com)。YouTube 以这两部视频“鼓励危险或非法活动,可能导致严重身体伤害或死亡”为由,对其进行了社区规范违规处罚,并分别在 45 分钟和 5 分钟内拒绝了 CyberCPU Tech 的申诉。

起初,CyberCPU Tech 怀疑是过度激进的 AI 审核导致了这些处罚,甚至猜测是否涉及微软的干预。 最终,YouTube 恢复了这两部视频,并声称之前的处理并非由自动化系统导致。

然而,CyberCPU Tech 质疑,如果审核是由人工进行的,那么 YouTube 如何得出这些 Windows 教程可能导致“死亡风险”的结论?

这一事件凸显了自动化审核系统在区分合法内容和有害内容方面的困难,它们缺乏必要的上下文理解。 尽管大型科技公司投入了巨额资金用于 AI 开发,但其审核工具仍然会错误地将无害的技术教程判定为威胁生命的内容。 类似的情况也发生在 Enderman 的频道上。

与此同时,大量的垃圾信息却得以逃脱审核。 报告指出,这些平台需要更强的人工监督,自动化技术可以作为辅助手段,但不能取代复杂情况下的人类判断。

相关阅读:

  • 微软关闭 Windows 11 本地帐户设置
  • Telegram:请区分威胁和非威胁用户

总而言之,YouTube 此次事件表明,在内容审核方面,过度依赖自动化系统可能导致误判,对技术创作者造成不公正的待遇。

Valdi – A cross-platform UI framework that delivers native performance

Valdi 框架简介 (Valdi Framework Overview)

Valdi 是一个跨平台 UI 框架,旨在在提供原生性能的同时,提高开发效率。它已经在 Snapchat 的生产应用中广泛使用 8 年,目前处于 Beta 状态,因为工具和文档需要更多的公开测试。

关键特性:

  • 跨平台: 支持 iOS、Android 和 macOS。
  • 原生性能: Valdi 将声明式 TypeScript 组件编译为平台原生视图,避免了 Web 视图或 JavaScript 桥接带来的性能损耗。
  • 开发效率: 采用 TSX 组件和 TypeScript 语法,提供类型安全。
  • 热重载: 支持毫秒级的热重载,无需重新编译。
  • VSCode 调试: 可在 VSCode 中进行断点调试、变量检查、性能分析和堆内存快照。

核心优势:

  • 真正的原生性能:
    • 自动视图回收: 全局视图池机制,减少视图创建延迟。
    • 优化组件渲染: 仅重新渲染发生变化的部分,避免不必要的父组件重新渲染。
    • 优化布局引擎: 使用 C++ 布局引擎,减少线程间的转换开销。
    • 视口感知渲染: 仅渲染可见视图,提高无限滚动性能。
  • 为速度设计的开发体验: 快速的热重载、VSCode 调试、熟悉 TypeScript 语法。
  • 灵活的采用模式:
    • 嵌入 Valdi 到原生应用: 将 Valdi 组件集成到现有的 UIKit 或 Android 视图层级。
    • 嵌入原生到 Valdi: 在 Valdi 布局中使用平台特定的视图。
    • 多语言模块: 使用 C++、Swift、Kotlin 或 Objective-C 编写性能关键代码,并与 TypeScript 进行类型安全绑定。
    • 全栈架构: 使用 Valdi 构建整个功能,利用工作线程进行后台处理。
  • 深度原生集成: 自动生成 TypeScript 和原生平台之间的类型安全绑定,方便访问原生 API。
  • 大规模验证: 驱动 Snapchat 生产应用的关键特性。

主要功能亮点:

  • Flexbox 布局系统: 支持自动 RTL。
  • 工作线程: 用于多线程 JavaScript 执行。
  • 原生动画: 提供原生级动画效果。
  • 高级手势识别: 使用平台原生手势处理。
  • 内置测试框架: 提供组件级别的单元测试。
  • Bazel 集成: 支持可重复、增量构建。

快速入门:

  1. 安装 Valdi CLI: npm install -g @snap/valdi
  2. 项目初始化: valdi bootstrap
  3. 安装 iOS 或 Android 依赖: valdi install iosvaldi install android
  4. 推荐安装 VSCode/Cursor 扩展,提升开发体验。

资源链接:

获取帮助:

加入 Discord 社区: https://discord.gg/uJyNEeYX2U

贡献:

请遵循贡献指南: https://github.com/Snapchat/Valdi/blob/main/CONTRIBUTING.md

许可证:

Valdi 框架使用 MIT 许可证: [https://github.com/Snapchat

Study identifies weaknesses in how AI systems are evaluated

大型语言模型基准测试的严谨性评估:牛津互联网研究所新研究

摘要: 牛津互联网研究所(OII)领导的一项研究,联合了来自全球领先机构的42名研究人员,对445个大型语言模型(LLM)基准测试进行了系统性回顾,发现许多测试缺乏科学严谨性。该研究强调了明确定义和加强科学标准的重要性,以确保对人工智能进步、能力和安全性的评估结果可靠。研究结果将在NeurIPS 2025会议上发表,并提供了一个“构建有效性检查清单”,旨在帮助研究人员、开发者和监管机构评估基准测试的科学性。

主要发现:

  • 缺乏统计严谨性: 仅有16%的研究在比较模型性能时使用了统计方法,这可能导致报告的差异仅仅是偶然现象,而非真正的进步。
  • 定义模糊或存在争议: 约一半的基准测试旨在衡量诸如“推理”或“无害性”等抽象概念,而这些概念缺乏清晰的定义,难以确保测试的有效性。

问题示例:

  • 格式规则干扰: 测试可能要求模型以特定且复杂的格式呈现答案,即使模型解决问题正确,但由于格式不符合而表现不佳。
  • 脆弱的性能: 模型可能在简单的数学问题上表现良好,但当数字或措辞发生轻微变化时,就会失败,表明模型可能只是记忆模式,而非真正理解问题。
  • 未经支持的声明: 模型在医学考试的多项选择题中表现良好,可能被误认为具有医生级别的专业知识,但通过考试只是医生工作的一个小方面,结果具有误导性。

研究建议:

研究人员提出了八项建议,以提高人工智能基准测试的有效性,借鉴心理测量学和医学等领域的成熟方法:

  • 定义与隔离: 为要测量的概念提供精确的、可操作的定义,并控制无关因素。
  • 构建具有代表性的评估: 确保测试项目代表现实世界的条件,并涵盖目标技能或行为的全部范围。
  • 加强分析和论证: 使用统计方法报告不确定性并进行稳健的比较;进行详细的错误分析以了解模型失败的原因;并论证基准测试对于其预期目的的有效性。

工具与资源:

研究团队提供了一个“构建有效性检查清单”(Construct Validity Checklist),方便研究人员、开发者和监管机构评估基准测试的设计是否符合科学原则。该清单可在 https://oxrml.com/measuring-what-matters/ 访问。

参与机构:

该研究由牛津互联网研究所(OII)领导,并联合了EPFL、斯坦福大学、慕尼黑技术大学、加州大学伯克利分校、英国人工智能安全研究所、魏茨曼研究所和耶鲁大学等机构的研究人员。

研究意义:

该研究强调了基准测试在人工智能系统设计、部署和监管中的核心作用,并警告称,如果基准测试不科学,可能会误导开发者和监管机构,影响对人工智能系统能力和安全性的评估。

联系方式:

Anthea Milnes (Head of Communications) Sara Spinks / Veena McCoole (Media and Communications Manager) T: +44 (0)1865 280527 M: +44 (0)7551 345493 E: [email protected]

My friends and I accidentally faked the Ryzen 7 9700X3D leaks

总结:关于虚假的 AMD Ryzen 7 9700X3D Passmark 跑分

近日,作者及其朋友因在 Linux 环境下进行 CPUID 指令和 MSR 实验时,不小心提交了一个虚假的 AMD Ryzen 7 9700X3D 的 Passmark 跑分结果,引发了一系列新闻报道。作者现就此事澄清如下:

核心要点:

  • 9700X3D CPU 不存在: 作者明确指出,Ryzen 7 9700X3D CPU 并非真实存在的产品,这次跑分结果是他们通过修改 /proc/cpuinfo 文件实现的恶作剧。
  • 虚分可被制造: 作者解释了他们如何通过修改 Linux 系统文件来欺骗 benchmark 软件,并指出即使修改 CPUID 指令(在虚拟机或通过编辑 MSR 寄存器)也是可行的,因此 Windows 系统也存在类似风险。
  • 新闻媒体的反应: 虚假跑分结果被多家科技媒体报道,并引发了关于 AMD 9700X3D CPU 的各种猜测和传闻,甚至出现了一些编造信息的报道。
  • Passmark 的责任: 作者强调,虽然 benchmark 公司需要更加谨慎,但由于 benchmark 结果可能被伪造,完全保证其准确性是不可能的。
  • 重要提醒: 作者呼吁所有科技爱好者和媒体从业者,不要轻易相信未经核实的网络 benchmark 结果
  • 实验方法: 他们使用 sed 命令修改 /proc/cpuinfo 文件来模拟 CPU 信息。
  • 免责声明: 作者提醒大家,不要伪造 CPU benchmark 结果,并对因此造成的误导消费者可能产生的负面影响表示歉意。

事件时间线:

  • 11月3日: 事件开始,作者及其朋友提交虚假跑分结果。
  • 11月8日: Passmark 官方对事件做出回应。

作者最后表示,虽然不确定 AMD 是否真的会推出 9700X3D,但这次事件提醒人们对网络信息保持警惕,并对所有参与者表示感谢。

Apple is crossing a Steve Jobs red line

苹果公司用户体验红线的消退:一篇回顾与反思

本文回顾了史蒂夫·乔布斯(Steve Jobs)对苹果公司用户体验的坚定承诺,以及当前苹果公司在用户体验方面的一些转变。

史蒂夫·乔布斯的用户体验至上原则:

  • 核心价值: 乔布斯认为,清晰的价值观是有效领导力的关键。他对苹果的期望是卓越的创新、设计和简洁性。
  • 客户体验的重要性: 乔布斯在重返苹果公司后,将客户体验视为至关重要的战略,认为良好的体验能吸引新客户并提升品牌忠诚度。
  • “红线”原则: 乔布斯坚持不妥协的原则,任何可能损害或稀释用户体验的想法都会被他坚决拒绝。他视保护用户体验为苹果的核心价值。
  • 历史案例: 文章回忆了1999年,苹果曾考虑在Mac系统软件中加入广告,包括启动时播放广告视频和在系统通知中嵌入广告。但乔布斯最终否决了这个方案,理由是广告会破坏Mac系统的纯洁、优雅和简洁的界面,即使用户可以选择付费版本,他也反对在任何情况下出现广告。

当前苹果公司面临的挑战:

  • 广告的引入: 近期,苹果计划在Apple地图中投放广告,此前App Store已经开始投放广告并不断增加。
  • 用户体验的模糊: 这种做法引发了人们对苹果公司是否依然重视用户体验的担忧。
  • 经济利益的驱动: 广告的引入主要出于苹果公司追求更多收入的考虑,这与乔布斯对用户体验的保护形成了鲜明对比。
  • 红线的消失: 文章指出,红线并非永恒,只有公司领导人持续维护才能保持其存在。如今,苹果公司对用户体验的保护力度不如乔布斯时代。

总结:

文章认为,苹果公司在追求经济利益时,正在逐渐模糊用户体验的“红线”,这与史蒂夫·乔布斯在位时坚持的用户体验至上的原则形成了鲜明对比。苹果公司现在的情况与乔布斯时代大不相同,这正是问题的核心所在。

VLC's Jean-Baptiste Kempf Receives the European SFS Award 2025

欧洲自由软件奖授予 Jean-Baptiste Kempf,表彰其对 VLC 项目的贡献

2025年11月7日 – 自由软件欧洲基金会 (FSFE) 和博尔扎诺-博岑用户组 (LUGBZ) 共同宣布,Jean-Baptiste Kempf 因其对自由软件运动的杰出和持久贡献以及对 VLC 项目的长期奉献,荣获 2025 年欧洲自由软件奖 (European SFS Award)。

VLC 项目简介:

VLC 最初于 1996 年由学生发起,起初是一个简单的网络流媒体客户端。在 Jean-Baptiste Kempf 的努力下,它发展成为如今全球数十亿用户使用的全能媒体播放器。它能够播放几乎所有类型的媒体文件,并持续进化,成为一个强大的通用媒体播放器。

Jean-Baptiste Kempf 的贡献:

Jean-Baptiste Kempf 在学生时代加入 VLC 项目,并在其原始开发者毕业后面临项目消亡的风险时,接手了该项目。他与核心开发团队合作,将其转变为我们今天所依赖的不可或缺的媒体播放器。

Kempf 后来担任 VideoLAN 非营利组织的负责人,同时也是 VLC 媒体播放器的主要开发者,并创立了 VideoLabs。他拒绝了来自大型科技公司的收购要约,坚持维护 VLC 的自由软件特性。为了保障软件的自由,他创立了 VideoLAN 非营利组织,并成立了 VideoLabs 以支持技术发展。

欧洲自由软件奖:

该奖项旨在表彰那些为推进欧洲自由软件做出重大且持久贡献的个人。自 2023 年起,由 LUGBZ 和 FSFE 共同颁发,旨在表彰那些努力加强软件自由、社区建设以及技术伦理基础的人。

获奖感言:

Jean-Baptiste Kempf 表示,他深感荣幸获得该奖项,并感谢 VideoLAN 和 FFmpeg 团队的辛勤工作,即使资源有限,他们也致力于确保视频内容能够自由播放和处理。

其他信息:

  • 之前的获奖者包括 Frank Karlitschek (2023) 和 Bram Moolenaar (2024)。
  • VLC 项目的标志是一个橙色和白色的交通锥,源于项目最初学生的玩笑。
  • Jean-Baptiste Kempf 还荣获了法国国家功绩骑士勋章,成为第一位获得此殊荣的自由软件开发者。

总而言之,Jean-Baptiste Kempf 通过其对 VLC 项目的长期投入和对自由软件理念的坚持,为全球数十亿用户带来了免费、开放的媒体访问体验,并为自由软件运动做出了卓越贡献。

Gmail AI gets more intrusive

Gmail 自动撰写邮件功能简介 (Gmail Auto-Writing Feature Summary)

日期: 2025年11月7日

作者: Dave Winer

主要内容:

Dave Winer 指出 Gmail 现在提供自动撰写邮件的功能,该功能不仅是提供建议,而是直接生成邮件文本,用户需要手动删除这些自动生成的文本。

他认为该功能令人担忧,难以通过截图演示,因为这会暴露个人信息。 总体而言,Winer 认为 Gmail 推出此功能体现了其公司面临的困境,带有“绝望”的气息 (reeks of desperation)。

总结:

Gmail 引入了自动撰写邮件的功能,用户需要手动删除系统生成的邮件内容。作者认为此功能存在隐私问题,并且反映了 Google 的某些经营困境。

AI is Dunning-Kruger as a service

Dunning-Kruger 效应与现代技术文化:一篇总结

本文探讨了Dunning-Kruger 效应(邓宁-克鲁格效应)在现代技术文化中的体现,并对由此带来的潜在问题进行了反思。

Dunning-Kruger 效应的起源:

故事始于1995年,两名匹兹堡银行抢劫犯麦卡瑟·惠勒和克利夫顿·约翰逊。他们坚信用青柠汁覆盖面部可以使自己免受监控摄像头的影响,因为他们误以为摄像头无法识别青柠汁。这种错误认知启发了心理学家贾斯汀·克鲁格和戴维·邓宁对人们评估自身技能的偏见进行了研究。他们发现了一种现象,即 Dunning-Kruger 效应:缺乏专业知识或能力的人往往会高估自己的能力。 这源于他们知识不足,无法意识到自身能力的不足。Dunning-Kruger 效应与“冒名顶替综合症”相反,后者指人们低估自己的成就。

技术领域的蔓延:

文章指出,在过去几年中,技术行业越来越推崇快速发布、追求指数级增长的文化。这种文化鼓励“先做出再完善”(Fake it till you make it)的理念,甚至将虚报数据和夸大宣传视为一种聪明之举。KPI 和 OKR 被用作期望值而非实际目标,鼓励人们表现出“积极进取”的态度。

人工智能的加剧:

人工智能聊天机器人也表现出类似的问题,它们会自信地给出荒谬的答案,并用奉承的语言掩盖错误。文章指出,这些聊天机器人的目标是延长用户的使用时间,而非提供准确的答案。

生成式 AI 的诱惑:

生成式 AI 工具让每个人都能轻松地“成为”艺术家、作家、作曲家或视频制作人,这进一步加剧了 Dunning-Kruger 效应。这种 “氛围编程”(Vibe coding) 关注的是结果而非工艺本身,鼓励人们通过简单地输入提示来生成产品,而不是通过学习和实践来掌握技能。

对工艺和创造力的贬低:

文章批评了这种趋势,认为它贬低了工艺和创造力。真正的创造力是混乱、充满错误和挑战的,但这些正是构成人类本质的一部分。文章引用了 Leonard Cohen 的话:“万物皆有裂缝,那是光线进入的方式。” 即使作品不够完美,人类的创造努力也比机器生成的平庸解决方案更有价值。

结论:

作者表达了对当前趋势的不满,认为这是欺骗和稀释工艺和艺术的表现。尽管如此,作者仍然坚持自己的创作,并鼓励读者保持创造力,即使他们对自己作品的质量感到不确定。文章强调,即使是平庸的作品,也可能给他人带来快乐,并呼吁人们继续创作和改进,并对那些激励自己的个人表示感谢。

Myna: Monospace typeface designed for symbol-heavy programming languages

Myna 字体总结

Myna 是一款等宽字体,旨在通过将符号作为首等字形与字母数字字符并置,从而改善编辑器中的排版体验。

核心理念:

  • 符号优先设计: 重点关注编程语言中常用的 ASCII 符号。
  • 完美对齐: ->, >>=, =~, :: 等多字符符号对齐无缝。
  • 平衡的视觉重量: 符号与代码中的字符具有适当的视觉重量。
  • 极简主义: 引号和逗号采用几何形状。
  • 清晰区分: 避免 1 l I |0 O o 混淆。
  • 语言感知设计: 为 Perl 提供干净的符号,为 Haskell 提供优雅的运算符,为 C 提供清晰的符号。

主要特点:

  • 当前版本: 单个字重,没有连字。未来可能会根据需求扩展功能。
  • 兼容性: 在 Linux 上使用 fontconfig 和 pango 可以生成粗体效果。
  • 设计灵感: 借鉴了 Fira Mono, Inconsolata, Plex Mono, Office Code Pro, Anonymous Pro 等字体的设计。

展示:

提供了 Perl, C 等多种编程语言的代码示例图片,展示了 Myna 字体在不同语言环境下的效果。图片展示了不同颜色主题(浅色和深色)下的视觉效果。

安装:

  • Linux: 克隆代码仓库,复制字体文件到 ~/.local/share/fonts/ 目录,并运行 fc-cache -v 命令。
  • macOS: 克隆代码仓库,复制字体文件到 ~/Library/Fonts/ 目录。
  • Windows: 下载发布版本,右键点击 .otf 文件并选择 "为所有用户安装"。

许可证:

SIL Open Font License, Version 1.1

未来规划:

  • 欢迎社区成员提交 Bug 报告和功能建议。
  • 考虑扩展字体,包含更多的非 ASCII 符号。

联系方式:

[email protected]

Immutable Software Deploys Using ZFS Jails on FreeBSD

摘要:使用 FreeBSD 上的 ZFS 单元构建不可变软件部署

本文介绍了如何利用 FreeBSD 的 ZFS 快照和单元功能构建不可变的软件部署方案,从而实现零停机升级、即时回滚和可重复的环境。

核心架构:

  • Caddy 反向代理与健康检查: 作为前端,Caddy 负责 TLS、反向代理和健康检查。它会根据单元的健康状态将流量路由到健康的单元。
  • ZFS 快照/单元: 每个版本发布都基于 ZFS 快照创建新的单元,确保环境的可重复性。
  • 单元: 应用程序运行在独立的 FreeBSD 单元中。

部署流程:

  1. 先决条件: 需要 FreeBSD 14+ (或最新稳定版本) 和已安装的 ZFS 池。
  2. 配置主机服务器:
    • 创建一个新的环回网络接口(lo1)用于单元,IP 地址范围为 172.16.0.1 - 172.31.255.254。
    • 启用 jails 服务。
    • 创建 /etc/jail.conf 文件,并使用 /etc/jail.conf.d/*.conf 包含每个单元的配置。
    • 创建 ZFS 数据集,用于存放基础镜像、模板和单元。
  3. 构建基础镜像模板:
    • 下载 FreeBSD 基础镜像,并解压到 ZFS 数据集中。
    • 复制关键文件(如 /etc/resolv.conf/etc/localtime)。
    • 更新基础镜像到最新的补丁级别。
    • 创建基础镜像模板的 ZFS 快照。
  4. 创建新单元:
    • 克隆基础镜像模板,创建新的单元。单元名称通常包含 Git 提交哈希值。
    • 创建单元配置,指定启动脚本、日志记录、权限、主机名、路径和网络设置(使用 lo1 接口,并分配一个可用的 IP 地址)。
    • 启动单元,并确认单元的 IP 地址和运行状态。
  5. 创建 PoC 服务:
    • 在单元内构建并运行一个简单的 Go “Hello World” 服务作为示例。
    • 配置单元内的服务启动脚本。
  6. 配置 Caddy (反向代理):
    • 创建服务用户,并赋予相应的权限。
    • 安装 Caddy。
    • 配置 Caddyfile,设置反向代理规则,并使用健康检查 ( /up ) 监控单元的健康状态。
  7. 部署新单元与切换 Caddy:
    • 创建新的单元配置,并分配一个新的 IP 地址。
    • 创建新的单元,并启动单元内的服务。
    • 更新 Caddyfile,将反向代理指向新的单元的 IP 地址。
    • 重新加载 Caddy 配置。

总结:

通过结合 ZFS 快照、FreeBSD 单元和 Caddy 反向代理,可以实现零停机升级、即时回滚以及可重复的环境,从而构建可靠的软件部署方案。

Ruby Solved My Problem

Hotwire Native Office Hours 和 Ruby 社区的价值

作者最近主持了十一月的 Hotwire Native Office Hours,这是一个每月一次的 Zoom 问答环节,面向开发者解答关于 Hotwire Native 的问题。 本次会议涵盖了广泛的主题,从注册桥接组件到原生与基于 Web 的标签,再到 Apple Watch 应用的身份验证。

代码版本检测的经验

作者分享了一段用于确定 Hotwire Native 应用版本号的代码。该应用在用户代理字符串中传递版本号(例如 v1.2.3),作者在服务器端使用一个名为 AppVersion 的 Ruby 类来解析它。

class AppVersion
  include Comparable

  attr_reader :major, :minor, :patch

  def initialize(version_string)
    parts = version_string.to_s.split(”.”).map(&:to_i)
    @major, @minor, @patch = parts[0] || 0, parts[1] || 0, parts[2] || 0
  end

  def <=>(other)
    [major, minor, patch] <=> [other.major, other.minor, other.patch]
  end

  def to_s
    “#{major}.#{minor}.#{patch}”
  end
end

这段代码用于根据应用版本号进行功能标记。

发现更好的解决方案:Gem::Version

在会议中,一位参与者提到了更好的解决方案:Gem::Version 类。这个类已经内置在 Ruby 中,用于将字符串版本转换为可比较的值。

irb(main)> Gem::Version.new("1.2.3") > Gem::Version.new("1.2.2")
=> true

irb(main)> Gem::Version.new("2.0") > Gem::Version.new("1.2.2")
=> true

它甚至可以比较预发布版本,如 alpha 或 beta 版本。作者已经用 Gem::Version 替换了自己编写的 AppVersion 类。

社区的重要性

作者强调了 Ruby/Rails 社区的重要性,并表示正是通过社区的交流,才得知了 Gem::Version 这样的实用工具。 他也分享了自己最近开始在波特兰组织每月一次的 Coffee and Code 协同工作会议,旨在促进本地开发者之间的联系。

作者鼓励大家积极参与社区建设,建立联系,哪怕只是邀请一个潜在的合作者喝杯咖啡。 这种社区互动能够带来意想不到的收获,并可能对职业生涯产生积极影响。

Sam Altman's pants are on fire

总结:关于 Sam Altman 的虚假陈述和 OpenAI 的贷款担保争议 (Summary: Regarding Sam Altman's False Statements and OpenAI's Loan Guarantee Controversy)

这篇文章主要讲述了 OpenAI 首席执行官 Sam Altman 因虚假陈述而面临的信任危机,以及围绕 OpenAI 寻求美国政府贷款担保的争议。

主要内容:

  • Altman 的长期诚信问题: 文章指出,Sam Altman 长期以来因不坦诚而受到质疑,这在 2023 年董事会解雇 Altman 时就已暴露。最近 Ilya Sutskever 的一份 62 页面证词进一步证实了这一点。
  • 关于贷款担保的虚假陈述: 近期,OpenAI CFO Sarah Friar 呼吁美国政府为 OpenAI 提供贷款担保,引发了广泛争议。Altman 在 X 上发布了一篇长篇声明,试图否认 OpenAI 寻求政府担保,但这一声明被广泛认为是虚假的。
  • 证据显示 Altman 曾向政府寻求担保: 文章引用了 OpenAI 向美国科技与政策办公室(OSTP)提交的文件,表明 OpenAI 一周前就曾主动向白宫办公室寻求联邦贷款担保。此外,Altman 在近期播客中的言论也暗示了其为贷款担保铺路。
  • Nvidia 的可能参与: 文章提到,Altman 的行为可能与 Nvidia 合作,共同为贷款担保进行游说。
  • 公众的强烈反响: 包括 Republican 州长和白宫人工智能专员在内的许多人对 OpenAI 寻求政府担保表示愤怒。ChatGPT 甚至也对 Altman 的声明表示怀疑。
  • 总结: 文章最终强调,Sam Altman 的行为表明他欺骗了公众,并呼吁人们永远不要信任他。

总而言之,这篇文章揭露了 Sam Altman 因虚假陈述而失去信任,以及 OpenAI 试图通过虚假信息获取政府贷款担保的争议事件。

Making Democracy Work: Fixing and Simplifying Egalitarian Paxos

EPaxos*:简化且正确的平等Paxos变体总结

本文介绍了EPaxos*,这是一种更简单且正确的平等Paxos(Egalitarian Paxos)变体。平等Paxos是一种leaderless的复制协议,旨在解决传统Paxos依赖单一leader导致单点故障和客户端延迟过高的问题。它允许副本协同地排序命令,即使有高达 f 个进程崩溃,也能保持非零吞吐量。当有不超过 e (等于⌈(f+1)/2⌉) 个进程失败,并且所有并发提交的命令都相互交换时,任何进程都可以以2个消息延迟快速执行命令。

然而,原有的平等Paxos协议复杂、定义模糊,并且存在非微不足道的错误。 EPaxos* 的主要技术贡献在于提出了一个更简单的故障恢复算法,并对其正确性进行了严格的证明。

关键点:

  • 问题: 传统Paxos依赖单一leader,存在单点故障和高延迟问题。平等Paxos尝试解决这些问题,但其自身复杂且存在错误。
  • 解决方案: EPaxos* 是一种简化且正确的平等Paxos变体。
  • 技术贡献: 提出了一个更简单的故障恢复算法,并经过严格证明。
  • 泛化: EPaxos* 扩展了平等Paxos,以覆盖故障阈值 fe 的整个范围,其中 n ≥ max{2e+f-1, 2f+1},表明该数量的进程是最佳的。

总结:

EPaxos* 通过提供一个更简单、更可靠的平等Paxos实现,解决了平等Paxos的复杂性和错误问题,并优化了故障处理能力。它为分布式系统中的复制协议提供了一个更具吸引力的选择。


EPaxos*:简化且正确的平等Paxos变体总结 (中文)

本文介绍了一种新的协议 EPaxos*,它是对平等Paxos(Egalitarian Paxos)的一种简化且更正版本。平等Paxos 是一种无需指定领导者的复制协议,旨在克服传统 Paxos 协议依赖单一领导者带来的单点故障和客户端延迟问题。平等 Paxos 允许副本共同排序命令,即使有最多 f 个进程发生崩溃,也能维持非零吞吐量。在不超过 e (等于⌈(f+1)/2⌉) 个进程发生故障,并且所有并发提交的命令相互交换的情况下,任何进程都可以以 2 个消息延迟快速执行命令。

然而,原始的平等Paxos 协议非常复杂,描述不够清晰,并且存在一些非微不足道的错误。EPaxos* 的主要技术贡献在于提出了一种更简单的故障恢复算法,并对其正确性进行了严格的证明。

主要内容:

  • 问题: 传统的 Paxos 依赖于单一领导者,易出现单点故障,且客户端延迟较高。平等 Paxos 试图解决这些问题,但自身也存在复杂性和错误。
  • 解决方案: EPaxos* 是一种更简单、更可靠的平等 Paxos 变体。
  • 技术贡献: 提出了一种更简单的故障恢复算法,并对其正确性进行了严格的证明。
  • 通用性: EPaxos* 将平等 Paxos 推广到覆盖故障阈值 fe 的更广泛范围,其中 n ≥ max{2e+f-1, 2f+1},表明该配置下进程数量是最佳的。

总结:

EPaxos* 通过提供一个更简单、更可靠的平等 Paxos 实现,解决了平等 Paxos 的复杂性和错误问题,并优化了故障处理能力。它为分布式系统中的复制协议提供了一个更具吸引力的替代方案。

Always be ready to leave (even if you never do)

After 7 years at the same company, I'm moving on. But the practices that made my exit smooth aren't exit strategies—they're professional habits everyone should build, whether they're staying or leaving.

How did I get here?

A cool-as-shit dynamic traceroute powered by custom software, married with an informative article about how the BGP routing protocol works and guides the shape of the Internet.

Local First Htmx

本地优先 HTMX 应用:架构与思路 (Local First HTMX: Architecture and Ideas)

这篇文章探讨了“本地优先”设计理念以及如何将其与 HTMX 结合,构建高性能的 Web 应用。

核心问题与本地优先

互联网上普遍存在网站加载缓慢、广告泛滥等问题。作者认为,一种更好的设计范例是 本地优先 (Local First)。本地优先应用将 UI 和数据协同存储,并将数据更改与远程服务器同步。 这种架构的优点在于,用户的操作结果可以立即渲染,无需网络延迟,从而带来更流畅、更快速的用户体验。Linear.app 是一个本地优先应用的优秀示例。

Meme 驱动开发 (MDD) 与 HTMX

作者将结合 HTMX 框架,进行一种名为 "Meme 驱动开发 (MDD)" 的尝试,并创建了一个本地优先的 HTMX Todo 应用。

HTMX 的潜力

HTMX 旨在简化前端开发,通过服务端渲染 (SSR) 实现交互性。虽然 SSR 在每次交互都需要与服务器进行通信,导致性能瓶颈,但 HTMX 的核心思想是可以通过将 SSR 代码编译为 WebAssembly (WASM) 并在浏览器中运行,获得类似 JavaScript 本地优先 SPA 的响应速度,同时减少 JavaScript 的使用。

架构概述

该架构利用浏览器中的 Web Worker 和 Service Worker 功能:

  • Web Worker: 在后台线程中运行代码,但无法直接访问 DOM。
  • Service Worker: 类似于 Web Worker,但可以拦截所有 fetch 请求。

工作原理:

  1. HTMX 请求 (例如,<button hx-post="/clicked" ... >) 通常会发送 HTTP 请求到服务器。
  2. Service Worker 拦截该请求。
  3. Service Worker 处理请求,并返回 HTML。
  4. Service Worker 在后台同步数据与服务器,同时维护本地数据存储。

这种架构允许 Service Worker 代理请求,并根据需要渲染 HTML 并将其返回,从而实现本地优先的交互体验。

后续内容

作者将在后续文章中详细介绍实现细节、遇到的问题以及进一步的设想。

Angel Investors, a Field Guide

Akita 创始人关于天使投资者的经验总结 (Summary of Akita Founder’s Experience with Angel Investors)

本文总结了 Akita 创始人与天使投资者的合作经验,旨在为初创创始人提供建议,尤其是在寻求风险投资融资的情况下。

早期融资与天使投资人的选择:

  • Akita 的第一笔投资是来自导师 Jason Hong 的 SAFE 协议,为公司提供了最初的运营资金。
  • 在获得风险投资机构 a16z 和 Sequoia 的种子轮投资后,创始人引入了包括 Elad Gil、Jana Messerschmidt、Kevin 和 Julia Hartz、Dan Boneh 以及 Kevin Durant 在内的战略天使投资人,他们由风险投资机构推荐。
  • 创始人强调了战略天使投资人在弥补风险投资机构网络不足方面的作用。
  • 区分“战略天使”和“名人天使”:前者更积极参与公司运营,后者主要为公司带来社交效应。

天使投资人的价值:

  • 经验和建议: 天使投资人分享创业经验、提供建议,例如 Kevin Hartz 提出的“gumball machine” 比喻,强调了寻求帮助的重要性。
  • 人脉资源: Jana Messerschmidt 积极介绍开发者领域的相关人士,并建议创始人整理潜在客户名单,寻求投资人的引荐。
  • 持续支持: Elad Gil 在整个创业过程中提供持续的指导和支持,尤其是在公司转型和融资困难时期。
  • 天使投资人与风险投资机构的不同: 天使投资人通常不追求过多的股权,更愿意帮助创始人进行融资,例如向其他风险投资机构介绍公司。

如何有效利用天使投资人:

  • 建立关系: 早期与天使投资人建立联系,定期(如季度或半年)进行沟通。
  • 定期更新: 每月发送投资者更新,内容包括公司进展、里程碑以及具体的求助事项(如引荐、招聘等)。
  • 表达感谢: 在更新中感谢提供帮助的投资人。

作者的投资理念:

  • 作者通过与 Andreesson Horowitz 的 scouting 关系进行天使投资,主要关注 B2B SaaS 领域的 infrastructure 公司,尤其喜欢 product-led growth 和 developer tools。
  • 投资标准包括对公司解决的问题的理解、团队执行力以及差异化竞争优势。

总结:

选择合适的天使投资人能够为初创公司带来宝贵的经验、人脉和支持,尤其是在寻求风险投资融资的过程中。 创始人应重视与天使投资人的关系,并有效利用他们的资源。

Cerebras Code now supports GLM 4.6 at 1000 tokens/sec

Cerebras 代码生成平台:GLM 4.6 升级

Cerebras 推出的代码生成平台已升级至 GLM 4.6 模型,提供极速的代码生成能力,旨在提升开发者体验。

核心优势:

  • 速度: GLM 4.6 模型在 Cerebras 平台上可实现 每秒 1,000+ 个 token 的生成速度,显著缩短等待时间,保持开发流畅状态。
  • 模型性能: GLM-4.6 是世界顶尖的开源代码模型之一,在 Berkeley Function Calling Leaderboard 上排名 第一 (tool calling),在 Web 开发性能方面与 Sonnet 4.5 相当。
  • 兼容性: Cerebras Code Pro 支持使用任何接受 API 密钥的 AI 友好型编辑器或代理。与 Cline、RooCode、OpenCode、Crush 等工具无缝集成,无需切换工具。

定价方案:

Cerebras 提供三种定价方案,以满足不同开发者的需求:

  • 免费版 ($0): 提供有限的 token 和请求数量,适合试用 Cerebras 推理服务或构建小型演示项目。
  • 专业版 ($50): 提供快速、高上下文的代码补全服务,每日可发送高达 2400 万个 token,足够支持 3-4 小时的连续编码。 适合独立开发者、简单的代理工作流程和周末项目。
  • 最大版 ($200): 提供用于高强度编码工作流程的访问权限,每日可发送高达 12000 万个 token。 适合全职开发、IDE 集成、代码重构和多代理系统。

总结:

Cerebras 平台利用 GLM 4.6 模型,提供快速、高效的代码生成能力,并提供灵活的定价方案,旨在帮助开发者提高生产力。

Becoming a Compiler Engineer

编译器工程师职业入门指南:我的经验分享

这篇文章分享了作者从求职到成为一名编译器工程师的经历,并为有志于进入这个领域的求职者提供了建议。

作者背景:

  • 2023年毕业于麻省理工学院,拥有数学和计算机科学双学位。
  • 曾就读于编译器实验室的研究生项目,后退学。
  • 曾在纽约市一家初创公司担任编译器工程师,负责扩展现有开源编程语言。
  • 目前在旧金山湾区的科技公司担任编译器工程师,致力于提升编程语言的运行速度。

编译器工程师是什么?

编译器是将一种编程语言的代码翻译成另一种语言的软件。编译器工程师就是负责开发和维护这些编译器的软件工程师。

求职之路:

  • 求职过程艰难,20次面试后才成功入职。
  • 招聘编译器工程师的职位相对稀少,大多数公司不自己构建编译器,即使构建了,工作也主要集中在维护和优化。
  • 潜在的雇主类型包括:
    • 初创公司: 更愿意招聘应届毕业生。
    • 大型科技公司: 汽车公司(如特斯拉、Waymo)、硬件公司(如英伟达)等。
    • 学术界: 受联邦资金削减影响,机会消失。
    • 量化金融: 多在纽约市和芝加哥,与作者的地理偏好不符。
    • 开源项目: 作者曾面试一家开源库公司,但未能成功。

如何获得简历的关注?

  • 内推: 积极寻求内推,即使与对方关系不深。
  • 社交媒体: 在社交媒体上表明对编译器的兴趣,例如作者将Twitter用户名设置为“Rona likes compilers”。
  • 注意: 作者承认自己拥有一些优势,例如美国公民身份、名校背景等,但不能完全归功于个人努力。

面试内容:

  • LeetCode风格的数据结构与算法: 考察C++编程能力。
  • 语言设计原则: 例如,设计一个简单的编程语言。
  • 编程语言知识: 了解编程语言特性,但不需要深入研究形式化验证等高级主题。
  • 中间表示: 阅读和优化x86汇编代码,使用MLIR进行代码转换。
  • 优化Pass: 实现代数简化、常量传播和死代码消除等优化Pass。
  • 编译器基础: 解释编译器各个组成部分、优化技术等。
  • 图论: 涉及控制流图和寄存器分配等。
  • 其他低级知识: 了解死锁、竞态条件、特权寄存器等。
  • 行为面试: 解释选择编译器方向的原因。

准备建议:

  • 学习MIT的Computation Structures、Dynamic Computer Language Engineering、Performance Engineering和Theory of Computation等课程。
  • 阅读相关书籍,如《Engineering a Compiler》和《Compilers: Principles, Techniques, and Tools》。
  • 参与开源项目。
  • 记录面试问题,以便复习。

为什么选择编译器?

  • 作者最初是数学专业的学生,后来转向计算机科学,对低级编程感兴趣,因为它能从头开始构建整个世界。
  • 编译器领域在MIT拥有良好的声誉和优质的同事。

总结:

求职过程艰难,但积极主动、拓展人脉、持续学习是成功的关键。作者希望分享自己的经验,帮助更多有志于进入编译器领域的求职者。

作者的出版作品:

作者的青少年爱情小说《You Had Me at Hello World》将于2024年11月11日出版。