Avoid duplicate-request & race-condition when creating JavaScript enhanced forms. Cancel previous fetch requests with AbortController.
Read MoreCancel Duplicate Fetch Requests in JavaScript Enhanced Forms This page provides resources for working with CSS Name Colors. It contains Named Color groups, palettes, favorites, and even fun facts.
Read MoreCSS Named Colors: Groups, Palettes, Facts, & Fun JavaScript Promises evaluate eagerly, but sometimes that's a problem. This post covers why and how to create custom lazy-evaluating promises.
Read MorePromises, Thenables, & Lazy-evaluation: What, Why, How My 2022-year-in-review for blogging. It covers my top posts from this year, top all-time posts by traffic, and the insights I’ve gleaned from the data.
Read MoreTop 2022 Blog Hits and What I Learned Learn how to build backend APIs that support progressive enhancement by detecting if a request was submitted with HTML forms or JavaScript.
Read MoreConditional API Responses For JavaScript vs. HTML Forms Learn how the CSS :has() pseudo-class can improve HTML forms through validation hints, conditional content, fancier designs, and more.
Read More5 ways CSS :has() can make your HTML forms even better When choosing between pixels and rems in CSS, you should almost always use rems. It's a simple rule to follow. This article explains why.
Read MorePX or REM in CSS? Just Use REM This is an introduction to Coolify, a project that can deploy custom applications based on Git events. It's similar to a self-hosted Netlify or Heroku.
Read MoreAutomatically Deploy Apps to VPS with Git Triggers & Coolify Learn how to make HTML images better for users with responsive sizes and modern formats without making your life as a developer much harder.
Read More6 Steps to Improve HTML Images For Users & Developers You may be familiar with using devtools to modify a website's HTML. In this blog post, I'll show you two more ways: contenteditable and designMode.
Read MoreEdit Someone Else’s Website: contenteditable & designMode