2026-02-08

16 篇热帖

We mourn our craft

内容摘要

这篇文章主要表达了作者对于人工智能代码生成工具快速发展和普及带来的影响的复杂情感,特别是对传统程序员职业的转变和失落感。

以下是文章的主要观点:

  • AI 代码生成工具的崛起: AI 驱动的代码生成工具(如 Warp, Cursor, Claude, ChatGPT)已经变得非常强大,甚至可以超越人类程序员的编码能力。这种趋势在未来六个月内将更加明显。
  • 职业转变的压力: 对于有家庭负担(房贷、车贷、子女)的资深程序员来说,避免使用 AI 工具可能会导致他们在工作中被年轻、更高效的同事取代,最终影响他们的职业稳定。
  • 传统编码的逝去: 作者预见,未来的某一天,人们会回想起手动编写代码的时代,并认为那是一种愚蠢的行为。虽然科技进步是不可阻挡的,但作者怀念过去那种“手握代码,如雕塑家塑造黏土”的感觉,以及在调试过程中克服困难的成就感。
  • 对逝去技艺的哀悼: 作者承认无法阻止科技的进步,但他选择与读者一同哀悼传统编程方式的逝去。这种技艺将如同考古遗址中发现的铁匠工具一样,成为后人研究的对象,但其核心价值和情感意义将不复存在。
  • 接受现实: 作者虽然不庆祝这个新世界,也不试图抵抗它, 而是选择接受科技发展的必然性,如同一个被太阳吸引的行星。

总而言之,文章表达了对传统编程职业逐渐消失的惋惜,以及对未来技术变革带来的职业压力和情感失落的深刻思考。 它并非反对技术进步,而是表达了对过去技艺和创造性劳动价值的缅怀。

Show HN: LocalGPT – A local-first AI assistant in Rust with persistent memory

LocalGPT 总结 (Summary of LocalGPT)

LocalGPT 是一个基于 Rust 构建的本地 AI 助手,旨在在本地设备上运行,保护用户数据隐私。它受到 OpenClaw 的启发并兼容其文件格式。

核心特点:

  • 单文件执行: 无需 Node.js、Docker 或 Python 等依赖。
  • 本地化运行: 完全在本地设备上运行,数据安全。
  • 持久化记忆: 使用 Markdown 文件作为知识库,支持全文和语义搜索。
  • 自主任务: 通过 "心跳" 功能自动执行任务。
  • 多接口: 提供 CLI 命令行界面、Web UI 网页界面和桌面 GUI 图形界面。
  • 多 LLM 提供商: 支持 Anthropic (Claude)、OpenAI 和 Ollama 等大型语言模型。
  • OpenClaw 兼容: 兼容 SOUL、MEMORY、HEARTBEAT Markdown 文件和技能格式。

安装:

使用 cargo install localgpt 命令安装。 cargo install localgpt --no-default-features 用于无桌面 GUI 的 headless 安装,适用于服务器和 CI/CD 环境。

快速上手:

  1. localgpt config init 初始化配置。
  2. localgpt chat 启动交互式聊天。
  3. localgpt ask "问题" 提问。
  4. localgpt daemon start 启动守护进程,实现后台运行、HTTP API 和 Web UI。

工作原理:

LocalGPT 使用 Markdown 文件存储知识,主要文件包括:

  • MEMORY.md: 长期知识库。
  • HEARTBEAT.md: 任务队列。
  • SOUL.md: 角色和行为指导。
  • knowledge/: 结构化知识库(可选)。

这些文件使用 SQLite FTS5 进行快速关键词搜索,使用 sqlite-vec 进行语义搜索。

配置:

配置信息存储在 ~/.localgpt/config.toml 文件中,包含模型选择、API 密钥、心跳设置和工作空间路径等。

CLI 命令:

  • chat: 交互式聊天。
  • ask: 单次提问。
  • daemon: 控制守护进程 (start, stop, status, heartbeat)。
  • memory: 管理记忆 (search, reindex, stats)。
  • config: 管理配置 (init, show)。

HTTP API:

守护进程运行时,提供以下 API 接口:

  • /health: 健康检查。
  • /api/status: 服务状态。
  • /api/chat: 与助手聊天。
  • /api/memory/search: 搜索记忆。
  • /api/memory/stats: 记忆统计。

技术栈:

LocalGPT 使用 Rust, Tokio, Axum, SQLite (FTS5 + sqlite-vec), fastembed, eframe 等技术构建。

项目地址: https://github.com/localgpt-app/localgpt

DoNotNotify is now Open Source

DoNotNotify 开源声明

DoNotNotify 应用程序现已开源。其完整源代码现在对公众开放,任何人都可以查看、研究和贡献代码。

源代码地址: https://github.com/anujja/DoNotNotify

开源原因:

DoNotNotify 的设计理念始终以隐私为核心。通过开源该应用程序,开发者旨在用透明的行动来支持这一承诺。用户无需仅凭开发者承诺,而是可以通过亲自审查代码来验证应用程序的功能,确保其仅执行其声明的功能。

参与方式:

欢迎社区成员参与贡献,包括:

SectorC: A C Compiler in 512 bytes (2023)

SectorC:512 字节的 C 编译器

SectorC (github) 是一款用 x86-16 汇编语言编写的 C 编译器,其大小限制在 x86 机器的 512 字节引导扇区内。它支持 C 语言的一个子集,足以编写真实且有趣的程序,因此很可能是有史以来最小的 C 编译器。

其 Base64 编码如下:

6gUAwAdoADAfaAAgBzH/6DABPfQYdQXoJQHr8+gjAVOJP+gSALDDqluB+9lQdeAG/zdoAEAfy+gI
AegFAYnYg/hNdFuE9nQNsOiqiwcp+IPoAqvr4j3/FXUG6OUAquvXPVgYdQXoJgDrGj0C2nUGV+gb
AOsF6CgA68Ow6apYKfiD6AKrifgp8CaJRP7rrOg4ALiFwKu4D4Srq1fonP9ewz2N/HUV6JoA6BkA
ieu4iQRQuIs26IAAWKvD6AcAieu4iQbrc4nd6HkA6HYA6DgAHg4fvq8Bra052HQGhcB19h/DrVCw
UKroWQDoGwC4WZGrW4D/wHUMuDnIq7i4AKu4AA+ridirH8M9jfx1COgzALiLBOucg/j4dQXorf/r
JIP49nUI6BwAuI0G6wyE0nQFsLiq6wa4iwarAduJ2KvrA+gAAOhLADwgfvkx2zHJPDkPnsI8IH4S
weEIiMFr2wqD6DABw+gqAOvqicg9Ly90Dj0qL3QSPSkoD5TGidjD6BAAPAp1+eu86Ln/g/jDdfjr
slIx9osEMQQ8O3QUuAACMdLNFIDkgHX0PDt1BIkEMcBaw/v/A8H9/yvB+v/34fb/I8FMAAvBLgAz
wYQA0+CaANP4jwCUwHf/lcAMAJzADgCfwIUAnsCZAJ3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAVao=

支持的语言

SectorC 支持相当大的 C 语言子集,包括:全局变量、函数、if 语句、while 语句、大量运算符、指针解引用、内联机器码、注释等。 所有这些功能使其具有相当大的能力。

例如,以下程序可以动画地显示一个移动的正弦波:

int y;
int x;
int x_0;
void sin_positive_approx()
{
  y = ( x_0 * ( 157 - x_0 ) ) >> 7;
}
void sin()
{
  x_0 = x;
  while( x_0 > 314 ){
    x_0 = x_0 - 314;
  }
  if( x_0 <= 157 ){
    sin_positive_approx();
  }
  if( x_0 > 157 ){
    x_0 = x_0 - 157;
    sin_positive_approx();
    y = 0 - y;
  }
  y = 100 + y;
}


int offset;
int x_end;
void draw_sine_wave()
{
  x = offset;
  x_end = x + 314;
  while( x <= x_end ){
    sin();
    pixel_x = x - offset;
    pixel_y = y;
    vga_set_pixel();
    x = x + 1;
  }
}

int v_1;
int v_2;
void delay()
{
  v_1 = 0;
  while( v_1 < 50 ){
    v_2 = 0;
    while( v_2 < 10000 ){
      v_2 =
I write games in C (yes, C) (2016)

为什么我选择用C语言编写游戏 (是的,就是C)

本文作者解释了为什么在现代游戏开发中,他仍然选择使用“纯粹”的C语言进行个人游戏项目的开发。他认为这是一个不常见的选择,并阐述了其背后的原因。

核心需求:

作者强调,他选择编程语言的首要标准是可靠性,避免因自身代码错误导致的Bug。同时,他希望避免重复移植游戏到新平台,因此需要一个长期稳定的平台。此外,语言需要具备良好的可移植性,并支持跨平台库,以便将来可能开发主机游戏。

期望特性:

作者更看重语言的简洁性。他认为复杂的语言特性和API会消耗大量精力。理想的语言应该易于记忆,无需频繁查阅文档。他强调减少Bug的重要性,因此希望语言具有严格的类型检查、强大的警告信息和静态代码分析功能,并提供优秀的Debug工具。虽然不追求高保真度,但性能也是考量因素,因为更高的性能意味着更广阔的设计空间。

编译速度对作者来说至关重要,快速的编译速度能保持创作流程,避免因等待编译而分心。

反对OOP: 作者不喜欢面向对象编程 (OOP) 的方式,认为其将代码和数据结合得过于僵硬。他更倾向于将数据视为数据,并使用最适合特定情况的代码。

替代方案评估:

  • C++: 尽管C++是游戏开发中常见的语言,但作者认为它过于复杂,容易产生难以追踪的Bug,并且编译速度慢。
  • C# 和 Java: 这些语言同样过于冗长和复杂,并且强制执行OOP风格,隐藏了潜在的复杂性。
  • Go: 作者喜欢Go语言,认为它在一定程度上借鉴了C语言的优点。然而,Go的“Stop-the-world”垃圾回收机制、游戏库支持不足以及相对较小的生态系统使其难以采用。
  • JavaScript: 作者不喜欢JavaScript的松散语法,认为难以编写大型软件。
  • Haxe: 作者认为Haxe在Web开发方面具有潜力,但对其年轻的生态系统存在一些担忧。
  • 自研语言: 尽管作者欣赏自研语言的做法,但他认为维护现有库和兼容性,以及专注于游戏开发本身更为重要。

C语言的优势:

作者最终选择C语言,因为它虽然危险(容易出错),但可靠。C语言速度快编译速度极快,并且可移植性强。它拥有强大的库支持和工具链,并且预计在未来也能保持其相关性。

总结:

作者强调,他的选择并非适用于所有人,而是基于其个人偏好和对游戏开发的特定需求。他选择C语言,是为了追求可靠性、简洁性和高性能,并避免陷入复杂的编程范式中。

The world heard JD Vance being booed at the Olympics. Except for viewers in USA

米兰奥运开幕式:全球直播时代下的叙事控制困境

本文主要讲述了在2026年米兰冬季奥运会开幕式上,美国副总统JD Vance及其夫人受到观众嘘声事件,以及由此引发的关于美国广播公司(NBC)是否篡改了音频的讨论,并以此为引,探讨了全球直播时代下美国体育广播面临的叙事控制困境。

主要内容:

  • 米兰开幕式事件: 在开幕式上,美国代表团入场时受到热烈欢呼,但当镜头转向美国副总统和夫人时,观众却发出了持续的嘘声。加拿大观众和部分记者听到了这些嘘声,但美国观众通过NBC的直播却未能听到。
  • 信息不对称: 由于现代体育媒体格局的改变,信息不再由单一广播公司控制。其他国家的广播公司(如CBC、BBC)以及社交媒体上的用户都记录并传播了这一事件,造成了信息不对称。
  • 未来挑战: 文章提出,随着美国即将举办2026年男足世界杯和2028年洛杉矶奥运会,未来如果美国官员在奥运会或世界杯比赛中受到嘘声,美国国内广播是否会选择屏蔽或忽略这些声音?如果屏蔽,又将如何应对其他国家广播的直播内容以及大量观众上传的视频?
  • 信任危机: 文章警告说,试图控制叙事可能会让美国广播公司失去信誉。观众已经普遍认为,总会有另一个角度,任何被隐藏的信息都会引起怀疑。
  • 政治背景: 文章指出,特朗普政府时期对媒体机构的敌意,也影响了广播公司的编辑决策。在涉及巨额版权费的高风险直播中,政治压力可能会导致对现实的扭曲。
  • 奥运精神与政治: 文章强调,奥运会本身就承载着政治因素,国际奥委会也承认政府是奥运会的一部分。
  • 2028年洛杉矶奥运会: 2028年洛杉矶奥运会开幕式上,如果时任总统特朗普(届时可能正在竞选连任)出席,预计将面临来自观众的复杂反应,包括欢呼、嘘声等,而无法完全消除。

核心观点:

文章的核心观点是,在全球直播和社交媒体普及的时代,美国广播公司试图控制叙事变得越来越困难,甚至可能适得其反,损害其信誉。观众已经习惯于从多个渠道获取信息,并对任何被隐藏的信息保持警惕。 奥运会等大型体育赛事将成为检验这种叙事控制困境的“主战场”。

总结:

米兰奥运会开幕式上的一段嘘声,预示着全球体育广播的新阶段:叙事控制不再是单一机构的特权,而是被分享、竞争和即时验证的过程。未来的挑战在于,如何在保持客观公正的同时,应对来自政治压力和社会舆论的复杂影响。

Beyond agentic coding

总结:超越代理式编码——探索更平静的 AI 辅助软件开发

本文作者对目前流行的代理式编码(agentic coding)工具持谨慎态度,认为其并未真正提高生产力,反而降低了开发者的舒适度和对代码库的熟悉度。作者基于自身经验、候选人面试观察以及 Becker 和 Shen 的研究表明,使用代理式编码的开发者在解决问题和提高效率方面并未表现出优势。

尽管如此,作者并未否定 AI 在软件开发中的潜力,而是希望探讨其他更有效的 AI 辅助软件开发方式。核心思想是遵循“保持用户在心流状态尽可能长的时间”这一设计原则,并借鉴“冷静技术”(Calm Technology)的设计理念。

冷静技术的核心原则包括:

  • 最小化对注意力的需求: 避免不必要的打断和干扰。
  • 作为“透镜”: 工具应揭示真实的对象(例如代码),而不是遮蔽它,让工具在用户熟悉后逐渐淡出视野。
  • 创造和提升平静: 营造平静的环境有助于用户进入和维持心流状态。

作者举例说明了符合冷静技术原则的工具:

  • 内联提示 (Inlay Hints): IDE 提供的类型注解等信息,在不打断用户思路的情况下提供辅助。
  • 文件树预览 (File Tree Previews): 快速预览文件结构变化,无需频繁交互。

作者认为代理式编码工具与冷静技术背道而驰:

  • 过度关注: 用户需要等待和响应 AI 代理的反馈,难以保持心流状态。
  • 间接交互: 通过聊天界面与代码交互,效率较低且精度不高。
  • 破坏平静: 聊天工具需要持续的刺激才能获取信息,且设计目标是最大化用户参与度。

作者提出了几种基于冷静技术理念的 AI 辅助工具:

  • 基于特征的项目导航: 通过语义特征浏览项目,提高理解和效率。
  • 自动提交重构: 将大型提交分解为更小的、易于审查的提交,减轻审查负担。
  • 文件透镜 (File Lens): 允许用户以不同的视角(例如,将 Haskell 代码“编辑为” Python)来修改代码。

结论:

作者认为,AI 在软件开发中的潜力远不止代理式编码,应探索更多创新的方式,以提升开发者的效率和代码质量,并始终以“保持用户心流状态”为设计目标。 聊天界面并非 LLM 最理想的应用方式,更应致力于打造更流畅、更平静的 AI 辅助开发体验。

Tiny C Compiler

Links 浏览器编译速度对比总结 (Summary of Links Browser Compilation Speed Comparison)

本文档记录了 Links 浏览器项目 的编译速度对比测试结果。该项目包含 76936 行代码,但由于头文件重复包含,实际编译代码行数达到 1950947 行 (67.2 MB)。

主要发现:

  • TinyCC 0.9.22 编译速度远快于 GCC 3.2 -O0。
  • TinyCC 的编译时间为 2.27 秒,速度约为 GCC 的 9 倍
  • TinyCC 的编译行数速率为 859000 行/秒,而 GCC 为 98000 行/秒。
  • TinyCC 的编译数据速率为 29.6 MB/秒,而 GCC 为 3.4 MB/秒。

总结: TinyCC 在编译 Links 浏览器时表现出显著的性能优势,编译速度和数据速率均远高于 GCC。

Speed up responses with fast mode

Claude Code 快速模式总结 (Claude Code Fast Mode Summary)

以下是对 Claude Code 快速模式的总结:

概述: 快速模式 (Fast Mode) 是一种增强 Opus 4.6 模型响应速度的选项,但会增加每个 token 的成本。它并非一个不同的模型,而是通过调整 API 配置,优先考虑速度而非成本效率来实现的。质量和功能与标准 Opus 4.6 相同,只是响应更快。

启用方式:

  • 使用 /fast 命令 (在 Claude Code CLI 或 VS Code 扩展中)。
  • 在用户设置文件中设置 "fastMode": true
  • 启用后,会显示 "Fast mode ON" 的确认消息,并在提示符旁边显示一个 图标。

定价:

  • 快速模式的 Opus 4.6 定价相对较高:
    • 小于 20 万 token: 输入 $30, 输出 $150
    • 大于 20 万 token: 输入 $60, 输出 $225
  • 目前 (截止至 2 月 16 日) 提供 50% 的折扣。

适用对象:

  • 所有订阅计划 (Pro/Max/Team/Enterprise) 和 Claude Console 的 Claude Code 用户。
  • 订阅计划用户使用快速模式算作额外使用量,不包含在订阅套餐的速率限制中。

使用场景:

  • 快速迭代代码更改
  • 实时调试
  • 时间紧迫的工作

不适合场景:

  • 长时间的自主任务
  • 批量处理或 CI/CD 管道
  • 对成本敏感的工作负载

与 Effort Level 的区别:

  • 快速模式: 相同模型质量,更低延迟,更高成本。
  • 降低 Effort Level: 更快的响应,但可能降低复杂任务的质量。
  • 可以结合使用,以实现最大速度。

重要限制:

  • 不支持第三方云提供商: 无法在 Amazon Bedrock、Google Vertex AI 或 Microsoft Azure Foundry 上使用。
  • 需要启用额外使用量: 账户必须启用额外使用量功能,以便超出订阅套餐的限制。
  • Teams 和 Enterprise 需要管理员启用: 对于 Teams 和 Enterprise 组织,管理员必须显式启用快速模式。

速率限制:

  • 快速模式有独立的速率限制。
  • 达到速率限制或耗尽额外使用量时,自动回退到标准 Opus 4.6。
  • 图标变为灰色,表示正在冷却。
  • 冷却结束后,快速模式会自动重新启用。
  • 可以通过运行 /fast 命令手动禁用快速模式。

声明: 快速模式目前处于研究预览阶段,可能随时更改。

FDA intends to take action against non-FDA-approved GLP-1 drugs

FDA 宣布限制 GLP-1 成分用于未经批准的复方药物,并打击误导性广告 (FDA Announces Restrictions on GLP-1 Ingredients in Unapproved Compounded Drugs and Combats Misleading Advertising)

发布日期: 2026 年 2 月 6 日

要点:

美国食品药品监督管理局 (FDA) 宣布将采取措施限制用于未经 FDA 批准的复方药物的 GLP-1 活性药物成分 (API)。 此举旨在保护消费者免受质量、安全性和有效性无法得到 FDA 验证的药物的影响。

具体措施:

  • 限制 GLP-1 成分: FDA 将采取措施限制 GLP-1 成分用于大规模市场销售的、被公司(包括 Hims & Hers 以及其他复方药房)宣传为 FDA 批准药物替代品的未经批准的复方药物。
  • 打击误导性广告: FDA 将采取措施打击直接面向消费者的误导性广告和营销活动,这些活动是在 2025 年秋季发出警告信之后展开的。
  • 禁止虚假声明: 宣传材料中,公司不得声称未经批准的复方产品是 FDA 批准药物的仿制药或相同药物。他们也不得声明复方药物使用与 FDA 批准药物相同的活性成分,或声称复方药物已被临床证明对患者有效。
  • 执法行动: FDA 将利用其所有可用合规和执法工具来解决未经验证的主张和相关的公共卫生问题。
  • 警告: 参与制造、分销或营销未经批准的复方 GLP-1 产品的实体应注意,未能充分解决任何违规行为可能导致法律诉讼,无需进一步通知,包括但不限于没收和禁令。

总结:

FDA 正在加强监管,以确保 GLP-1 类药物的可控性和安全性,并防止虚假宣传和不符合标准的复方药物对公众健康造成危害。 这项行动旨在维护 FDA 批准药物的质量、安全性和有效性。

Show HN: I saw this cool navigation reveal, so I made a simple HTML+CSS version

关于 clip-path 的趣味探索总结

本文档记录了一个使用纯 HTML 和 CSS 实现菜单展开效果的简单代码示例,灵感来源于 https://iventions.com/,并从 X (原 Twitter) 上看到 https://x.com/sekhsoyebali/status/2019845781772202194

主要内容:

  • 目标: 使用 HTML 和 CSS 实现一个点击按钮后展开菜单的动画效果,不使用 JavaScript。
  • 实现方式: 通过 clip-path 属性实现菜单的展开效果。
  • 两个 clip-path
    • 圆形 clip-path 用于模拟展开的菜单,通过一个圆形逐渐扩大来显示菜单内容。圆形的大小计算基于 vmax (viewport 的最大值,即宽度或高度中较大的一个)。具体公式为 circle(calc(1.42 \* 100vmax) at 0 0)。 其中 1.42 是根号 2,用于确保圆形在不同宽高比的屏幕上都能覆盖整个视口。
    • 多边形 clip-path 用于模拟“光束”效果。目前多边形的坐标是硬编码的,但作者提到可以通过 JavaScript 计算,以实现响应式设计,使其适应不同导航尺寸。

关键细节:

Microsoft account bugs locked me out of Notepad – Are thin clients ruining PCs?

Windows 11:云整合的代价与用户控制权的丧失

文章主要讲述了作者在使用Windows 11时遇到的问题,以及由此引发的对微软操作系统发展方向的思考。

主要内容:

  • Notepad无法打开事件: 作者发现自己的Notepad无法打开,原因是微软服务器端出现错误,导致应用无法通过账号验证。即使通过输入C:\\Windows\\notepad.exe绕过,也暴露了系统对网络连接的依赖。
  • 对“Thin Client”模型的担忧: 作者认为Windows 11越来越像一个“瘦客户端”,即主要依赖微软云服务的连接,用户自主控制权逐渐降低。
  • 默认设置与用户调整: 虽然作者对Windows 11的默认设置不反感,并能做出调整(例如卸载OneDrive,创建本地帐户),但Notepad事件让他对微软的决策感到困惑。
  • 对Debloater的担忧: 作者反对建议用户使用GitHub上的Debloater脚本来优化Windows 11,认为这并非解决问题的根本方法,更应该由微软回归对用户自主性的尊重。
  • 云服务与AI整合: 文章指出,微软的重心已转向云服务和Microsoft 365,而Windows 11的未来可能与AI深度融合,例如Copilot的集成。作者担心这种趋势会导致Windows更加依赖网络连接,并牺牲用户控制权。
  • 对Windows 12的展望: 作者询问读者是否认为Windows 12会回归用户控制权,或者会进一步发展成一个依赖网络的AI操作系统。

总结:

文章表达了作者对Windows 11过度依赖云服务和AI整合的担忧,认为这导致了用户控制权的丧失,并希望微软能够重视用户体验,回归对自主性的尊重。作者也对Windows 12的未来发展方向表示关注,希望微软能平衡云服务、AI整合与用户控制权之间的关系。

The silent death of good code

软件工程中“好代码™”的消逝:一篇反思

本文作者,一位软件工程师,分享了他对“好代码™”的理解和对当前软件工程趋势的反思。

什么是“好代码™”?

作者定义“好代码™”是:

  • 易于阅读和理解。
  • 令人愉悦地开发和维护。
  • 存在于明确的目的,并且没有多余的部分。
  • 是天赋、经验、热情和时间投入的罕见结合的产物。
  • 非常稀有。

作者的职业与“好代码™”

作者强调,尽管他热爱“好代码™”,但他的工作职责并非专门编写或阅读“好代码”。他的主要任务是创建解决实际问题的实用软件。

一个案例分析:内核集成系统的重写

作者提到,他在 Modal 的一位同事,最初将一个与 Linux 内核深度集成的外部系统从 C 重写为 Rust,为后续的定制功能开发做准备。最初的重写代码虽然没有问题,且符合 Rust 的惯用写法,但并非“好代码”,难以阅读和理解,难以扩展和维护,也缺乏明确的重写和维护理由。

随后,这位同事投入了时间,深入理解了内核子系统以及原始 C 程序编写的原因,并自行重写了 Rust 翻译。结果是截然不同的:代码流畅自然,自我解释,清晰地说明了底层子系统,甚至可能成为整个代码库中最好的部分之一。作者认为,即使在 C 语言通常更合适的场景下,Rust 代码的表现也优于原始 C 代码。

AI 代理的影响与反思

作者指出,他已经很久没有感受到代码编写带来的兴奋感了。现在,他通常不编写他提交代码的第一个版本,而是依赖 AI 编码代理。虽然这些代理在编写代码方面表现尚可,但无法达到“好代码™”的水平,输出的代码只是“可接受”的,能够完成任务并通过测试,但缺乏美感和可读性。

对软件工程趋势的担忧

作者担忧,“好代码™”的时代可能已经结束。他认为,正如过去对“好汇编”或“好电路”的追求逐渐消失一样,软件工程领域也可能正在经历类似的转变,而这种转变的速度却显得格外突然。作者对此感到惋惜,并哀叹“好代码™”的默默消亡。

Vouch

摘要:关于X.com(原Twitter)的隐私扩展问题

这段内容表明在使用X.com(前身为Twitter)时遇到问题。问题的根本原因可能是某些隐私相关的浏览器扩展程序造成的。

主要内容:

  • 问题: 用户在使用X.com时遇到了问题。
  • 可能原因: 某些隐私相关的浏览器扩展程序可能与X.com存在兼容性问题,导致其无法正常工作。
  • 建议: 建议用户禁用这些隐私扩展程序,然后再次尝试使用X.com。

总结:

X.com用户在使用过程中遇到问题,可能源于浏览器隐私扩展程序。 建议用户暂时禁用这些扩展程序以解决问题。

Italy Railways Sabotaged

意大利铁路发生破坏事件摘要

根据警方报告,意大利近日发生一系列针对铁路设施的破坏事件:

  • 破坏地点与行为: 在亚得里亚海沿岸的佩萨罗附近,警方发现铁轨转换器被纵火。随后,在博洛尼亚附近,警方发现电力电缆被切断,并且在铁轨旁发现了一个简易爆炸装置。
  • 博洛尼亚车站的重要性: 博洛尼亚火车站是意大利重要的交通枢纽,连接南北和东西方向的城市线路。
  • 政府回应: 副总理兼交通部长马泰奥·萨尔维尼表示,这些严重事件不会损害意大利的国际形象,反而会通过奥运会进一步提升其积极形象。
  • 调查进展: 警方正在调查这些事件,目前尚未有任何个人或组织声称对此负责。

总而言之,意大利铁路近期遭遇破坏,警方正在积极调查,政府则强调事件不会影响意大利的国际形象。