Blog

Brett Weir 6 min read

Use pyenv for local Python development

January 27, 2023 — I'm a huge fan of containers. They solve a great deal of problems with portability and deployment. One thing they are not great for is developer ergonomics. The hard separation between the inside and outside of the container puts most developer tooling and IDE integrations on hard mode, and good luck ever using ...

Read more »

Brett Weir 3 min read

So long, Signal

Thanks for making encrypted messaging more popular

January 26, 2023 — A few months ago, I saw this very eloquent blog post from Signal announcing the impending end of SMS support in the Signal Android app. I remember being dismayed, but hadn't thought about it until today, when Signal politely offered to dump all of my text messages from the app. How nice of ...

Read more »

Brett Weir 7 min read

Serve static assets with Cloudflare R2

January 11, 2023 — Since this website is created with the Zola static site engine, and because storing large files in Git is bad for you, I needed a simple way to host images for this site. S3 fronted by a CDN seemed like a good choice for me, since I'm reasonably familiar with both options and ...

Read more »

Brett Weir 7 min read

Find missing files in Linux

How to find things you need on a Linux machine

January 9, 2023 — The other day, I ran into the age-old situation where a Python package failed to build because the Python.h header file was missing. This happens a lot, so I hardly think about it anymore, but it used to be a big problem. What is this file? Where did it come from? Who ...

Read more »

Brett Weir 6 min read

Inkscape build container

Automate Inkscape image exports in CI

January 6, 2023 — In this article, we'll develop a container for Inkscape, allowing us to incorporate it into a CI/CD pipeline. With that, you'll be able to start automating vector image processing tasks right now and at no extra cost. But first, why Inkscape? You've probably encountered situations where you need a vector graphics program. This might ...

Read more »

Brett Weir 5 min read

Phone numbers are not secure

Stop using them for security purposes

January 4, 2023 — There are a lot of services that require you to provide a phone number as a condition of using the service. This is really bad. This article is to discuss why that is and what you can do instead. Calls can be spoofed Did you know that when you make a call, you can ...

Read more »

Brett Weir 8 min read

GitLab is a bargain

Some things you don't need to worry about if you use GitLab

December 30, 2022 — Full disclosure: I'm a big fan of GitLab. I've used it at several companies and I've also used many of the alternatives. This post was NOT sponsored by GitLab. GitLab has its rough edges, but if you can tolerate them, what you get in return is possibly the most and best ...

Read more »

Brett Weir 4 min read

Proxy Docker images via GitLab

Overcome Docker Hub rate limiting and improve resilience

December 28, 2022 — Docker Hub rate limits container image pulls. These limits are easy to hit in a CI environment. This is especially likely if your CI environment is behind a NAT firewall. Thus, it is very important to enable a container proxy to ensure continuity of your CI service. GitLab's Dependency Proxy feature allows you to proxy Docker ...

Read more »

Brett Weir 4 min read

Making history

Save a transcript of your shell session after the fact

December 8, 2022 — Sometimes you do something in your terminal that turns out to be really awesome, and you want to save it. You could have opened a session with script, or logged your session otherwise. But one of the simpler ways to get the important bits is with the Bash history command: history Everything you've ever typed into the ...

Read more »