
Deep‑Cloning vs. Shallow‑Cloning in JavaScript
Not all object copies in JavaScript behave the same way. Explore the difference between deep‑cloning and shallow‑cloning, when to use each, and common pitfalls.
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.

Not all object copies in JavaScript behave the same way. Explore the difference between deep‑cloning and shallow‑cloning, when to use each, and common pitfalls.

A practical guide to JavaScript iterators and generators, with lazy sequences, custom iteration, generator control flow, and the trade‑offs behind both.

How to choose between a freelancer, agency, or lead‑level contractor for serious web platform work, with a focus on risk, ownership, and delivery.

Flatten arrays in JavaScript with `flat()`, depth control, recursion, stack‑based helpers, and clear examples of how non‑array values are handled.

How to write effective Angular unit tests that focus on behaviour, TestBed boundaries, realistic setup, and assertions that survive refactoring over time.

master or mainClean up local Git branches safely with commands that keep main or master, explain ‑d versus ‑D, and avoid accidental remote branch mistakes in busy repos.

Find the weekday from a JavaScript date with Date, UTC alternatives, modulo arithmetic, parsing caveats, daylight saving time, and readable day names.

instanceofUncover the differences between JavaScript's `instanceof` and `typeof` for type checking, with practical examples and insights on when to use each operator.

A practical guide to implementing authentication in Next.js with NextAuth.js, including sessions, callbacks, route protection, and router‑specific trade‑offs.

reduce() in JavaScriptUnderstand JavaScript reduce() with accumulator patterns, initial values, practical examples, readability trade‑offs, and when reduce() genuinely helps.

How to build a Progressive Web App with Angular, including service workers, caching, offline behaviour, installs, and the trade‑offs behind the defaults.

{} isn't Equal to {}In JavaScript two empty objects are not equal. One of my go‑to interviewing questions, here I offer an explanation and strategies to compare object contents.

Pure functions make JavaScript easier to test, reason about, and reuse. This guide explains what purity means and why it matters in everyday code.

The Vue 3 Composition API explained with practical TypeScript examples, refs, composables, reactivity, and when the pattern genuinely helps larger components.

Angular change detection explained through zone triggers, OnPush, signals, template cost, manual checks, and practical rendering optimisation at scale.

Validate parentheses input in TypeScript with a stack, checking bracket order, matching pairs, real parser‑style use cases, and alternative approaches.

.then() in Modern JavaScript.then() still matters in modern JavaScript. This guide explains promise chaining, return values, and why Promise.prototype.then() remains useful.

Understanding `stopPropagation` and `preventDefault` is key to handling events in JavaScript. Here, I explore their differences and when to use each.