Writing
60 articles on backend engineering, payments, DevOps and security, written from real projects.
60 articles
Node.js October 2026 Security Release: 10 CVEs and How to Mitigate Them
Node.js 22.23.4, 24.22.1 and 26.12.1 fix 10 CVEs, including a Brotli RCE and TLS hostname bypasses. What changed and how to update.
Node.jsSecurityOct 22, 2026PHP RCE CVE-2026-109618 and CVE-2026-109619: Patch Now
PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35 fix two critical RCE bugs that are already under attack. What they are, who is affected and how to patch.
PHPSecurityOct 19, 2026NestJS Locks: Run a Cron Job on One Instance Only
The new official @nestjs/locks package explained: why cron jobs run once per replica, then @OnOneInstance, @WithoutOverlapping, @LeaderElection, withLock and fencing tokens.
NestJSNode.jsOct 18, 2026Don't Store Invoice Status: Derive It from Payments in TypeScript
Why a stored invoice status drifts out of sync, and how to derive paid, partial and past due from payments with small TypeScript functions and integer cents.
TypeScriptInvoicingOct 18, 2026Outbox Pattern: Save Data and Publish Events Reliably
How to save to the database and publish an event without losing either: the outbox pattern, a polling relay, idempotent consumers, with diagrams and code.
System DesignArchitectureOct 18, 2026PostgreSQL vs MySQL: How They Really Differ and How to Choose
A hands-on comparison of PostgreSQL and MySQL: connections, MVCC and VACUUM vs undo logs, heap vs clustered storage, indexes, JSON, replication, migration gotchas and a decision flow, with animated diagrams.
PostgreSQLMySQLOct 18, 2026Receiving Email in a Node App with Amazon SES and SNS Webhooks
How I built a threaded email inbox on Amazon SES: verify SNS webhook signatures, parse raw mail, sanitize HTML and thread replies, with the real code.
Amazon SESAWSOct 18, 2026S3 and CloudFront CDN: Serve Files Fast, Safe and Cheap
Set up S3 and CloudFront the right way: a private bucket, origin access control, cache rules, a CI deploy workflow, HTTPS and uploads, with full diagrams.
AWSCDNOct 18, 2026A Sale as One Database Transaction in NestJS and TypeORM
How a point-of-sale checkout stays consistent: customer, stock, totals and invoice in one TypeORM transaction, plus the race condition most examples miss.
NestJSTypeORMOct 18, 2026System Design for Backend Engineers: From One Server to Millions of Users
Learn system design by scaling one server step by step: estimates, caching, queues, replicas, sharding, failure handling and a worked URL shortener.
System DesignArchitectureAug 26, 2026Config Malware in ESLint & PostCSS: How It Spreads, How We Scanned It, and How to Stop Reinfection
A full incident walkthrough of obfuscated JavaScript malware in ESLint/PostCSS configs — plus public NestJS and Next.js golden templates with CI scanners and PR-only main.
SecurityMalwareAug 24, 2026Instant Failover Between Two Servers: Cloudflare Tunnel + a Real-IP Backup
A practical high-availability setup where a main server hides behind Cloudflare Tunnel with nothing else in front of the app, and a secondary server on a real public IP runs Caddy or Nginx — with Cloudflare Load Balancing doing edge-side, near-instant failover between the two.
CloudflareHigh Availability