Quarantine Nostalgia
· β˜• 3 min read
As I get ready to pack up and leave Virtuous Vermont and head to CrazyFornia, I like to remember those fun times of 2020, when the world went ape-shit crazy. I don’t know what it was like in other states, but here the β€œrules” said that you if you visited a neighboring state, you had to quarantine for a week in your home before you could venture out into the world again.
Read more …

For Sale
· β˜• 0 min read
Items for Sale

Blocking Koha Attacks
· β˜• 1 min read
Our library’s Koha installation has been subject to unfriendly attacks by servers in China that are apparently associated with alibaba. The symptom is that Koha becomes very slow, and the top command on the server shows that Koha is using 100% of all CPUs. Examining the Apache log using tail -f /var/log/apache2/other_vhosts_access.log shows the culprit. There are many lines like the following (line wrapped and shortened for clarity): koha.ourlibrary.com:443 47.76.209.138 - - [05/Apr/2024:07:51:33 -0400] "HEAD /cgi-bin/koha/opac-search.
Read more …

Self-hosting a CalDAV service
· β˜• 3 min read
One of the common uses of Google’s “free” services is the appointment calendar. Similar services are provided by other vendors, but as part of my effort to free myself from Big Tech, I decided to host a CalDAV service on my own Ubuntu 22.04 server. There are two parts to hosting CalDAV: a server and a web client. Radicale For a server, I chose to use Radicale. Attempting to install Radicale using the radicale package built into Ubuntu led to frustration in the configuration: I wasted a lot of time trying to get Apache to be happy with it.
Read more …

Running a Linux Server for Fun and Non-Profit
· β˜• 1 min read
For the last couple of months, I’ve gradually been weaning myself from some Big Tech services, and reimplementing these services on my own Linux VPS (virtual private server) on Linode. I now have a server that I use for: Running my email client. This blog, formerly hosted on NearlyFreeSpeech, a very fine BSD-based hosting service. The FreshRSS RSS reader. The Vaultwarden implementation of the BitWarden password service. Using Postfix to receive email from the Pobox redirection service.
Read more …

Publishing source code with Cgit
· β˜• 4 min read
As part of my continuing work to free myself from Big Tech, I recently moved most of my source code repositories from Gitlab to Cgit on my own server. There’s nothing particularly wrong with services like Gitlab or Github, but they are far more powerful than I need. My source code projects are a one-man show; virtually nobody else is interested in them. So I don’t need all of the fancy collaboration tools offered by the big Git sites.
Read more …

Clonezilla and Windows 7
· β˜• 2 min read
I manage the computers at our local library, and unfortunately, most of these run Windows – Windows 7, to be specific. This operating system can be terribly slow at times, on our slightly old desktop computers that use hard disks instead of SSDs. When booting, it often takes Windows a minute or two have a fully working desktop, and you have to watch a spinning hourglass during that time. Also, when Windows puts itself to sleep after some idle time, the wake-up process is so slow and disk-intensive that you might as well go to lunch while waiting for it.
Read more …

Implementing the xBrowserSync API
· β˜• 3 min read
For about a year, I’ve used the Brave browser, mostly due to its built-in ad blocking and its bookmark sync feature. I have been using Brave on four different devices (three Linux laptops and one Android phone running GrapheneOS), so the bookmark sync feature is very useful. But this article on the privacy features of numerous browsers is rather scathing about Brave. So I decided to try Ungoogled-Chromium, along with the uBlock Origin and uMatrix extensions.
Read more …

Vermont Vaccination Data
· β˜• 2 min read
The Vermont Department of Health has published a document titled COVID-19 Vaccine Data. It gives data on the “[c]ompleted primary series and updated (bivalent) booster data as of April 11, 2023”. There are a number of interesting things to note about this data. First, we can see that Pfizer makes up the majority of the jabs: 60% in total: Overall Doses The poor J&J made it into only 3% of Vermonters’ arms.
Read more …

Put Brave Browser Cache in RAM
· β˜• 2 min read
The Brave browser is constantly writing large amounts of data to its cache, which is a concern when your storage device is an SSD. The solution is to put Brave’s cache on a RAM disk, i.e., a tmpfs device on Linux. Some Linux distros, like Arch, mount /tmp as tmpfs, but Linux Mint 21 does not. Mount /tmp as tmpfs So the first step on Mint is to change /tmp to tmpfs.
Read more …

Force a Wi-Fi Login Page to Appear
· β˜• 1 min read
Some public wi-fi networks require you to log in to their network using a browser. This is an annoying feature of hotel wi-fi, in particular. Some browsers, like the Brave browser on Android, detect this situation and redirect you to the login page the first time you try to use the network. But the Brave browser on Linux doesn’t seeem to be able to do this, and won’t bring up the login page.
Read more …

Using Pobox.com with Postfix
· β˜• 4 min read
As part of my plan to reduce my dependence on Big Tech, I recently made an effort to self-host an email server on Ubuntu 22.04 LTS. This is normally a really terrible idea, for a number of reasons. Receiving email is hard, but can be done with spam filters and other security tools. The much worse problem is related to sending email. As the linked article above says, it’s just too easy for your server to get on blacklists and then be blocked forever.
Read more …

Installing Vaultwarden Without Docker
· β˜• 6 min read
I recently switched from using LastPass to BitWarden as my password manager. LastPass has always worked well enough in browsers, but there was no easy way to get it to work on so-called “smart” devices like Android phones, and there was no Linux application for managing passwords. I’d been using KeePassXC on Linux in parallel with LastPass, but keeping the two synced up manually was an error-prone annoyance. Bitwarden solves these problems by providing Linux and Android applications, a web interface, and browser extensions that synchronize with each other.
Read more …