Meteor

10 Years of Meteor is a very interesting retrospective from Sacha Greif. Calling it a retrospective might make it sound like Meteor is dead, but it’s not. I’d say it’s fallen out of favor, but that’s not quite right either: Meteor was never particularly popular. What it was: pret … | Continue reading


@chriscoyier.net | 2 years ago

Open Graph Blues

Terence notes that the Open Graph Protocol is… if not dead, abandoned. That sucks, because OGP is still clearly very useful. It’s this HTML stuff: For example, Apple’s iMessage uses those tags to make rich previews in message threads. People love the concept of rich previews and … | Continue reading


@chriscoyier.net | 2 years ago

Yaml, JSON, Toml

A great bit of technical writing from Ruud van Asseldonk: The yaml document from hell. Ruud shows one bit of yaml configuration and then shows off many problems that arise all over it. It is mind-blowing to me how nuanced and tricky it all is, to the point that I’m nearly convinc … | Continue reading


@chriscoyier.net | 2 years ago

CSS Color Manipulation Functions, Please Save Us From The CSS Custom Property Gotcha

I think it’s so annoying that this doesn’t work: Hopefully, you can see what I’m trying to do there. The links are a special color, and in their hover/focus state, I want to keep that color but change just the lightness. That seems like bread-and-butter CSS custom properties stuf … | Continue reading


@chriscoyier.net | 2 years ago

Un-Encoded SVG Backgrounds in CSS (Also, Writing CSS in CSS lolz)

I found this little aside in a Charlotte Dann article interesting: Historically you’d have to URL-encode the SVG but I found that in all modern browsers encoding is unnecessary as long as it’s free of #s (HSL for the win!). Encode your files with this tool for extra safety. So yo … | Continue reading


@chriscoyier.net | 2 years ago

Philips Hue Sync

When I picked up my new TV at Best Buy recently, first, I strolled through the TV section for kicks. A Philips Hue Strip ($256) caught my eye and I went for it. You use sticky pads to stick it to the back of your TV and it makes colored light. The whole deal with […] | Continue reading


@chriscoyier.net | 2 years ago

Musing Upon an [alt] Text Badge on Images

The Mastodon instance I’m on has a little custom CSS applied to it which shows a visual [alt] badge on images that have an alt attribute: And as a little light shaming, a [no alt] badge on images that don’t: Sorry about mine there. It appears there is some kind of bug with the Sh … | Continue reading


@chriscoyier.net | 2 years ago

You Like It Because You Know It

If you can play a song on an instrument, you probably like that song. You’ve gotten to know it. You’re part of each other now. Tech can be like that. I have my own little bag of technologies that I know fairly well, so I like them. I like them a little more than technologies […] | Continue reading


@chriscoyier.net | 2 years ago

A Very Basic Scraper/Aggregator Site in Next.js with Go Cloud Functions and Supabase

Wouldn’t it be neat to have aggregated data (for a website, daily email, push alert, etc) of kids events in our surrounding area so we know about them right away? — My wife, possibly salty we missed out on Bluey Live tickets in Portland That’s proper nerd sniping on a Saturday mo … | Continue reading


@chriscoyier.net | 2 years ago

OK, OKLCH 👑

My brain has a strong desire to crown a winner of technological choices so I can choose it when options come up, or at least have a strong, consistent algorithm for the choosing. So now that CSS has a bunch of new color options, my brain is trying to do that crowning. It is helpe … | Continue reading


@chriscoyier.net | 2 years ago

What does it take to make a JavaScript framework?

Dave made a list. It kinda sounds like he’s kidding, but no — that’s what it takes. And because these exist in the front-end and open-source space, the ability for organizations to “make it” is tough. You likely need the VC (or a corporate overlord) to have the resources to do al … | Continue reading


@chriscoyier.net | 2 years ago

Optimism Hour

Tom MacWright talks about some of the decidedly good things happening in web development. In the not-so-recent past, when I was writing server-side code, I’d have to use a module like request to handle HTTP requests, the querystring builtin or the qs module for decoding query str … | Continue reading


@chriscoyier.net | 2 years ago

Dark Mode via a Smallish Script in the Head, Avoiding FART

One of the ways you can offer Dark Mode / Light Mode on a website is to totally honor the system preference in CSS alone. So like… That’s fine, I suppose, but it’s not very fun. It’s way more fun to have a UI toggle that users can use! Plus, it’s possible that even if […] | Continue reading


@chriscoyier.net | 2 years ago

HTML Attributes For Very Specific Third-Party Reasons

From Nicholas C. Zakas’ newsletter: The QA manager for my team at Yahoo stopped by my cube one day. “We need you to stop changing CSS classes in the HTML,” she said. I found this request odd. After all, we use CSS classes to apply styles to different HTML elements. I couldn’t ima … | Continue reading


@chriscoyier.net | 2 years ago

Coding Fonts I’d Actually Use

I made a microsite one time that showcased fonts designed for coding. I had some standards for it — it wasn’t just any ol’ monospace font. They were all monospace and of good quality, and in most cases, specifically designed with code in mind. Still, there were 46 of them all tol … | Continue reading


@chriscoyier.net | 2 years ago

Scalable CSS

What is the best scalable CSS approach? First, what does scalable CSS mean? To me: So what is that approach? I dunno — that’s for you to choose. I will say that hand-written vanilla CSS files are a perfectly fine option. You can achieve all of this, including the scaling part, wi … | Continue reading


@chriscoyier.net | 2 years ago

Chokepoint

Cory Doctorow: Theoretically, there’s a way to avoid the app store chokepoint: web apps. These are part of the HTML5 standard, and if a browser fully implements that standard, then developers can make a self-encapsulated “app” that’s delivered in the browser, complete with an ico … | Continue reading


@chriscoyier.net | 2 years ago

Intuitive List Item Transitions with the View Transitions API

While I was trying to remember the name of this concept where a list of items uses animation to “open up” and make room for another list item to animate in, I thought of the name “Intuitive Transitions.” The idea is that your brain understands exactly what has happened to this li … | Continue reading


@chriscoyier.net | 2 years ago

Luck

It’s a common sentiment: The harder you work, the luckier you get. It’s a book, but I’m sure the orignial quote is like Mark Twain or something. I’ll admit it resonates with me. When I’m really working hard on the right things, for all the world to see, good things tend to happen … | Continue reading


@chriscoyier.net | 2 years ago

Coyier’s Edge Law

Brian Rinaldi: Does the Serverless Edge Live Up to the Hype? Your edge function – or middleware as some frameworks call it – will be called when the request comes in before it hits the origin server. It can modify that request, redirect it – so no need for slower server-side or c … | Continue reading


@chriscoyier.net | 2 years ago

In The Stacks (Massie’s Tune) by Robin Sloan

Wonderful story from Robin where an 83-year-old woman who learns to play “the Big Red Synthesizer, enormous, as long as a Fiat” at the public library. Interestingly, commissioned by a design studio. Doubling the coolness, a modern, functional, web-powered synthesizer forms the he … | Continue reading


@chriscoyier.net | 2 years ago

Browserslist Visualized

Have you seen the Browserslist concept? You make a .browserslistrc file at the root of a project, or a browserslist key in a package.json file, which indicates what browsers you want to support. Then any other code processing tool on that project and refer to it to make decisions … | Continue reading


@chriscoyier.net | 2 years ago

Pocket Casts is Open Source

I’ve used Pocket Casts as my preferred podcast app for… I dunno a long time I don’t really remember using anything else. I like it. It was July 2021 when Automattic bought it. Friggin wildcard acquisition right? Although Matt has said: Automattic is structured a bit like a holdin … | Continue reading


@chriscoyier.net | 2 years ago

A Perfect* CI Process

When you commit and push code to a Git repository, it can kick off a series of events. A pipeline for your software, as it were. This whole process is often called “continuous integration,” or CI for short. It’s pretty crucial to modern software development and falls under the um … | Continue reading


@chriscoyier.net | 2 years ago

The Great Divide Was Indeed Divisive

Zach reflects on 17 years in the game and my essay The Great Divide, four years old this month: The Great Divide really resonated with me. I keep coming back to it and I do think it continues to accurately describe what feels like two very distinct and separate camps of web devel … | Continue reading


@chriscoyier.net | 2 years ago

My Helvetica& Shirt

I don’t know what step through debugging even is ok. | Continue reading


@chriscoyier.net | 2 years ago

Friggin Lasers

I have this (extremely loose) idea for an activity in which a laser beam shines onto a gameboard, parallel to the board, and you have to use mirrors to reflect the beam toward an end goal. Maybe you’re solving a logic puzzle of sorts, where you are reaching the goal with limited … | Continue reading


@chriscoyier.net | 2 years ago

Getting The Most Value Out Of An Answer

Say someone asks you a question. They walk up to your desk, send you an email, ping you on Slack, whatever. The answer needs to be beefy. You could answer with your mouth, respond to their email, or DM them back. That’s totally fine and probably the most socially acceptable way t … | Continue reading


@chriscoyier.net | 2 years ago

I didn’t discover that grid-template-rows trick for animating to auto in CSS, that was Nelson Menezes.

When I was on Alex Trost’s holiday stream, real quick at the end, I showed a way that CSS can animate to auto dimensions. This is a hell of a trick and it’s pretty great there is a way to get it done in without needing JavaScript to measure things ahead of time. Ideally, CSS […] | Continue reading


@chriscoyier.net | 2 years ago

Ten Years Since NYT’s “Snow Fall”

Sarah Bahr at NYT notes that Snow Fall is 10 years old now. It was a big smurfing deal in the crossover world of web design and journalism. It was like the concept of “art-directed blog posts,” but for news stories, taken to an 11. Here’s a collapsed version of how it all played … | Continue reading


@chriscoyier.net | 2 years ago

A Big Pile of Personal Developer & Designer Blogs in an OPML File

I’m hesitant to share this. I think RSS is most valuable when you slowly add people to your feed reader of choice that you have found and you know you like. A firehose of additions might turn you off. Too much noise. But on the flip side, you might find reading RSS too boring whe … | Continue reading


@chriscoyier.net | 2 years ago

I feel contractually obliged to link to a post like “Bring back personal blogging”

Monique Judge for The Verge: The biggest reason personal blogs need to make a comeback is a simple one: we should all be in control of our own platforms.  If what is happening on Twitter hasn’t demonstrated it, our relationship with these social media platforms is tenuous at best … | Continue reading


@chriscoyier.net | 2 years ago

Feeds Can Be Whatever

It’s just timestamped HTML. As I recently wrote about feeds. An RSS feed (or JSON feed) isn’t “just for blog posts”, as nobody would be blamed for thinking. I just saw this new CMS called microfeed. One thing I like is how it just digs into Cloudflare-specific tech in a super opi … | Continue reading


@chriscoyier.net | 2 years ago

What does it look like for the web to lose?

There is always some degree of tension between “native apps” and “the web” as platforms. If you’re going to write a native app for Android devices, well, I’ll quote from the Android Developer documentation: Android apps can be written using Kotlin, Java, and C++ languages. The An … | Continue reading


@chriscoyier.net | 2 years ago

There Can Be Money in Blogging

When you hear me endlessly prattle on about how you should have your own site, publish your own feed, and the general power of writing, I mean it. But why? What’s the point of writing on your own site? So many. Not to mention it’s fun! But there can be money in blogging too: You … | Continue reading


@chriscoyier.net | 2 years ago

The Sony A95K is a Pretty Darn Nice TV

I wrote about The Perfect TV for 2022 recently, but it wasn’t a shout-out to any particular TV. It was just a list of things I think would be ideal in a TV these days. Some of the things I listed are just a pipe dream, like a TV that has literally no user-facing software […] | Continue reading


@chriscoyier.net | 2 years ago

Farewell, An Event Apart

I friggin missed what turned about to be the very last An Event Apart (AEA). No tears though, just a salute to a legendary run. September 2013 was my first AEA ever, in Austin, Texas. It was a huge moment for me. In my mind, AEA was the top of the top for our industry […] | Continue reading


@chriscoyier.net | 2 years ago

Another Way to Think About The Spectrum of Testing from Alex Riviere

I tried to disambiguate Integration Testing from End-to-End Testing the other day. It was helpful for my own brain to finally have a way to bring a meaningful difference between these two things. I wrote: Unit and end-to-end tests are the extremes on two sides of a spectrum. On t … | Continue reading


@chriscoyier.net | 2 years ago

Motivation and Kickstarter

It was over 10 years ago now that I did my first and only Kickstarter campaign. The point of it was to shoot a series of screencasts on rebuilding/redesigning CSS-Tricks itself, a WordPress site, and giving the backers access to those videos. Meta, as even building those access c … | Continue reading


@chriscoyier.net | 2 years ago

Watch Out for Low Resolution Writing

From Karl Sutt’s post How to communicate effectively as a developer, two images: The images on the left are what Karl calls “low resolution” writing, while the right is “high resolution.” Pretty obvious when you look at it here, but high resolution essentially means more specific … | Continue reading


@chriscoyier.net | 2 years ago

In Which I Try To Recreate The Vibe of Backstreet Girl as Played on a Old Vinyl

A few weeks back we braved a snowy 3-hour drive up to Hood River so we could ride the Christmas Train. We arrived the night prior and stayed the night at the absolutely lovely Hood River Hotel right downtown and smack dab next to the train station. I booked a suite room just in c … | Continue reading


@chriscoyier.net | 2 years ago

How to Play Celebrity

I learned the game “Celebrity” ages ago at a conference afterparty. I always struggle to remember how it works, but I often think about it when the opportunity to play a game with a group of people arises because it’s fun and can be played easily with minimal equipment. I’m going … | Continue reading


@chriscoyier.net | 2 years ago

Infinite Canvas

A Discord friend shared this link the other day: infinitecanvas.tools: The infinite canvas is the foundation of a new class of apps from design tools, to code editors, and workspaces. So like Figma. You essentially have unlimited space in all four 2D directions to create things a … | Continue reading


@chriscoyier.net | 2 years ago

Bring Back Blogging

Ash Huang & Ryan Putnam on a microsite: For the month of January, we’ll make a pact to blog a few times to get into the habit, and create a directory of all the creators who participate. Readers can then find new makers to follow before we all scatter to the winds. Win-win! I’m a … | Continue reading


@chriscoyier.net | 2 years ago

Writing, the Cornerstone of Amplification

The only way for us to move forward is to encourage and amplify the work of people who are willing to learn, to see and to commit to making things better. It turns out that reading and writing are the cornerstones of this practice, now more than ever. These are the two skills mos … | Continue reading


@chriscoyier.net | 2 years ago

Independent Type Foundry Advent Calendar

Matthias Ott has been linking up Type Foundries all month. Pretty rad idea! I’m just an absolute sucker for buying type sometimes, especially right now as I’ve happily moved to Typeface 3 and I enjoy using it. Plus, I’ve been slowly evolving this sites design and it’s a very diff … | Continue reading


@chriscoyier.net | 2 years ago

AI-driven brand collaboration engine

Ya know, like: I was hoping to make my dream come true with Advil & Legacy, alas, neither is available, so I had to request Taco Bell & The North Face. Don’t read too much into “engine”, I think dude is probably just using Stable Diffusion or DALL•E and attempting to get somethin … | Continue reading


@chriscoyier.net | 2 years ago

Tango Browser Extension

I was reading Hafsah Lakhany Ismail’s Our favorite Chrome extensions of 2022 post the other day and made it a point to try the ones that looked interesting to me. There are some good ones in there! One standout to me was Tango. They say: Create how-to guides, in seconds. They are … | Continue reading


@chriscoyier.net | 2 years ago