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
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
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
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
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
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
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
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
Things I watched, read, played, got into, enjoyed, or did and would do again, in 2023. | Continue reading
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
How to use CSS grid to make a responsive, adaptable bar chart with no math or external library required! | Continue reading
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
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
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
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
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
The story of building Quina, a word game Progressive Web App built with Nuxt, and launched on the Google Play Store. | Continue reading
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
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
…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
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
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
Gutenberg brings with it the ability to set image blocks as full-width or wide-width. This article talks about how to enable support for that feature in your theme, and one way to write the CSS that makes it work. | Continue reading
CSS variables (otherwise known as CSS custom properties) give previously impossible superpowers to CSS developers. This post covers what they are, how they work, and a couple of nifty ways you can implement them on your own website. | Continue reading
Building a WordPress theme (and a new brand) from scratch. | Continue reading
There’s vast world of design learning and opportunity right in front of us constantly. All we need to do is take the time to notice it and learn from it. | Continue reading
Some of these apps, resources and tools aren’t directly WordPress-related, or even necessarily development-related; some have to do with productivity or just make life a little easier. That’s by design. Part of being a developer is learning to work and use your tools as efficient … | Continue reading
Your worst instructor as a design student will lay out clear goals and expectations which will not change; this is not a given with clients. | Continue reading
When you’re just starting out with WordPress, it’s easy to think that you can just open up the style.css file included with your theme and begin making alterations. And that will work—at least for a while—but it won’t be a good idea… | Continue reading
No matter how simple the end product, design is hard work. To come up with something that looks good, something people like, is at best tangential to the main point. The question is: does it succeed at meeting the project goals? And you don’t know how to answer that question. | Continue reading
Consider this post a guide on how to avoid the most common mistakes young designers make when assembling their portfolios. | Continue reading
Any executive or business owner will say their company values integrity, and virtually every company claims that they reward and value their employees exhibiting their brand values. But is that really accurate? | Continue reading
If you’re like me, you’ve probably spent some time wondering (and Googling) about the differences between various popular format types commonly used for graphic design applications. So I decided I’d create a resource that’s hopefully a handy reference on the matter of discerning … | Continue reading