Converting Webmentions to Push Notifications (2 mins read).
Automagically sending push notifications to my mobile phone when I receive a Webmention.
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 (5 mins read).
What music was I listening to in 2019?
20xx Decade of Music In Review (10 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.jvt.me
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
.
Minifying JSON with Python (1 mins read).
How to take a pretty-printed JSON string and replace it with a minifed JSON string using Python.
Minifying JSON with Ruby (1 mins read).
How to take a pretty-printed JSON string and replace it with a minifed JSON string using Ruby.
Only Adding Changes for Tracked Files With Git (1 mins read).
How to only add files that have changed with git add -u
.
Sending Webmentions More Intelligently (2 mins read).
Updating my post-deployment tooling to only send Webmentions when they've not already been accepted (or rejected).
Adding Series Metadata to Posts (1 mins read).
Making a series of posts more discoverable using the series
taxonomy.
Validating my JSON Feed on every site build (2 mins read).
Adding in a validation in the pipeline to protect from a broken feed.
Adding a Merge Request Checklist for new Articles (1 mins read).
Adding a checklist for articles in my GitLab Merge Requests.
Music and Associations (2 mins read).
Music has a crazy way of reminding you of times gone.
Creating a Global .gitignore
(1 mins read).
How to have Git have a list of files to globally ignore, without configuring anything in your ~/.gitconfig
.
Ditching Event Platforms for the IndieWeb (5 mins read).
How we can replace event platforms like Meetup.com with your own IndieWeb-backed platforms.
Reader Mail: What Static Site Generator Would I Recommend? (4 mins read).
What Static Site Generator would I recommend?
Getting Started With Vim (3 mins read).
How to dip your toes into Vim to learn some of the basics.
Gotcha: Netlify Makes All Your Filenames Case-Insensitive (1 mins read).
Beware if you have a requirement for case-sensitive URLs for Netlify.
Making Hugo Generate Case Sensitive URLs (2 mins read).
How to make your Hugo URLs case sensitive.
New Push Notification: Suspicious Transactions (2 mins read).
A concerning experience with fraudulent transactions on my Monzo account.
Request for Enhancement for Gousto: Reducing Partial Use of Ingredients (1 mins read).
An opportunity to reduce food waste by suggesting when meals use only some of an ingredient.