
Mutation vs. Immutability in JavaScript Arrays and Objects
Mutation and immutability in JavaScript explained through arrays, objects, push(), splice(), shared references, UI bugs, and safer update patterns.
Articles
Development is the broadest category in my writing, so it works as the main archive rather than a narrow subject label. It brings together implementation notes and technical decisions, with delivery lessons from across the rest of the site.

Mutation and immutability in JavaScript explained through arrays, objects, push(), splice(), shared references, UI bugs, and safer update patterns.

Array.includes() vs. indexOf() in JavaScriptCompare Array.includes() and indexOf() in JavaScript, including boolean checks, returned positions, NaN handling, readability, and membership tests.

Use CSS reduced‑motion preferences without losing content or feedback, with static‑first and targeted override patterns bounded to Safari‑first 2018 support.

React Portals explained with modals, overlays, and tooltips, including DOM placement, event bubbling, accessibility concerns, and when portals help.

Compare CSS and JavaScript animations, when to use each, and how to protect performance and accessibility with reduced motion and efficient properties.

Compare CSS transitions and keyframe animations, including hover effects, loading states, timing control, performance, and when each approach fits.

React Fragments explained through empty tags, keyed fragments, semantic markup, unnecessary wrapper divs, grouped list output, and layout side effects.


Understand CSS media queries for responsive design, including screen conditions, mobile‑first, and desktop‑first approaches, breakpoints, and device traits.

Set front‑end performance budgets for page weight, scripts, images, requests, Core Web Vitals, and user experience before delivery pressure erodes them.

Improve website performance with practical HTML, CSS and JavaScript checks, from assets and rendering to scripts, measurement and Core Web Vitals.

See how DOM writes followed by geometry reads force synchronous layout, why loops amplify the cost, and how read‑first batching preserves the result.

Cache-Control and ValidatorsUnderstand how Cache‑Control, ETag, Last‑Modified, Vary, and conditional requests decide whether browsers reuse or revalidate HTTP responses.

@keyframesCSS @keyframes enables animations by defining style changes over time. Here, I explain how it works with examples, properties, and cross‑browser support.

extends and super in JavaScript ClassesExtends and super in JavaScript classes explained with inheritance examples, constructor rules, method overriding, and the trade‑offs of class hierarchies.

This guide explores JavaScript essentials for freelance web developers. It covers fundamental concepts, practical examples, and tips for mastering JavaScript.

React 16 passes unknown attributes to the DOM. See how component‑only props leak through JSX spreads, what React 15 did, and how to consume them.

Whilst understanding any computing language comes with practice and exposure, there are some areas of CSS that can flummox even the most seasoned of developers.