
Git is a Little Bit Like a Diary
Git is version control, but it also gives you a running record of how work evolved. This article uses that diary analogy to make Git less abstract.
Articles from more than two decades of building, rebuilding, debugging and leading web projects.

Git is version control, but it also gives you a running record of how work evolved. This article uses that diary analogy to make Git less abstract.

Freelance front‑end developers can earn a wide range of salaries depending on their skills, experience, location, and the type of projects they take on.

Lead and senior front‑end roles overlap, but they are not the same job. This article looks at delivery, ownership, mentoring, and decision‑making.

.htaccessBlock bad bots with .htaccess and robots.txt, including why unwanted crawlers waste bandwidth, where rules help, and what to treat with caution too.

What front‑end development means, what front‑end developers actually build, and how HTML, CSS, JavaScript, accessibility, and performance fit together.

Front‑end web development explained through HTML, CSS, JavaScript, UI work, browser behaviour, back‑end integration, and what front‑end developers do.

db‑connectIn CSS, db‑connect is a misunderstood but immensely useful technique for connecting to databases directly from vanilla CSS in order to access stored properties.

How Incremental Static Regeneration affects CMS publishing freshness, including rebuild timing, stale pages, previews, and editorial expectations.

Set up Gatsby on an M1 MacBook Air with Xcode, Homebrew, NVM, Node.js, vips, Yarn, the Gatsby CLI, dependency reinstall steps, and native image dependencies.

Compare React functional, class, and pure components, including reusable component design, presentation boundaries, legacy patterns, and when each fits.

What a software engineer does day to day, from understanding requirements and writing code to testing, maintenance, teamwork, and long‑term system improvement.

It is fair to say that the programming and technology job markets are fairly buoyant, and now has never been a better time to make a career change.

Preview Mode in Next.js explained with a headless CMS, draft content workflows, preview cookies, and how editors can see unpublished pages safely.

Website theft is frustrating, but there are practical ways to spot it and respond. This guide covers copied text, copied code, and escalation options.

Sort object keys in JavaScript by extracting entries, ordering keys, rebuilding objects, and understanding when predictable key order is useful clearly.

Plan CMS preview in Gatsby workflows by setting expectations around draft content, preview builds, webhooks, deployment timing, and editor confidence.

Disable Gatsby telemetry cleanly, with context on what anonymous analytics collect, why teams opt out, and how the setting affects local and CI work.

p Tags from Contentful List ItemsOne of the quirks of rendering Rich Text from Contentful is that list items come wrapped in paragraph <p> tags. Fortunately, this is a simple one to resolve.

Render CMS rich text safely in Gatsby and React with node mapping, link handling, embeds, headings, validation and failure‑safe fallbacks.

Contentful rich text and Gatsby work well together until code snippets enter the picture. This guide shows how to render inline and block code cleanly.

Why Gatsby and Contentful can still work well for static sites, where the pairing becomes strained and when migration pressure is worth reviewing.