Featured Post
How import and require Find Your Files — Module Resolution Explained
When you write import ‘lodash’ or require(‘./utils’), Node.js searches through node_modules, checks file extensions, reads package.json, and resolves the file path automatically.
All Posts
When translate3d(0,0,0) Actually Matters
The old advice says add translate3d to everything for GPU acceleration. The truth is more specific. Here is when it helps, when it hurts, and how to check.
Why Kadane’s Algorithm Works — Visual Proof of Maximum Subarray
Kadane’s algorithm finds the maximum sum subarray in O(n). Most developers memorize the code. This article explains why it works so you can derive it from scratch.
Memoization vs Tabulation — When to Choose Which for DP
Memoization is recursion plus caching. Tabulation is filling a table from the bottom up. Both solve DP problems. Here is how to pick the right one for your specific problem.
The 5 Most Common HTML Accessibility Bugs That Fail WCAG Audits
Most accessibility failures are not design problems — they are missing labels, invisible focus outlines, keyboard traps, low contrast, and icon buttons without text alternatives.
How the Spread Operator Copies Data (and When It Doesn’t)
The spread operator creates a new object or array — but only one level deep. Nested objects still share references with the original. Here is when spread is safe and when you need a deep copy.
What JSON Can’t Store — Missing Types and Workarounds
JSON handles strings, numbers, booleans, null, objects, and arrays. Everything else — dates, undefined, BigInt, Map, Set — gets lost or corrupted during serialization.
