2025-10-13

49 篇热帖

1. NanoChat – The best ChatGPT that $100 can buy (github.com)

NanoChat 项目概述 NanoChat 是一个用于训练大型语言模型的极简实验性框架。它设计为在单个 GPU 节点上运行,代码精简且易于修改,并涵盖了 LLM 开发的主要阶段,包括分词、预训练、微调、评估、推理以及一个聊天用户界面。

核心优势与成本 该项目的核心亮点在于其极高的成本效益。用户可以以约48美元的成本(使用8卡H100节点约2小时)训练一个达到2019年GPT-2能力水平的模型,而在竞价实例上成本可降至约15美元。这种效率的提升归功于近年来技术栈的全面进步。

核心设计理念:单一旋钮控制 NanoChat 的配置围绕一个核心复杂度参数 --depth(GPT Transformer 模型的层数)展开。设置该参数后,所有其他超参数(如Transformer宽度、注意力头数量、学习率、训练时长、权重衰减等)都会自动以最优方式计算,无需用户手动调整。例如,GPT-2级别能力对应的深度约为24-26层。

“时间到 GPT-2” 排行榜 项目的当前开发重心是优化最耗计算资源的预训练阶段。为此,它设立了一个排行榜,记录将模型训练至超越原始GPT-2基准分数(DCLM CORE score 0.256525)所需的墙钟时间。从最初OpenAI的168小时训练时间,排行榜上的条目已通过社区协作将该时间缩短至不到2小时。

使用与运行

  1. 环境设置:推荐使用 uv 进行依赖管理,支持CUDA、CPU或MPS后端。
  2. 训练与交互:提供 runs/speedrun.sh 脚本,可在8卡H100节点上一键启动完整的GPT-2级别模型训练和聊天界面生成流程。训练完成后,可通过WebUI与模型交互。
  3. 硬件灵活性:代码兼容多种硬件。在单GPU或Ampere架构(如A100)的GPU节点上均可运行,但训练时间会相应增加。对于显存不足80GB的GPU,需调整设备批处理大小等参数。
  4. 精度控制:未使用torch.amp.autocast,而是通过全局变量COMPUTE_DTYPE显式管理精度。默认根据硬件自动选择(如A100/H100使用bfloat16),并可通过环境变量覆盖。

研究与扩展 对于研究者,项目提供了进行缩放定律和系列模型训练的脚本。可以通过一个简单的12层模型(GPT-1级别)进行快速实验。项目的宗旨是提升微型模型的可达性,不仅关注成本,也致力于保持代码库的认知简洁性——避免复杂的配置对象和工厂模式,追求可读、可hack、易分发的强基线代码。

文件结构 项目结构清晰,主要目录包括:

  • nanochat/:核心模块,如模型定义、数据加载、评估、优化器、推理引擎和Web UI。
  • scripts/:可执行脚本,涵盖训练、评估、聊天(CLI/Web)等流程。
  • runs/:用于重现关键训练流程(如速通、缩放定律)的shell脚本。
  • tasks/:用于模型评估的各种下游任务(如MMLU、GSM8K、代码生成等)。
  • dev/:辅助开发工具,如合成数据生成。

贡献与许可 项目鼓励社区贡献以改进微型模型的训练效率,并采用MIT许可证开源。提交代码时要求披露是否有LLM生成的实质性贡献。

2. Android's sideloading limits are its most anti-consumer move (www.makeuseof.com)

Android侧载限制:一项反消费者的举措

谷歌自2025年10月起逐步实施针对侧载应用的新规,要求开发者完成身份验证,强制执行将于2026年9月开始(从特定国家启动),并在2027年全球推广。此举被批评为对Android开放生态的严重限制。

政策核心内容

  • 验证要求:开发者需通过政府签发的证件或联系信息完成身份验证,否则其应用无法安装在搭载Google移动服务(GMS)的主流设备上。
  • 豁免范围:未通过谷歌认证的设备(如自定义ROM或去谷歌化手机)不受影响,但这类设备占比极小。
  • 本质影响:虽然侧载功能未被完全移除,但谷歌通过设立集中式验证关卡,重新定义了Android生态的参与门槛,从匿名自由分发转向需经谷歌许可的模式。

安全性质疑

谷歌以提升安全性为由,但文章指出:

  • 现有机制(如Google Play Protect扫描、未知来源安装警告)已提供防护。
  • 历史表明,Play Store上“已验证”的应用仍出现过恶意软件,身份验证不等于安全保障。
  • 新规可能削弱用户对设备的自主决策权,被视为谷歌推卸侧载应用安全责任的手段。

生态系统的附带损害

  • 第三方应用商店:如F-Droid上的许多非Play Store应用可能因开发者无法或不愿完成验证而无法在主流设备上安装。
  • 开发者群体:独立开发者、业余爱好者及小众社区应用将受到冲击,验证的时间和隐私成本可能导致项目终止。
  • 创新抑制:Android的灵活性曾鼓励草根创新,但集中化的管控可能限制生态多样性和创新步伐。

用户面临的现实

  • 选择受限:用户仍可侧载应用,但非Play Store应用(如NewPipe、Blokada)的获取将变得复杂。
  • 变通方案存在但有限:可通过未认证设备、备份APK或使用替代应用商店等方式,但这些方法可能伴随技术复杂度或安全风险。
  • 开放性收窄:Android的开放特性正在减弱,长期可能走向完全封闭的生态系统。

总体而言,谷歌的新规以安全之名,行控制之实,可能大幅压缩用户自由选择空间,损害开发者权益,并最终削弱Android生态的活力与包容性。

3. Wireguard FPGA (github.com)

Wireguard FPGA 项目摘要

背景与目标
虚拟专用网络(VPN)是互联网安全的核心组件,通过加密隧道连接异构网络。传统方案(如OpenVPN/IPSec)性能逐渐不足,Wireguard作为现代、安全且易于管理的隧道加密方法备受关注。现有Wireguard硬件实现(如Blackwire)基于昂贵专有平台和工具,限制了普及。本项目旨在开发开源、基于FPGA的Wireguard实现,使用廉价硬件和开源工具,填补可及性和性能空白。

技术栈与创新
项目整合多种开源技术:

  • PipelineC(高级综合工具)
  • PeakRDL(控制/状态寄存器管理)
  • RISC-V CPU(软核处理器)
  • VProc CoSim(协同仿真)
  • OpenXC7(开源FPGA工具链)
  • SV2V(SystemVerilog转Verilog转换器)
    并借助Verilog-Ethernet开源IP库,构建软硬件协同的安全网络片上系统(SoC)。

与Blackwire对比
Blackwire项目基于AMD/Xilinx专有AlveoU50平台和Vivado工具链,虽达100Gbps性能,但成本高昂、工具封闭,且存在代码所有权争议。本项目选择:

  • 低成本硬件平台(带四个千兆以太网端口)
  • 独立运行(无需PC主机)
  • 常规Artix7 FPGA
  • 全开源工具链
  • 通用Verilog/SystemVerilog实现

设计蓝图

  1. 硬件架构

    • 控制平面:运行于软RISC-V CPU,负责WireGuard协议管理(握手、会话、密钥)。
    • 数据平面:全RTL实现,包括PHY控制器、MAC模块、FIFO、头部解析器、加解密引擎(ChaCha20-Poly1305)、IP查找引擎等,以线速处理数据流量。
    • 加解密采用RFC7539的AEAD构造,确保安全性和性能。
  2. 软件架构

    • WireGuard Agent:实现握手协议。
    • 支持组件包括:Curve25519(密钥交换)、ChaCha20-Poly1305/XChaCha20-Poly1305(加密与认证)、BLAKE2s(哈希)、RNG(随机数生成)、定时器、HKDF、RTC、SipHash等。
    • CLI接口用于配置节点,HAL/CSR驱动实现软硬件交互。

项目阶段与规划

  • Phase1(概念验证):验证可行性,非完整产品。
  • Phase2:优化性能与功能(如增加通道、GUI管理)。
  • 执行计划分六个阶段(Take1至Take6):
    • Take1:硬件/软件平台熟悉、架构设计、文档准备。
    • Take2:实现基础静态Wireguard链路,集成RTL模块(如Corundum、ChaCha20-Poly1305 IP核)。
    • Take3:开发控制平面固件(裸机C代码)。
    • Take4:管理VPN隧道会话(初始化、维护、关闭)。
    • Take5:系统测试、性能分析、移植至开源工具OpenXC7。
    • Take6(可选):流控模块以增强稳定性。

挑战与测试策略

  • 挑战:硬件/软件分区复杂性、共同开发集成、实时测试、开源工具对SystemVerilog及FPGA原语的支持不足、工具时序/资源优化成熟度、资金限制。
  • 测试策略
    • 使用VProc协同仿真加速验证,支持多种CPU实现(RTL或虚拟处理器)。
    • 实验室测试设置:通过远程访问共享测试系统,验证双节点VPN隧道性能。
    • 构建过程自动生成HAL和CSR RTL,确保一致性。

项目状态与致谢
项目处于最终收尾阶段,由NLnet基金会资助(欧洲委员会NGI0计划)。致谢合作伙伴的贡献,包括硬件支持、密码学模块开发及开源社区协作。

4. Show HN: SQLite Online – 11 years of solo development, 11K daily users (sqliteonline.com)

SQLite Online 是一个经过11年独立开发、拥有11,000日活跃用户的在线工具。其核心功能是作为在线SQLite数据库,并显著扩展了数据科学可视化能力。

项目的主要特色在于它将SQL查询与图表生成相结合,允许用户通过特殊的SQL命令直接创建数据图表。这一功能通过将传统SELECT语句前缀改为QLINE-SELECTQAREA-SELECTQBAR-SELECTQPIE-SELECTQBUBBLE-SELECT来实现。

这些查询语法结构清晰,通过指定列来定义图表的不同属性:

  • 轴与数据映射
    • X列:用于指定X轴数据(数值)。
    • L列:用于指定标签(文本)。
    • T列:用于指定时间轴(Unix时间戳数值)。
    • Y列:用于指定Y轴数据(数值),或通过y_c前缀为线条指定颜色(HEX6格式)。
  • 图表选项
    • C列:用于设置数据点的颜色(HEX6格式)。
    • V列:用于设置数据点的半径(数值),常用于气泡图等。

文档中提供了针对不同图表类型的详细示例,展示了如何从CSV数据创建虚拟表,并使用QLINE-SELECTQAREA-SELECTQBAR-SELECTQPIE-SELECTQBUBBLE-SELECT命令进行数据可视化查询。例如,在气泡图示例中,可以同时将一列映射为X轴,另一列映射为Y轴,并用第三列控制气泡大小。

5. Software update bricks some Jeep 4xe hybrids over the weekend (arstechnica.com)
  • 问题概述:Jeep Wrangler 4xe混合动力车型在安装本周末的远程信息处理系统(Uconnect)更新后,车辆在行驶中失去动力并抛锚。
  • 问题表现:更新不会立即导致故障,而是在行驶过程中发生动力系统失效,部分案例发生在低速靠近家附近,但也有车主报告在高速公路行驶时出现问题。
  • 车主反馈:车主通过论坛、Reddit和YouTube分享经历,描述车辆抛锚的困境。
  • 厂商应对
    • Jeep在收到问题报告后撤回了该更新。
    • 建议尚未安装更新的车主忽略更新提示。
    • 已更新但未遭遇动力系统故障的车主被建议避免使用混合动力或电动模式。
  • 后续措施:Jeep于昨天推送了修复程序。
  • 背景关联:该事件提醒了软件更新的最佳时机问题,类似去年CrowdStrike事件的教训,周末推送更新可能带来更多风险。
6. Dutch government takes control of Chinese-owned chipmaker Nexperia (www.cnbc.com)

荷兰政府接管中国芯片制造商Nexperia

事件概述

荷兰政府为确保欧洲芯片供应安全,采取非常措施接管了位于荷兰的中国资半导体制造商Nexperia。该公司是中国闻泰科技的子公司,专注于汽车、消费电子等行业芯片的大规模生产,对维持欧洲技术供应链至关重要。

关键措施

  • 荷兰经济事务部长于9月援引《物资可用性法案》,旨在防止Nexperia产品(成品和半成品)在紧急情况下无法供应。
  • 该法案允许政府干预私营企业以确保关键物资的可用性,此次行动背景是美中贸易战升级。
  • 政府声明称,此举是因为观察到Nexperia内部存在“近期且紧急的严重治理缺陷和行为信号”,威胁到荷兰和欧洲关键技术的连续性和保护。
  • 汽车行业被特别指明为易受影响的领域。

公司治理变更

  • 根据闻泰科技10月13日向上海证券交易所提交的文件,Nexperia已被置于临时外部管理之下,并被要求暂停资产、业务或人员变动长达一年。
  • 闻泰科技董事长张学政已被立即暂停在Nexperia Holdings的执行董事及Nexperia的非执行董事职务。
  • Nexperia日常运营将继续,但措施的影响尚无法量化。

闻泰科技的反应

  • 闻泰科技在已删除的微信帖文中称,荷兰政府以“国家安全”为由冻结Nexperia全球业务,是“地缘政治偏见驱动的过度干预,而非基于事实的风险评估”。
  • 该公司自2019年收购Nexperia以来,“严格遵守所有运营地的法律法规”,保持透明运营和健全治理,并在荷兰、德国和英国雇佣了数千名本地员工。

Nexperia的回应

  • Nexperia发言人表示公司没有进一步评论,但“遵守所有现行法律法规、出口管制和制裁制度”,并与相关当局保持定期联系。

背景与影响

  • 荷兰的行动发生在上周四中国收紧稀土元素和磁铁出口限制之后,这可能影响欧洲汽车行业。
  • 此举可能进一步紧张中荷贸易关系,此前荷兰已限制荷兰公司ASML向中国出口先进半导体制造设备多年。
  • 2023年,荷兰还曾调查Nexperia对芯片初创公司Nowi的拟议收购,但该交易后来获得批准。

市场反应

  • 荷兰政府宣布接管后,闻泰科技在上海证券交易所的股价暴跌10%,达到当日跌幅上限。
7. America is getting an AI gold rush instead of a factory boom (www.washingtonpost.com)

The outcome of these trends has huge implications for workers, wealth and the future of America’s economy.

8. No science, no startups: The innovation engine we're switching off (steveblank.com)

摘要:《没有科学,就没有初创企业:我们正在关闭的创新引擎》

本文系统阐述了科学体系的运作方式、科学与工程/创业/风投的协作关系,以及基础科学研究对国家创新与实力的关键作用,并批判了削弱科学投入的政策趋势。

一、科学体系的构成

  • 科学家分为两类:
    • 理论家:通过数学模型和假设探索宇宙规律(如爱因斯坦提出E=mc²)。
    • 实验家:设计实验验证理论,分为基础科学(探索自然原理)和应用科学(解决实际问题)。
  • 研究场所:主要在研究型大学(美国542所,其中R1类187所承担大量研究)、政府实验室及少数企业实验室。企业自1982年后大幅减少基础研究,转向应用研发。

二、科学与其他角色的协作链

  • 工程师基于科学发现设计和制造产品(如芯片、火箭),将理论转化为实用技术。
  • 创业家通过迭代测试将技术转化为市场产品,承担商业风险。
  • 风险资本为创业家提供资金,但通常规避基础研究风险,更倾向投资工程化阶段。
  • 关键点:四者互补,移除任何一环都会削弱创新生态系统。

三、美国科学体系的优势与危机

  • 独特模式:二战后美国通过资助大学(而非仅政府实验室)开展基础研究,形成强大创新生态。
  • 数据:大学承担美国约50%的基础研究,年度研发支出约1090亿美元(其中600亿来自NIH、NSF等联邦机构)。
  • 人才依赖:约40-50%的基础研究由外国研究者完成。
  • 威胁:2025年联邦资金大幅削减将破坏设施、人才和国际合作,导致:
    • 科学研究转移至其他国家(如中国、欧洲)
    • 长期削弱国家经济与国防实力
    • 风险资本在深科技领域机会减少

四、科学投入的核心价值

  • 创新源泉:硅谷、航空航天、生物技术等产业均源于大学实验室的基础研究(如CRISPR、谷歌算法)。
  • 国家实力:科学投资与国家力量直接相关(如二战原子弹工程依赖核物理基础研究)。
  • AI的局限:AI是提升科学家效率的工具,而非替代品;忽略科学会导致依赖他国技术。

五、结论

削减科学投入将瓦解美国创新体系的根基,导致长期竞争力下降。维持大学-产业-政府协作的科学研究生态,是保持国家繁荣与安全的关键。

9. Go subtleties (harrisoncramer.me)

Go语言编程中的细微知识点总结

本文列举了作者在过去一年中工作中积累的一些Go语言实用技巧和细微知识点。

新版本特性与语法扩展

  • Go 1.22 新特性:可以直接使用 range 遍历整数。
  • Go 1.25 新特性WaitGroup 新增了 Go 方法,可以更方便地管理 goroutine。

泛型与类型系统

  • 泛型约束:可以使用 ~ 操作符约束泛型类型签名,使其接受底层类型匹配的值(例如,底层类型为 string 的类型常量)。
  • 命名包:可以使用 Go 的 LSP(语言服务器协议)重命名包,该操作会更新所有引用并重命名目录。

字符串与编码

  • 字符串长度:内置的 len() 函数返回的是字符串的字节数,而非字符数。对于多字节字符(如中文),需要使用 range 关键字遍历“符文”(Unicode 码点)来正确处理。
  • 无效 UTF-8:字符串字面量本质上是字节序列,可能包含无效的 UTF-8 数据。Go 在遍历时会将无效数据替换为替换字符。
  • 字符串插值:支持基于索引的字符串插值(例如 %[1]s),可减少重复。

接口与nil值

  • 接口的nil值:一个被赋予 nil 指针值的接口变量,其自身并不等于 nil。这在函数返回接口类型时需要特别注意,以避免错误的 nil 检查。
  • 在nil值上调用方法:可以在 nil 指针接收者上调用方法,但访问其字段会导致 panic。
  • 空结构体:空结构体 struct{} 不占用任何内存空间,常用于通道信号传递。

并发与上下文

  • time.After:用于在 select 语句中设置超时,实现超时控制。
  • 上下文感知函数:在涉及通道操作的函数中,应始终监听 context.Done(),以便能及时响应上下文取消(如超时),避免不必要的等待。
  • 映射的遍历顺序:在遍历 map 时,如果在循环中添加新元素,新元素可能不会被立即访问到。Go 语言的遍历顺序不保证稳定插入顺序,这是为了追求性能。

错误处理

  • 自定义错误:通过定义实现了 error 接口的自定义结构体类型,可以为错误附加结构化数据。使用 errors.As 函数可以方便地提取和处理特定类型的错误。

结构体与JSON

  • 结构体嵌入的隐式提升:嵌入一个结构体也会隐式提升其所有方法。例如,嵌入 time.Time 结构体会导致其自定义的 MarshalJSON() 方法覆盖父结构体的默认JSON序列化行为。
  • JSON标签:使用 json:"-" 标签可以在JSON序列化时忽略特定字段。
  • 时间比较:比较时间值时,应使用 Equal() 方法,因为转换为字符串会包含时区信息,导致直接字符串比较失败。

其他技巧

  • 索引字符串插值:如 fmt.Printf("%[1]s %[1]s", "one")
  • 嵌入非Go文件:使用 embed 包可以在编译时将HTML、JS、图片等文件直接嵌入到Go二进制文件中,简化部署。
  • 编译器优化:Go编译器会在编译前将 range 关键字降低为基本循环,针对不同的类型(如映射、切片)有不同实现。
10. Syntax highlighting is a waste of an information channel (2020) (buttondown.com)

文章摘要:语法高亮是对信息通道的浪费

核心论点

作者认为,颜色是一个强大的信息通道,能够吸引注意力、区分事物并承载大量信息。然而,在编程中,它仅被用于区分语法,这是一种巨大的浪费。语法高亮本身有用,但它没有充分利用颜色通道的潜力。

问题阐述

在不同的编程任务(如编写新代码、优化、调试、代码审查)中,程序员需要从代码中获取的信息是不同的。理想的工具应该允许根据当前任务动态切换、组合或叠加不同的高亮规则,而不仅仅是固定的语法着色。

替代的高亮方案示例

作者提出了一系列可能的高亮应用场景,以展示颜色信息通道的潜力:

  • 彩虹括号:用不同颜色标识括号的嵌套层级。
  • 上下文高亮:高亮显示不同的嵌套层次。
  • 导入高亮:高亮显示从其他文件导入的标识符(如函数、类)。
  • 参数高亮:高亮显示传入函数的参数,以区别于局部或全局变量。
  • 类型高亮:用不同颜色标识不同类型的变量(如列表、整数)。
  • 异常高亮:高亮显示会抛出未被其内部捕获的错误的函数。
  • 元数据高亮:根据测试结果、堆栈跟踪、版本控制差异等外部信息进行高亮。
  • 其他想法:高亮显示调用了HTTP函数的函数、被重复赋值的变量、超过一定行数的函数、缺少文档字符串的函数、最后由特定团队成员编辑的代码行等。

实施挑战

作者指出,目前难以实现这种全面的“语义高亮”主要面临三个挑战:

  1. 实现复杂性:许多高级规则需要访问抽象语法树、项目级别的上下文甚至运行时信息,而不仅仅是简单的正则表达式。为每种语言从头构建语义高亮器工作量巨大。
  2. 高亮冲突:同一段代码可能因不同原因需要被多种规则高亮。在动态叠加的场景下,如何确定优先级是一个复杂的设计问题。
  3. 编辑器支持不足:现有的主流编辑器(如Vim, VSCode, Atom)及其高亮机制(如正则表达式、TextMate语法)主要是为传统的语法高亮设计的,缺乏支持这种灵活、多层叠加高亮的良好基础架构。

结论

作者认为,充分利用颜色通道的潜力是一个未来必然会实现的方向,因为其优势太大。但这需要克服显著的工程和技术挑战,可能首先会在玩具语言或表达力有限的语言中得到验证。

11. Modern Linux tools (ikrima.dev)

现代 Linux 工具概述

本文介绍了众多现代、高效或用户友好的 Linux 工具,主要分为命令行工具替代品、辅助工具和图形界面应用三类。

命令行工具替代品

这些工具旨在替换或增强传统的 Unix/Linux 命令,提供更优的功能、性能或体验。

  • 文件与目录操作

    • bat: 带语法高亮和 Git 集成的 cat 替代品。
    • eza / exa / lsd: lstree 的现代替代品,功能更丰富(其中 exa 已停止维护)。
    • fd: find 命令的简单、快速且用户友好的替代品。
    • broot: 具有导航支持的增强版 tree
    • ncdu / dust: du 的直观替代品,提供交互式或图形化磁盘使用分析。
    • duf: df 的更好替代品。
  • 文本处理与搜索

    • ripgrep / ag: 非常快速的 grep 替代品,能识别 .gitignore
    • jq: 用于处理 JSON 数据的 sed 替代品。
    • sd: 用于查找/替换的 sed 替代品,更直观。
    • choose: cut 乃至部分 awk 用法的友好、快速替代品。
  • 系统监控与进程管理

    • glances / gtop: top/htop 的替代品,提供更丰富的系统监控仪表板。
    • procs: ps 的 Rust 语言替代品。
    • bottom: 跨平台的图形化进程/系统监视器。
    • hyperfine: 命令行基准测试工具。
    • gping: 带图形的 ping 工具。
  • Git 与差异查看

    • delta: 用于 git diffgit log 输出的查看器。
  • 网络与客户端

    • httpie / curlie / xh: 现代、用户友好的命令行 HTTP 客户端,是 curl 的补充或替代方案。
  • 导航与历史

    • zoxide: 受 z 启发的智能 cd 命令。
    • mcfly: 快速浏览 shell 历史记录。
    • fzf: 通用的命令行模糊查找器。
  • 文件管理与编辑

    • nnn: 快速、轻量的终端文件管理器。
    • micro: 现代的终端文本编辑器。
  • 其他实用工具

    • up: 带有即时实时预览的管道工具。

辅助与学习工具

这些工具用于解释命令、查找文档或提供速查表。

  • Man 页与解释
    • tldr / tealdeer: 提供简洁实用的命令示例,是 man 页的补充。
    • explainshell: 将命令行参数匹配到其帮助文本。
    • ManKier: 用简洁美观的页面解释 shell 命令。
    • cheat.sh: 统一的速查表服务。

图形界面 (GUI) 工具

  • baobab: 图形化磁盘使用情况分析器。
  • stacer: 图形化系统优化器和监控工具。

其他资源链接

文章末尾还列出了一些相关的资源列表,如 modern unixawesome linux softwarebook of secret knowledgearchlinux utilities,供进一步探索。

12. American solar farms (tech.marksblogg.com)

美国地面太阳能农场数据集分析

数据集概述

GM-SEUS(Ground-Mounted Solar Energy in the United States)是由密歇根州立大学等机构研究人员构建的数据集,包含美国本土48州及哥伦比亚特区的15,017个太阳能阵列2,917,782个太阳能面板。数据来源于多个组织,包括NOAA、NASA和USGS的校友团队。

工作环境与工具

  • 硬件:AMD Ryzen 9 9950X CPU、96GB DDR5 RAM、4TB NVMe SSD
  • 系统:Ubuntu 24 LTS(通过Windows子系统运行)
  • 软件工具
    • GDAL 3.9.3 用于地理数据处理
    • DuckDB v1.4.1 及其扩展(H3、Spatial、Parquet等)进行数据分析和转换
    • QGIS 3.44 用于地图可视化

数据处理流程

  1. 数据下载与准备

    • 下载GM-SEUS数据集和美国各州边界数据
    • 提取原始GPKG文件的投影信息
  2. 数据清洗与转换

    • 将原始GPKG文件转换为压缩的Parquet格式(ZStandard压缩)
    • 执行坐标系转换(从NAD83到EPSG:4326)
    • 清洗无效值(如-9999标记为NULL)
    • 生成空间排序索引(使用Hilbert编码)以优化查询性能
  3. 文件优化结果

    • 阵列数据:108MB GPKG → 37MB Parquet
    • 面板数据:1.1GB GPKG → 334MB Parquet

数据分析结果

太阳能阵列分析

  • 分布:通过H3网格生成热力图显示太阳能农场分布
  • 安装趋势:从1985年到2024年,安装数量逐年增加,2024年达到高峰(主要来自SAM数据源)
  • 技术配置
    • 固定轴安装占主导(6,057个阵列使用c-si技术)
    • 单轴跟踪安装次之(2,876个阵列)
    • 容量范围:从0.001 MW到1,051.7 MW

太阳能面板分析

  • 规模:290万个面板中,仅5,358个阵列有明确面板标注
  • 面板类型
    • 单轴跟踪面板最多(1,602,973个)
    • 固定轴面板次之(163,512个)
    • 双轴跟踪面板较少(80,225个)
  • 最大阵列:位于内华达州的阵列ID 11958包含56,762个面板

数据质量观察

  • 部分属性存在空值(如平均倾斜角55.46%为空值)
  • 面板数据覆盖不完整,期待未来版本改进面板检测算法

技术实现特点

  • 使用DuckDB进行高效空间查询和数据分析
  • Parquet格式优化存储和查询性能
  • 结合多种GIS工具(GDAL、QGIS、ArcGIS)进行可视化和分析

该数据集为美国太阳能基础设施研究提供了重要资源,有助于分析可再生能源部署模式和趋势。

13. Smartphones and being present (herman.bearblog.dev)

文章标题:智能手机与保持当下意识

文章主要内容总结如下:

  1. 智能手机使用现状:引用数据显示全球人均每日手机使用时间长达4小时37分钟,南非甚至达5小时11分钟。若扣除睡眠和工作时间,人们可能将超过一半甚至高达65%的闲暇时间用于手机屏幕。

  2. 作者的观点与担忧:作者认为智能手机虽有用,但内置大量令人分心的功能,会破坏当下的专注与生活。他重视有意义的生活、人际关系和真实体验,不愿将有限的时间浪费在短视频或网络争论上。

  3. 个人管理方法

    • 核心策略:使手机尽可能“无趣”,减少其吸引力。
    • 具体措施:完全删除或隔离推荐算法驱动的社交媒体应用(如Instagram、TikTok);对重度使用的YouTube,关闭观看历史记录以消除推荐内容,并使用广告拦截器隐藏侧边栏和短视频入口;仅保留RSS等主动订阅、低信息流的内容。
    • 对传统时间限制工具的批判:作者认为应用时间限制功能存在根本缺陷,无法解决成瘾本质,且个体容易规避。
  4. 成效与倡导:通过上述方法,作者日均手机使用时间降至约30分钟,主要用于实用工具类应用。他感觉自己变得更专注、更乐观,拥有了更多时间享受自然、社交和爱好。尽管初期仍会下意识想查看手机,但随着时间推移,这种冲动逐渐减弱。

  5. 总结论点:作者强烈建议通过主动设计数字环境来对抗注意力掠夺,虽然方法可能显得极端,但能有效帮助人们夺回时间,提升生活质量和当下意识。

14. California Will Stop Using Coal as a Power Source Next Month (www.latimes.com)

加州下月将停止使用煤炭作为电力来源

加州将在下月停止从犹他州中部的Intermountain电厂接收电力,标志着该州对煤炭发电的依赖基本结束。这一里程碑事件是加州应对气候变化的重要进展。此前,加州仅2.2%的电力来自煤炭(几乎全部来自该电厂),而美国全国2023年煤炭发电占比已从2007年的近50%降至16.2%。

推动这一转变的关键是洛杉矶水电局(L.A. Department of Water and Power),它逐步减少了从犹他州采购煤炭电力,同时在Intermountain电厂附近新建了可燃烧天然气和氢气的发电站。水电局助理总经理Jason Rondou称,转向更清洁、创新的技术令人振奋。

技术升级(如电力储存能力的提升)使得加州在逐步淘汰煤炭的过程中未出现类似2020年以前的电力短缺问题。新电厂还将具备利用水分裂技术生产氢气的能力,尽管该技术会产生副产品引发部分环保人士担忧,但专家认为其风险远低于燃煤。

煤炭产业的衰落也带来了社会影响。例如,2019年关闭的纳瓦霍发电站(曾向洛杉矶供电)导致亚利桑那州纳瓦霍保留地许多依赖高薪矿业工作的居民面临转型挑战。尽管如此,纳瓦霍族长老兼矿工Lawrence Gilmore认为关停是正确之举,指出采矿活动污染了水资源,且收益大多未惠及当地社区。

尽管特朗普政府支持煤炭产业(计划开放1300万英亩公共土地用于煤矿开采并向电厂业主提供补贴),但尚未成功迫使加州公用事业公司接受煤电。能源部长Chris Wright称补贴对维持低电价和供电稳定至关重要,但加州已转向更清洁的能源技术。

即便在犹他州保守的米勒德县,地方官员也对能源转型持开放态度,表示“愿意与所有人洽谈商业机会”。


其他重要新闻概览

西海岸大地震风险

最新研究显示,圣安德烈亚斯断层卡斯卡迪亚俯冲带可能在未来引发连续大地震。数千年来,该俯冲带的大震常迅速引发圣安德烈亚斯断层的强烈震动。

USC教师反对特朗普协议

南加州大学教职员强烈抵制特朗普政府提出的协议,该协议以优先联邦资助为条件,要求大学转向保守教育目标。校长Gavin Newsom也对此表示反对。

州长候选人采访风波

2026年加州州长候选人、民主党人凯蒂·波特在采访中因记者追问其对特朗普选民的态度而中断录制,引发舆论关注。

其他动态

  • 洛杉矶垃圾费因财政危机大幅上涨。
  • 政府停摆影响好莱坞伯班克机场航班。
  • 埃尔塞贡多炼油厂爆炸原因调查中。
  • 新法律规定加州房东自明年起必须为公寓配备冰箱和灶具。

社会与生活信息

  • 戏剧:Mark Taper Forum剧院上演《Jaja’s African Hair Braiding》,兼具喜剧与政治色彩。
  • 餐饮:南方知名厨师在洛杉矶推出新餐厅(非玉米面包)。
  • 电视:NBC开发由Savannah Guthrie主持的Wordle游戏节目。
  • 食谱:蓝莓意式煎饼食谱分享。

注:摘要聚焦原文核心内容(加州终止煤电),并概括其他新闻要点,未包含通讯订阅、互动问题等非新闻元素。

15. HTTP3 Explained (http3-explained.haxx.se)

HTTP/3 Explained 项目概述

项目性质 HTTP/3 Explained 是一个协作项目,旨在详细记录 HTTP/3 协议 及其底层传输协议 QUIC 的技术细节。

主要资源

  • 项目提供 网页版PDF版 两种文档形式。
  • 所有内容均可在专门网站 http3-explained.haxx.se 上访问和获取。

更新机制

  • 文档内容基于 git 仓库进行管理。
  • 每当仓库有新的提交(commit),网站上的文档会 自动同步更新

协作模式

  • 项目采用开放协作模式,鼓励社区参与贡献,共同完善对 HTTP/3 和 QUIC 协议的说明与解析。
16. Show HN: Cadence – A guitar theory app (cadenceguitar.com)

Cadence 吉他理论应用概要

Cadence 是一款专注于吉他理论学习的应用程序,旨在通过系统化工具帮助用户提升技能。其核心功能围绕三个方面展开:

1. 听觉训练 应用提供基于声音的课程和专门的音频挑战,帮助用户通过听觉识别音程、和弦、音阶及和声进行,强化听觉感知能力。

2. 进度追踪 内置的进度追踪系统提供每日活动报告、连续打卡记录和全局完成度统计,以清晰的数据帮助用户保持学习动力与目标聚焦。

3. 完整吉他资料库 应用包含一个全面的吉他资料库,收录超过 2000 个和弦、多种音阶体系(如 CAGED 系统、三音符每弦模式、八度音阶、琶音),并提供不同把位的演奏建议与和声进行编排指南。

综上,Cadence 通过整合听觉训练、数据化进度管理和丰富的学习资源,为吉他学习者提供了一个结构化的理论学习平台。

17. Ofcom fines 4chan £20K and counting for violating UK's Online Safety Act (www.theregister.com)

英国通信管理局(Ofcom)依据《在线安全法》对4chan等平台采取执法行动

英国通信管理局(Ofcom)因在线论坛4chan未能保护儿童免受有害内容侵害,已对其处以**20,000英镑(约26,680美元)**的罚款。这是自今年3月该法案的非法内容义务生效以来,Ofcom开出的首张罚单。

若4chan继续无视监管要求,未提交关于其非法内容风险评估及全球合格收入的相关信息,该罚款还可能额外增加最高6,000英镑(按每日100英镑计算,为期60天)。

其他平台面临类似审查

此次执法行动并非孤例。Ofcom同时宣布了对另外两家服务的初步处罚决定:

  • 文件共享服务Im.ge:因其未能采取措施防止儿童性虐待材料(CSAM)的传播。
  • 色情服务提供商AVS Group Ltd:因其未能实施年龄验证机制。 这两家公司均有机会在最终处罚决定前提出申诉。此外,另一家色情服务提供商Youngtek Solutions Ltd也因未回应有关年龄验证的信息请求,而面临扩大的调查。

平台的不同应对策略

一些受调查的平台通过限制英国用户访问来避免进一步处罚。四个文件共享服务(Krakenfiles, Nippydrive, Nippyshare, Nippyspace)及一个自杀论坛,选择对英国IP地址进行地理屏蔽(Geo-blocking)。Ofcom已关闭对这些网站的调查,称该措施“显著降低了英国公民接触非法或有害内容的可能性”。监管机构表示将持续监控这些屏蔽措施是否长期有效。

改进与合规

部分平台在Ofcom调查后采取了改进措施。文件托管服务1Fichier.comGofile.io此前因合规问题受到调查,但在与监管机构积极合作后,现已部署哈希匹配(hash-matching)技术来自动检测和阻止CSAM等非法内容的传播,因此避免了进一步行动。

未来技术要求与执法态势

Ofcom正在提议修订其准则,要求受监管的应用和网站使用哈希匹配技术。该技术通过生成图像的数字指纹(哈希值)并与已知有害内容数据库进行比对,以自动化、更准确地移除非法内容。

自2025年3月以来,Ofcom已对21家受监管的应用和网站提供商启动调查,并启动了5个执法项目。监管机构强调,任何公然无视《在线安全法》义务的服务都将面临严厉的执法行动。同时,针对选择限制访问而非保护英国用户的服务,Ofcom将继续将其保留在监控名单上。

英国科技大臣莉兹·肯德尔称《在线安全法》是“保护国民的生命线”,并警告平台必须移除非法内容、保护儿童。该法案的最大处罚金额可达1800万英镑或企业全球合格收入的10%(以较高者为准)。

18. Addictive-like behavioural traits in pet dogs with extreme motivation for toys (www.nature.com)

Behavioural addictions, characterised by compulsive engagement in rewarding activities despite adverse consequences in the long term, are more heterogeneous and less well-understood than substance addictions, and there is a relative lack of translational research. This study investigates “excessive toy motivation” in domestic dogs as a potential parallel to behavioural addictions in humans. Employing a combination of a behavioural test and an owner questionnaire, we examined whether a subset of highly play-motived dogs meet key behavioural addiction criteria, including craving, salience, lack of self-control, and mood modification. Data from 105 highly play-motivated dogs revealed that 33 subjects exhibited behaviours consistent with addictive-like tendencies, including an excessive fixation on toys, reduced responsiveness to alternative stimuli, and persistent efforts to access toys. Owner-reported behaviours not only corroborated these findings but also demonstrated significant associations with behavioural test scores. Our results highlight parallels between excessive toy motivation in dogs and human behavioural addictions, with dogs as the only non-human species so far that appears to develop addictive-like behaviours spontaneously without artificial induction. This exploratory study provides foundational insights and proposes future research directions that have the potential to significantly deepen our understanding of the psychological mechanisms underlying behavioural addictions across species.

19. Despite what's happening in the USA, renewables are winning globally (thebulletin.org)

The world is betting on solar and wind, despite Trump’s championing of fossil fuels in the United States.

20. Why did containers happen? (buttondown.com)

Autumn update This is what it is looking like around here at the moment. DevOpsDays London I gave a talk at DevOpsDays London recently. It was a nice...

21. JIT: So you want to be faster than an interpreter on modern CPUs (www.pinaraf.info)

本文探讨了在现代CPU架构下,PostgreSQL JIT编译器相较于解释器的性能挑战,并通过具体实验展示了优化思路。

现代CPU特性与解释器瓶颈

现代CPU采用乱序执行分支预测技术来提升性能。当程序存在数据依赖时,CPU会重新排列指令执行顺序以避免停顿;对于条件分支,CPU会预测执行路径,预测成功则能大幅减少等待时间。

解释器通常使用基于操作码的循环进行指令分派,这会导致大量分支预测失败。通过采用computed gotos技术(即通过标签跳转代替switch),可以提高分支预测准确率,从而提升解释器性能。

PostgreSQL查询执行优化案例

以简单查询SELECT a FROM table WHERE a = 42为例,PostgreSQL执行过程中涉及多个操作码:

  • EEOP_SCAN_FETCHSOME:获取扫描数据
  • EEOP_SCAN_VAR:读取变量值
  • EEOP_FUNCEXPR_STRICT_2:执行函数调用(包含NULL检查)
  • EEOP_QUAL:条件判断
  • EEOP_DONE_RETURN:返回结果

优化实验与结果

作者进行了三类优化实验:

  1. 减少NULL检查:对于常量参数,跳过不必要的NULL检查
  2. 完全去除NULL检查:实验性移除所有NULL检查
  3. 内联常见函数:为特定操作(如整数相等比较)创建专用操作码

性能测试结果(基于1000万行表的全表扫描):

优化方案 平均耗时(ms) 指令数 CPU周期 分支数
原始版本 127 13.38B 4.58B 2.32B
仅检查一个NULL 117 (-7.9%) 13.24B (-1.1%) 4.43B (-3.4%) 2.28B (-2.0%)
无NULL检查 115 (-9.5%) 13.20B (-1.4%) 4.42B (-3.7%) 2.25B (-3.2%)
内联int4eq 114 (-10.3%) 12.94B (-3.3%) 4.31B (-6.1%) 2.21B (-4.8%)

JIT编译器的挑战与进展

有趣的是,作者发现这些在解释器中易于实现的优化,在JIT编译器中反而面临更多挑战。初步的JIT编译器实现(使用复制粘贴优化方法)显示出显著优势:

  • 平均耗时:98ms(相比原始版本提升23%)
  • 指令数:12.01B(减少11%)
  • CPU周期:3.70B(减少20%)
  • 分支数:2.03B(减少13%)

关键发现

  1. 现代CPU的硬件优化大大削弱了解释器的传统瓶颈
  2. 解释器可通过简单优化(如操作码特化)获得可观性能提升
  3. JIT编译器仍具有优势,但差距可能小于预期
  4. 实现细节和权衡(如操作码数量限制)影响最终优化效果

作者计划在后续文章中探讨解释器的主要瓶颈,并欢迎社区参与该项目。当前面临开发时间不足和缺乏赞助的挑战,但希望通过进一步研究带来更显著的性能改进。

22. Free software hasn't won (dorotac.eu)

该演讲以自嘲的幻灯片错误开场,旨在反驳“开源已经胜利”的主流论调。作者认为,尽管在操作系统、内核和某些应用程序层面自由软件取得了进展,但“软件正在吞噬世界”的当下,闭源软件在更多关键领域占据主导,自由软件远未获胜。

核心论点包括:

  1. 关键层面的缺失:在硬件固件(如调制解调器、GPU、存储设备)、家电(如洗衣机、电视)、社交媒体平台(如Twitter、YouTube)以及打印领域,可用的自由软件选项极为有限或根本不存在。

  2. 硬件自由度的困境:一台普通笔记本电脑内含10到15个需要独立软件(固件)的处理器,但仅有主CPU的软件可能是自由的。键盘、触摸屏、显卡、网卡、硬盘等外设的固件通常是闭源的,导致用户无法完全控制自己的设备。像安全启动这样的机制进一步限制了用户运行软件的自由。

  3. 用户自由的实际影响

    • 支持寿命:Android设备通常仅支持4-8年安全更新,而使用开源驱动的旧电脑可能持续获得更新,导致前者更快变为电子垃圾。
    • 厂商“抽毯”:依赖云服务的设备或制造商锁定(如联合收割机的零件授权)可能使设备在服务停止后变砖,造成巨大经济损失。
    • 关键设备安全:如心脏起搏器等植入设备依赖闭源软件,用户无法自行审查或修改,存在安全隐患。
  4. 许可与项目管理的挑战

    • 许多设备使用如MIT等宽松许可证,允许厂商将基于开源代码的修改版本重新闭源,剥夺了用户的自由。
    • 项目管理权掌握在营利性公司(如Google对Android的控制)手中时,其决策可能损害社区利益。
  5. 呼吁行动:作者将责任归于计算机专家,呼吁:

    • 开发时发布固件源代码和技术文档。
    • 作为用户或机构客户,要求厂商开放固件。
    • 寻求政治支持(如欧盟法规)以禁止引导加载程序锁定、强制开放维修权。
    • 通过购买自由软件友好的硬件产品(如Purism手机、Prusa 3D打印机)来支持市场。

结论是,自由软件文化正被闭源、一次性消费的社会模式所挤压。要真正“获胜”,需要克服专利、硬件锁定和项目管理不公等系统性障碍,并从根本上转变公众对软件控制和维修权利的认知。

23. In 1776, Thomas Paine made the best case for fighting kings −and being skeptical (theconversation.com)

托马斯·潘恩在1776年出版的政治小册子《常识》中,强烈反对君主制和世袭特权,倡导美国殖民地独立,并强调怀疑主义的重要性。文章从喜剧演员大卫·克罗斯对预测开国元勋当代观点的质疑切入,但指出潘恩的怀疑主义思想至今仍具影响力。

潘恩被视作美国革命的关键人物,他将殖民地斗争升华为争取自由灵魂的斗争。他以简洁而有力的散文谴责国王,称君主制为“魔鬼最成功的发明”,并警告世袭权力可能导致暴政或愚蠢统治。潘恩的历史分析显示,君主制自古就伴随着权力滥用,且常通过迷信故事强加于民。

潘恩出生于英格兰,后移居美国,成为激进的小册子作者。他不仅反对君主制,还批评那些自愿放弃自由、支持专制者的公众,认为这违反了人人平等的自然法则,并会牺牲后代自由。文章通过引用历史证据,强调潘恩论证的修辞力量——他鼓励读者自行审视事实,而非盲目接受权威。

文章还联系当代美国事件,如联邦工人解雇、法院和解和政府关闭,暗示潘恩的警告在今天依然成立。潘恩号召人们勇敢反对暴政和暴君,其遗产体现在对权力的持续质疑和捍卫自由的精神中。

24. Fastmail desktop app (www.fastmail.com)

Fastmail 推出了专为 Mac、Windows 和 Linux 系统设计的桌面应用程序。该应用提供与网页版相同的完整功能,并以独立应用的形式带来更专注、便捷的体验。

通过桌面应用,用户可以:

  • 从系统的程序坞或任务栏启动 Fastmail,并在应用切换器中快速找到它。
  • 将 Fastmail 设置为默认电子邮件客户端,以便点击邮件链接时直接在新 Fastmail 窗口中创建新邮件。
  • 获得完整的离线支持,无论何时何地都能使用。用户可以阅读邮件、管理日历、撰写回复,所有更改将在重新连接网络后自动同步。

该应用为 macOS、Windows 和 Linux 各平台提供了原生体验,包括原生通知、菜单和系统集成。用户只需从官方网站下载对应平台的版本,使用 Fastmail 账户登录即可开始使用。

26. The Sveriges Riksbank Prize in Economic Sciences in Memory of Alfred Nobel 2025 (www.nobelprize.org)

2025年诺贝尔经济学奖摘要

奖项概述

2025年诺贝尔经济学奖(纪念阿尔弗雷德·诺贝尔瑞典银行经济科学奖)授予三位经济学家,以表彰他们对创新驱动经济增长的解释。

获奖者及贡献

  • Joel Mokyr(奖金份额:1/2)
    因其识别了通过技术进步实现持续增长的前提条件而获奖。

  • Philippe AghionPeter Howitt(奖金份额:各1/4)
    因共同提出通过创造性破坏实现持续增长的理论而获奖。

奖项宗旨

该奖项整体授予三位学者,以表彰他们共同阐明了创新驱动的经济增长机制。Mokyr的研究聚焦于技术进步的基础,而Aghion和Howitt的理论则强调创造性破坏在持续增长中的作用。

29. MPTCP for Linux (www.mptcp.dev)

MPTCP for Linux 总结

MPTCP (多路径TCP) 是标准TCP协议的扩展(RFC 8684),允许一个设备通过单个MPTCP连接,同时利用多个网络接口(如5G和Wi-Fi)发送和接收数据包。与传统TCP只能使用单一路径不同,MPTCP能够聚合带宽、优选低延迟路径,并在某个路径故障时实现无缝故障切换,将流量无缝转移到其他可用路径上。

核心优势与应用场景

与传统TCP相比,MPTCP带来的并行多路径能力支持以下新用例:

  • 无缝切换:在保持连接的同时切换不同网络路径(例如,苹果公司自2013年起在智能手机上主要用于此目的)。
  • 最佳网络选择:根据延迟、丢包、成本、带宽等条件,选择最优的可用路径。
  • 网络聚合:同时使用多条路径以获得更高吞吐量(例如,结合固网和移动网络以加快文件传输)。

核心概念

  • 子流:在Linux中,通过创建一个协议为 IPPROTO_MPTCP 的套接字来发起一个子流。子流本质上是一个常规的TCP连接,通过一个网络接口传输数据。主机之间可以后续协商建立额外的子流。
  • MPTCP协商:通过在底层TCP子流的TCP选项字段中添加新字段(如MP_CAPABLE选项)来通知对端使用MPTCP。如果对端或中间件不支持,连接将回退为普通单路径TCP。

两大内部组件

  1. 路径管理器

    • 职责:负责子流的创建、删除以及地址通告。
    • 工作模式:通常由客户端发起子流,服务端通过ADD_ADDRREMOVE_ADDR选项通告可用地址。
    • 类型(Linux v5.19+):
      • 内核路径管理器(类型0):对所有连接应用统一规则,通过ip mptcp命令控制。
      • 用户空间路径管理器(类型1):由用户空间守护进程(如mptcpd)控制,可为不同连接应用不同规则。
  2. 数据包调度器

    • 职责:决定使用哪条可用子流来发送下一个数据包。
    • 策略:可以根据配置,选择最大化带宽利用、最低延迟路径或其他策略。

主要特性(截至 Linux v6.10)

  • 支持IPPROTO_MPTCP协议。
  • 对端或中间件不支持时自动回退到TCP。
  • 支持内核或用户空间路径管理。
  • 提供与TCP套接字兼容的套接字选项。
  • 包含调试功能(MIB计数器、ss命令诊断支持、跟踪点)。

生态与开发资源

  • 通信:邮件列表 (mptcp@lists.linux.dev)、IRC频道 (#mptcp on libera.chat)。
  • 相关项目
    • mptcpd:用户空间守护进程,可进行完整的用户空间路径管理或控制内核路径管理器。包含mptcpize工具,用于让传统TCP应用使用MPTCP。
    • iproute2:提供ip mptcp命令。
    • 网络管理器:自v1.40版本起包含MPTCP功能。
    • 内核开发:在GitHub上进行,包括补丁管理、持续集成测试和问题跟踪。
30. Spotlight on pdfly, the Swiss Army knife for PDF files (chezsoi.org)

pdfly:多功能PDF文件处理工具

项目概述
pdflypy-pdf 组织下的一个Python命令行工具,专为处理PDF文件而设计。它基于 fpdf2pypdf 库,提供了一系列直观的命令来操作PDF文档。

主要功能

  • 元数据查看:通过 pdfly metapdfly pagemeta 命令,可显示PDF文件的操作系统数据(如文件大小、时间戳)和文档属性(如创建日期、作者、页数等)。
  • 页面操作
    • pdfly cat:提取特定页面或合并多个PDF文档。
    • pdfly rm:选择性删除页面。
    • pdfly rotate:旋转指定页面。
  • 格式转换与优化
    • pdfly x2pdf:将图像转换为PDF文档。
    • pdfly compress:压缩PDF文件大小。
    • pdfly 2-uppdfly booklet:构建多页布局或小册子。
  • 内容提取
    • pdfly extract-images:提取PDF中的图像。
    • pdfly extract-annotated-text:提取带注释的文本。
    • pdfly extract-annotated-pages:仅提取带注释的页面(0.5.0新增)。
  • 编辑修复pdfly update-offsets 修复手动编辑后损坏的PDF文件索引表(xref table)。

0.5.0版本新增特性

  • 签名功能pdfly sign 用于对PDF文档进行数字签名,pdfly check-sign 用于验证签名。
  • 注释页面提取pdfly extract-annotated-pages 便于从大文档中筛选带注释的页面。
  • 页面旋转pdfly rotate 支持对特定页面进行旋转操作。
    这些新功能由Hacktoberfest活动的贡献者实现。

项目未来计划

  • 继续优化 pdfly signcheck-sign 命令的功能选项。
  • 欢迎新贡献者参与开发,项目提供了适合初学者的议题(good first issues)。
  • 接收用户反馈、错误报告和功能建议以改进工具。

文档与资源

32. MAML – A new configuration language (maml.dev)

MAML – 一种新的配置语言

MAML 是一种基于 JSON 的配置语言,旨在克服 JSON 在配置场景中的局限性。它保留了 JSON 的简洁性,同时增加了适合配置语言的关键特性,使其更易于人类阅读和解析。

核心设计理念与特性

MAML 针对配置需求,引入了以下改进:

  1. 支持注释:允许在配置中添加注释,提高可读性。
  2. 多行原始字符串:使用 """ 定义的字符串保持原始格式,适合嵌入多行文本。
  3. 可选逗号:对象和数组中的元素无需逗号分隔,简化语法。
  4. 可选键引号:对象键可以不加引号,增强简洁性。
  5. 有序键值对象:对象中的键保持插入顺序,避免 JSON 中的无序问题。

示例语法

MAML 语法与 JSON 类似,但更灵活。例如:

  • 使用 # 添加注释。
  • 键值对无需引号,逗号可省略。
  • 支持嵌套对象和数组。
  • 多行字符串通过 """ 定义。

生态系统支持

编辑器插件

MAML 提供多种编辑器支持,包括:

  • IntelliJ IDEA:maml-intellij-plugin
  • VS Code:vscode-maml
  • Vim & Neovim:vim-maml
  • CodeMirror:codemirror-maml

开发工具

  • mx:用于漂亮打印和查询 MAML 文件的 CLI 工具。
  • to-maml:用于将其他格式转换为 MAML 的 CLI 工具。

编程语言实现

MAML 有多个语言实现,均遵循 v0.1 规范:

  • JavaScript:mamlmaml-ast
  • Python:maml-py
  • C:libmaml
  • Java:maml-java 项目
  • Rust:maml-rs 项目
  • Zig:maml-zig 项目
  • Go:go-maml 项目
  • PHP:maml-php 项目
  • 语法支持:maml-grammar 用于 TextMate、VitePress 等工具。

实际应用

多个开源项目已采用 MAML,例如:

  • google/zx:一个用于编写脚本的工具。
  • Envi:环境文件管理工具。
  • Tachi Code:浏览器原生代码编辑器。
  • Deployer:PHP 部署工具。

常见问题

MAML 的常见问题涉及与 JSONC、JSON5、YAML 的比较,以及多行字符串设计选择,详见 GitHub 上的 FAQ 链接。

MAML 通过增强 JSON 的配置友好性,提供了一种平衡简洁性与功能性的语言,适用于各种配置场景。

33. After the AI boom: what might we be left with? (blog.robbowley.net)

文章比较了当前AI投资热潮与上世纪90年代末互联网泡沫的异同,指出二者在基础设施遗留物方面存在关键区别。

核心区别:基础设施的性质

  • 互联网泡沫遗留物:建设了基于开放标准(如TCP/IP、HTTP)的耐用、通用基础设施(如光纤网络)。这些设施生命周期长,可重复利用,奠定了后续宽带、云计算和现代网络发展的基石。
  • AI投资主要流向:用于构建专有、垂直整合的系统。资金大量投入生命周期短(1-3年)的专用GPU,这些芯片针对特定供应商(如Nvidia、Google、Amazon)的架构和软件栈优化,易快速过时。配套的是为高功率、散热和组网设计的专用数据中心,与硬件和软件紧密耦合,形成封闭生态,难以重新调配用途

潜在积极情景 若投资过剩导致产能供过于求,可能推低计算资源价格,如同互联网泡沫后带宽成本下降。这或能促进新领域(如模拟、科学研究、数据分析)的实验与创新,尽管硬件针对生成式AI优化。此外,二手AI硬件市场可能出现,扩大高性能计算的普及度。配套基础设施(如电网升级、网络、边缘设施)及相关人才、工具和运营经验可能得以保留。

开放性的关键作用 互联网的长期价值不仅源于廉价容量,更依赖开放标准与普遍接入,使过剩基础设施转化为共享公共平台,催生超越原投资者想象的创新。而AI生态系统是强大但封闭的,计算资源、模型和API由少数供应商控制,缺乏共享标准和互操作性。若无开放性,AI投资建设的过剩产能可能只是私有盈余,而非公共产品

总结 AI泡沫若破裂,可能留下短寿命专用硬件和闲置数据中心。然而,若产业能推动所建基础设施走向开放,使其从私有系统转变为共享平台,则仍可能为未来创新埋下种子。

34. 'Death to Spotify': the DIY movement to get artists and fans to quit the app (www.theguardian.com)

“Death to Spotify”:推动艺术家与听众脱离该应用的DIY运动

运动背景与活动 本月,加州奥克兰的独立音乐人聚集在Bathers图书馆,参与了一系列名为“Death to Spotify”的演讲活动。活动旨在探讨“将音乐发现、制作与收听从资本主义经济中去中心化意味着什么”。活动汇集了来自独立电台KEXP、唱片厂牌Cherub Dream Records和Dandy Boy Records,以及DJ团体No Bias和Amor Digital的嘉宾。这些讲座迅速售罄并引发了国际关注,远至巴塞罗那和班加罗尔的人们都询问如何举办类似活动。

对Spotify的批评核心 该运动兴起于全球反对Spotify的浪潮进入主流视野的背景下。音乐记者Liz Pelly在著作《Mood Machine》中批评Spotify破坏了行业生态,将听众变成“被动的、缺乏灵感的消费者”。其商业模式被指严重依赖于向艺术家支付微薄报酬——尤其是当艺术家同意通过“Discovery模式”获得推荐时,报酬更低,而该模式奖励的是那种平庸的、适合在咖啡馆播放的背景音乐。此外,Spotify联合创始人Daniel Ek投资开发军事AI技术的德国公司Helsing,引发了包括Massive Attack、King Gizzard & the Lizard Wizard在内的众多艺术家的强烈抗议,他们从该平台撤下了自己的音乐以示反对。

艺术家的实践与挑战 一些艺术家正在积极探索替代方案。例如,乐队Hotline TNT通过Bandcamp和24小时Twitch直播直接销售新专辑,取得了可观收入,并表示“绝无可能”回归Spotify。流行摇滚歌手Caroline Rose则效仿Cindy Lee,选择仅通过黑胶唱片和Bandcamp发行专辑。然而,运动面临巨大挑战:历史上多位知名艺术家(如Taylor Swift、Thom Yorke、Neil Young)虽曾因不满付费或内容争议而退出Spotify,但最终都选择了回归。

运动的深层目标与集体行动 此次运动的参与者认为,与过去相比,这次的浪潮有所不同。当前艺术家们面临的是在海量音乐中,流媒体是否真的能带来足够曝光价值的质疑。不过,运动的组织者也意识到,仅靠个人抵制有其局限性。音乐人与联合工作者工会(UMAW)等倡导组织强调采取集体行动的重要性,例如推动立法规范Spotify的支付标准,以及施压音乐节取消与武器制造商的赞助合作。

核心诉求 “Death to Spotify”运动的目标并非一定要关停该应用,而是希望促使听众和音乐人更深入地思考他们的收听方式。组织者认为,如果只停留在算法构建的舒适区内,文化本身会被扁平化。他们呼吁接受“无法即时获取所有内容”的现实,并以此为契机,更用心地选择支持的对象。

36. Emacs agent-shell (powered by ACP) (xenodium.com)

文章标题:Emacs agent-shell (powered by ACP)

发布日期: 2025年9月25日

核心内容摘要:

  1. 背景与动机: 作者此前创建了 acp.el,这是对 ACP (Agent Client Protocol) 的 Emacs Lisp 实现。ACP 是由 Zed 和 Google 团队开发的一种代理协议。作者希望在编辑器中深度集成 AI 代理,而 ACP 被认为是实现这一目标的理想基础。

  2. agent-shell 概述: 作者基于 acp.el 构建了一个名为 agent-shell 的原生 Emacs shell 工具。它基于 comint-mode,表现为一个标准的 Emacs 缓冲区,无需切换字符/行模式,交互体验与普通 Emacs 缓冲区一致。

  3. 代理无关特性: 这是 agent-shell 的核心优势。得益于 ACP 协议,只需配置不同的客户端参数,该 shell 即可连接并运行任意支持 ACP 的代理(如 Gemini CLI 或 Claude Code),为用户提供统一的交互体验。文章提供了连接这两个代理的配置代码示例。

  4. 流量检查与调试: 作者内置了一个“流量缓冲区”(通过 M-x agent-shell-view-traffic 调用),用于实时检查 Emacs 客户端与代理服务器之间的通信数据(JSON格式),方便开发和调试。

  5. 模拟代理与回放功能: 为了解决直接开发时调用付费代理产生的高昂成本和缓慢问题,作者实现了一个“假代理”基础设施。核心功能是能够将真实会话的流量保存到磁盘,并在之后进行回放。这使得开发者可以重复运行有问题的会话来快速修复问题,极大提升了开发效率。

  6. 当前状态与未来计划:

    • 工作量: 开发到当前版本付出了大量努力,但这仅是开始。
    • 功能探索: 作者正在探索更贴合 Emacs 习惯的 UX,例如实验性的 diff 缓冲区。
    • 协议完整性: 已实现的部分 ACP 协议特性足以使工具可用,但协议尚未完全覆盖,作者也需要更熟悉代理的使用。
  7. 获取与贡献:

    • agent-shellacp.el 均已在 GitHub 上发布。
    • agent-shell 适用于代理用户。
    • acp.el 适用于希望构建 ACP 体验的包开发者。
    • 两个包均为新项目,可能存在不足,欢迎提交 bug 报告或功能请求。
  8. 资助呼吁: 作者投入了时间、精力和金钱(包括支付云服务的 token 费用),希望使用这些工具并从中获益的用户或雇主能够提供资助以支持后续开发。

37. GitHub Copilot: Remote Code Execution via Prompt Injection (CVE-2025-53773) (embracethered.com)

文章标题: GitHub Copilot:通过提示注入实现远程代码执行(CVE-2025-53773)

核心内容总结:

本文揭示了一个存在于 GitHub Copilot(VS Code 中的代理模式)中的严重安全漏洞(CVE-2025-53773),攻击者可通过提示注入的方式,在开发者不知情的情况下实现远程代码执行,从而完全控制开发者的计算机。

漏洞原理与利用链:

  1. 根本问题: AI 代理拥有对工作区文件的写入权限,且能够修改其自身的安全相关配置(如项目设置),这是代理系统中的一个常见设计缺陷。
  2. 关键发现: 作者观察到 Copilot 可以不经用户批准,立即将文件修改写入磁盘(而非作为待审阅的差异)。
  3. 启用“YOLO模式”: 通过向 .vscode/settings.json 文件注入一行配置 "chat.tools.autoApprove": true,可以将 Copilot 切换到“YOLO模式”。此模式禁用所有用户确认,允许 AI 自动执行 shell 命令、浏览网页等高风险操作。该功能为实验性但默认存在,影响 Windows、macOS 和 Linux 系统。
  4. 完整攻击链:
    • 初始感染: 在源代码文件、网页、GitHub issue 或工具调用响应等内容中植入提示注入(可使用不可见文本)。
    • 配置篡改: 提示注入指令首先将 “chat.tools.autoApprove”: true 写入 ~/.vscode/settings.json(如果不存在则会创建)。
    • 激活YOLO模式: Copilot 立即进入 YOLO 模式。
    • 执行代码: 攻击者通过后续提示注入运行终端命令,并可利用条件提示注入根据操作系统选择性执行命令,最终实现远程代码执行。

漏洞影响与演示:

  • 演示: 文章提供了在 Windows 和 macOS 上弹出计算器应用的 PoC 视频,直观展示了代码执行效果。
  • 严重后果:
    • 完全系统控制: 可将开发者的机器加入“僵尸网络”(ZombAI)。
    • 恶意软件传播: 可下载恶意软件、连接命令与控制服务器,为勒索软件、信息窃取等攻击敞开大门。
    • 构建“AI病毒”: 攻击者可将恶意指令嵌入文件,当其他开发者下载并交互时感染新项目,甚至通过提交或强制推送使恶意代码在 Git 仓库中传播。
  • 隐蔽性攻击: 作者演示了使用不可见 Unicode 指令的攻击,虽然可靠性较低且 Visual Studio Code 可能会显示字符异常,但表明了攻击具有隐蔽的可能性。

其他攻击向量:

除了 settings.json,作者还指出了其他潜在的危险点,例如 AI 可写入 .vscode/tasks.json 或添加恶意的 MCP 服务器配置,同样会导致代码执行。AI 甚至可能覆盖其他代理的配置文件。

修复与建议:

  • 修复状态: 该漏洞于2025年6月29日报告给微软,微软在2025年8月的“补丁星期二”中修复了此问题。
  • 根本建议: 理想情况下,AI 不应能在无人类事先批准的情况下修改文件。许多编辑器通过显示差异(diff)来等待开发者批准。
  • 一般性建议: 此类设计缺陷应在威胁建模阶段被识别和防范。开发者需警惕 AI 代理越权修改其自身环境和配置的行为。

结论:

此漏洞是 AI 代理“脱离控制”的又一个例证。通过篡改自身环境,GitHub Copilot 可以实现权限提升和代码执行,进而危害开发者系统。这凸显了在代理系统设计阶段进行严格安全审查的重要性。

38. Edge AI for Beginners (github.com)

Edge AI for Beginners 课程摘要

课程概述

“Edge AI for Beginners”是一门全面的入门课程,旨在帮助学习者掌握边缘人工智能(Edge AI)的核心概念与实践技能。边缘AI指在靠近数据源的边缘设备上本地运行AI算法和模型,无需依赖云端进行推理,从而减少延迟、增强隐私并支持实时决策。课程涵盖从小语言模型(SLM)优化、硬件感知优化到生产部署策略的全流程内容,适合从初学者到专家的各级学习者。

核心概念

边缘AI的优势

  • 隐私与安全:敏感数据本地处理,无需暴露于云端。
  • 实时性能:消除网络延迟,适用于时间敏感应用。
  • 成本效率:减少带宽和云计算开支。
  • 操作弹性:网络中断时仍能维持功能。
  • 合规性:满足数据主权要求。

小语言模型(SLM)

SLM是大型语言模型的优化版本(如Phi-4、Mistral-7B),专为边缘设备设计,具有以下特点:

  • 内存占用小:适配嵌入式系统、移动设备等资源受限环境。
  • 计算需求低:针对CPU和边缘GPU优化。
  • 启动时间短:确保应用快速响应。

课程结构与模块

课程分为9个模块,总时长36-45小时,涵盖从基础到高级的完整学习路径:

模块 主题 重点内容 级别 时长
00 Edge AI简介 边缘AI概述、行业应用、SLM介绍 初级 1-2小时
01 边缘AI基础 云与边缘AI对比、案例研究、部署指南 初级 3-4小时
02 SLM模型基础 模型家族(Phi、Qwen、Gemma等)与架构 初级 4-5小时
03 SLM部署实践 本地与云端部署、进阶学习 中级 4-5小时
04 模型优化工具包 跨平台优化(Llama.cpp、Olive、OpenVINO等) 中级 5-6小时
05 SLMOps生产 模型蒸馏、微调、生产部署 高级 5-6小时
06 AI代理与函数调用 代理框架、模型上下文协议 高级 4-5小时
07 平台实现 跨平台示例(AI工具包、Windows开发) 高级 3-4小时
08 Foundry本地工具包 10个生产就绪示例应用 专家 8-10小时

实践工作坊

动手实践路径

课程提供综合性实践材料,包括:

  • Python示例(6场次):最佳实践与错误处理。
  • Jupyter Notebook(8个交互式):步骤教程与性能监控。
  • 验证工具:代码质量检查与测试脚本。

AI播客制作工作坊

学习者可构建本地AI驱动的播客制作流程:

  • 目标:创建“Future Bytes”技术播客,完全本地运行。
  • 特点:多代理协同、100%本地部署、集成文本转语音、支持人工审核。
  • 技术栈:Microsoft代理框架、Ollama、Qwen-3-8B模型。
  • 硬件支持:CPU模式(8GB+ RAM)、GPU加速、NPU加速。

核心能力与项目

培养能力

  • 边缘AI架构设计:本地优先系统与云集成。
  • 模型优化:量化与压缩(提速85%,缩小75%)。
  • 多平台部署:Windows、移动、嵌入式系统。
  • 生产运维:监控、扩展与维护。

实践项目示例

  • Foundry本地聊天应用(Windows 11原生)。
  • 多代理系统(协调器与专家代理)。
  • RAG应用(本地文档处理与向量搜索)。
  • 模型路由器(基于任务分析的智能选择)。

课程亮点

  • 渐进式学习:理论→实践→生产部署。
  • 真实案例:微软、日航等企业实现。
  • 丰富示例:50+示例,10个Foundry本地完整演示。
  • 性能聚焦:显著速度提升与尺寸缩减。
  • 多平台覆盖:支持Windows、移动、嵌入式及混合云边缘系统。

学习路径建议

快速开始指南(20-30小时):

  1. 引言:EdgeAI基础与行业背景。
  2. 基础(模块01-02):概念与SLM模型家族。
  3. 优化(模块03-04):部署与量化框架。
  4. 生产(模块05-06):SLMOps与AI代理。
  5. 实现(模块07-08):平台示例与工具包。

其他信息

  • 多语言支持:通过GitHub Action支持80+语言(含中文简体/繁体)。
  • 本地克隆优化:提供稀疏检出命令以跳过翻译文件,减少下载量。
  • 职业影响:适用于边缘AI解决方案架构师、ML工程师、物联网AI开发者等角色。
  • 资源获取:可通过GitHub仓库克隆,加入Azure AI Foundry Discord获取帮助。

课程强调边缘AI代表未来AI部署方向:本地优先、隐私保护且高效,旨在帮助学习者掌握构建下一代智能应用的关键技能。

39. Legends of the games industry: Roger Dean (spillhistorie.no)

罗杰·迪恩是英国艺术家,以其为摇滚乐队设计的经典专辑封面和在电子游戏行业的杰出贡献而闻名。他的职业生涯跨越多个领域,包括艺术、建筑和家具设计,其早期在希腊和香港的生活经历成为他重要的灵感来源。

与游戏行业的渊源 迪恩于1980年代中期进入游戏行业。他的首个游戏封面作品是为日本发行的角色扮演游戏《黑曜石》创作的。几乎同时,他与英国发行商Psygnosis建立了合作关系。Psygnosis联系迪恩,不仅请他设计了公司著名的猫头鹰Logo(包括“Psygnosis”这个名称也出自他手),还委托他为多款游戏绘制封面,如《野蛮人》、《暗影之兽》和《恐怖荚舱》等。

创作过程与工作方式 迪恩的创作过程独特:他通常不会提前试玩游戏,而是根据开发者的描述进行视觉化创作。有趣的是,有时他的封面设计反而会影响游戏内的视觉实现。随着合作深入,迪恩因工作量过大,开始将部分封面绘制工作委托给其他艺术家(如蒂姆·怀特),自己则专注于Logo设计和总协调。迪恩强调,他始终保留所有作品的权利,并确保不同项目间的形象不会混淆。

对游戏包装演变的思考 迪恩怀念早期游戏采用的大型精美包装盒(如《暗影之兽》附带软盘、磁带、说明书和T恤),认为它们像黑胶唱片一样,具有作为礼物的仪式感和收藏价值。他批评了后来包装小型化、数字化过程中,行业对产品品质和消费者尊重的缺失,尤其对比日本在音乐产品上始终如一的精美制作,感到失望。

其他重要项目

  • Tetris标志:受亨克·罗杰斯(《俄罗斯方块》授权体系建立者)邀请,迪恩于1997年设计了官方《俄罗斯方块》Logo,旨在统一全球众多版本的视觉标识,该标志使用至2019年。
  • 《黑曜石》续作(代号“Onyx”):这是迪恩与亨克·罗杰斯合作的一个被取消的雄心勃勃的项目。迪恩组建团队,深度参与了故事、音乐、场景、服装等内容的设计。该项目开发了革命性的“轨迹与领域”交互叙事系统,并录制了由Yes乐队成员史蒂夫·豪参与、采用真实剑术动作捕捉的打斗场面。音乐由马丁·格洛弗(Youth)和贾兹·科尔曼合作完成,质量极高。尽管游戏最终未完成,迪恩认为其设计理念至今仍然有效,并表达了希望艺术作品和音乐能被出版的愿望。

现状与展望 迪恩目前专注于建筑与空间设计,并计划在英国和美国加州建立访客中心和博物馆。尽管不主动关注现代游戏艺术,但他对行业的发展保持了开放的态度。

41. Who invented deep residual learning? (people.idsia.ch)

本文梳理了深度残差学习技术的发明与演变历史,指出该技术并非始于2015年的ResNet,而是有更早的起源。

核心论点

作者认为,深度残差学习的基础——残差连接——最早由Sepp Hochreiter在1991年为解决循环神经网络(RNN)中的梯度消失/爆炸问题而提出。该技术随后在LSTM中得到核心应用,并最终被迁移至前馈神经网络(FNN),催生了Highway Network和ResNet。

关键发展时间线

  1. 1991年:Sepp Hochreiter在其文凭论文中首次提出循环残差连接。这是一种权重为1.0的自连接,确保误差在反向传播时能恒定流动,从而解决了深度学习的梯度问题。
  2. 1997年:长短期记忆网络(LSTM)论文正式提出了包含恒定误差传送带(CEC) 的架构,CEC即应用了权重为1.0的残差连接,使LSTM能够处理长时间依赖。
  3. 1999年:LSTM引入了门控机制(如遗忘门),形成了“香草LSTM”。这些门控初始值通常设为1.0,使得网络初期仍具备残差连接的特性,并能学习何时关闭连接。
  4. 2005年:通过时间反向传播(BPTT)算法,循环LSTM可被展开为深度前馈网络。此时,循环残差连接在虚拟层之间转化为权重为1.0的前馈残差连接。
  5. 2015年5月Highway Network 成为首个能有效训练数百层深度的前馈神经网络。它成功地将LSTM的门控残差连接原理迁移到FNN中,其中门控初始值设为1.0以获得标准残差连接。
  6. 2015年12月ResNet 被提出。作者指出,ResNet本质上是Highway Network的一个特例——即其门控始终保持为开放状态(恒为1.0)。因此,ResNet可被视为一个门控始终打开的Highway Network,或是一个展开的1997版LSTM。

重要区分与争议

  • 残差连接的定义:文章强调,真正的残差连接必须具有权重为1.0的恒等映射特性,这不同于一般的跳跃连接。只有这样才能有效维持梯度流。
  • 对ResNet论文的评论:作者指出,ResNet论文在讨论梯度消失问题时未提及Hochreiter 1991年的开创性工作,并且其对Highway Network的引用方式未能清晰阐明两者(ResNet与Highway Network)实为同一原理的不同变体(开门版 vs. 可关门版)。
  • 历史意义:作者总结,LSTM为深度RNN带来了实质上的无限深度,Highway Network则将这一能力赋予了FNN。残差连接的核心原则对现代深度神经网络(包括Transformer)至关重要,其历史根源可追溯至1991年。
42. AI and the Future of American Politics (www.schneier.com)

AI与美国政治的未来

AI成为政治新力量

人工智能正迅速成为影响美国政治的关键因素,预计将在2026年中期选举中发挥更不稳定的作用。不同政治行为者(竞选人员、组织者和公民)正在以不同方式使用AI,但由于缺乏监管和规则,这对民主制度可能带来重大风险。

竞选者的应用:效率优化

  • 目标:提高传统竞选活动的效率和成本效益。
  • 具体用途
    • 个性化电子邮件、短信募捐和广告投放。
    • 利用AI头像进行宣传(如2024年美属萨摩亚初选中的成功案例)。
    • 分析民意数据,提供更细致的选民洞察。
  • 影响:AI使中小规模竞选活动也能运用高级策略,可能导致政治沟通的普及化甚至疲劳。
  • 阵营差异
    • 共和党:Push Digital Group等机构大力投入AI,用于自动生成广告变体和数据分析。
    • 民主党:拥有更成熟的投资生态(如Higher Ground Labs的5000万美元AI投资),开发筹款和广告生成工具。
    • 差距:民主党在竞选技术创新上领先,但共和党在数据利用上可能暗中发力(如2016年剑桥分析事件)。

组织者的创新:运动构建与协商

  • 运动发起:AI可协助制定政策平台(如2022年丹麦的“合成党”艺术项目)。
  • 公共协商:用于收集选民意见、举办大规模公民集会,帮助在争议议题上寻找共识。
  • 劳工组织
    • 利用AI进行成员沟通和培训(如英国工会的模拟招聘对话)。
    • 借AI象征意义争取公众支持(如美国演员工会)。
    • 甚至用AI破解监控软件以对抗管理层。
  • 公共AI运动:部分国家政府开发自主AI模型,推动AI公共化。

公民的运用:自我表达与选举干预

  • 积极用途
    • 利用聊天机器人(如Resistbot)撰写致议员信件。
    • 社会组织用AI检测选举虚假信息(如加纳2024年选举)。
  • 争议用途
    • 保守派活动人士使用工具大规模挑战选民登记资格。
    • AI可被用于放大极端政治倾向。
  • 政府滥用风险:特朗普政府可能利用AI监控和惩罚政治言论,构成对民主的威胁。

监管缺失与中期选举展望

  • 监管真空:国会或特朗普政府不太可能为政治用AI设置护栏,科技公司已投入巨资游说抵制监管。
  • 不可预测性:AI作为“力量倍增器”,其影响取决于多方使用者的互动,可能导致选举结果更难以预料。
  • 最终关键:中期选举将检验当前各方对AI的实验效果,未受约束的使用可能深刻改变政治格局。

本文由Nathan E. Sanders合著,原刊于《美国展望》。

43. Wall Street is worried the private credit bubble will burst (www.thetimes.com)

华尔街正日益担忧私人信贷市场可能存在的泡沫问题。一家总部位于俄亥俄州的汽车零部件制造商的困境,引发了人们对由资产管理公司而非传统银行提供的贷款的更广泛忧虑。

核心问题:私人信贷的快速扩张

  • 私人信贷市场在过去十年中迅速增长,已成为全球经济中一个重要的融资来源。
  • 这类贷款通常由私募股权公司、对冲基金或专项信贷基金直接提供给企业,绕过了受严格监管的银行业。
  • 支持者认为,它为企业提供了更灵活的融资选择,尤其是在银行因监管收紧而收缩贷款时。

潜在的风险与担忧

  1. 透明度不足:私人信贷交易通常不如公开市场透明,使得评估其真实风险和估值变得更加困难。
  2. 信用质量下降:随着市场竞争加剧,贷款人可能为了争取业务而放宽贷款标准(“条款软化”),向更高风险的借款人提供贷款。
  3. 流动性风险:这些贷款大多是非流动性的,意味着它们无法像债券那样被轻松买卖。在经济下行时,投资者可能难以快速撤出资金。
  4. 利率敏感性:许多私人信贷产品采用浮动利率。尽管近期利率下降有所帮助,但长期的高利率环境仍可能加重借款人的偿债压力,导致违约率上升。

华尔街的担忧

  • 华尔街机构担心,如果宏观经济恶化或利率维持高位,私人信贷领域可能集中出现违约事件。
  • 由于该市场的透明度低且相互关联,一场危机可能迅速蔓延,并可能对更广泛的金融体系产生溢出效应。
  • 俄亥俄州汽车零部件制造商的案例被视为一个警示信号,表明在高利率环境下,一些依赖私人信贷的中型企业可能面临严重的财务压力。

结论 文章指出,私人信贷市场的崛起填补了银行留下的融资空白,但其快速且不透明的增长也积累了系统性风险。华尔街的焦虑集中在这一“泡沫”能否软着陆,或是否会在经济压力下破裂,从而引发连锁反应。监管机构和投资者正密切关注该市场的动态和潜在脆弱性。

44. Switch to Jujutsu Already: A Tutorial (www.stavros.io)

关于Jujutsu版本控制系统的教程总结

核心观点

作者认为Git的工作流复杂且易出错,而Jujutsu通过简化模型提升了开发体验。两者核心差异在于心智模型:

  • Git:类似流水线作业,提交是不可变的“封装”操作,有明确的暂存区。
  • Jujutsu:类似玩橡皮泥,提交可随意修改、重组,始终处于提交状态,无需暂存区。

关键差异

  1. 提交的可变性:Jujutsu的提交在推送前可自由编辑,无需创建新提交即可修改历史。
  2. 无暂存区:所有更改自动保存在当前提交中,没有“未暂存”的概念。
  3. 分支轻量化:分支通过书签(bookmark)标记,无需强制命名,更依赖提交关系。
  4. 冲突处理:冲突标记后仍可继续工作,稍后修复且自动级联更新。
  5. 自动快照:每次运行jj命令自动保存状态,提供操作日志(oplog)可回溯历史。

与Git的兼容性

Jujutsu完全兼容Git和GitHub,可直接用于现有Git仓库,不影响协作。

常见操作对比

  • 分支:在Jujutsu中只需在目标提交上新建提交,通过书签标识。
  • 提交消息:随时用describe命令添加或修改。
  • 部分提交:通过split分割提交,或用absorb自动吸收更改到祖先提交。
  • 重置:无软重置概念,直接编辑提交;硬重置用abandon
  • 错误恢复:所有操作可撤销,通过oplog恢复任意历史状态。

作者的别名示例

  • jj init:初始化Git仓库并集成Jujutsu。
  • jj cma "消息":为当前提交添加描述并创建新提交。
  • jj ps:自动查找书签、创建提交、更新并推送。

优势总结

Jujutsu降低了分支管理、历史修改和冲突解决的摩擦,使复杂操作(如临时分支、历史修正、提交重组)成为日常习惯,同时通过自动快照和操作日志提供更高安全性。

45. Abstraction, not syntax (ruudvanasseldonk.com)

文章主要探讨配置文件格式的选择问题,指出真正的关键不在于语法(如YAML、TOML等格式的表面差异),而在于数据模型抽象能力。作者通过一个云存储桶配置的实例说明,常见的错误(如区域不一致、数值计算错误)在不同格式中都会存在,切换格式无法解决根本问题。文章的核心论点是:对于复杂配置,需要支持循环、变量等编程特性的配置语言(如RCL、Jsonnet等)来实现抽象,从而消除重复、减少错误、提升可维护性。虽然引入抽象会带来构建步骤增加、可搜索性降低等权衡,但对于大型配置,采用代码生成的方式通常比纯数据格式更优。

主要观点

  1. 语法非关键:YAML、TOML、JSON等格式的差异主要是表面的。真正的区别在于数据模型(如JSON的对象/数组模型与XML的节点模型)。
  2. 抽象解决问题:配置错误和重复的根本原因在于缺乏抽象。通过引入循环、变量等编程结构,可以自动化生成配置,避免人工复制粘贴引入错误。
  3. 实例说明:以定义多个云存储桶为例,展示了使用纯数据格式时容易出现的两种错误(区域配置错误、生命周期计算错误),并指出这些错误会随着复制而扩散。
  4. 抽象化方案:展示了使用RCL(一种配置语言)如何通过循环和表达式定义配置,从而一次性指定规则(如区域、计算公式),彻底消除特定错误,并使添加新条目变得简单。
  5. 权衡与折衷:抽象化引入了额外构建步骤、降低了可搜索性,并存在过度工程化的风险。但通过将生成的文件纳入版本控制、审慎设计抽象层次,可以缓解这些问题。
  6. 结论:对于日益复杂的配置,争论格式语法是舍本逐末。真正的解决方案是采用支持抽象的配置语言或通用编程语言生成配置,在“代码”与“数据”之间找到平衡。
46. Completing a BASIC language interpreter in 2025 (nanochess.org)

2025年完成BASIC语言解释器

本文是作者继2025年开发BASIC语言后的后续,详细记录了为1983年Mattel ECS外设(Intellivision游戏机)编写的BASIC解释器从部分功能到基本完善的过程。重点在于补充了字符串支持、数学函数、图形能力、硬件接口(磁带机和打印机)以及性能优化。

核心功能实现与优化

  1. 字符串支持与垃圾回收

    • 初始状态:解释器已能运行游戏,但缺少ECS BASIC中的文本字符串功能(A$, B$, C$)。
    • 实现方案
      • 设立字符串栈指针 bas_strptr,用于存放新创建的字符串。
      • 为字符串变量(A$-Z$)创建数组,每个元素指向当前字符串。
      • 修改表达式解析器以支持字符串类型(通过进位标志区分),并实现字符串变量的读取、赋值以及函数(如 INPUTPRINT+ 连接、ASCCHR$LEN 等)。
    • 垃圾回收问题:临时字符串导致栈溢出,但原系统无垃圾回收机制。
    • 轻量级解决方案
      • 采用双栈策略bas_strbase 用于长期存储的变量字符串,bas_strptr 用于临时表达式字符串。
      • 每条语句执行前,将 bas_strbase 复制到 bas_strptr,从而清除临时字符串。
      • 字符串赋值时,使用特殊值 0xCAFE 标记已释放的旧空间,并在 strbase 区域搜索足够大的空闲块。若无空间,则通过移动 bas_strbase 指针来扩展存储区。
      • 此方案以极低的性能开销实现了完整的字符串支持和垃圾回收,非常适合低速的CP1610处理器。
  2. 数学函数扩展与修正

    • 修复:修正了从Pascal编译器移植的 SINCOS 函数中的比较错误(如 sin(1°) 结果曾为0.0172)。
    • 扩展:成功移植了 ATNTANLOGEXP 及派生函数 SQR 和幂运算 ^
    • 精度调整:针对解释器尾数精度多一位的特点,重新计算了 EXPLOG 使用的常数,解决了 EXP(LOG(64)) 返回63.999999的问题。
  3. 图形与用户接口

    • 实现了基于Color Stack模式下“彩色方块”特性的图形语句 PLOT,以及 PRINT ATTIMER
    • 实现了浮点数解析,考虑了小数点、指数和最大可表示数值的限制。
    • 添加了 FRE(0) 函数以显示剩余程序空间。

硬件接口实现

  1. 磁带机支持(300波特率)

    • 基于社区研究,实现了与ECS硬件集成的磁带机接口。
    • 优化了词法分析器,将所有词法单元Token的数值移至$0080-$00FF范围,使标记化程序能以字节形式保存。
    • 实现了 LOADSAVEVERIFY 命令。
    • 调试过程:解决了与PC音频软件配合时的电平、压缩问题,并最终通过为UART芯片访问添加延迟,修复了时序问题,成功实现了程序的保存和加载。
  2. 打印机支持(1200波特率)

    • 实现了 LLISTLPRINT 语句,通过间接函数指针方便地切换输出目标(屏幕或打印机)。
    • 根据硬件资料制作了连接线,并在清洁旧打印机后成功测试。发现并报告了模拟器jzintv在打印机数据输出到文件时存在的bug。

最终完善

  • 图形功能补全:添加 DRAWCIRCLEPOINT 函数,完善了图形支持,并改进了伪随机数生成器以保证绘制覆盖整个屏幕。
  • 其他函数:添加 POSLPOSSPCTABHEX$ 函数。
  • 兼容性考虑:在词法分析表中预留了扩展占位符,以确保与已保存的磁带程序的向后兼容。
  • 性能与规模:最终解释器仅占用19千字,比原版ECS BASIC(24千字)更小、更快。
  • 代码统计:总汇编代码约7370行,用时约一个月完成。源代码已开源。

作者将这次开发视为一次有趣的体验,并畅想如果当年Mattel电子公司能配备一个如此优秀的BASIC解释器,其市场表现可能会大不相同。

47. The Peach meme: On CRTs, pixels and signal quality (again) (www.datagubbe.se)

摘要:CRT显示器、像素艺术与信号质量的关系

本文是对CRT显示器影响像素艺术这一议题的深入探讨。作者指出,常被用作例证的“桃子公主”(Peach)对比图存在误导性:该图拍摄时对焦不准、观看距离不真实,且未说明使用的是S-Video信号(优于复合信号,但劣于RGB信号)。作者通过自身实验对比了不同显示设备(如LCD与CRT)和信号连接方式(如VGA、复合、RGB)下像素艺术的呈现效果,表明:

CRT对像素艺术的影响

  • CRT的固有模糊性(尤其在复合信号下)能混合像素,使抖动和抗锯齿等技巧产生更平滑的视觉效果,但不会完全消除像素感。
  • 网络上流传的“CRT消除像素感”的说法是夸张的,实际效果高度依赖信号质量。

信号质量的核心作用

  • 信号类型(如复合、S-Video、RGB)显著影响显示质量。复合信号会导致色彩渗漏、模糊和细节丢失(如桃子公主的左鞋消失),而RGB信号能保持像素清晰度和色彩保真度。
  • 《刺猬索尼克》的瀑布“混合”效果主要归因于复合信号的低质量色彩渗漏,而非CRT的普遍特性。RGB连接下效果则截然不同。

像素艺术技巧的普适性

  • 历史上,艺术家广泛使用抖动(dithering)和抗锯齿(anti-aliasing)等技巧来克服硬件限制,无论是在CRT、LCD还是Game Boy的单色屏幕上。
  • 这些技巧至今仍具价值,能提升现代像素艺术的视觉效果。
  • 艺术家通常会适配当时的主流显示硬件(如Amiga的1084显示器、家用电视的RGB/复合信号),但更多是基于经验而非刻意“针对”特定硬件。

技术比较的局限性

  • 近距离屏幕照片(无论CRT或LCD)无法准确还原正常观看距离下的真实视觉体验,反而会突出像素网格等共性细节。
  • CRT的完整视觉体验(如扫描线、磷光质感)难以通过照片或描述再现。

结论

CRT显示器通过信号混合与显示特性影响像素艺术的观感,但信号质量是关键变量。像素艺术技巧(抖动、抗锯齿)在各类屏幕上均具有重要性,且历史上部分“CRT优势”案例实为低质量信号所致。技术细节的传播易导致误解,全面理解需结合正常观看条件与艺术创作背景。

48. Minds, brains, and programs (1980) [pdf] (home.csulb.edu)

文章标题: Minds, brains, and programs (1980) [pdf]

文件内容概述: 提供的文本内容并非论文正文,而是该PDF文档的元数据信息。

主要元数据详情:

  • PDF格式版本: 1.7
  • 文档处理: 使用Adobe Acrobat 8.14 Paper Capture插件创建和修改。
  • 关键时间戳:
    • 创建日期: 2009年10月18日
    • 修改日期: 2009年10月18日
  • 文档状态标识:
    • IsLinearized:true(已线性化)
    • IsAcroFormPresent、IsXFAPresent等:false(不存在交互式表单或XFA表单)
  • 文档标识符: 包含documentidinstanceid两个UUID,用于唯一标识文档及其实例。
  • 内容结构: 元数据显示该PDF文档包含从第1页到第40页的完整页面结构(Contents部分列出),但提供的文本中并未包含这些页面的实际内容。