All Blog Posts
Welcome to my blog! I write dev tutorials and the occasional off-topic post.
What Are Higher-Order Components in React?
Higher-order components are one of React's most popular design patterns, allowing you to define reusable stateful l... Read this post →
6 Ways to Undo Changes in Git
If you ever find yourself in a sticky situation with git, don't panic. Here are six simple ways you can undo change... Read this post →
Does Web Performance Matter? It Depends.
Some big brands have a slow page load speed, but they still rank well on Google. So does web performance even matter? Read this post →
Responsive Aspect Ratios in CSS with Percent Padding
Learn how to give any element on your page a responsive aspect ratio, using a CSS trick with percentage padding. Read this post →
Hesitation Is Defeat
After a one-year hiatius from Sekiro, I returned to face the final boss—and, through painful persistence, triumphed. Read this post →
Optimizing Images for the Web with WebP and Lazy Loading
Images make the web a more beautiful place, but this sometimes comes at a price. Learn how to optimize images for t... Read this post →
Blue People Illustrations, or How to Kill a Brand
There's a recent trend in web design of using illustrations of blue, generic, faceless people. And it's killing bra... Read this post →
Don't Mind the Leetcode Grind
Leetcode is one of those polarizing topics that you either love or hate. But what exactly is it? And does it even d... Read this post →
How to Sort Ant Design Tables in React (the Easy Way)
The Ant Design UI library lets you sort tables by one or more columns, using a sorter prop. But the syntax can get ... Read this post →
An Accessible Jekyll Table of Contents
Easily create a table of contents in your Jekyll blog posts with one simple include, with a skip navigation link to... Read this post →
What Are Cookies?
You've heard the term before, but maybe you're still lost. What are cookies? How are they used? And how do they aff... Read this post →
Semantic HTML: Building a More Accessible Web
Accessibility is a hot topic, yet it's also frequently overlooked or executed poorly. Learn how to use semantic HTM... Read this post →
How to Test Localhost on Mobile (with ngrok)
Learn how to easily test localhost on mobile using ngrok, without deploying a single line of code. Read this post →
Add Comments to Your Jekyll Blog with the GitHub Issues API
Learn how to add comments to your Jekyll blog. We'll use the GitHub issues API as our comment system and lazy load ... Read this post →
Binary for Beginners: The ABCs of 0s and 1s
The binary number system underlies pretty much everything in computation and software. But what's the deal with all... Read this post →
Goodbye, GitHub Pages—Hello, Netlify
GitHub Pages is a great option for hosting your site... until it isn't. Here's why I moved to Netlify. Read this post →
Creating a Responsive Navbar Without Bootstrap
Want to create a navbar that works on mobile and desktop? Ditch the frameworks—in this tutorial, we'll create a res... Read this post →
Stuck in Tutorial Purgatory?
Tutorials can help you grow as a developer. But they can also hold you back if relied upon excessively. Stuck in tu... Read this post →