miniblog.

One interesting consequence of the rise of LLMs: there's more demand for tools that handle untrusted input. Arbitrary HTML+JS can be safely run in a browser. Lean can check an arbitrary proof. These work really well with an LLM that can be wrong, but sometimes gives exactly what you want. Are there other tools in this family?
I love how the CommonMark Spec has a test suite that's just a JSON array. It's really easy to test a library for compliance, and I've seen developers nerd-sniped into full compliance. https://spec.commonmark.org/0.31.2/spec.json
Learning software development through playing and contributing to a MUD: https://tashian.com/articles/how-i-learned-to-program/
It's really satisfying to use a profiler for the first time on a project. I always find a big performance win with only a small code change. It's never the code that I expected to be slow, however!
On thinking of books like software, treating them as evolving artifacts, and URLs versus paper book publishers: https://cs.brown.edu/~sk/Memos/Books-as-Software/
I've released difftastic 0.62! In this release: * Updated parsers for Bash, C, C++, C#, CSS, Go, Haskell, HTML, Java, JavaScript, JSON, Julia, Lua, Objective-C, OCaml, PHP, Python, Ruby, Scala, TOML, TypeScript and XML. * Obligatory crash fixes. https://github.com/Wilfred/difftastic/releases/tag/0.62.0
I've been building an 'extract function' refactor feature. It's surprisingly nuanced. Where do you put the extracted function? Once you've done the static analysis, what order do you use for the parameters?
Some delightful examples of good compiler error messages in the latest Gleam release: https://gleam.run/news/context-aware-compilation/
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.
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! https://danluu.com/keyboard-v-mouse/
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.
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 https://github.com/Wilfred/difftastic/releases/tag/0.61.0
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. https://groktiddlywiki.com/read/
In praise of Tcl, and reflecting on syntax features for a good command shell: https://yosefk.com/blog/i-cant-believe-im-praising-tcl.html
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! https://dri.es/solving-the-maker-taker-problem
Showing 1-20 of 135 posts