Johnny Matthews | Blog

Semantic pull request titles for documentation

14th of April 2024

Using these rules when creating a pull request title won’t make you a better person, but it might improve your Git repository. I based this post on a GitHub gist from joshbuchea’s called Semantic Commit Messages.

Manufacturing developer relations

26th of March 2024

Developer relations, or devrel, is essentially a programmers version of a customer success team. It’s all about building relationships between a tech company, and the developers who use that company’s stuff. Setting up a devrel team or strategy can be tricky, and there’s one huge pitfall I see companies fall into again and again.

Dealing with the OpenKeychain input error

19th of November 2023

The OpenKeychain app on Android is used for managing GPG keys on your mobile device. However, it’s stuck on GPG version 2.2.0.

Vertical tabs in Firefox

4th of October 2023

Firefox is great, but there’s no built-in option to enable vertical tabs. And even when you find an extension to give you vertical tabs, there’s a bunch of faffing around you have to do to get everything to look nice. Thankfully, I’ve done all the work for you.

Securing Windows

31st of August 2023

I’ll start this off by saying that Windows is not a secure operating system. This is mostly due to the fact that it trusts the user to know what’s going on. It also gives apps and features far more access to the system than it should. However, there are a few simple steps that users can take to increase their security posture.

Grab an entire website using wget

22nd of August 2023

Learn how to grab an entire website using wget. You can then use this site as a static mirror.

Switch graphics in Ubuntu

18th of January 2023

Ubuntu doesn’t have a built-in GUI for switching graphics settigs like PopOS. But no matter, there’s a terminal command that’ll work just fine! Unfortunately, this only works for systems running an Intel CPU.

Reset WSL clock

23rd of December 2022

I’m not sure why this keeps happening, but every now and again the clock within WSL (and WSL2) get massively out of sync. Here’s how to reset it.

Remove old Linux boot options in Windows

14th of September 2022

If you’re like me, you’ll often find yourself installing new and exciting Linux distros only to get bored of them a week later and saunter back on over to Windows. This is fine, but leaves me with a bunch of un-used boot options whenever I press F12 on start-up. This mini guide walks you through how to delete these boot options from within Windows.

How to store private information on a public network

1st of June 2022

This is a bit of a silly question: how do you store private information on a public network? I guess one question is why would you bother doing that in the first place? If you’ve got private information, store it on a private network. And that’s a fair statement to make.

Install LOTRO on an M1 Mac

10th of May 2022

Installing Lord of the Rings Online (LOTRO) on a M1 Mac is shockingly easy. It’s pretty much a two step process, well mostly. I’m running a 2020 Macbook Air with 8GB RAM. My battery was fully charged before I started this installation, and by the time I was able to play the game, it had dropped down to 90%. This CPU is insane.

Dual boot Windows 11 and Ubuntu

1st of March 2022

Windows 11 is good for playing games, but crap at everything else. Ubuntu is good for development, but crap for playing games. So it’s time to dual-boot! Unfortunately, Windows and Ubuntu don’t play nicely together, so there’s a few things we need to do so we can’t get them both installed.

Install LOTRO on Windows 11

28th of February 2022

Have you tried to install Lord of the Rings Online (LOTRO) on Steam, but it just won’t open? Well, it’s not opening because the game relies on a particular version of C++, which Standing Stone Games does not distribute with the game. Here’s how to install it.

Disable GPG password pop-up

22nd of September 2021

When you try to decrypt something with a GPG that has a password, the OS you’re using will prompt you to enter that password. Some operating systems, like PopOS, have a pop-up style prompt for you to enter the password. I don’t like this, and much prefer the terminal prompt.

Disable print-spooler in W10

22nd of July 2021

The printer-spooler in Windows 10 is all kinds of fucked, and is a common entry-point for attackers into a W10 system. The best protection right now is to just turn it off until you need to print something.

Create a new virtual desktop in MacOS.

31st of May 2021

MacOS has the ability to create multiple virtual desktops. I find this feature super handy because it allows me to have separate desktops for separate pieces of work. Annoyingly, Apple doesn’t include a built-in hot-key to create a new desktop. However, with the use of Albert, we can create a script to create a new desktop for us!

Random wallpaper script

14th of May 2021

Yet another blog post about setting your background wallpaper using a bash script. I know; revolutionary stuff.

Move GPG keys from PC to OpenKeychain

5th of May 2021

I often find myself resetting my phone, which means I have to reimport my GPG keys from my PC to the phone. And every single time, I go to the OpenKeychain FAQs to find the one command I need to run. So instead of doing that, I’ve throw that command here.

Remove crap from your music library

4th of May 2021

Over the years I’ve accumulated a bunch of crap in my music library. Lots of DS_Store and .dat files, bouncing around for no particular reason. I found out that I can clean everything up with just a couple of commands!

Lotus full-node quickstart

6th of April 2021

Wanna spin up a Lotus full-node on the Filecoin network, but don’t wanna have to slog through the docs? Run these commands in order to get everything built and installed super quick.

Find a Raspberry Pi on the network

5th of April 2021

Have a Raspberry Pi somewhere on your network, but don’t know what the IP address is? All you need to do is get all the IPs on the network, and filter the ones with Raspberry Pi MAC addresses!

Disable mouse acceleration in MacOS

4th of April 2021

MacOS is silly. One of the things that makes the operating silly is it’s insistency on forcing mouse controlls to accelerate before moving across the page. You know the deal: you move your mouse one inch to the left very slowly, and the cursor moves about half way across the screen. But if you shift your mouse to the left incredibly fast, then the cursor will scream across the screen and hit the monitor wall.

Basic Rsync example

10th of March 2021

Rsync is a command-line tool that makes copy files to and from a remote server super easy. It’s also great for keeping backup folders and external drive in sync with each other.

Switch GPU in Pop OS using the terminal

9th of March 2021

Sometimes, you need a beefy GPU to process all the shaders in Metro 2033. And other times, you just need the integrated CPU graphics to show you a terminal window while you try to rebuild a Lotus binary on the train to Kings Cross without your battery crapping out.

Access the terminal clipboard in ChromeOS

1st of March 2021

By default, you cannot copy something from the terminal into ChromeOS. If you want to access the terminal clipboard, you need to install the wl-clipboard package.

A new SaaS appears

22nd of February 2021

New software often has a way of just appearing in your life, especially if you life is work. I recently discovered Notion.so completely by accident and through no fault of my own. It started out with an email.

Make git branch use ls, not less.

16th of February 2021

A while ago, the maintainers of Git decided that git branch should act like less instead of ls. That was a terrible decision that made me very upset. Fortunately, the maintaners decided to leave a configuration option to let me change it back. Lovely.

Connect to a Raspberry Pi Zero over USB on Ubuntu

6th of February 2021

I was messing around with a new Raspberry Pi Zero I got for Christmas, and I was surprised how convoluted it is to SSH into the device through the USB port. So I jotted down the steps and put them here.

Copy file contents to clipboard.

12th of January 2021

I often fine myself needing to copy the contents of a file into the system clipboard while fiddling around in the terminal. So I created a quick little function to help me.

Edit multiple lines in Vim

31st of December 2020

How to edit multiple lines at once. I created this mini-guide while using Windows and Powershell, but the information is relevant to Unix-based systems as well.

Grabbing a random Unsplash wallpaper

3rd of November 2020

Look, I know there’s a bunch of tutorials out there that show you how to Curl or Wget a wallpaper down from Unsplash. But most of them gloss over super basic stuff that I got stuck on. So I put this guide together that walks you through each baby-step.

CMUS config location

28th of August 2020

CMUS is an incredibly simple music and media player that runs straight from the terminal. However, sometimes it can be tricky to customize and interact with. In this post, I’ll quickly jump into where the config files for CMUS are and how to edit them.

Rsync files to Android

17th of July 2020

Rsync is a super handy utility that makes synchronizing files between two systems incredibly simple. Unfortunately, Android doesn’t allow users to use this utility straight out of the box. This post discusses why the restrictions exist and how to get around them using ADB-sync.

Plasma showing on-screen keyboard at login

16th of July 2020

I experienced a weird issue with Plasma and Kubuntu (the KDE flavour of Ubuntu) recently. Plasma is the desktop environment that comes default with Kubuntu, and it built by the KDE team. It’s pretty nice, and works pretty well. At least, unless you try to uninstall the Clipboard app that comes built-in with Kubuntu.

Unix Pass on Windows Subsystem for Linux

23rd of June 2020

All good programmers use the terminal for literally everything, so you should use the Unix Pass manager to manage your passwords. And since Windows 10 has the ability to use Linux apps through the Windows Subsystem for Linux (WSL), you should install it and be the envy of all your nerd friends.

Disable touchpad scroll-zoom in Firefox

9th of June 2020

It’s super annoying when you’re scrolling down a window and press CTRL for whatever reason. The whole window freaks out and starts zooming in. I don’t really want this to happen, so here’s how to disable the scroll-zoom in Firefox.

Access the clipboard in Windows subsystem for Linux

29th of March 2020

Using the clipboard from with the Windows Subsystem for Linux (WSL) sounds like a very niche thing to do. But if you’re using the Unix Pass password manager, like I do, then it’s absolutely necessary. This post briefly goes over how to enable the clipboard, and some issues you might run into.

Create a paper backup of your GPG key

12th of December 2019

Having a paper backup of your keys is a great way to make sure you don’t lose them. Yeah, you can store them on digital media like a USB stick or a CD, but there is a chance that the data could get borked. Create a paper copy and store it somewhere safe.

Import a GPG key onto your phone

3rd of December 2019

GPG keys are a super secure way to encrypt your stuff. If you’re an idiot like me and use Unix Pass everywhere, including on your phone, you’ll need to import your GPG key from your PC to your phone. So this post goes over how to import a GPG key onto your phone, if not very briefly.

The Search for Sunrise, Part Three

31st of October 2019

This has been a long time coming. I’d like to say it’s because of life-stuff, just things getting in the way. Since I wrote the original post back in 2017 (posted to Medium in 2018), I’ve changed jobs, moved house, moved house again, moved countries, got a house, got a new job, and now I’m moving house again. But the story about Maree Docia hasn’t really changed. Until seven days ago.

Writing Lit AF Docs

9th of October 2019

Writing docs is easy. It’s just a bunch of words strung together into sentences, which in turn make paragraphs. But writing docs that are so lit that they make your parents actually proud of you, that’s hard to do. But fear not!

Terminal Based Password Manager

22nd of July 2019

Password managers are great. Services like Lastpass, 1Password, and Dashlane are a great jumping off point for improving your online security. It’s just that they’re not the end-all be-all of password management, and they suffer from a lot of the vulnerabilities that other onlines services do.

How to Update your CMUS Library

9th of May 2018

CMUS is a fantastically simple music player for Unix systems. It just runs in the terminal and requires hardly any memory to run! This low memory requirement is actually why I go onto using it in the first place. Between Chrome, Slack, and VSCode, I don’t have much memory left to go around in my 8gb MacBook.

Create an Encrypted Zip File on MacOS

9th of May 2018

This guide will quickly walk you through how to create an encrypted zip file on a Mac. Since macOS and Linux systems have a lot in common, this will likely work on any Linux distributions too.

Installing LineageOS on Nexus 5X from macOS

1st of March 2018

Bored of the standard Android OS on your Nexus 5X? You might be interested in installing LineageOS, a free and open-source operating system for various devices based on the Android mobile platform. I created this post partly as a guide, and partly as a reminder for when I need to do this again in three months.

My Shockingly Un-scientific Study of Chrome and Firefox

2nd of January 2018

So a new Firefox version came out a few weeks ago. Everyone’s been claiming that it’s super fast and has overcome it’s sluggish past. There’s even been some journalists saying it’s faster as less resource heavy than Chrome. I wanted to find out for myself, so I did a few tests.

Link your Documents Folder to Google Drive on OSX

16th of November 2017

Windows has this pretty handy feature where you can turn folders into links to other directories. For example, instead of your Documents folder existing in C:/Users/Me/Documents you could have it point to C:/Users/Me/Google Drive/Documents. That way you can just interact with your Documents folder like you normally do, but be safe in the knowledge that everything is being backed up.

Open your File Manager from the Terminal in Ubuntu Mate

28th of September 2017

Do you ever find yourself 22 folders deep into some long lost repository or Drupal theme, and need to jump into the file manager at this point to take a look at some pictures or something?

The Search for Sunrise - Part Two

29th of August 2017

This is the second part in my never ending quest to prove that Maree Docia probably doesn’t actually exist. To catch you up, Maree Docia is an artist on Spotify with a few popular tracks. However, outside of Spotify, there is no mention of Maree Docia out in the wild. This series of posts attempts to find out what’s going on.

Customising DKAN's global search bar

26th of August 2017

DKAN is an open-source tool for managing and displaying large public data sets like census data, or weather patterns. It can be a bit tricky to customise, so this post details my exploration into how to configure the global search bar within DKAN.

A Week Of Hardstyle

23rd of August 2017

I just spent the last week listening to nothing but Hardstyle music at work. When I say that, I wasn’t actually listening to it 100% non-stop, obviously. What I mean is I didn’t listen to any other genre of music while working. No punk rock, no classical stuff, no spoken word. Just Hardstyle.

How to increase PHPs upload size

7th of August 2017

So, for some reason PHP’s default upload size is only 2MB. This might have been large enough for most files way back in the day, but these days it’s barely enough to move a .doc file around. Here’s how to change it to whatever you like.

The Search for Sunrise, Part One

6th of August 2017

Hidden in the depths of Spotify exists a track called “At Last, Sunrise”. It’s slightly over two minutes long so if you have a Spotify account I recommend giving it a quick listen. Even if you’re not into classical music, give it a go. It’s only two minutes long.

How to disable middle mouse button paste in Ubuntu

30th of July 2017

For some reason, clicking the middle mouse button in Ubuntu will paste whatever you have copied to your clipboard. I don’t like this. So, here’s how to disable that feature, since there isn’t an easy way to disable this feature through Ubuntu settings. Fun.

Getting Data from Impact Case Studies in HEFCE’s REF2014 database

26th of July 2017

This post dives into how I grabbed some fancy data out of a very old, and fairly inaccessible, dataset.

Dealing with Clean URLs, or How I Learned how to Interpret Recline JS Errors

20th of July 2017

This week I ran into an issue with clean URLs (essentially an SEO friendly URL, so no question marks, equals signs, etc) in DKAN. I stumbled onto this while attempting to fix an issue with the DKAN datastore.

Create a Server Environment for DKAN

2nd of May 2017

DKAN is an open-source tool for managing and displaying large public data sets like census data, or weather patterns. This post runs through how to set up DKAN on a LAMP stack.

Creating a Backup and Restore Procedure

25th of April 2017

We’re going to quickly run through how to set up a backup and restore procedure for your DKAN installation.

Installing DKAN

2nd of March 2017

In this guide I’m going to very quickly run you through how to install DKAN on a Ubuntu 16.04 server.

CKAN Lib Apache Installation Issue

26th of February 2017

CKAN relies on libapache2-mod-wsgi to run various bits and bobs. Unfortunately for me, I’ve run into an issue.

Playing with CKAN

23rd of February 2017

This post covers how to build and run CKAN from source, in case you’re not a fan of using pre-built binaries.