Hugo (雨果)

RSS: https://whynothugo.nl/posts.xml
Hugo's weblog on WhyNotHugo (雨果)

用 rsync 对比大型目录树

作者在重写 restic 备份前,用 rsync、busybox diff、GNU diff 对比 /usr(3.2GB)目录树,验证两份备份是否完全一致。结果 rsync -acni --delete 最快(17.41s),busybox diff 最慢(31.19s),GNU diff 居中(22.94s)。 尝试用 bind mount 时被 diff 因同设备/同 inode 跳过比较,改用拷贝。作者还指出 diff 会跟随符号链接,在符号链接指向树外时有问题,因此选 rsync 更适合这类大目录比对。 内容简短但有一手 benchmark 数据和踩坑细节,对运维/备份场景读者有实用参考。
评论点赞收藏10 天前

Stacked PR:用更厚的抽象去修抽象

作者反思 Git 提交模型与 PR 模型之间的错位:commit 是原子改动,可单独 apply/review,而 PR 把多个 commit 捆成一坨,UI 也缺乏按 commit 给反馈的机制。 Stacked PR 试图用“一串 PR”解决多步改动的依赖问题,让下游可以逐个 review 和 apply;但作者指出它本质上是用更厚的一层抽象去补 PR 本身带来的抽象裂缝——最小单元仍是 PR 而不是 commit,问题只是被推了一层。 文章属于工程实践观察 + 观点批评,对日常写代码、做 code review 的开发者有直接共鸣,易引发“要不要用 stacked PR”“PR 粒度怎么选”等讨论。
评论点赞收藏11 天前

Status update 2026-08

I’ve been refining the API for libdav. Two big tasks were involved here: (1) more flexible generic types for the async helpers and (2) tidying up error types. Flexible async types[permalink] The core ...
评论点赞收藏29 天前

Transactional system upgrades without compromise

This article is about two desirable traits in system upgrades: atomicity and being able to roll back. Atomicity: the upgrade is either applied in full or not applied at all. The system is not left in ...
评论点赞收藏33 天前

The brief history of lsp_lines.nvim

Back in 2022, LSP implementations could find errors and other diagnostics in code and send them into the editor, but editors lacked good interfaces to actually present this. The best at the time was a...
评论点赞收藏43 天前

ImapGoose: detecting wake-up from sleep

After the system goes into sleep and wakes up again, ImapGoose would just hang for like 15–20 minutes before finally detecting the disconnection and reconnect. This was super annoying, and understandi...
评论点赞收藏46 天前

98% 并不多。

98% sounds like a lot. If someone wins the lottery 98% of the times they play, they are clearly blessed. Getting a top mark (e.g.: 10/10) on exams 98% of the time will likely lead to an honour diploma...
评论点赞收藏85 天前

无法问责的系统:从被拒兑换到算法歧视

作者因母亲汇款被荷兰唯一货币兑换点无理由拒绝服务,引出对金融系统缺乏问责制的愤怒。 他回忆同事开发的风控系统竟因血统将员工标记为“危险”,揭示普通人如何被迫维护压迫自身的算法体系。
评论点赞收藏90 天前

Pimsync v0.5.11 更新:增量同步与BSD支持

Pimsync v0.5.11 更新日志,主要包含增量同步功能、BSD系统的kqueue支持、退出码标准化以及跳过服务发现等新特性。 作者详细解释了实现增量同步的技术细节,以及在BSD环境下因文件描述符限制所做的权衡。 同时修复了相对路径配置可能导致的数据丢失风险。
评论点赞收藏95 天前

Ignore DNSSEC if you like MitM attacks

作者 Hugo 深入分析了 DNSSEC 在实际部署中的局限性,指出如果配置不当或忽略某些细节,DNSSEC 可能无法有效防止中间人攻击。文章呼吁开发者重新审视 DNS 安全策略。
评论点赞收藏96 天前

散热器只在乎进入空气的温度

作者发现迷你机箱水冷散热噪音大且降频,通过数据排查确认散热器进风方向错误导致无法有效散热。 将风扇改为向外抽风后,温度显著降低且噪音减小。 文章分享了具体的泵速调节策略和监控命令。
评论点赞收藏98 天前

GTK4应用在Wayland下的输入法困境

GTK4应用在Wayland下默认禁用输入法后端,导致无法使用。作者通过调试发现需手动设置环境变量才能启用。 这反映了GTK4在输入法集成上的设计缺陷,配置复杂且缺乏默认支持,引发对用户体验的质疑。
评论点赞收藏100 天前

Status update 2026-05

A great portion of this past month was dedicated to internal improvements and several small bug-fixes. I much appreciate testers early adopters providing feedback when things don’t quite work as expec...
评论点赞收藏122 天前

GitHub's Downfall

I’ve seen a few posts recently lamenting GitHub’s current downfall1. While I can’t deny that I understand the sentiment, I must admit that I don’t share in the least. I’m glad that GitHub is finally s...
评论点赞收藏153 天前

Separating researcher from knowledge

A portion of knowledge and advances in modern medicine are the result of experimentation on unwilling test subjects. These subjects suffered greatly and often died at the hands of experimenters who vi...
评论点赞收藏160 天前

Status update 2026-03

Pimsync[permalink (#pimsync)] Pimsync 0.5.7 is out, with mostly minor improvements and bug fixes. The pimsync sync command (which synchronises once and exits) now shows a human-readable summary of o...
评论点赞收藏181 天前

Pacman syndrome

I used Arch Linux for over a decade. I like a lot of things about it. I like more things about it than I dislike. Over these many years, I grew quite proficient with pacman, Arch Linux’s package manag...
评论点赞收藏188 天前

They and them as singular pronouns

“They” and “them” can be used as singular gender-neutral pronouns in English. A common everyday example is: Person 1: I went to see my dentist today. Person 2: What did they say? I’ve heard variant...
评论点赞收藏216 天前

You don't need a Neovim plugin manager

This article is a resurrected draft from 2022, and its core argument remains unchanged. Lua-specific portions apply only to Neovim, and everything else applies to both Neovim and Vim. Let’s first und...
评论点赞收藏265 天前

Working with Git inside Vim

My workflow since time immemorial has been to use a code editor (Vim/Neovim) to edit code, and then the git command line tool to operate on the repository. This flow included switching to the command ...
评论点赞收藏269 天前

登录芦苇

登录后关注作者、收藏内容和参与讨论。