Blog
Write great command line utilities with Python
Brett Weir, February 13, 2023
Learn how to create simple, standalone, useful Python CLI tools to solve even the most mundane infrastructure problems, so that you can start automating everything.
Lighthouse testing with CI
Brett Weir, February 5, 2023
If you want to really understand how something works, you gotta spend some time with it. Let's see what it would take to create our own Lighthouse CI/CD, without using the packaged solution.
Use pyenv for local Python development
Brett Weir, January 27, 2023
Learn how to use pyenv to bootstrap isolated Python installations, so that you can have the best of containers and local development.
So long, Signal
Brett Weir, January 26, 2023
My reaction to Signal deprecating their SMS support. I liked having one less messaging app to think about.
Serve static assets with Cloudflare R2
Brett Weir, January 11, 2023
Cloudflare's S3 offering turns out to be really easy to set up. I'll show you what R2 can do by building an asset CDN for brettops.io.
Find missing files in Linux
Brett Weir, January 9, 2023
Not every missing file requires a trip to StackOverflow. With a little knowledge of your system, you can often troubleshoot problems faster and without leaving the terminal.
Build an Inkscape container
Brett Weir, January 6, 2023
We'll walk you through creating an Inkscape container to run in CI jobs, and prove that you can automate just about anything with a command line interface.
Phone numbers are not secure
Brett Weir, January 4, 2023
A ton of services require the use of SMS for two-factor authentication. Learn why this is a terrible idea, and why you should avoid services that do this.
GitLab is a bargain
Brett Weir, December 30, 2022
GitLab seems expensive, but when you consider what you'd need to buy to replace it, the price starts looking pretty reasonable.
Proxy Docker images via GitLab
Brett Weir, December 28, 2022
Docker Hub limits the rate at which you can pull container images. Here's how you can use GitLab's built-in image proxy to get around these limits.