
The Difference Between JavaScript Callbacks and Promises
JavaScript callbacks execute functions after tasks, whilst promises offer structured asynchronous handling. I explore their differences, benefits, and uses.
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.

JavaScript callbacks execute functions after tasks, whilst promises offer structured asynchronous handling. I explore their differences, benefits, and uses.

Array.find(), Array.some(), and Array.every() in JavaScriptArray.find(), Array.some(), and Array.every() in JavaScript explained clearly, including return values, use cases, and when each method fits best.

CSS transitions allow us to create smooth animations between states, enhancing user experience. Here, I discuss how to use transitions with practical examples.

Object.is() vs. Strict Equality in JavaScriptCompare Object.is() and strict equality in JavaScript, including NaN, signed zero, loose equality contrast, and when precision matters in real code.

fetch Blocked?CORS explained for JavaScript fetch errors, including same‑origin policy, server opt‑in, preflight requests, credentials, and what front‑end code can fix.

Use BEM and Sass together for component CSS with clear naming, shallow nesting, modifiers, reusable mixins, and less fragile front‑end styling over time.

Create and dispatch custom events in JavaScript with CustomEvent, detail payloads, bubbling, naming choices, cancellation, and component examples.

CSS is key to delivering responsive, accessible, and visually appealing freelance projects. Here, I explore essential techniques and practices to master CSS.

Organise Sass with partials and mixins so stylesheets stay readable, reusable, easier to change, and less likely to hide component‑level side effects.

Learn how Sass, Less and Stylus extend CSS with variables, nesting, mixins and modular files, alongside their build‑step and learning‑curve trade‑offs.

Object.freeze(), Object.seal(), and preventExtensions()Object.freeze(), Object.seal(), and preventExtensions() explained clearly, including what each allows, what they block, and why shallow locking matters.

visibility: Hiding Elements Without Affecting LayoutCSS visibility hides elements without altering layout. Here, I explain its use cases, differences from opacity, and how it maintains document flow.

opacityCSS opacity controls transparency, from fully opaque to invisible. Here, I explain how it works, its interaction with layout and practical examples.

Optimise HTML markup for SEO and accessibility with semantic elements, heading structure, alt text, clean code, anchor text, and crawler‑friendly structure.

Number.isNaN(), Number.isFinite(), and Number.isInteger() in JavaScriptNumber.isNaN(), Number.isFinite(), and Number.isInteger() explained through strict numeric checks, coercion traps, parsing boundaries, and validation.

Browser and Node.js JavaScript compared through host APIs, globals, modules, async behaviour, DOM access, server APIs, and environment mix‑ups cleanly.

A fairly entry‑level overview of the basics of CSS positioning. Learn how to use static, relative, absolute, and fixed positioning with examples.

Function declarations vs. function expressions vs. arrow functions in JavaScript, including hoisting, this, readability, and when each style fits best.