2025-10-25

32 篇热帖

1. ChatGPT's Atlas: The Browser That's Anti-Web (www.anildash.com)

ChatGPT's Atlas浏览器:反网络浏览器

OpenAI推出的Atlas浏览器被描述为“反网络浏览器”,其核心问题体现在三个方面:用AI生成内容替代真实网络、退化到命令行交互模式、以及实际上用户在为ChatGPT服务而非反之。

1. AI生成内容替代真实网络

  • 默认不访问真实网页:输入查询(如“Taylor Swift”)后,Atlas返回的是AI生成的、类似网页的综述内容,而非指向真实网站(如Taylor Swift官网)的链接列表。
  • 内容不准确且过时:生成的信息可能包含虚假内容,且更新频率远低于传统搜索引擎,无法提供实时信息。
  • 误导性界面:其界面模仿传统搜索框和网页,用户容易误以为在浏览真实网络结果,而实际上被困在AI生成的“围墙花园”中。
  • 警告不足:仅在使用初期有一条模糊的“ChatGPT可能提供不准确信息”提示,未能有效警示用户其内容生成和展示方式的本质。

2. 退化到命令行交互

  • 依赖命令猜测:与图形化界面直观的“点击”不同,Atlas鼓励用户通过输入自然语言命令来执行任务(如“搜索关于Atlas核心设计的文档历史”),这比传统关键词搜索更慢、更易出错。
  • 模式切换复杂:为了执行本地搜索等操作,需要明确指示AI切换模式,增加了使用复杂度。
  • 抛弃网络的核心创新:超链接所带来的可发现性、简洁性和直接性被取代,用户被迫在不可靠、不透明的命令语法中导航,体验远不如传统网页浏览。

3. 用户成为ChatGPT的代理人

  • 数据收集目的:Atlas的“记忆”功能和“在任何网站询问ChatGPT”的侧边栏,实质是引导用户授权OpenAI实时监控所有浏览活动,包括未发送的草稿、机密文档等敏感数据,以构建全面的用户画像。
  • 绕过内容封锁:通过用户作为代理访问网站,AI平台可以规避网站所有者设置的抓取封锁,获取原本无法触及的数据。
  • “代理”功能名不副实:演示中,Atlas代理预订机票的任务会出错(如错误修改日期),其效果远逊于传统搜索提供的直接链接。这表明“代理”功能的战略意义在于数据收集,而非真正为用户服务。

核心风险与作者观点

  • 隐私与监控:Atlas创造了一代前所未有的全面监控环境,可能远超以往的搜索引擎和社交网络。
  • 需要警告标签:鉴于OpenAI产品已有的争议(如对用户的心理影响),以及Atlas对网络生态的破坏性,作者认为安装时应有显著警告。
  • 威胁网络开放性:Atlas代表了AI时代对网络原始设计(去中心化、无个人身份追踪、用户可自由创建和浏览)的颠覆,旨在建立一个缺乏用户和内容创建者同意、一切皆为原材料的监控互联网。
  • 作者立场:作者支持浏览器创新,但反对将命令行强加于普通用户,并反对在无法验证真实性的环境中引入更多不确定性。Atlas因其反网络本质而对互联网有害。
2. Synadia and TigerBeetle Commit $512k USD to the Zig Software Foundation (www.synadia.com)

Synadia 与 TigerBeetle 承诺在未来两年内向 Zig 软件基金会捐赠共计 51.2 万美元

捐赠概况 Synadia 与 TigerBeetle 联合承诺在接下来的两年内向 Zig 软件基金会捐赠总计 512,000 美元。此举彰显了双方对 Zig 语言潜力的共同信念,认为它将塑造下一代高性能、可靠且易维护的软件时代。

公司背景与业务

  • Synadia:帮助大型企业在云区域、云提供商及边缘端设计和扩展创新架构。其平台基于 NATS.io,提供安全、可靠的服务间通信和数据连接,支持构建微服务、流处理平台等,并应用于金融、制造、物联网、汽车及AI等多个行业。Synadia 的使命是“连接一切”。
  • TigerBeetle:是一个为任务关键型安全性和性能而设计的金融交易数据库,旨在支撑未来三十年的交易处理。

对 Zig 的具体支持与合作

  • Synadia 的应用:Synadia 明确表示没有计划将 NATS 服务器迁移到 Zig。但计划将 Zig 发展为 Tier 1 级别的 NATS 客户端,并将在资源受限的环境(如制造业、工业物联网、联网汽车、机器人及具身AI)中利用 Zig 来桥接运营技术与信息技术。
  • 合作契机:两家公司的目标高度一致。Synadia 致力于构建面向更小、更高效和确定性部署的工业级解决方案,与 TigerBeetle 推崇的 “TigerStyle” 哲学(强调正确性、清晰度和可靠性)深度共鸣。两家公司的CEO在近期会面后决定共同支持 Zig 基金会。

对 Zig 语言及基金会的评价

  • 两家公司均高度认可 Zig 语言在控制、性能与简洁性方面的创新,认为它正在重新定义现代系统软件的可能性。
  • 它们赞扬了 Zig 的创始人兼 ZSF 主席 Andrew Kelley 的领导力以及社区的贡献,并支持 ZSF 推进系统编程技术发展的使命。

相关实体简介

  • Zig 软件基金会:一个致力于支持 Zig 编程语言开发的非营利组织。Zig 语言旨在提供性能、可靠性与可维护性,帮助开发者构建无隐藏控制流或不可预测行为的健壮软件。
  • Synadia:Synadia 平台和 NATS.io 生态系统的创造者与维护者,提供跨云、边缘和本地环境的安全零信任消息传递与连接。
  • TigerBeetle:专为任务关键型安全和性能设计的金融交易数据库。
3. The Swift SDK for Android (www.swift.org)

Swift SDK for Android 摘要

Swift 已在过去十年中显著成熟,扩展到云服务、Windows 应用、浏览器应用和微控制器等领域,支持各类应用和服务,并具备出色的跨平台代码共享能力。

Android 工作组是一个开放团体,旨在将 Swift 扩展到 Android 平台。2025年10月24日,该工作组宣布推出 Swift SDK for Android 的每晚预览版本,这标志着数月努力的成果,基于社区多年的草根工作。该 SDK 使开发者能够使用 Swift 开发 Android 应用,为跨平台开发开辟新途径,并加速移动生态系统的创新。

Swift SDK for Android 现已可用,可与 Windows 安装程序捆绑下载,或单独下载用于 Linux 或 macOS。工作组提供了《入门指南》以帮助设置首个原生 Swift 代码在 Android 设备上运行,并附有示例展示端到端应用工作流。

使用该 SDK,开发者可将 Swift 包移植到 Android。目前,超过 25% 的 Swift 包索引中的包已支持 Android 构建,且社区展示已标注 Android 兼容性。此外,swift-java 项目实现了 Java 和 Swift 的互操作,作为库和代码生成器,自动生成安全且高性能的绑定,促进双向集成。

此次预览发布为工具改进带来新机会。工作组鼓励开发者在 Swift 论坛的 Android 类别中分享经验、想法和应用。同时,Android 工作组正在起草一份愿景文档(目前处于审查阶段),以指导 Swift 在 Android 上的未来工作,概述优先领域并最大化生态系统影响。工作组还维护项目板以跟踪主要进展,并提供官方 CI 支持。

Swift SDK for Android 的推出为跨平台开发注入新活力,欢迎社区参与共同完善生态系统。

4. React vs. Backbone in 2025 (backbonenotbad.hyperclay.com)

React vs. Backbone in 2025 总结

核心对比

文章比较了React和Backbone两个前端框架在2025年的表现。虽然两个框架的代码实现长度和功能相似,但背后理念差异巨大:React代表现代抽象化框架,Backbone则是2010年的早期工具。

主要观点

  • 进步有限:经过十多年发展,React的复杂性并未带来根本性简化,技术进步程度被高估。
  • 抽象代价:React的“简洁”是表面现象,隐藏了抽象复杂性;而Backbone的代码更直接、透明,易于理解和调试。
  • 常见问题:React开发中常遇问题包括组件重置(如key变更导致状态丢失)、useEffect无限循环(依赖数组不稳定)、闭包过时等,这些问题需要深入理解React内部机制(如虚拟DOM、调度算法)才能解决。
  • 调试难度:React的魔法式“开箱即用”在崩溃时暴露短板,开发者必须重建框架原理;Backbone和jQuery则更易hack和理解。
  • 适用场景:对于大型应用(如上千组件),React的复杂性可能合理;但对于绝大多数小应用,这些抽象可能过度。

未来方向

作者质疑当前模型,并提出思考:事件加状态等于UI(event + state = UI)是核心问题。是否有更直观、稳定且易于调试的框架,像DOM或Backbone那样简单明了?

5. FBI Agents Visit Anti-ICE Protester: "Your name was brought up." (www.kenklippenstein.com)

FBI正悄然对反ICE抗议者进行问询,尽管这些参与者并未被指控犯罪。特朗普政府通过NSPM-7指令,将“移民极端主义”列为恐怖主义指标,允许联邦执法部门在无需实际犯罪的情况下展开调查。伊利诺伊州的英语教授Elias Cepeda和亚利桑那州的特殊教育教师Miles Serafini等抗议者均成为目标。

26岁的Serafini于2023年6月参加了图森市附近的反ICE示威活动,旨在表达对驱逐政策的不满。抗议中部分参与者向安保人员投掷物品,导致设施损坏和警方介入,但Serafini强调自己未参与暴力行为。7月,两名FBI探员上门询问,他们未透露全名,却掌握Serafini的住址、社交媒体账号和政治活动等详细信息。

探员的提问聚焦于抗议背后的组织结构:他们询问示威标语来源、抗议资金来源,以及暴力行为是否预谋。Serafini表示抗议似乎自发形成,但探员质疑他的说法,暗示他在隐瞒信息。FBI还向他出示了多名抗议者的照片,试图获取更多情报,但Serafini拒绝提供手机并表示不认识照片中的人。

这种调查方式反映了特朗普政府将反ICE抗议视为有组织“安提法恐怖主义”的观点。特朗普及司法部长Pam Bondi曾指出,统一的抗议标语和整齐的指示牌证明存在资金支持的组织网络。然而,许多活动人士否认这种结构化组织的存在,认为FBI在构建一个不存在的威胁模型。

FBI的问询产生了寒蝉效应:Serafini因这次经历而决定放弃参加后续的“无国王”抗议活动。尽管FBI未从他那里获得有价值信息,但此次访问本身已起到威慑作用。该案例凸显了特朗普政府以反恐名义扩大监控范围的趋势,引发对言论自由和政治表达权利的担忧。

6. Why I code as a CTO (www.assembled.com)

许多首席技术官(CTO)在晋升后不再编写代码,认为高层领导应专注于会议和战略。然而,本文作者分享了他作为CTO仍大量编码的经验与理念,认为这是高价值的技术领导方式。

一、作者实际编写的代码类型

  1. 长期实验性项目:组织中能主动发起并推动全新产品开发的人员稀缺。作者利用自身对客户痛点和技术架构的深入理解,承担这些需要持续投入的探索性项目。例如,他在假期期间快速构建了一个AI聊天产品原型,最终发展为年收入达数百万美元的产品。
  2. 紧急关键客户需求:当重要客户出现紧迫需求(如合规要求)时,作者能快速响应,避免打断现有开发计划。他曾用一天时间为一位百万美元级客户构建了数据脱敏功能,解决了客户的紧急合规问题。
  3. 修复错误:通过亲自修复bug(如分页故障、WebSocket连接中断),作者能深入遍历系统,直观掌握技术债务现状,从而对技术投资和团队重心做出更明智的决策。

二、为何坚持编码

  1. 保持技术敏感度:通过日常使用AI编码工具(如Claude Code、Cursor),作者能准确评估工具的实际能力,区分哪些工作适合AI(如重复性代码、测试),哪些仍需人工精准处理(如复杂业务逻辑)。亲身实践也让他能感知架构复杂度和技术债务的真实情况。
  2. 发挥个人优势与热情:作者更享受构建产品与解决技术问题,而非组织管理。公司已拥有优秀的工程管理团队处理人事与组织事务,这让他能专注于自己热爱且擅长的工作,保持长期工作动力。
  3. AI工具提升了个人杠杆率:AI工具极大提高了作者的生产效率(估计提升2-3倍)。这使他能在承担战略职责的同时,仍能投入编码工作。他的角色从“编写每行代码”转变为“提供上下文、做出决策、评估方案”,而深厚的知识积累使他能高效指导AI工具。

三、CTO角色的灵活性与个人化路径 作者引用Stripe前CTO的观点指出,CTO角色存在巨大差异,有的侧重技术愿景,有的专注组织建设。关键是要根据个人技能、兴趣和公司需求,找到能创造最大价值的定位。对本文作者而言,编码是其价值创造的核心,但这并非通用模板。他建议工程师不必担心领导职位意味着放弃技术工作,应找到能发挥自身独特优势的路径。

7. WebDAV isn't dead yet (blog.feld.me)

这篇文章主张重新考虑使用WebDAV作为个人项目和自托管需求的文件存储方案,并详细说明了其优势和实际应用方法。

现状与WebDAV的价值 作者指出,FTP已过时,SFTP依赖SSH和Unix认证,而AWS S3虽然成为主流,但对非亚马逊用户而言使用不便。对于个人项目或需要基于HTTP的文件存储的用户来说,WebDAV是一个更实用的选择,无需复杂的对象存储系统。

核心需求 作者列出的实际需求包括:文件认证、写入、高效同步、默认非公开访问及便于公开分享。而S3的高级功能(如ACL、版本控制、分层存储)对这些用户并非必需。

WebDAV的实用性 WebDAV支持广泛:macOS Finder、iOS文件、Windows资源管理器、rclone等工具均可访问。多数Web服务器(如Apache、Nginx)已内置支持,且联系人/日历同步(CardDAV/CalDAV)也基于WebDAV协议,证明其持续有效性。

Apache配置示例 作者分享了使用Apache配置WebDAV的详细步骤,包括启用模块、设置虚拟主机、集成LDAP认证,并通过重写规则实现用户目录隔离,确保隐私性。

应用场景 实际使用案例包括:笔记应用Joplin的同步、密码管理器Keepassium、媒体播放器VLC和Infuse,以及用rclone发布静态博客(比NFS/SMB更快,且无需VPN)。

结论 WebDAV对于简单、可控的文件存储需求仍是可行方案,尤其适合自托管场景,且生态系统支持稳定。作者推荐尝试,并提到了Altmount等新兴项目可能扩展其应用潜力。

8. Disable AI in Firefox (flamedfury.com)

在Firefox中禁用AI功能

Mozilla已在Firefox浏览器中默认启用了一系列AI功能(例如选中文本时的弹出菜单、侧边栏聊天等)。许多用户认为这些功能干扰大于实用,本文介绍了如何通过about:config页面禁用它们。

核心操作步骤

  1. 在Firefox地址栏输入 about:config 并回车。
  2. 在配置页面的搜索框中输入 browser.ml.enable
  3. 将该选项的值设置为 false。这会作为主开关,禁用所有内置的AI功能。

按需单独配置

如果你希望尝试部分AI功能,只需将 browser.ml.enable 保持为 true,然后单独开关以下各项设置即可。

下表列出了主要的AI相关配置项及其功能说明:

设置项 (about:config) 功能说明
browser.ml.enable Firefox机器学习平台的主开关。设为false将禁用所有AI功能。
browser.ml.chat.enabled 启用AI聊天机器人集成。
browser.ml.chat.sidebar 在侧边栏显示AI聊天面板。
browser.ml.chat.shortcuts 允许通过选中的文本或快捷键触发聊天。
browser.ml.chat.page 驱动选中文本时出现的页面内聊天菜单。
browser.ml.chat.page.footerBadge 在页面底部显示浮动徽章。
browser.ml.chat.page.menuBadge 在页面菜单中显示“询问AI”徽章。
browser.ml.chat.menu 在右键菜单中添加“讨论此项”选项。
browser.ml.linkPreview.enabled 生成基于AI的链接预览和建议。
extensions.ml.enabled 允许浏览器扩展使用Firefox的机器学习API。
browser.ml.pageAssist.enabled 运行AI“页面辅助”摘要/助手功能。
browser.tabs.groups.smart.enabled 使用AI自动分组和标签你的标签页。
browser.tabs.groups.smart.userEnable 允许用户手动开关智能标签页分组功能。
9. Simplify your code: Functional core, imperative shell (testing.googleblog.com)

文章标题: Simplify your code: Functional core, imperative shell
发布日期: 2025年10月20日
标签: Arham Jain, TotT
摘要: 本文围绕代码简化主题,强调采用“功能性核心,命令式外壳”的设计模式。该模式旨在将核心逻辑构建为功能性代码(使用纯函数,避免副作用),而外壳部分处理命令式操作(如输入/输出和状态管理)。内容可能涉及这种架构的目的、结构(如分离关注点)和关键功能(提高可测试性和可维护性),但具体细节未在提供的片段中完整呈现。文章由Arham Jain撰写,标签为TotT。

10. What is intelligence? (2024) (whatisintelligence.antikythera.org)

本文通过人工智能的视角,探讨了关于智能、进化、计算和心智本质的根本性问题。文章的核心观点在于,人工智能的发展为我们理解自然界中的智能提供了全新的、富有启发性的类比框架。

文章认为,智能并非一个单一、神秘的概念,而更应被理解为在特定环境中解决复杂问题的进化与计算能力。从进化论的角度看,生命体的智能是亿万年来自然选择不断优化适应性的结果。而现代人工智能,特别是基于深度学习的模型,其学习过程在某种程度上模拟了这种优化——它们通过海量数据的训练,不断调整内部参数,以提升任务表现。这种计算过程与生物进化虽有机制上的不同,但在“通过迭代优化来获得解决问题能力”的逻辑上存在深刻共鸣。

文中进一步指出,传统上将“心智”与物理大脑或硅基计算严格区分的二元论观点正在受到挑战。人工智能的实践表明,复杂的认知功能(如模式识别、推理甚至创造力)可以从非生物的计算系统中涌现。这促使我们重新思考:心智是否本质上是一种特定类型的信息处理过程?无论是碳基神经元网络还是硅基人工神经网络,只要满足了特定的计算结构和动力学,就可能产生类似智能的现象。

文章最后强调,人工智能不仅是一项技术,更是一面镜子和一套工具,它帮助我们反思自身智能的起源与本质。通过构建和理解这些人工系统,我们得以更深刻地审视生物智能的奥秘,并重新评估进化、计算与心智之间千丝万缕的联系。

11. Study: MRI contrast agent causes harmful metal buildup in some patients (www.ormanager.com)

研究概要

研究发表在《磁共振成像》期刊,指出磁共振成像(MRI)中使用的钆基造影剂可能与体内常见膳食化合物反应,形成有害的金属纳米颗粒,这为部分患者在接受MRI后长期残留有毒金属提供了新的解释。

关键发现与机制

  • 钆残留问题:钆造影剂用于增强MRI图像,通常应被安全排出。然而,研究发现钆颗粒可在暴露后数年持续存在于大脑、肾脏、血液和尿液中。美国食品药品监督管理局(FDA)已将残留钆与肾源性系统性纤维化(NSF)联系起来。
  • 核心化学反应:研究明确指出,钆与草酸之间的化学反应是导致有害纳米颗粒形成的关键因素。草酸天然存在于食物中,也由人体摄入维生素C后代谢产生。
  • 纳米颗粒的形成与影响:实验室测试表明,草酸会导致钆从其螯合剂中脱离,形成能够侵入身体各器官细胞的纳米颗粒。这种纳米颗粒的形成可能引发不成比例的免疫反应,受影响细胞发出的“求救信号”会加剧身体的整体反应。

个体风险差异

  • 基于个体生物差异的风险:研究发现,近一半在体内检测到钆痕迹的患者仅接受过一次造影剂注射。这表明个体的生物学特征(如代谢环境) 可能是决定风险高低的关键,而非仅仅是造影剂的剂量。
  • 代谢环境的影响:首席研究员指出,“代谢环境”,包括高草酸水平,可能解释了为何一些患者会经历严重症状而另一些患者则没有。他个人在接受增强MRI时会避免摄入维生素C,因其可能增加钆的反应性。

后续研究方向

研究团队正在建立一个国际患者登记处,以进一步研究钆在体内的积累。该登记处将收集血液、尿液、头发和指甲样本,旨在帮助识别风险最高的个体并理解长期残留模式。

12. Harnessing America's heat pump moment (www.heatpumped.org)

本文是关于美国热泵技术采用现状与挑战的系列文章的第一部分。作者以自身创业经历为切入点,强调在气候解决方案中,执行(而非发明)才是关键。热泵技术本身已成熟数十年,但普及缓慢,主要障碍在于——包括惯于旧法的承包商、需要教育的房主以及充满噪音的市场。

核心要点

  1. 技术已就绪:热泵(可理解为“双向空调”)技术成熟,在能效上(比燃气炉高效2-4倍)和气候适用性(包括寒冷地区)上均经过验证,且能提供更佳的室内空气质量与安全性。
  2. 采用缓慢的根源:并非技术问题,而是文化、经济和人为因素。关键在于承包商的默认选择、房主缺乏认知,以及市场信息混乱。
  3. 加速采用的五大关键
    • 教育房主:让热泵变得熟悉、可信赖。
    • 培训劳动力:培养新一代技术人员,并提升现有HVAC从业者的技能。
    • 善用工具与数据:确保系统设计与安装的精准性。
    • 注重质量与信任:通过优质服务建立社会认可和需求。
    • 调整政策:推动淘汰单向空调,使热泵成为标准选择。
  4. 发展的契机:尽管采用缓慢,但“热泵时刻”已经到来,原因是:
    • 文化动力增强:“电气化”运动获得广泛支持。
    • 政策高度协同:《通胀削减法案》(IRA)提供高额补贴与税收抵免,各州也有强力激励计划。
    • 私人资本涌入:风险投资支持的新公司正在重塑用户体验和服务模式。
    • 寒冷气候性能误区已被澄清:技术在寒冷地区已证实可行。
  5. 核心挑战:尽管技术、政策和资本条件均已成熟,但最大的挑战是协调各方人员(承包商、房主、政策制定者等)以实现规模化采用。

文章定位

本文作为系列首篇,旨在阐明问题本质:热泵的普及瓶颈是人的执行问题,并概述了后续文章将深入探讨的解决方案框架。

13. How the brain's activity, energy use and blood flow change as people fall asleep (www.massgeneralbrigham.org)

研究概要

Mass General Brigham的研究人员利用先进的多模态成像技术,发现大脑在入睡过程中会呈现活动、能量消耗与血流变化的协调转变。研究聚焦于非快速眼动睡眠阶段,揭示了不同脑区在此期间的功能分工与代谢特征。

核心发现

  • 感觉运动脑区保持活跃:处理运动和感觉输入的脑区在NREM睡眠中活动持续,能量消耗得以维持,并伴随较大且节律性的血流波动。
  • 高级认知脑区活动抑制:涉及思维、记忆及白日梦的脑区活动减弱,能量使用下降。
  • 脑脊液流动增加:脑脊液流动在睡眠期间增强,支持睡眠有助于清除脑内废物的理论。
  • 整体能量与血流变化:随着睡眠加深,全脑能量消耗降低,但血流动态性增强,尤其在感觉区域。

研究方法

研究采用三模态EEG-PET-MRI技术,结合以下手段:

  1. 脑电图:监测脑电活动。
  2. 功能性磁共振成像:分析血流变化。
  3. 功能性PET-FDG:追踪葡萄糖代谢动力学。

该技术对23名健康成年人进行了短暂午间睡眠的脑部观测。

意义与展望

  • 这些发现解释了睡眠中意识减退时大脑如何保持对外界刺激的响应能力。
  • 为神经及睡眠相关疾病的机制提供了新见解。
  • 未来研究计划扩大样本多样性、延长深睡眠记录,并改进脑代谢测量方法以更精确区分睡眠阶段。

研究支持

  • 资助方包括美国国立卫生研究院、哈佛大学心智与大脑行为研究奖等多个机构。
  • 论文已发表于《自然通讯》。
  • 作者团队来自麻省总医院、麻省总医院医疗联盟系统及范德堡大学,声明无利益冲突。
14. Making a micro Linux distro (2023) (popovicu.com)

从零构建微型 Linux 发行版总结

本文旨在从零开始构建一个基于 RISC-V 架构的微型 Linux 发行版,以阐释操作系统内核与发行版的基本概念。核心目标是搭建一个能够启动并运行最基本用户空间程序的系统。

核心概念

  1. 操作系�内核:内核是操作系统的核心,负责管理硬件资源、为应用程序提供运行环境。其主要任务包括:

    • 硬件抽象:为上层应用提供统一的、简化的硬件交互接口。
    • 资源管理:管理CPU、内存、设备等。
    • 提供编程模型:例如,通过进程隔离和虚拟内存,让多个程序仿佛独占机器资源般并行运行。
  2. Linux 发行版:一个完整的Linux发行版不仅包含Linux内核,更关键的是包含运行在用户空间的**“基础设施之上的基础设施”**。这包括启动系统所需的初始进程、各种工具(如shell、文件操作命令)和软件包管理器等。用户空间的代码与内核空间隔离,通过系统调用与内核交互。

  3. init进程:内核启动后加载并执行的第一个用户空间程序(通常位于 /init),其进程ID(PID)为1。它是所有其他用户空间进程的祖先,负责启动系统所需的服务和应用程序。

构建过程

构建过程在QEMU的riscv64虚拟机上进行,主要步骤如下:

  1. 编译Linux内核

    • 从kernel.org获取Linux内核源代码(例如6.5.2版本)。
    • 使用RISC-V交叉编译工具链进行配置(make defconfig)和编译(make)。
    • 生成内核镜像文件(arch/riscv/boot/Image)。
  2. 创建初始内存文件系统

    • 问题:直接启动内核会因找不到根文件系统而触发内核恐慌。
    • 解决方案:构建一个最小的初始内存文件系统 initramfs,将其作为内核启动时的临时根文件系统。
    • 内容initramfs 需包含一个 /init 可执行文件(即init进程)。
  3. 编写并集成init进程

    • 第一个init:一个简单的C程序,打印信息后退出。但内核要求init进程不能退出,否则会触发“尝试杀死init”的内核恐慌。
    • 改进的init:一个循环打印信息的程序。同时,为演示进程创建,该init程序会使用 fork()execl() 系统调用来启动一个子进程——一个简单的“shell”(此处的“shell”仅回显用户输入)。
  4. 启动与调试

    • 使用QEMU命令启动,指定内核镜像和initramfs文件。
    • 通过观察串口输出(UART)调试启动过程,解决因缺少文件系统或init进程异常导致的问题。
    • 最终系统启动后,会看到init进程的周期性输出和shell的交互提示,实现了多进程基本交互。

从玩具到实用工具:u-root

为了构建一个功能更实用的微型发行版,文章介绍了 u-root 项目。

  • u-root:一个用Go语言编写的用户空间工具集项目,可以快速生成包含常用shell命令(如 ls, cd, cat)和网络工具(如 dhclient, wget)的 initramfs
  • 使用:安装u-root工具,使用其命令交叉编译生成适用于RISC-V的 initramfs.cpio 文件。
  • 成果:启动后直接进入一个功能相当完善的shell环境,支持基本的文件操作、命令补全,并能通过配置虚拟网络设备(virtio-net)和DHCP客户端获取IP地址,最终使用 wget 访问外部网站(如google.com),证明了该微型发行版的实用性。

总结与要点

  • 内核与发行版:内核提供底层抽象与服务,发行版是内核加上用户空间工具的整体打包。
  • init是关键:init进程是连接内核与用户空间生态的桥梁,其设计对系统功能至关重要。
  • 构建流程:从配置编译内核,到创建包含init进程的最小文件系统,再到逐步添加更复杂的用户空间程序,这是一个层层叠加抽象的过程。
  • 实用化路径:利用像 u-root 这样的项目,可以高效地将玩具系统转化为具备基本交互和网络功能的实用微型系统。
  • 包管理器:在完整的桌面发行版中,包管理器是管理软件安装、更新和依赖的核心组件,本文构建的微型系统未涉及此部分。
17. Euro cops take down cybercrime network with 49M fake accounts (www.itnews.com.au)

欧洲警方摧毁拥有4900万个虚假账户的网络犯罪网络

欧洲多国警方于10月10日协调展开代号“SIMCARTEL”的行动,在拉脱维亚逮捕了7人,成功瓦解了一个大规模的“网络犯罪即服务”犯罪团伙。该团伙创建了近5000万个用于诈骗目的的虚假社交媒体和通讯平台账户。

行动成果与逮捕情况:

  • 逮捕了7名嫌疑人,包括5名拉脱维亚国民和另外2名嫌疑犯。
  • 查获了1200个SIM卡盒,内含40,000张活跃的SIM卡。
  • 关闭了5台网络服务器以及两个提供非法服务的网站(gogetsms.com 和 apisim.com)。

犯罪团伙运作模式: 该网络作为一项有偿服务运营,向犯罪分子提供来自80多个国家的临时电话号码,帮助他们隐藏身份。欺诈者利用此服务绕过双因素身份验证,大量创建虚假账户。这些虚假账户随后成为实施各类诈骗的起点。

涉及的犯罪活动与诈骗手段:

  • 服务于投资诈骗、虚假网上商店、网络钓鱼等多种骗局。
  • 基础设施还被用于欺诈、勒索、人口走私和传播儿童性虐待材料等犯罪活动。
  • 具体诈骗手法包括“女儿-儿子诈骗”(谎称子女急需用钱)、传统网络钓鱼和短信钓鱼,以及在二手市场诈骗、冒充警方人员上门收款等。

造成的损失与缴获资产:

  • 仅奥地利一国,据报告财务损失约450万欧元;拉脱维亚损失约42万欧元。
  • 该犯罪网络在奥地利被关联超过1700起、在拉脱维亚被关联超过1500起网络诈骗案。
  • 警方从罪犯银行账户中查扣约43.1万欧元,并缴获了价值约51.6万美元的加密货币。

国际合作与技术支持: 此次调查由拉脱维亚、奥地利、爱沙尼亚和芬兰警方联合进行。欧洲刑警组织(Europol)提供了分析支持、开源情报分析以绘制犯罪服务地图,以及获取数字证据的取证专业知识。欧洲刑警组织还与非营利性安全组织Shadowserver基金会合作,拆除了该犯罪团伙的技术基础设施。

相关事件: 报道提及,今年9月,美国执法部门在纽约联合国总部附近捣毁了另一个“SIM农场”,现场发现300台设备和超过10万张SIM卡。美国特勤局参与了此次行动,并怀疑有国家级威胁行为者运营该农场。

18. Customize Nano Text Editor (shafi.ddns.net)

这份内容提供了Rayhan Aziz Chowdhury Shafi的专业简介,包括他的职位(DevOps工程师和全栈开发者)、拥有4年以上经验,以及专长领域为云基础设施、CI/CD和可扩展的Web应用程序。

19. How to make a Smith chart (www.johndcook.com)

史密斯圆图在电气工程中表示笛卡尔网格在函数 f(z) = (z − 1)/(z + 1) 下的图像,具体是右半平面网格的映像。本文推导了该图的基本数学性质,但不涉及实际应用。

该函数是莫比乌斯变换的特例,具有保圆性——将广义圆(圆或直线)映射为广义圆。虚轴映射为单位圆:选取 z=0、i、−i 映射到 w=−1、i、−i,这三点确定单位圆。右半平面则映射到单位圆内部,因为 z=1 映射到 w=0。

垂直线(实部恒定)映射为单位圆内与之相切的圆,所有像圆均在 w=1 处与单位圆相切。水平线(虚部恒定)的映像:实轴映射为直线,其他水平线映射为圆,且所有像均通过 w=1 点。水平线的正实部部分映射到单位圆内,负实部部分映射到单位圆外。

由于莫比乌斯变换保角,垂直线像圆与水平线像圆正交相交。最终,z 平面的笛卡尔网格在 w 平面中映射为由两族正交圆组成的图形。

均匀网格在映射后变得不均匀,右侧密集左侧稀疏。因此实用史密斯圆图需使用非均匀网格,即在右半平面中实部较小的区域布置更多垂直线。

20. New OSM file format: 30% smaller than PBF, 5x faster to import (community.openstreetmap.org)
  • 新格式名称:GOB(Geo-Object Bundle)
  • 目的:应对OpenStreetMap(OSM)数据量持续增长带来的存储和处理挑战。
  • 核心优势
    • 文件体积比现有PBF格式减小30%
    • 数据导入速度比PBF格式快5倍
21. Advice for new principal tech ICs (i.e., notes to myself) (eugeneyan.com)

新任首席技术IC(首席工程师/科学家)建议要点

角色定位与核心转变

  1. 风格多样:首席级IC可呈现不同风格——深度钻研型、横向影响力型、技术先锋型、复杂问题澄清型或多组织对齐型,需选择符合自身优势的风格。
  2. 核心工作转变:亲手编写代码不再是主要职责,核心工作转向技术愿景制定、设计反馈、提供商业/产品/技术上下文、发现问题、连接关键节点等。
  3. 跨领域角色:相当于技术领域的兼职产品经理,需参与产品、设计、工程、科学、质量、招聘、财务、文化等多方面工作。

影响力与沟通

  1. 广泛协作:项目范围通常扩大,需跨多个团队(甚至涉及总监、副总裁级别),有效对齐与协作至关重要。
  2. 说服与推动:提出正确方案仅是一半工作,还需说服他人认同并采取行动,需构建动力、寻找支持者并推动落地。
  3. 价值教育:部分工作在于引导组织关注其忽视但重要的未来方向,即使失败率较高,仍需坚持推动。
  4. 不可替代的工作:专注于那些“若无你则无法实现”的工作,通常位于你真正关心且擅长的交叉点。

团队赋能与指导

  1. 连接关键节点:价值有时体现在连接寻求解决方案的团队与已有相关经验的团队,或识别合适人选来执行并成长。
  2. 培养他人:部分时间应用于辅导和指导他人以提升组织整体效能,可设立固定时间(如办公时间)培养重点人选。
  3. 移交工作:将工作机会让给他人,使其能够成长,同时你专注于新挑战。
  4. 给予自主权:将任务移交后,提供上下文与指导,但将方向决定权交给负责人,仅在高风险环节介入。
  5. 创造参与空间:在会议中主动为他人创造发言机会,邀请合适人员参与讨论。

自我管理与效率

  1. 适时退后:若团队运作良好,不必总是显性贡献,沉默参与亦可(但需注意沉默可能被视为默许)。
  2. 高效会议:与高管会议不必覆盖所有议题,聚焦于激发参与、提出关键问题并推动决策即可。
  3. 警惕时间被占满:随着资历加深,易成为“必邀”参会者,需学会拒绝,保护时间用于推进核心议程。
  4. 明确职责匹配:如果无法解释所做工作为何需要首席级IC参与,可能意味着工作重点有误。
  5. 高杠杆机会:凭借职位带来的组织权限与上下文,可识别并以较低投入显著改善项目成果的机会。
  6. 谨慎言论影响:职位会带来额外可信度,随口评论可能被过度解读,需明确区分自己知晓、未知、请求与闲聊。
  7. 解释“为什么”:不仅说明观点,还要阐述推理逻辑,避免他人盲目套用你的结论。

保持连接与实用主义

  1. 保持团队感知:通过设计评审、每周演示、非正式交流等方式,持续了解团队动态与关键问题。
  2. 助力长远视野:提醒沉浸于日常交付的团队关注更广阔的长期问题与机会,避免陷入局部最优。
  3. 平衡全局与细节:在关注大局的同时,接受基于局部信息的务实解决方案,并听取一线专家意见。

反馈与人才培养

  1. 审慎提供反馈:若与某人接触时间有限(如仅1-2小时),可考虑拒绝提供晋升反馈,避免基于片面信息给出低质量评估。
  2. 关注实习生:花时间与实习生及其导师互动,早期检查并提供指导,确保实习成果(如产品文档、软件、技术文档)具备后续延续价值。

职业发展与自我维护

  1. 从关键路径退后:为成为并超越首席,需主动从“关键路径”上移开,使组织受益于你但不依赖你。
  2. 保持常态:晋升通常因已长期表现符合首席角色,无需因头衔增加而焦虑,继续现有工作并探索个人风格。
  3. 自主性与责任:拥有选择工作的自由,但也肩负寻找最高杠杆问题并主动解决的责任,需自行确定组织该聚焦什么。
  4. 定义职责范畴:与领导对齐职责,可将工作分为三类:负责人(深度投入)、赞助者(推动对齐与决策)、顾问(提供指导意见)。
  5. 构建同行网络:角色可能带来孤独感,需在内外部建立可开放交流的同行网络。
  6. 关注自身需求:为学习、成长和健康留出空间,避免倦怠,这对组织长期留任你也有利。
  7. 持续学习:行业变化迅速,需不断通过项目、论文、技术书籍、原型实验等方式学习新思想与技术。

本文总结了从执行者转变为战略领导者所需的核心心态与行为调整,强调影响力、赋能他人、战略聚焦与自我管理。

22. Windows 10 Deadline Boosts Mac Sales (www.macrumors.com)

Windows 10系统支持终止的最后期限正推动全球PC行业迎来多年来最大规模的设备更换潮。根据Counterpoint Research的报告,在2025年10月截止日期前,全球近40%的PC仍在运行Windows 10,这促使商业和消费渠道提前更新设备。

在此背景下,苹果Mac电脑出货量显著增长,成为主要受益者之一。2025年第三季度,苹果全球Mac出货量同比增长14.9%,这得益于对新款MacBook机型的需求以及企业对苹果硬件采用率的提升。

其他主要PC厂商也从更换潮中获益,但表现不一:

  • 联想保持最大PC厂商地位,年增长率最高,达17.4%。
  • 华硕同比增长14.1%。
  • 惠普增长10.3%,主要受商业市场推动。
  • 戴尔的出货量则同比下降0.9%。

该时期内,前五大PC厂商控制了全球PC市场近四分之三的份额,而规模较小的品牌增长停滞或下滑。

此外,PC厂商开始推广搭载神经处理单元和集成AI功能的设备。虽然这些AI功能目前尚未成为大规模的主要销售驱动力,但企业买家已开始在采购计划中纳入AI能力要求,以确保设备不会在新兴的AI工作流程普及前被淘汰。

23. State of Embedded: Q4 2025 Overview (sbcwiki.com)

2025年第四季度嵌入式单板计算机市场概览

整体趋势

本季度嵌入式单板计算机(SBC)市场持续发展,ARM架构SoC在与传统x86平台的竞争中表现日益强劲。关键趋势包括:AI计算变得更加普及、开源软件支持取得进展、以及重要厂商的战略动向。

主要厂商动态

NVIDIA

  • DGX Spark正式发布:搭载GB10 Grace Blackwell超级芯片,集成20个Arm核心(10x Cortex-X925 + 10x Cortex-A725)、128GB统一内存、6144个CUDA核心的GPU及第五代Tensor Core(支持FP4)。起售价3999美元。
  • DGX Station信息:预计搭载72核CPU和Blackwell Ultra GPU,可支持万亿参数模型。
  • 软件支持:DGX Spark运行定制版Ubuntu 24.04,但Jetson系列官方软件支持已停滞在Ubuntu 18.04。

Qualcomm

  • 旗舰SoC更新:Snapdragon Oryon X2于2025年9月发布,采用18个Oryon V3核心,主频首破5GHz,产品预计2026年初上市。
  • Dragonwing SoC生态扩展
    • Radxa Dragon Q6A SBC搭载QCS6490,具备完整的主线Linux支持(CPU、GPU、NPU),起价69.90美元。
    • Radxa Airbox Q900本地AI设备搭载QCS9075,宣称具备200 TOPS算力,售价599美元。
  • 收购Arduino:推出首款SBC产品Arduino UNO Q(搭载QRB2210 SoC),售价44美元,旨在进军物联网和边缘计算市场。

Rockchip

  • 下一代芯片路线图公布
    • RK3688:4-5nm工艺,12核CPU(8x Cortex-A730 + 4x Cortex-A530),Arm Magni GPU(>2 TFLOPS),32 TOPS NPU。
    • RK3668:5-6nm工艺,10核CPU,GPU算力1-1.5 TFLOPS,16 TOPS NPU。
    • RK3572:针对超小尺寸SBC的中端型号。
  • 软件进展
    • BSP内核(6.1.118)持续更新。
    • 主线Linux支持推进中(包括eDP、DSI、USB-C等)。
    • Mesa项目中,针对RK3588 Mali G610的PanVK Vulkan驱动开发已支持至Vulkan 1.4。

MediaTek

  • 聚焦软件上游支持:与Collabora等合作,为Genio系列SoC(如MT8390、MT8370)及Kompanio Ultra 910(MT8196)Chromebook芯片推进主线Linux支持。
  • 旗舰移动SoC:Dimensity 9500发布,采用新一代Arm核心(C1-Ultra/Premium/Pro)及Mali-G1 Ultra GPU,GeekBench6成绩突出。
  • 路由器SoC:BananaPi BPI-R4 Pro采用MediaTek方案,提供高速网络接口,售价180美元。

CIX

  • 新产品上市:Radxa Orion O6N和OrangePi 6 Plus搭载CD8160 SoC(CD8180的降频版)。
  • 主线支持取得突破:首个设备树(Device-Tree)补丁被接受纳入Linux内核,为未来的开源GPU驱动(Panthor)支持铺路。同时,其BSP已反向移植了基于ACPI的Panthor驱动。

Texas Instruments

  • 战略重心:继续专注于汽车和大型批量产品市场,本季度无新品发布。
  • 开源GPU驱动:适用于其SK-AM68/AM69开发套件中Imagination BXS-4-64 GPU的开源Mesa PowerVR驱动持续完善,已支持Vulkan 1.2及RISC-V架构。

其他动向

  • DENX退休:知名嵌入式U-Boot维护公司DENX停止运营,其团队精神继承者为Nabla公司。
  • 新SBC发布:Synaptics与Toradex合作推出搭载Astra SL1680 SoC的开发板,具备4K视频解码(含AV1)和7.9+ TOPS NPU能力。
  • 树莓派:发布树莓派500+桌面电脑,为集成M.2插槽的Pi 500升级版,内置于机械键盘中。

结论

2025年第四季度,嵌入式SBC市场活跃。Qualcomm通过收购Arduino和推广主线支持的Dragonwing SoC积极扩张。Rockchip展示了强劲的下一代芯片路线图并持续优化软件生态。NVIDIA发布了高性能AI设备,MediaTek专注于上游软件合作。ARM SBC生态系统在AI普及、开源软件进步及厂商创新推动下持续繁荣。

24. Mistakes I see engineers making in their code reviews (www.seangoedecke.com)

代码审查中工程师常见的错误

随着大型语言模型(LLM)的普及,代码审查的重要性日益凸显,因为审查AI生成的代码与审查人类编写的代码同样具有挑战性。许多工程师在进行代码审查时存在一些常见误区,影响了审查的有效性。

1. 不要只审查差异部分(Diff)

最大的错误是仅仅关注代码的差异部分。最有价值的审查意见往往与差异本身无关,而是基于对整个系统的理解。例如:

  • 指出“无需添加此方法,因为其他地方已存在类似功能”。
  • 建议“此代码应放在另一个文件中”以保持代码库的一致性。 仅审查差异部分虽然容易,但会错过许多提升代码库长期质量的机会。

2. 不要留下过多评论

一个常见的错误是留下过多的评论(如上百条),这会导致重要意见被淹没,难以有效沟通。建议:

  • 针对普遍性问题(如命名风格不一致)留下一条总体评论,让提交者自行修改。
  • 对于新成员,可以多提供风格指导,但仍需注意区分重要意见与一般建议。

3. 不要以“我会怎么写”为标准进行审查

有些工程师倾向于以自己的编码方式为标准来审查代码,这会导致大量不必要的评论。正确的做法是:

  • 接受多种合理的实现方式,尊重不同的代码风格。
  • 除非代码存在明显问题(如逻辑错误、性能问题),否则应避免因个人偏好而提出修改意见。

4. 如果不想合并代码,请明确阻断

审查的状态(批准、仅评论或阻断)比评论内容更重要。如果不同意合并,应明确使用“阻断审查”状态,避免留下模糊的评论导致提交者困惑。明确的阻断可以确保提交者清楚知道能否合并代码。

5. 大多数审查应倾向于批准

在标准SaaS开发中,大多数审查应以批准为主。过多的阻断审查可能表明:

  • 团队存在过度把关现象。
  • 团队之间的目标不一致(如可靠性团队与功能团队的冲突)。
  • 工程师通过阻断来展示技术权威性。 Google的代码审查指南强调,审查应倾向于批准,除非存在严重问题。

对AI生成代码的适用性

这些原则同样适用于审查AI生成的代码,但“倾向于批准”这条不适用于AI生成的代码,因为需要对AI输出进行严格把关。

总结

有效的代码审查应注重整体系统一致性、控制评论数量、尊重不同实现方式、明确阻断意图,并倾向于批准代码变更。审查的目的是促进团队协作、提升代码质量,而非强加个人偏好。

25. Image Dithering: Eleven Algorithms and Source Code (2012) (tannerhelland.com)

图像抖动技术概述:十一种算法与源码实现

抖动技术定义与应用

图像抖动是一种在色彩或灰度表现能力有限的设备上,通过混合可用颜色来模拟不可用颜色的技术。其核心目标是解决原始图像色彩数量超出显示设备能力时出现的色带和细节丢失问题,使图像在降低色彩深度后仍能保持可识别性。该技术不仅在打印、低色深显示等传统场景中有用,也被应用于网页图像优化(降低色彩数以减少文件大小)和数码照片处理。

核心原理:误差扩散

抖动技术的基础是误差扩散。当一个像素被强制转换为目标色彩(如黑白图像中的纯黑或纯白)时,原始值与转换后值之间的差值(即“误差”)会被计算并传播到相邻的像素上,影响后续像素的决策。简单的单向误差扩散容易产生条带状噪点,因此更有效的方法是采用二维误差扩散,将误差分散到多个方向。

十一种主要抖动算法

以下是文章介绍的算法,主要分为误差扩散和有序抖动两大类。

误差扩散算法

这类算法通过将误差扩散到后续像素来改善效果,通常需要额外的内存来存储传播的误差值。

  1. Floyd-Steinberg 抖动:最著名的算法。其误差扩散矩阵为:

          X   7
    3   5   1
    

    误差除以16后按权值传播。算法高效,效果良好。

  2. Jarvis, Judice, 和 Ninke (JJN) 抖动:更复杂的算法,将误差扩散到更多像素(三倍于Floyd-Steinberg),产生更平滑的效果。其矩阵除数为48,不是2的幂,但能通过预计算优化。需要存储两行误差值。

  3. Stucki 抖动:是JJN的改进版,矩阵值略有调整以提升处理速度:

          X   8   4
    2   4   8   4   2
    1   2   4   2   1
    

    误差除以42。输出质量与JJN相近,但速度稍快。

  4. Atkinson 抖动:由Bill Atkinson开发,其特点是只传播部分误差(通常为总量的1/4或更多),这可以减少色彩渗透,但可能使连续的明暗区域显得褪色。矩阵示例:

          X   1   1
    1   1   1
          1
    

    误差除以8。

  5. Burkes 抖动:是Stucki算法的简化版,移除了最下面一行误差传播行,从而只需要一个前向误差数组,且除数为32(2的幂),便于位运算加速。

  6. Sierra 抖动系列:由Frankie Sierra发布的一组算法。

    • Sierra (全滤镜): 误差扩散范围较广,除数32。
    • Two-Row Sierra: 简化版,除数16。
    • Sierra Lite: 最简版,除数4,计算量极小。

有序抖动算法

这类算法使用固定的抖动图案(阈值矩阵)来处理图像,不需要传播误差,速度极快,但产生的噪点图案更明显。

  1. 使用4x4 Bayer矩阵的有序抖动
  2. 使用8x8 Bayer矩阵的有序抖动

实现细节与影响因素

实际实现中,多种变量会影响抖动输出效果:

  • 误差跟踪:使用整数还是浮点数。
  • 色彩渗透:是否及如何减少误差传播量。
  • 阈值:将像素归为某一种颜色的判断值(如127或128)。
  • 亮度计算:彩色图像转换为单色时使用的公式(如HSL、平均法、ITU公式等)。
  • 预处理:如伽马校正。
  • 扫描顺序:标准的从左到右、从上到下,或蛇形路径(每行方向相反),后者可改善图案规律性。
  • 颜色空间:在RGB空间直接处理,或转换到YUV等空间。

通用抖动引擎

文章提到在开源图像编辑器PhotoDemon中实现了一个通用抖动引擎。其设计允许用户预先指定任意抖动矩阵(如上述算法的矩阵),然后由引擎统一处理。该引擎最初为黑白转换设计,但原理可扩展至彩色图像(需分别追踪R、G、B三个通道的误差)。完整的代码实现在相关项目的GitHub页面上。

26. Google Pixel's most dangerous bug: failing to call 911 (www.androidpolice.com)

文章摘要

核心问题:Google Pixel手机长期存在无法成功拨打911紧急电话的严重漏洞。该问题反复出现,对用户安全构成直接威胁。

关键点

  • 问题持续性:尽管问题严重且后果直接影响现实,谷歌未能彻底解决。从Pixel 6到最新的Pixel 10机型,用户持续报告此问题(例如2025年9月和10月的报告)。
  • 用户案例:一名Pixel 8用户因手机无法拨出911,花费10分钟才联系上紧急服务,尽管其所在区域移动网络信号良好,且他人手机可正常呼叫。
  • 运营商反应:加拿大运营商贝尔曾向Pixel 6-10用户发出紧急通知,警告此问题。然而,美国主要运营商并未发布类似警告,这被认为在紧急情况下存在风险。
  • 根本原因与比较:此故障仅频繁出现在Pixel手机上,而用户基数更大的iPhone或三星手机鲜有类似报告。这表明问题可能源于谷歌软件或其与运营商网络的特定交互。
  • 呼吁与责任:文章强调谷歌必须将此问题列为高优先级,与运营商紧密合作以永久解决基础故障。任何智能手机都不应在拨打紧急电话时出现功能失效。
27. Result is all I need (rockyj-blogs.web.app)

背景与动机 作者在软件开发AI化的趋势下反思,虽然AI能快速生成内容(包括代码),但人工研究和思考的价值依然存在。关键在于如何提出正确的问题。然而,AI生成的代码存在代码组织问题,可能导致产出质量下降、代码难以阅读和维护。因此,作者认为,即使有AI辅助,良好的代码组织仍然是确保质量的核心。

代码组织原则 作者主要针对API和Web应用开发,提出以下分层组织原则:

  1. 基础层/接口层:封装与外部世界的交互。包括REST API控制器、数据库实体与仓库、HTTP客户端、消息队列客户端、配置类等。此类代码应尽可能无状态和隔离(例如,数据库连接类不应知晓消息队列的存在),且不包含业务逻辑。
  2. 服务层:在基础层之上构建小型、隔离的业务逻辑片段。函数应保持简单、无状态,并遵循单一职责原则(例如,“创建用户”、“发送SQS消息”)。
  3. 胶水代码:如日志记录、授权检查等横切关注点,可以分散在各处。

核心方案:Result模式 将基础层和服务层代码组合成完整业务逻辑时,需要处理函数返回的异常和空值。传统的命令式编程(如示例中的if判断和try-catch)会导致代码中充斥着重复的错误处理,降低可读性。

作者引入了Result模式作为一种解决方案。Result是一个包装器,能安全地封装操作的成功结果或失败信息。它通过链式调用(如flatMap)将多个函数串联起来,使代码声明式且更清晰。

代码示例对比

  • 命令式风格:业务逻辑中混合了大量null检查和try-catch块,导致核心逻辑不突出,且可变性增加。
  • Result风格:使用successflatMaprunWithSafety等操作,将错误处理抽象到链式调用中。代码虽然初看有学习成本,但整体更声明式、一致且不易出错。

Result的实现 文中展示了一个Kotlin实现的Result密封类,包含SuccessFailure两个子类,并提供了一系列工厂函数和辅助方法(如successfailurerunWithSafetygetOrNull等),用于安全地创建和操作结果。

结论 作者认为,Result模式是连接“基础代码”和“服务代码”以形成最终业务逻辑的强大工具。它能让代码组织清晰(基础层隔离,服务层逻辑单一),并通过函数式组合的方式安全、简洁地将它们串联起来,最终产出干净、可维护的代码。该模式适用于支持类型和函数式编程范式的语言(如Kotlin、TypeScript)。

28. Key IOCs for Pegasus and Predator Spyware Removed with iOS 26 Update (iverify.io)

关键证据文件

shutdown.log 文件是 iOS 设备取证分析中的关键日志,位于系统诊断目录(system_logs.logarchive/Extra/shutdown.log)。它能记录设备关闭前的系统活动,是识别 PegasusPredator 等高级间谍软件感染的重要指标。

间谍软件的应对策略

  1. Pegasus 的演变

    • 2021年:公开版本会在 shutdown.log 中留下明显痕迹。
    • 2022年:开始采用更高级的手段,会完全清空 shutdown.log 文件。然而,这种清空行为本身成为了一种可识别的入侵指标。后期版本的清除机制更加完善。
    • 特定 IOC:2022年的 Pegasus 感染会在日志中留下 /private/var/db/com.apple.xpc.roleaccountd.staging/com.apple.WebKit.Networking 这一路径,表明其开始伪装成正常系统进程。
  2. Predator 的行为:根据观察,Predator 间谍软件同样会主动监控并可能清除 shutdown.log,行为模式与 Pegasus 相似。

iOS 26 更新的影响

苹果在 iOS 26 中引入了一个更改(可能是设计或 Bug),导致 shutdown.log 文件在设备每次重启时被覆盖而非追加。这意味着用户升级到 iOS 26 并重启设备后,将自动清除所有历史的可能包含 Pegasus 或 Predator 感染证据的日志记录。

这一变更严重阻碍了事后取证调查。虽然 iVerify Enterprise 等专业工具依赖更广泛的启发式规则和异常检测,仍能实时识别威胁,但这一关键日志的丢失对独立调查和公共安全构成了挑战。

取证建议

  1. 对于 iOS 18 及更早系统:可以通过关联 containermanagerd 日志中的启动事件与 shutdown.log 条目进行对比,查找不一致之处来辅助检测。
  2. 重要提示:在更新到 iOS 26 之前,所有非企业安全工具用户应立即提取并保存当前设备的系统诊断报告,以保留潜在的取证证据。建议等待苹果修复此问题后再进行更新。
29. Ask HN: Not treated respectfully by colleague – advice?

该帖子描述了一位团队领导在职场中遇到同事持续不尊重对待的困境。作者一年前加入一个濒临解散的团队,通过努力成功稳定并扩大了团队(从4人增至10人),期间有三名工程师因他而加入。然而,团队中一位经验相对不足但曾被前任主管暗示应担任领导的同事,始终对作者进行批评和对抗,表现为在会议中公开质疑其权威、就琐事争论不休、采用被动攻击性言论。这种冲突在发生全球性服务中断事故时依然存在,甚至阻碍了必要的事后复盘,严重消耗作者精力并影响团队氛围。

尽管作者去年获得晋升(职级高于该同事两级),且其他团队成员对其评价积极,但直属经理的处理方式令其失望:经理认为该同事“正在改善”,建议作者“不要太在意”,并将改变行为的责任转回给作者。作者因专业领域限制难以调岗,长期处于压力中,渴望能不受干扰地专注工作。

关键点总结

  • 冲突背景:同事因早期被暗示应担任领导而对作者(现任领导)产生敌意,持续通过公开反对、被动攻击等方式挑战权威。
  • 团队影响:作者曾稳定团队并促进增长,但同事的行为增加了协作成本,甚至在紧急事故中阻碍正常流程。
  • 管理支持不足:直属经理未采取有效措施,反而淡化问题并要求作者自行应对。
  • 个人困境:作者虽获晋升且受同事认可,但因专业岗位限制难以调离,长期承受心理压力。

(注:内容基于用户提供的帖子原文,未添加外部信息或个人评判。)

30. Typst's Math Mode Problem (laurmaedje.github.io)

Typst的数学模式存在一个优先级问题,导致用户书写f_i(x)时,预期下标仅为i,实际渲染结果却是i(x)。根本原因在于标识符后紧跟括号的语法存在歧义,可能表示Typst函数调用(如abs(x))、数学函数求值(如omega(x))或隐含乘法(如a(2+b))。解析阶段无法区分这三者,为处理Typst函数调用(如e^abs(x)中需将abs(x)作为整体上标),Typst将函数调用的优先级设置得高于上下标和分数线,从而导致f_i(x)被误解。

此问题在0.3版本中表现相反:上下标优先级高,f_i(x)正常工作,但abs(x)类函数调用会失效。社区曾通过PR更改了此行为,但引发了持续讨论。目前有五种解决方案被提出:

  1. 保持现状:用户需写作f_i (x)e^(abs(x))以确保正确。
  2. 回退至0.3行为:恢复上下标高优先级,但会导致e^abs(x)等写法失效,且数学函数调用的解析“hack”问题依然存在。
  3. 运行时解析:将数学公式的完整解析延迟到运行时,以便利用类型信息解决歧义,但会增加复杂性并影响工具支持。
  4. MathAttachCall:引入新的表达式类型,在运行时决定采用上下标还是函数调用解释,部分解决问题。
  5. 新语法:为Typst函数调用引入特殊语法(如#前缀),明确区分数学与Typst函数,但可能破坏数学模式的简洁性。

作者分析认为,解决方案1行为反直觉;方案3和4虽智能但会降低语法可预测性,影响工具链和可移植性,且难以清晰界定“Typst函数”与“数学函数”的边界(如sin)。方案5的边界问题同样模糊。

因此,作者主张采用方案2(回退至0.3行为)。理由是其简单、一致,能解决最常见的用户痛点(f_i(x)正常工作),代价是e^abs(x)等少数情况需加括号,但可通过警告提示。目前已有相关PR(#6442)准备合入。

31. Microsoft Teams will start tracking office attendance (www.tomsguide.com)

Microsoft Teams 将通过Wi-Fi自动追踪员工办公室出勤

Microsoft Teams计划于2025年12月推出一项新功能:自动追踪员工是否身处办公室。该功能的核心机制是利用组织内部的Wi-Fi网络——当员工连接到公司Wi-Fi时,Teams将自动将其工作位置更新为所在建筑,从而向管理者明确显示团队成员的实际位置。

技术实现与细节

  • 自动更新:位置信息将根据设备连接的Wi-Fi网络自动变更,无需手动设置。
  • 开发平台:该功能将适用于Windows和macOS系统。
  • 默认状态与启用方式:功能默认关闭。但租户管理员(通常是公司IT部门)拥有控制权,可决定是否启用此功能,并可能要求终端用户选择加入。
  • 检测原理推测:相比简单的Wi-Fi名称(SSID)匹配,Teams可能会采用更复杂的验证方式,例如核对设备的IP地址是否属于公司办公网络,或检测路由器的MAC地址,以防止通过修改家庭Wi-Fi名称等简单手段进行欺骗。

背景与潜在影响 此更新可能对习惯远程办公的员工产生较大影响,因为它旨在消除关于员工工作地点的模糊性。文章提到了一个历史案例:疫情期间,亚马逊员工为抵制返回办公室政策,曾尝试将家庭Wi-Fi名称改为公司网络名称。但针对Teams的新功能,此类“欺骗”方法可能无效。

当前状态 该功能仍在开发中,预计于2025年12月开始推出。管理员和员工均有一定时间了解和准备。

32. Carmack on Operating Systems (1997) (rmitz.org)

John Carmack 关于操作系统与Quake 2扩展机制的评论(1997年)

Quake 2 扩展机制:

  • 主要接口倾向于使用 动态链接库(dll),因其对开发效率和调试更友好,尽管考虑过Java等其他方案。
  • 计划在Quake 2发布后,公开Quake 1的QC(QuakeC)接口和解释器代码,以便社区基于此开发一个安全、可移植的公共DLL。
  • 强调游戏本身的改进(从Quake 1的教训出发)与多人游戏世界的完善同样重要。

对各类操作系统的观点:

  • Win32:市场份额最大,系统本身(Win 95/NT 4.0)质量尚可。是id Software的首要开发与发布平台,Quake 2将首先支持Win32。
  • DOS彻底放弃,不再开发DOS游戏,因其缺乏现代操作系统优势(如TCP/IP、动态链接、虚拟内存等)。
  • Linux:对id Software而言是仅次于Win32的重要平台。其价值在于拥有最高的黑客用户比例,这对鼓励游戏修改的游戏类型至关重要。作者本人虽不在此开发,但予以技术尊重。
  • MacOS:从商业角度看是Win32之外唯一重要的平台。但对其技术基础缺乏尊重,认为其发展停滞。游戏会由专业团队移植,但进程较慢。
  • OS/2:不太可能进行原生移植,兴趣和资源不足。
  • SGI/IRIX:硬件适合运行图形应用,未来可能移植,但并非优先事项。
  • 其他Unix系统(AIX、HPUX等):id自身不会主动移植,但若可信第三方(如Zoid)进行移植,通常不会反对。
  • BeOS:虽然作者因欣赏其对称多处理(SMP)支持而购买了硬件,但认为其优势不突出。支持第三方移植,但预期不高。
  • Plan 9:欣赏其优雅的系统结构,但认为其用户界面严重过时。曾进行实验性开发,但因时间有限而搁置。
  • NeXTStep:作者个人最喜爱的开发环境,认为其结合了Unix的强大、优秀的用户界面和合理的设计。若苹果在后续系统(Rhapsody)上做出正确选择并提供必要的游戏开发支持(如视频模式切换、底层声音访问),他愿意将Win32产品移植过去。