miniblog.

Here's a weird UI pattern I haven't seen before. This sanitizer will keep things clean for 24 hours, so the time counts *down*. Every time I see it, it looks like 24 hour clock showing the wrong time!
Photo
I've dabbled with 'conventional commits' for a personal project but I found they slowed me down. It's not always easy to categorise a commit as a fix, a chore etc. Sometimes refactorings also fix bugs. Do you use them? I can imagine a large, mature project benefitting more.
It's rare to see ANSI escape codes for URLs in the wild, but cargo has it! This example links to https://doc.rust-lang.org/cargo/reference/profiles.html#default-profiles, describing the different profiles. Considering releases vs debug is a source of confusion for new users expecting better performance, this seems wise.
Photo
The niche of short, environment-specific scripts, and the consequences for programming language design choices:
It is remarkably hard to escape command line arguments safely on Windows, and the standard libraries of multiple languages have needed patching:
Exploring design ideas using AI as a learning assistant, for creative exploration:
Installed Linux on a new laptop yesterday, and needed to find a USB stick in a dusty drawer. The stick previously had Arch Linux Installer 2021 on it! I can't think of any other uses for the device these days.
It's always seemed odd to me that the Rust stdlib is so lean (no random numbers, regex, HTTP) yet clippy is so big (correctness, performance, style preferences, even 'too many arguments'). Maybe it's because cargo is mature but clippy doesn't have an extension ecosystem?
USB-A connectors seem absolutely massive when the majority of my connectors are USB-C. With hindsight, maybe the original USB standard could have been smaller. USB 1 came out in 1996, way before the modern smartphone, so I assume it was more focused on desktop devices.
I'm still trying to find a sweet spot between 'show the general syntax' and 'show a concrete example' in the CLI docs for difftastic. https://difftastic.wilfred.me.uk/usage.html I'm currently showing the syntax, immediately followed by an example. What do you think?
Photo
I've release difftastic 0.58: * Updated C, C++, CMake, CSS, Elm, Go, Lua and Python parsers * Better diffs when files have parse errors * Polish: CRLF handling, obscure terminal detection, and a man page!
Noodling with an interpreter for a statically typed language with reified types (e.g. a list knows what type it contains). Currently I have a single representation of types in both the runtime and the type checker. I think that's a good thing?
I still find it weird that constructors aren't first class functions in OCaml. `id Just` is legal in Haskell, but `id Some` is an error in OCaml. Are there any advantages of the OCaml approach?
I tried replace Vec with SmallVec in a really hot loop in difftastic, and it's a huge speedup. It almost *halved* the runtime of one of my test files! I've done a lot of performance tuning of difftastic, so it's surprising to see such a big win. https://crates.io/crates/smallvec
I've written my first man page! https://github.com/Wilfred/difftastic/commit/cb63ca88303d3c8dffd763cf6e5772e45c045588 Troff syntax is new to me and a little hard to read -- apparently you shouldn't use blank lines. Turns out you can use pandoc to convert markdown to troff instead.
Showing 226-240 of 7,549 posts