Will Webberley's Blog
Farewell, Nextcloud
The UK Online Safety Act
Improved home printing
Using aerc as my daily email client
My Knowledge Base With "nb"
Ramblings on Hypermedia APIs for Pure Web Applications
Borgtastic Backups
Becoming a Dad Through Adoption
'Valuable Humans in Transit and Other Stories' and 'There is No Antimemetics Division' by qntm
Cross-publishing web content to Gemini
CI/CD with Woodpecker and Gitea
Thoughts on book logging
A question about encryption for self-hosting
Window management workflows on macOS
From Google and Apple Photos to Photoprism
Tailscale: multi-service HTTPS on a single machine
Note-taking apps: Bear and Joplin
Re-Building my Website with Hugo
Making Tax Digital and Plain-Text Accounting
Switching-up my workouts 🏋️♀️
My setup for coding on iPad
Parcel to the rescue
Simple Ledger visualisations using Python
On alcohol
Self-hosting apps and services using Traefik reverse proxy
Interacting with a Nextcloud instance deployed with Docker
The future of the decentralised web: thoughts on web0 and web3
Completing the #100DaysToOffload challenge
Browser push notifications in a Flutter web application
Moving my Matrix identity to Element One
Nextcloud for photos: using cheaper object storage
The Idiot Brain by Dean Burnett
Parse and process incoming emails in a web application
Open-sourcing projects
Server back-ups with Restic
Nightfall City
Webzines
Rebel Ideas by Matthew Syed
On websites and creativity
Our DIY bathroom project
Automatically scanning for malicious user-uploaded files
A little trip to A&E
Thinking positive
Taking FreeBSD for a spin
A mini loft conversion
Extraterrestrial by Avi Loeb
This Week in Tech (TWiT)
Giving a talk at the BSV Wales meet-up
Dotty
This is Going to Hurt by Adam Kay
Pinephone: Manjaro and Phosh
The Secret Barrister: Stories of the Law and How It's Broken
Two months with Duolingo
Accessibility is for everyone
Pacman: signature is unknown trust
Twitter Learnings
Columbus Day by Craig Alanson
Using Telegram bots to receive updates from your automated systems
Twitter is still too addictive
SSO Tools
Darknet Diaries: True stories from the dark side of the Internet
Stripping sensitive EXIF data from uploaded images
Adding 'dark mode' and dynamic theming to your React websites
Starting out with BookWyrm
Fixing up our outside space
Treadl
Pinephone update: the first few weeks
My development stack
Our first few months with a dog
Code syntax highlighting in Gatsby
Capsule.Town
Accidental Tech Podcast
Generating video previews in webapps
The Night Circus by Erin Morgenstern
Syncing RSS feeds with FreshRSS
The '5AM Club'
How to resize images client-side in your webapps
Project Hail Mary by Andy Weir
Using Blurhash to create placeholders for your images
Self-host your web searches with Whoogle
Joining a panel at Wales Tech Week
Anxious People by Fredrik Backman
Tmuxinator: simple terminal workspaces for your projects
RSS: include your entire posts in your feeds!
City-centre beekeeping
Married
I can't play games anymore
The H.G. Wells Classic Collection
The networking mall
How I back-up my personal server
Running
Self-hosted notes and to-do lists
Data Sovereignty
Go Time
Starting out with the Pinephone
My appearance in the Wales "35 Under 35"
Steve Jobs by Walter Isaacson
The Giver of Stars by Jojo Moyes
Reporting business accounts using Ledger
Six months of Invisalign
Is Facebook scraping the Fediverse?
From Apple Mail to Spark to Thunderbird
The simplicity and flexibility of HTTP for APIs
PinePhone and PineTime
The Great Alone by Kristin Hannah
Running your own Matrix homeserver
Blood, Sweat, and Pixels by Jason Schreier
The Tildeverse
The Hunt for Red October by Tom Clancy
Thoughts on minimalism, and what happens when I get mail
Easily set up discoverable RSS feeds on a Gatsby website
Making your Python Flask app serverless
Migrating from Google Photos: Nextcloud, Piwigo, Mega, and pCloud
The Glamour of Cyberpunk and the Road to Solarpunk
A Year Without Answering my Phone
The Midnight Library by Matt Haig
SSH Jumping and Bastion Hosts
Using Monica to Help Manage your Personal Relationships
Add icing to your websites using pattern.css
React State Management with Zustand
RSS: The Rise and Fall... and Rise Again
Blogging for Devs
Why not SQLite?
Dirty Little Secrets by Jo Spain
Out with the Old: Moving to Gitea
100 Days to Offload Challenge
Project Gemini
Scaling serverless apps: some lessons learned
React Query
JS Tidbit: Nullish Coalescing
JS Tidbit: Optional Chaining
Command-line bookkeeping in Animal Crossing
Kubernetes Cluster: Essentials
Go backends on Now
Hue: Security Lights
Alexa, ask Sherlock...
CENode in IoT
CENode
Two Year Update
Android: Consuming Nintendo Hotspot Data
Nintendo's Hotspot 'API'
Using Weka in Go
Media and volume keys in i3
Web and Social Computing
Developing Useful APIs for the Web
NHS Hack Day
End of an Era
Talk on Open-Source Contribution
Node.js Contribution to Heroku's Dev Center
Seminar at King's College London
Direct-to-S3 Uploads in Node.js
Workshop Presentation in Germany
CasaStream
Zoned Network Sound-Streaming: The Problem
A rather French week
Gower Tides v1.4
Magic Seaweed's Awesome New API
Accidental Kernel Upgrades on Digital Ocean
WekaPy
Gower Tides Open-Sourced
Contribution to Heroku Dev Center
eartub.es
flyingsparx.net On Digital Ocean
Trials of Eduroam
Cardiff Open Sauce Hackathon
AJAX + Python + Amazon S3
Decking Building
Gower Tides App Released
ScriptSlide
Research Poster Day
Delving into Android
Seminar: Retweeting
DigiSocial Hackathon