Blog
Welcome to my blog - a lot of these posts are still pretty rough around the edges!
Popular Blog Posts:
- You're Building Software Wrong
- The AI Development Conundrum
- Testing Software
- Maintenance Costs
- Fractal Refactoring
- 10x Engineers
All Posts
Published: ....
I recently launched a rewrite and redesign of this personal website, I figured I'd talk a bit about the changes and new features that I added along the way!
Published: ....
A quick tip to implementing CSS theming that's compatible with Server Side Rendered applications!
Published: ....
A brief overview on how we launched The Bikeshed Podcast, including a deep dive in our recording and distribution workflows!
Published: ....
Recently Dropbox announced that it was shutting down the Capture app/service, so I sought out an alternative that provided a similar user experience!
Published: ....
A quick tip outlining how to provide specific TypeScript type definitions for a local module!
Published: ....
Some rough thoughts on building a file-system routing based web application
Published: ....
Slicing software: why vertical is better than horizontal.
Published: ....
A quick look at combining Cursor with Obsidian to ask questions of your notes!
Published: ....
What if you could author an entire web application in a single file?
Published: ....
Is it a good or a bad thing to offload writing code to AI agents and Large Language Models?
Published: ....
A quick way to handle resetting internal state in components when a parent form is submitted!
Published: ....
You don't need to wait until January 1st to set yearly goals and resolutions for yourself!
Published: ....
A snippet of some shared terminology/concepts (memes) from my time on the Frontend Platform team at Wayfair!
Published: ....
A brief look at Import Maps and package.json#imports to support isomorphic JavaScript applications!
Published: ....
A collection of tech talks that I regularly re-watch and also recommend to everyone!
Published: ....
Some features and functionality that I'd like within a React Server Component compatible framework.
Published: ....
A quick update on how I manage my tasks within Obsidian!
Published: ....
A (running) collection of Bluesky tips, tools, packages, and other misc things!
Published: ....
A quick look at a small but powerful pattern I've been leveraging as of late!
Published: ....
How to generate a custom Ghostty theme based on any iterm2 theme!
Published: ....
A proposal for a minimal variant of TypeScript!
Published: ....
Sharing a few core recommendations when working within monorepos to make your life easier!
Published: ....
A rough mental model for how you should be leveraging AI as a tool for your own growth
Published: ....
This is a quick post noting that Next.js should now work with Deno v2!
Published: ....
Even more thoughts on dogfooding!
Published: ....
The secret to excellent product teams is using your own product, and often!
Published: ....
(Ab)using Git as yet another tool for thought!
Published: ....
React components have a fundamental contract that is often unstated in their implementation, and you should know about it!
Published: ....
Replace that old useState and useEffect combo for a new and better option!
Published: ....
A quick recap of my goals from the past year and a few goals looking forward as well.
Published: ....
A brief overview of how I manage my tasks in Obsidian
Published: ....
A quick look at the applications and tools that I (generally) use day to day for web development!
Published: ....
Previously I wrote about switching from Obsidian to Notion, now almost exactly 2 years later, I've opted to give Obsidian another try as my go-to note taking software, here's why!
Published: ....
There are a variety of different markdown "standards" out there, and sometimes they're not all that consistent
Published: ....
Proposing a solution for sharing core "business" logic across services!
Published: ....
There's a common gotcha when creating Web Request and Response instances with Headers!
Published: ....
Feature toggles are often underused by most software development teams, and yet offer so much value during not only feature development but also refactors
Published: ....
The other week was my last week at Wayfair, rounding out almost 8 years at the company. I wanted to reflect a bit on my time there!
Published: ....
A quick introduction to my new side project, hohoro. An incremental JS/TS library build tool!
Published: ....
webpack, and tools built on it like Next.js, don't support true dynamic imports, but I found a way to trick the system!
Published: ....
I've been using a variety of AI tools as of late, I figured I'd document the ones I'm primarily using!
Published: ....
I've started to use Cloudflare to manage my domains for several side projects, have had to jump through the same hooks multiple times that I figured I should document them here!
Published: ....
Revising my previous blog post on React Error Boundaries and my preferred go-to implementation!
Published: ....
How to easily mass-export your custom slack emoji without API access!
Published: ....
Two neat tricks for enhancing your site's favicon!
Published: ....
The various risks and pitfalls of open source software run by corporations.
Published: ....
A monorepo template for managing a library and documentation together.
Published: ....
How we solved an almost show-stopping production bug, and how you can avoid it in your own projects.
Published: ....
A(nother) deep dive into one of my recent side projects; tails - a plain and simple cocktail recipe app.
Published: ....
When did semver major changes become so scary?
Published: ....
Leveraging service monitors properly to improve service observability.
Published: ....
Published: ....
Published: ....
A brief recap of how Wayfair changed it's CSS approach not once but twice in the span of 5 years!
Published: ....
It's fine for a library to express some opinions about how it should be adopted and how the overall workflow/application in which it is adopted should function. However, it's false advertising to say that it is unopinionated.
Published: ....
No I don't mean those Milano cookies you keep taking from the office snack wall either (although you should probably stop snacking on those as often as well).
Published: ....
Low/no process workflow wasn't actually no process, it was only an "invisible" process. An implicit contract with everyone on the team to do that async workflow on their own time.
Published: ....
Zed language server quick tip; fixing Zed's language server
Published: ....
A deep dive into one of my recent side projects; microfibre - a minimal text posting application
Published: ....
Pair programming can be good sometimes - but not all the time
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
A few thoughts on using Suspense with GraphQL to optimize application data loading
Published: ....
A few thoughts on the article "Reality has a surprising amount of detail"
Published: ....
A quick log of what I have been up to in October
Published: ....
A few thoughts on what to do after you launch a new project
Published: ....
A few photos from my summer trip!
Published: ....
A few quick thoughts on burn out and taking a break
Published: ....
A few thoughts on managing complex UI component state within React
Published: ....
A quick overview of the new lifecycle methods introduced in React 16.3
Published: ....
A recap and update on some of the projects I am working on at the start of 2018
Published: ....
A few thoughts and patterns for using styled-jsx or other CSS-in-JS solutions
Published: ....
A few thoughts on the redesign of my personal site, adopting Next.js and deploying via Now
Published: ....
A few weird things about JavaScript
Published: ....
Building a calendar web application
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....
Published: ....