开发工具资讯 第2页
聚合当前分类下的最新内容,按时间顺序查看第 2 页精选文章。

Carmack 夸 Bellard 更强:基础软件的权力,常常不在台前
John Carmack 在 X 上称赞 Fabrice Bellard,原话包括 “I admire Fabrice Bellard” 和 “almost certainly a better overall programmer than I am”。这事不该被读成“程序员排名赛”,更该读成一次罕见的灯光转向:高知名度技术偶像,把注意力打给了低调但深刻影响基础设施的人。对程序员和开源社区来说,真正该看的不是谁更神,而是谁的代码长期支撑了系统、谁在维护、谁在承担成本。

64KB 清零变 256KB 指令:Windows 兼容性真正贵在哪里
Raymond Chen 讲了一段 Windows 旧事:某个 x86-32 二进制翻译模拟器遇到一段糟糕初始化代码,64KB 栈缓冲区清零被编译成约 256KB 指令。模拟器团队最后为这段函数加了特判,把它替换成紧凑循环。重点不在工程师机智,而在兼容性系统常把上游技术债吸进自己的运行时规则里。

datasette-agent 0.3a0:LLM 可以写数据库了,但默认还要人点头
datasette-agent 0.3a0 新增 execute_write_sql,允许 LLM 在用户确认并经过权限检查后写入数据库。关键变化不是“AI 随便改库”,而是把数据库助手从查询推进到可控写入。真正要小心的是 --yes 和 --unsafe:它们提升效率,也会削弱人工闸门。

TimescaleDB hypercore 的 98% 压缩率,关键不在压缩率
TimescaleDB hypercore 会把旧时间序列 chunk 转成列式批次,再用 delta、Gorilla XOR、RLE 等按列压缩;案例里 308MB 压到 7.2MB,约 42.8 倍。它和 PostgreSQL TOAST 不是替代关系:TOAST 处理单个大字段,hypercore 吃的是跨行时间序列的规律。真正要看的是 schema、segmentby、orderby 和查询模式;选错模型,98% 只是海报数字。

Iroh 1.0:别急着喊“新互联网”,先看它能不能把 IP 的烂活接住
Iroh 发布 1.0 稳定版,核心主张是让应用用密钥而不是 IP 来寻址设备,并承诺 wire protocol 与多语言 API 稳定兼容。这事重要不在一次发版,而在它押注了一个更大的方向:互联网应用层正在试图把“位置”抽象成“身份”。

Emacs 不是缺功能,是把功能藏得太深
Karthinks 发布 Emacs“内置电池”系列第三篇,继续整理不装第三方包、几分钟内能学会的 stock Emacs 功能。重点不在“又发现几个冷门命令”,而在 Emacs 的老矛盾:能力沉积很厚,入口却很深。对 Emacs 老用户和重度文本工作者来说,这类文章的价值是少踩一轮文档考古成本。

Rust 重写 X11:yserver 能跑桌面了,但离替代 Xorg 还很远
yserver 正在用 Rust 从零实现一个现代 X11 server,已能在 standalone DRM/KMS 模式下跑 MATE、XFCE、Cinnamon 等真实桌面。它的看点不是“Rust 重写一切”,而是给 X11 做减法:保留现代桌面需要的部分,砍掉一批历史负担。别急着喊 Xorg 退场,兼容性、NVIDIA proprietary driver 和长期维护才是硬门槛。

Zinnia 不是 Rust 版 Linux,但它摸到了独立内核最硬的边
Zinnia 是一个 2024 年启动的 64 位类 Unix 内核项目,几乎全用 Rust 编写,已能在多款真实 x86_64 机器上启动,并运行较现代的 Wayland/X11 桌面环境。它还不是成熟 OS,更谈不上替代 Linux;真正值得看的是,个人/小团队内核项目正在从模拟器玩具逼近真机、驱动和 Unix 生态兼容这条硬边界。

Kage 开源:把动态网站渲染成无脚本离线包
Kage 是 tamnd/kage 仓库里的开源 Go CLI,MIT 许可证。它用 Chrome/Chromium 渲染网页,再移除 JavaScript,把页面和资源保存成本地镜像。 它的价值不是完整复制网站功能,而是把动态网页固化成更适合长期保存、离线阅读和分发的内容包。 最适合开发者、研究者和技术用户做资料归档;不适合指望保留登录、评论、搜索、地图、复杂表单等交互功能。

Perlis 的 120 条编程警句:AI 编程火了,软件业的老毛病没少
耶鲁页面收录了 Alan J. Perlis 的《Epigrams in Programming》120 条编程警句,主题横跨语言、复杂性、文档、AI、人机关系和软件演化。真正该看的不是这些话是否过时,而是今天的大模型编程、框架膨胀和技术债,仍在重复他点破的问题。对程序员和技术管理者来说,关键不是多用一个工具,而是重新定义理解、审查和维护责任。

zeroserve 兼容 Caddyfile:配置习惯不变,性能跑到 nginx 档位
zeroserve 新增 Caddyfile 兼容模式:可把 Caddyfile JIT 编译为用户态 eBPF,再生成 x86_64/ARM64 原生机器码,放进 io_uring 事件循环执行。 作者 CI 的 HTTPS 反向代理测试里,zeroserve-clang 在 2 线程 Ryzen 7 3700X 上吞吐接近 nginx,明显高于 Caddy。 这个结果适合 Caddyfile 用户做性能替代评估,但不能直接外推到所有生产环境,也不能等同于完整兼容 Caddy 生态。

JavaScript 的反常胜利:缺陷没消失,只是被入口和生态吞下去了
Gary Bernhardt 在 PyCon 2014 的《The Birth & Death of JavaScript》,用科幻喜剧讲了 JavaScript 从 1995 走向虚构 2035 的行业寓言。它最有价值的地方,不是支持或反对 JavaScript,而是解释一个反常事实:设计仓促、缺陷明显的语言,为什么能成为现代软件工业的地基。我的判断很简单:技术史里常赢的不是最优雅方案,而是占住入口、分发和生态的方案。

这个 SQL 转 ER 图工具,最值钱的是不碰你的 schema
SQL to ER Diagram 是一个免费开源的在线工具,可在浏览器本地把 SQL DDL 转成可交互 ER 图,支持 PNG/SVG 导出。它的重点不是“又一个画图器”,而是把读库、写文档、交接老项目这类低频刚需,压成零账号、零安装、低信任成本的工作流。边界也要说清:它更像轻量 ERD 生成器,不是完整数据库建模平台;URL 分享也别当成绝对私密。

LiveView 1.2:CSS 可以贴近组件,但隔离还得自己负责
Phoenix LiveView 1.2 发布,最显眼的新功能是 Colocated CSS:可以在 HEEx 模板里就近写样式,再由编译期抽取到现有 CSS 构建管线。真正要注意的是,1.2 没有默认提供样式作用域隔离;想用 scoped CSS,需要开发者自己实现策略。我的判断是:这次更新克制是对的,但组件库团队要提前把样式边界规则写清楚。

Fowler 的架构指南:别把架构师供起来,先把系统守住
Martin Fowler 的《Software Architecture Guide》不是新框架,也不是新方法论发布,而是一页长期维护的架构指南。它把架构拉回到一个更朴素的位置:专家开发者对系统重要设计的共享理解。真正的架构能力,不是画大图、抢决策权,而是识别哪些设计会拖慢未来,并让团队长期守住它。

SQLite 查询列能追到源头吗?Datasette 场景下答案是“能,但有条件”
Simon Willison 记录了一次 SQLite 列溯源研究:把任意查询结果列反向映射到来源 table.column,在 Python 场景下可行,但前提是底层 SQLite 编译时启用了 SQLITE_ENABLE_COLUMN_METADATA。更稳妥的路线不是解析 SQL 文本,而是借助 APSW 或 ctypes 调用 SQLite 已有的 C API;EXPLAIN 解析有启发性,但不应当被当作稳定接口。

luau-wasm 0.1a0 发布:Luau 进入 Pyodide 的分发链路,但还谈不上生态突破
Simon Willison 发布个人项目 luau-wasm 0.1a0,把 Luau 打包成可供 Pyodide 使用的 PyPI WebAssembly wheel。它的意义不在于提供成熟 Luau 运行时,而在于验证 Luau、WASM wheel 与 Pyodide 之间的分发路径已经可以打通。当前版本仍是 alpha,性能、兼容性和生产可用性都不能被过度解读。

Pyodide 的 WASM wheel 能发 PyPI 了:浏览器里的 Python,补的是分发秩序
Pyodide 314.0 开始支持面向 PyEmscripten/WASM 的 Python wheel 直接发布到 PyPI,并可在运行时用 micropip 安装。过去 Pyodide 维护者要自行维护、构建、托管 300 多个包,新包还要人工审核;这次变动把一部分生态责任交还给包维护者。它不会让所有 Python 包自动跑进浏览器,但会让适合 WASM 的包有一条更标准的分发路。

Orthodox C++:少用特性,也是一种工程能力
Branimir Karadžić 的《Orthodox C++》主张只使用一个接近 C 的 C++ 子集:用 C++ 改善 C,但避开异常、RTTI、iostream、过度 STL、过度模板元编程和过早追新标准。它不是官方标准,也不是社区共识,更像一套面向大型代码库、游戏引擎、嵌入式和跨平台工程的保守家规。真正被刺中的,不是现代 C++ 本身,而是把语言特性当工程能力的习惯。

阿拉伯文不是“换个字体”的问题:一篇前端工单揭开的文本渲染旧账
一篇技术长文从阿拉伯文网页两端对齐失败写起,解释了浏览器、PDF、搜索索引在阿拉伯文字处理上的长期欠账。真正重要的不是某个 CSS 缺陷,而是现代软件栈长期把阿拉伯排版当作拉丁文字的变体来处理。受影响的不只阿拉伯语,还包括波斯语、乌尔都语等使用阿拉伯字母体系的语言。

Paca 开源亮相:它想做的不是轻量 Jira,而是让 AI Agent 进 Scrum
Paca 是一个 Apache 2.0 开源、自托管的项目管理工具,可用 Docker 或安装脚本部署,定位为 Jira、Trello、ClickUp、Monday 的轻量替代品。它真正值得看的地方,是把 AI Agent 放进 Scrumban board、sprint、backlog 和目标里,而不是只加一个 AI 聊天框。现在适合小团队和 Agent 探索型团队试水,但还不适合直接替换成熟企业项目管理系统。