Wrangling HTTP and HTTPS versions of the same Apache virtual host

I recently tweeted :

It has been '0' days since I have been bitten by the fact that inApache you usually have separate configurations for the HTTP and theHTTPS version of a site even if you want them the same, so you canchange the wrong one when testing and be confused when a fix doesn'twork.

(This was part of discovering how not to use RewriteRule in a reverseproxy .)

We have a bunch of named virtual hosts that we have set up for people;many although


The tradeoffs of Go version behavior in go.mod module files

As covered in the official documentation , the go.mod file thatcontains various information about a Go module can specify a Goversion. This specified version does not actually do much in practice,at least so far, and in particular older versions of Go will stillattempt to build the module. This behavior and others I mentionedyesterday may strike people as peculiar or evencrazy. However, any behavior here has tradeoffs and I think that Gohas chosen what is a sensible option.

The core tradeoff is between what Go


Go version directives in go.mod files: some notes and crude usage numbers

Go modules use a go.mod file tospecify various things. One of the directives that they can includeis the go directive ,which sets 'the expected language version of the module', to quotethe specification's words. The specification goes on to say a bitabout what it's used for.

A ' go ' line in go.mod does not limit what versions of Go will(try) to build the module (well, packages in the module), althoughof course if the


Packaging Python 2 doesn't mean that Linux distributions support it

One of the reasons I've been optimistic about Python 2's continuedafterlife for at least a few more years is that various Linuxdistributions with long term support have packaged it in versions withsupport that would last for years to come. Those distributions wouldprovide fixes for any security issues that came up, as they do for allof their packages (more or less), and people running Python 2 elsewherecould take those updated versions of Python 2, recompile them, anduse them even on platforms without that


Some views and notes on ZFS deduplication today

I recently wrote an entry about a lingering sign of old hopes for ZFSdeduplication , and got a number of good commentson it that I have reactions and views about. First off, Opk said:

I could be very wrong in my understanding of how zfs dedup works butI've often turned it on for the initial data population. So I turnit on, rsync or zfs send in my data and then I turn it off again. Idon't care about memory usage during the initial setup of


How not to use Apache's RewriteRule directive in a reverse proxy

Recently we needed to set up a reverse proxy (to one of our userrun web servers ) that supported WebSocket for a socket.io baseduser application. Modern versions of Apache have a mod_proxy_wstunnel module for this, and you can find various Apache configurationinstructions for how to use it on places like Stackoverflow .The other day I shot my foot off by notfollowing these instructions exactly .

What I wrote was a configuration stanza that looked like this:

RewriteCond %{REQUEST_URI} ^/

Systemd needs (or could use) a linter for unit files

Today I made a discovery :

Today's Fedora packaging failure:/usr/lib/systemd/system/lttng-session.service (from lttng-tools) is aPGP key, not a systemd .service unit. (Insert joke about people onceagain not managing to use PGP properly)

Yes, bug filed: #1935426

I discovered this because I was watching ' journalctl -f ' while Iupgraded my office workstation to Fedora 33 in my usual way . The


What signal a RJ-45 serial connection is (probably) missing

We have a central (serial) console server , which means that we have a bunch ofserial lines running from the serial consoles of servers to various Digi Etherlites .However, we do not use actual serial cables for this. Probably likemost places that deal with a lot of serial lines, we actually useEthernet cables. On one end they plug directly into the Etherlites;on the other end we use what are generally called 'DB9 to RJ45modular adapters'. All of this is routine and


The Python ctypes security issue and Python 2

In the middle of February, the Python developers revealed thatPython had been affected by a buffer overflow security issue, CVE-2021-3177 .The relatively full details are covered in ctypes: Buffer overflowin PyCArg_repr ,and conveniently the original bug report has a very simple reproductionthat can also serve to test your Python to see if it's fixed:

$ python2Python 2.7.17 (default, Feb 25 2021, 14

Link: Taking This Serially

j. b. crawford's Taking This Serially ( via )is about the history of serial connections and RS-232, includingthe various connectors used and the complications that ensued withactually connecting things serially. I have a certain amount ofhistory with serial connections, so I found this interesting.

(Also, looking at the article's pinouts for DE9/DB9 serial connectorsmade me realize something, but that's another blog entry .)