Guides & articles
Practical writing about diffs, whitespace and configuration files, from the people who build DiffCanvas.
How to read a diff: hunks, context lines and the unified format
The unified diff has only three kinds of row and one header worth decoding. Here is what @@ -18,7 +18,8 @@ means, why three lines of context are the default, and when a side-by-side view beats an inline one.
6 min read
Updated May 2026
Whitespace, line endings and other invisible changes that pollute diffs
A file can look identical and still diff on every line. Carriage returns, trailing spaces, tabs, byte-order marks and Unicode look-alikes are the usual culprits — here is how to spot each one and how to stop it coming back.
6 min read
Updated July 2026
Comparing JSON and config files semantically, not textually
Two configs can describe the same deployment and still differ on every line. Key order, indentation and quoting are text, not meaning — here is how to normalise them away, and where normalising becomes dangerous.
7 min read
Updated September 2026