Blog

Long-form write-ups from the rest of this collection: what actually worked, what cost an evening, and the numbers behind both.
Author

Benedict Thekkel

The other sites in this collection are reference notes, written to be looked things up in. This one is the opposite. Each post takes something built or run for real, then explains the decisions, the trade-offs, and what the measurements said.

The subjects track what was actually being worked on: home lab infrastructure, then Django and real-world API integration, then LLM systems, then hardware and the physical-engineering side. Most posts carry charts built from real runs rather than illustrative numbers.


Posts, Newest First

Date Post Covers
2026-08-11 Which Diagram Answers Which Question Diagrams fail by mixing zoom levels, not by picking the wrong notation. Choose by axis, draw C4 levels 1 and 2 and stop, keep sequence/ER/C4-container, and apply the ceremony test
2026-08-11 Compliance Is a Sales Function Certificates prove controls exist to a procurement team; they do not make you secure. Plus the Australian privacy obligations that bind you whether or not you certify, including why the small-business exemption does not apply to health data
2026-08-11 Machine Safety for Software Engineers AS 4024 is not law but is how you demonstrate “reasonably practicable”. The 1501/1502-vs-1503 trap, how Performance Levels are derived from the hazard, and the safety-distance calculation you will actually do
2026-08-05 Pulumi vs Terraform Same model and mostly the same providers. The two real differences are the Automation API and testability; Output[T] is the tax you pay for a real language
2026-07-28 asyncio After 3.11 TaskGroup, asyncio.timeout() and uncancel() changed which patterns are correct, plus the fire-and-forget task that gets garbage collected mid-execution
2026-07-24 A Webcam and a Microphone Through a Proxmox LXC Video and audio are separate passthroughs, auto-exposure is a frame-rate control, CAP_PROP_BUFFERSIZE halves throughput for nothing, and CLAP silently accepts audio at the wrong sample rate
2026-07-12 What Actually Fits on a 12 GB GPU Three budgets rather than one. Params times two bytes, why load_in_4bit does not shrink the download, and the 22.7 GB fp32 text encoder inside a “1.3B” video model
2026-07-09 The Memory Leak That Isn’t a Leak CPU offload parks weights in system RAM and glibc never hands them back, so RSS ratchets until the container dies. malloc_trim(0) is to RAM what empty_cache() is to VRAM
2026-07-06 Two Years of a Knowledge Repo A data-driven retrospective across 18 repos: notebooks per quarter, commits by repo, and how the topics shifted from foundations to LLMs to real APIs to hardware
2026-07-06 Running a Federated Docs Site How a dozen independent nbdev and Quarto repos publish to separate Pages sites yet read as one website
2026-07-06 Brushless Motors, ESCs, and ESC Firmware How motors, speed controllers and their firmware fit together on a drone, why DShot beats PWM, and where thrust comes from
2026-07-03 Stepper, Servo, or Brushless The non-drone case, where the choice turns on what happens when the load wins: a stepper loses position silently, a servo notices. Size to stall, not to rated
2026-06-20 Sense, Analyze, Decide Measuring circuits with an IotaWatt, forecasting load and peaks, then deciding whether a home battery pays for itself. Self-consumption is the whole game
2026-06-13 Cellular IoT in Australia 2G and 3G are both switched off, Band 28 is non-negotiable, and the regional variant letter on the part number decides whether the board works at all
2026-05-20 LLM Pipeline Patterns Six composable patterns from prompt chaining to autonomous agents, the latency cost of autonomy, and where RAG sits among them
2026-03-20 Modern Python Stack in 2026 The Rust-powered replacements: uv, Ruff, Marimo and Polars, each measured against what it displaced
2026-03-15 Building a Production RAG System Every stage end to end: chunking as the cheapest lever, dense against sparse against hybrid, re-ranking, and where latency and money go
2026-02-20 Terraform + Ansible for a Home Lab The seam between provisioning and configuration, and how splitting there keeps a lab reproducible
2025-12-26 LLM Workflows with n8n The event-driven half of building with models, and why reliability is the hard part rather than the model
2025-10-20 From Boto3 to Bedrock The AWS services actually reached for, with the specific gotcha for each, an adoption timeline and rough monthly cost share
2025-09-15 OneBRC: Processing a Billion Rows From a naive loop to Polars and DuckDB, with runtime, peak memory, and where the 100x actually comes from
2025-05-20 Integrating Real Healthcare APIs Cliniko, Nookal and Snapforms side by side: auth, pagination, rate limits as a budget, and a checklist for not leaking a record
2025-04-20 Django Deep Cuts Killing the N+1, django-q against Celery, Constance for config without a deploy, Channels, and TimescaleDB
2024-12-16 Proxmox: Everything I’ve Learned Running a Home Lab Two years of Proxmox VE: VM against LXC against Docker, storage backends, GPU passthrough, cloud-init and backups

By Subject

The same posts grouped by what they are about, for when you know the topic but not the date.

Infrastructure and the home lab Proxmox · Terraform + Ansible · Pulumi vs Terraform · Boto3 to Bedrock · Federated docs site

Running models on small hardware What fits on a 12 GB GPU · The memory leak that isn’t a leak · Webcam and mic through an LXC

LLM systems Pipeline patterns · Production RAG · Workflows with n8n

Building software Django deep cuts · Healthcare APIs · Modern Python stack · asyncio after 3.11 · One billion rows · Which diagram

Hardware, energy and industry IotaWatt to battery ROI · Brushless motors and ESCs · Motor selection · Cellular IoT in Australia · Machine safety and AS 4024

Running a product Compliance is a sales function

Retrospective Two years of a knowledge repo


Not Covered Yet

  • No comments or subscription. Posts are published and left; there is no feed beyond what Quarto generates and no way to respond.
  • Nothing on the machine learning work itself. The modelling in ML Methods and DL Methods has never been written up in long form, despite being the largest body of notes in the collection.
  • No post-dated corrections. Where a post has been overtaken by later work, the post does not say so.
  • Three posts share a single date (2026-07-06), so among those the ordering falls back to post number rather than to when they were actually written.

Back to top