jQuery 4

By Chris Coyier on

The GOAT JavaScript library jQuery has gone 4.0 coinciding with, from what I hear, was a lovely reunion party. It’s not wildly different, but it’s gone full ESM and dropped a bunch of old stuff. Minified and gzipped it’s 27.6 kB. Version 3.7.1, the last before this release, was 30.5 kB — so it’s nice […]

Glowing Gradient `hr`

By Chris Coyier on

I ran across this website Very Good Components the other day and thought it was a neat idea to have a design gallery that wasn’t whole websites but individual components. They actually went a bit further and have configurable code for them. Here’s a Glowing Gradient Divider. I decided to remake it as an <hr> […]

Convert & Compress

By Chris Coyier on

My go-to local app image optimizer has long been ImageOptim. It’s Mac-only (and free), but they suggest alternatives for other platforms. I reach for ImageOptim usually when I want to optimize a whole bunch of images in a batch. For one-offs, you can’t do much better than Squoosh, a great progressive web app (PWA). I […]

Firefox Goes CSS Modules

By Chris Coyier on

Firefox 147 just came out, and the flagship developer feature is clearly anchor positioning support, bringing that “to the baseline” as we’re supposed to say these days. That rules, but I’m also very hyped about CSS module scripts. Remember, they are a way of importing a stylesheet in JavaScript, that is, the only decent way […]

What Actually Makes You Senior

By Chris Coyier on

Matheus Lima on what makes you senior: But if you strip away the title, the salary, and the years of experience, there’s one core skill that separates senior+ engineers from everyone else: reducing ambiguity. Everything else flows from that.

Zod + TypeScript: Schema Validation Made Easy

By Chris Coyier on

I can easily imagine a job interview question being “What’s the difference between TypeScript and Zod and in what circumstances do you need each?” They are both type validation libraries. Would you ever need both? The short answer is that TypeScript is great but can’t help you at runtime, where you might get data from […]