Posts

Showing 1—30 of 118.

None

Intermediary CNAME rewriting with AdGuardHome

2024-03-12
7 minutes

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…

None

Turning my website into a browser search engine

2024-02-22
6 minutes

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,…

Scattered white paper

Adding blog posts to my GitHub profile

2024-02-06
4 minutes

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…

Look Up

Exposing Docker's internal DNS with CoreDNS

2024-01-17
6 minutes

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,…

Volkswagen Polo GTI

Fixing the heater blower in a VW Polo

2024-01-06
4 minutes

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…

Lost in the light

Forcing dark mode in Android Auto Maps

2023-12-18
2 minutes

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…

January 2022 Closeup.

On Mondays, I update servers

2023-12-04
5 minutes

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…

" Identity layers " 
By penetrating any lower layer of a person, you can see a different face of that character and his appearance gradually disappears .

Changing the user-agent of urllib

2023-11-28
3 minutes

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…

None

Swapping Swapfiles

2023-10-12
4 minutes

Swap (or the Page file in Windows) is a way of taking unused disk space and turning it into RAM. It's significantly slower than RAM, but it's definitely there and usable. Configuring a swapfile is as simple as 3 commands on Linux, or a few clicks on Windows. Swap helps…

None

GUIDs - How I messed up my RSS feed

2023-09-25
4 minutes

If you're reading this post through an RSS aggregator, or were directed here from one, you may have already seen the issue I'm about to describe, and already swore my name. If you didn't, I'd recommend subscribing, for completely unbiased reasons. This is a tale of RSS, and an easily…

Little cabin on nightstand in altbau in Berlin, Germany. Available for rent for your next photoshoot via beazy.co.

Efficiently doing nothing in Linux

2023-08-15
6 minutes

Computers exist for doing work, usually useful, often not. In rare instances, it's useful to make a program do nothing at all. My primary use case for this is Docker containers, where it's useful to have the container do nothing, so it can be exec-d into as part of another…

life is a succession of choices, what is yours?

Redirecting static pages

2023-07-20
4 minutes

GitHub, my public code hosting platform of choice (I have my own Gitea server, too), has GitHub Pages, a free static file hosting platform. I use GitHub Pages for a few personal projects, where I either don't need or want to host the code myself, or I want to explicitly…

Lady Justice.

Just! Stop using Makefile

2023-06-30
9 minutes

If you look at any software project, its codebase is rarely just the application itself. There's always a few other things in there: Tests (hopefully), linters, complicated setup scripts, incredibly complicated compile scripts. All of which take a lump of code and turn it into a full project. To make…

None

COUNTing is hard: A tale of types in SQL and Django

2023-06-03
5 minutes

Using an ORM adds a handy layer between you and the database tables. Sure, you can write SQL, but most developers find it easier to think of a list of complex objects than they do a collection of rows. However, it's important to remember what's going on under the hood…

Nummernschild 100 (Hundert) auf einem Grab | number 100 (hundred) in a graveyard

Looking back on 100 posts

2023-05-05
17 minutes

This is the 101st post on my website. Humans are fascinated with milestones, especially when they line up with base 10 numerals. As a human myself, I enjoy these milestones, and it's not often I get a chance to do some meta content, so let's give in and see where…

None

Automatic builder discovery with BeautifulSoup

2023-04-14
4 minutes

BeautifulSoup is a very popular HTML parsing library for Python. It's about as popular for HTML parsing as requests is for HTTP requests. BeautifulSoup allows you to provide some HTML markup as a string, and then interrogate and mutate it however you need. Whether to find specific tags, add new…

Balloon

My First CVE

2023-04-03
2 minutes

Today is a special day for me, professionally anyway. It's a day I get to tick a fun item off my bucket list, that I didn't think I'd get the chance to. Today, a CVE was released where I am the discoverer: CVE-2023-28837. I have my first CVE!What is a…

None

USB off-site backup

Today is world backup day, a day to highlight the importance of backups, protecting data, and keeping systems secure (at least that's what Wikipedia says). I'm taking this day as a chance to review my backup strategy, and make sure I'm happy with the coverage I'm getting. I mentioned a…

Cyber security image

You're doing two-factor authentication wrong

2023-03-10
10 minutes

It was recently announced that Twitter was going to begin hiding two-factor authentication (2FA) behind a paywall, or at least that's what a lot of people saw. In reality, Twitter is only allowing subscribers to their new (ish) "Twitter Blue" subscription tier to use SMS-based 2FA. Everyone else will need…

YouTube on a phone

Casting YouTube videos from Linux

2023-02-23
4 minutes

Over the past few months, I've been watching a lot more content on the TV, sat on the sofa, than at my desk like I used to. The bigger screen is much more enjoyable, not to mention it's a different seat to the one I work in 8 hours a…

2023

State of the Apps 2023

It's that time of year again, time to steal some of Cortex's search rankings to talk about my own "State of the Apps" - the applications and setups I use to make my life what it is. Since my last post, and in fact in just the last few weeks,…

Singapore light design

Server Setup 2023

2022-12-31
13 minutes

For a few years now, I've tried as hard as I can to run everything on servers I control, ideally servers I physically control. Partly in an attempt to regain my privacy, party because it's much more fun this way. Over the last year, things have stayed fairly stable hardware-wise…

Monument to Prometheus at front and the Macedonian Assembly in the background.

Monitoring Prometheus with Healthchecks

2022-12-15
3 minutes

Prometheus is a crazy powerful metrics and monitoring tool. Prometheus not only lets you scrape and collect metrics from other tools like Traefik and HomeAssistant, but also thanks to Blackbox, monitor the availability of other sites. Prometheus' main loop involves scraping a number of "exporters" over HTTP, looking at the…

None

Server CPU Replacement

2022-11-13
11 minutes

Power bills in the UK are starting to skyrocket, and the costs of self-hosting are going up as a result. The average persons bills are going up pretty fast, and I suspect they don't have a server in their cupboard on 24/7. For a while now, I've wanted to swap…

The focus

What's this? A new website?

2022-10-30
10 minutes

Hello internet, it's been a while. I've been working on something for a while, and today's the day I get to finally release it! Yes, I redid my website - again! But, depending on how often you talk to me, I redid my website finally. This update has been a…

Classified newspaper page

Finding RSS feeds

2022-06-26
5 minutes

I love RSS, and I love that it exists. RSS is an open standard for “content syndication”, which basically means you can scrape a list of content from a website and then read it wherever and however you want. Because it’s an open standard, and a fairly simple one at…

Wonderspaces

Power cut precautions

2022-05-19
5 minutes

Last night, the sky was filled with thunderstorms. For a few hours, there was some of the loudest thunder and brightest lightning I’d ever seen. At the time, this was quite interesting, and nicely helped cool down the air too. This morning however, less fun. Shortly after 07:30, my monitoring…