Latest Posts
Splitting out Microservices
I've always valued simplicity in all the code I write, and in every bit of infrastructure I maintain. As such I've always favoured monolithic software architecture. So why and how have I recently split out two microservices from our monolith?
Setting up Elasticsearch for Mastodon 4.2.x
With Mastodon 4.2.0 proper full text search has finally arrived. This post runs through the server requirements and setup of Elasticsearch for mastodon 4.2.x.
Tweaking Postgres for Mastodon
I had to increase Postgres' max_connections settings to resolve issues with my Mastodon instance.
Using CloudFlare with a Raspberry Pi for Dynamic DNS
You can use the CloudFlare API and a simple bash script on your Raspberry Pi, to use CloudFlare as a Dynamic DNS service.
Using a CloudFlare Tunnel to share a local development site over the internet
Sharing a local development site over the internet is quite simple using a CloudFlare Tunnel. The Tunnel can even use your own domain, which looks much nicer and more professional, and makes it suitable even for production use.
Colour Contrast and Accessibility
Applying common sense, when aiming for 100 Lighthouse scores.
Muli user support for FediFetcher
FediFetcher now has multi user support. This is great for admins of instances with a very small number of users, who want to run FediFetcher for several of their users.
FediFetcher can now backfill any user mentioned in your notifications
FediFetcher can now backfill the profiles of anyone who is mentioned in your notifications.
`mastodon_get_replies` is now FediFetcher
mastodon_get_replies has always been a pain to both say and type, and also now only covers about 50% of the functionality of the script, so please meet FediFetcher!
Blogging with weblog.lol and GitHub actions
My blog is run on omg.lol's weblog.lol service. In this blog post I want to show how I'm using a GitHub action and the weblog.lol API to manage my blog in Git, rather than through their web interface.
Pull missing posts from new followers, as well as recently followed accounts into Mastodon
Since v3.0.0 of FediFetcher you can backfill remote accounts, after you have begun following them. This post explains how.
Stop disabling form submit buttons
Disabling form buttons on load, and only enabling them when the form is valid, is poor UX. Validate the input when the user attempts to submit the form, and show error messages where relevant, instead.
Pull missing responses into Mastodon
Mastodon does not always pull responses to posts from other instances through to your own instance. This means that if you read a post from another server, you may not see all replies. This post provides a GitHub Action that can help push remote replies into your home instance.
Testing your email setup
This post explains a few options on testing your email setup, as well as for continuous monitoring, to ensure SPF, DKIM and DMARC are all configured correctly.
Using DNS records to protect your email brand
If you own a successful brand, some miscreants will eventually abuse your domain to send spam pretending to be from you. Make sure you configure SPF, DKIM and DMARC to protect your email brand.
Applying Pull Requests from another fork using git
If you have forked an open source project you sometimes want to apply changes from another fork to your own. This post shows how to merge branches from another fork using either GitHub or the command line.
Full-text search in Mastodon
Full-text search support on Mastodon is severely lacking. But you can either use google or install a patch on your own Mastodon instance to significantly improve your search experience.
Translation options for Mastodon
Mastodon supports DeepL as well as LibreTranslate for translating posts. This post compares LibreTranslate and DeepL, and how they work with Mastodon.
Adding comments to your blog, powered by mastodon
Adding mastodon-powered comments to your blog - how to create a dependency free solution to add comments to your blog using the Mastodon API.
My first composer package: Add AI powered fixes to your Laravel error pages
A composer package to use the OpenAI API to show AI-powered fixes for errors in your Laravel application.
Add AI powered fixes to your Laravel error pages
Use the OpenAI API together with Laravel Ignition's Suggestions to show AI-powered fixes for errors in your Laravel application.
Blocking Hashtags from your Mastodon instance
Removing unwanted content from your mastodon instance, that may have been pushed to your server through federated instances.
How I Deal with Money in PHP
Dealing with money and multi-currencies in Laravel and SQL the easy way.
Read and write URLs in JavaScript
Using the URL API to modify a URL is both easier and more reliable than simple string manipulation.
Running a single-user Mastodon instance
Several optimisations and changes I've made to my single user mastodon instance.