Connecting M.2 drives to various things (and not doing so)

As a result of discovering that (M.2) NVMe SSDs seem to havebecome the dominant form of SSDs , Istarted looking into what you could connect M.2 NVMe SSDs to.Especially I started looking to see if you could turn M.2 NVMe SSDsinto SATA SSDs, so you could connect high capacity M.2 NVMe SSDsto, for example, your existing stock of ZFS fileservers (which use SATA SSDs). The shortversion is that as far as I can tell, there'


It seems like NVMe SSDs have overtaken SATA SSDs for high capacities

For a long time, NVMe SSDs were thehigh end option; as the high end option they cost more than SATASSDs of the same capacity, and SATA SSDs were generally availablein higher capacity than NVMe SSDs (at least at prices you wantedto pay). This is why my home desktop wound up with a storage setup with a mirrored pair of 2 TB NVMeSSDs (which felt pretty indulgent) and a mirrored pair of 4 TB SATASSDs (which felt normal-ish). Today, for reasons


Websites and web developers mostly don't care about client-side problems

In response to my entry on the fragility of the web in the face of thecrawler plague , Jukka said in a comment:

While I understand the server-side frustrations, I think thecorresponding client-side frustrations have largely been lacking fromthe debates around the Web.

For instance, CloudFlare now imposes heavy-handed checks that take afew seconds to complete. [...]

This is absolutely true but it's not new, and it goes well beyondanti-crawler and anti-robot defenses


Getting the Cinnamon desktop environment to support "AppIndicator"

The other day I wrote about what "AppIndicator" is (a protocol) and some things about how the Cinnamon desktop appeared to support it, except they weren't working for me.Now I actually understand what's going on, more or less, and howto solve my problem of a program complaining thatit needed AppIndicator.

Cinnamon directly implements the AppIndicator notification protocolin xapp-sn-watcher, part of Cinnamon's xapp(s) package . Xapp-sn-watcher is started aspart


The current (2025) crawler plague and the fragility of the web

These days, more and more people are putting more and more obstaclesin the way of the plague of crawlers (many of them apparently doingit for LLM 'AI' purposes), me included . Some of these obstacles involve attemptingto fingerprint unusual aspects of crawler requests, such as usingold browser User-Agents or refusingto accept compressed things in an attempt to avoid gzip bombs ;other obstacles may involve forcing visitors to run JavaScript , using CAPTCHAs , or relying on companieslike Cloudflare to block bots with various techniques


What an "AppIndicator" is in Linux desktops and some notes on it

Suppose, not hypothetically, that you start up some program on yourFedora 42 Cinnamon desktop and it helpfully tells you " requires AppIndicator torun. Please install the AppIndicator plugin for your desktop". Youare likely confused, so here are some notes.

'AppIndicator' itself is the name of an application notificationprotocol, apparently originally from KDE, and some desktop environmentsmay need a (third party) extension to support it, such as theUbuntu one for GNOME Shell . Unfortunately for me ,


Some notes on DMARC policy inheritance and a gotcha

When you use DMARC , you get to specify apolicy that people should apply to email that claims to be fromyour domain but doesn't pass DMARC checks (people are under noobligation to pay attention to this and they may opt to be stricter ). These policies are set in DNS TXTrecords, and in casual use we can say that the policies of subdomainsin your domain can be 'inherited'. This recently confused me and nowI have some answers.

Your top level domain can specify a separate


How not to check or poll URLs, as illustrated by Fediverse software

Over on the Fediverse, I said some things :

[on April 27th:]
A bit of me would like to know why the Akkoma Fediverse software isinsistently polling the same URL with HEAD then GET requests at fiveminute intervals for days on end. But I will probably be frustrated ifI turn over that rock and applying HTTP blocks to individual offendersis easier.

(I haven't yet blocked Akkoma in general, but that may change.)

[the other day:]
My patience with the


Getting Linux nflog and tcpdump packet filters to sort of work together

So, suppose that you have a brand new nflog version of OpenBSD'spflog , so you can use tcpdump to watchdropped packets (or in general, logged packets). And further supposethat you specifically want to see DNS requests to your port 53 . So of course you do:

# tcpdump -n -i nflog:30 'port 53'tcpdump: NFLOG link-layer type filtering not implemented

Perhaps we can get clever by reading from the interface in onetcpdump and sending it to


An interesting thing about people showing up to probe new DNS resolvers

Over on the Fediverse, I said something :

It appears to have taken only a few hours (or at most a few hours)from putting a new resolving DNS server into production to seeingoutside parties specifically probing it to see if it's an openresolver.

I assume people are snooping activity on authoritative DNS servers andgoing from there, instead of spraying targeted queries at random IPs,but maybe they are mass scanning.

There turns out to be some interesting aspects to these probes.This new DNS server has