Wandering Thoughts


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.

PrometheusQueryAnatomy written at 21:43:23; Add Comment


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.

(For my entries, there's how xdg-mime searches for MIME type handlers, how xdg-open picks which web browser to use, the basics of /etc/mailcap, and a cautionary story of mailcap handling.)

MimeTypeAssociations written at 11:54:37; Add Comment


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.

CodeOnlySaysWhatItDoes written at 19:49:45; Add Comment


Link: Stop Using Encrypted Email

Stop Using Encrypted Email is about all of the fundamental reasons that you should do that, from Latacora. See also eg Patrick McKenzie, and the discussion on Hacker News where there are more comments from Latacora people (look for tptacek and lvh).

(Latacora people include Thomas Ptacek, who you may remember from Against DNSSEC.)

StopUsingEncryptedEmail written at 11:08:36; Add Comment


Link: Mercurial's Journey to and Reflections on Python 3

Mercurial's Journey to and Reflections on Python 3 is about what it sounds like, by one of the core maintainers of Mercurial. It also contains some interesting notes on why Mercurial is going to have to keep supporting Python 2 for quite some time and what some of the consequences of that are.

MercurialPython3Journey written at 17:27:01; Add Comment


Link: The asymmetry of Internet identity

David Crawshaw's The asymmetry of Internet identity is, among other things, a marvelously cynical yet pretty much completely accurate review of people's identity on the modern Internet in practice. I wish it didn't work the way Crawshaw describes it, but it does.

(Via lobste.rs.)

InternetIdentityAsymmetry written at 12:47:23; Add Comment


Link: GNOME Terminal Cursor Blinking Saga

Geoff Greer's GNOME Terminal Cursor Blinking Saga is about how to turn off cursor blinking in gnome-terminal, because the Gnome people are still in love with having their cursor blink despite it being a terrible idea and have progressively made it harder and harder to turn off.

Needing to look this up yet again did cause me to check the Gnome bug to expose a preference UI for this, which caused me to discover that you can actually easily turn this off these days, although not globally; you have to do it for each profile, turning off 'Cursor blinking'. If you have a lot of profiles and are the right sort of person, you may want to write a shell script that uses the gsettings approach, which still works.

(Why I needed to know this is that for my own reasons I'm doing a from-scratch Fedora 30 install in a virtual machine, and of course it came up with a gnome-terminal setup where the cursor blinks.)

GnomeTerminalBlinkingSaga written at 11:06:17; Add Comment


Link: ASCII table and history (Or, why does Ctrl+i insert a Tab in my terminal?)

This ASCII table page (via) answers the question it poses in its title, and the answer is quite interesting. I have a long standing interest in this area, and this page's table explains things like why Ctrl-@ is a common way to generate a 0 byte. The table also makes it clear that at least one case is handled specially, that of Ctrl-? often being DEL. So now that I look at it, the table is interesting reading, not just the history.

(The straightforward implementation of Ctrl masks off bit 7, or perhaps bits 6 and 7, which turns @, binary 10 00000, into binary 00 00000 and thus gives you NUL. But you cannot go from ?, binary 01 11111, to DEL, binary 11 11111, by masking off bits; you have to turn on a bit instead. And notice that it is common to make Ctrl-_ generate byte 31, so we have binary 10 11111 turning into binary 00 11111 through masking, so this is not a general special treatment when the low five bits are 11111.)

PS: There's also this version of a four column ASCII table, but it doesn't have the history and doesn't look as nice as this new one.

CtrlIWhyTab written at 14:45:21; Add Comment


Link: A program to read AMD Ryzen RAPL information on Linux

In my entry illustrating the practical difference between CPU TDP and actual power draw, I used a Mozilla program to read Intel's RAPL (Running Average Power Limit) CPU information. In that entry I regretted that as far as I knew there was no AMD equivalent, so I couldn't get similar measurements on my AMD Ryzen based office machine. Well, it turns out I'm wrong about that. Courtesy of @thurloat@mastodon.club comes this information:

@cks WRT <my entry>

this project might be useful to get some readings, came up in the AUR when I searched for a rapl package to install after reading your post. https://github.com/djselbeck/rapl-read-ryzen

The repository calls it a 'a quick and dirty hack', but in my testing on my office machine, it appears to work (ie, it appears to produce plausible readings, both under no load and under 'mprime -t'). In its current form, it appears to take an instant reading of the current power level, although I'm not sure I completely understand what's going on in the code.

RyzenLinuxRAPL written at 16:52:09; Add Comment


My Mastodon remark about tiling window managers

Over on Mastodon, I said:

Two reasons that I'm unlikely to like tiling window managers are that I like empty space (and lack of clutter) on my desktop and I don't like too-large windows. Filling all the space with windows of some size is thus very much not what I want, and I definitely have preferred sizes and shapes for my common windows.

On the one hand, I've already written an entry on my views on tiling window managers. On the other hand, I don't think I've ever managed to state them so succinctly, and I find myself not wanting to just leave that lost in the depths of Mastodon.

(Looking back at that entry caused me to re-read its comments and realize that they may be where I found out about Cinnamon's keybindings for tiling windows, which would answer a parenthetical mystery.)

MeOnTilingWMs written at 19:09:46; Add Comment

(Previous 10 or go back to April 2019 at 2019/04/19)

Page tools: See As Blogdir, See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.