
Declarative vs. Imperative Programming
A technical discussion about the key differences between declarative and imperative programming, focusing on development with JavaScript, ES6, and React.
Articles
This is a very broad category within my articles which encompasses any aspect of web development, from initial design and architecture to coding, testing, and deployment.
Below you will find a subset of articles from my blog specifically about Development. This is an area I have worked with for many years, and it has been a regular subject in my writing. There are four hundred twenty‑five articles collected together for you below.

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.

Currying transforms functions into a sequence of single‑argument calls. An exploration into implementation, benefits, and comparison to partial application.

nth Node from the End of a ListHow to remove the Nth node from the end of a linked list in TypeScript. Here we break down and explore a simple double‑pass and an efficient single‑pass method.

How to build custom directives in Angular when DOM behaviour belongs outside a component, and how to keep selectors and scope readable in larger templates.

Why Gatsby and Contentful worked well together for static sites, what made the model productive, and why teams later reassessed build time and fit.

A candid look at the OWASP Top Ten for web engineers, covering the 2021 risks, front‑end boundaries, platform decisions, and practical next steps.

Distinguishing two approaches to detect palindrome numbers: the intuitive string method vs. the optimised mathematical technique, highlighting their merits.

Build design systems for web apps with Figma tokens, Storybook components, npm packages, release discipline, supply‑chain care, and team adoption.

Caching strategies for data fetching in Next.js, including force‑cache, revalidation, stale data trade‑offs, and the debugging traps teams hit in production.

Higher‑Order Components (HOCs) in React wrap components to enhance functionality. Here, I explore how HOCs work, common use cases, and when to use them.

defineProperties()Object.defineProperties() gives you fine‑grained control over JavaScript objects. This guide covers descriptors, defaults, and practical use cases.

map() MethodUse JavaScript map() to transform arrays and render JSX lists, with callback syntax, return values, practical examples, and readability tips in real code.

Explore Angular standalone components, what they replace, where NgModules still matter, and how to structure modern Angular applications cleanly.

The JavaScript event loop explained clearly, including tasks, microtasks, rendering, and why async code can still feel surprising under pressure.

Angular dependency injection explained clearly, from injector scopes and tokens to practical service design, testing boundaries, and application structure.

Explore the concept of short‑circuiting in software development, with a focus on its application in JavaScript using logical operators (AND `&&` and OR `||`).

How to use Vue Teleport for modals and portals, whilst keeping overlays accessible, maintainable, correctly layered, and out of awkward DOM nests.