Setting exa's preferences for a better ls


Unix is user-friendly — it's just choosy about who its friends are.

A few years ago, I wrote about my perfect ls command. I always want to see the most recent file at the bottom of the screen, with a human readable filesize, and nothing else. I've started using the exa tool to make that happen. Sadly, there's no configuration file to change its default behaviour. So, I add this to my ~/.profile file: # Better LS with exa alias lh='exa -l -s modified --no-permissions --icons --no-user' When I run lh, I get: 5.6k 1 Apr 15:01 📝 something.txt …

Continue reading →

wget is much faster than scp or rsync


Unix is user-friendly — it's just choosy about who its friends are.

I needed to copy 3TB of data from my old homeserver to my new one. I decided to spend as much time "sharpening my axe" as possible. I spent ages dicking around with ZFS configs, tweaking BIOS settings, flashing firmware, and all the other yak-shaving necessary for convincing yourself you're doing useful work. Then I started testing large file transfers. Both scp and rsync started well - transferring files at around 112MBps. That pretty much saturated my Gigabit link. Nice! This was going to…

Continue reading →

ZFS - how to use a file as a ZIL


Unix is user-friendly — it's just choosy about who its friends are.

ZFS sometimes benefits from having a logging drive. Usually, you need to assign a whole device or partition to it. Unfortunately, I had already partitioned my SSD and didn't feel like repartitioning it. So, here's how to create a file, mount it as a loopback, and then assign it to your ZFS pool as a logging drive. Create a 1GB file somewhere on your SSD: fallocate -l 1G zil.img Mount the file as a loopback device: sudo losetup -fP zil.img Find the name of the new loopback device: …

Continue reading →

NextCloud Client Command Line


Unix is user-friendly — it's just choosy about who its friends are.

I have a headless server - one without a GUI - which I use as a NextCloud client. My laptop, phone, tablet, and server all sync with a cloud-based NextCloud instance. But, sadly, NextCloud don't offer a way for servers to speak to servers. If you try to run apt install nextcloud it will try to install 300MB of GUI dependencies which you just can't use. Luckily, there's a way around all that! It's a bit convoluted, so here's a guide. Download the latest AppImage Grab the link for the most…

Continue reading →

Building a new Microserver


Small square computer.

Back in 2011, I bought an HP Proliant Microserver G6 for £250. Last week I upgraded to... A Proliant G8 for £270. Nice! Hurrah for Moore's Law! Of course, setting it up is a bit of a mare. So here's a tangled mess of notes to hopefully remind me what to do... Firmware Download the latest gen8 firmware / BIOS / iLO. Find a site offering demo licence keys for iLO 4. Boot Order I stuck in an SSD on the internal SATA port which is meant to be used for a DVD drive. The internal RAID has to b…

Continue reading →

A quick guide to getting Mozilla VPN working on a headless Linux server


Mozilla VPN logo.

The Mozilla VPN service is great, but it doesn't work using the CLI if you have a "headless" server. After a bit of faffing about, I got it working. I suffered so you don't have to. Get an account Sign up and use code MOZILLA20 for a cheeky 20% discount! Get a token in the browser To start with, you'll need to get an authentication token. This requires you to be on a machine which can run a modern browser like Firefox or Chrome. On a computer with a GUI, download MozWire. This is an…

Continue reading →

A Quick Guide to Filters on Mastodon


The settings page with lots of options.

I do not care for the game of Rugby. After many wet and cold days on the school sports field, I had any latent enthusiasm for it beaten out of me. There is nothing you or anyone else can say which will convince me to take an interest in it. You may feel the same way about a specific sport, or the Great British Bake Off, or Linux. That's fine. We're all different. This can be a problem on social media. You might be following someone for their insightful takes on RuPaul's Drag Race but can't…

Continue reading →

How to search Mastodon by date & time


The Mastodon logo. It sort of looks like a smiling elephant.

Two years ago to the day, I built Twistory - a service for seeing what you posted on Twitter on this day in previous years. If you've ever used Facebook, you'll know how it is supposed to work. You see posts which show that exactly 5 years ago you were starting a new job, 6 years ago you were at a wedding, etc. The Twitter version never really worked properly because the Twitter API doesn't support searching for historic Tweets. What I had to do was manually build search queries like:…

Continue reading →

HOWTO: Remove the Blubrry PowerPress "New!" Banner


WordPress menu. There is a distracting badge with a white background and red text.

The best thing about WordPress is the plugin infrastructure. A million little gadgets to make your blog better. Sadly, there are all sorts of ways plugin authors can abuse their privileges. Dodgy code and user-hostile features sometimes make plugins more trouble than they're worth. Recently, the normally excellent Blubrry PowerPress plugin pissed me off. It's a useful plugin for publishing podcasts on WordPress. They had a new feature - some kind of embedded audio player - and introduced it…

Continue reading →

Meta Quest 2 - Refurb Exchange Experience - how to fix "Unable to Connect to Your Headset"


Unable to Connect to Your Headset We can't connect to your headset. Please try the troubleshooting steps below: - Make sure that your headset is powered on, Bluetooth is on and your phone is next to your headset. - Check that the headset screen is lit up. If it isn't, make sure that your headset is fully charged or connected to power and that your headset is powered on. - Try turning Bluetooth off and on again.

Skip to instructions I bought a Meta Quest 2 second hand from a child who was bored of it. The Quest was in excellent condition but, after a few days use, it became clear that the physical volume up key was broken. There are lots of tips and trips for fixing this. One of which is factory resetting. I turned off the Quest, held volume down and power, and got into the factory reset screen. In order to confirm the reset, you need to press... Volume up! The Oculus chat team were very helpful.…

Continue reading →

An update to the Atkinson Hyperlegible font


The font is displayed with a high level of blur to simulate low vision. The letters and numbers are still recognisable.

I'm a huge fan of the US Braille Institute's Atkinson Hyperlegible font. This blog is typeset in it, and I think it looks gorgeous. It's also specifically designed to be readable to people with visual impairments: Atkinson Hyperlegible differentiates common misinterpreted letters and numbers using various design techniques: There's only one problem, the font was released a few years ago and hasn't been updated since. It covers most of the basic European letters, numbers, accents, and…

Continue reading →

How To Write A Cover Letter For A Job


A golden envelope.

I've just finished reviewing a few dozen CVs and Covering Letters. Almost all of them were awful! Candidates - I beg you - make this easy for me! I have been given a fixed set of scoring criteria and you've given me a 2,000 word essay on your life, loves, and hopes for the future. I've only got a few minutes per candidate to read, digest, rank, and score each application. Here's my 100% guaranteed method for maximising the impact of your cover letter. Address the selection criteria. …

Continue reading →