Skip to content

Instantly share code, notes, and snippets.


Jon "The Nice Guy" Spriggs JonTheNiceGuy

View GitHub Profile
JonTheNiceGuy / The
Last active Jul 1, 2020
Transcribed rules for Scotland Yard (lightly edited for clarity), based on the scan at
View The

Scotland Yard
A compelling detective game

For 3 to 6 Players

The Scene

Mr. X, a most-wanted criminal is on the run in Central London and Scotland Yard's finest detectives are in hot persuit. To escape capture, Mr. X must move cleverly and secretly (Mr. X's whereabouts are revealed only as many as 5 times during the game); to corner Mr. X, the detectives must use ingenuity and cooperation.

One player is Mr. X. All other players are the detectives. Whether one is being chased or doing the chasing, all players travel from location to location by bus, taxi or underground. To take a certain form of transportation, you must be on the correct boarding spot and have the correct fare - no ticket, no ride!

JonTheNiceGuy / AAA_Readme for
Created Jun 5, 2020
A simple script to upgrade all wordpress components in cron
View AAA_Readme for

A simple tool to update and upgrade Wordpress components

A few years ago, I hosted my blog on Dreamhost. They've customized something inside the blog which means it doesn't automatically update itself. I've long since moved this blog off to my own hosting, but I can't figure out which thing it was they changed, and I've got so much content and stuff in here, I don't really want to mess with it.

Anyway, I like keeping my systems up to date, and I hate logging into a blog and finding updates are pending, so I wrote this script. It uses wp-cli which I have installed to /usr/local/bin/wp as per the install guide.

JonTheNiceGuy /
Last active May 12, 2020
Canon MG3050 Printer Ink Level reporting tool
function matchIP() {
# These regex based on
if echo "$1" | egrep '^((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])$' >/dev/null 2>/dev/null
echo 4
return 4
elif echo "$1" | egrep '(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,
View Vagrant + Multi-Node MicroK8S -

Using Vagrant with Multi-Node MicroK8S to experiment with Kubernetes

This script (using Vagrant) is used to build a pair of Ubuntu based virtual machines that have the MicroK8S setup of Kubernetes.

It also installs docker, and sets up aliases for kubectl in line with the MicroK8S documentation.

Please note that this script relies on the fact that Vagrant transfers files in /vagrant to the host file system, which we can then use to setup the second node.

JonTheNiceGuy / Vagrant + MicroK8S -
Last active Oct 2, 2020
Using Vagrant with MicroK8S to experiment with Kubernetes
View Vagrant + MicroK8S -
JonTheNiceGuy /
Created Dec 17, 2019
Create CA and Client Certificates on a protected CA Server, and transfer to them to your nodes, using Ansible

Create CA and Client Certificates on a protected CA Server, and transfer to them to your nodes, using Ansible

This is based on

It has been used in $my_service to generate client certificates on a protected Certificate Authority (CA) server (accessible only to my Ansible Tower/AWX server) and is then distributed to the client nodes.

View 0.

Thoughts on #SameAs


I am not a particularly good coder. As such take these as a suggestion of what could be, not what is happening! If this were to be accepted, it would need to be adopted by all the SSB clients (ssb-server, manyverse, etc). Also, this may be extremely simplistic and may produce far too many messages to the pool very quickly!

I asked on the Scuttlebutt IRC channel, and it was suggested that @MixMix might be interested in this?


JonTheNiceGuy /
Created Nov 19, 2019
How to publish an "about" message on Secure Scuttlebutt
ssb_id="$(if command -v jq >/dev/null 2>&1 ; then ssb-server whoami | jq -r .id ; else ssb-server whoami | grep id | cut -d\" -f4 ; fi)"
ssb-server publish --type about --about "$ssb_id" --name "JonTheNiceGuy" --description "Linux advocating geek. Fujitsu Distinguished Engineer since 2018. Blogging @ [](
[Twitter](|[FB](|[LinkedIn]( @ JonTheNiceGuy
🗺️ [Glossop, Derbyshire, UK : Maidenhead Grid: IO93ak]( - Amateur Radio Callsign: [G7VRI](
SameAs [Blog](@EFWzZK2K+b++CbBszsVkAB+WHlRJtX2kX8ynaJp0nHA=.ed25519), [Mobile](@3SEA7qNZQPiYFCzY6K57f0LTc9l+Bk6cewQc6lbs/Ek=.ed25519), [Laptop 1](@p3gu8eLHxXC0cuvZ0yXSC05ZROB4X7dpxGCEydIHZ0o=.ed25519), [Laptop 2](@3xnWXOEsfSNvazULuT54WL8AxGcUNCRyBPbCWcR/1ow=.ed25519), [Tablet](@ayUZ+IXBH8zX0HLk8A6h9YzIGy+LKy/RDIKJOT/xeVQ=.ed25519), [ Pub](@xp+Z
JonTheNiceGuy / Vagrantfile
Created Aug 6, 2019
Wordpress Development Machine in Vagrant
View Vagrantfile
# Some of this is based on
# and
Vagrant.configure("2") do |config|
config.vm.define "wordpress" do |wordpress|
wordpress.vm.hostname = "wordpress"
wordpress.vm.provider "virtualbox" do |vb| = "wordpress"
You can’t perform that action at this time.