RSSAmplifier

Blog

Feed :: TheOrangeOne

All pages

theorangeone.netRSS feed ↗159 posts

Latest posts

Process names: The forgotten Observability channel

When it comes to observability, especially in an incident, more data is usually better. Without data, it's almost impossible to know what's going on. With insufficient data, you only get half the picture. More data isn't always better. The more data there is, the more you have to sift through. If you're going to have a lot of data, it had better be useful. Observability tools will generally…

Firewalling Docker with nftables

Docker has a reputation when it comes to firewalling - it's pretty difficult to restrict ports. It's best practice to have a firewall on your servers, to restrict incoming traffic by port or IP address. This means that not just anyone can start a server on an arbitrary port and receive traffic externally - the firewall needs to let it in. However, because of the way Docker works, starting a…

My not-so-static new static website

It's been 3.5 years since I last did this , so it's clearly about that time - time I rewrote my website. If you're reading this post, it's on a brand new custom built platform to serve my website. Under the hood it's still Python and Django , but gone is Wagtail , or any CMS for that matter. It's a semi-static site! According to the git history, I started this rewrite over a… Continue Reading…

Torchbox's new status page

When something breaks, our clients deserve to know. Here's how our new status page makes that easier. Continue Reading…

Django Tasks - Django Chat #200

I was invited to an episode of Django Chat , to chat about Django Tasks, the Security Team and much more. I'm well aware that a podcast isn't really a "talk", but it's appropriate enough. Continue Reading…

Torchbox Spring Event 2026 A/V

A few times a year, everyone at Torchbox (my employer) gets together in person to hear updates about the company and its strategy from various members of the team (or " co-owners "). Those in the UK are expected to attend in person, for a day of socializing and confirming people do exist from the shoulders down. However, as a mostly remote company, with many people spread around the globe, we…

Wagtail Security team no longer accepts GPG-encrypted emails

You can still report Wagtail security issues via email — just not with GPG. Continue Reading…

Moving on from Gandi: Registrar and DNS migration

DNS is the cornerstone of any infrastructure. Us humans are terrible at remembering strings of numbers ( 162.55.181.67 ), but we're good at remembering words ( theorangeone.net ). When people own a domain, there are 2 components involved: the registrar and name servers. For the last 9 months , Gandi has served served as both for me, and as just the registrar for longer still. As a service, they've…

Extracting directories into their own repositories

Software projects in git repositories (or Version Control Systems - yes there are others) tend to be made up of much more than just 1 file, or even 1 directory. To make functions and functionality easier to find, good software is split up, forming modules or isolated components which can be put together to form user journeys or processes. In some cases, these modules may become useful in their own…

Wagtail's new Security Announcements Channel

Get notified of security releases for your favorite CMS Continue Reading…

State of the Server 2026

Over 2025, I've come to realise quite how much I rely on the services running on my home server. Sure, I could still get on with most aspects of life, but so much revolves around my services being there and working. Over time, I only intend to grow that dependence , so I want to make sure everything is at its best. Much like 2024 , 2025 has been another long and tiring year … Continue Reading…

Jake versus 2025

Christmas is quieting down in my household, marking the end of yet another crazy life-changing year. At the end of last year, I told myself I needed to slow down and get to a more sustainable place. Needless to say that hasn't happened at all. Instead, life has developed and progressed in unexpected ways. Last year , I started a traditional "year in review" style post, to go along with my…

Why I returned my Proton subscription

Nearly 10 years ago, I used Proton Mail for my email. At the time, it was the new kid on the block, but promised unrivalled privacy and security - 2 things I care greatly about. Fast forward, and that all still holds true. If, for whatever reason, I was doing sketchy things, and needed a secure email, it's where I'd go. Proton CEO Andy Yen gave a great TED Talk on… Continue Reading…

I ran a Half Marathon

I'm not a runner, not by any stretch of imagination. But yesterday, I (and several colleagues) ran a half marathon - the Oxford Half Marathon . 13.1 miles, or 20 kilometers in non-freedom units. I'm currently sat on my sofa, with aching legs, a sore throat, and on hell of a sense of achievement. It's a Half Marathon, rather than being a full Marathon I bailed from half way through … Continue…

Halt and Catch Fire: Forcefully Stopping Python

As developers, we're tasked with writing code, with the intention of running it. In most cases, we want to run said code for as long as possible - either until completion or until something external restarts us. But in some cases, we want to run until another part of our program tells us not to. When defining background reusable tasks, you don't want them to run forever. If the task takes too…

django.tasks exists

As of today (well, technically yesterday), django.tasks is officially released upon the world! Mostly. Note that django.tasks and django-tasks are in fact different, albeit by a single character. Take care when reading. What happened? As of today, the first PR to implement DEP 14 ("Background workers") has been merged into the main branch of the Django code base, all 3094 lines of it. We missed…

Terraforming AdGuardHome

I like to configure as much of I can on the things I host (of which there's a fair amount) using Infrastructure as code, especially if it's a critical service. I recently switched the DNS server in my house to AdguardHome from Pi-hole, partly to try something new, but also because of the simpler deployment and more powerful features. Naturally I wanted to see if I could manage AdguardHome…

DSF Member of the Month - Jake Howard

Posted by Sarah Abderemane on Aug. 3, 2025 Continue Reading…

Deploying a Social Media server

I talk to a lot of people through some form of online platform - conventional social media, forums, chat etc. Given I work remotely, it's where a fair bit of conversation ends up. Since leaving Twitter , I now self-host both of the main social media platforms I use: Bluesky since late 2024 and Mastodon since late 2022. When I set them up, both were running on my home server, inside my house. This……

Unleashing Tailscale with Public and Private Services

A talk about how I use Tailscale (well, technically Headscale ) and why. Tailscale's promise is making networking easier, which I hate. But sometimes it's necessary to achieve something cool (building Funnel myself), and something not recommended (Private Funnel). The talk wasn't recorded, but my slides are available . However, I'd recommend reading the related post , instead. Continue Reading…

Make your Android phone feel faster with this one neat trick

Currently, my phone is a Samsung Galaxy S22 . I bought it in early 2023, just after the S23 was announced. Since phones don't change that much year-on-year, I didn't see the need to get the absolute latest, after my beloved Oneplus 7 Pro started showing its age and lost upstream Android support. Fast forward 2 years, and it's still doing fine , but it's not as snappy as it used to be. It's not……

Replacing Cloudflare: My domain move

I've been using Cloudflare for a while for my domains, since at least 2020. Unless you've been living under a rock since 2009, you've probably heard of Cloudflare. They're a rock-solid DNS provider, with an easy to use interface, high-quality terraform provider, and a number of other features. Quite frankly, with them, it's never DNS! I lie - it's always DNS With that said, since around 2023, I've…

You don't need to worry about CVE-2025-45388

Here's why CVE-2025-45388 is bogus Continue Reading…

I'm done with Twitter

Yep, that's it, it's finally happened: I'm done with Twitter. Since it's purchase by Elon Musk back in around October 2022, Twitter (I refuse to call it X ) has slowly (or in some cases not-so-slowly) been going downhill. Various changes to the algorithm to push various policies, multiple instability issues, AI for the sake of AI, and much more. Unless you've been living under a rock, you already…

State of the Server 2025

My server(s) play a fairly important part in my life. Not only is it where a number of critical services I use are hosted, but it's also where my most important files are stored. For a long time, I've done what I can to preserve my data privacy. Running my own servers keeps me in control of my data, what's done with it, and who it's sold to (or not as the case may be). … Continue Reading…

Jake versus 2024

2024 is nearly over, and for me it's been a crazy, life-changing year. At the start of the year, I told myself I wanted to make some big changes. Write more, get fitter, join more communities, catch up with long lost friends etc. So far, I've not really achieved many of them, but life has served me other experiences instead, and it's been an incredible time. I've seen quite a few people talking…

Making my TV glow with WLED

RGB LEDs can be added to pretty much anything. Some places, like your car or your vacuum, it's probably not more than a gimmick. But in others, like your computer or "battlestation" , it can bring an otherwise mundane-looking setup to life. One day, for reasons I can't entirely remember, I decided to set myself a new project: I want a backlit TV. Not the kind of backlight that LCD TVs have, but…

Self-hosting Bluesky

Bluesky is quickly becoming the "hot new" social network, growing by almost 1.6 users every second . "Recent events" have lead to a fairly large Twitter exodus, and people looking elsewhere seem to all be moving to Bluesky. Mastodon exists, is still pretty active, and is what most people moved to during the last great exodus, however because it's so federated, it's not quite as approachable for…

Introducing the new starter kit for Wagtail CMS

Give Wagtail CMS a go with our brand new starter kit. See how you can launch a new website and start making it your own with Wagtail templates. Discover why people are calling Wagtail the best Python-powered CMS. Continue Reading…

Contentless RSS Feeds

I'm a big fan of RSS. Being able to effortlessly subscribe to a website's content without needing to keep checking their website or social media feed helps me keep on top of what interesting people and companies are doing. According to TT-RSS , my feed aggregator of choice, I'm subscribed to 219 feeds (50 of which are YouTube channels ). My website also has an RSS feed , so people can easily see…

Accessing Tailscale whilst using Mullvad

In the last few months, I've done a lot of travelling, having spoken at Djangcon Europe in Northern Spain Wagtail Space the The Netherlands and Django London just last week. When I travel anywhere, international or otherwise, I use a VPN. Regardless of the network I'm on, I know my connection is secure (as secure as any connection can be), without being snooped on or at the mercy of whatever…

Bringing Background Workers to Django

This talk was almost identical to the one I gave at Djangocon Europe 2024 . Django London isn't recorded, but the slides are linked. If you want to watch the talk, I recommend watching the Djangocon version. There's a lot more to a web application than just the request/response cycle. Running tasks in the background, whether on a trigger or schedule unlocks a lot of extra functionality,…

X-Forwarded-For

Software development can be a bit of a roller-coaster. Certain portions are simple, and others are incredibly complex - and that's before you get to the subjective areas. IP address detection is one which sits squarely in the middle. To some, it just happens, and they don't need to care about how it works, because it does always work. But that's only because someone else has put in the time and…

Commenting with Comentario

I've had a website for a while now, but it's only in the last few years that it's had comments. At the bottom of every post or project (and my guestbook ), is a comments section. There, you can let me know what you think. Want to show your appreciation? Want to suggest an improvement? Want to tell me I'm completely wrong and there's something better (it happens)? Comments are a great way to do……

Recovering deleted Wagtail pages and/or Django models

Accidentally deleted a Wagtail page or Django model? Start here! Continue Reading…

Wagtail & Caching

Wagtail and Django are both pretty fast web frameworks, both for developers and end users. But, there's plenty you can do to make it even better. In this talk, I'll cover ways to squeeze all the performance you can out of your Wagtail site, many of which are true for any Django application. I forgot to turn the blue-light filter off on my laptop for this, which is why the slides look… Continue…

Empowering Django with Background Workers

There's a lot more to a web application than just the request/response cycle. Running tasks in the background, whether on a trigger or schedule unlocks a lot of extra functionality, performance and reliability. Whilst Django is a web framework, it doesn't have a good first-party story for background workers right now. When most people think of background workers, they lean immediately to Celery,…

Running Tailscale on a 20 year-old laptop

On a quiet Thursday afternoon, I saw a message from Alex in the Self Hosted Show Discord , where he was challenged by some of his fellow Tailscale rs: Alex has this ungodly and terrible habit of nerd-sniping me into doing crazy things. It happened with the JB Notes site , and it's happened again here. I'm definitely one for side projects , and playing around with weird technologies outside of…

Moving my website to Hetzner

If you're reading this, you read it from a server hosted by Hetzner - congratulations! My website is quite important to me. I want it to be reliable, stable, and yet still be something I can tinker with easily if I want to. Almost 2 years ago, I rewrote it to use Wagtail, and it's been running on a single VPS in London ever since. However, for a few reasons, I want to move… Continue Reading…

Replacing a Proxmox boot drive

My server boots off a pair of SSDs, tied together in a ZFS mirror. Proxmox supports ZFS boot (thanks to its Ubuntu kernel), and lets you configure it through the installer. When I installed my server, this is what I wanted, as it meant the OS and data disks for the contained LXCs and VMs were all nicely backed up and versioned. However, one afternoon I logged in to my server and noticed the……

Intermediary CNAME rewriting with AdGuardHome

As part of some recent infrastructure changes, I migrated my home DNS to AdGuardHome , from Pi-Hole . Being a single, self-contained binary, it's far easier to install and manage (it's in the AUR too), and it's got a few nice modern features like DNS-over-HTTPS and DNS-over-TLS. Sure, the ad blocking features are great, but I use it mostly for overriding DNS. If I'm at home, and so is my server,…

Turning my website into a browser search engine

My website has search functionality. You can visit the search page (or the homepage or the magnifying glass in the top right), enter a search query, and if I've written something about it (which is quite likely ), the matching pages will come up for your reading pleasure. Under the hood, the search is powered by PostgreSQL's full-text-search , connected through Wagtail's search backends . Sure,…

Adding blog posts to my GitHub profile

In case you didn't know, I have a blog - you're reading it now. It's not like what most people think of when they think "blog". It's guides, tales and random thoughts about the things I do, play around with or find interesting. The same can be said for the repositories on my GitHub account - it's either tools I've built to solve a problem, things I'm playing around with, or I guess stuff to……

Exposing Docker's internal DNS with CoreDNS

Whilst Docker is a containerisation technology, it's not just about running applications - there's also networking. When you add a container to a docker network, it magically becomes discoverable by other containers on the same network with DNS. All containers use Docker's magical internal DNS server to achieve this. However, whilst Docker networks are accessible to the host (unless you set…

Recovering deleted Wagtail pages and Django models

Accidentally deleted a Wagtail page or Django model? Start here! Jake Howard will walk you through how he saved a swath of intranet data in a pinch. Continue Reading…

Fixing the heater blower in a VW Polo

And now, for something completely different ... About 6 months ago, my car (a Mark 6 Volkswagen Polo GTI+ - not the one in the picture) developed a lovely fault: the blowers stopped working. Not completely, but enough to annoy me. Off worked, and full power worked, but nothing in between. Temperature control was unaffected, as was AirCon, so in the lovely August heatwaves we get in Britain, I was……

State of the Server 2024

Self-hosting is a big hobby for me (and a big source of content for my website). Not only is it a great source of entertainment and fun, but I find it incredibly interesting, vaguely relevant to my job, and a good way to regain a little privacy. Over the last year, not much as changed, but that's given me the time to spend with my servers, better understand how I use them, what I… Continue…

Forcing dark mode in Android Auto Maps

I, like a growing number of people, enjoy dark mode. Not only do I find it clearer and easier to read, but it's also easier on the eyes, looks nicer and saves a little battery in the process. If a service supports it, it almost always ends up in dark mode (unless their dark mode is disgusting) - and for sites which don't support it, there's always DarkReader . Google Maps has a complex… Continue…

On Mondays, I update servers

Software updates are a critical part of using any kind of electronic device nowadays, particularly if it's internet connected, and even more so if it has any security functionality. If you have any kind of computer online, whether it be a phone, laptop or a server, you should really be keeping it up to date at a sensible rate. As is a surprise to no one reading this, I have quite a few electronic……

Changing the user-agent of urllib

If you need to make HTTP requests in Python, you're probably using the fantastically simple and ergonomic requests library (or httpx in the async world). However, it's another dependency to manage and keep up-to-date. If you want to make HTTP requests without an additional dependency, or another library author has made that decision for you, urllib is the standard library tool for you. urllib is…