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


GLM 5.2 Is Out

719 pointsLinkComment(441)Share

GLM-5.2 完全开源发布,前沿智能面向所有人

  • 对因非技术原因被突然限制访问的前沿模型表示深切遗憾,强调科学应当无国界共享,AGI发展道路不应被高墙封闭
  • AGI 应作为全人类共同探索智能边界与解决复杂挑战的基石,而非少数人垄断且可随时被撤销的特权
  • 面对外部封锁与限制,采取激进开放态度:前沿智能必须保持开源、可及、可构建,服务每一位专注的开发者
  • GLM-5.2 是智谱 AI 迄今最强的开源模型,支持真正可用的百万级上下文窗口,在长时序任务独立完成能力上持续领先,并继续作为打造最强国产编程模型的主引擎
  • 今晚 5:21 正式向所有 GLM Coding Plan 用户(Lite/Pro/Max)开放,API 将于下周上线

Leaving Mozilla

496 pointsLinkComment(305)Share

Mozilla十五年老员工的离职忠告:Firefox的成功在于"非普通"而非"像大公司"

  • Firefox用户是主动搜索、主动下载、无视所有"建议"坚持使用Firefox的"非普通用户",领导层却试图复制这些用户已有的主流浏览器功能,导致他们继续使用原有浏览器,DAU持续下降
  • 领导层不理解Mozilla真正开源的独特本质,从传统科技公司招来的高管来自"不要告诉任何人任何事"的保密文化背景,入职后微笑应付却无视Mozilla的透明历史和行事方式,做出与公司文化格格不入的决策
  • 过去五年Mozilla逐渐疏远社区志愿者,将无偿贡献代码、修复bug、翻译页面的贡献者仅视为"客户或粉丝",背叛了那些相信自己是Mozilla使命一部分的社区成员,这种自上而下的决策令众多志愿者心寒
  • Mozilla过去的成功来自倾听社区、让用户参与构建、给予他们真正的所有权感——当人们知道自己的意见能改变产品时,他们会自豪地向朋友推荐;这种增长来自口碑而非营销,但现在被遗忘了
  • 作者建议Mozilla应专注打磨核心浏览器功能、减少激进冒险项目,像对待"老顾客"一样对待现有用户,做回那个"街角温馨小餐馆"式的浏览器,而非追逐DAU数字或模仿大公司

Every Frame Perfect

813 pointsLinkComment(269)Share

每帧完美:UI 设计的信任原则

  • "每帧完美"是 Wayland 在 GPU 技术复杂性背景下提出的技术目标,作者将其引申为 UI 设计的核心准则:在任意时刻截取的界面截图都必须呈现合理的画面
  • 实现完美帧需避免:页面切换时的白屏闪烁、内容未完全加载、加载期间的布局跳动,以及界面不同区域显示矛盾信息(如一处显示"有 1 个更新可用",另一处显示"正在检查更新……")。
  • 动画是"完美帧"中最易被忽视的环节:界面在起始和结束状态可能都很完美,但中间过渡帧往往出现卡顿、不同步或怪异动作,给用户带来错误的感受。
  • 作者以 Toolbar 动画帧抖动、Safari 占位符与光标运动不同步、Photos 裁剪模式中画面与边框动画不一致、YouTube 奇怪的矩形移动、保存对话框粗糙动画等案例,揭示了"技术限制反噬程序员"和"动画被当作事后补救"两类常见问题。
  • 每帧完美是建立用户信任的关键:用户无法看到代码,UI 成为判断应用质量的唯一依据;UI 粗糙暗示代码同样马虎,从而侵蚀信任。
  • 作者呼吁开发者将 UI 视为精准的仪器而非随意的动画玩具,关注每一帧而非仅着眼于首尾状态。

The Birth and Death of JavaScript (2014)

183 pointsLinkComment(112)Share

《JavaScript 的诞生与终结》演讲概览

  • 讲者 Gary Bernhardt 于 2014 年在 PyCon 发表题为《The Birth & Death of JavaScript》的演讲。
  • 以科幻、喜剧与严肃相结合的手法,想象 JavaScript 与编程从 1995 年至 2035 年的历史进程。
  • 坦率指出语言缺陷,却强调其对软件行业的深远、积极影响,保持中立立场。
  • 想获取 Gary 对当下编程更严肃的见解,可观看其在 Destroy All Software 平台的教学视频。
  • 同时推荐 Execute Program 平台,提供 TypeScript、现代 JavaScript、SQL、正则表达式等上百个交互式代码示例的在线课程。

Show HN: Kage – Shadow any website to a single binary for offline viewing

173 pointsLinkComment(40)Share

Kage:离线静态网站镜像工具

  • 问题解决:传统"另存为"保存的页面六个月后往往变成空白屏幕或无限加载的转圈;kage 使用无头 Chrome 实时渲染完整页面,移除所有 JavaScript 和追踪代码,将最终 DOM 和资源保存为纯静态 HTML,输出可直接从磁盘打开、无需网络的本地副本
  • 爬取策略:遵循 robots.txt 和 sitemap.xml、按 URL 确定性映射文件路径(同一页面无论 http/https 或有无斜杠均只抓取一次)、支持 Ctrl-C 断点续传、--refresh 增量更新、--force 覆盖重爬;可限制页面数量、链接深度、路径前缀作用域和子域名范围,支持 --scroll 触发懒加载图片
  • 输出格式:ZIM 开放压缩格式(文本 zstd 压缩,与 Kiwix 生态完全兼容,可在各平台 Kiwix 应用中打开)和自包含二进制可执行文件(~13 MiB 的 kage 内置为静态服务器);两种格式均具有字节级确定性,UUID 由内容生成而非随机化,可安全用于校验和缓存
  • 原生窗口模式:配合 webview 编译标签构建时,使用系统原生 WebView(macOS WKWebView、Windows WebView2、Linux WebKitGTK)而非浏览器标签页展示离线内容;--base 参数可指定不同平台的基础程序实现跨平台编译自包含查看器
  • 安装与依赖:支持 go install、预编译包(deb/rpm/apk)和 Docker 镜像(内置 Chromium);主机需预装 Chrome/Chromium 或通过 --chrome/KAGE_CHROME 指定路径;内置 bash/zsh/fish/powershell 命令补全

Caddy compatibility for zeroserve: 3x throughput and 70% lower latency

117 pointsLinkComment(36)Share

zeroserve实现Caddy兼容:吞吐量提升3倍,延迟降低70%

  • zeroserve是一个高性能HTTPS服务器,通过在用户空间运行图灵完备的eBPF脚本实现核心功能
  • 新增Caddy兼容模式:接收Caddyfile配置后,通过JIT编译生成eBPF字节码,再编译为x86_64/ARM64原生机器码,在io_uring事件循环中执行
  • 性能对比(2线程AMD Ryzen 7 3700X环境):zeroserve-clang吞吐量38,948 req/s(约为Caddy的3.1倍),p50延迟1.45ms、p99延迟3.91ms(均为Caddy的约1/3),内存占用30.9 MiB;与nginx性能基本持平
  • 使用方法:下载对应架构的二进制文件并添加执行权限后,运行./zeroserve --caddy /etc/caddy/Caddyfile即可直接启动
  • 支持eBPF中间件扩展Caddyfile功能,可调用自定义代码实现AWS SigV4签名等S3兼容存储的反向代理
  • 项目由Heyang Zhou开发维护(© 2022-2026),代码托管于GitHub

Perlisisms

68 pointsLinkComment(33)Share

艾伦·佩利《编程警句集》精华

  • 语言塑造思维:一门如果不能改变你编程思维方式的语言,就不值得去了解——编程语言的设计本质在于其对思考方式的深远影响
  • 复杂度处理:傻瓜忽视复杂度,实用主义者忍受它,聪明人避免它,而真正的天才则能消除它——这概括了软件设计的核心挑战
  • 模块化悖论:每个程序都是某个更大程序的组成部分,却很少能完美契合;模块化带来清晰的同时也埋下了误解的隐患
  • 功能与数据:让一百个函数操作一种数据结构,比让十个函数各自操作十种数据结构要好——这体现了数据抽象的核心价值
  • 理解的双重视角:理解一个程序,必须同时成为机器和程序本身——既要掌握执行细节,也要把握整体逻辑
  • 程序的多重目的:每个程序至少有两重目的:编写时设定的用途,以及编写时未曾设想的其他用途——软件的实际影响往往超出原意
← 2026-06-13 2026-06-14 ...