Extending Visual Studio Code, part two July 1, 2026 Shortly after building my first Visual Studio Code extension, a common development task prompted me to build another one. Read more about Extending Visual Studio Code, part two
Host Your Google Fonts Locally June 10, 2026 If your website uses Google Fonts, there are advantages to hosting them locally Read more about Host Your Google Fonts Locally
Extending Visual Studio Code May 25, 2026 Visual Studio Code is a class-leading code editor, but it has at least one surprising shortcoming. Read more about Extending Visual Studio Code
Cleaning up file extensions March 9, 2026 It's become increasingly rare to see web page addresses with a file extension, such as ".html". It's a good idea to clean these up, and it's easy to do. Read more about Cleaning up file extensions
Deceased social media users March 2, 2026 LinkedIn routinely posts birthday and anniversary notifications for its users, even when those users have been dead for years. They should do better. Read more about Deceased social media users
Shifting layouts, and how to deal with them February 22, 2026 The technical term Cumulative Layout Shift is better known as: "when the page you're on jumps around as it's loading, and it annoys you." Read more about Shifting layouts, and how to deal with them
The HTML button element February 11, 2026 The button tag is unusual in that, when used outside of a form, it has no default behaviour. This conflicts with progressive enhancement principles. Read more about The HTML button element
Some thoughts on AI November 23, 2025 Most of what I read about AI these days is bad. Does it have anything valuable to offer, and can it be used responsibly? Read more about Some thoughts on AI