Skip to main content

Blog

Rambling, ranting, and raving… But mostly just whatever seems important in the moment about JavaScript, frontend development, and life surrounding me.

  • To date, I’ve written monorepo tooling four times. Each time, I ended up finding that more or less the way I had done it the first time was exactly what I needed gain. This fourth time is hopefully the last time, because now it’s open source.

  • We’re now nearly a month into the year 2023. I’ve started a new job and have been doing a lot of research for new projects and auditing old code. This process has given me time to reflect on what is and is not working – and what I’d like to see going forward this year.

  • I’m a bit of a stickler about meetings. If I can, I like to instill a healthy meeting culture in teams I work with. Not all meetings are bad, but I have some rules that I like to follow to ensure that they don’t become that way. This is my list of tips for keeping meetings healthy and useful.

  • I’ve been thinking back to my time as a core member of the original team that built the Twitter web app. I learned a great many lessons there and thinking through them: How would I rebuild something similar to the Twitter web app today, like a Mastodon or Activity Pub web client?

  • We all make mistakes in the technical planning process that bubble through to execution. Looking back over the past 10 years or so, these are the two biggest tech & development mistakes that I think I have made and the lessons that I’ve learned from them.

  • I originally wanted to avoid using any sort of server-side code for my site, getting around the FART completely is not currently possible when you have a statically generated site. In this post, I’ll walk through how I got rid of the flash of inaccurate color themes for Tailwindcss dark mode (with auto media query support!), building off of some others’ examples using Netlify Edge Functions.

  • I can’t think of any scenario when I do not want `box-sizing: border-box;` set on every element on my page by default. In fact, I can’t think of the last time that I wanted to use the default `content-box` method. However, I’ve just come across a major company’s design system that does not use `border-box` across all elements.

  • I built my website with Astro, without having intended to. I often use my own personal site as a test-bed for learning new frameworks and tech. In testing out Astro, it just sort of stuck. As I continued, it became clear why – but the reason isn’t what I thought it would be.

  • It is odd to feel this way, I admit. But with Twitter's new management, I feel like I'm mourning the loss of something that was near and dear to me.

  • I worked at Twitter for over five years. I put everything I had into building amazing things there. But I didn’t just give; Twitter and its people gave back to me more than I could have ever asked for. It’s disheartening to see what is happening there today, under new management.