# Recent Blog Posts
How Writing Can Help You Become a Better Developer
Writing is likely one of the last skills you associate with software development. But it plays a key role in a developer's life and can help you build a more successful career.
Remember to Set a Width and Height on Your Images
Layout shifts can be annoying and may even hurt your page's ranking, but you can minimize them by setting a width and height on images.
Why You No Longer Enjoy Reading
Reading books isn't something that everyone enjoys. But if you used to like reading but can no longer get past the first chapter of a new book, there may be a few reasons why.
Why I Don't Like Tailwind CSS
On paper, Tailwind CSS sounds like a great idea. In reality, it suffers from the same problems that it tries to solve.
SVG Tutorial: How to Code SVG Icons by Hand
Learn the basics of SVGs so you can code your own SVG icons by hand, without always relying on icon libraries.
# Popular Blog Posts
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?
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.
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.
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.
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 responsive navbar using HTML, CSS, and JS.
How to Add a Copy-to-Clipboard Button to Jekyll
Getting Started with Jekyll and GitHub Pages: Your First Website
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.
Finite State Machine (FSM) Tutorial: Implementing an FSM in C++
Finite state machines (FSMs) are used in lots of different situations to model complex entity state. In this finite state machine tutorial, I'll help you understand the FSM design pattern by building one from the ground up for a simple use case.
Outer Wilds: Stop and Smell the Pine Trees
On the surface, Outer Wilds is a space exploration game. But peel back the layers, and it's a captivating and philosophical story about life and our universe.
Learn to Code Without Wasting Time & Money
A discussion of the things that beginner programmers tend to get wrong, as well as concrete suggestions for what they should be doing instead.
# Software Projects
I have experience with a wide range of stacks and enjoy working on projects that have a strong UI/UX component. Below are just some of my software projects that I'm most proud of.