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 Download Files and Folders from Google Colab

Google Colab's UI has a file browser, but there is no option in the UI to download files. Instead, you have to use code. The following only works on Chrome.

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.

Track Fathom Goals/Fathom Events in Gumroad

If you use Fathom Analytics and sell stuff on Gumroad like I do, here is how you add Fathom to Gumroad.

Redesigning an Information Product Landing Page

This article covers how to take your landing page from a 5/10 to an 8/10. In other words, we go from a basic, competent Bootstrap landing page that functions well on mobile to an intentionally designed page that you could build with any CSS framework (I'm still using Bootstrap) and actively looks good on a variety of screens.

Get Started with Python Watchdog

The Watchdog library in Python is a fantastic open-source tool for writing programs that monitor for and respond to changes in a filesystem. This short guide gets you up and running with a Watcher object to use Watchdog's powerful capabilities in your own projects.

A Tiny Case Study in Automation

Recently, I've been learning about high-leverage work. Automation is a great example of high-leverage work because you can save people time. Help Scout has a little box on some far-flung page that you can use to add custom JavaScript to a site. I think it is designed for analytics trackers and such, but I used it to save my support team hours on the way to saving our users even more time.

Archiving a Wordpress Blog with Web Scraping

My mother wrote a blog, Overneath it All, for many years. Goodreads has an archive as far back as 2015, but she wrote from well before that, starting in 2011. In January 2019, she decided to shut the blog down after not writing for it for six months, but she wanted an editable archive in case she wanted to use anything from it in the future. At her request, I scraped the entire blog into a giant Microsoft Word file...