Skip to content
Writing

Notes, fixes and guides.

Sixteen years of working notes on Linux and networking, Django and Laravel deployment, SwiftUI and AWS. Written down mostly so I can find them again.

Python Sep 11, 2026 3 min read

edge-tts won’t give you WordBoundary events until you ask

One keyword argument, keyword-only and missing from most tutorials, and then two things about ASS that cost me a lot longer than the keyword did.

Django Sep 9, 2026 7 min read

Never run django.template.Template() on HTML you didn’t write

A single stored record took an endpoint down for a week. It contained valid, working markup for a different template language. Django compiled it anyway, because that is what you asked it to do.

Django Sep 9, 2026 7 min read

Fix Gunicorn’s TimeoutError: [Errno 110] Connection timed out in sock.sendall()

Your view already finished. The worker got stuck handing the response over - and raising --timeout, the usual first move, makes it last longer instead of fixing it.

iOS Aug 28, 2023 2 min read

SwiftUI: Create a Custom Navigation Bar

In this article we create a reusable navigation bar in SwiftUI: a centred or large title, leading and trailing buttons, your own colours, and a Back button that actually pops the screen. It's applied as a modifier, so it sits where the system bar would.

PHP Aug 24, 2023 1 min read

How to Use msmtp with PHP’s mail() Function to Send Email

In this guide, let's explore how to set up PHP to use msmtp, a lightweight SMTP client, as its MTA.

Django Aug 14, 2023 1 min read

How To Deploy a Django project on an Ubuntu server with Nginx

Here's a general outline of How to Deploy a Django project on an Ubuntu server with Nginx: Server Setup: Start by setting up an Ubuntu server. SSH into…

AWS Jul 21, 2023 1 min read

How To Mount an AWS S3 bucket on an Ubuntu Server

To mount an AWS S3 bucket on Ubuntu, you can use a tool called "s3fs." S3fs allows you to access your AWS S3 bucket as if it were…

Ubuntu Jul 6, 2023 2 min read

How To Mount a Remote hard drive on an Ubuntu server

If you want to mount a remote hard drive on an AWS Ubuntu instance, you can use the SSHFS (SSH File System) utility. SSHFS allows you to mount…

General Jun 30, 2023 2 min read

WordPress: How to Fix the “Missing a temporary folder” Error

The "Missing a temporary folder" error typically stems from incorrect server configurations. When WordPress attempts to upload files or carry out temporary operations, it requires access to a temporary folder.

Coding May 29, 2023 1 min read

Stripe Fee Calculator and Formula with custom rates

Stripe Fee Calculator and Formula with custom rates. To calculate Stripe fees for a transaction, you can use the following formula: Total Fee = (Transaction Amount * Fee Percentage) + Fixed Fee. To calculate the amount to ask for with the stripe fee included, you can use the following formula: Ask For = (Transaction Amount + Fixed Fee) / (1 - (Fee Percentage / 100)).

Apple Jan 5, 2023 1 min read

Find the expiry of a Certificate that was used to sign an .ipa App file

Extract the ipa file: $ unzip -q App.ipa Extract Certificates: $ codesign -d --extract-certificates Payload/*.app $ openssl x509 -inform DER -in codesign0 -out codesign0.pem $ openssl x509 -inform…

General Oct 14, 2022 1 min read

How to upgrade Ubuntu server 20.04 to Ubuntu 22.04 (latest)

1. Let's fetch the latest version of the package list from the repositories. 2294282766adb7b7353614_000053 2. Upgrade the installed packages. 2294282766adb7b7353614_000054 3. Upgrade the distribution…