
Multi‑Source BFS: Solving the 'Rotting Oranges' Problem
Solve Rotting Oranges with multi‑source BFS in TypeScript, treating each queue level as one minute and tracking fresh cells until spread completes.
Articles
The guides are the practical part of this archive: working explanations for a specific web development problem, written to show the decision as well as the answer. The subject varies, but the aim is consistent: enough context to use the technique sensibly rather than copy it blindly.

Solve Rotting Oranges with multi‑source BFS in TypeScript, treating each queue level as one minute and tracking fresh cells until spread completes.

Compare client‑side React caching, Next.js SSG, ISR and SSR caching, and Redis‑backed caches for reliable serverless data fetching and persistence.

How to diagnose traffic loss after a WordPress to Next.js migration by checking redirects, rendered HTML, metadata, canonicals, and tracking noise.

Agentic systems do not replace service design. They expose weak contracts, permissions, observability, retries, state ownership, and workflow boundaries.

A WordPress to Next.js migration checklist for URLs, content models, media, preview, redirects, metadata, schema, sitemaps, SEO, and launch checks.

Solve Kth Largest Element in an Array with Quickselect in TypeScript, comparing sorting, heaps, partitioning, random pivots, and trade‑offs under pressure.

Set and MapJavaScript's Set and Map simplify common tasks like managing unique values or key‑value pairs. Here, I'll share practical examples for everyday development.

A Next.js crawlability checklist for debugging sitemaps, robots.txt, canonicals, route generation, redirects, staging leaks, missing pages, and indexation.

How to solve LeetCode Find Peak Element with binary search, and why local comparisons are enough even when the array is not sorted in the usual way.

Why JavaScript pages get crawled but not indexed, covering rendered content, metadata, canonicals, links, noindex rules, quality, and crawl signals.

A React SPA to Next.js SEO migration checklist for preserving indexing, redirects, metadata, rendered HTML, internal links, crawl paths, and launch confidence.

How to test Vue components with Vue Test Utils using realistic interactions, focused assertions, better test boundaries, and less brittle design.

How to solve Search in Rotated Sorted Array with modified binary search, identifying the sorted half each step and narrowing safely in TypeScript.

The 'Merge Two Sorted Lists' problem on LeetCode involves combining two sorted linked lists into one. Here, I explore a clear solution with TypeScript examples.

Solve Koko Eating Bananas with binary search on the answer, using feasibility checks, speed bounds, ceiling division, TypeScript examples, and edge cases.

Tail call optimisation in JavaScript, why it matters conceptually, and why patchy engine support still makes it unreliable for production recursion.

WeakMap and WeakSet in JavaScriptUse WeakMap and WeakSet for metadata and membership without retaining keys, understand value types, and distinguish collection from guaranteed cleanup.

JavaScript Symbols explained in plain English, including unique keys, well‑known symbols, hidden metadata, and the cases where they are genuinely useful.