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.→
July 15, 2026Merge Intervals and Greedy Interval Scheduling5 min read

Calendar conflicts, meeting rooms, and 'maximum non-overlapping tasks' are all interval problems that collapse into a single sort-then-scan pattern once you pick the right key to sort by.

#DSA
July 14, 2026Bloom Filters: Probably in the Set, Definitely Not4 min read

A probabilistic data structure that answers set-membership queries in constant space by allowing false positives but never false negatives — and why Chrome, Cassandra, and CDNs all rely on that trade.

#DSA#System Design
July 14, 2026Segment Trees: Range Queries in O(log n)5 min read

When an array changes and you still need fast range sum, min, or max queries, prefix sums stop working. Segment trees answer both range queries and point updates in logarithmic time.

#DSA
July 13, 2026Backtracking: Brute Force with an Undo Button4 min read

One template solves permutations, subsets, N-Queens, and Sudoku. Learn the choose–explore–unchoose pattern and how pruning turns exponential search into something usable.

#DSA
July 13, 2026Big-O Notation: A Practical Guide for Working Developers5 min read

What Big-O actually measures, how to read a function's complexity straight from its shape, and why O(n log n) beats O(n²) long before n gets big.

#DSA
July 13, 2026Database Indexing: Why Your Query Is Slow (and How B-Trees Fix It)5 min read

What an index physically is, how B-trees make lookups logarithmic, composite index ordering, covering indexes, and the query patterns that silently refuse to use your index.

#System Design
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
July 13, 2026Load Balancing Strategies: From Round Robin to Consistent Hashing5 min read

How load balancers decide where each request goes — the classic algorithms, L4 vs L7, health checks, and the sticky-session problem that pushes state out of your servers.

#System Design

148 posts · page 12 of 15