Network booting an aarch64 SBC with u-boot and iPXE

I recently started trying to figure out network booting for aarch64 single board computers (SBC), such as the Raspberry Pi, for a new CI I've been helping out with at my Igalia day job. For one reason or another, I never participated in the Raspberry Pi "fad" (maybe because they use Broadcom chips, which are [or were] notoriously unfriendly on Linux? I don't recall why... But I digress...)

But, I do have a quite capable aarch64 SBC just laying around, literally collecting dust... the Purism Librem 5 DevKit!

·Clayton Craft
Network booting an aarch64 SBC with u-boot and iPXE

Using ASNs and nftables to block connections

Blocking Facebook, and similarly-toxic sites/services, is a common theme amongst those who value privacy. Facebook goes to great lengths to track everyone, regardless of whether or not they have an account or use anything they "generously" offer to the public. Previously I had a long, long list of domains that Facebook owned, and set up unbound (the DNS resolver I run) to deny lookups to those domains. This was a classic game of cat & mouse, as Facebook would frequently acquire new domains and it was basically impossible to keep up.

·Clayton Craft
Using ASNs and nftables to block connections

Timing performance of functions in shell scripts

I recently started looking at some shell scripts that run fine on big fast powerful systems (i.e. x86 laptops/desktops), but quite slowly on small slow devices. Using time to run the script (or, the amazing hyperfine) works OK if you're timing the entire script execution, but what do you do if you want to time individual functions within the script?

·Clayton Craft
Timing performance of functions in shell scripts

Quick n' Dirty Mobile IRC/Matrix via Weechat

Due to a current lack of usable Weechat relay clients on Linux that work well with mobile display sizes, and a lack of free time on my part to write one, I've come up with this simple (albeit not elegant) way to "run" Glowing Bear in a way that doesn't take up valuable tab space in Firefox. This essentially just runs a new Firefox window in kiosk mode, so that the tab bar, menus, etc are hidden, and makes it "feel" a bit more like a "native app" than a web thing running in a browser tab.

·Clayton Craft
Quick n' Dirty Mobile IRC/Matrix via Weechat

Setting up a mirror for postmarketOS pmaports on Arch Linux

Running a mirror for postmarketOS is fairly simple, and it allows you to alleviate some pressure from the main pmaports mirror if you're installing from pmaports often... Not to mention you'll almost certainly experience a rapid speed-up in downloading from it (compared to the official mirror) if your mirror is local/close.

·Clayton Craft
Setting up a mirror for postmarketOS pmaports on Arch Linux

On removing a stubborn square tapered bottom bracket

I recently acquired enough quality parts to upgrade my road bike's drivetrain from 9 speed to 10 speed. It couldn't have come at a better time too, my old bottom bracket was starting to get that hallmark 'coffee grinder' sound to it.

·Clayton Craft
On removing a stubborn square tapered bottom bracket