welcome to unrelenting.technology
You can interact with posts on this website using your own website, if you set up IndieWeb things on it! (More specifically, sending Webmentions from h-entry formatted post pages.)
Current posts
Upgraded my gaming OS install to Windows 11. Took several hours because of me trying to be “clever” with bootloaders back when I was installing 10.
So, error 0x800701b1 when updating means Windows is confused about UEFI boot entries.
In my case, the Windows SSD had no ESP (just the one NTFS partition… that did have an EFI directory on it somehow?!), while the other SSD had everything on its ESP — rEFInd, FreeBSD loader.efi
, and Windows Boot Manager.
It all worked fine, but turns out bcdedit
is really confused about this setup and spews some error about a nonexistent or unrecognized device.
Fiddling with it and stuff actually broke my Windows install in a weird way (first it booted into safe mode, then any boot would result in a BSOD related to kernel exception something).
Booting a Windows-to-Go install from an external hard drive, shrinking the NTFS partition (damn that takes ages on a 2TB SSD) and adding an ESP fixed the install, and I was able to update to Windows 11 just fine.
This is kinda my fault for ending up with such a bizzare setup but I still wanna say, “ARRGGHHH Stupid Windows!!”

My first PCB project is a success! It’s a tiny STM32L1 board. USB in Rust works on it after some development (yeah the Rust HAL for the L1 series was the one that wasn’t maintained…)
Happy new year! Since I haven’t been posted in a while, here’s what I’ve been up to lately:
- adopted Wezterm as my terminal emulator, contributing a bunch of (mostly Wayland-related) patches in process
- figured out a minimal tool to make Xiaomi power strips work without the “cloud”
- saw a SIMD-accelerated
tac
line-reversing utility and immediately ported it to arm64 NEON/AdvSIMD - helped out with firmware and EC (just testing with the latter) patches for the Thinkpad L430/L530
- developed a FreeBSD driver for the SPI keyboard/touchpad attachment in Apple MacBooks (currently only in my fork and only tested on the 2015 MBP, spibus-side prerequisites are in review)
- related: got the Magic Trackpad 2 (which uses a compact packet format but similar surroundings to bcm5974) working too
- started learning PCB design with Horizon EDA
- which has of course resulted in making some new tools for it
- found bugs in the mold linker and zlib-ng
- made new Wayfire plugins: wf-globalgestures, wf-dynspaces, wf-touchpad-gesture-drag (yeah, turns out 3-finger drag is easy with current libinput: it’s a hold-cancel-swipe sequence!)
- finally made a freebsd-embedded-hal Rust crate
- just now added dark mode to micro-panel where I’m writing this
Unusually, I do have a legit new year’s resolution this time: I should blog more! Want to publish some long-form things here.
Sometimes I waste hours of debugging on really really silly things…
Why do I keep thinking that e.g. 0 || 69
(typically written with variables obviously) in C would return 69
rather than 1
?!
Well it must be because C’s “booleans are just numbers” thing makes me think that the operators would also do… number things. No they don’t! >_<
Website redesign is live! Don’t have a good homepage yet but really liking how the post view looks now. Plus /photos is a gallery view now.