All posts
- 2026-04-16 First steps with amateur radio
- 2026-03-12 Amateur radio licence
- 2026-01-04 Stumbling accross the strategy design pattern
- 2026-01-02 Building my homelab: installing CAT6A
- 2025-12-06 Replacing garage guttering
- 2025-11-18 Installing a loft ladder and new loft hatch
- 2025-11-11 Installing a solar-powered security light
- 2025-10-05 Creating a router cabinet
- 2025-08-28 Homeowner at last
- 2025-08-17 Setting up a publicly accessible Garage bucket
- 2025-07-21 Self-hosting this site
- 2025-03-12 Self-hosting: setting up reverse proxy and first service
- 2025-03-03 Self-hosting: setting up DNS and TLS
- 2025-02-23 Self-hosting: initial setup
- 2024-12-15 Converting a Pixel 2 XL into a private DAP
- 2024-11-16 Gruvbox image filters
- 2024-10-24 Frontend for Eòlas
- 2024-09-10 Suppressing logs and errors in Jest
- 2024-08-18 A human being is...
- 2024-08-07 Visit to Bletchley Park and The National Museum of Computing
- 2024-07-31 Requiem for Gruvbox95
- 2024-07-19 Activity Log backend
- 2024-06-08 Getting a local DynamoDB instance working
- 2024-04-10 Using Slack as a desktop notification center
- 2024-03-03 Waybar customisation
- 2024-03-01 Note-taking routine
- 2023-11-20 Jest parameterization
- 2023-10-19 Beckett quote
- 2023-10-03 Two strategies for handling exceptions in Python
- 2023-09-26 Some nice TypeScript
- 2023-09-07 AWS Lambda: save articles
- 2023-07-07 AWS Lambda: recommended articles
- 2023-05-03 Recent courses
- 2023-04-16 Bash script: delete unused images
- 2023-04-16 DeLillo, alignment
- 2023-02-16 And the world knew him not (lossless compression)
- 2023-01-13 N2T Unit One: Boolean functions and gate logic
- 2023-01-08 How I backup my primary machine
- 2023-01-02 How I deploy this site
- 2022-12-28 Bash script: random revision topic
- 2022-01-01 Alien Blood VS Code theme
- 2021-11-27 Informal definitions of key concepts in propositional logic