miniblog.

Is there any relationship between language adoption and the size of its standard library? These days it seems completely orthogonal, but early Java adopters spoke highly of the collections library compared with C++. Maybe it's the widespread availability of package managers?
Chekhov's repro: If a line of code is included in a bug report, it should contribute to the debugging somewhere.
I'm working on arity errors in Garden, my toy programming language. Rather than just saying "expected 3, got 4 arguments", I'm trying to report where the extra argument is, or what extra argument was expected.
It's interesting to see the "why not Rust?" discussions around the TypeScript news that they're using Go. It shows that Rust has reached a level of maturity that it's a default for some users. Go does seem to be in a sweet spot for AOT languages with GC though.
The most common selling point I hear for Nix is having a list of all the packages you need. On a traditional Linux distro, I just install things and forget about them. A curated, commented list would certainly be handy when I have a new system.
Today I learnt that you can mix HTML inline in markdown! For example, the following is valid. Foo <hr/> I'd assumed that you needed HTML separately, like ``` blocks, but no: https://spec.commonmark.org/0.31.2/#raw-html Admittedly HTML is very restricted on most sites, but it's helpful for SSGs.
Spent a bunch of time learning about text diffing algorithms this evening. "Myers Algorithm" refers to a specific paper written by Eugene Myers, and he published faster algorithms later! https://github.com/Wilfred/difftastic/wiki/LCS-Algorithms
https://tigerbeetle.com/blog/2025-02-27-why-we-designed-tigerbeetles-docs-from-scratch/ has an interesting distinction between "physical" and "logical" hash of a tarball. By storing the hash of the decompressed tarball contents (i.e. the logical hash), they can verify the validity of files without needing to keep the tarball around.
One day I am going to reach the height of technological sophistication, and every clock in my house will handle daylight savings automatically. I'm not there yet. I think modern appliances are getting better though. (Does a microwave really need to know the current time?)
I really like base-2 prefixes in writing, e.g. 1 KiB, 2 MiB, 3 GiB and so on. It's way more explicit. However, SI units are k M G and so on. Switching between lowercase k and uppercase Ki keeps tripping me up.
@MekahimeAkari @lifning "C makes it easy to shoot yourself in the foot; C++ makes it harder, but when you do it blows your whole leg off". -- Real Stroustrup quote, 1986
I've heard of a 'burger menu' when a button has three horizontal lines on it, but today I heard 'kebab button'. This is similar, a button with '···'. Clearly UI designers are hungry.
Doing another iteration on my diagnostics display. I'm reasonably happy with the bold highlighting within the error message. I'm not sure about the colour on Warning and Error though. It gives the output some visual structure, but arguably the message itself is more important.
Overall it seems like the Rust for Linux is making huge strides. Greg KH is super supportive of it[1] and the wider Linux community is pretty positive[2] (see all the quotes at the end of the slides). 1: https://lore.kernel.org/rust-for-linux/2025021954-flaccid-pucker-f7d9@gregkh/ 2: https://fosdem.org/2025/schedule/event/fosdem-2025-6507-rust-for-linux/
Do you have a favourite way of highlighting text in a CLI error message? Currently I'm using backticks, but I'm wondering what's the most readable.
I hear people say that Go is often hard to search online (hence sometimes "Golang"), but the vast majority of language names are common words. Names with punctuation (C++, C#) are hard too. Is this a big problem in practice? "Perl" isn't a dictionary word, but it's an exception.
Copilot doesn't offer a way of disabling completion inside comments. People have discovered a comical workaround: swearing in the comment! https://github.com/orgs/community/discussions/8062#discussioncomment-11902740
In LSP, a position is represented as a line number and a column offset (in Unicode code units): https://microsoft.github.io/language-server-protocol/specifications/lsp/3.17/specification/#position This is pretty elegant. You'll get the correct line regardless of encoding bugs, and the editor already knows the line number so it's cheap to compute.
I've released difftastic 0.63! In this release: * Better parsing of Elixir, LaTeX, Make, Nix, Rust and YAML * Better detecting of text encoding, especially on Windows * Prebuilt musl binaries, so you can run released binaries on older systems! https://github.com/Wilfred/difftastic/releases/tag/0.63.0
I made some changes to a node express project that I haven't touched in almost five years. I was pleasantly surprised that I only needed to update one dependency to get it working again! (It was sqlite3, which is a native dependency using node-gyp.)
Showing 81-100 of 7,506 posts