Wilfred
wilfredh.bsky.social
Wilfred
@wilfredh.bsky.social
Programming languages, human factors, and a healthy dose of Emacs.
Difftastic 0.67 is released!

* Added support for protobuf, improved bash and YAML.
* Updated 16 parsers to the latest upstream version (thanks Antonin Delpeuch!)
* A ton of display polish for word highlighting, alignment, and binary files.

github.com/Wilfred/diff...
November 16, 2025 at 5:04 PM
If you created a large, successful OSS project, would you want to be BDFL or move on after a period?

I see tradeoffs on both sides, although it's not a decision I've needed to make myself.
November 14, 2025 at 11:50 PM
A cute systemd feature to get the system clock roughly correct: if the system time is before the compilation time of the systemd binary, it moves the clock forward to that time!

lwn.net/Articles/714...
A rift in the NTP world [LWN.net]
lwn.net
November 14, 2025 at 10:32 PM
I've not seen this before: a captcha to distinguish adults from children! The in-app purchases were behind this screen.

The primary user is a 3 year old who can only count to 20 😊
November 8, 2025 at 11:29 AM
I've been learning some Common Lisp by writing some simple JSON munging programs. I'm sure it's not best practice — I should probably deserialise to CLOS automatically — but it's a nice way to get comfortable with the basics.

It feels weird deliberately ignoring helpers though.
November 7, 2025 at 12:31 PM
"After I linked difftastic, one of my friends immediately used difftastic to find a stealthy bug, five stars!"

www.scannedinavian.com/tools-built-...
Shae Erisson's blog - Tools built on tree-sitter's concrete syntax trees
www.scannedinavian.com
November 7, 2025 at 12:12 PM
Shower thought: using a tool like cargo-semver, could you build a package registry where the uploader never chooses the version number?

E.g. your last release was 5.2025-09-13 and you've just changed a type, so today's release is 6.2025-11-05.
November 5, 2025 at 7:51 PM
One advantage I've come to appreciate about Dash/Zeal docsets: it's really nice having focused search.

The text search is constrained to the languages I care about enough to download the docset, substantially increasing the relevance. In Google I'd need to specify the language.
October 30, 2025 at 10:01 PM
I'm playing with Zeal/Dash so I can view stdlib docs offline.

(I've been coding on public transport recently, without a reliable data connection.)

Anyone have tips for making the most of this setup? AFAICT docsets are basically HTML underneath.
October 27, 2025 at 12:00 AM
GIMP is huge tool that I certainly haven't mastered, but it's so useful to have around.

I used it this week to convert images from obscure formats to common ones. It's a great swiss army knife and runs everywhere.
October 26, 2025 at 8:40 AM
It is *really* hard to find a good screenshot for a CLI tool when users are on a mobile browser.

This is the best I've come up with so far. I'm showing the terminal GUI to show where you'd use the tool.

I'm also trying several standalone screenshots to make it more comprehensible.
October 21, 2025 at 9:24 AM
I've added syntax highlighting to the prompt of my programming language!

It's not strictly necessary, but it's nice to have. It caught a bug with lexing incomplete string literals too.
October 19, 2025 at 11:14 PM
One interesting aspect of collecting coins in a platformer like mario: it makes the level stateful.

You can see if you've been somewhere before based on whether there are coins present.
October 17, 2025 at 10:57 PM
Ooh, difftastic is now listed on the official git website! git-scm.com/tools/comman...
Git - Command Line Tools
git-scm.com
October 17, 2025 at 6:56 PM
It's so hard to talk about probabilities. Casual conversation often conflates 'the likelihood of an event happening' with 'how strongly I believe in my assessment'.

For example, I'm very confident (say 90%) that the coin in my pocket is 50% likely to land on heads.
October 12, 2025 at 10:36 PM
I see that *up has become an increasingly common name for toolchain installers: rustup, ghcup, even juliaup.

I think Rust was the first to use this terminology? I'm curious how similar the different *up tools are.
October 9, 2025 at 7:01 PM
I'm trying to improve the readability of the --help output from difftastic.

I'm experimenting with making example invocations bold, so they are easier to distinguish from the text.

I'm also trying OSC 8 to make my URLs clickable.

Opinions welcome :)
October 6, 2025 at 10:29 PM
I would have thought that invoking a C compiler would be a solved problem. Looking at Rust's cc crate there's a remarkable long tail of corner cases to fix.

Exotic CPUs, microarchitectures, compiler differences, operating system differences, etc.

github.com/rust-lang/cc...
github.com
October 5, 2025 at 8:24 PM
LLMs seem to handle dependency upgrades really well.

The task is well-specified, there's usually a build/test suite to check correctness of the modifications, and there's often a changelog they can consume too.
October 5, 2025 at 2:59 PM
Do any tech streamers try new software live? It'd be a really fun way of doing UX testing.
October 4, 2025 at 11:31 PM
For hobby projects, I really like software where I can do small features or tweaks. Sometimes I don't have time for anything more substantial.

Website projects are great for this. Are there other areas?
September 26, 2025 at 4:32 AM
I've been writing docs for different programming language operators (+, *, == and so on). Each one gets a separate web page.

I've suddenly realised that / is much harder! docs/+ and docs/== is fine, but docs// just doesn't work as a URL in a static site.

Any ideas?
September 25, 2025 at 1:25 PM
I've released difftastic 0.65! Highlights of this release:

* Better parsing of Clojure, Common Lisp, Kotlin, Rust and Zig.
* Quality of life improvements for binary files.

github.com/Wilfred/diff...
September 24, 2025 at 4:17 AM
Text to speech systems seem to have largely avoided the uncanny valley effect. I've encountered robotic sounding voices but it's way less unsettling than bad CGI.

I'm not sure why this is. Maybe looking at faces is just way higher bandwidth so more things can go wrong?
September 17, 2025 at 11:36 AM
I'm surprised by how many different weather forecasts I can get out different apps. Surely there aren't many API providers for weather predictions?

Alternative conspiracy theory: do weather apps that predict nicer weather get more downloads?
September 14, 2025 at 1:29 PM