I've been experimenting with supporting the unified diff format in difftastic. This is a single column format ('inline') with @@ markers.
What do you think? This format doesn't scale well to larger changes, but it's super familiar and works with other tools.
miniblog.
Difftastic is the first time I've ever shipped a binary on Windows. It was surprisingly straightforward.
Rust has good Windows support, and GitHub Actions means I don't need to set up a Windows toolchain locally.
Interested in trying difftastic, but don't want to compile it yourself? I now have GitHub releases with prebuilt binaries for Linux, macOS and Windows for you to play with!
Showing lines of context is a remarkably hard problem for a syntactic diff.
Line 23 on the right is new, but lines 24 and 25 also map to the same line on the left! Initially I thought this was a bug.
It's impossible to show exactly N context lines whilst preserving alignment.
Difftastic 0.26 is out!
* Added Gleam, YAML and Zig, improved Clojure
* Language detection can now be overridden
* Better display, better highlighting, and some better diff heuristics :)
Got a bug report on difftastic saying it crashes with an error: "should be impossible: expected XYZ".
I am very glad I phrased my assertion as *should*!
I'm hesitant to write "written in $LANG" on my project READMEs. I'd rather get users excited about the features than the implementation.
Maybe it makes sense if you're primarily seeking contributors?
Bash's list of behaviours that aren't POSIX-compliant is longer than I expected: https://www.gnu.org/software/bash/manual/html_node/Bash-POSIX-Mode.html
I used fish for a while and liked it, but POSIX-ish shells work with everything. These days I use a heavily customised zsh.
Today in tricky diff scenarios: when do you want the inner delimiter to match, and when do you want the outer delimiter to match?
In these examples, lisp looks better with the outer paren matched, whereas rust looks better with the inner brace.
The next version of difftastic will include YAML support, thanks to a pull request by @alexmanno_dev!
It's a nice feature, and difftastic itself even includes some YAML files. Note also the highlighting: you can distinguish strings from boolean literals here.
Remotely bricking satellite modems as part of (presumably) nation state hostilities: https://www.reversemode.com/2022/03/satcom-terminals-under-attack-in-europe.html
If over-the-air update systems aren't receiving regular patches, maybe it would be better for industry to use hardware that can't be reflashed remotely?
A deep dive on how Go generics are implemented, with monomorphisation of call sites with primitive types for performance: https://eli.thegreenplace.net/2022/faster-sorting-with-go-generics/
The Go proposals call this 'stenciling', but I've not heard that term before. AFAICT it's monomorphisation.
Repology is an excellent resource for summarising all the different packages available for a piece of software.
I added a badge to the difftastic manual. This informs users, and it also seems to motivate people to say "I want to do my favourite platform!"
I'm still pleasantly surprised when difftastic does a good job. Here's an example I saw today: adding a new variable with or_else() is extremely readable!
I've released difftastic 0.25!
* Added 3 languages (Janet, Lua and Nix), improved parsing for 4 languages, and improved syntax highlighting for 2 languages
* Clarified output when even the raw text is unchanged
* A ton of bugfixes found by new users :)
Showing 781-795 of 7,549 posts














