STORM

SOFTWARE  DEVELOPER

SYSTEM  INITIALIZING

[ VIEW PORTFOLIO ]

01
// Knowledge Base

The Blog

Thoughts, tutorials, and real-world engineering stories from shipping products.

Tab 1Tab 2sessionStoragestorm_tab_id: "a1b2"per-tab · isolatedlocalStorage (shared across all tabs)storm_open_tabs: [...]storm_splash_shown: "1"Tab 2sessionStoragestorm_tab_id: "c3d4"per-tab · isolated
Browser API
7 min read

Why sessionStorage Breaks Across Tabs (and the Right Fix)

Browser API

Your splash screen shows correctly on first load, then shows again every time someone opens a new tab. The culprit is a subtle but fundamental property of sessionStorage that most developers never think about.

May 12, 2026

Article
READ POST  →
DOMAINREGISTRARyourdomain.comNS recordsns1.provider.comnameserversDNSroutingA / CNAMEHOSTINGPROVIDERsite filesSSL autofree certowns domainserves files
DevOps
5 min read

Domain From One Company, Hosting From Another - How to Connect Them

DevOps

You bought your domain from one provider and your hosting is somewhere else. Here is exactly how to point one to the other using nameservers or CNAME records - no guesswork.

May 10, 2026

Article
READ POST  →
CALL STACKgreet()run()mainMICROTASKS.then() cbMACROTASKSsetTimeout cbEVENTLOOP
JavaScript
7 min read

The JavaScript Event Loop: Why setTimeout(fn, 0) Isn't Instant

JavaScript

JavaScript is single-threaded yet handles timers, network calls, and UI events without freezing. Understanding the event loop - call stack, task queue, microtask queue - is the key to writing async code that actually works as intended.

May 8, 2026

Article
READ POST  →
FLEXBOX→ one axisCSS GRID→ rows & columns
CSS
5 min read

CSS Grid vs Flexbox: A Practical Decision Framework

CSS

Both CSS Grid and Flexbox can solve most layout problems. But using the wrong one creates brittle, over-complicated CSS. Here's how to think about the choice clearly - with real examples.

May 5, 2026

Article
READ POST  →
CLIENTSERVERWSfull-duplex · low latencysingle TCP connection
Networking
6 min read

WebSockets vs Polling: Building Real-Time Features the Right Way

Networking

Chat apps, live dashboards, collaborative editors - they all need data to arrive instantly. But not every approach is equal. Here's the full breakdown of WebSockets, long-polling, and SSE so you can pick the right tool.

May 2, 2026

Article
READ POST  →
ZZZIDLE15mtimeoutUptimeRobotping /health
Backend
4 min read

Why Your Backend Goes to Sleep (And How to Keep It Alive)

Backend

Free-tier hosting platforms spin down your server after inactivity. The first request after that takes 30+ seconds. Here's why it happens and exactly how to prevent it.

April 27, 2026

Article
READ POST  →
0.3pxscrollr.bottom =0.09should be 0FROZEN
Engineering
5 min read

How a 0.3px Number Froze Our Scroll Snap

Engineering

A scroll-snap feature that worked perfectly - until users got completely stuck and couldn't scroll past a section on desktop. The culprit was a sub-pixel rounding error hiding in plain sight.

April 21, 2026

Article
READ POST  →
404JS✓ Pageindex.html
Deployment
5 min read

Why Direct URLs Return 404 on a React SPA (And How to Fix It)

Deployment

You deployed your React app. The homepage loads fine. Navigation works. Then someone types a URL directly - and gets a 404. Here's exactly why this happens and how to fix it on every major platform.

April 15, 2026

Article
READ POST  →
PLAYING