miniblog.

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.
PhotoPhoto
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.
Photo
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!"
Photo
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!
Photo
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 :)
PhotoPhoto
Difftastic already supported more than 20 languages, but I've been impressed at how many requests / patches I've received for additional languages! I've added a new section in the manual to make adding new languages easier:
Nix is a more popular project than I realised! It's the 11th most used language for pull requests on GitHub: https://madnight.github.io/githut/#/pull_requests/2021/4 and I've had multiple people ask for Nix support in difftastic. Screenshot shows difftastic comparing different versions of the relevant recipe.
Photo
I've seen several users write "diffstatic" rather than "difftastic". I'm not going to typosquat on https://crates.io/, but it's a shame that Cargo doesn't have a "did you mean ...?" feature.
nREPL is supported in several languages, not just Clojure! https://metaredux.com/posts/2019/01/12/nrepl-beyond-clojure.html Interacting with a live instance isn't handled by LSP, so it's interesting to see language-agnostic protocols in this space.
Here's a scary example from the tree-sitter-c bug tracker: before running the preprocessor, there's no guarantee that C code will parse! (Typically it will I think, but no guarantees.)
Photo
tree-sitter has been amazingly successful at getting developer tools to work together. Neovim has a bunch of people contributing to parsers when they notice highlighting issues. That benefits the whole ecosystem: semgrep, difftastic, even Emacs!
Showing 256-270 of 384 posts