
React Fragments Explained
React Fragments explained through empty tags, keyed fragments, semantic markup, unnecessary wrapper divs, grouped list output, and layout side effects.
Articles from more than two decades of building, rebuilding, debugging, and leading web projects.

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.

Use passive event listeners safely: learn when touch and wheel handlers block scrolling, when preventDefault() is required, and why handler cost is separate.

::before and ::after Pseudo‑Elements in CSSUsing the :before and :after pseudo‑elements in CSS for styling and content insertion. Here, I cover syntax, practical examples, and best practices.

Follow HTML, CSS, and JavaScript through the browser's critical rendering path, then find the resources delaying the first useful render.

Promise.all() vs. Promise.race() in JavaScriptPromise.all() vs. Promise.race() in JavaScript, with async examples, error behaviour, timeouts, practical use cases, and common mistakes in real code.

JavaScript generators explained for beginners, covering generator function syntax, yield, paused execution, iteration patterns, and where generators still help.

Polyfills replicate modern JavaScript methods for compatibility. Here, I explain polyfills and show how to build key examples in unsupported environments.

Error handling in JavaScript is vital for building robust applications. Here, I explore modern patterns like try‑catch, async/await, and global error handlers.

overflow PropertyUnderstand the CSS overflow property, including visible, hidden, scroll, auto, x, and y control, scrollbars, accessibility, and mobile‑browser quirks.

JavaScript callbacks can run synchronously or later; promises represent one eventual result. I explain their differences, error handling and asynchronous flows.