https://tigerbeetle.com/blog/2025-02-27-why-we-designed-tigerbeetles-docs-from-scratch/ has an interesting distinction between "physical" and "logical" hash of a tarball.
By storing the hash of the decompressed tarball contents (i.e. the logical hash), they can verify the validity of files without needing to keep the tarball around.
Related Posts
I've just squeezed another 5% of performance out of difftastic by finding a few HashSet values that weren't FxHashSet.
I do wonder whether hash DoS resistance is a good default. Sure, Rust programs are often pretty fast anyway, but it feels like a different threat model to the rest of Rust.
It's a small thing, but I'm much happier with the output of --version in the latest version of difftastic.
It shows the release version number, the commit hash, and the commit date. This gives you a sense of the age of release, but you still have a reproducible build (unlike build time).
It also shows OS, arch and compiler, because those are common requirements in bug reports.
It's interesting to see the "why not Rust?" discussions around the TypeScript news that they're using Go. It shows that Rust has reached a level of maturity that it's a default for some users.
Go does seem to be in a sweet spot for AOT languages with GC though.