Announcing Meetup.com Support for Bridgy Publish (2 mins read).

Announcing the ability to RSVP to Meetup.com events from your website, using Bridgy.
Announcing Meetup.com Support for Bridgy Publish (2 mins read).

Announcing the ability to RSVP to Meetup.com events from your website, using Bridgy.
Week Notes 20#7 (3 mins read).
What happened in the week of 2020-02-10?
Birds of Prey Review (No Spoilers) (3 mins read).

A short, spoiler-free, review of Birds of Prey: And the Fantabulous Emancipation of One Harley Quinn.
Setting up Multiple redirect_uris on the Meetup.com API (2 mins read).

How to allow multiple redirect_uris on your Meetup.com (OAuth2) API consumer.
Week Notes 20#6 (3 mins read).
What happened in the week of 2020-02-03?
How to Extract a Twitter Profile URL (But Not Status URL) with a Regex (1 mins read).
A regular expression to match Twitter Profile URLs, but not Status URLs.
Converting a Ruby Hash to a String (1 mins read).

The ways that we can convert a Hash to a String with Ruby.
Week Notes 20#5 (3 mins read).
What happened in the week of 2020-01-27?
Generate Plain Old Java Objects (POJOs) from XML Schema Definitions with xjc (4 mins read).

How to generate POJOs really quickly and easily, with no manual work, using the xjc command.
Week Notes 20#4 (3 mins read).
What happened in the week of 2020-01-20?
Removing Distractions with the Focus Mode within Android's Digital Wellbeing (4 mins read).
How I'm using Android's Digital Wellbeing functionality to reduce endless scrolling of social media, and reduce my reliance on my phone.
Week Notes 20#3 (2 mins read).
What happened in the week of 2020-01-13?
Converting an x5c from a JSON Web Key to a PEM with Ruby (1 mins read).

How to convert a JWK's x5c to a PEM-formatted certificate with Ruby.
Parsing a Unix Epoch With Bash/Ruby on the Command-Line (1 mins read).

How to convert a Unix Epoch to a human-readable date format.
Performing Mutual TLS Authentication with Rest Assured (via Apache HTTP Client) (3 mins read).

How to configure Rest Assured to perform Mutual TLS authentication against an API.
Week Notes 20#2 (2 mins read).
What happened in the week of 2020-01-06?
Converting Webmentions to Push Notifications (2 mins read).

Automagically sending push notifications to my mobile phone when I receive a Webmention.
2018 in Review (25 mins read).
Looking back at 2018 as a whole - both the positives and negatives, and looking forward to 2019.
Moving Events for the Homebrew Website Club: Nottingham to the IndieWeb Events site (2 mins read).

Announcing my decision to move Homebrew Website Club: Nottingham events from my own site to events.indieweb.org.
Week Notes 20#1 (2 mins read).
What happened in the week of 2020-01-01?
Netlify Billing Request: Extra Bandwidth Allowances (1 mins read).

A copy of an email I've sent to the Netlify team about improving billing for bandwidth allowances.
Women in Tech January - Sensing Change: The Rise of the Smart bins (4 mins read).

Eleanor Tang talks about the work that Eveno is doing to make waste management much smarter.
2019's Music In Review (1 mins read).
What music was I listening to in 2019?
201x Decade of Music In Review (2 mins read).
What music was I listening to in 20xx?
Open Request to Spotify About Data Requests and Spotify Wrapped Data (2 mins read).

A copy of an email I've sent to Spotify to request my full Spotify streaming history.
Setting up a Staging Server for my Micropub Endpoint (4 mins read).

Setting up a Micropub server that I can use to test changes before it publishes content to this site.
Gotcha: Running both JUnit4 and JUnit5 Together with Gradle (1 mins read).

How to make sure your JUnit4 and JUnit5 Gradle tests work within the same project.
Gotcha: Running both JUnit4 and JUnit5 Together with Maven (1 mins read).

How to make sure your JUnit4 and JUnit5 Maven tests work within the same project.
meetup-mf2.herokuapp.com release 0.2.0: Adding h-feed support (2 mins read).

Adding h-feed support for my Microformats translation layer for Meetup.com.
Pretty Printing XML on the Command-Line (1 mins read).
How to use xmllint to pretty-print XML/HTML files.
Backporting/Replaying Changes using git format-patch and git apply / git-am (2 mins read).

Using git format-patch and git apply/git am to apply a patch, if git cherry-pick isn't available.
Happy Second Appendixaversary (2 mins read).
Celebrating the second anniversary since my appendix ruptured - and reminiscing on the benefits of a well-funded NHS.
List What Files Changed in a Git Commit (1 mins read).

How to list what files changed in a given commit.
Using Chef to Delete Files that aren't in a List (2 mins read).

How to delete files in a directory that don't match a list.
Converting a JSON Web Key to a X.509 .pem file (in Node.JS) (2 mins read).

Converting a JSON Web Key (JWK) to an X.509 PEM file, using the node-jose library.
Configuring a Jenkins Multibranch Pipeline to Use an External Script with Job DSL (2 mins read).

How to set up a Multibranch Pipeline to use an external Git repo for running your Jenkins script.
ChefSpec Gotcha: Using render_file When Deleting Files (2 mins read).

How to use render_file with ChefSpec when you're deleting the file.
PHPMiNDS August - the Politics of Tool Shaming (7 mins read).

A writeup of James' talk at PHPMiNDS about the impacts of criticising others for their technology choices.
Setting up a directory for OpenSSL's SSL_CERT_DIR (2 mins read).
How to configure a directory of trusted certificates for OpenSSL to trust.
Locking Your Machine Before Suspending Using systemd (2 mins read).
How to get systemd to automagically lock your machine before it suspends.
Reader Mail: Getting an RSS Feed of Only Posts (2 mins read).
Updating my site to allow for RSS feeds for specific post content such as posts, as per a reader's request.
What I've Learned Over National Blog Posting Month (NaBloPoMo) 2019 (4 mins read).
Looking back at a month of blogging every day, and what I've learned.
Parsing URL Querystrings with Node.JS (1 mins read).

How to easily parse a URL querystring with Node.JS.
Using the OpenSSL Command-Line to Verify an SSL/TLS Connection (2 mins read).
How to use the openssl command-line to verify whether certs are valid.
Viewing Jenkins Jobs' Configuration as XML (1 mins read).

How to view the XML configuration for a given Jenkins job.
Trusting Self-Signed Certificates from Ruby (1 mins read).

How to configure Ruby to trust self-signed certificates.
Pretty Printing YAML with the Ruby Command-Line (1 mins read).

Using Ruby's YAML library to pretty-print YAML files from the command-line.
Blocking Twitter Widgets from This Site (2 mins read).
Enforcing a privacy-aware removal of Twitter's JavaScript widget from this site.
Neurodiversity and Blogumentation (1 mins read).
Sending links to people to save myself explaining things isn't always the best idea.
Piping Data When Not Running a Command with sudo (1 mins read).
How to (more) safely pipe stdin to an elevated command with sudo tee.