Man cereal

Yesterday, even though my son is barely seven years old, toxic masculinity permeated his life and, perhaps permanently and irreparably, stole a small piece of his joy. | Continue reading


@joshcollinsworth.com | 2 months ago

My review of the Nüborn Baby at 3 months

My Nüborn Baby arrived in October, and now that I've had a few months to get used to it, I thought I'd write up a review, in case you were thinking of getting one for yourself. | Continue reading


@joshcollinsworth.com | 4 months ago

2025 Year in Review

A look back on 2025, and all the weird, wonderful things that happened in my year. | Continue reading


@joshcollinsworth.com | 4 months ago

AI optimism is a class privilege

Along the vast divide between AI optimists and pessimists, the main factor in determining which side you fall on may be where you see yourself in the future: above the effects of AI, or beneath them. | Continue reading


@joshcollinsworth.com | 5 months ago

Alchemy

Some thoughts on attempts to create gold out of nothing, and how generative AI, in many ways, mirrors that doomed pursuit | Continue reading


@joshcollinsworth.com | 6 months ago

Titles matter

Is a person who prompts an LLM to generate a website a web developer? And if not, what is the difference, and why does that matter so much? | Continue reading


@joshcollinsworth.com | 8 months ago

The blissful zen of a good side project

One of life's greatest simple pleasures is creating something just for yourself. | Continue reading


@joshcollinsworth.com | 1 year ago

Goodbye, Griff. You were a good boy.

A tribute to the member of our family we lost this weekend. | Continue reading


@joshcollinsworth.com | 1 year ago

Rare words in common phrases, and how to avoid getting them wrong

A running list of uncommon, strange, and/or archaic words embedded in common idioms, to help you type them correctly next time you use them. | Continue reading


@joshcollinsworth.com | 1 year ago

Rare words in common phrases, and how to avoid getting them wrong

A running list of uncommon, strange, and/or archaic words embedded in common idioms, to help you type them correctly next time you use them. | Continue reading


@joshcollinsworth.com | 1 year ago

Things I enjoyed in 2024

Things I watched, read, played, got into, enjoyed, or did and would do again, in 2024. | Continue reading


@joshcollinsworth.com | 1 year ago

The childlike and the childish

It's crushing and disheartening to discover I live in a country where half the adults around me still haven't learned something I'm teaching my kindergartener. | Continue reading


@joshcollinsworth.com | 1 year ago

A response to "Defending Open Source: Protecting the Future of WordPress"

I feel it's important to issue a critical reading of Automattic's post, as it doesn't seem to offer any serious or objective examination of the issues at hand. Rather, the post unfortunately reads as something more akin to a puff piece, or corporate propaganda. | Continue reading


@joshcollinsworth.com | 1 year ago

If WordPress is to survive, Matt Mullenweg must be removed

I believe Matt Mullenweg's abuses of his unilateral, unchecked powers prove that it is in the best interest of the entire WordPress community that he be removed from power immediately. | Continue reading


@joshcollinsworth.com | 1 year ago

For whatever it's worth: my advice on job hunting in tech

A collection of things I've learned over my decade in the industry, on how and where to look for jobs, applying, interviewing, talking about yourself and your work, and all those other fun things. For whatever it's worth. | Continue reading


@joshcollinsworth.com | 1 year ago

A decade of code

A personal (read: meandering) post inspired by the realization that I first began to learn HTML and CSS exactly ten years ago, reflecting on the lucky turning points that brought me to where I am today. | Continue reading


@joshcollinsworth.com | 2 years ago

Follow-up: the Glove80 after six months

An update on my previous first impressions post, covering how it's been using the MoErgo Glove80 every day for the past six months, how it's affected my RSI, and whether I'd recommend it (short answer: yes). | Continue reading


@joshcollinsworth.com | 2 years ago

The quiet, pervasive devaluation of frontend

I keep noticing those of us in the frontend field being treated much the same as nurses, paralegals, and executive assistants. Our work is seen as important, certainly, but just not the same as, or as important as, the “real” work. | Continue reading


@joshcollinsworth.com | 2 years ago

I worry our Copilot is leaving some passengers behind

Why I worry about the effect GitHub Copilot is having and will continue to have on the accessibility of the web at scale. | Continue reading


@joshcollinsworth.com | 2 years ago

Things I enjoyed in 2023

Things I watched, read, played, got into, enjoyed, or did and would do again, in 2023. | Continue reading


@joshcollinsworth.com | 2 years ago

First impressions of the MoErgo Glove80 ergonomic keyboard

How does the Glove80 stack up against similar keyboards like the Moonlander and Ergodox? I share my impressions after the first few weeks of use. | Continue reading


@joshcollinsworth.com | 2 years ago

A message from the Captain of the S.S. Layoff

Indeed, there's plenty to go around, thanks largely to all of you. But the fastest way to make the numbers better is to stop feeding and sheltering people and their families. Nothing personal. | Continue reading


@joshcollinsworth.com | 2 years ago

Classic rock, Mario Kart, and why we can’t agree on Tailwind - Josh Collinsworth blog

I suspect most people on opposing sides of the Tailwind debate actually complete agree on Tailwind itself. I don’t think we disagree on atomic CSS, or utility classes; I think our contention comes from the valuations we made long before we ever chose our tools. Where one of us se … | Continue reading


@joshcollinsworth.com | 2 years ago

Things you forgot (or never knew) because of React - Josh Collinsworth blog

I don’t think most people using React on a regular basis realize quite how much it’s fallen behind. Following on from Josh’s earlier post where he said “React isn’t great at anything except being popular”, here are the details. Every decision React’s made since its inception c … | Continue reading


@joshcollinsworth.com | 2 years ago

Alfred vs. Raycast: my constant debate

After a year or so of using Raycast, I'm switching back to Alfred. This is what prompted me to make that decision, and why I may or may not stick with it. | Continue reading


@joshcollinsworth.com | 2 years ago

Adding page transitions in SvelteKit

Transitions, easing, and routing are all baked into SvelteKit. This makes utilizing page transition effects in SvelteKit sites and apps as easy as adding just a few lines of code. | Continue reading


@joshcollinsworth.com | 3 years ago

Ten tips for better CSS transitions and animations

Creating high-quality, polished web animations is both a science and an art. This post covers the best things I've learned over the last decade of crafting web UIs. | Continue reading


@joshcollinsworth.com | 3 years ago

Understanding easing and cubic-bezier curves in CSS

The easing curve can make or break any animation on the web. Let's look at the science of CSS cubic-bezier curves, and the art of using them to make the best web animations possible. | Continue reading


@joshcollinsworth.com | 3 years ago

Impressions of the ZSA Moonlander at one month

My thoughts, experience, and advice after using the Moonlander as my main keyboard for both personal and work projects for a full month | Continue reading


@joshcollinsworth.com | 3 years ago

Why you should never use px to set font-size in CSS - Josh Collinsworth blog

Many developers seem to believe there's no difference between px and other CSS units. Let's dispel that myth, for the sake of better accessibility. | Continue reading


@joshcollinsworth.com | 3 years ago

Forty-two

I'm 42 years old today. This is a personal post about where I am now, what's going on in my head, and 42 things I've learned (or at least, think I've learned). | Continue reading


@joshcollinsworth.com | 3 years ago

The self-fulfilling prophecy of React - Josh Collinsworth blog

Matcalfe’s Law in action: Companies keep choosing React because they know there’s a massive pool of candidates who know it; candidates keep learning React because they know companies are hiring for it. It’s a self-sustaining cycle. But the problem is: React isn’t great at an … | Continue reading


@joshcollinsworth.com | 3 years ago

Breaking changes in SvelteKit, August 2022

SvelteKit introduced breaking changes to its routing and data loading in August 2022. Learn how to convert from the old way of doing things to the new. | Continue reading


@joshcollinsworth.com | 3 years ago

Announcing Hondo

Updating Quina to version 2.0 filled my head with new ideas that I just couldn't walk away from. Eventually, those ideas took the shape of a whole new word game, named Hondo. | Continue reading


@joshcollinsworth.com | 3 years ago

Building accessible toggle buttons (with examples for Svelte, Vue, and React)

Toggle buttons might be the biggest missing native HTML element. This post will help you code them right, for all users, in any (or no) framework. | Continue reading


@joshcollinsworth.com | 4 years ago

Debugging iOS Safari (when all you have is a Mac)

Debugging iOS Safari is a challenge (and possibly expensive) when you don't have access to an iPhone. Here are a few options to get around that problem. | Continue reading


@joshcollinsworth.com | 4 years ago

Creating dynamic bar charts with CSS grid

How to use CSS grid to make a responsive, adaptable bar chart with no math or external library required! | Continue reading


@joshcollinsworth.com | 4 years ago

Let's learn SvelteKit by building a static Markdown blog from scratch

Learn the fundamentals of SvelteKit by building a statically generated blog from scratch, with Markdown support, Sass, an API, and an RSS feed. | Continue reading


@joshcollinsworth.com | 4 years ago

Adding blog comments to your static site with utterances

The web world is full of tradeoffs. Going from a CMS to a static site keeps things simple—but that simplicity comes with costs. Luckily, giving up comments on your blog doesn't have to be one of them. | Continue reading


@joshcollinsworth.com | 4 years ago

Svelte, and Comparing Svelte with React and Vue

Svelte is a new style of framework for building sites and apps. Let's dive into what makes it different, why it's so enjoyable, and how it's able to ship such tiny, fast apps. | Continue reading


@joshcollinsworth.com | 4 years ago

Converting from Gridsome to SvelteKit

I've been a fan of Svelte for years, but never had the opportunity to use it on a serious project before. So when I found myself looking for a new platform for this site as SvelteKit entered open beta, it seemed like perfect timing. | Continue reading


@joshcollinsworth.com | 4 years ago

Goodbye, WordPress

WordPress was potentially the most impactful and empowering technology I've yet encountered. It transformed my career path and enabled me to do anything I wanted at every point in my journey. So why leave it now? | Continue reading


@joshcollinsworth.com | 5 years ago

Announcing Quina (My First App)!

The story of building Quina, a word game Progressive Web App built with Nuxt, and launched on the Google Play Store. | Continue reading


@joshcollinsworth.com | 5 years ago

How to Create Custom Editor Blocks with Block Lab

Block Lab is a WordPress plugin that simplifies the process of creating custom blocks to use in the block editor, AKA Gutenberg, the new content editor in WordPress 5.0. This post explains how to use it, even if you only know basic HTML. | Continue reading


@joshcollinsworth.com | 5 years ago

A New Headless Site with Gridsome

A lengthy write-up diving into what headless means, its advantages and disadvantages, some of the techniques and gotchas involved, and, finally, the new design of this site specifically. | Continue reading


@joshcollinsworth.com | 5 years ago

This isn't the Time, But it's the Perfect Time; Goodbye, Instagram

…Lately, I’ve been wondering whether I can actually continue supporting Instagram and the company behind it, however passively or at whatever seemingly insignificant scale. And while I was zeroing in on this answer anyway, the events of the last couple of weeks have clearly cemen … | Continue reading


@joshcollinsworth.com | 5 years ago

How to Connect Local with CodeKit

Enjoy all the convenience of easy local WordPress development with Local, plus build tools with CodeKit, without any of the tricky command line setup. | Continue reading


@joshcollinsworth.com | 6 years ago

How to Check Uniqueness in an Array of Objects in JavaScript

Working with arrays of objects in JavaScript can be difficult. This post covers how to ensure all object keys (IDs) are unique, and how to find non-unique values. | Continue reading


@joshcollinsworth.com | 6 years ago