All Blog Posts
Browse the following posts, or view all tags.
-
Published on
Subtle Accessibility Failures (And How to Fix Them)
You've scored 100 on Lighthouse's accessibility audit. But is your site actually accessible, or have you overlooked more subtle accessibility failures?
-
Published on
Be Careful with Async Functions that Return Booleans
Suppose an async function returns a boolean. What happens if you check the return value without awaiting it?
-
Published on
Dynamic Tag Name Props in React (with TypeScript)
Sometimes, a React component needs to allow users to render a custom tag. Here's how you can pass dynamic tag names as props.
-
Published on
Higher-Order Components in React
Higher-order components are an old but popular design in React prior to the introduction of hooks, allowing you to define reusable stateful logic.
-
Published on
6 Ways to Undo Changes in Git
If you ever find yourself in a sticky situation with git, don't panic. Here are some simple ways you can undo changes in git and clean up your commit history.
-
Published on
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?
-
Published on
Creating Aspect Ratios in CSS
Learn how to give any element an aspect ratio in CSS, using the modern aspect-ratio property or a trick with percentage padding.
-
Published on
Hesitation Is Defeat
After a one-year hiatius from Sekiro, I returned to face the final boss—and, through painful persistence, triumphed.
-
Published on
JavaScript Promises: Practical Use Cases and Examples
Promises are a powerful tool for writing asynchronous code in JavaScript. Here are a few interesting use cases.
-
Published on
Optimizing Images 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 the web using the WebP image format and lazy loading with JavaScript.
-
Published on
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 brands.
-
Published on
Don't Mind the Leetcode Grind
Leetcode is a polarizing topic when it comes to technical interviews. But what exactly is it? And does it deserve your attention?
-
Published on
Easily Sort Ant Design Tables
The Ant Design UI library lets you sort tables by one or more columns, using a sorter prop. But the syntax can get quite repetitive. Let's fix that!
-
Published on
An Introduction to HTTP Cookies
Learn why HTTP cookies are needed, how they're used on the client and server side, where they're stored, and how they impact security and privacy on the web.
-
Published on
Semantic HTML: Building a More Accessible Web
Accessibility is a hot topic, but it's not always executed correctly. Learn how to use semantic HTML to create an accessible user experience on the web.
-
Published on
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.
-
Published on
Add Comments to Jekyll with the GitHub Issues API
Add comments to your Jekyll blog with the GitHub issues API and lazily load them for improved performance.
-
Published on
A Simple Webpack Config
Webpack is one of the most popular code bundlers available. Here's a simple webpack config to bundle your JavaScript.
-
Published on
Binary for Beginners: The ABCs of 0s and 1s
The binary number system underlies everything in computation and software. But what's the deal with all those 0s and 1s?
-
Published on
Goodbye, GitHub Pages—Hello, Netlify
GitHub Pages is a good option for hosting simple static sites, but it doesn't scale well for more complex use cases. Netlify offers the best of both worlds: simple hosting and plenty of advanced features.
-
Published on
Creating a Responsive Navbar with HTML, CSS, and JavaScript
Learn how to create a responsive navbar that arranges links horizontally on desktop devices and collapses to a hamburger menu on mobile.
-
Published on
Stuck in Tutorial Purgatory?
Tutorials can help you grow as a developer. But they can also hold you back. Stuck in tutorial purgatory? Here's how to get out.
-
Published on
Is JavaScript Pass by Reference?
Developers are often taught that JavaScript passes objects by reference. In reality, JavaScript is a pass-by-value language.
-
Published on
How to Get More Traffic with SEO
SEO is the art of making strategic improvements to a site in order to rank higher in search results and gain more traffic. Learn how to use tried-and-true SEO strategies to drive more visitors to your site.
-
Published on
How to Add a Copy-to-Clipboard Button to Jekyll
Add a copy-to-clipboard button to your Jekyll blog with a simple include and a few lines of JavaScript.
-
Published on
Getting Started with Jekyll and GitHub Pages
Jekyll is a static site generator that makes it easy for you to create a website. Learn how to get started with Jekyll and GitHub Pages.
-
Published on
Implementing a Finite State Machine in C++
Finite state machines (FSMs) are a useful tool for representing stateful entities in code. In this tutorial, we'll learn how to implement the finite state design pattern in C++.
-
Published on
Invulnerability Frames in Unity
Learn how to implement invulnerability frames in Unity using coroutines. This popular game mechanic exists in many modern and retro games.
-
Published on
Using WebP Images in Jekyll
Do your blog posts suffer from slow load speeds because of all those images you've been using? In this post, we'll look at how you can improve your page load speed in Jekyll using the WebP image format and just a single useful include.
-
Published on
Least Squares Fitting: How to Fit a Curve to Data
A review of the theory behind the least squares method, as well as a look at how to perform straight-line and polynomial least squares fitting, both by hand and with Python.