What '<code>sh -x</code>' mostly doesn't tell you about a shell script

Sometimes you have to try to understand what's going on inside ashell script or a collection of them . If you're lucky,you may be able to easily get a ' sh -x ' output from the script oreven scripts. This can be very enlightening but at the same time itcan hide some things or at least make them much harder to see in allof the clutter.

The first and biggest thing that ' sh -x ' doesn't give you is shellredirections. If


Bug reports are hard, minor details matter edition

Recently an interesting commit landed in the GNU Emacs Flycheck package, which shows diagnostics obtainedfrom 'checkers', including Emacs language server clients such as Eglot (which are in turn getting their diagnostics from language servers forvarious languages). In the commit ( also ), Flycheckwas updated to better handle a diagnostic source that reportedinformation asynchronously; one such source is Eglot , partlybecause the diagnostics come from talking with language serverprocesses.

The bug report for this stems from something I reported , and then when thecore


Some reasons why my phone's alarm clock is so good

On the Fediverse, someone recently ran a poll about whether peoplecould live without their (smart)phone. I said that I could (assumingthat magically there were no mandatory phone apps) but that it wouldbe annoying, and one of the reasons was that my phone is the bestalarm clock I've ever had ( as I got rubbed in my nose recently , although it's not flawless ). Afterwards, I started thinking aboutwhy my phone's alarm is so good or at least so


The Ubuntu 26.04 server installer and reusing existing data filesystems

Suppose, not hypothetically, that you have some Ubuntu servers thathave local data filesystems (with stuff you want to keep) on separatedisks from your system disks. These servers might be running Ubuntu22.04 LTS or 24.04 LTS, and you'd like to update them to 26.04 LTS. Since you now have a kexec based network reinstall system , reinstalling them in place isattractive, but you need to figure out how to not destroy your datafilesystems during


My misunderstanding about tabs in Python 3

Python 2 is famously relaxed about mixing tabs and spaces in Pythoncode, although at the same time I believe it rigidly assumes that tabsare always at 8-space intervals (some editors offer you options here).When people used 8-space indent levels this wasn't too big of anissue, but it became one as the Python style moved to 4-space indents,because then some indents could be pure tabs but others had to involvespaces. Python 3 famously stopped being so relaxed, but for


Solving my problem with the Emacs Lisp byte compilation checker

Over on the Fediverse, I said something a bit weird (and possiblyincoherent and wrong) :

My GNU Emacs tiny kingdom for something that only ran atbyte-compile time purely so I can pacify ELisp checker errors thatonly happen then (in a file that is not byte compiled otherwise),and which can't be guarded with 'eval-while-compile' because thenthey get run twice.

(It's complicated. This file is load-file'd by my .emacs and needs


Getting access to the /tmp of a systemd service with <code>PrivateTmp=yes</code>

Suppose, not hypothetically, that you're doing something inside asystemd service; for example, it runs a script with some environmentvariables set, and you want to get a full dump of those environmentvariables. My traditional approach is to write these to /tmp , butthis doesn't work if the service is using PrivateTmp=yes ( cf ). Well, doing this doesn't putthe resulting files directly in the regular /tmp .

For services specifically using PrivateTmp=yes , systemd putstheir


Trying to stress Apache to 10,000 connections (with no answer yet)

Recently on the Fediverse, someone wondered if an out of the box buildof Apache (with minimal tuning) could handle 10,000 simultaneous HTTPrequests (the old famous 'C10K' target, which definitely was achallenge back in the days). We happen to have a web server that has hit 4,000 simultaneous requests (well, sort of, see later) with everyindication that the people (well, programs) that were hitting it wouldhave gone higher


Getting a minimal environment for a third party GNU Emacs package

Suppose, not entirely hypothetically , that you thinkyou've found a bug in a package and that you have a complicated Emacsenvironment. If the package is a standard Emacs package, there'sgenerally a simple way to reproduce the problem in a minimal setup;you can do ' emacs -Q ' to get a stock Emacs so you can file a niceclean bug report. However, this doesn't work by itself with a thirdparty package that you've installed through list-packages . If


An unfortunate limitation of the Apache server status page

The Apache web server has a quite useful server status page , that I thinkeveryone running Apache should enable (and then protect access to,because it contains potentially sensitive information). If your serverever gets unusually loaded (or overloaded), you can look at the serverstatus page to try to see what's going on, and if you have a generalmetrics system you can usetools to automatically collect the information it exposes (such as the Apache exporter for Prometheus ).

As the Apache documentation covers,