All Blog Posts

Programming tutorials, musings about technology, and the occasional off-topic post.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. Creating a Vertical Rhythm with CSS Grid

    Margins are what you typically use to define a layout's vertical rhythm. But CSS Grid offers a better alternative.

  7. Rest in Peace, Flash

    If it were up to me, things wouldn't end this way. We had some great times together, but now it's time to say goodbye.

  8. Subtle Web Accessibility Issues (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 issues?

  9. 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?

  10. 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.

  11. 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 logic and create powerful, flexible components.

  12. 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 changes in git and clean up your commit history.

  13. 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?

  14. Returning Data After an Insert in PostgreSQL

    Easily return auto-generated and serial IDs after inserting new rows into a table with PostgreSQL's RETURNING clause.

  15. 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.

  16. Hesitation Is Defeat

    After a one-year hiatius from Sekiro, I returned to face the final boss—and, through painful persistence, triumphed.

  17. 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.

  18. 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 the web using the WebP image format and lazy loading with JavaScript.

  19. 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.

  20. 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 deserve your attention?

  1. 1
  2. 2
  3. 3