Accidentally making windows vanish in my old-fashioned Unix X environment

One of the somewhat odd things about my old fashioned X WindowSystem environmentis that when I 'iconify' or 'minimize' a window, it ( mostly ) winds up as an actual icon on myroot window (what in some environments would be called the desktop), in contrast to the alternate approach where the minimized windowis represented in some sort of taskbar .I have strong opinions about where some of these icons should go,and some tools to automaticallyarrange this for various windows, including the GNU Emacs


What I'd like in a hypothetical new desktop machine in 2024

My current work desktop and home desktop are getting somewhat long in the tooth, which hascaused me to periodically think about what I'd want in new hardwarefor them. Sometimes I even look at potential hardware choices forsuch a replacement desktop ( which can lead to grumbling ). Today I want to write down myideal broad specifications for such a new desktop, what I'd get ifI could get it all in one spot for an affordable price.

In addition to all of the expected things (like


What the max_connect Linux NFS v4 mount parameter seems to do

Suppose, not hypothetically, that you've converted your fleet fromusing NFS v3 to using basic Unix security NFS v4 mounts when they mount their hordes of NFS filesystemsfrom your NFS fileservers . When your NFSclients boot or at some other times, you notice that you're gettinga bunch of copies of a new kernel message:

SUNRPC: reached max allowed number (1) did not add transport to server:   

Modern NFS uses TCP, which means that the NFS client needs to


We might want to regularly keep track of how important each server is

Today we had a significant machine room air conditioning failurein our main machine room ,one that certainly couldn't be fixed on the spot ('glycol all overthe roof' is not a phrase you really want to hear about your AC'schiller). To keep the machine room's temperature down, we had topower off as many machines as possible without too badly affectingthe services we offer to people here, which are rather varied . Some choices were obvious; allof our SLURM nodes that


I switched to explicit imports of things in our Django application

When I wrote our Django application itwas a long time ago, I didn't know Django, and I was sort of in ahurry, so I used what I believe was the style at the time for Djangoof often doing broad imports of things from both Django modulesand especially the application's other modules:

from django.conf.urls import *
from accounts.models import *

This wasn't universal; even at the time it was apparently partlythe style to import only specific things from Django


Solving one of our Django problems in a sideways, brute force way

A few years ago I wrote about an issue with propagating someerrors in our Django application . Wehave two sources of truth for user authorization, one outside ofDjango (in Unix group membership that was used by Apache HTTPBasic Authentication ), and one insideDjango in a 'users' table; these two can become desynchronized,with someone in the Unix group but not in the application's userstable. The application's 'retrieve a user record' function eitherreturns the user record or raises an Http


One of my MH-E customizations: 'narrow-to-pending' (refiles and deletes)

I recently switched from reading my email with exmh , a graphical X frontend to (N)MH , to reading it with MH-E inGNU Emacs, which is also a frontend to (N)MH . I had a certainamount of customizations to exmh, and for reasons beyond the scopeof this entry, I wound up with more for MH-E . One of those customizationsis a new MH-E command (and keybinding for it), mh-narrow-to-pending .

Both exmh


Our Django application is now using Python 3 and a modern Django

We have a long standing Django web application to handle the process of people requesting Unix accounts here and having the official sponsorof their account approve it. For a long time, this web app was stuckon Python 2 and Django 1.10 after a failed attempt to upgrade toDjango 1.11 in 2019 . Our reliance on Python2 was obviously a problem, and with the not so far off end of lifeof Ubuntu 20.04 it was getting more acute (we


Using IPv6 has quietly become reliable (for me)

I've had IPv6 at home for a long time, first in tunneled form and later in native form , and recently Ibrought up more or less native IPv6 for my work desktop . When I first startedusing IPv6 (at home) and for many years afterward, there were all sorts ofcomplications and failures that couldbe attributed to IPv6 or that went away when I turned off IPv6. Tobe honest, when I enabled IPv6 on my work desktop I expected to runinto


Putting a Python executable in venvs is probably a necessary thing

When I wrote about getting the Python LSP server working with venvsin a brute force way , Ian Z aka nobrowsercommented (and I'm going to quote rather than paraphrase):

I'd say that venvs themselves are "aesthetically displeasing". Afterall, having a separate Python executable for every project differsfrom having a separate LSP in degree only.

On Unix, this separate executable is normally only a symboliclink , although other platforms may differand the venv normally will have its own copy of pip,