Blog

Notes on data structures & algorithms, system design, and things I learn along the way.

Learning DSA? Follow the structured path — ordered articles from recursion to dynamic programming.→
September 23, 2026Reflow, Repaint, Composite: The Browser Rendering Pipeline4 min read

Why animating left janks and animating transform doesn't. The five stages of a frame, which properties skip which stages, and what layout thrashing actually costs.

#JavaScript
September 22, 2026Immutability and Structural Sharing4 min read

Copying a whole object to change one field sounds wasteful — and isn't, because almost nothing gets copied. How structural sharing works, why it makes === a valid change check, and where it quietly breaks.

#JavaScript
September 22, 2026Streams and Backpressure: Why Your Node Process Runs Out of Memory10 min read

A fast producer and a slow consumer need a way to say 'wait'. What backpressure is, how pipeline() gives it to you for free, and why the version with the callback silently buffers everything.

#JavaScript
September 21, 2026Web Workers: Getting Heavy Work Off the Main Thread4 min read

The main thread paints your UI and runs your JavaScript, and it can only do one at a time. What workers can and can't do, the cost of postMessage, and when the copy is worse than the work.

#JavaScript
September 19, 2026let, const and var: Scope, Hoisting and the Temporal Dead Zone7 min read

Three ways to declare a variable, and the differences that actually matter: block vs function scope, the loop bug var causes, what const does and doesn't protect — and why 'hoisting' is really bindings created before any code runs, in four different states.

#JavaScript
July 17, 2026Proxy and Reflect: Intercepting JavaScript Objects4 min read

Proxy lets you intercept fundamental operations on an object — get, set, delete, has — before they happen. It's the mechanism behind Vue's reactivity, ORMs, and API validation layers.

#JavaScript
July 16, 2026Async/Await Under the Hood: Promises in Disguise10 min read

async/await isn't a new concurrency model — it's syntax sugar over promises and generators. Understanding the desugared version explains error handling, sequential-looking parallel bugs, and why 'async' functions always return a promise.

#JavaScript
July 13, 2026ESM vs CommonJS: What Actually Differs (and Why It Still Bites)5 min read

require vs import isn't just syntax — it's dynamic vs static, copies vs live bindings, sync vs async. A field guide to the module systems and the interop errors between them.

#JavaScript
July 13, 2026Event Delegation: One Listener to Rule the List4 min read

How DOM events really travel — capture, target, bubble — and how delegation exploits bubbling to handle a thousand rows with a single listener.

#JavaScript
July 13, 2026JavaScript Memory Management: How the Garbage Collector Thinks5 min read

Reachability, generational GC, and the four leak patterns that survive garbage collection — timers, detached DOM nodes, growing caches, and forgotten listeners.

#JavaScript

38 posts tagged JavaScript · page 3 of 4