
My experience at Rails World 2025
Last week I had the privilege of attending Rails World 2025 in Amsterdam. I learned a ton! and I met lots of amazing people! Here’s my story… Wednesday – Early Arrival + Volunteering I arrived in...
Last week I had the privilege of attending Rails World 2025 in Amsterdam. I learned a ton! and I met lots of amazing people! Here’s my story… Wednesday – Early Arrival + Volunteering I arrived in...
Introduction Many guides start by showing how to build an application locally, but entirely omit guidance for deploying that application to a production environment – often because each organizati...
TL;DR def is_on_basic_multilingual_plane(char): return int(char.encode().hex(), 16) <= int("FFFF", 16) Backstory Recently, I was programmatically moving a few hundred thousand documents t...
TL;DR docker rm $(docker ps -a | grep Exited | cut -d " " -f 1) How it works Recently, I forgot to include --rm when running a bunch of throwaway containers, so my system was cluttered with load...
Today I learned that Git ships with a built-in web interface for a code repository. Here’s how to set it up! Open a terminal Navigate to a Git repository on your computer Start the instaweb...
“Write programs to handle text streams, because that is a universal interface.” – Doug McIlroy, the inventor of Unix pipes (source) Today, for the Nth time I got stuck while trying to redir...
Solved a really involved bug today… Some of our B2B customers were unable to email invoices to their clients, delaying incoming payments. My coworker traced the problem to the built-in Python fun...
Every product management course I have taken emphasizes the importance of writing down the attributes of your target customer (aka a “user persona”) to guide product development. But three recent p...
On the new GitHub Project Boards, you can use wildcard characters to search issue labels. label:"prefix*" // i.e. Label starts with label:"*suffix" // i.e. Label ends with label:"*contains*" //...
New developers often ask me how they can start contributing to open-source software. My typical recommendations are succinct: start small, contribute to what you use, follow the project’s CONTRIBUT...