Welcome to my JavaScript blog!

Here are some of my more popular posts:

  1. On leaving a great job

  2. Setting up Gatsby Webmentions on your site

  3. Introduction to async JavaScript

  4. Improving my content diet

  5. Best blog designs I want to steal everything from

  6. Choosing a blogging platform: Gatsby vs. Wordpress vs. 11ty

  7. Working with people who are smarter than you

  8. 10 years is a long time

  9. Outages and blame culture

  10. The Life of a PHP Developer

Full archive!

  1. JavaScript math methods I never knew existed

  2. How to join Developer DAO

  3. Switching to DevRel from Engineering

  4. On Interviewing...

  5. The age of the devtool startup

  6. React Aria - A better approach to design systems

  7. Exciting movement in JavaScript tooling

  8. Wasted real estate: Blog homepage design

  9. On leaving a great job

  10. Best online node js editor

  11. jquery vs node.js

  12. Stable Node Versions

  13. Get React Version

  14. How to update node js

  15. JavaScript if else syntax

  16. Increase Gatsby performance with Webpack Bundle Analyzer

  17. Setting up Gatsby Webmentions on your site

  18. Webmention playground

  19. Introduction to async JavaScript

  20. All I wanted was pretty links

  21. Improving my content diet

  22. I made a political twitter account for a week

  23. Compiler Resources

  24. Best blog designs I want to steal everything from

  25. Choosing a blogging platform: Gatsby vs. Wordpress vs. 11ty

  26. Patreon layoffs seem cruel

  27. Avoid Rendering Empty Content with font-display: swap

  28. Working with people who are smarter than you

  29. 10 years is a long time

  30. Suspend a React Component from the DevTools

  31. A weird login flow

  32. My first month as a remote worker

  33. Outages and blame culture

  34. Managing Immutable State with Object Spread

  35. Compiled vs. Interpreted Languages

  36. Numbering a list with CSS!

  37. Eleventy has me feeling more connected with my website

  38. Easier Type Safety in JavaScript Classes

  39. Writing a Babel plugin to convert arrow functions to function expressions

  40. Getting Started with ASTs

  41. Lighthouse Error: Content is not sized correctly for the viewport

  42. Add a Service Worker to Jekyll blog on GitHub Pages

  43. Staying Mostly Safe Online

  44. Sharing Styles with React and Aphrodite

  45. The Life of a PHP Developer

  46. ssh_exchange_identification: read: connection reset by peer

Subscribe to my email list!

Let me be real with you. Sometimes when I'm bored I log in to Buttondown and look at the audience number. If it's bigger than it was the week before, well that makes me feel really happy!

I promise I'll never spam you and I will, at most, send you a monthly update with what's happening on this site.