Blog

This is my personal blog. The majority of my writing is published on Baseten's blog.

How to Vibe Code a PDF

Use the print modifier in Tailwind CSS to make decent-looking PDFs fast with AI-assisted coding tools.

Analytics Eats Last

Errors in analytics should never break your user experience. Wrap analytics in a try-catch block to make sure they don't cause issues.

How to Reserve (and Request) a Package Name on PyPi

If you want to publish a Python package for other people to pip install, you'll need to first upload it to PyPi, the Python Package Index. Just like with domain names, once there's a package with a given name on PyPi, your package can't have exactly the same name.

How to Disable a Stretched-Link Button in Bootstrap 5

Disabling links is useful and Bootstrap 5 provides built-in styles for disabled links and buttons. However, .stretched-link and disabled don't play nice unless you introduce a few lines of custom CSS.

Short-Cycle Recurring Revenue

Monthly Recurring Revenue (MRR) is the lifeblood of many successful indie online businesses. But today, we turn our attention to shorter cycles of recurring revenue and their niche applications for digital businesses.

How I Format and Publish Ebooks

After publishing several ebooks, I have a process that makes the relatively tedious exercise of formatting a document for publication into a repeatable set of steps that helps me generate ebooks quickly and without formatting mistakes.