2023 November 25 23:17
Two “infrastructure” changes:
- I moved my domain registration, DNS, and site hosting to Cloudflare.
- I modified my site generator to create Open Graph metadata instead of Twitter card metadata.
Cloudflare wins!
My domain registrar for many years, Pair Domains, decided to raise their prices significantly. For a .com domain they now charge $23/year if you register for one year, and $20/year if you register for five years. The last time I renewed with them the per year price for a five year renewal was $13!
Cloudflare has been on my “radar” since they released 1.1.1.1 – their public DNS server, which I use on all my devices.
Earlier this year I discovered that they offered an “at cost” registrar service: you pay the registry price plus ICANN’s $0.18 fee. No markup! On their blog they say that they created their own registrar because they needed it for internal use – the other public registrars they had used were too insecure – and decided that since they had built it, they could offer its service to the public free of charge!
A one year .com registration costs $9.15 through Cloudflare, including the ICANN fee.
My DNS has also been hosted with Pair Domains, so I thought I would start my transition there. I moved the DNS servers to Cloudflare and made sure that everything still worked, then moved the registrations. Everything was easy and seamless.
I have been “hosting” the sites on GitHub’s Pages service, which works well but has some quirks. Cloudflare has a similar service – they also call theirs Pages – but it’s more flexible than GitHub in several ways:
- GitHub requires the site to reside in a public repository on GitHub; Cloudflare allows publishing via a command line tool (Wrangler), uploading a zip file, or pulling from a public or private GitHub repository;
- GitHub accepts preprocessed HTML/CSS/Javascript sites or Jekyll sites; Cloudflare supports many common static site generator frameworks;
- GitHub publishes the site on a
github.io
subdomain and optionally one custom domain; Cloudflare publishes on apages.dev
subdomain but allows multiple custom domains to point to it.
2023 November 23 13:38
Happy Thanksgiving!
As always, I seem to, near the end of the year, lament that I didn’t write enough. Last year I didn’t even create a journal page! It’s a bit ridiculous, and someday it may get better.
I thought I would make an effort to summarize a few of the technical adventures I have been on. Curiously, they are almost all Linux-related!
David, meet Windows!
I had heard about WSL – the Windows Subsystem for Linux – for several years, but it wasn’t until the end of last year that I got really interested. The changes with WSL2 – running a real, para-virtualized Linux kernel instead of an emulation layer for a subset of Linux syscalls – meant that almost anything possible with Linux should be possible with WSL.
I have been using an Acer 14 Chromebook as my “daily driver” for several years now. With Gentoo installed in a chroot, I had a comfortable environment for coding (mostly C and muforth) and writing. In June 2022 Google stopped supporting that machine, so I was thinking about what would be next.
I decided that, in addition to installing a conventional Linux distribution on the Acer, I would “test out” WSL and see if it met my needs. For that I needed a Windows machine, and, after much tearing of hair and gnashing of teeth, in early January of this year I bought a Microsoft Surface Laptop 4 (i7, 16 GB RAM, 512 GB SSD). I got the machine for a bit less than $1100.
It’s a beautiful machine with a big 3:2 hi-res screen, a good trackpad and keyboard, and it’s quite small and light.
I spent a day playing around with it, felt somehow overwhelmed, and put it away for several months. I had never tried using Windows on a daily basis, and while I can “get around” in Windows, I’m not comfortable with it the way I am with BSD, OSX/macOS, and Linux. Amusingly, every Windows laptop I had bought before this ended up having Linux or FreeBSD installed on it within a day of coming into my possession!
Acer, meet NixOS!
After putting the Surface away (and wondering if I should return it), I switched gears and decided I would tackle the “Linux on the Acer” problem. First I installed the MrChromebox UEFI firmware for Braswell machines. Then I made a USB installer for NixOS – which I had used on my last laptop and had really enjoyed, though I found it sometimes challenging to understand how to turn an idea I had into a Nix expression that embodied that idea.
I was able to get a comfortable text-only environment set up pretty quickly, but I needed X (the X Window system) too; this machine will continue to be used the same way it always has been: for writing code for microcontrollers, and writing words destined for the Web. I need to be able to read PDFs and web sites. I need a browser, so I need X.
It has been many years since I have installed and configured X, and this overwhelmed me the same way that running Windows did! So I switched gears again... Back to Windows!
Windows, meet Linux!
I dug out the Surface and started to patiently learn about how to configure Windows to my liking. I installed WSL, Windows Terminal Preview, and usbipd-win
(which is necessary for my work with microcontrollers: it connects external USB devices to the WSL Linux kernel).
I’m not a big fan of Ubuntu, but because it’s the default distribution that WSL installs, and because the instructions for getting usbipd-win
running are somewhat Ubuntu-specific, I decided to use Ubuntu for any Linux tasks involving USB devices – in particular, for talking to muforth targets.
After a few tweaks to colors and keyboard shortcuts in Windows Terminal, I was able to set up a pretty comfortable environment.
Time to return to the Acer...
Fedora Silverblue and immutable distributions
Thinking that my troubles with X (and the console font – that’s another story!) were because of NixOS, I started exploring other distributions, and this ended up being a deep rabbit hole.
In the process I discovered the joy of containers, Podman, and the fascinating and new-to-me world of openSUSE!
I have much more to say on this topic...
Read the 2021 journal.