Thirteen minutes of CI
What runs on every change, why the slowest check stays, and why a merge should decide from the results rather than from the wait finishing.
Blog: Notes from production
These are pieces of my working notes, edited for public eyes. They won't reveal the details of what I build, but they might explain why I build at all.
What runs on every change, why the slowest check stays, and why a merge should decide from the results rather than from the wait finishing.
Progress on moving the Job Adding System to Postgres: every store shadow-writing in production, a clean first day of soak, and what turned up on the way.
A sync job slowed from 400 to 534 seconds once it wrote to Postgres as well as SQLite. How I measured it, where the time went, and the fix that brought it under 380.
Before reads move from SQLite to Postgres: why identity sequences fall behind under dual writes, the seven-second switch window, and proving the rollback repairs a lost write.
How I'm moving a WordPress site from a shared host into containers behind Cloudflare: DNS first, then the website, with scripted gates for links, search and email.
Progress on moving the Job Adding System to Postgres and containers: what is done, how the stores move in waves, and what comes next.
How the Job Adding System proves its move to Postgres: one helper in front of every database, writes to both, a nightly compare and a week of clean results.
A pinned base, no compiler, only what runs, never root, built for the cache and audited on every change: the rules behind a production Python image.
Step one of containerising JAS: 30 SQLite databases have to become one Postgres. First estimate for the move: 125 hours.
What I consider best practice for Dockerfiles: small images, sensible layering, and builds that are reproducible and safe to run.