Blog
Blog posts
Ignoring files you've already committed Converting a list of JS objects into a parent-child tree A "!" prefix makes any Tailwind CSS class important Tmux's version command is -V SELECT DISTINCT outputs a column's unique values It's tricky to statically type a "pipe" function in Python An iOS Shortcut can add data to a Google Sheet How to query a BigQuery table from Python CloudFlare sells domain names at cost Homebrew packages might install dependencies Shell functions don’t need parentheses You can run shell scripts in tmux.conf Why unknown types are useful Using "object" as an unknown type in Python Defining a custom unknown type in Python Undoing a merge to your main git branch Switching configs in Neovim Adding a pull request template to your GitHub repo Dramatically reducing video file size using FFmpeg The translateZ trick What is a Factory Function? Writing Great Alt Text Levels of Abstraction in Testing Using Slack to report data entry errors to content editors The filter(Boolean) trick Using GraphQL with Gatsby Adding content to a Gatsby project Writing CSS-in-JS in a Gatsby project Writing CSS in a Gatsby project Wrapping pages in a layout component Adding pages to a Gatsby project Writing HTML in a Gatsby project Gatsby's default files and folders Starting a new Gatsby project What is Gatsby? Introducing Gatsby Tutorials How to set up a Mac for web development