Link: Taking This Serially
j. b. crawford's Taking This Serially (via) is about the history of serial connections and RS-232, including the various connectors used and the complications that ensued with actually connecting things serially. I have a certain amount of history with serial connections, so I found this interesting.
(Also, looking at the article's pinouts for DE9/DB9 serial connectors made me realize something, but that's another blog entry.)
Link: What was the original reason for the design of AT&T assembly syntax?
This quite informative answer to a Stackoverflow question (via) answers the question, or at least provides a great deal of context that I didn't know. It turns out that the reason AT&T syntax puts the destination register second (instead of first, the way Intel syntax does) almost certainly stretches all the way back to how PDP-11s encoded instructions.
(The AT&T assembly syntax, commonly used on Unix systems but not uncommonly disliked (via), is a cross-platform general syntax that AT&T and Unix mostly used on a range of platforms. The specific x86 version of AT&T syntax is yet another adaptation of this general syntax. More information on the difference between AT&T and Intel syntax for x86 can be found on, eg, Wikipedia.)
Link: ARM support in Linux distributions demystified
ARM support in Linux distributions demystified (via) is just what it says in the title. Since I only just recently learned about things like 'Aarch64' in the process of writing this entry, all of this was timely and useful. It definitely taught me things about ARM floating point and architectures that I didn't already know.
(The discussion on lobste.rs has some useful additional information about stuff.)
Satwik Kansal's wtfpython is at one level a whole collection of 'what the heck' Python moments, that outsiders might laugh at. At another level it's a valuable collection of Python mistakes that you might make and misunderstandings that you might have. I certainly learned some things from reading all the way through it, and hopefully have avoided some future mistakes.
Link: [Firefox] Navigational Instruments
- Holding down Alt while selecting text allows you to select text within a link without triggering the link
(In fact I used the tip to copy the title of the article from the article, because in the article the title is a link to itself.)
You may already know some of these tricks, as I did, and not care about others (I don't make much use of the URL bar, now called the 'Quantumbar'), but there's likely valuable stuff here for every Firefox user.
Link: Old-School Disk Partitions
Warner Losh's Old-School Disk Partitions (via) is a discussion of how disk partitioning worked and evolved in the early days of Unix, up through 4.3 BSD. This has more information than what I wrote about how major and minor device numbers worked in V7, because I missed that various disk device drivers had their own partitioning tables for minor numbers.
Warner Losh's blog has a lot of interesting writing on historical Unix things, so if that's one of your interests (as it is one of mine) it's well worth a look in general.
Link: Why Did Mozilla Remove XUL Add-ons?
David Teller's Why Did Mozilla Remove XUL Add-ons? is the answer to this question, from someone who works on Firefox. Firefox XUL Add-ons are the old and more powerful form of addons, which have now been replaced by WebExtensions as of Firefox Quantum.
I knew a certain amount about this area (and it's an interest of mine, since Firefox WebExtensions still aren't quite as good for my addons), but I didn't know all of the details and the article taught me things. I had never quite wondered what happened to Firefox's Electrolysis stuff, for example; the article answers the question.
Link: The Anatomy of a PromQL Query
The Anatomy of a PromQL Query (via) is a very clear and nice explanation of what goes into a PromQL query. It covers both the elements (metrics, functions, and so on) and the Prometheus data types you use (such instant vectors and range vectors). This is a very useful article because while PromQL is solidly documented, it doesn't have a concept overview that's as clear and straightforward as this.
Link: Mime type associations (on Linux)
Enrico Zini's Mime type associations (via Planet Debian) is about the practical side of fixing MIME type associations so that various types of files open in the right program on your Debian system. This is an area of interest to me, but I've never pulled everything together into one spot (and compactly) the way this article does.
Link: Code Only Says What it Does
Marc Booker's Code Only Says What it Does (via) is about what code doesn't say and why all of those things matter. Because I want you to read the article, I'm going to quote all of the first paragraph:
Code says what it does. That's important for the computer, because code is the way that we ask the computer to do something. It's OK for humans, as long as we never have to modify or debug the code. As soon as we do, we have a problem. Fundamentally, debugging is an exercise in changing what a program does to match what it should do. It requires us to know what a program should do, which isn't captured in the code. Sometimes that's easy: What it does is crash, what it should do is not crash. Outside those trivial cases, discovering intent is harder.
This is not an issue that's exclusive to programming, as I've written about in Configuration management is not documentation, at least not of intentions (procedures and checklists and runbooks aren't documentation either). In computing we love to not write documentation, but not writing down our intentions in some form is just piling up future problems.