Teaching history

Thoughts

From the New Yorker, via Merlin Mann:

That’s why parents don’t have a right to choose the version of American history they like best, a story of only their own family’s origins. Instead, the state has an obligation to welcome children into that entire history, their entire inheritance.

Easily applies to Australia too.


The surprising backlash against RSS

Internet

The backlash against RSS, Atom, and other open-syndication formats has been a genuine surprise. Stories predicting their demise are routinely met with glee and edgelord commentary from a vocal minority who should know better.

It speaks to a short memory and lack of imagination.

Can anyone say, objectively, that having multiple incompatible mobile applications with their own UIs and logins are better than having a single podcast client, for example? If so, hook me up with your dealer, I could use a few hits of that for my anxiety right now!

My pet conspiracy theory is that such people are funded by social networks and repressive regimes to keep information locked up, sanitised, monitored, monetised, and controlled. Anyone who’s happy about reducing data transparency and interoperability should be treated with suspicion.


Bob Malach, Michel Petrucciani: For All Time’s Sake

Media

It’s Music Monday time. Each and every Monday, except when I don’t, I share a musical piece of music on Mondays, without fail, except when I fail.

Today we have Bob Malach and Michel Petrucciani performing For All Time’s Sake. I discovered this gorgeous track on a Japanese jazz compilation from Ben Sidran’s Go Jazz label I bought in February.

Play Bob Malach, Michel Petrucciani - For All Time's Sake


My essential Firefox fixes (and add-ons) in 2022

Software

Update: This may be my first time I’ve appeared at the top of Hacker News; thanks @koobs for alerting me. There are some great plugin ideas and feedback there. Mozilla: please pay attention, these are your biggest advocates.

I haven’t done a how I use Firefox post for a few years now, so I thought it was worth revisiting everyone’s favourite runner-up browser. It’s scary to think I’ve been using this for almost twenty years!

This is valid for Firefox 96, another number that doesn’t seem real. Though I suppose technically it is. How irrational of me! Wait, rational.

Interface fixes

Mozilla recently removed the Search box by default, and added redundant padding to the toolbar to mimic Safari. You can reclaim this space, and get the Search and titlebar back for easier dragging:

  1. Right-click the toolbar and click Customise Toolbar
  2. Hover over the flexible spaces and drag them out
  3. Drag the Search box back next to the URL bar
  4. Drag the Pocket icon out if you don’t use it
  5. Click the Title Bar checkbox to enable it again

If you’re on *nix or Windows, you can also click the Hamburger menu on the top-right and choose Menu Bar to get that back too.

You also should definitely not install the Horizontal Wood theme to make your browser look like a piece of IKEA furniture. I didn’t, and am definitely not loving it for its cheesy fun.

Privacy extensions

  • uBlock Origin is still my go-to for privacy protection and filtering.

  • I also use Decentraleyes to proxy common CDN requests. Update: People are recommending LocalCDN as an alternative.

  • I keep wanting to use NoScript, but unfortunately the modern web beats me back into submission each time. Maybe you’ll have more luck.

  • I Don’t Care About Cookies is essential if you scrub cookies. Without a way to save preferences, those disingenuous implementations of EU law asking you for permissions each time get mighty old!

I used to use cookie blocking tools, but thesedays I use Firefox’s built-in Cookies and Site Data tools in Preferences. There you can click Delete cookies and site data when Firefox is closed, and also click Manage Exceptions to add frequent sites to spare you having to re-auth every time.

Missing functionality

  • Tree Style Tab is still essential for putting tabs on the side, so you don’t end up with a row of tiny tab icons. It also helps you group tabs, so you can see where tabs came from.

  • KeePassXC-Browser is essential if you use the world’s best password manager!

  • And finally, OneTab converts your open tabs into an HTML file with a list. It’s a great way to save memory and bookmark a ton of tabs instead of keeping things open.


Committing dotfiles and other essentials

Software

Redeploying my FreeBSD desktop last week gave me an excuse to rethink how I save state on machines. The dream would be that local files are backed up, and anything to do with configuration are located in repositories that can easily be cloned elsewhere. This way, I’d take a financial hit by leaving my laptop on a train, or having a motherboard fry itself, but that’s it.

Dotfile repos are a popular way to do this. Browse sites like GitLab, and many people have consolidated their text configuration into one place. I do this too, and symlink essentials into it, such as my kshrc, vimrc, and mpv configs. It’s also fun learning how people use these tools.

I’ve started doing this for private data too, only this time to a local Git repo on my FreeBSD bhyve NAS. From one centralised location I’ve got my KeePassXC password manager vault, Clara’s and my envelope budget spreadsheets, text snippets for Alfred and Kate (sounds like a band), bookmark files, personal Ansible playbooks, and my massive shell script library I’ve amassed over many years.

Just remember if you use Git this way, make the target repository bare or your commits will be rejected. You should also be pushing it to an encrypted drive you trust. On the server:

$ mkdir secret-garden-repo
$ cd secret-garden-repo
$ git init .
$ git config --bool core.bare true

Then on the client, assuming you’re using SSH:

$ git clone server:<PATH>/secret-garden-repo

The only issue right now is handling binary config files that seemingly change with every launch. I suspect they’re writing temporary data or a timestamp each time, which is enough to change the entire file. Certain programs let you specify that you don’t want to compress their data files, which sometimes helps. Otherwise, for those I use a separate folder that I rsync manually instead (though I’m sure there’s a better way).

It’s interesting just how much all this stuff can be shared between OSs thesedays. With a bit of care, my dotfiles and configs work the same on macOS, FreeBSD, NetBSD, and Linux, and my spreadsheets and key files are all using cross-platform tools. My kshrc contains a case `uname` block that lets me define behavior when one specific OS or toolchain deviates from everything else… I’m looking at you, GNU coreutils!


Retina, HiDPI scaling in KDE Plasma

Software

The KDE Plasma desktop handles Retina resolutions almost flawlessly. Using a 200% scale to achieve 2x HiDPI on a capable monitor ensures crisp edges, and no shimmering interpolation when moving or resizing windows.

If you run a 4K or better display with the right drivers on FreeBSD or Linux, Plasma helpfully doubles some of the UI elements. To make 200% scaling universal, there are a few more tweaks to make.

Launch System Settings:

  1. Scroll down to Hardware in the sidebar, and choose Display and Monitor. It should select Display Configuration for you. Use the Global Scale slider to set the scale to 200%.

  2. Click the < (Go back) button in the top-left corner, then choose Appearance, then Cursors. From the Size dropdown at the bottom-left, choose 48.

If you’re like me and are still running xorg, you might still see tiny icons in menus and buttons. If so, you can set this environment variable to enforce scaling:

$ echo "export PLASMA_USE_QT_SCALING=1" >> ~/.profile

Log off and back on, and everything will look as it should :).


Comparitech are spammers

Internet

Nearly every day spammers ask me to include sponsored content for nefarious sites, usually for gambling or fake downloads. The other kind asks me to link to their site under the guise of fixing outdated or broken links. It’s beyond tedious at this stage.

Here’s one such example:

I noticed you’ve shared TrueCrypt on this page https://rubenerd.com/p1117/, as you may be aware, development of TrueCrypt was discontinued back in 2014 and has subsequently not been maintained. A number of security flaws have been uncovered and as a result we are reaching out to people to highlight a list of alternatives.

Here’s the list (along with further details about TrueCrypt no longer being maintained) - $REDACTED, when you update your page it could be a useful resource to point your visitors to.

You can tell these are automated, or not written by people who’ve spent more than thirty seconds on their victim’s site. I’d written at length about TrueCrypt back in the day, including when it was retired and where to move on to. Their advice wasn’t to link to VeraCrypt, or any of the other offshoots… it was to link to their own site.

I consider this a lazy form of spearfishing, not to gain access to a system to steal money or credentials, but to boost their search engine rankings. They’re mail merged with just enough information about their intended target to sound convincing and personal, but in reality they’re generated from simple web searches.

The above example was from one offender among many called Comparitech. They’ve emailed me dozens of times on my personal email and at work, but their spamming of the FreeBSD mailing lists was beyond the pale. Their domains have included:

  • comparitech.ltd
  • comparetech.org [sic]
  • comparitech-mail.com
  • ctechemail.com

They might claim their site is benign and their content is useful. I call shenanigans, given they’re spamming mailing lists, and doing so from multiple domains. Why would a legitimate outfit do this, if not to thwart email filters?

Only the first two domains currently resolve, which point to Dreamhost and Rackspace IP addresses. I’ve sent emails to their abuse lines reporting their behaviour that clearly violate the platform’s terms of service.

I suppose the irony is that I did write about them… just not in the way they intended. Here’s a Comparison for them: you’re a processed meat product in a can!


Beeping fire alarms taught me about irritations

Thoughts

I’ve talked before about papercut problems, or those that are irritating, but not enough to waste effort fixing. I used the example of a dodgy Ethernet dongle that caused me problems, but it wasn’t until it reached a certain threshold did I replace it, and realised just how much better my life could be.

Walking down the common hallway in our builidng lead me to realise that all our papercut problems are unique, both in terms of what we’ll tolerate, and from what.

At least two apartments on our floor (possibly three, it’s hard to tell) have smoke alarms with low batteries. You can clearly hear them beeping as you walk past, indicating that their batteries are due for replacement. The sounds are deliberately irritating and impossible to ignore, for safety reasons.

Or at least, you’d think so! Assuming those apartments aren’t vacant, their occupants either don’t find those shrill beeps annoying, or have relegated them to papercut problem territory. They could replace the batteries, in other words, but it’d takes too much effort.

This demonstrates to me we all have different tolerances for such things. Which lead me down the rabbit-hole of thinking whether half the stuff that bothers me is worth being bothered about, if others aren’t. An ideal world would be free of irritating problems, but pragmatically I’d be doing myself a favour by tapping into that coping mechanism and dismissing it as so many others seem to be able to.

Though I’d say it’s still worth replacing smoke alarm batteries.


My lazy approach to FreeBSD dual-booting

Software

Brad Alexander emailed asking how I dual-boot my FreeBSD workstation that doubles as a Linux Steam game machine.

I must confess, I use the BIOS boot menu!

I used to use grub, but lately I’ve decoupled OSs to their own SSDs. The FreeBSD NVMe drive boots by default, but striking F11 at boot brings up the motherboard’s “boot override” menu where I can select the SATA drive with Linux.

There are a few advantages to this approach:

  • No further configuration after installing each OS.

  • Drives can be physically removed, upgraded, or wiped without affecting the other OS and its partitions.

  • Less stressful OS upgrades, because you won’t inadvertently wipe the boot loader the other OS needs.

  • Faster boots to a primary OS; FreeBSD in my case. With an active boot menu, you’re always choosing an OS or waiting for a timeout.

The biggest drawback is you need two separate drives, or four if you run mirrored pairs as I do on my FreeBSD bhyve NAS. That might prove expensive if you’re on a budget, and if this is your primary computer.

My aging Skylake board only has one NVMe slot, which means a mirrored zpool would only write as fast as a SATA. The Ryzen Z570 boards I’m looking at have two NVMe slots that run at comparable speeds, which would make mirroring tenable again.


Feedback on 4K KVMs

Hardware

On Monday I asked if DisplayPort or HDMI KVMs were any good.

Wesley Moore:

My partner got a StarTech one to switch between work and personal macs with a 4K Dell display… it did not go well. Display switching frequently needed multiple attempts and she ended up going back to two displays on her desk.

Rebecca Hales, via email:

They are ok if you always remember to wake your computers from sleep before using the KVM to switch them, and kick it regularly.

And Dmitry A:

No! No! No! Don’t!

Thanks everyone 👍. I’ll rethink this desk setup instead.