给软件开发者准备的优质简报,每日阅读 10分钟


If AI writes your code, why use Python?

898 pointsLinkComment(955)Share

AI时代,为什么还要用Python?

  • AI逆转了"硬语言"的传统劣势:强类型系统配合快速编译检查循环为AI代理提供最高效的迭代周期——Rust编译器错误信息作为实时训练信号,使AI能实时自我修正;Rust、Go、Swift等"人类难学"的系统语言,反而成为AI最擅长的目标语言
  • AI辅助下多个高难度项目突破性完成:微软用Go重写TypeScript 7.0编译器实现10倍提速;Anthropic研究员用16个并行Claude代理以约2万美元成本构建了可启动Linux 6.9及编译QEMU/Redis/SQLite/PostgreSQL的生产级C编译器;Steve Klabnik用Claude两周完成新系统语言Rue(约7万行Rust);Andreas Kling用Claude Code两周将Ladybird浏览器的JS引擎从C++移植到Rust(2.5万行,零回归,6.5万测试全通过)
  • Python/JavaScript生态底层正在被Rust接管:pydantic核心、Polars、Hugging Face tokenizers、ruff、uv均基于Rust;OpenAI收购Astral(因uv每周为Codex节省约百万分钟算力)、Anthropic收购Bun(730万月下载)、Evan You的Rolldown-Vite将GitLab构建从2.5分钟压缩至40秒
  • AI将贡献单位从"补丁"转向"移植",瓦解旧有开源逻辑:Armin Ronacher用AI将Rust库MiniJinja移植到Go,人类实际工作仅45分钟、API成本60美元;随着移植成本骤降,"打补丁回馈社区"的价值逻辑正在瓦解;Ronacher认为测试和文档可能比代码本身更有价值
  • 人类角色从"写代码"转向"架构设计与输出审查":Python的开发体验优势逐渐弱化,而高性能语言的运行时优势持续累积;Stack Overflow调查显示Rust连续十年最受欢迎(72%);Karpathy指出LLMs完全改变了软件工程的约束条件——未来编程语言的选择标准将从"人类最易掌握"变为"AI代理最易掌握"
  • 此转变仍有局限:Prisma移除Rust引擎转向TypeScript/WASM后bundle体积缩小85%、查询提速3.4倍(serverless不友好原生二进制);PyTorch仍占据85%深度学习研究份额(模型权重不依赖语言);Zig、Haskell、Gleam等小众语言因训练数据不足,AI生成质量尚未达到主流语言水平

I moved my digital stack to Europe

782 pointsLinkComment(497)Share

将数字技术栈迁移至欧洲的实践

  • 数字主权的核心诉求:作者将数字基础设施从美国服务商迁移至欧洲,强调数据应存储在自己控制的服务器上,以避免因政策变更、公司收购或管理层决策而失去对关键业务的访问权
  • 邮件与密码管理全面迁移至Proton生态:邮件从Google Workspace迁移至Proton Mail(总部瑞士,隐私法规与GDPR高度一致,端到端加密内置于协议层),密码管理从1Password迁移至Proton Pass(端到端加密、开源),但需适应Proton的过滤器系统限制和最多3个自定义域名的配额
  • 基础设施服务转向欧洲本土供应商:计算服务从DigitalOcean迁移至Scaleway(显示碳排放数据,引导选择巴黎数据中心),对象存储从AWS S3迁移至Scaleway S3(使用rclone同步耗时超过一周),异地备份从Backblaze迁移至OVHcloud(配置较复杂但成本更低),事务性邮件从SendGrid迁移至Lettermint(欧洲服务商,成本有所降低)
  • 部分美国服务因实际需求保留:Cloudflare因仅处理公开可访问的网站内容,Stripe因迁移涉及账单逻辑、webhook和税务发票等复杂系统,GitHub因开源项目的网络效应和开发者社区期望
  • AI工具保留美国厂商但转向欧洲友好方案:API集成从OpenAI迁移至Mistral(巴黎总部,开源权重模型),代码辅助保留Claude Code(Anthropic的安全和透明度理念更契合作者价值观),本地运行Qwen等开源模型正变得日益可行,开源模型与闭源API之间的差距正在快速缩小

The US is winning the AI race where it matters most: commercialization

110 pointsLinkComment(293)Share

美国正在赢得AI竞争

  • 商业化是决定性战场:美国从2025年1月DeepSeek R1冲击后加速推进,OpenAI押注AI代理和Codex,Anthropic将Claude Code商业化,在收入、工具成熟度和市场覆盖上均显著领先
  • DeepSeek的战略价值在于供应链自主而非商业盈利:它帮助中国减少对英伟达的依赖,推动推理转向华为昇腾等国产技术栈,这与可盈利的AI领导力不可混为一谈
  • 能源成本是影响因素但非最关键层:尽管美国电价(居民0.20美元/kWh、工业0.15美元/kWh)低于西欧主要经济体,但真正的领先源于芯片、电力、数据中心、云平台、开发者工具、消费平台和企业软件的同步构建
  • 云基础设施和数据平台是美国真正的战略高地:AWS、Azure、Google Cloud把控全球模型分发渠道,YouTube、Google Drive、Microsoft 365、GitHub等平台掌握AI时代的数据生成与组织权,可快速将新模型嵌入用户日常产品
  • 欧洲即使现在行动也需十年追赶:即使欧洲今天开始投资云基础设施建设,完成银行、制造商和公共机构的迁移后,AWS、Azure和Google Cloud已在规模、软件和数据上领先更远;目前唯一尝试是Arkady Volozh的Nebius,但这恰恰印证了欧洲整体落后的现实
  • AI竞争正演变为安全竞争:下一阶段或是"国家X的AI"在机器人网络、网络攻击和自主武器领域的对抗;前沿网络安全模型可能推动国防部门转向"通过模糊实现安全",采用封闭软件、封闭工具链、封闭固件和封闭芯片以限制对手获取技术上下文的能力

Setting up a free *.city.state.us locality domain (2025)

390 pointsLinkComment(116)Share

免费注册美国 *.city.state.us 地方域名完全指南

  • 美国地方域名是与地理位置绑定的三级域名格式(如 frederick.seattle.wa.us),创建于1992年,由政府合同维护;注册资格限于美国公民、永久居民或美国本土组织
  • 首先查找委托子域名列表获取对应地区的注册商邮箱;若不在列表中可尝试 gen.州名.us;未委托域名仅限当地政府注册(NeuStar自2002年起执行此政策)
  • 注册前需通过 Amazon Lightsail 准备DNS服务器:创建AWS账户后进入控制台的"Domains & DNS",选择"Use a domain from another registrar"创建DNS区域,即可获得2-4个名称服务器地址和IP
  • 填写 Interim .US Domain Template v2.0 并将完整内容发送至注册商邮箱,表单第6-9项需填入名称服务器信息,第10项根据用途选择"个人使用"类别,审核可能需要数天至数周
  • 审核成功后可在Lightsail的DNS区域中添加记录指向目标服务器;WHOIS查询不会暴露注册人个人地址,仅显示注册商信息;可结合GitHub Pages等免费托管服务搭建网站

Learning Software Architecture

580 pointsLinkComment(113)Share

软件架构学习的元观察与实践路径

  • 实践是软件设计的核心:大学课程中的设计教育如同"过家家",真正的设计能力来自实际项目——作者通过 IntelliJ Rust 项目承担软件领导角色时才真正学会设计;好消息是软件工程足够简单,好奇心强的人可以从第一性原理自行推导
  • 社会结构优先于代码:引用 neugierig 的洞察——代码不如架构重要,架构不如社会问题重要;学术与工业软件的差距主要源于激励机制("博士需在三个月内发表论文"),而非软件构建知识本身
  • 双轨应对激励结构:一是在罕见机会中引导项目激励(如 TIGER_STYLE 的成功秘诀在于其社会背景而非规则本身),二是若无法改变则学会适应——在约束条件下尽力而为是工业项目的常态
  • rust-analyzer 案例的权衡:深度编译器吸引少数专注贡献者,多个独立功能吸引"周末战士";功能代码用 catch_unwind 隔离并适度降低质量门槛("happy path works & tested"即可),但核心代码必须严格把控质量,且功能崩溃对用户完全不可见
  • 未来总是不按计划发展:rust-analyzer 原为避免写并行编译器而实验,最终却成了另一个编译器;uutils 项目从学习 Rust 的练手场演变为 Ubuntu 的核心工具
  • 推荐资源:Bernhardt 的 "Boundaries" 演讲、Hintjens 的 Conway 定律文章与乐观合并模式、Jamii 的《十年编程反思》、Kaminski 的博客(接近完备的软件开发理论笔记),以及《Software Engineering at Google》和 Ousterhout 的《软件设计哲学》

The Emacsification of Software

103 pointsLinkComment(58)Share

软件的Emacs化时代

  • 作者因TUI工具阅读疲劳、图形编辑器破坏工作区布局、App Store应用功能残缺,最终借助Claude AI在约30分钟内开发了专用Markdown查看器MDV.app——一个原本需要四处寻觅的"愚蠢工具",如今可以轻松定制
  • Signal等Electron应用导致的屏幕闪烁问题,揭示了"伪原生"应用的视觉缺陷:Electron应用本质上是嵌入的Chromium实例,性能开销巨大,而真正的原生UI开发人才极为稀缺,但Claude作为SwiftUI开发者"actually good"
  • "Emacs化"意味着软件正变得愈发个人化:大量工具只满足创建者自身需求后被遗忘,即使偶有工具"逃逸"出个人使用,其发布产物和源代码都不是最重要的东西
  • Emacs文化的核心在于分享创意而非代码:一旦知道如何在elisp中完成任务,自己构建往往比安装现成包更省力——因此对于这类软件,"提示词比源代码更有价值"
  • AI辅助开发使"构建"更接近"配置":终端工具和复杂系统监控工具的图形化改造成为可能,iostatbpftrace等原本晦涩的命令行工具可以变得直观易用

Reverting the incremental GC in Python 3.14 and 3.15

166 pointsLinkComment(52)Share

Python 3.14 和 3.15 回退增量垃圾回收器的决定

  • Python 3.14 引入了新的增量垃圾回收器,但在生产环境中引发了大量内存压力增加的反馈,核心团队与指导委员会经讨论后决定在 3.14 和 3.15 中回退到 3.13 的分代垃圾回收器
  • 3.15 处于 alpha 阶段进行此类修改属正常情况;3.14 作为补丁版本进行回退则较为罕见,因为增量 GC 未经过 PEP 流程审核,且在 3.13 最终发布前曾被回滚过
  • 发布计划方面,3.15 首个 beta 预定于 2026 年 5 月 5 日发布,3.14.5 原定于 2026 年 6 月 9 日发布,但将在回退准备就绪后提前发布
  • 社区讨论了同时保留两种垃圾回收器供用户选择的方案,但维护成本过高被否决,未来若要重新引入增量 GC 应通过正式的 PEP 流程进行更彻底的评估
  • tim.one 强调垃圾回收代码需要保持简洁,在自由线程环境下内存损坏问题可能在数十亿个周期后才显现,代码复杂度和"巧妙技巧"会增加理解和维护难度

Rendering the Sky, Sunsets, and Planets

519 pointsLinkComment(41)Share

用着色器渲染天空、日落和行星的大气散射技术

  • 文章灵感来源于奋进号航天飞机在低地球轨道日落时拍摄的照片,展示了从深橙色到蓝色渐变、直至融入太空黑色的大气层;实现这一效果的核心方法是光线步进(Raymarching)——从摄像机位置发射光线穿过透明介质,逐步累积光学深度来计算透射率(Transmittance)散射(Scattering)
  • Beer's Law用于根据光学深度计算透射率:T=exp(-β×OD),其中β为散射系数;天空呈现蓝色的原因是Rayleigh散射中短波长(蓝光0.0331)散射强度远大于长波长(红光0.0058);Rayleigh密度函数exp(-h/8.0)描述大气随高度变薄的趋势,Rayleigh相位函数3/(16π)×(1+μ²)描述光的各向异性分布
  • Mie散射处理尘埃、气溶胶等较大颗粒的散射,产生太阳附近的朦胧光晕,其各向异性参数MIE_G控制散射方向性;臭氧吸收仅消耗特定波长(主要吸收绿光和橙黄色光),使天空在日落时呈现蓝紫色调而非白色
  • 实现真实日落效果需要在光线步进循环中嵌套光照步进(Light March)——对每个采样点向太阳方向独立计算透射率,而不仅考虑从摄像机到该点的衰减
  • 将天空着色器转换为后处理效果需从屏幕UV坐标和深度缓冲区重建世界坐标,根据场景深度自适应调整采样步长;渲染行星大气还需射线-球体相交测试确定大气层的入射和出射点,并启用对数深度缓冲区处理行星尺度的深度精度问题
  • LUT优化方法将昂贵的计算预先生成为纹理:透射率LUT存储不同角度和高度的光衰减量(250×64分辨率),天空视图LUT存储全天空颜色,空中透视LUT存储场景物体间的大气雾效;最终合成时用天空视图LUT替换背景像素,用空中透视LUT的Alpha通道作为透射率修正物体颜色
  • 通过调整散射参数可渲染不同行星大气:火星参数(Rayleigh系数vec3(0.019, 0.013, 0.0057)、 Mie系数0.04)可呈现其独特的尘埃橙色大气和蓝色日落;日食效果则通过比较太阳和月亮从采样点的角半径来实现太阳遮挡判断
← 2026-05-12 2026-05-13 ...