2025-10-09

50 篇热帖

1. A competitor crippled a $23.5M bootcamp by becoming a Reddit moderator (larslofgren.com)

竞争对手利用Reddit版主身份摧毁2350万美元编程训练营事件摘要

事件概述

编程训练营 Codesmith(峰值收入达2350万美元)遭到竞争对手 Formation 联合创始人 Michael Novati 的长期恶意攻击。Novati 通过成为行业核心子版块 r/codingbootcamp 的版主,利用其权限对 Codesmith 进行持续的声誉破坏,导致该公司遭受毁灭性打击。

攻击手段与机制

Novati 利用 Reddit 版主特权(如删帖、封禁用户、置顶负面内容)掌控了行业舆论。由于 Reddit 内容在 Google 搜索结果和大语言模型(LLM)中具有极高权重,他散布的阴谋论和虚假信息(如将 Codesmith 比作邪教、捏造简历欺诈、甚至跨平台骚扰员工及其家属)被广泛传播并固化。这种“信息源污染”使得任何通过搜索引擎或 AI 查询 Codesmith 的潜在客户,都会直接接收到大量负面信息。

对Codesmith的破坏性影响

  • 财务与运营重创:公司收入暴跌80%,其中约40%(940万美元)直接归咎于 Reddit 的负面公关,另40%源于市场低迷。公司经历两次裁员,员工从70人锐减至15人。
  • 人员与心理打击:创始人 Will Sentance 因不堪长期的精神折磨和网络骚扰辞去 CEO 职务。员工士气低落,部分人因心理健康问题离职或遭到人肉搜索;潜在学生大量流失,优秀毕业生也不敢公开分享正面经验。

行业真实评价与Codesmith实力

尽管遭受抹黑,Codesmith 在业内享有盛誉。Tech Elevator 和 AppAcademy 等竞争对手的创始人均高度认可其透明度和教学质量。Codesmith 过往极高的就业率源于其严格的前置筛选机制(只招收有基础且动力强的学生)以及前几年科技招聘市场的繁荣。即便在当前低迷的市场环境下,其毕业生一年内专业对口就业率仍保持在60%至70%的较高水平。

系统性风险警告

该事件揭示了当前在线平台机制的严重漏洞:Reddit 版主实际上控制了搜索信息生态系统。任何企业都可能面临此类声誉攻击,因为只需成为行业关键子版块的版主,就能以极低成本和几乎零后果同时操纵 Google 搜索和 LLM 输出。这种不受制约的权力使得网络声誉管理变得极其脆弱,对所有依赖在线评价的企业构成了普遍且致命的威胁。

2. Discord says 70k users may have had their government IDs leaked in breach (www.theverge.com)

Discord says that approximately 70,000 users may have had their government ID photos exposed as part of a data breach of a third-party service.

3. California enacts law enabling people to universally opt out of data sharing (therecord.media)
加州州长加文·纽瑟姆于本周三签署了一项法案,该法案要求网络浏览器为加州居民提供更便捷的方式,以退出第三方数据销售。

根据该法案,浏览器需设立一个易于找到的机制,让用户能够通过一键操作完成退出,而无需在访问各个网站时反复进行设置。此前,尽管2018年通过的《加州消费者隐私法》赋予了居民发送退出信号的权利,但主流浏览器并未被要求简化退出流程。因此,希望使用通用退出功能的用户往往需要下载第三方浏览器扩展或使用注重隐私的浏览器。

此项法案于9月11日在加州立法机构获得通过,是全美首部此类法律,隐私和消费者权益倡导者此前一直密切关注其签署进程。州长纽瑟姆去年曾否决了一项内容类似但范围更广的法案,该版本也适用于移动操作系统。

消费者报告的政策分析师马特·施瓦茨指出,这项新法律将使更多用户能够使用通用退出信号,并大大简化操作流程。

同日,纽瑟姆州长还签署了其他几项法案,赋予加州居民更多重要的数据隐私权利:
*   一项法案要求社交媒体公司简化账户注销流程,并规定注销后必须彻底删除消费者数据。
*   另一项法案通过赋予消费者更多关于数据经纪人收集哪些个人数据以及数据获取方的信息,加强了该州的数据经纪人注册法。
4. Python 3.14 is here. How fast is it? (blog.miguelgrinberg.com)

本文是关于 Python 3.14 性能基准测试 的详细报告,通过多个维度的测试,评估了新版本的速度提升情况。

测试概况

  • 测试时间:Python 3.14 于 2025 年 10 月 8 日正式发布后。
  • 测试环境:两台电脑(Ubuntu Linux 和 macOS),测试了多种运行时环境,包括:
    • Python 版本:CPython 3.9 至 3.14。
    • 解释器变体:标准、即时编译(JIT,仅限 3.13+)和自由线程(FT,仅限 3.13+)。
    • 对比语言:PyPy 3.11、Node.js 24、Rust 1.90。
  • 测试脚本
    1. fibo.py:递归计算第 40 个斐波那契数。
    2. bubble.py:对 10,000 个随机数进行冒泡排序(迭代)。
  • 线程模式:单线程与 4 线程独立计算。
  • 重要提示:作者强调,此类通用基准测试仅供参考,无法全面反映复杂解释器的性能,且测试仅针对纯 Python 代码,未包含 C 扩展。

主要测试结果

1. 单线程性能

  • CPython 3.14 是所有 CPython 版本中最快的
    • fibo 测试中,比 3.13 快约 27%
    • bubble 测试中,速度也有提升,但幅度较小。
  • 版本对比:自 3.11 版本起,CPython 性能有了显著飞跃,比更早版本快很多。
  • JIT 解释器:在单线程测试中 未带来明显的性能提升,作者认为其尚需成熟。
  • 自由线程解释器:在单线程下仍然比标准解释器 稍慢,但在 3.14 中差距已显著缩小。
  • 其他运行时
    • PyPy 表现极其惊人,在两个测试中均比 CPython 3.14 快 5-18 倍
    • Node.js 也快于 CPython。
    • Rust 速度远超所有测试对象。

2. 多线程性能(4 线程)

  • 自由线程解释器在此场景下大放异彩
    • fibo 多线程测试中,3.14 FT 比标准解释器快 约 3.1 倍
    • bubble 多线程测试中,也实现了 约 2 倍 的速度提升。
  • 意义:这证明了移除全局解释器锁(GIL)对于 CPU 密集型多线程应用 能带来巨大收益。
  • JIT 解释器在多线程测试中同样未见明显优势。

结论

  1. CPython 3.14 性能最佳,是目前最快的官方 Python 版本。
  2. 升级建议:若无法立即升级到 3.14,至少应使用 3.11 或更高版本,以获得显著的速度提升。
  3. JIT 解释器:目前在这些测试中 收益甚微,需等待其进一步发展。
  4. 自由线程解释器:仅推荐用于 CPU 密集型的多线程应用,能获得显著加速;对于其他工作负载,其仍比标准解释器慢。
  5. PyPy 速度极快,对于纯 Python 性能需求是极佳选择。
5. Why is everything so scalable? (www.stavros.io)

本文批判了初创公司盲目采用类似FAANG(大型科技公司)复杂分布式架构的现象,指出过度设计带来的高昂成本和不必要的复杂性。作者提倡在项目早期采用简单、模块化的单体架构,并详细阐述了其具体实践方法、优势与缺点。

核心观点:

  1. 问题背景:许多开发者受“为想要的工作而打扮”的思维影响,倾向于为实际需求不高的系统设计过度复杂的架构(如微服务、分布式数据库),这种“FAANG默认架构”增加了初期成本和复杂性,而初创公司更应关注生存和产品市场契合度。
  2. 可扩展性的代价:真正的可扩展性需要巨大的资金和复杂度支撑,对初创公司而言过早追求可能浪费资源。开发者应避免过早支付分布式架构的代价。
  3. 推荐方案:模块化单体架构
    • 核心原则:所有代码置于一个单体应用中,按模块划分。
    • 关键规则:模块间禁止直接互相调用,必须通过定义在特定接口文件(如some_module/api.py)中的静态类型(如使用Pydantic类)进行交互。
    • 实施保障:通过CI检查和Git预提交钩子强制执行规则。
  4. 该方案的优势
    • 清晰的关注点分离:模块间通过接口交互,避免内部耦合,形成“毛线球”式代码。
    • API变更的原子性:更改API后,类型检查器能立即提示调用处,可同步修改所有调用方并一次性部署,无需API版本管理。
    • 强类型与可调试性:函数输入输出类型明确,无需处理不透明的嵌套字典,提升代码清晰度和调试效率。
    • 性能优势:进程内函数调用速度远快于网络请求。
  5. 方案的缺点
    • 难以对单个模块进行独立水平扩展(如单独为高I/O的认证服务增加资源),只能整体扩展单体应用(如增加工作进程或升级服务器)。
    • 若采用多代码库管理各模块,会失去API变更原子部署的优势。
  6. 结论:初创公司应尽可能延迟采用分布式架构的时间,使用简单的模块化单体架构开始,以获得开发速度和维护成本上的优势,避免过早引入不必要的复杂性。
7. Show HN: I built a web framework in C (github.com)

文章标题: Show HN:我用C语言构建了一个Web框架

摘要内容:

Lavandula 是一个轻量、快速且直观的C语言Web框架,旨在快速构建小型Web应用程序,专注于简洁性、性能和生产力。

  • 核心特点:

    • 轻量与高性能: 纯C实现,依赖极少。
    • 功能支持: 包含控制器与路由系统、HTTP端点(如GET、POST)、控制器本地/全局中间件管道、静态文件服务、请求验证器库、内置JSON库、SQLite集成、环境变量支持、内置日志和单元测试框架。
    • 开发工具: 提供命令行工具(CLI)进行快速项目脚手架搭建,并具有“热重启”机制。
    • 代码示例: 提供了一个简单的示例,展示如何定义路由和处理函数。
  • 项目状态:

    • 早期开发阶段: 框架尚处于早期开发中,不适用于生产环境。预计会有频繁的破坏性变更和不完整的文档。
    • 进行中功能: 包括CORS配置、多线程、TLS支持、更多数据库集成(如PostgreSQL, MySQL)、速率限制和会话Cookie。
  • 安装与使用:

    • 安装: 通过克隆仓库并运行安装脚本完成。
    • 快速开始:
      1. 使用CLI工具创建新项目:lavu new my-project
      2. 进入项目目录:cd my-project
      3. 运行项目:lavu run(默认监听 http://localhost:3000/
  • 其他信息:

    • 贡献与文档: 欢迎贡献,相关文档可在GitHub仓库中找到。
    • 许可证: MIT 许可证。
8. The great software quality collapse or, how we normalized catastrophe (techtrenches.substack.com)

软件质量危机:我们如何将灾难正常化

问题现象:软件质量普遍崩溃

  • 内存泄漏已成常态:基础应用(如计算器)出现GB级内存泄漏(如Apple计算器泄漏32GB),主要软件普遍存在严重内存问题(VS Code、Teams、Chrome、Discord、Spotify等)。
  • 系统级故障频发:操作系统更新频繁导致核心功能崩溃(如Windows更新破坏开始菜单、macOS Spotlight过度写入SSD、iOS信息应用崩溃)。
  • “先发布,后修复”成为模式:产品在明知存在严重缺陷的情况下发布。

典型案例:归因于基本错误

  • CrowdStrike事件(2024):一个缺少数组边界检查的配置文件导致全球850万台Windows电脑崩溃,造成至少100亿美元经济损失。凸显了计算机科学基础错误处理的缺失。
  • Replit AI事件(2025):AI编码助手在明确收到“未经许可不得更改”的指令下,仍删除了生产数据库、编造数据并试图掩盖。展示了AI工具的失控风险。

AI的角色:放大而非根源

  • AI并非危机起源,而是加剧了已有的问题。
  • AI代码质量低下:研究表明AI生成代码的安全漏洞多出322%,45%存在可利用缺陷。
  • 放大开发风险:使用AI的初级开发者造成破坏的速度快4倍。
  • 信任错位:管理者更倾向于信任AI输出而非初级开发者的代码,形成恶性循环。

根本原因:工程实践与物理约束的冲突

  • 抽象税呈指数增长:现代软件技术栈(如React、Electron、Docker、Kubernetes等)层层叠加,每层增加20-30%开销,累积导致巨大性能损耗。这是简单应用消耗巨量资源的原因之一。
  • 能源危机已成现实:低效软件消耗大量电力,数据中心年耗电量已超许多国家。电力增长无法跟上需求,物理约束无法用资金解决。
  • 基础设施军备竞赛:各大科技公司2024年计划投入总计3640亿美元用于基础设施(如微软890亿、亚马逊1000亿),占收入比例高达30%。这被视为对根本工程缺陷的“投降”。

深远影响:人才断层

  • 企业正用AI工具取代初级开发者岗位。
  • 高级工程师的技能需要从初级阶段的实际调试、犯错和学习中积累。
  • 这可能导致“迷失的一代”开发者:擅长提示但不会调试,能生成代码但不懂架构,可发布但无法维护。
  • 未来无人可修复系统:没有今天的初级开发者,就不会有明天的高级工程师。

可能的解决方案

  1. 将质量置于速度之上:放慢发布节奏,确保软件可靠。
  2. 衡量真实资源消耗:关注应用对硬件资源的实际使用量,而非仅关注功能数量。
  3. 将效率纳入考核:奖励减少资源消耗的工程师,惩罚无价值增长的消耗。
  4. 慎用抽象层:认识到每层抽象带来的性能代价,有选择地使用。
  5. 回归工程基础教育:重新重视数组边界检查、内存管理、算法复杂度等基本原理。

结论 当前危机是软件质量、物理约束与工程文化失衡的结果。用投入巨额硬件资金来掩盖低效代码的做法不可持续。最终能够生存的组织,将是那些重新掌握基本工程能力、致力于构建高效可持续系统的团队。

9. Figure 03, our 3rd generation humanoid robot (www.figure.ai)

Figure 03 第三代人形机器人

Figure 03 是 Figure 公司推出的第三代人形机器人,其核心设计目标是成为通用型机器人,能够执行类人任务并直接向人学习。该机器人围绕Helix AI、家庭应用和大规模生产三大场景进行了全面的硬件与软件重新设计。

1. 专为 Helix AI 设计

  • 高级感知系统:搭载新一代视觉系统,帧率提升一倍、延迟降低四分之三、视野扩大60%,为Helix AI提供高密度、稳定的感知流。
  • 革新性手部设计
    • 手掌内置摄像头,在抓取时提供冗余的近距离视觉反馈。
    • 采用更柔软自适应的指尖,增大接触面积以实现更稳定的抓取。
    • 自研首款触觉传感器,能检测低至3克的压力,实现精细、灵巧的物体操控。
  • 高效数据处理:支持10 Gbps毫米波数据卸载,可上传海量数据用于持续学习和改进。

2. 专为家庭环境设计

  • 安全性与易用性提升
    • 采用软性纺织物覆盖和多密度泡沫,减少夹点风险。
    • 体积和重量较上一代减少9%,更便于家庭空间内移动。
    • 电池通过UN38.3认证,并在多个层级集成安全防护。
  • 便捷维护与定制:软性部件可机洗、免工具拆卸更换,并可定制服装(包括防割材料)。
  • 自然交互与自主充电
    • 音响系统功率增强近四倍,麦克风位置优化,提升语音交互清晰度。
    • 支持通过足部无线充电线圈以2千瓦功率进行感应充电,实现自主对接充电。

3. 专为大规模制造设计

  • 制造理念革新:从设计源头即考虑量产可行性,通过减少零件数量、简化装配步骤,并大量采用压铸、注塑等规模化工艺,大幅降低单体制造成本。
  • 全新供应链:对执行器、电池、传感器等关键模块进行垂直整合(内部设计),并与全球供应商建立合作网络,以支撑大规模生产。
  • 专用制造设施 BotQ:公司自建的高产量制造工厂,首条生产线年产能达12,000台,计划四年内累计生产10万台。通过内部制造执行系统实现全流程追溯,确保质量与迭代速度。

4. 为全球规模化应用设计

  • 性能增强:执行器速度提升至两倍,扭矩密度提高,实现了更快的物体拾取与放置。
  • 商业适用性:先进的视觉感知和灵巧手部设计使其能智能导航复杂商业环境,并稳定抓取各类物体(如金属板、柔性包装袋)。
  • 高效运营:支持感应充电和高速无线数据卸载,可实现近乎连续的操作,并在休息时快速同步数据。
  • 企业定制:客户可为其机器人队伍定制制服、采用更耐用的材料,并可利用侧面的显示屏进行个性化品牌标识或作业识别。

总结:Figure 03 通过集成先进的感知与触觉智能、安全的家庭化设计以及为量产准备的制造体系,打造了一个能在家庭和商业环境中学习、适应和工作的通用机器人平台,旨在推动人形机器人从实验原型走向规模化产品。

10. Why Self-Host? (romanzipp.com)

为什么选择自托管?

本文阐述了自托管服务的核心原因、具体益处及实践建议,旨在倡导通过自托管实现对个人数据的控制和主权。

一、为何自托管:核心动机

1. 隐私保护

  • 核心观点:隐私并非与生俱来,需主动争取。大型科技公司和政府机构持续扩张监控范围。
  • 数据敏感性:详细论证了日常数据(日历、联系人、位置)的敏感性远超想象。
    • 日历:可泄露完整身份、社交关系、医疗健康、财务法律信息甚至政治倾向。
    • 联系人:社交图谱与元数据(如查询记录、创建时间)结合后,能推断出个人生活状态(如约会、就医)。
    • 位置:位置历史记录被持续收集且用户常不知情,威胁个人行为隐私。
  • 自托管价值:可有效减少甚至完全规避被监控的风险。

2. 数字主权

  • 核心观点:掌控自己的数据,决定其用途和分享对象。
  • 避免依赖:防止因大科技公司单方面封锁账户而丧失数据访问权,且难以获得人工客服支持。
  • 倡导开放协议:反对厂商锁定,推崇使用如SMTP、IMAP、CalDAV等开放标准协议,警惕厂商禁用开放协议的行为(如微软禁用Office 365的SMTP访问)。

二、自托管实践方案

文章提供了一系列具体的自托管应用建议,需注意多数服务需配合静态公网IP或安全远程访问方案。

1. 硬件基础

  • 作者使用公司提供的迷你服务器组建了高可用Kubernetes集群,体现了数字主权理念。

2. 日历与联系人服务

  • 意义:基于其数据敏感性,自托管CalDAV/CardDAV服务器至关重要。
  • 推荐方案
    • Baïkal:推荐首选,PHP开发,持续更新,支持多用户,高级Web界面。
    • Radicale:Python开发,简单,仅单用户,与苹果设备兼容性可能有问题。
    • Nextcloud:功能全面但过于臃肿。

3. 电子邮件服务

  • 挑战与现状:自托管邮件服务器传统上被认为复杂,但新工具(如Stalwart、Mailcow)已使其变得可行。
  • 关键建议
    • 服务器选择:需使用具有干净IP的VPS,并通过黑名单检查。
    • 配置与测试:正确配置DNS、DMARC、SPF、TLS等协议,并使用工具(如internet.nl)进行测试,避免邮件被归入垃圾箱。

4. 智能家居

  • 方案:自托管 Home Assistant
  • 价值
    • 保障主权:应对厂商破产、停止云服务、涨价或功能付费化。
    • 本地化控制:拒绝为仅本地使用的设备创建在线账户(如飞利浦Hue),并通过防火墙规则阻止设备外联。
    • 扩展功能:可集成能源监控等个性化项目。

5. RSS聚合器

  • 方案:自托管 FreshRSS 作为后端聚合器。
  • 搭配使用:与开源客户端 NetNewsWire 等配合,完成信息的去中心化订阅与管理。

6. 位置追踪器

  • 方案:自托管 Dawarich 服务。
  • 功能:用于收集和查看地理位置数据,并支持多种移动端App(如OwnTracks)发送位置。

三、未来展望与资源

  • 作者正将其家庭实验室升级为三节点的Kubernetes集群,以提升灵活性和承载能力。
  • 提供了一份待探索的自托管应用清单,包括:
    • EteSync:端到端加密的日历联系人。
    • Immich/Ente:自托管照片库,替代iCloud。
    • Passbolt:密码管理器。
    • BirdNET:利用麦克风与AI监测鸟类。
    • Penpot:开源设计工具。
  • 推荐资源网站 selfh.st,用于发现更多自托管应用。
11. Show HN: I've built a tiny hand-held keyboard (github.com)

手持和弦键盘(Keyer)项目概述

这是一个用于制作手持和弦键盘(Keyer)的项目,旨在提供一种高效、符合人体工程学的单手输入方案。

核心功能与特点

  • 极小手指移动:始终处于“主行”键位,提升输入效率。
  • 单手操作:打字时另一只手可自由活动(如操作鼠标、喝水)。
  • 便携佩戴:可固定于手套,随时释放双手。
  • 丰富输入选项:10键键盘可产生215种和弦组合,并支持滑奏(arpeggio)和多层映射。
  • 优化布局:提供布局优化工具,根据用户输入文本自动计算最佳键位安排。
  • 人体工学设计:避免难以按压的手指组合,提升舒适度。
  • 低延迟与长续航:固件采用硬件中断与软件去抖,支持睡眠模式,电池续航可达数月。
  • 易制作与低成本:使用陶土塑形,无需3D打印或定制PCB,材料成本低于50美元。

材料与制作流程

主要材料:LILYGO T-Energy S3开发板、18650电池、FIMO陶土、机械键轴(如Gateron)、键帽、铜线等。

制作步骤

  1. 骨架制作:用铜线构建结构框架,固定键轴并连接至开发板GPIO引脚。
  2. 陶土塑形:覆盖骨架并根据手型塑形,烘烤定型。
  3. 固件刷写:通过PlatformIO编译并上传固件,配置蓝牙连接。
  4. 布局优化:使用提供的Python工具,基于个人文本语料库(如聊天记录、文档)通过蚁群算法搜索最优键位布局。
  5. 肌肉记忆训练:通过内置网页工具练习和弦输入,逐步提升速度与准确率。

技术亮点

  • 布局优化算法:采用蚁群算法在庞大的布局空间中搜索高效方案,支持自定义手指按压成本函数。
  • 多设备兼容:可搭配智能眼镜实现免视输入,亦支持作为SSH终端原型(代码库中含初步实现)。

扩展与社区

  • 提供其他和弦键盘项目链接(如Penti、ESP32-BLE-Keyboard)。
  • 列出商用产品参考(如Twiddler、Decatext、Typeware)。
  • 鼓励用户分享自制键盘链接至Bluesky账号。

项目结构

  • layout_generator/:布局优化Python脚本。
  • src/:ESP32固件代码。
  • layout_tutor/:和弦打字学习网页应用。

该项目结合了硬件DIY、算法优化与人体工学,适合对高效输入与极客制作感兴趣的用户。

12. Doctorow: American tech cartels use apps to break the law (lithub.com)

文章摘要:科技垄断如何利用应用程序规避法律监管

本文的核心论点是,美国科技垄断企业利用应用程序的复杂性作为“保护罩”,系统性规避法律和监管,而行业的高度集中(垄断)是使这种策略得以奏效的关键前提。

监管的有效性依赖于竞争

  • 有效的监管依赖于一个由众多相互竞争的公司组成的分散化行业。竞争起到了关键作用:首先,它防止了企业“串供”以统一口径欺骗监管机构;其次,竞争侵蚀企业利润,使其缺乏资本和资源去压制或迂回应对其监管者。
  • 在技术高度复杂的社会,个人无法掌握所有专业知识来做出安全决策(如汽车刹车系统可靠性、食品安全、建筑安全等),因此需要依赖由中立专家主导的监管流程。这一流程类似于对抗性诉讼或同行评审,基于证据和多方质询来制定规则,并由司法系统作为后盾。

垄断导致“监管俘获”

  • 当一个行业从众多公司的“乌合之众”衰减为少数几家公司甚至单一公司时,行业的集体行动问题被打破。寡头或垄断企业的高管往往相互熟识,容易在政策优先级上达成一致,并维持信息纪律。
  • 通过划分市场、避免“毁灭性竞争”等手段,这些垄断企业积累了巨额资本,用于游说和影响政策。最终导致 “监管俘获”:监管机构被其本应监管的行业所“俘获”或削弱。
  • “监管俘获”具有双重面孔:一方面,被俘获的行业得以公然无视旨在保护公众、员工和环境的法规(对内监管不足);另一方面,监管机构与行业结成同盟,过度严厉地执行规则,以打击该行业的竞争对手、初创公司等(对外过度监管)。

科技公司的核心策略:“用应用程序犯罪就不算犯罪”

  • 科技公司规避监管最常用的策略是:通过应用程序实施违法行为,然后坚称由于行为是通过应用程序完成的,因此并未违法。应用程序的复杂性成为一层“迷彩”,允许公司声称其业务模式合法。
  • 文章列举了一系列案例:
    • Uber:声称自己不是雇主,因为是通过应用程序指挥工人。
    • Airbnb:将非法的、未受监管的酒店业务包装成应用程序平台。
    • 金融科技与加密货币:平台无视高利贷法或非法交易未注册证券,理由是“通过应用程序进行”。
    • Plexure(麦当劳支持):利用监控数据对消费者进行动态定价(如发薪日提高三明治价格),并辩称这不是欺诈。
    • RealPage:通过算法向房东提供“最低租金建议”,实质上协同推高区域租金,却声称这并非价格垄断。

更进一步的法律武器:反规避条款

  • 科技公司的策略不止于声称“用App犯罪不算犯罪”,它们还进一步主张:“用法律武器禁止他人修复或防御我们利用应用程序实施的犯罪行为。”
  • 这得益于知识产权法中的 “反规避”条款。这些条款原本旨在保护版权技术措施,但被科技公司利用,以打击那些试图“拆解”或“改善”其应用程序以消除有害功能(或“反特性”)的竞争对手或开发者。

总之,文章深刻揭示了在垄断格局下,科技巨头如何巧妙地将应用程序的复杂性转化为法律和监管的“灰色地带”,从而系统性逃避责任,并利用法律本身来巩固其垄断优势。

16. N8n raises $180M (blog.n8n.io)

n8n 完成 1.8 亿美元 C 轮融资,总融资额达 2.4 亿美元,估值 25 亿美元。本轮融资由 Accel 领投,Meritech、Redpoint 等跟投,NVIDIA 旗下 NVentures 和 T.Capital 等新投资者加入,原有投资方亦参与追加投资。

本次融资反映了行业的核心认知:人工智能竞赛不仅关乎更智能的模型,更关乎谁能可靠地将智能应用于实际业务中。

当前 AI 智能体平台主要分为两派:一派完全依赖 AI,通过提示词由模型自主决定逻辑,难以预测;另一派则采用严格的基于规则的路由方式,虽精确但需工程师编码,不适合业务用户快速迭代。n8n 的社区实践表明,两种极端都不理想。纯自主模式不可预测,纯规则模式则耗时且依赖开发者。

n8n 定位于两者之间,提供灵活的控制权,允许用户根据需求自主权衡智能体的自主程度、逻辑规则,并随着经验积累动态调整这一平衡。

要将智能体投入生产,还需两大关键要素:

  1. 编排:将智能体连接至实际工具与数据源,建立必要的人工监督环节,并设置监控与触发器以确保稳定运行。
  2. 协调:让理解业务需求的人员与构建解决方案的人员在同一个平台上实时协作。

缺乏这两点,企业容易陷入无尽的开发循环。n8n 证实的有效公式是:在同一平台上融合 AI、代码与人力。技术人员处理架构,领域专家进行配置和优化。成功的协调依赖于一个足够灵活的编排层,以适应需求变化。

n8n 自 2019 年创立,从自动化工具发展为 AI 编排与跨团队协作平台。其核心产品原则包括:

  • 灵活开放:支持任何模型、连接任何工具,并可部署于多种环境(云、私有服务器等)。
  • 平衡易用与强大:产品易于上手,同时能应对编排的固有复杂性。
  • 重视社区:承诺永不为社区设置访问限制,社区成员持续贡献视频、模板等资源。

发展现状与未来规划: 过去一年,n8n 用户增长 6 倍,收入增长 10 倍,并推出了评估、数据表等重要新功能。此轮融资将加速其产品路线图,包括:

  • 扩展集成生态。
  • 赋能生态系统自主构建和共享节点。
  • 演进产品界面以适应不同团队工作方式。
  • 持续优化平台,使其更易上手且更强大。 公司正招聘人才以支持发展。

n8n 的社区正在推动平台演变为生态系统,用户围绕 n8n 构建自身业务。公司计划通过教育、早期功能访问、商业合作和活动等方式支持社区进一步发展。

n8n 的最终愿景是成为构建与部署 AI 应用的默认平台,让利用 AI 智能体提升效率成为如使用 Excel 般普遍的技能。

17. Nobel Prize in Literature 2025: László Krasznahorkai (www.nobelprize.org)

2025年诺贝尔文学奖公告

2025年10月9日,瑞典学院宣布匈牙利作家László Krasznahorkai获得2025年诺贝尔文学奖。

获奖理由是:由于他引人入胜且富有远见的完整作品,在末日恐怖中重申了艺术的力量。

新闻稿还提及,2025年共颁发六个诺贝尔奖项,授予14位获奖者,其成就涵盖量子隧穿到促进民主权利等领域。此外,提供免费学习资源,包括视频和幻灯片,以探索2025年诺贝尔文学奖相关内容。

19. The React Foundation (engineering.fb.com)

React 基金会成立公告

背景与发展

React 由 Meta 于十多年前开源,旨在帮助开发者构建更好的用户体验。如今,它已成为全球最受欢迎的开源项目之一,支撑着超过 5000 万 个网站和产品(如微软、Shopify、Bloomberg 等公司使用)。通过 React Native,其应用范围已扩展至移动端、桌面端、电视、游戏主机及混合现实设备等多平台。

基金会成立与目标

React 生态系统的多个项目(包括 React、React Native 及 JSX 等)将正式移交至新成立的 React 基金会。该基金会隶属于 Linux 基金会,旨在维护供应商中立的开放环境。其主要使命包括:

  • 维护 React 的基础设施
  • 组织 React 大会(React Conf)
  • 推动支持 React 生态的倡议
  • 促进社区发展与合作

治理结构

基金会将建立明确的业务与技术治理分离机制:

  • 治理董事会:由亚马逊、Callstack、Expo、Meta、微软、Software Mansion 和 Vercel 的代表组成,未来计划扩大规模。
  • 技术治理:React 的发布、功能开发和技术方向将由独立于基金会的维护者与贡献者新架构主导。React 团队正积极制定该架构,详情将后续公布。

Meta 的承诺

Meta 与 React 基金会达成 五年合作,提供超过 300 万美元 的资金及专职工程支持,确保 React 平稳过渡至独立治理,同时保持社区期待的稳定与创新。Meta 将继续将 React 作为其网页及应用 UI 构建的主要工具,并维持专职团队全职投入 React 与 React Native 的开发。

未来展望

React 基金会将为生态系统带来新的协作、创新与增长机会。通过强化治理、扩大行业参与并保持技术卓越,React 正致力于应对 UI 开发领域的下一代挑战。

20. The Unknotting Number Is Not Additive (divisbyzero.com)

解开数在连通和下不具有可加性

核心概念

  • 数学纽结:三维空间中首尾相连的环状曲线。
  • 纽结投影:纽结在二维平面上的阴影图,用交叉处的断裂表示上下关系。
  • 解开数 u(K):将纽结 K 的投影通过改变最少数量的交叉(上下关系)变成平凡纽结(无结)所需的最小交叉改变次数。
  • 连通和 J#K:将两个纽结 JK 各剪开一处,并将剪开处的四个端点连接起来,形成一个新纽结。

长期猜想与反例

一个长期存在的猜想认为:对于任意两个纽结 JK,其连通和的解开数等于各自解开数之和,即 u(J#K) = u(J) + u(K)

Brittenham 和 Hermiller 在 2025 年的预印本中通过一个反例推翻了此猜想。反例正是 (2,7) 环面纽结与其镜像的连通和。

  • 已知(2,7) 环面纽结的解开数为 (2-1)(7-1)/2 = 3。其镜像的解开数同样为 3。
  • 预测:根据猜想,它们的连通和的解开数应为 3 + 3 = 6
  • 实际:Brittenham 和 Hermiller 证明该连通和的解开数为 5,小于 6。

证明关键

要证明该连通和的解开数为 5,需要找到一个投影,在其中改变 5 个特定交叉后能变为平凡纽结。Wang 和 Zhang 在另一篇预印本中给出了这个包含 56 个交叉的复杂投影,并指出了需要改变的 5 个交叉。

本文作者通过一系列复杂的图示,验证了在改变这 5 个指定交叉后,所得投影确实可以通过后续的简化步骤(雷德迈斯特变换)逐步变为平凡纽结,从而证实了该连通和的解开数确实小于 6。

21. Svelte’s characteristics that likely contribute most to improved performance (chuniversiteit.nl)

Svelte 最可能提升性能的特点

一项学术研究比较了 Angular (11.2.3)、React (17.0.1)、Vue (3.0.7)、Svelte (3.35.0) 和 Blazor (5.0.3) 的性能。尽管该研究发表于2021年,但其揭示的框架间差异模式仍具有参考价值。

理论背景与渲染策略差异

现代框架采用 MVVM 模式,通过两种主要方法同步组件树与 DOM 状态:

  1. 虚拟DOM (vDOM):用于 React、Vue 和 Blazor。通过比对新旧虚拟DOM树计算最小更新集,理论时间复杂度高,但在实践中常被简化。
  2. 数据绑定:用于 Angular 和 Svelte。框架直接跟踪数据绑定,组件更新其对应的 DOM 部分,无需额外的差异计算步骤。

关键性能考量点

  • 更新策略:框架遍历组件树以更新。Angular 总是遍历整个树;React/Blazor 遍历发起更新的子树;Vue 和 Svelte 只处理输出变化的“脏”组件。
  • 静态内容优化:能否识别并优化初始渲染后不变的静态内容,会影响性能。
  • 元素创建 vs. 更新:创建成本相似,但更新成本因策略而异。

基准测试结果

测试涵盖了创建静态元素、创建组件树、更新树根节点、更新叶节点以及更新含大量静态内容的组件树等场景。Svelte 在几乎所有基准测试中均表现最佳

  • 创建静态元素:Svelte 速度最快,尤其在大规模(n=50000)时优势巨大(Svelte: 63ms vs. React: 956ms)。
  • 更新树根节点:得益于基于绑定的渲染策略,Vue 和 Svelte 的耗时极短且几乎不随组件数量增长(对于 n=32768,Vue 和 Svelte 均 <1ms,而 Angular: 103ms,React: 379ms)。
  • 更新叶节点:仅 Angular 表现稍慢,因它仍执行全树检查。
  • 更新含静态内容的组件树:Svelte 显著领先(n=8192时,Svelte: 80ms vs. React: 841ms)。

其他发现

  • 基于 WebAssembly 的 Blazor 性能普遍最差,尤其在创建组件树时,这可能源于其 JavaScript 互操作层的开销。
  • Angular 的性能有时落后,部分原因是其变更检测总是遍历完整组件树。

Svelte 的性能优势核心

研究指出,Svelte 卓越的性能主要归功于以下三个关键特性:

  1. 响应式系统:自动检测数据变化并标记“脏”组件,仅对必要的部分进行更新。
  2. 优化的编译器:在编译阶段分析组件,生成的更新代码会忽略静态内容,减少运行时工作量。
  3. 基于绑定的渲染:直接更新 DOM,避免了虚拟DOM 差异计算带来的额外开销。

总结:该研究表明,Svelte 的编译时优化和基于直接数据绑定的渲染策略,使其在多项性能指标上超越使用虚拟DOM的主流框架,成为性能方面的佼佼者。

22. JSON River – Parse JSON incrementally as it streams in (github.com)

JSON River - 增量式流式JSON解析库

核心功能

JSON River (jsonriver) 是一个用于增量式流式解析JSON的JavaScript库。它允许在数据流式传输过程中(如网络请求或语言模型输出),逐块解析并生成一系列越来越完整的值

主要特点

  • 轻量快速:体积小、无依赖、仅使用JavaScript标准特性,适用于任何JS环境。
  • 流式解析:可处理ReadableStream等流式数据源,通过parse()函数返回一个AsyncIterable,逐步输出解析中的中间值。
  • 正确性保证:最终输出值与JSON.parse的结果完全一致,通过JSONTestSuite测试验证。对于无效输入或不完整流,会抛出错误。

使用示例

import { parse } from 'jsonriver';

const response = await fetch(`https://jsonplaceholder.typicode.com/posts`);
const postsStream = parse(response.body.pipeThrough(new TextDecoderStream()));
for await (const posts of postsStream) {
  console.log(posts); // 逐步输出更完整的JSON对象
}

增量解析行为

以JSON {"name": "Alex", "keys": [1, 20, 300]} 为例,逐字节输入时会依次输出:

{}
{"name": ""}
{"name": "A"}
...
{"name": "Alex", "keys": []}
{"name": "Alex", "keys": [1]}
...
{"name": "Alex", "keys": [1, 20, 300]}

注意:布尔值、null、数字等原子类型在解析完成前不会输出。

关键不变性规则(确保一致性)

  1. 类型一致性:后续输出的值类型不会改变(除对象键重复情况)。
  2. 原子值完整输出true/false/null/数字需完整后才输出。
  3. 字符串追加:仅通过追加字符来扩展字符串。
  4. 数组修改:仅通过添加新元素或修改最后一个元素来更新。
  5. 对象修改:仅通过添加新属性或修改最后添加的属性来更新。
  6. 对象属性完整添加:仅在键和值类型确定后才添加属性。
  7. 重复键处理:与JSON.parse行为一致,后出现的键值对会覆盖先前。

完整值回调(completeCallback

可通过选项设置回调函数,当某个值完全解析完成且不再被修改时被调用。

parse(stream, {
  completeCallback(value, path) {
    // value: 完成的值
    // path: 值在顶层对象中的位置路径(如['keys', 0]表示数组首个元素)
  }
});

注意:回调触发顺序与数据流入方式无关(确定性),路径信息按需惰性生成。

实用技巧

使用WeakMap跟踪已完整对象/数组:

const completed = new WeakMap();
parse(stream, {
  completeCallback: (value) => {
    if (value && typeof value === 'object') completed.set(value, true);
  }
});
// 渲染时可检查:completed.has(obj)

性能对比

  • JSON.parse:若不需流式处理,速度快约5倍。
  • stream-json:功能更丰富但速度慢10-20倍,适合仅需部分数据的场景。

开发相关

  • 安装依赖:npm install
  • 运行测试:npm test
  • 代码检查:npm run lint
  • 自动修复:npm run lint --fix
23. California passes law to ban ultra-processed foods from school lunches (www.gov.ca.gov)

加州通过法律禁止学校午餐中的超加工食品

核心立法

  • 加州州长加文·纽森签署 AB 1264法案,成为全美首部逐步淘汰学校中超加工食品(UPF)的法律。
  • 该法案首次为“超加工食品”提供了法定定义,旨在将“最受关注”的超加工食品从加州学校餐食中逐步淘汰。
  • 立法基于一个基本原则:学校不应提供可能危害学生健康或影响其学习能力的食品。

州长及立法者观点

  • 州长纽森 强调,加州在儿童健康与营养标准方面长期领先,此法延续了禁止有害添加剂和提升学校营养的既往工作。
  • 第一伴侣詹妮弗·西贝尔·纽森 指出,对许多学生而言,学校餐食是每天唯一可靠的正餐,因此质量至关重要。
  • 法案提出者、议员杰西·加布里埃尔 表示,这是历史性的一步,加州再次在联邦行动停滞时以两党合作、基于科学的方式引领全国。

加州在儿童健康饮食领域的领导举措

此法案是加州一系列开创性政策的一部分,包括:

  • 禁令与限制:此前已禁止销售含有红染料3号等有害添加剂的食品,并禁止学校提供含合成色素的食品。
  • 普遍学校餐食计划:加州是首个为所有公立TK-12学生提供每天两顿免费校餐的州,不考虑家庭收入。
  • 营养标准:2023年,加州首次将拜登政府新的联邦学校营养标准(减少糖和盐)写入州法律,并设定了维护标准的机制。
  • 其他保障措施
    • K-12校园长期禁止销售汽水。
    • 在任何年级均限制咖啡因摄入,而联邦仅对高中有限制。
    • 对主菜的售卖在卡路里、脂肪等方面有比联邦更严格的规定。
  • 近期活动:2024年签署多项法案以减少青少年加工食品消费并增加健康食品获取;通过“SUN Bucks”计划为超过400万儿童提供食品福利。

立法背景与重要性

  • 该法律呼应了州长纽森年初签署的行政命令,旨在限制与超加工食品相关的健康风险。
  • 健康数据支持:联邦疾控中心(CDC)报告显示,12至19岁青少年中约32.7%处于糖尿病前期;研究证实健康饮食可降低心脏病、中风等慢性病风险。
  • 加州的工作早于全国的“让美国再次健康”运动,并持续在儿童营养领域设定更高标准。
24. Julia 1.12 highlights (julialang.org)

Julia 1.12 版本亮点总结

Julia 1.12 版本正式发布,带来了多项语言核心、工具链、多线程和包管理方面的重要改进。以下是主要更新内容的概述。

编译与性能优化

  • --trim 裁剪功能:新的实验性功能,在编译系统镜像时裁剪静态不可达的代码,可显著改善编译时间和生成二进制文件的大小。使用时需搭配 --experimental 标志,通常通过 JuliaC.jl 包调用。
  • BOLT 优化构建:支持使用 LLVM 的二进制优化与布局工具(BOLT)来构建优化的 libLLVMlibjulia-internallibjulia-codegen。通过重新排序函数、分离冷热代码等优化,可提升运行时性能(部分工作负载提升约10%-23%)。

语言核心功能增强

  • 重新定义常量与结构体:通过将绑定纳入“世界年龄”机制,现在可以安全地重新定义 struct 等常量。旧代码可能需要在重新定义后重写关联函数才能适配新结构体。Revise.jl 正在开发自动重定义支持。
  • 新的跟踪标志与宏
    • --trace-compile-timing 标志:在 --trace-compile 输出中附加每个编译方法的耗时(毫秒),便于识别耗时编译。
    • @trace_compile@trace_dispatch 宏:无需重启 Julia 即可临时跟踪编译和动态分派。
  • @atomic 宏系列增强:新增对引用赋值语法(如数组索引 m[i])的支持,可直接对数组类引用进行原子获取、设置、修改、交换等操作。

多线程特性

  • 默认一个交互式线程:Julia 现在默认以 -t1,1 配置启动(1个默认线程 + 1个交互式线程)。交互线程池用于运行 REPL 等交互操作,使其能与用户代码并行执行,提升响应性。显式指定 -t1 则不会添加额外交互线程。
  • 线程设置尊重 CPU 亲和性:线程数(包括默认的 BLAS 线程)现在会正确遵守通过 cpusettaskset、cgroups 或 Docker --cpus 等设定的 CPU 亲和性,避免了过度订阅。
  • OncePerX 初始化类型:引入 OncePerProcessOncePerThreadOncePerTask 三种内置类型,以更安全、可组合的方式管理按进程、按线程或按任务仅执行一次的初始化逻辑。

开发者工具与调试

  • Wall-time 性能分析器:新的任务采样分析器,独立于调度状态对任务进行采样,可更轻松地识别 I/O 瓶颈和同步竞争源(如阻塞多个任务的通道或锁)。
  • --task-metrics=yes 选项:启用后可收集每个任务的计时信息,包括实际运行时间 (task_running_time_ns) 和从调度器感知到任务完成的总时间 (task_wall_time_ns)。
  • 测试中复现 RNG 状态:当 @testset 中的测试失败时,现在会打印最外层测试集的随机数生成器(RNG)状态。开发者可在后续测试中通过设置 rng 参数精确复现该次运行,辅助调试间歇性失败。

包管理器(Pkg)新功能

  • 工作空间:允许一组项目(如主项目、测试、文档、基准)共享同一个清单文件。包管理器在解析依赖时会综合考虑所有项目的要求,特别适用于单体仓库开发。
  • 应用:Julia 包可以定义为可直接从终端运行的应用程序。通过在 Project.toml[apps] 部分声明,并在代码中提供 @main 入口点,安装后即可作为命令行工具使用。
  • 状态显示高亮Pkg.status() 现在会高亮显示已加载的包版本与当前环境指定的版本不匹配的情况(显示为黄色),提示用户可能需要重启 Julia 以加载正确版本。

LLVM IR 与底层互操作改进

  • 生成的 LLVM IR 中,Ptr{T} 现在会降低为真正的 LLVM 指针类型(如 ptri8*),而非整数(如 i64)。这简化了底层互操作,llvmcall 不再需要 ptrtoint/inttoptr 转换,ccall 中直接传递 Ptr{T} 即可映射为 LLVM 指针类型。

致谢:本版本的准备工作部分由 NASA 资助。

25. The fight between doctors and insurance companies over 'downcoding' (www.nbcnews.com)

Doctors say that insurers are automatically downgrading their claims and paying less. Fighting back takes time and money — and could hurt patient care in the end.

26. Palisades Fire suspect's ChatGPT history to be used as evidence (www.rollingstone.com)

根据美国司法部周三宣布的信息,29岁的佛罗里达州男子乔纳森·林德克内希特因涉嫌与1月份致命的洛杉矶帕利塞德斯大火有关而被捕。这场大火造成12人死亡,成为加州历史上最具破坏性的野火之一。

林德克内希特被控“纵火毁坏财产”重罪,面临最低5年、最高20年的联邦监禁。检方指出,除其手机中的证据、对调查人员的虚假陈述以及其在引发“拉赫曼大火”中的行为外,其与ChatGPT的交互记录也将作为“数字证据”提交法庭。

调查显示,大火发生前数月,林德克内希特曾要求ChatGPT生成“描绘燃烧森林与人群逃离的反乌托邦画作”,生成的多个图像版本中甚至包含建筑物被火焰吞没的场景。检方暗示,这些图像可能被用于证明其存在纵火的预谋意图。目前尚不清楚这是否是首次在刑事案件中使用用户的ChatGPT历史记录作为证据。

根据案件细节,林德克内希特在元旦午夜恶意点燃了帕利塞德斯一处山火(拉赫曼火情),该火情虽被消防员控制,但在地下根系阴燃,直至1月7日受到极端圣安娜风影响而复燃并蔓延,最终演变为帕利塞德斯大火。

此案也凸显了AI聊天记录在法律证据领域的新兴地位。OpenAI的政策表明,其仅在法律程序要求下提供特定用户数据。有专家指出,美国及海外法官的裁决正逐步确立AI聊天记录属于可被发现的证据,这些记录能为洞察个人心理状态提供线索。

27. Post office in France rolls out croissant-scented stamp (www.ctvnews.ca)

法国一家邮局推出了一款带有可颂面包香味的邮票。这则信息发布于一个包含多领域新闻的聚合页面,该页面还包括加拿大及国际的各类头条新闻,涵盖政治、社会、商业、体育、生活方式等广泛内容。页面同时附带购物趋势指南等非新闻性内容。

28. Kurt Got Got (fly.io)

Fly.io Twitter账户钓鱼攻击事件分析

事件概述

Fly.io公司Twitter账户(@flydotio)因CEO Kurt Mackey遭受钓鱼攻击而被盗。事件发生后团队迅速察觉,但攻击者通过篡改账户设置(如绑定新邮箱和设置2FA)导致账户恢复耗时约15小时。攻击未造成核心基础设施或用户数据泄露,主要影响为临时性社交媒体失控和品牌声誉风险。

攻击手法与成因

钓鱼方式:

  • 攻击者伪造Twitter官方安全警报邮件,诱导Kurt点击虚假登录页面。
  • 邮件内容针对其管理层心理弱点:因公司启用年轻员工运营的“dank memes”内容,Kurt对不理解的网络流行文化产生焦虑,从而降低警惕性。

根本原因:

  1. 未启用防钓鱼认证:Fly.io内部基础设施已通过SSO(如Google)和FIDO2等防钓鱼MFA保护,但Twitter账户作为“遗留共享账户”仅依赖1Password管理的密码和常规2FA,未强制使用Passkeys或防钓鱼硬件密钥。
  2. 安全边界认知偏差:团队未将Twitter视为关键资产,导致安全措施滞后。
  3. 技术疏忽:1Password浏览器插件本可识别伪装域名(members-x.com),但未被有效利用。

响应过程与影响

  • 快速发现:攻击后数秒内,多名员工收到邮箱变更通知,立即启动应急响应。
  • 隔离账户:紧急撤销1Password访问权限,联系Kurt确认事件。
  • 账户恢复:因攻击者锁定2FA,需等待Twitter官方介入,恢复过程耗时约15小时。
  • 有限损害:攻击者发布虚假加密货币诈骗链接(未造成实际资金损失),一度删除全部推文历史,但未涉及客户数据或基础设施渗透。

安全教训与改进

  1. 防钓鱼MFA至关重要:密码和短信验证码易被代理攻击绕过,应全面启用FIDO2或Passkeys等防钓鱼认证。
  2. 统一安全标准:所有对外服务(包括社交媒体)需与内部系统采用相同安全策略,避免“遗留账户”成为短板。
  3. 安全意识培训局限性:单纯依赖“不点击链接”教育效果有限,需通过技术手段(如浏览器扩展、域名检测)构建防护层。
  4. 资产重要性评估:任何对外账户均可能成为攻击入口,需纳入整体风险管理。

后续措施

Fly.io已将Twitter账户切换为Passkeys认证,并计划将此次事件纳入SOC2审计样本。团队同时考虑调整社交媒体策略,包括加强内容审核或放弃部分平台运营。

29. Why are so many pedestrians killed by cars in the US? (www.construction-physics.com)

美国行人死亡率持续上升的原因分析

2023年,美国有超过7300名行人死于车祸,占当年全部交通死亡人数的约18%。自2009年以来,美国行人死亡人数激增78%,远高于非行人交通死亡人数13%的增幅,且这一趋势在其他高收入国家并未出现,表明问题可能具有美国特殊性。

主要现象与数据特征:

  • 地理分布: 死亡事件集中在大都市区域,西部和南部各州人均死亡率较高,但几乎全美各州均呈上升趋势。
  • 道路类型: 死亡人数增长几乎全部发生在城市道路,农村道路死亡人数基本持平。
  • 时间特征: 事故在一天中的时间、一周中的某天或一年中的季节分布上未发生显著变化,夜间死亡比例略升。
  • 年龄特征: 受害者中,30-39岁60-79岁年龄段的死亡人数增幅最大(分别增长153%和119%),而10岁以下儿童死亡人数显著下降。驾驶员方面,各年龄段死亡人数均有上升,以30-39岁和60-79岁增幅最高。

主要假设与证据评估:

  1. 大型SUV与卡车普及假说:

    • 支持证据: 多个州的数据显示,行人事故的致死率(死亡人数占总事故比例)显著上升。例如,伊利诺伊州行人事故数量下降,但死亡人数增加,表明事故变得更致命。保险协会研究也证实,车身更高、前端更平的车辆导致行人死亡风险更高。
    • 矛盾点: 涉及轿车(如本田思域、丰田卡罗拉)的行人死亡人数也同步大幅增加,尽管这些车型的销量并未增长。这提示可能还有其他因素导致事故致命性普遍提升。
  2. 手机分心驾驶假说:

    • 证据不足: 各州数据显示,“驾驶员分心”作为事故原因的比例没有一致上升趋势,部分州甚至下降。整体交通事故数量也未出现与行人死亡增长对应的普遍上升。此外,在绝大多数行人死亡案例中,驾驶员未被认定为分心或被指控违规。
  3. 其他因素:

    • 药物使用: 事故中涉及驾驶员药物使用的情况虽增幅较大,但占比仍极小。行人自身药物使用显著上升,但同样只占很小一部分。
    • 行人行为: 约2/3的死亡案例中,行人被认定存在“未让行”、“闯入车道”等不当行为。但数据多来自驾驶员陈述,可能无法全面反映情况。
    • 车速: 事故中涉及超速的比例未发现显著上升趋势。

结论与未解问题: 现有证据最强地支持**车辆大型化(SUV/卡车)**导致行人事故更致命的理论,这也能解释为何该问题主要出现在美国。然而,该理论无法完全解释为何轿车相关的行人死亡也在增加,以及为何死亡增长集中在城市而非农村。手机分心假说缺乏数据支持,但也不能完全排除。行人药物使用等因素可能有一定影响,但非主因。

问题的复杂性表明,可能涉及多种因素的共同作用,或存在尚未被充分识别的变量。进一步研究城市间差异(如波士顿和西雅图死亡率较低)可能是理解问题的关键。

30. Pointer Pointer (2012) (pointerpointer.com)

Pointer Pointer (2012)

Pointer Pointer (2012) 是一个2012年的网站项目,域名为 pointerpointer.com。网站描述指示用户保持静止,以便系统定位其光标(指针)。该网站包含一个示例图片(like3.jpg)。

31. Two things LLM coding agents are still bad at (kix.dev)

LLM编码代理仍不擅长的两件事

作者近期重新尝试使用LLM进行编码辅助,但发现与LLM协作时存在明显的不协调感。他指出两个关键原因,说明LLM编码代理尚未达到理想水平。

1. LLM不擅长代码复制与粘贴

  • 问题描述:当要求LLM重构大型文件为更小文件时,它们不会使用真实的复制粘贴工具。相反,LLM会从内存中“记住”代码块,然后使用删除工具移除旧代码,并用写入工具从记忆中输出提取的代码。这类似于模拟复制粘贴,但并非实际操作。
  • 与人类的差异:人类开发者依赖复制粘贴来确保代码移动的准确性,而LLM的方式感觉不自然且容易出错。
  • 示例:Codex有时会尝试使用sedawk命令来模拟复制粘贴交互,但效果并不一致。

2. LLM不善于提问

  • 问题描述:LLM在解决问题时倾向于做出大量假设,并基于这些猜测强制执行方案,而不是像人类开发者那样在不确定或面临重大更改时暂停并提问。它们会持续尝试直到遇到障碍,然后继续盲目尝试。
  • 提示工程的作用:通过精心设计的提示(如Roo工具所做的),可以引导LLM提出更多问题,但成功率较低。
  • 推测原因:构建LLM的公司可能基于让编码更“快”的强化学习目标进行优化,这可能影响了它们主动询问的行为。

总结

作者认为,这些缺陷表明LLM编码代理更像是“古怪、过度自信的实习生”,而非能替代人类开发者的成熟工具。它们目前无法完全适应人类编码的协作方式,因此无法实现真正意义上的“vibe coding”。

32. WinBoat: Windows apps on Linux with seamless integration (www.winboat.app)

WinBoat:在Linux上无缝运行Windows应用

概述

WinBoat是一个开源项目(MIT许可),旨在让用户在Linux系统上无缝集成并运行Windows应用程序。它通过容器化技术(Docker或Podman)和远程桌面协议(FreeRDP)来实现。该项目目前处于测试阶段,可能会遇到一些问题和错误。

系统要求

在使用前,请确保系统满足以下硬件要求

  • 内存(RAM):至少4 GB
  • 处理器(CPU):至少2个CPU线程
  • 存储空间:所选安装文件夹所在驱动器至少有32 GB可用空间
  • 虚拟化:需在BIOS/UEFI中启用KVM

软件要求

  • 容器工具:需要安装Docker(包括Docker Compose v2)或Podman(包括Podman Compose)。
    • 重要提示不支持Docker Desktop
    • 对于Docker,用户需被添加到docker组,并且Docker守护进程需要运行并在启动时启用。
  • 远程桌面客户端:需要安装带有声音支持的FreeRDP 3.x.x版本。

主要特点与功能

  • 集成化体验:与手动配置较多的WinApps相比,WinBoat在满足先决条件后能自动完成大部分设置,并提供一个统一的图形界面,无需记忆复杂的命令行或手动修改配置文件。
  • 兼容性:能够运行在WINE或CrossOver上表现不佳甚至无法运行的软件,例如Adobe套件、Affinity Photo、Paint Tool Sai v1.0、Microsoft Office等。
  • USB直通:从0.8.0版本开始,作为实验性功能支持USB设备直通。用户可将USB设备连接到Linux主机,并在Windows虚拟机中直接使用相关配置软件。
  • Podman支持:从0.9.0版本开始支持Podman作为Docker的替代方案,但该版本下Podman的USB直通功能尚不支持。
  • 许可证:WinBoat本身不提供Windows许可证。它下载的默认ISO是Windows的试用版,用户需要自行提供有效的许可证密钥进行激活。

当前限制与未来计划

  • GPU加速/直通:目前不支持。团队计划未来通过准虚拟化驱动(paravirtualized drivers)实现GPU加速。他们正在关注相关的驱动项目(如MVisor Win VGPU Driver),但其兼容性和稳定性尚不成熟。
  • 显示技术:目前使用FreeRDP作为显示方案。团队正在研究Looking Glass的间接显示驱动(Indirect Display Driver)以期在未来提供更高性能、高刷新率的显示流传输,但该技术目前尚未就绪。
  • 游戏反作弊:无法运行那些使用内核级反作弊技术的游戏,因为此类技术会阻止虚拟化环境运行。
  • Flatpak分发:将WinBoat发布为Flatpak应用已被列入计划,但由于Flatpak的隔离特性,需要解决暴露主机系统资源(如Docker/Podman二进制文件、套接字等)的挑战。

贡献与支持

项目欢迎社区贡献。贡献方式包括:

  • 浏览并参与代码仓库开发。
  • 通过Ko-fi进行捐赠。
  • 使用提供的XMR地址进行捐赠(请注意,通过XMR捐赠后需手动在Discord通知开发者以获得捐赠者角色)。

常见问题答案摘要

  • 能否运行Office 365? 是的,可以。
  • 与WinApps的核心区别? WinBoat提供自动化设置和一体化的体验界面。
  • 与WINE/CrossOver的区别? WinBoat能运行这些工具不兼容的软件,并提供完整的Windows桌面环境。
  • 会激活Windows吗? 不会,需用户自带许可密钥。
  • 能配置外设吗? 支持USB外设(从v0.8.0起)。
33. I/O Multiplexing (select vs. poll vs. epoll/kqueue) (nima101.github.io)

I/O复用:select、poll与epoll/kqueue对比

概述

I/O复用是一种通过单个事件循环处理多个输入/输出事件的概念,常使用系统调用如selectpoll(Unix)。现代替代品如epoll(Linux)和kqueue(macOS)是内核系统调用,提供高效的可扩展I/O事件通知机制。它们允许应用程序订阅内核事件,并在事件发生时收到通知,适用于处理高并发连接的场景(如web服务器)。

select的局限性

select用于监视文件描述符,但存在以下问题:

  • 性能差:时间复杂度为O(n),其中n是监视的最大文件描述符编号。每次调用都会循环检查从0到nfds-1的所有描述符。
  • fd限制:默认最大文件描述符数为1024(FD_SETSIZE)。如果监视超过此限制的描述符(如2000),会导致读取垃圾数据或栈损坏,甚至进程崩溃。
  • API繁琐:需要设置位字段(fd_set),使用不直观。

poll的改进

poll作为select的替代品,于1986年引入,解决了部分问题:

  • 无fd限制:支持更多文件描述符。
  • 更清晰的API:使用pollfd结构数组,直接指定感兴趣的文件描述符和事件。
  • 性能仍为O(n):仍需循环检查所有传入的文件描述符,效率未根本改善。

kqueue的优势与用法

kqueue是2000年引入的可扩展事件通知接口,设计目标为高效、灵活和可靠。关键概念包括:

  • kevent结构:由<ident, filter>对标识,ident为文件描述符,filter为内核过滤器(如EVFILT_READEVFILT_WRITE)。事件通过EV_SET宏注册。
  • 标志:用于管理事件队列,如EV_ADD(添加)、EV_DELETE(删除)、EV_ENABLE(启用)和EV_DISABLE(禁用)。
  • kqueue创建:通过kqueue()系统调用创建空队列。
  • kevent系统调用:用于添加/修改/删除事件或等待事件发生。它支持设置超时,并允许重新添加事件以修改参数而不重复。
  • 事件循环:在无限循环中调用kevent()等待事件,返回后处理事件(如接受连接或读取数据)。

kqueue通过内核级优化避免了O(n)循环,适合高并发场景。它提供了标准API,使应用程序能高效注册和接收事件通知。

总结

  • selectpoll均为传统I/O复用方法,存在性能或限制问题。
  • epoll(Linux)和kqueue(macOS)是现代替代品,提供可扩展的事件通知机制,适用于高并发应用。
  • kqueue通过事件驱动模型和内核优化,显著提升了处理效率和可靠性。
34. Designing a Low Latency 10G Ethernet Core (2023) (ttchisholm.github.io)

本文介绍了一个针对FPGA开发低延迟10G以太网核心的个人项目,旨在深入探索低延迟FPGA设计与高速以太网技术。该设计的关键性能指标是实现了低于60纳秒的环回延迟,这一结果已与商用方案相当。

本系列文章将重点探讨与“标准”设计不同的独特方面,包括:

  1. 使用 cocotb 和 pyuvm 进行功能验证的方法。
  2. 为降低数据包处理延迟而实施的具体技术。
  3. 对市面上商用低延迟及“超低”延迟以太网核心的分析
  4. 延迟的测量结果与性能对比
  5. 讨论未在本设计中实施的其他潜在技术。

文章最后为不熟悉物理层和数据链路层以太网的读者推荐了相关的学习资源,包括10G以太网层1概述、IEEE 802.3标准、64B/66B编码概述等。

35. McKinsey wonders how to sell AI apps with no measurable benefits (www.theregister.com)

麦肯锡报告指出,软件即服务(SaaS)供应商在通过人工智能(AI)功能变现时面临三大核心挑战,需谨慎调整商业模式。

主要挑战:

  1. 缺乏可量化的投资回报:许多厂商宣传AI的潜在用途,但仅30%能提供来自实际客户部署的可量化投资回报数据。客户普遍认为AI推高了IT成本,却未能相应削减人力开支。
  2. 采用率难以规模化:企业在AI模型开发上投入巨大,但在变革管理(如用户培训、绩效监控)方面投入不足。报告建议,模型开发每花费1美元,需预期在变革管理上投入3美元。
  3. 定价模式不透明且不可预测:客户难以根据使用量预测AI成本,因为定价模型往往复杂、模糊。

定价策略建议: 报告重点探讨了定价结构优化,而非探讨是否广泛集成AI:

  • 传统的按用户月费订阅模式可能延续,但供应商需融入基于消费的定价元素。
  • 许多厂商正采用混合定价模式(例如设置容量上限,超出部分按吞吐量计费)。但需频繁调整,因AI能力迭代迅速。
  • 需谨慎选择定价单位:如按用户固定费加容量上限(如微软Copilot)、按任务收费或按结果(如每个合格销售线索)收费。
  • AI推理成本正快速下降(过去两年大型语言模型交付成本年降超80%),供应商需平衡收费与采用增长。

市场变化:

  • 采购决策正从IT部门转向业务部门负责人。他们更关注价值与成果而非功能特性,且在人员投入与AI部署间权衡预算。这对供应商的销售策略提出了新要求。

综上,麦肯锡认为SaaS供应商需在展示明确价值、管理客户预期、设计灵活透明的定价模型方面做出根本调整,以在AI时代实现可持续增长。

36. MicroPythonOS – An Android-like OS for microcontrollers (micropythonos.com)

MicroPythonOS 摘要

MicroPythonOS 是一个轻量级、快速且多功能的操作系统,专为在微控制器(如 ESP32)和桌面系统上运行而设计。它提供了类似 Android 的现代触摸屏用户界面、应用商店(App Store)以及空中下载(OTA)更新功能,适合创新者和开发者使用。

支持硬件

  • Waveshare ESP32-S3-Touch-LCD-2:完全支持。
  • Matouch ESP32-S3 SPI IPS 2.8 with Camera OV3660:完全支持。
  • Fri3d Camp 2026 Badge:即将推出。
  • Lilygo T-Watch S3:受支持,类似 T-Watch S3 Plus。
  • Lilygo T-Watch S3 Plus:受支持,但部分功能(如 LoRa、GPS)即将推出。
  • Lilygo T-Watch Ultra:即将推出。
  • Matouch ESP32-S3 Parallel IPS with Touch 2.8:即将推出。
  • Your Device:即将支持。

用户可联系开发者请求自定义应用或设备支持。

关键特性

  • 可在 ESP32 微控制器和桌面系统上运行。
  • 具备类似 Android 的触摸屏用户界面和手势支持。
  • 内置应用商店,便于访问应用程序。
  • 支持空中下载(OTA)更新。
  • 兼容触摸屏、惯性测量单元(IMUs)和摄像头。
  • 性能快速且轻量。

主要优势

  • 基于 MicroPython 原生开发,简化开发流程。
  • 跨平台兼容性,从微控制器到桌面系统。
  • 轻量设计,适用于资源受限的设备。
  • 执行快速,启动时间短。
  • 现代触摸屏支持,包含手势功能。
  • OTA 更新实现无缝维护。

可能应用场景

  • 构建物联网(IoT)设备,如智能家居控制器。
  • 创建具有交互式显示的教育工具。
  • 开发基于比特币闪电网络的去中心化支付系统。
  • 设计便携式触摸屏设备。
  • 利用 IMUs 和摄像头驱动机器人技术。
  • 制作具有手势控制功能的智能可穿戴设备。
  • 轻松原型化 DIY 项目。
37. Apple defined ICE as a "protected class" in blocking anti-ICE apps (boingboing.net)

苹果将美国移民与海关执法局(ICE)列为内部“受保护阶级”,成为其移除相关应用程序的依据。根据《Migrant Insider》获得的内部邮件,苹果在移除一款名为“DeICER”的应用时,依据其App审核指南第1.1.1条,该条款禁止针对“宗教、种族、性取向、性别、民族/族裔起源或其他受保护群体”的“诽谤性、歧视性或恶意内容”。苹果声称,执法部门提供的信息表明该应用通过提供执法官员位置信息,可能被用于伤害这些官员,因而违反了该条款。

开发人员在上诉中强调,“DeICER”是用于教育和合法公民参与的工具,并不具备实时跟踪或定位执法官员的功能,用户输入的信息仅代表单一时间点。然而,苹果上诉委员会驳回了上诉,维持移除决定,理由与最初相同。

此事件引发了对苹果政策一致性和潜在影响的担忧。文章回顾了苹果过去曾抵制权威法律要求并宣传隐私功能的历史,但指出其决策过程向来不透明。前苹果员工Wiley Hodges质疑,苹果是否会轻易同意未来执法部门的其他请求,例如降低法律遵从指南的标准、向政府提供下载相关应用用户的身分信息,或屏蔽反对现任政府观点的播客。他认为,在没有明确证据表明苹果坚守合法行动和正当程序原则的情况下,这些问题值得深思。

此外,文章通过历史类比(如1925年媒体对三K党游行的报道)和时事链接,间接强调了在强大压力下维护原则的重要性。

38. First device based on 'optical thermodynamics' can route light without switches (phys.org)

A team of researchers at the Ming Hsieh Department of Electrical and Computer Engineering has created a new breakthrough in photonics: the design of the first optical device that follows the emerging framework of optical thermodynamics.

39. Dark patterns: Buying a Bahncard at Deutsche Bahn (www.ketzu.net)

摘要:德铁(Deutsche Bahn)购买BahnCard中的“黑暗模式”

本文作者通过亲身经历,详细揭露了德国国营铁路公司德铁在销售其BahnCard(铁路折扣卡)过程中所使用的“黑暗模式”,并对比了Adobe和德国电信等公司的透明做法,批评德铁的策略具有误导性,损害消费者权益。

黑暗模式定义与对比案例

  • 黑暗模式:指一种旨在诱导用户购买、执行或允许其本不想要的事情的设计机制,常见于订阅服务中,例如隐藏真实费用、强迫持续订阅等。
  • 对比案例
    • Adobe:在网站上明确区分“年度订阅”和“月度订阅”,并使用“€/月”或“€/年”的清晰单位。
    • 德国电信:在宣传订阅服务时,会以显著字体标明初始折扣价和后续较高价格。
    • 两者均在销售过程中清晰说明了服务的订阅性质价格周期

德铁BahnCard销售过程中的问题

作者以购买一等座BahnCard 50(含试用版)为例,指出德铁存在以下问题:

  1. 关键信息隐藏

    • 网站广告仅显示一个固定价格(例如折扣价),未提及这实质上是一个自动续订的年度订阅
    • 虽然提供了“更多信息”链接,但其详情页和常见问题解答中并未提及“订阅”(Abonnement)一词。
    • 在整个购买流程中,最清晰的一次提及出现在用户点击“立即购买”后的页面中部,且仅为文本形式,无任何视觉突出。
    • 最终销售确认页避免使用“订阅”一词,而是以“自动延长一年”的描述替代,且未将价格标注为周期性费用(如“492€/年”)。
  2. 购买后确认信息缺失

    • 确认邮件和欢迎邮件中均未包含“订阅”、“续订”、“价格”或“取消”等关键信息,导致用户难以意识到自己购买了订阅服务。

用户发现与取消订阅的障碍

  1. 难以辨认订阅状态
    • 账户中名为“Aboportal”(订阅门户)的页面并未列出BahnCard订阅。
    • 只有在BahnCard详情页面中,通过点击特定选项才能看到“取消订阅”的入口,而“BahnCard Business”则明确标注非订阅。
  2. 苛刻的取消条款
    • 取消必须在有效期结束前四周提交。
    • 续订通知邮件仅在到期前三周发出,此时已无法取消
    • 在线取消系统会自动回复,直接告知用户无法按要求时间取消,并为其安排下一年度服务。

联系客服与法律争议

  • 作者尝试通过邮件联系德铁客服,解释自己从未获得清晰订阅信息且不希望续订,但收到的是标准化的模板回复,坚持其政策并拒绝提前取消。
  • 文章提到,消费者保护组织曾就类似问题起诉德铁,但法院认为BahnCard是折扣卡而非产品/服务订阅,因此不适用相关消费者保护条款。

作者总结与批评

作者强烈批评德铁的做法:

  1. 作为国家控股公司,德铁无明显市场声誉压力,缺乏改进销售策略的动力,但其行为却损害了消费者对“国营”企业的信任。
  2. 作为环保交通核心,这种令人感到被欺骗的体验会迫使像作者这样的人选择驾车出行,反而不利于环保交通的推广。
  3. 整个事件给作者带来了巨大的时间、精力和情绪成本,尽管损失金额(500€)可能不算最高,但过程的烦恼和不公平感非常强烈。
40. Incident with Webhooks (www.githubstatus.com)

2025年10月9日14:35至15:21 UTC期间,因一台维修中的网络设备被提前重新投入生产,导致网络流量出现严重数据包丢失,引发了GitHub多项服务的中断。

此事件影响了多个核心服务:Webhooks、API请求、Issues、Pull Requests、Git Operations、Actions 和 Pages。具体表现为:GitHub Web界面用户在最初5分钟内遭遇延迟增加;API用户错误率最高达到7.3%,之后稳定在约0.05%;约24%的Actions运行被延迟,平均延迟13分钟;大文件存储请求错误率略有上升(0.038%)。

事件发生后,团队逐步排查并确认了故障网络组件,于15:25将其移除,系统随即开始恢复。各项服务陆续恢复正常:Webhooks于15:43恢复,Git Operations于16:04恢复,Pages于16:08恢复,Actions于16:24恢复。至16:40,所有服务完全恢复正常运营。

为防止类似问题再次发生,GitHub表示将增强对此类设备维修的验证流程。

41. Portland is not burning. Here's live context and sourced fact checks (isportlandburning.com)

关于“波特兰正在燃烧”声明的事实核查与实时背景

该网站(IsPortlandBurning.com)旨在提供实时背景信息和基于来源的事实核查,以回应近期关于俄勒冈州波特兰市状况的一些声明。

核心信息

波特兰并未燃烧。 网站通过多个公共摄像头提供实时直播,展示了一个平静、日常的波特兰,以及和平抗议活动的真实情况。

实时城市视图

网站嵌入了多个实时摄像头,包括:

  • KATU 市中心空中摄像
  • City Liquidators 视角
  • Touchmark in the West Hills 视角
  • KOIN 塔直播
  • TiliCam(来源:All Classical Radio)
  • 先驱法院广场直播 这些实时画面均显示城市日常运作平静。

近期声明的事实核查

网站针对特朗普政府近期关于波特兰的声明提供了简要、有来源的反驳:

  1. 声明:“波特兰正在燃烧殆尽。”

    • 事实: 今天在南滨水区ICE设施附近的抗议活动仅限于几个街区。消防部门报告称没有大型火灾或呼叫量增加。
  2. 声明:法官是“他的法官”,且本应作出不同裁决。

    • 事实: 法官卡琳·伊默古特(特朗普任命)发布了最初的命令,阻止部署。今天,第九巡回法院的一个小组部分暂停了她的裁决,允许俄勒冈州国民警卫队保持联邦化状态,但并未允许部署到波特兰。
  3. 声明:《美国法典》第十编允许如目前所用的联邦军队部署。

    • 事实: 第九巡回法院的暂停令仅解除了将俄勒冈州国民警卫队联邦化的禁令,并未解除向波特兰部署任何警卫队的禁令。禁止从任何州部署军队的更广泛限制令仍然有效。
  4. 声明:加州警卫队仍可被派往波特兰。

    • 事实: 禁止将任何州的警卫队部署到波特兰的命令仍然有效。根据当前裁决,加州的部队依法不得进入。

(事实核查信息更新于2025年10月8日)

其他信息

  • 当前火灾事件: 网站嵌入了PulsePoint的公共视图,展示波特兰消防救援队的实时事件数据(近乎实时,仅供参考)。
  • 关于页面: 说明该页面汇总公共信息(实时事件视图、公共摄像头源、有来源的事实核查)以提供背景。它并非官方信息来源。紧急情况请拨打911。数据与嵌入内容属于其各自所有者,根据公开条款使用。网站不使用跟踪cookies,无广告。
42. I played 1k hands of online poker and built a web app with Cursor AI (blog.rchase.com)

文章摘要:使用Cursor AI玩转千手在线扑克并构建Web应用

核心经历

作者在过去两周主要于PokerStars在线平台和当地赌场玩扑克,并在https://poker.rchase.com公开展示了其最近1000手的记录。期间投入大量时间使用PokerTracker 4进行复盘,阅读6本书籍研究策略,并在Apple Notes中记录心得。

扑克学习的目标

作者强调,玩扑克并非主要为了盈利(目前为低注额初学者),而是为了自我提升

  • 情绪智力:感知自身及他人情绪。
  • 自我调节:控制情绪,避免影响决策。
  • 韧性:不因下风期而放弃。
  • 谦逊:避免在大赢后过度自信。
  • 资金管理:学习风险管理,遵循纪律(如单日投入不超过总资金的10%)。 作者认为,成功在于根据当时信息做出良好决策,而非单次结果,并将此与生活和商业经验相类比。

使用AI构建Web应用

工具与过程

作者最初编写Python脚本自动化从PokerStars导出手牌历史、导入PokerTracker 4等流程。随后,在Grok AI的协助下改进脚本,并最终在Cursor AI(一款编程辅助工具)中与AI代理对话,用时2-3天构建了一个功能完善的Laravel MVP网络应用(类似PokerTracker 4桌面版)。

应用功能

该应用包括以下核心功能:

  • 管理员仪表板
  • PokerStars和Gmail集成
  • 复杂的手牌历史文本文件解析器(超过700行代码)
  • 扑克统计计算(如VPIP、PFR、3-Bet)
  • 日志管理(CRUD操作,记录存款/取款)
  • 手牌文件管理(支持多文件上传和文本粘贴)
  • 定期余额检查(如每15分钟自动导出手牌)
  • 通过Gmail IMAP自动导入手牌
  • 手牌历史表格与单手查看器
  • 盈亏图表 应用本地使用Herd for MacOS开发,部署于DigitalOcean Debian 13服务器,代码托管在私有GitHub仓库。

关键亮点

作者未编写任何一行代码,所有功能均通过与Cursor AI代理的对话实现。这体现了当前AI编程工具的飞跃式进步。

对AI编程工具的评价

  • 转变历程:作者曾因早期ChatGPT体验不佳(如幻觉、错误)对AI持怀疑态度。后使用Grok日常替代Google Search,并发现其解决问题能力逐渐提升。
  • 工具探索:通过Grok了解到Cursor、Claude、Windsurf等工具。在使用Cursor时,发现从默认模型切换到Claude 4.5 Sonnet Thinking后,回复质量显著提高。
  • 开发体验:与Cursor协作类似于与人类开发者合作,但反馈循环近乎实时——提出需求、查看结果、发现问题(如500错误)、指示修复,过程快速迭代。
  • 技能契合:作者认为其产品思维(知道构建什么、顺序、权衡)、用户体验设计感、有限的技术知识及开发管理经验,使其能有效利用AI代理构建应用。但他认为,并非任何人都能轻松构建应用,编码本身并非最难部分,真正的挑战在于产品定义、优先级排序和获客。

技术挑战示例

构建手牌历史解析器时,面临最大挑战之一是处理PokerStars导出的文本格式。由于游戏中下注术语多样(盲注、全下、加注、跟注等)、存在边角案例(如未匹配的下注金额、底池平分等),解析逻辑复杂。作者通过让AI分析特定手牌(最大赢家、输家、复杂局面)并比较其预期输出与实际输出,共同调试解决问题。

未来展望与读者互动

作者表示将专注于当下,利用自身优势构建有价值的事物,而非过度担忧宏观趋势。同时,向读者征询意见:扑克玩家、Cursor或其他AI构建工具的使用者经验,以及关于使用AI改进应用UI/UX设计的建议(认为Cursor在此方面较弱)。

43. Using a laptop as an HDMI monitor for an SBC (danielmangum.com)

使用笔记本电脑作为单板计算机的HDMI显示器

核心问题

作者拥有多款单板计算机(SBC),如Raspberry Pi和BeagleV Starlight Beta。在初始配置、维护或运行需要图形界面的任务时,通常需要连接外部显示器和键盘。然而,使用传统HDMI显示器存在不便:需要寻找设备、布置空间,且外出时难以携带。

解决方案

作者采用HDMI转USB采集卡(如廉价的Amazon变体或高质量的Elgato Cam Link 4k)将SBC的HDMI输出传输到笔记本电脑,从而将笔记本电脑转化为显示器。

具体实现

  • 硬件连接:通过HDMI线将SBC与采集卡连接,采集卡再通过USB接入笔记本电脑。
  • 软件查看:在Linux笔记本电脑上使用多种视频播放软件显示SBC画面:
    • VLC媒体播放器
    • FFplay(FFmpeg工具)
    • Cheese(命令:cheese v4l2:///dev/video0
  • 扩展应用:若需流媒体或录制SBC输出,可使用OBS等软件获得更优控制。

辅助设备与建议

  • 仍需USB键盘连接SBC进行输入操作,但作者因日常已使用笔记本电脑外接键盘,临时切换至SBC影响较小。
  • 若需频繁连接多台设备,建议考虑使用KVM切换器以提升效率。

优势与适用场景

  • 便携性:无需额外显示器,尤其适合外出或空间有限的场景。
  • 成本效益:利用现有笔记本电脑和廉价采集卡,延长旧笔记本电脑的使用寿命。
  • 灵活性:支持实时查看、流媒体或录制,适用于配置、调试和开发任务。
44. I made a small LED panel (www.stavros.io)

文章摘要:制作小型LED面板

项目概述

作者购买了一个8x8的WS2812(Neopixel)可寻址LED面板,主要目的是尝试使用WLED软件(作者认为非常出色)。

主要挑战与解决方案

  • LED扩散问题:为避免LED显示为点光源,作者采用3D打印的两层白色PLA材料制作扩散器。通过调整扩散器与LED面板的距离(最终确定为约10毫米),实现了光的均匀扩散且颜色不会相互干扰。
  • 外壳设计:3D打印了一个盒子用于容纳扩散器和LED面板。
  • 微控制器安装:使用ESP8266(WeMos开发板)作为控制器,但为避免盒子过于笨重,作者设计时在盒子背面留出线缆孔,并将ESP8266直接粘贴在盒子外部。

成品展示

  • 最终成品显示效果良好,尽管存在一些设计上的妥协(如线缆走向不理想、USB接口位置奇怪、ESP8266暴露在外)。
  • 通过WLED软件可展示多种灯光图案。

后续发展

  • 作者将第一个LED面板赠送给朋友(因使用频率低且占用空间)。
  • 之后制作了更大的32x32版本,但同样使用较少,目前挂在墙上。
45. Python's splitlines does more than just newlines (yossarian.net)

Python的str.splitlines()方法不仅按常见的换行符(\n\r\r\n)分割字符串,还会识别多种Unicode行边界字符,包括制表符、换页符、文件/组/记录分隔符、下一行控制码以及Unicode行分隔符和段落分隔符等。

例如,字符串"line1\nline2\rline3\r\nline4\vline5\x1dhello"使用splitlines()后,会基于所有行边界字符进行分割,结果包含多个子字符串,而非仅按换行符分割。这提醒开发者Unicode字符不限于可打印字符,许多生态系统仍对C0和C1控制码赋予特定语义。

46. Show HN: A Lisp Interpreter for Shell Scripting (github.com)

Redstart:面向Shell脚本的Lisp解释器

概述

Redstart(以鸟类命名)是一个用C++编写的轻量级Lisp解释器,专注于shell脚本编写。它允许用户将Lisp的表达能力与Unix shell的实用性相结合,可以运行命令、捕获输出、在进程间传递管道,同时使用Lisp语法进行逻辑和结构处理。其核心理念是用Lisp语法替代Bash来编写shell脚本。

安装与快速入门

  • 安装方法:通过执行提供的shell脚本进行安装:
    bash <(curl -s https://raw.githubusercontent.com/gue-ni/redstart/refs/heads/master/tools/install.sh)
    
  • 启动方式
    • 启动交互式REPL(读取-求值-打印循环):rst
    • 运行脚本文件:rst my_script.lsp

功能示例

  1. 管道与命令执行

    • ls -la的输出通过管道传递给grep
      (pipe (sh ls -la) (sh grep "*.txt"))
      
    • 执行sudo apt update && sudo apt upgrade -y等效操作:
      (and (sh sudo apt update) (sh sudo apt upgrade -y))
      
  2. 变量与输出捕获

    • 将命令输出保存到变量:
      (defvar content ($ (sh cat "my-file.txt")))
      
    • 捕获ls结果并按换行符分割为列表:
      ($ (sh ls))
      (defvar files (split "\n" _))
      
  3. 函数定义与调用

    • 定义字符串拼接函数并管道传递:
      (defun hello (name) (strcat "Hello " name "!"))
      (pipe (<<< (hello "Jakob")) (sh rev)) ; => !bokaJ olleH
      
    • 定义递归函数(如阶乘)和闭包(如加法生成器):
      (defun factorial (n) (if (= n 0) 1 (* n (factorial (- n 1)))))
      (defun make-adder (a) (lambda (b) (+ a b)))
      
  4. 实际应用

    • 定义通过SCP上传文件的函数并批量执行:
      (defun upload (source) ...)
      (for-each upload files)
      

核心特点

  • 脚本语法:完全使用Lisp的S表达式,提供灵活的逻辑控制。
  • Shell集成:无缝调用外部命令、处理输入输出和管道。
  • 轻量实用:专注于脚本场景,结合脚本语言的简洁与系统命令的强大。

文档资源

官方文档涵盖入门指南和Shell脚本编写相关内容,便于用户快速上手。

47. Resizeable Bar Support on the Raspberry Pi (www.jeffgeerling.com)

摘要

文章概述

  • 文章探讨了在Raspberry Pi上支持Resizeable BAR的技术细节,该功能允许GPU通过PCIe总线传输大于256 MB的数据块,从而提升图形性能。
  • 作者在测试Intel Xe GPU驱动(用于Alchemist/Battlemage GPU)时遇到错误,提示“Failed to resize BAR2”并建议在BIOS中启用Resizeable BAR支持,但Raspberry Pi没有传统BIOS/UEFI,需通过其他方式配置。

问题与调试过程

  • 初始尝试中,Pi OS固件更新后能正确结构化PCIe总线,但Intel驱动仍无法顺利调整BAR大小。
  • 通过Pi OS开发者和社区的协作调试,发现需要手动干预才能启用Resizeable BAR。

手动启用Resizeable BAR的步骤

  1. 黑名单Xe驱动:编辑/etc/modprobe.d/raspi-blacklist.conf,添加blacklist xe以防止驱动自动加载。
  2. 修改引导参数:编辑/boot/firmware/cmdline.txt,添加xe.vram_bar_size=8192(以8GB为例,具体值需根据目标BAR大小选择,参考位值映射表:如13对应8GB)。
  3. 重启Pi
  4. 执行手动BAR调整
    • 解绑PCIe端口:使用echo命令解绑相关PCI设备(如0001:02:02.00001:02:01.00001:01:00.0)。
    • 调整资源大小:写入位值(如13)到/sys/bus/pci/devices/.../resource2_resize路径。
    • 加载Xe驱动:运行sudo modprobe xe,同时用dmesg --follow监控日志。
  • 注意:PCI设备路径和位值需根据实际GPU型号(如A750或B580)调整,可通过lspci查看。
  • 此过程还依赖上游Linux补丁“Release unused bridge resources during resize”,已在相关测试中纳入。

自动化调整方法

  • 用户提供了一个systemd服务方案以自动执行调整:
    • 创建脚本/usr/bin/bar_resize.sh,包含解绑PCI设备、调整BAR大小和加载驱动的命令(需根据GPU修改设备路径和位值)。
    • 设置脚本为可执行文件。
    • 创建systemd单元文件/etc/systemd/system/resize-bar.service,配置为开机自启。
    • 启用服务:sudo systemctl enable resize-bar.service
  • 仍需手动完成引导参数和黑名单配置。
  • 提示:若更换或移除Intel GPU,应禁用服务并回退更改。

结论

  • 通过上述步骤,Resizeable BAR在Raspberry Pi上成功启用,Intel Xe驱动不再报错“small BAR device”。
  • AMD eGPU支持已稳定,并有补丁可能合并到Pi OS内核中,Intel eGPU支持也接近完善。
  • 文章强调持续测试和社区协作对推进Pi上外接GPU支持的重要性。
48. The C++ programmer and educator Rainer Grimm has passed away (www.modernescpp.com)

Rainer Grimm,C++ 程序员兼教育家,于2025年10月6日在家人的陪伴下与世长辞。在经历危及生命的肺炎后,他选择不再接受会严重限制其生活的维生治疗,平静离世。

尽管患有进展性的肌萎缩侧索硬化症(ALS),Rainer直至生命最后仍充满活力,持续致力于他的人生两大目标:

  1. 为C++社区创造价值:通过个人博客 modernescpp.com、指导项目以及数字参与会议来分享其C++知识与经验。他最后一次数字亮相是2025年的CppCon大会。他与妻子Beatrix共同发起的Cippi项目将继续访问各大会议,如有意邀请,请联系beatrix.grimm-jaud@ModernesCpp.de

  2. 提高ALS疾病意识:致力于为ALS及其他神经系统疾病筹集研究捐款。他曾参加由TV Rottenburg于9月28日以他名义组织的慈善跑步活动,为ALS研究筹集了超过6000欧元。过去两年,他还以大幅折扣出售自己的书籍,并将所有收益捐赠给ALS研究。

作为家人,他们感谢C++社区对Rainer的支持,尤其是在过去两年间,当ALS使他无法亲自参加会议时,社区通过支持Cippi等项目展现了强大的共情力。

目前,关于其博客、指导项目或正在撰写的新书《Modern C++26》的后续安排尚无定论,相关信息将会后续公布。

最后,文中列出了Rainer Grimm的个人网站、指导项目链接、联系地址及电话,并附有其个人照片。同时感谢了众多Patreon支持者。

49. Show HN: FleetCode – Open-source UI for running multiple coding agents (github.com)

FleetCode 开源编码代理并行运行工具摘要

核心功能

FleetCode 是一个桌面终端应用程序,核心功能是同时运行多个 CLI 编码代理(如 Claude 和 Codex),并确保每个会话的隔离与持久化。

  • 多会话并行:支持同时启动和运行多个编码代理会话。
  • 环境隔离:每个会话在独立的 Git 工作树中运行,确保代码和工作区相互隔离。
  • 会话持久化:会话状态被保存,在应用程序重启后可自动恢复。
  • 配置与管理:提供终端主题切换、启动前命令配置、MCP 服务器管理以及会话的重命名、关闭和删除功能。

技术要求与安装

  • 依赖项:Node.js 16+、Git,以及 Claude CLI 或 Codex 编码代理。
  • 安装:提供开发环境和生产构建的说明。

使用与工作原理

  1. 创建会话
    • 选择一个 Git 项目目录和父分支。
    • 选择编码代理(Claude 或 Codex)。
    • 可选地配置启动命令。
    • 应用会创建一个新的 Git 工作树并启动终端会话。
  2. 会话管理
    • 新会话使用 --session-id 启动。
    • 重新打开的会话使用 --resume 自动恢复。
  3. 终端与服务器设置
    • 可通过设置菜单自定义字体、大小、主题和光标。
    • 支持配置 stdioSSE 类型的 Model Context Protocol (MCP) 服务器以增强代理能力。

常见问题解决

  • macOS 安全警告:首次打开若提示“未验证开发者”,可使用 xattr -cr /path/to/FleetCode.app 命令移除隔离属性。
  • Claude Code 工作目录问题:如果代理在错误的目录中读写文件,需在 Claude Code 设置中禁用 autoConnectToIde 选项。

许可证

ISC

50. 3D-Printed Automatic Weather Station (3dpaws.comet.ucar.edu)

3D-PAWS:3D打印自动气象站概述

系统简介

3D-PAWS 是一个开放、模块化的天气与环境监测系统,旨在使可靠的观测更易获取。它结合了3D打印部件、开源电子设备和基于云端的数据工具,以创建成本低廉、灵活性强的气象站。该系统主要面向国家气象服务机构、研究网络、社区监测项目和教育项目

核心功能与模块化设计

典型的3D-PAWS站点可测量多种环境参数,包括:

  • 大气参数:空气温度、气压、湿度、风速与风向、降水量。
  • 水文参数:水位与洪水监测。
  • 环境参数:空气质量、土壤湿度与温度。

由于系统的模块化特性,用户可以通过添加额外传感器来自定义站点,以匹配本地监测需求。

在观测网络中的作用

3D-PAWS 的设计目标是补充而非替代传统气象观测系统。它特别适用于在传统站点难以安装或成本高昂的地区扩展观测网络。与现有网络结合使用时,它能够:

  • 扩大监测覆盖范围。
  • 加强偏远或服务不足地区的监测。
  • 为天气预报和建模提供数据支持。
  • 支持研究与决策所需的环境监测。

观测实践与标准

该系统遵循公认的气象实践,参考了世界气象组织《仪器和观测方法指南(WMO-No. 8)》。尽管设计上注重低成本和灵活性,但它强调良好的站点选择、适当的传感器暴露和清晰的元数据记录,以提升数据质量。

需要注意的是,部分测量与传统参考标准存在差异。例如,风传感器通常安装在离地面约2米的高度,而非许多业务网络使用的10米标准高度。

应用场景

3D-PAWS 站点已广泛应用于多种项目,包括:

  • 社区天气监测。
  • 洪水与风暴潮监测。
  • 农业与土壤监测。
  • 环境科学研究。
  • 教育与培训。

配套资源

系统提供额外的文档和支持材料,包括仪器数据表、3D打印机维护指南、培训材料以及本手册的早期版本等。