My GNU Emacs settings for the vertico package (as of mid 20205)
As covered in my Emacs packages , vertico is one of the third party Emacspackages that I have installed to modify how minibuffer completion works for me, or at least how itlooks. In my experience, vertico took a significant amount ofcustomization before I really liked it (eventually including somecustom code ), so I'm going towrite down some notes about why I made various settings.
Vertico itself is there to always show me a number of the completiontargets, as a help to narrowing in on what
A thought on JavaScript "proof of work" anti-scraper systems
One of the things that people are increasingly using these days todeal with the issue of aggressive LLM and other web scrapers isJavaScript based "proof of work" systems, where your web serverrequires visiting clients to run some JavaScript to solve a challenge;one such system (increasingly widely used) is Xe Iaso 's Anubis .One of the things that people say about these systems is that LLMscrapers will just start spending the CPU time to run this challengeJavaScript, and LLM scrapers may well have lots of CPU
The length of file names in early Unix
If you use Unix today, you can enjoy relatively long file names onmore or less any filesystem that you care to name. But it wasn'talways this way. Research V7 had 14-bytefilenames, and the System III/System V lineagecontinued this restriction until it merged with BSD Unix, which hadsignificantly increased this limit as part of moving to a newfilesystem (initially called the 'Fast File System', for goodreasons). You might wonder where this unusual number came from
The length of file names in early Unix
If you use Unix today, you can enjoy relatively long file names onmore or less any filesystem that you care to name. But it wasn'talways this way. Research V7 had 14-bytefilenames, and the System III/System V lineagecontinued this restriction until it merged with BSD Unix, which hadsignificantly increased this limit as part of moving to a newfilesystem (initially called the 'Fast File System', for goodreasons). You might wonder where this unusual number came from
What keeps Wandering Thoughts more or less free of comment spam (2025 edition)
Like everywhere else, Wandering Thoughts (this blog) getsa certain amount of automated comment spam attempts. Over the yearsI've fiddled around with a variety of anti-spam precautions , although not all of them have workedout over time. It's been a long time sinceI've written anything about this, because one particular trick hasbeen extremely effective ever since I introduced it.
That one trick is a honeypot text field inmy 'write a comment' form. This field is normally hidden
Fedora's DNF 5 and the curse of mandatory too-smart output
DNF is Fedora's high(er) level package management system, whichpretty much any system administrator is going to have to use toinstall and upgrade packages. Fedora 41 and later have switchedfrom DNF 4 to DNF 5 as their normal (and probably almost mandatory)version of DNF. I ran into some problems with this switch , and since then I've found otherissues, all of which boil down to a simple issue: DNF 5 insistson doing too-smart output .
Regardless of what
Thinking about what you'd want in a modern simple web server
Over on the Fediverse, I said :
I'm currently thinking about what you'd want in a simple modern webserver that made life easy for sites that weren't purely static. Ithink you want CGI, FastCGI, and HTTP reverse proxying, plus processsupervision. Automatic HTTPS of course. Rate limiting support, and whoknows what you'd want to make it easier to deal with the LLM crawlerproblem.
(This is where I imagine a 'stick a third party proxy in the middle
The five platforms we have to cover when planning systems
Suppose, not entirely hypothetically, that you're going to needa 'VPN' system that authenticates through OIDC . What platforms do you need this VPNsystem to support? In our environment, the answer is that we have five platforms that we needto care about, and they're the obvious four plus one more: Windows,macOS, iOS, Android, and Linux.
We need to cover these five platforms because people here use ourservices from all of those platforms. Both Windows and macOS arepopular
Python, type hints, and feeling like they create a different language
At this point I've only written a few, relatively small programswith type hints. At times when doing this, I've wound up feelingthat I was writing programs in a language that wasn't quite exactlyPython (but obviously was closely related to it). What was idiomaticin one language was non-idiomatic in the other, and I wanted towrite code differently. This feeling of difference is one reason I'vekept going back and forth over whether I should use type hints (
The lack of a good command line way to sort IPv6 addresses
A few years ago, I wrote about how 'sort -V' can sort IPv4 addressesinto their natural order for you . Even backthen I was smart enough to put in that 'IPv4' qualification andnote that this didn't work with IPv6 addresses, and said that Ididn't know of any way to handle IPv6 addresses with existing commandline tools. As far as I know, that remains the case today, althoughyou can probably build a Perl, Python, or