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


We Mourn Our Craft

Link | Comment
🔼 188 | 💬 180

我们为技艺哀悼

  • 作者没有预料到AI会吞噬其所有博客文章和代码,并被他人用于牟利;程序员角色正被降格为” glorified TSA agent”( glorified 安检员),负责审查AI生成的代码以确保没有危险内容混入生产环境。
  • AI编程工具确实有效,能比人类写出更好的代码——年轻同事正借助Warp、Cursor、Claude和ChatGPT等工具,以” bazooka-powered jetpacks”(火箭筒驱动的喷气背包)般的速度突飞猛进。
  • 资深开发者若坚持手工编码,将面临被超越的风险:老板会质疑为何资深员工工资是年轻员工的十倍,产出却仅为其十分之一;有房贷车贷和家庭的人最终仍会做出务实选择。
  • 作者既不庆祝新时代的到来,也不试图抵抗,因为太阳东升西落,个人的抗议无法阻止趋势的推进。
  • 作者深深怀念亲手编写代码的岁月:感受代码在指尖如黏土般被塑造、在凌晨2点与顽固bug搏斗的专注、创造值得骄傲之物的成就感,以及在作品上签名的满足感——如同画家在油画上署名。
  • 他们将是最后一代手工编码的人,未来的子孙将无法理解这种手艺人的情感,作者邀请读者一同哀悼这门即将消逝的技艺。

Start all of your commands with a comma (2009)

Link | Comment
🔼 490 | 💬 177

用逗号开头的命名方式管理所有自定义命令

  • 作者在 ~/bin/ 目录中添加自定义命令,但面临与系统命令重名的潜在风险
  • Debian/Ubuntu 系统包含数万个命令(作者的系统显示有 21,733 个),重名几率不容忽视
  • 理想的命令名前缀需满足:无需按 Shift 键、不能是系统命令使用的小写字母、不能是 Shell 或文件系统有特殊含义的字符(括号、反斜杠、冒号、反引号、单引号、斜杠、点号均被排除)
  • 逗号(,)完美符合所有要求:无需 shift 键、对所有工具和 Shell 都完全正常、不会与任何系统命令冲突
  • 使用逗号前缀后,只需输入逗号再按 Tab 键,即可方便地浏览和补全所有自定义命令
  • 这种命名策略已成功应用约十年,既实用又稳健,为日常命令操作增添乐趣

Hoot: Scheme on WebAssembly

Link | Comment
🔼 124 | 💬 24

Hoot:基于Guile的Scheme语言WebAssembly编译器工具链

  • Hoot是Spritely Institute推出的项目,用于在支持Wasm GC(垃圾回收)的现代浏览器中运行Scheme代码
  • 项目完全基于Guile构建,无外部依赖,提供完整的Scheme到Wasm编译器及全功能Wasm工具链
  • 工具链完全独立,自带Wasm解释器,支持在Guile REPL环境中直接测试Hoot生成的二进制文件
  • 最新稳定版本为v0.7.0,提供源码包、签名文件及配套文档下载,同时可通过Git获取开发版本
  • 项目提供丰富的学习资源,包括交互式网页构建教程、浏览器端Scheme编程演示及开发者访谈等内容

It's 2026, Just Use Postgres

Link | Comment
🔼 518 | 💬 322

2026年了,就用PostgreSQL吧

  • PostgreSQL是”一体化”数据解决方案:搜索、向量、时序、缓存、消息队列、文档存储、地理空间等全部功能集于一身,只需一个数据库、一套查询语言、一套备份策略,避免七套系统带来的运维噩梦;代码示例覆盖BM25全文搜索(pg_textsearch)、DiskANN向量索引(pgvectorscale,实现28倍更低延迟和75%更低成本)、时序压缩90%(TimescaleDB)、UNLOGGED表缓存、pgmq消息队列、JSONB文档和PostGIS地理查询
  • AI时代数据库 sprawl 问题更加突出:AI代理需要快速创建包含生产数据的测试环境、验证修复后销毁——使用七个数据库时需要协调跨系统快照、保证时间点一致性、配置七套连接字符串,这几乎是不可能完成的任务;而单个PostgreSQL仅需一条fork命令即可完成
  • PostgreSQL扩展使用与专业数据库相同甚至更优的算法:pg_textsearch与Elasticsearch同样采用BM25排名算法;pgvectorscale使用微软研究院的DiskANN算法;TimescaleDB提供完整SQL支持和90%压缩率;PostGIS自2001年起就是行业标准,优步和OpenStreetMap都在使用;pg_trgm提供模糊搜索和拼写容错能力,递归CTE支持图遍历
  • 头部公司已验证PostgreSQL的生产级成熟度:超过48,000家公司使用PostgreSQL,包括Netflix、Spotify、Uber、Reddit、Instagram和Discord;这些扩展已在大规模生产环境中验证多年(PostGIS 24年、全文搜索17年、JSONB 11年、TimescaleDB 8年、pgvector 4年),开源且透明
  • 99%的情况下专业数据库是过度工程:三个99.9%可用性的系统组合后仅为99.7%,相当于每年26小时宕机时间;Elasticsearch与PostgreSQL数据同步会引入数据漂移问题,需要额外维护reconciliation流程;只有当你真正遇到性能瓶颈时才会知道是否属于那1%,无需被厂商营销话术引导提前引入复杂性;启用扩展只需简单命令(如CREATE EXTENSION pg_textsearch;),无需额外部署

An Update on Heroku

Link | Comment
🔼 473 | 💬 314

Heroku 转向维护工程模式,聚焦稳定运行而非新功能开发

  • Heroku 宣布过渡到”维护工程模式”,工作重心从新功能开发转向稳定性、安全性、可靠性及客户支持服务
  • 通过信用卡在 Heroku 仪表板支付的现有及新客户不受任何影响,价格、计费、服务及日常使用保持不变
  • 核心平台功能完全不受影响,应用程序、管道、团队和附加组件等关键服务继续正常运行,可靠支撑生产业务负载
  • 企业账户合同将不再向新客户开放,但现有企业订阅和支持合同将继续有效并可正常续约
  • 公司将产品工程投资聚焦于帮助企业以安全可信的方式构建和部署企业级 AI 应用领域

France's homegrown open source online office suite

Link | Comment
🔼 567 | 💬 260

La Suite numérique:法国政府主导的欧洲开源数字工作空间

  • 项目性质:由法国国家数字机构DINUM和领土凝聚力机构ANCT联合开发,定位为”欧洲主权工作空间”,旨在保障欧洲数字自主权,采用MIT许可证实现100%开源
  • 欧洲合作背景:项目源自法国与荷兰、德国等欧洲国家的紧密协作,致力于构建不依赖美国科技巨头的本土化数字协作解决方案
  • 核心应用矩阵:协作文档平台docs(15.9k星标)、视频会议应用meet(1.7k星标,基于LiveKit)、文件管理drive(293星标)、协作收件箱messages(133星标)、团队管理people(107星标)、AI聊天机器人conversations(38星标)及开源设计系统cunningham(42星标)
  • 技术架构:以Python和TypeScript为主要开发语言,基于Django和React框架构建,遵循开放协作开发模式
  • 开源生态建设:曾举办黑客松活动,吸引15+国家约300名参与者(包括学生、研究人员、公共部门人员、开发者和设计师),评选出视频会议室连接器VRC Team、文档集成项目OpenProject-Hacking Borders、Math in Docs等优秀获奖作品

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

Link | Comment
🔼 833 | 💬 250

OpenCiv3:开源《文明III》现代化重制项目

  • OpenCiv3(代号”C7”)是由社区驱动的开源重制项目,采用 Godot 引擎和 C# 编写,定位为跨平台、面向模组的现代化重制版《文明III》,愿景是将其重塑为”本应成为的样子”:移除任意限制、修复损坏功能、扩展模组能力并支持现代图形与平台,可超越 C3C 但保留全部游戏内容和玩法,目前处于早期预阿尔法阶段(可玩但缺少许多机制和后期内容,可能存在错误)
  • v0.3 “Dutch” 预览版1 于2025年12月发布,作为首个里程碑版本带来重大升级:首次支持独立运行模式(使用占位符图形,无需原始 Civ3 文件),但仍建议安装本地 Civ3(推荐 Conquests 或 Complete 版本)以获得更精致的游戏体验
  • 支持 Windows、Linux、Mac(Intel 及 M1 芯片) 三大平台 64 位操作系统,通过设置 CIV3_HOME 环境变量指向本地 Civ3 目录即可运行;独立模式下无需本地 Civ3 文件
  • 社区交流渠道包括 CivFanatics 论坛专版Discord 服务器,项目代码与问题追踪托管于 GitHub(C7-Game/Prototype),欢迎玩家参与测试及开发者贡献代码
  • 存在已知问题:BIQ/SAV 文件支持不完整可能导致加载失败或崩溃;Mac 系统点击”新游戏”按钮会崩溃(需通过”加载游戏”打开 c7-static-map-save.json 或 Civ3 存档解决),其他具体问题可在 GitHub Issues 页面追踪
  • 采用 MIT 开源协议,明确声明与 Firaxis Games、BreakAway Games、Hasbro Interactive、Infogrames Interactive、Atari Interactive、Take-Two Interactive 及 civfanatics.com 无任何附属关系,所有商标归各自所有者所有