How to Make GraphQL and DynamoDB Play Nicely Together

January 14th, 2021

Serverless, GraphQL, and DynamoDB are a powerful combination for building websites. The first two are well-loved, but DynamoDB is often misunderstood or actively avoided. It’s often dismissed by folks who consider it only worth the effort “at scale.” That was my assumption, too, and I tried to stick with a SQL database for my serverless…

Fading in a Page on Load with CSS & JavaScript

January 13th, 2021

Louis Lazaris demonstrates a very simple way of doing this. Hide the body (with JavaScript) right away with with a CSS class that declares opacity: 0 Wait for all the JavaScript to execute Unhide the body by transitioning it back to opacity: 1 Like this: CodePen Embed Fallback Louis demonstrates a callback method, as well…

Animating with Lottie

January 11th, 2021

I believe animation on the web is not only fun but engaging in such a way that it has converted site visitors into customers. Think of the “Like” button on Twitter. When you “like” a tweet, tiny colorful bubbles spread around the heart button while it appears to morph into a circle around the button…

Painters Tape and Fault Tolerance

January 8th, 2021

Snipping the top bit of Nicholas C. Zakas’s Top of the Month newsletter (go sign up!), with permission. One of my favorite things in the world is painter’s tape (also called masking tape). It seems like something silly: some tape you put on a wall when you’re painting to avoid getting paint on the wall….

Creating CSS APIs without JavaScript With the datasette-css-properties plugin

January 7th, 2021

Simon Willison has a project called Datasette, an open-source multi-tool for exploring and publishing data. I’m not sure I’m qualified to explain it, but it’s like a tool to make handling data easier and doing more — through the web — with data you have. Like making that data queryable and giving it an API….

Custom Properties as State

January 5th, 2021

Here’s a fun idea from James Stanley: a CSS file (that presumably updates daily) containing CSS custom properties for “seasonal” colors (e.g. spring is greens, fall is oranges). You’d then use the values to theme your site, knowing that those colors change slightly from day to day. This is what I got while writing this:…

Creating Arrays in Hasura

January 4th, 2021

Hasura is one of my favorite ways to create a managed GraphQL API for my applications. I find it easy and straightforward as well as suitable for a wide range of use cases. However, since working with Hasura, I’ve seen the same question come up again and again: how should we make an array? Given…

The End of Adobe Flash

January 4th, 2021

I come to bury Flash, not to praise it, writes Matt May in this excellent thread about the end of Adobe Flash. Not so long ago, web designers used Flash to create striking visuals and animations, and games. But shortly after that, it began to replace HTML and CSS which caused a ton of accessibility…

Give your Eleventy Site Superpowers with Environment Variables

December 31st, 2020

Eleventy is increasing in popularity because it allows us to create nice, simple websites, but also — because it’s so developer-friendly. We can build large-scale, complex projects with it, too. In this tutorial, we’re going to demonstrate that expansive capability by putting together a powerful and human-friendly environment variable solution. What are environment variables? Environment…

Design v18

December 29th, 2020

I redesigned the site! I can never think about the word redesign without also thinking about realigning, from Cameron Moll’s seminal article. I did not start from nothing. This design wasn’t a blank design canvas and empty code editor thing. I doubt any future redesign will be either. I started with what we already had…