miniblog.

Some delightful examples of good compiler error messages in the latest Gleam release:
I really like pattern matching in Rust, but I find myself using it less and less. `if let` and `let ... else` require substantially less indentation, and I often use them for Option values. I don't miss this syntactic sugar in OCaml though. Maybe it's just because OCaml has a 2 space indent, unlike Rust's 4 space indent?
I'm playing with DOT output for debugging syntax trees from difftastic. Here's an F# snippet, the Debug representation, and the DOT rendered as an image. I'm pleased with the information density on the graphic, but we'll see how often I end up using it.
PhotoPhotoPhotoPhotoPhotoPhoto
I'm implementing an interpreter, and wondering how often I should check for interruptions (e.g. Ctrl-C). I don't want to spend too much CPU time checking whether I've been interrupted, but I also want slow programs to stop promptly. It's tricky.
It took me way too long to realise that Arc<Mutex<T>> is basically a way to create multiple &mut T references (with runtime constraints). This means that you can use plain &T and &mut T in the vast majority of your code. Most code doesn't need to care there's a mutex.
It's incredibly hard to explain adversarial problems to users. I see gamers sincerely asking "why doesn't the publisher just fix the cheater problem?". This is exacerbated by the fact that sharing too many details of anticheat can make the problem worse.
I'd heard the conventional wisdom that UX research states that mice are more efficient than keyboards, but turns out there's virtually no research on this!
It's a small thing, but I'm much happier with --version in the latest version of difftastic. It shows the release number and the commit date. This gives you a reproducible build with age info. It also shows OS, arch and compiler, because those are useful in bug reports.
Photo
It's a small thing, but I'm much happier with the output of --version in the latest version of difftastic. It shows the release version number, the commit hash, and the commit date. This gives you a sense of the age of release, but you still have a reproducible build (unlike build time). It also shows OS, arch and compiler, because those are common requirements in bug reports.
Photo
New version of difftastic is out! In this release: * Improved git integration * Polished the side-by-side display, particularly on large screens * Fixed a nasty crash
An interesting feature of the Grok TiddlyWiki interface: it has the sidebar on the right. I see a sidebar on the left way more often, but arguably it makes more sense on the right for a wiki? The content is effectively more prominent.
PhotoPhoto
In praise of Tcl, and reflecting on syntax features for a good command shell:
Whilst LLMs don't always give an accurate answer, the UI is really compelling. I keep finding users whose favourite way of doing research is an LLM.
TIL Drupal has a credit system to give preferential treatment to people and organisations who contribute regularly!
It's odd how lazy evaluation is generally seen as a niche design choice, yet the vast majority of languages treat `foo() || bar()` as short-circuiting.
Showing 151-165 of 7,549 posts