@siracusa recommended in ATP 516 that writing a data integrity tool would be a fun programming project; I have since made one, and he was right! As he also recommended in some Hypercritical episode, I blogged about it: https://dlittle.me/blog/bitwrought
Danny Little | Bitwrought

The making of a file integrity and bit rot command line tool.

@dslittle22 Awesome! Feels like a perfect use case for Rust too.
@dslittle22 @siracusa Danny I’d love to be a beta tester for you! I have two identical copies of 15-20 TB of data (mostly personal Final Cut projects) that I’m looking at turning into three.
@dslittle22 @siracusa First, this is really cool. Second, carbon copy cloner has a data rot check option (compute and compare checksums) that is off by default. 👊

@siracusa @dslittle22 I wrote an integrity checker several years ago in Perl, do I get extra credit for language choice?

(I wanted the tool to be usable in the long term, 10 years at least, which excludes most "fashionable" languages)

Link to the tool: https://github.com/jwr/ccheck

GitHub - jwr/ccheck: Simple, easy to use, minimal consistency checker (hasher) for file archives.

Simple, easy to use, minimal consistency checker (hasher) for file archives. - GitHub - jwr/ccheck: Simple, easy to use, minimal consistency checker (hasher) for file archives.

GitHub
@jrychter Missing some error-checking in there…
@siracusa Oh, it's missing a lot. And I didn't want to write it in the first place, I just couldn't find anything. But it works well enough to have served me for years now.

@jrychter nice! Do you still get much use out of it?

Absolutely bonus points for perl :)

@dslittle22 Yes, I use it every couple of months or so to check the integrity of my archives. Haven't seen corruption so far, only extra files added by various apps.