★ Integrating terraform with ansible

This post is a follow-up of Terraforming a Linode: hello world. In a future post, we will continue from here by using Ansible to install and set up Miniflux in our new Linode. Before we extensively use Ansible to configure our VPS instance, first let’s set up a basic integration between Terraform and Ansible. ...

February 1, 2024 · 684 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

★ 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

★ Tools you should know about: moreutils

moreutils has previously been covered elsewhere, multiple times. It’s a collection of small unix tools that follow the unix philosophy1 very strongly. Here are some of my favorites with example usages. Obviously this post isn’t a manual which would have been a disservice to the community; refer to the upstream man pages for detailed instructions. ...

May 1, 2022 · 683 words · Thiago Perrotta

★ Keychron K2 on macOS: fix Home and End keys

Issue: For whatever reason, the Home and End keys on my Keychron K2 do not work as intended on macOS. ...

April 22, 2022 · 653 words · Thiago Perrotta

★ Wayland: from i3 to sway

I’ve been giving Wayland a try. My window manager of choice in X11/Xorg is i3, so the natural choice in Wayland is sway. ...

February 19, 2022 · 1200 words · Thiago Perrotta

★ nix-env in a nutshell for basic usage in macOS

I am currently evaluating Nix as a replacement for Homebrew CLI apps in macOS1. Others have previously written about this. My goal is to keep a sane learning curve and learn things on-the-fly, only as needed. Nix is a massive ecosystem and has so many batteries included and components (NixOS, NixPkgs, NixOps, Nix programming language, nix-shell, nix-env, nix-darwin, home-manager, …). The good news is that those components are for the most part modular, there’s no need to adopt them all in order to reap the benefits that Nix provides. For now, I am only adopting nix-env and nix-shell, with no *.nix config files. This post covers nix-env. ...

February 16, 2022 · 733 words · Thiago Perrotta

★ SSH plus tmux automatically

One of the most classic sysadmin/DevOps tasks is to use secure shell to connect to remote machines. To persist those connections, a terminal multiplexer is often used, tmux and screen being the two most popular ones. In this post I will cover a few different client-side and server-side ways to have ssh automatically spawn tmux upon connection. ...

February 13, 2022 · 624 words · Thiago Perrotta

★ systemd: share environment variables with xorg

In this post we will learn how to share environment variables (e.g. $GDK_SCALE) between a system user session and X11/Xorg. ...

January 31, 2022 · 620 words · Thiago Perrotta