Hugo: rename a tag

This blog is rendered by the means of a static site generator (SSG) called Hugo. Each blog post has a set of one or more tags associated to it. The more posts I create, the more consolidated the tags become. Sometimes I need to rename tags after-the-fact to better reflect the underlying posts they represent. ...

January 29, 2024 · 424 words · Thiago Perrotta

sd-world: perform a full system upgrade

Whenever I want to upgrade any one of my systems, I run sd-world. ...

January 28, 2024 · 628 words · Thiago Perrotta

★ (Google) Chrome for Testing: reliable downloads for browser automation

Let’s discuss the raison d’etre of Google Chrome for Testing, a project I was the Tech Lead of during my tenure on the Chrome Tooling / Browser Automation team at Google. ...

January 25, 2024 · 1238 words · Thiago Perrotta

★ Terraforming a Linode: hello world

I host my own Miniflux instance, which happens to be my favorite RSS reader. Currently it is hosted on Linode (Akamai Cloud) running Alpine Linux. My current setup was performed manually. I was thinking that, for fun, it would be cool to fully automate it under the principles of IaC. ...

January 23, 2024 · 884 words · Thiago Perrotta

The fundamental right to paste

Some websites attempt to prevent users from pasting text (i.e. Ctrl+V / Cmd+V) in web browsers. It serves no purpose in most cases other than hindering accessibility and increasing annoyance for users. ...

January 22, 2024 · 244 words · Thiago Perrotta

Remove large files from your computer

Whenever disk space gets almost full, I like to use the following software to clean up (unnecessary) big files from my computers: ...

January 21, 2024 · 137 words · Thiago Perrotta

Create a family tree with graphviz

Graphviz… is open source graph visualization software. Graph visualization is a way of representing structural information as diagrams of abstract graphs and networks. We can also use it to craft family trees! ...

January 19, 2024 · 204 words · Thiago Perrotta

Start an HTTP server ASAP

Sometimes I need to start a local HTTP server for a quick one-off task, often just to serve static content. It is not important which one it is, so long as I can do it quickly. ...

January 17, 2024 · 272 words · Thiago Perrotta

★ Synchronized in Python

In Java, you can make a variable thread safe by just adding the synchronized keyword. Is there anything that can achieve the same results in Python? ...

January 15, 2024 · 553 words · Thiago Perrotta

Python: all hail to cache memoization

In a typical dynamic programming (DP) problem, you’ll usually instantiate a variable to hold previously computed data (cache). ...

January 12, 2024 · 289 words · Thiago Perrotta