Blog

Things I learned
the long way.

Notes on building software that keeps working, from someone who has been at it since 1999: AI and automation, the business systems they plug into, and the small decisions that decide whether software lasts. Newest first, all the way back to 2024.

Latest

New on the blog

Money in Code: Rounding, Paise and Floating Point Why 0.1 + 0.2 is not 0.3 in code, how to store money as whole paise or decimals, why tax per line and per invoice differ by a paisa, and how to split amounts so the parts always add back. November 5, 2026 · 6 min read Lessons From Running This Site on Shared Hosting PHP, MySQL and one .htaccess file. How this site handles cache-busting, errors, secrets, analytics that cannot take it down, cron over HTTP, its sitemap, and checking that .htaccess is applied. October 26, 2026 · 7 min read What Actually Stops the Bots on My Contact Form A script read the security token, waited and posted, and every check let it through. The layers behind the form now: a bot check verified on the server, content rules, two throttles and a fake success. October 18, 2026 · 5 min read Reading a Number Plate the Classical Way Greyscale, threshold, segmentation, template matching: the four stages of the Y2K Lab plate reader, how each one breaks, and what modern OCR does instead. September 25, 2026 · 6 min read Naive Bayes in Plain Words: A Spam Filter You Can Work Out by Hand Six made-up emails, a word tally and some arithmetic: how a Bayesian spam filter decides, why it needs smoothing and logarithms, and where the method stands today. September 11, 2026 · 5 min read A Neural Network You Can Watch Learn From one neuron to a small digit-reading network: the forward pass, the error and backpropagation in plain language, with one complete training step in JavaScript. August 22, 2026 · 8 min read
All posts

Everything, by year

2026 8 posts

2025 16 posts

2024 22 posts