Weeknotes 271
6th September, 2026
“Escalate to root”
-
I renamed the my dotfiles repo branch from
mastertomainafter putting it off for ages. I just assumed before that it would be a hassle and never got around to it. It was not a hassle. Now I have continuity for all my projects so the typos should be reduced. -
How to use multiple cursors in Neovim 0.13
I guess we’re going to have to stop saying Neovim doesn’t need multiple cursors when 0.13 is released.
-
The network cabling continued this week.
To complete the installation I need to find a route from the 1st floor bedroom to the top floor where the networking equipment is to be installed.
I did find a route and managed to get a cable all the way to the downstairs hallway. There’s no getting around it though, I made quite a big unplanned hole in the ceiling of the bedroom. Not ideal, but I’ve come to terms with the mistake and bought a big bag of filler. Soon I will be learning how to repair coving 😬
The project grew of course (they do that) and the Cat 6 cable I’d ordered also arrived, so I pulled the existing cable and replaced it with three new ones: 1 x Cat 5e for the doorbell, 1 x Cat 6 to go to the lounge, and 1 x Cat 6 just to the 1st floor to hook up a WiFi Access Point that will be mounted on the ceiling below. The Cat 6 cables will hopefully be connected to something soon.
-
Each test should own its setup
I been saying this for years, and frankly, I’m sick of saying it.
-
I got all the UniFi networking gear setup and it became clear I needed a second AP after performing several WiFi “site surveys” aka walking around the house with WiFiman running on my phone and then looking at heatmaps quizzically.
So now I’ll have APs on the ground floor and 2nd floor with the 1st floor getting coverage from both. It was always part of the plan that I might need to add additional APs, but I wanted to start with one and see how I went. And where it went was that I needed another.
-
On the back of the networking project I continued my “investment” and ordered a rack into which all the gear will go, and a new rack-mount case for my server. As things go, this spiralled even further as the new case required a new power supply and so forth.
The rack arrived and I put it together fairly easily, it’s ready to be mounted to the wall, probably, next week. It seems decent enough so far, and well made for the price.
The case won’t be here for a while, but I plan to transplant all the innards of my server into this case, and then it can be installed in the rack.
-
Several powercuts in a row this week (we sat staring at the wall whilst we had no power) had me fixing ZFS again, but I swear this wasn’t ZFS’s fault – take that back!
The pool ended up in a
DEGRADEDstate because the disk identifiers once again moved about without permission. Computers don’t like it when that happens.I’m still running the pool using device names rather than the IDs I had originally setup. I would like to fix that. And I will one day.
I should have heeded my own warning.
It was a fairly easy fix in the end much like last time, with some re-importing of the pools. Once I was back online, and the pool was scrubbed clean, I reimported once again but this time with specific
wwn-*devices.$ sudo zpool import \ -d /dev/disk/by-id/wwn-0x5000cca2abe8a2d5-part1 \ -d /dev/disk/by-id/wwn-0x5000cca2abe8c2d2-part1 \ -d /dev/disk/by-id/wwn-0x5000cca2b8d4741d-part1 \ -d /dev/disk/by-id/wwn-0x5000cca2abe59f78-part1 \ -d /dev/disk/by-id/wwn-0x5000cca2abe7e82d-part1 \ -d /dev/disk/by-id/wwn-0x5000cca2aad140f7-part1 \ -o cachefile=/etc/zfs/zpool.cache \ storageThese device names should not change in the future, avoiding this sort of problem again. Hopefully.
-
Omarchy: Any User Process Can Escalate to Root
That said, this isn’t the first time I have ran into security issues with Omarchy and frankly I do not trust the decision making process as it stands to ensure the level of security I expect out of my distro. I hope that changes at some point because there is a lot to like about Omarchy.
I don’t know why you would choose to use this distro over the many options available to you.
-
Tailcat: Tailscale without Tailscale, by Tailscale
tailcatseems cool. -
TailSocks creates a local SOCKS5 and/or an HTTP proxy server, automatically routing all traffic through a Tailscale exit node of your choice or a tailcat server.
TailSocks also looks cool.
-
With the new rack-mount case on it’s way, and extra disk drives bays it has, I was casually discussing with a friend the possibility of changing my mirrored zfs setup to RAIDZ2 instead. When I set this server up originally, I choose mirrored for a variety of reasons: read speed, write speed, but mostly ease of expanding the storage pool. ZFS’s main RAIDZ types did not allow expanding the pool until recently. With Openzfs 2.3 you can now expand RAIDZs with new disks just fine.
If I were to change from mirrored to RAIDZ2 my storage space would increase 33% whilst increasing the amount of disk failures I can endure (Well, not quite, but it’s more nuanced than that. In the mirrored setup I can technically lose 3 disks provided each failed disk belongs to a different mirror which would be very lucky in terms of failure) - with RAIDZ2 I could lose 2 disks, but their location in the pool would not matter. I thought changing to RAIDZ2 would mean a decrease in read and write speeds, but apparently I was, and am, wrong about that. I did some research and it looks to be that everything would stay roughly the same if not a bit better for the kind of workloads this server serves.
It sounds like there is no downside to this plan? The problem is that there is no direct migration path from mirrored to RAIDZ2, you need to create a new RAIDZ2 pool and then copy your data across from the old pool – or move the data somewhere else. Without symmetric broadband this seems doomed. I can “borrow” three disks from the mirror, and live in fear whilst I complete the operation, but the minimum disks I need would be 5. Two more than I have.
I knew RAM prices were crazy. I knew GPU prices were crazy. What I didn’t appreciate was hard disk prices. The same disk I bought for £354 in 2023 is now £915 in 2026. I am not spending £1800 on this mad plan.
Shame because it sounds like it just might work.
-
Shout out to raidsize.com, an extremely well done RAID calculator 👏
-
Once the 3rd-level domains are terminated, it is assumed that the now vacant 2nd-level domains will become available for registration. Should someone (other than me) scoop up fraser.name they would be able to recreate and control neil.fraser.name. They’d be able to hijack hundreds of accounts that are linked to that address.
-
How we saved 100 terabytes of memory by optimizing 1.1.1.1’s DNS cache
Big Pineapple, the platform behind 1.1.1.1, Gateway DNS, DNS Firewall, AS112, and several other Cloudflare DNS services, stores over 250 billion DNS cache entries at any given time. At that scale, wasting a single byte per entry costs more than 250 gigabytes of memory across our fleet.
The scale of this.
-
Commodore Callback 8020 – old skool.