Reader Mail: Webmention Spam (2 mins read).
Replying publicly to an email about my continual webmention sending.
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.
Overriding Test Kitchen Driver Configuration (2 mins read).
How to override specific configuration in Test Kitchen's project-specific .kitchen.yml
.
How Many Gadgets Does the Kitchen Need?! The Many Tools for Chef Dependency Management (5 mins read).
Looking at the different dependency management solutions of Chef, and how, where and why you would use each one.
Adding RSVP Support for Indie Events (1 mins read).
Adding RSVP support to my Micropub endpoint for Indie events.
Sending Webmentions Automagically on Deploys of the static website www.jvt.me (4 mins read).
The journey to getting Webmentions sending automatically from my static website, www.jvt.me.
Extracting Request Parameters Dynamically for a application/x-www-form-urlencoded
Request in Spring (1 mins read).
How to access all key-value pairs of parameters sent in a application/x-www-form-urlencoded
request.
Extracting Request Parameters Dynamically for a multipart/form-data
Request (2 mins read).
How to access all key-value pairs of parameters sent in a multipart/form-data
request.
Adding a 404 page for www.jvt.me on Netlify, with Hugo (1 mins read).
Announcing a swanky new 404 page for www.jvt.me.
Converting Ruby Hash keys to Strings/Symbols (2 mins read).
How to recursively convert a Ruby Hash's keys to a String / Symbol.
Merging an 'Override' Ruby Hash into the Original Hash (6 mins read).
How to use Ruby to merge two hashes with nested arrays of hashes, with the second hash overriding values from the first.
Adding Newlines to all Files in Git (3 mins read).
Adding newlines at the end of all Git-tracked files.
Adding Calendar details on events pages (1 mins read).
Adding an iCalendar event as well as an 'Add to Google Calendar' link for each event on this site.
Introducing a Microformats API for Meetup.com: meetup-mf2.herokuapp.com
(4 mins read).
Announcing the Microformats translation layer for Meetup.com events.
Making it easier to determine the kind
of content for Indie posts (2 mins read).
Adding a kind
hint to my Indie post types to make it easier to look through each content kind.
Setting Up a Micropub Server for www.jvt.me (7 mins read).
Announcing the creation of my Micropub server, to allow publishing content away from my laptop/desktop.
How to RSVP to an Indie Event from your Website (4 mins read).
How to use your personal website in conjunction with Microformats and Webmention to be able to RSVP to Indie events.
AWS Nottingham: Where Did All the Money Go? (13 mins read).
A writeup of the AWS Nottingham meetup about cost saving in AWS.
Restructuring The Way That My Site's Content Types Work (5 mins read).
How I've restructured my content to map more closely to Microformats for any Indie content types.
Easily Parsing Failed Cucumber Scenarios from the JSON Report (2 mins read).
How to parse a Cucumber JSON report to display the failed scenarios and their causes.
Using OpenSSL Behind a (Corporate) Proxy (1 mins read).
How to use OpenSSL commands when behind a proxy server.
Extract a Secret Key from a Java Keystore (2 mins read).
How to export a symmetric SecretKey
entry from a Java keystore.
Parsing Key-Value URL Fragments with Node.JS (1 mins read).
How to easily parse a URL fragment containing key-value pairs of data, with Node.JS.
Creating an iCalendar feed for my RSVPs (3 mins read).
How and why I've created a public calendar for the RSVPs I send from this site.
Add your Meetup.com Events to your Calendar (1 mins read).
How to get all your upcoming Meetup.com events straight to your calendar.
Pretty Printing JSON Files Inline on the Command Line (2 mins read).
How to rewrite multiple JSON files inline on the Command Line.
Why I Have a Website and You Should Too (12 mins read).
A persuasive look at the many reasons why you should have your own website, and some of the benefits it will bring you.
Croatia 2019 Summer Holiday (7 mins read).
Some of the highlights of an amazing holiday with Anna in Dubrovnik, Croatia.
Visualising My Posting Habits (2 mins read).
Adding the capability to my site to enable visualisation of how often I post content.
A Reflection on Four Months of Gousto (11 mins read).
Looking back at the last four months of using Gousto to prepare meals for dinner.
Being Celebrated in the 2019 Tyk Community Awards (1 mins read).
Announcing my win in the 2019 Tyk Community Awards for my blogging efforts.
DDD East Midlands: Speaker Workshop (18 mins read).
A writeup of my notes from the awesome Speaker Workshop run by DDD East Midlands.
Rendering Webmentions using Client Side JavaScript (2 mins read).
Replacing my server-side rendered webmentions with client-side rendering.