
Articles
JavaScript
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 that I have worked with for many years, and have managed to write about quite a few times. There are two hundred ninety‑three collected together for you below.

Prefix Sums and Hash Maps: Solving 'Subarray Sum Equals K'. 
Sorting Complex Arrays in JavaScript. Sorting Complex Arrays in JavaScript

Understanding the Backtracking Approach: Solving the 'Word Search' Problem. Understanding the Backtracking Approach: Solving the 'Word Search' Problem

Fast and Slow Pointers: Solving the 'Linked List Cycle' Problem. Fast and Slow Pointers: Solving the 'Linked List Cycle' Problem

Single Number in TypeScript with Bit Manipulation. Single Number in TypeScript with Bit Manipulation

Building a Custom Vue 3 Hook Using the Composition API. Building a Custom Vue 3 Hook Using the Composition API

Grid Traversal: Solving the 'Number of Islands' Problem. Grid Traversal: Solving the 'Number of Islands' Problem

Vue's provide/inject API: When and How to Use It. Vue's
provide/injectAPI: When and How to Use It
Vue 3 Reactivity: Proxies vs. Vue 2 Reactivity. Vue 3 Reactivity: Proxies vs. Vue 2 Reactivity

Optimising Vue.js Performance with Lazy Loading and Code Splitting. Optimising Vue.js Performance with Lazy Loading and Code Splitting

Sliding Window Fundamentals: Solving 'Longest Substring Without Repeating Characters'. Sliding Window Fundamentals: Solving 'Longest Substring Without Repeating Characters'

Using Middleware in Next.js for Route Protection. Using Middleware in Next.js for Route Protection

Optimising Angular Forms: Template‑Driven vs. Reactive Forms. Optimising Angular Forms: Template‑Driven vs. Reactive Forms

Converting Between Camel, Snake, and Kebab Case in JavaScript. Converting Between Camel, Snake, and Kebab Case in JavaScript

LeetCode: The 'Trapping Rain Water' Problem with Two‑Pointer Approach. LeetCode: The 'Trapping Rain Water' Problem with Two‑Pointer Approach

Lazy Loading in Angular: Optimising Performance. Lazy Loading in Angular: Optimising Performance

A Brief Look at JavaScript’s Temporal Dates and Times API. A Brief Look at JavaScript's
TemporalDates and Times API
Next.js vs. Remix: Understanding the Key Differences. Next.js vs. Remix: Understanding the Key Differences