Blog
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.Making history
Brett Weir, December 8, 2022
Bash saves every command you type! Learn how to capture shell sessions you want, and safely erase ones you don't.