powRSS
Home Recent Glimpses Shuffle Blogs Random

¬ just serendipity 🍀

Thiago Perrotta

Welcome to my digital garden – a space dedicated to exploring technology and sharing what I’ve been learning. This site reflects my passion for continuous learning and open-source software, wherein I document my journey, offer insights, and dive into miscellaneous topics that reflect my interest. My goal is to maintain a corner of the Web for self-expression focused on valuable, distraction-free content. I believe in the power of the Open Web as a platform for sharing knowledge.

July 2026

August 2026

September 2026

Top Words

  • claude
  • code
  • reply
  • github
  • script
  • homebrew
  • commit
  • shell
  • atuin
  • update

All posts (395)

Previously. When playing badminton, the serving side (left or right) depends on the current score of the serving team: Left side: 1, 3, 5, … Right side: 0, 2, 4, … For many months (years?), I kept confounding the two. Even field experience would not make it any easier to remember which one is which. At some point, I...
Previously, previously. After experiencing almost daily frustration because of this SSH auth issue, I decided to script a solution out of it: and now ssh_mux_restart was born. A copy of the README.md follows below for ease of reference. The use case is very simple: run the ssh_mux_restart script whenever I run into...
Claude Code supports images as input. Absolutely incredible; considering that it is a TUI, one would usually not expect the ability to do so. Copy the image to your clipboard as usual, and then paste it in with Ctrl + V, as you would in any GUI app: ▐▛███▜▌ Claude Code v2.0.28 ▝▜█████▛▘ Sonnet 4.5 · API Usage...
Problem statement: grep1 for a given string in a multitude of multi-page PDF files: % du -sh very_large_file.zip 513M very_large_file.zip % unzip very_large_file.zip [...] % ls -1 *.pdf | wc -l 6816 There’s a tool called ripgrep-all (short: rga) that is perfect for that. And yes, it resembles our good ol' ripgrep...
Problem statement: Given a PostgreSQL DB, obtain its total size, preferably in a human-readable format (pretty-printed). Option 1: SQL query SELECT pg_size_pretty(pg_database_size('dbname')); 11 GB Option 2: psql CLI \l+ dbname List of databases Name | Owner | Encoding | Collate | Ctype | Access privileges | Size |...
.terraform-version at the root of a git repository is recognized by various tools: tfenv tfswitch terrateam You would expect the hashicorp/setup-terraform github action would also recognize it out-of-the-box, but it does not. We can address this gap by reading it manually: jobs: terraform: runs-on: ubuntu-latest...
Previously. When a package is installed with --HEAD: % brew install --HEAD pancake …brew upgrade won’t automatically fetch its latest version. In order to do so, run: % brew upgrade --fetch-HEAD [package...] Source1. I answered it there, does that count as linking to the source? ↩︎
Error message when doing git push: % git push ERROR: The '{corp}' organization has enabled or enforced SAML SSO. To access this repository, you must use the HTTPS remote with a personal access token or SSH with an SSH key and passphrase that has been authorized for this organization. Visit...
Sometimes connections simply fade away. Life happens. Privacy prevails. Then why don’t people remove them both ways (follower + following)? If you don’t want to stay connected with someone any longer, it is good courtesy to do so symmetrically. If you just unfollow someone, without removing them from your follower...
After owning an iPhone 14 Pro for more than two and a half years, its maximum battery capacity degraded to ~76%. It is not a terrible number, but the general recommendation is to take action whenever it goes below 80%, which happened a couple of months ago. In this state I am forced to carry a portable charger...

Page 36 of 40