RSSAmplifier

Blog

Philip Walton

philipwalton.comRSS feed ↗44 posts

Latest posts

The State of ES5 on the Web

Dynamic LCP Priority: Learning from Past Visits

Performant A/B Testing with Cloudflare Workers

My Challenge to the Web Performance Community

Smaller HTML Payloads with Service Workers

Cascading Cache Invalidation

Using Native JavaScript Modules in Production Today

KV Storage: the Web's First Built-in Module

Idle Until Urgent

Page Lifecycle API

First Input Delay

Responsive Components: a Solution to the Container Queries Problem

Why Web Developers Need to Care about Interactivity

Deploying ES2015+ Code in Production Today

How We Track Pageviews Is All Wrong

The Google Analytics Setup I Use on Every Site I Build

The Dark Side of Polyfilling CSS

Loading Polyfills Only When Needed

Untangling Deeply-Nested Promise Chains

Learning How to Set Up Automated, Cross-browser JavaScript Unit Testing

Houdini: Maybe the Most Exciting Development in CSS You've Never Heard Of

Why I'm Excited About Native CSS Variables

Do We Actually Need Specificity In CSS?

How to Become a Great Front-End Engineer

Extending Styles

Side Effects in CSS

Normalizing Cross-browser Flexbox Bugs

Measuring Your Site's Responsive Breakpoint Usage

The Dangers of Stopping Event Propagation

Stop Copying Social Code Snippets

Implementing Private and Protected Members in JavaScript

How to Find Qualified Developers

Interviewing as a Front-End Engineer in San Francisco

Solved by Flexbox

Decoupling Your HTML, CSS, and JavaScript

Why I Test Private Functions In JavaScript

How to Unit Test Private Functions in JavaScript

Introducing HTML Inspector

CSS: Everything is Global and How to Deal With It

Dynamic Selectors

Defending Presentational Class Names

The Future of OOCSS: A Proposal

What No One Told You About Z-Index

CSS Architecture