JavaScript's Math.random()
JavaScript Math.random() explained beyond the basics, including pseudo‑random generation, browser history, ranges, array indexes, and randomness limits.
Articles
This is a relatively generic and broad category where I attempt to offer guidance or instruction on more‑or‑less anything related to front‑end and web development.
Below you will find a subset of articles from my blog specifically about Guides. This is an area that I have worked with for many years, and have managed to write about quite a few times. There are three hundred seven collected together for you below.
Math.random()JavaScript Math.random() explained beyond the basics, including pseudo‑random generation, browser history, ranges, array indexes, and randomness limits.

useRef in ReactUse useRef in React for DOM access, focus management, mutable values, previous values, integration work, and cases where refs should not replace state.

React Hooks, introduced in React 16.8, bring state and lifecycle features to functional components. Here, I explore how they work and why they matter.

Class and functional components are key to React development. In this article I explore differences, advantages, and when to use each in modern React apps.

Discover advanced responsive web design techniques with CSS Grid, `clamp()`, container queries, and JS enhancements for performance‑optimised, adaptive sites.

_app and Custom _document in Next.jsCustom `_app` and `_document` in Next.js explained clearly, including shared layout, global setup, server‑rendered HTML, and what each file is actually for.

The JavaScript event loop manages asynchronous tasks in a single‑threaded environment. I explore how it works with the call stack, task queue, and microtasks.

Many websites feel static and unresponsive, frustrating users. This article shows how HTML, CSS, and JavaScript create dynamic, accessible interfaces.

AbortControllerHow to prevent race conditions in JavaScript with `AbortController`, including stale search results, request cancellation, and browser support caveats.

Cross‑browser compatibility ensures a consistent user experience across different browsers. Best practices, CSS and JS techniques, and testing strategies.

next/link for Client‑Side Navigation
Event delegation in JavaScript manages child element events via a single parent listener. Here, I explore how it works, its benefits, and practical use cases.

The React Context API explained with Provider and Consumer examples, prop drilling trade‑offs, shared app state, and when context is not the right answer.

Merging objects in JavaScript is straightforward once you know the tools. This guide covers Object.assign(), spread syntax, and overwrite behaviour.

Event bubbling and capturing in JavaScript explained through propagation phases, event delegation, target/currentTarget, stopPropagation(), and handler order.

JavaScript frameworks streamline development with reusable components, state management, and optimised rendering. Here, I compare React, Vue.js, and Angular.

The Fetch API for beginners, including GET requests, POST requests, JSON handling, `response.ok`, and why failed fetches need explicit error checks.

Tagged template literals let you intercept and reshape template literal output. This guide explains the syntax and why the feature can be useful.