Parsing URL Querystrings with Node.JS (1 mins read).
How to easily parse a URL querystring with Node.JS.
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.
Chef Attributes and default.rb
- it's in the name (3 mins read).
Why you should only be setting defaults in your Chef attributes, and moving heavy lifting elsewhere.
Take Take Take: Rethinking How I Consume Free and Open Source Software (4 mins read).
Thinking about how I should be contributing back to the projects I rely on so heavily, both financially and with my own contributions.
Auto-announcing Events in my Feed (2 mins read).
Updating my main site feed to publish a note when I've published a new event.
Viewing the Contents of a Certificate Signing Request (CSR) with OpenSSL (1 mins read).
How to look at the contents of a Certificate Signing Request (CSR) with the openssl
command-line tool.
Off Days (1 mins read).
It's OK to not be 100% every day.
Adulting: The Constant Struggle of Prioritisation (3 mins read).
A rant about how it sucks to be an adult because there's so much to do, but very little of it is stuff you want to do.
National Blog Post Month (NaBloPoMo) (2 mins read).
Starting National Blog Post Month with a blog post. Very meta.
Reader Mail: Webmention Spam (2 mins read).
Replying publicly to an email about my continual webmention sending.
Reader Mail: Getting Started with Hugo and Micropub (5 mins read).
Answering a question by a reader about how to get started with writing a Micropub endpoint for use with Hugo.
Owning My Step Count (5 mins read).
Sharing the journey of starting to own my step counts and my technical solution.
The IndieWeb Movement: Owning Your Data and Being the Change You Want to See in the Web (22 mins read).
A look at what the IndieWeb is, why you should care, and how to get started with it.
Setting Your Maven Project Versions (1 mins read).
How to set the versions of all Maven pom.xml
s within a Maven project.
Introducing a Microformats API for Eventbrite: eventbrite-mf2.herokuapp.com
(3 mins read).
Announcing the Microformats translation layer for Eventbrite.com/Eventbrite.co.uk events.
Listing the Contents of a Java Truststore (3 mins read).
How to extract a list of trusted certificates from a Java Trust store.
DevOpsDays London 2019 (63 mins read).
A writeup of the DevOpsDays London conference, and the talks and Open Spaces I attended.
Getting git diff
Outputs Without a Prefix (1 mins read).
How to remove a/
and b/
from git diff
outputs.
Moving Teams after Three Years (4 mins read).
Announcing my move between teams at Capital One, and looking back over three years in my previous team.
Diagnosing my Slow Netlify Deploy Times (2 mins read).
How I managed to shave off 7 minutes of my deploy time, (in true clickbait fashion) just by removing one line of code.
On Panic Attacks (3 mins read).
Remembering my first (and so far only) panic attack.
IndieWebCamp Amsterdam 2019 (19 mins read).
Recapping my time at IndieWebCamp Amsterdam, my first 'official' IndieWeb event, and meeting some of the big names in the community.
Auto-linking URLs with Hugo (2 mins read).
How to get URLs automagically converted to links in Hugo, using Regular Expressions.
Proposing a Microformats2 Markup for Licensing Information (7 mins read).
Some recommendations for how to mark up licensing information with Microformats, for making license information machine-discoverable and machine-readable.
Pushing your Git Branches to a Matching Remote Branch (1 mins read).
How to save yourself from typing git push --set-upstream origin ${branch}
and have Git determine the branch you're pushing to.
Testing Your SLF4J Logs (2 mins read).
Looking at how we would unit test our SLF4J logs to gain confidence they work, and to catch regressions in the future.
Viewing Logs for a systemd Unit with journalctl
(1 mins read).
How to view the logs for a given unit, using systemd and journalctl
.
Setting up a custom RubyGems Repository for Chef in Test Kitchen (1 mins read).
How to use a private RubyGems repository for your Chef gem dependencies in Test Kitchen.