tao.

Backend stuff, explained like a friend would.

Hands-on notes on Java, Rust, Cloudflare, Docker and more. Every post is something that broke, why it broke, and how it got fixed.

Fresh off the keyboard

Your Site Is Down Under a DDoS? Find Out Which Layer Broke First

Your CPU can sit idle while your bandwidth is full, and a handful of expensive requests can stall an app that looks fine. This guide walks through where DDoS attacks hit, how to tell them apart from traffic spikes and bad deploys, and which defenses cover which layer.

Security · · 17 min read

Latest posts

View all →

More reading

Cloudflare 11 min read

How to Fix Cloudflare Error 521: Don't Clear the Cache, Trace the Path

Cloudflare Error 521 (Web server is down) isn't fixed by clearing the cache — it means your origin refused Cloudflare's connection. This guide walks the path from web service and listening ports through firewalls / WAF and SSL/TLS ports to load balancers, plus a ready-to-send support ticket template.

DNS 11 min read

Why Encrypt DNS Queries?

Pages may already use HTTPS, but DNS lookups are often still sent in the clear. DoH encrypts the first hop to your resolver. It is not anonymity, and it does not replace DNSSEC.

Nestjs 8 min read

NestJS or Express? Pick by How Big the Project Will Get

Use Express for small services, prototypes, and webhooks. Use NestJS for a business backend a team will keep maintaining. Nest still runs on Express by default. Switch to Fastify only if a load test shows the HTTP layer is the bottleneck.

Browse all posts (111) →