How the JavaScript event loop, microtasks, and the call stack work
why setTimeout(0) is never zero, why await feels seamless, and why one runaway Promise can stall a tab.
why setTimeout(0) is never zero, why await feels seamless, and why one runaway Promise can stall a tab.
JavaScript Hoisting, the TDZ, and the Call Stack Explained
before line 1 runs, the engine has already walked your file — and that walk is why hoisting, the TDZ, and the call stack are one mechanism, not three quirks.
before line 1 runs, the engine has already walked your file — and that walk is why hoisting, the TDZ, and the call stack are one mechanism, not three quirks.
AI agent traps & prompt injection on the open web
you don't break the model — you break the page it reads. six ways the open web learned to trap an AI agent.
you don't break the model — you break the page it reads. six ways the open web learned to trap an AI agent.
Why fetch fails in browser but works in curl (CORS)
the server did answer — your browser is just holding the response back from your JavaScript.
the server did answer — your browser is just holding the response back from your JavaScript.
WebSockets, SSE, and long-polling: how real-time web works
real-time apps didn't teach the server to speak first — they taught the browser to stop hanging up.
real-time apps didn't teach the server to speak first — they taught the browser to stop hanging up.
How instant email-availability checks work
the pipeline that tells you 'already taken' before your finger lifts.
the pipeline that tells you 'already taken' before your finger lifts.
JavaScript closures, var vs let, and the loop bug
how a function outlives the scope it was born in — and why half of your JS bugs start there.
how a function outlives the scope it was born in — and why half of your JS bugs start there.