
Grid Traversal: Solving the 'Number of Islands' Problem
How to solve Number of Islands with grid traversal, treating the matrix like a graph, marking visited land safely, and reasoning about DFS in TypeScript.
Articles
JavaScript is probably one of the most‑used programming languages in the world, and a cornerstone of front‑end (and more general) web development. It enables the development of interactivity and features that HTML and CSS alone simply cannot, and includes more advanced concepts like closures, callbacks, and asynchronous programming.
Below you will find a subset of articles from my blog specifically about JavaScript. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are three hundred twenty‑one articles collected together for you below.

How to solve Number of Islands with grid traversal, treating the matrix like a graph, marking visited land safely, and reasoning about DFS in TypeScript.

provide/inject API: When and How to Use ItWhen Vue provide/inject is the right tool, how to keep it reactive, and where it fits better than props or a full store in larger component trees.

Vue 3 replaces Vue 2's getters and setters with JavaScript proxies. This article explains how they differ and why proxies improve Vue's reactivity system.

Optimise Vue.js performance with lazy loading and code splitting, covering route‑level chunks, async components, bundle strategy, measurement, and UX.

How to solve Longest Substring Without Repeating Characters with sliding window basics, comparing Set and last‑seen‑index approaches in TypeScript.

Middleware in Next.js provides a straightforward way to protect routes and manage user authentication. Here, I show how to implement effective route protection.

Template‑driven vs. reactive Angular forms, and how to choose the right model for validation, scale, testing, and maintainable form logic in real apps.

Converting between camel case, snake case, kebab case is a common task in JavaScript. Here, I explore methods using regular expressions and string manipulation.

How to solve Trapping Rain Water with the two‑pointer approach, and the simple invariant that makes the O(n) solution click under interview pressure.

How lazy loading in Angular improves performance, where route‑level splitting helps most, and how to avoid messy boundaries and loading states in larger apps.

Temporal Dates and Times APIA practical look at JavaScript Temporal, why Date is awkward, and how clearer date, time, time zone, duration, and parsing APIs improve modern code.

Next.js vs. Remix compared properly, across routing, data loading, mutations, caching, and the architectural trade‑offs teams actually feel in production.

Unravel the art of finding the Longest Common Prefix in strings using TypeScript. Dive deep into Horizontal & Vertical Scanning methods with code insights.

Solve Merge Intervals in TypeScript by sorting ranges, merging overlaps, handling touching intervals, preserving inputs, and avoiding common mistakes.

Angular signals explained properly, from computed values and effects to where they simplify state, templates, and change detection without replacing RxJS.

How Vue Suspense handles async components and loading states, where it helps, where it falls short, and what still needs extra care in production.

A technical discussion about the key differences between declarative and imperative programming, focusing on development with JavaScript, ES6, and React.

How to solve Product of Array Except Self without division, using prefix and suffix products to keep the logic linear and interview‑safe in TypeScript.