Search
There is No Normal
12.12.2020
This year I learned, or relearned maybe, that “normal” is subjective at best, and pretty misleading otherwise. If this forsaken year has taught us anything, it’s that there is no such thing as normal. Things change. People adapt. Everything is relative to everything else.
Besides being quite...
Overlaying Video With Transparency While Wrangling Cross-Browser Support
8.12.2020
As websites are becoming more and more dynamic when it comes to design, there is sometimes a need to incorporate complex, animated elements. There are many ways to do that from CSS transitions to 3D rendering on canvas, and animated SVG. But it is often easier to use a <video> since they...
Cloudinary Fetch with Eleventy (Respecting Local Development)
4.12.2020
This is about a wildly specific combination of technologies — Eleventy, the static site generator, with pages with images on them that you ultimately want hosted by Cloudinary — but I just wanna document it as it sounds like a decent amount of people run into this situation.
The deal:
Cloudinary...
Happier HTML5 form validation in Vue
3.12.2020
It’s kind of neat that we can do input:invalid {} in CSS to style an input when it’s in an invalid state. Yet, used exactly like that, the UX is pretty bad. Say you have <input type="text" required>. That’s immediately invalid before the user has done anything....
console.log({ myVariable });
19.11.2020
I think this might be my most popular tweet of all time, but I’m not sure how to verify that these days. I’ll restate this neat little trick here because blogging is cool and fun.
I used to do this a lot while debugging JavaScript:
console.log("myVariable: ", myVariable);
But now I...
Logical layout enhancements with flow-relative shorthands
16.11.2020
Admission: I’ve never worked on a website that was in anything other than English. I have worked on websites that were translated by other teams, but I didn’t have much to do with it. I do, however, spend a lot of time thinking in terms of block-level and inline-level elements....
Chapter 5: Publishing
9.11.2020
Not long after HotWired launched on the web in 1994, Josh Quittner wrote an article entitled “Way New Journalism” for the publication. He was enthusiastic about the birth of a new medium.
I’m talking about a sea change in journalism itself, in the way we do the work of reporting and presenting...
Getting the WordPress Block Editor to Look Like the Front End Design
4.11.2020
I’m a WordPress user and, if you’re anything like me, you always have two tabs open when you edit a post: one with the new fancy pants block editor, aka Gutenberg, and another with a preview of the post so you know it won’t look wonky on the front end.
It’s no surprise that...
Regulation will keep PayPal's new crypto services from looking anything like crypto
21.10.2020
For now, PayPal's crypto payments are more about satisfying regulators than providing users with crypto capabilities
Run Gulp as You Open a VS Code Project
13.10.2020
When I open my local project for this very site, there is a 100% chance that I need to run this command before anything else: gulp. I set that up fresh less than a year ago so I’m on the latest-and-greatest stuff and have my workflow just how I like it. I did a few more tweaks a few months...
Parsel: A tiny, permissive CSS selector parser
2.10.2020
If you’ve ever thought to yourself, gosh, self, I wish I could have an Abstract Syntax Tree (AST) of this CSS selector, Lea has your back.
If you’ve ever thought that same thing for an entire CSS file, that’s what PostCSS is, which has gone v8. PostCSS doesn’t do anything...
Did Ethereum Learn Anything From the $55M DAO Attack?
20.9.2020
Matthew Leising's new book, "Out of the Ether," tells the story of the attack that almost brought down Ethereum. Here he talks with Dan Kuhn
Weaved Webs
17.9.2020
There is a bit of an irony with Jamstack.
The concept is simple: you put pre-rendered, static files on web hosting (a CDN) designed to do that well. That’s it. If you need to do more, anything you do from there is done with client-side JavaScript, which is likely talking to serverless...
SushiSwap GM says "Talk doesn't mean anything and code shows everything"
5.9.2020
Skepticism is always wise in the Blockchain space, even if a project turns out to be on the level
How to Use CSS Grid for Sticky Headers and Footers
2.9.2020
CSS Grid is a collection of properties designed to make layout easier than it’s ever been. Like anything, there’s a bit of a learning curve, but Grid is honestly fun to work with once you get the hang of it. One area where it shines is dealing with headers and footers. With a little...
First Mover: Anything-Goes Token Market Repudiates Rich-Only Venture Capital Club
24.8.2020
Venture capital is no longer just for the rich, as crypto markets let traders bet on early-stage digital-asset startups, risks included
JavaScript Fatigue
6.8.2020
From Nicholas Zakas’ newsletter, on how he avoids JavaScript fatigue:
 I don’t try to learn about every new thing that comes out. There’s a limited number of hours in the day and a limited amount of energy you can devote to any topic, so I choose not to learn about anything...
Bold on Hover… Without the Layout Shift
27.7.2020
When you change the font-weight of a font, the text will typically cause a bit of a layout shift. That’s because bold text is often larger and takes up more space. Sometimes that doesn’t matter, like a vertical stack of links where the wider/bolder text doesn’t push anything...
New Ruling Classifying Bitcoin as ‘Money’ Isn't Anything Special
24.7.2020
A D.C. court ruled that Bitcoin is money during a recent legal case, although the classification in this context already exists under legal expectations in much of the country
How to delete all node_modules directories from your computer
8.7.2020
Nice tip from Chris Ferdinandi:
My node_modules directories contained 50mb of stuff on the small side, and over 200mb of files in some cases. Over a few dozen projects, that really adds up!
Two dozen projects with 200 MB worth of node_modules? That’s nearly 5 GB of space for...