¬ just serendipity 🍀

¬ 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.

Latest Posts

♠ Today I found myself with 13 open terminals, more than half of them running Pi or Claude Code, the rest with various projects and explorations split amongst work and personal affairs. 13!! This is not a matter of pride. I need to take...
♠ TIL: The ThoughtWorks Technology Radar publishes an yearly1 opinionated report about the technology landscape today. It is a rich source of inspiration to identify techniques, tools, platforms and languages & frameworks to assess...
♠ More and more I’ve been resorting to LLMs / Gen AI to file feature requests or issues/bugs in upstream repositories. Sometimes I get completely ignored, even when I follow the project guidelines. For example, last week I filed this...
♠ Problem statement: ship a simple change (or commit, or pull request: you name it), then wait for green CI, then remove its local branch and worktree (=clean up). It’s 2026, so we’ll codify this workflow in the form of an agent skill. I...
♠ Previously. Problem statement: a Kubernetes ARM64 node kept running an AMD64 image after I replaced the registry tag with a multi-architecture image via skopeo, due to image caching. I first mirrored only the AMD64 variant into AWS ECR...
♠ Problem statement: wait before opening an upstream Helm chart upgrade PR, without putting a timer in the PR workflow. In other words: implement dependency cooldowns1 in Kargo. A Kargo Warehouse makes newly discovered Freight...
♠ Problem statement: git pull could not autostash files added with git add -N. I had local work and was nine commits behind origin/master: % git pull --force Updating 266a5af537..07e4551075 error: Entry 'ci/goodreads_to_reading.py' not...
♠ Previously. Disclaimer: This was a failed experiment. I am including it here anyway, for completeness. Handoff # Problem statement: move a running Pi task into a fresh, focused session without losing the way back. I wanted Amp’s...
♠ Previously. When enrolled in an OpenAI / ChatGPT plan (e.g. Pro/Plus), you may want to figure out how much weekly usage (%) you have left. I’m sure codex has an /usage or /cost command to do so, but what if I’m using a third-party...
♠ Previously. Problem statement: review an AI-written slop pull request from a teammate. We’ll use a clanker to review slop PRs. First, I invoke the /meat skill, turning the diff into a reading guide, inspired by David Crawshaw: /meat...
♠ Problem statement: split a running Pi conversation / session into a second independent one whilst keeping the original. Pi has three similarly named albeit distinct operations: /fork /clone pi --fork <path|id> /fork opens a selector...
♠ Problem statement: a code block that quotes a markdown file swallows the first closing fence it meets, which is the inner one. The ADRs and LLMs post quotes a README.md that itself contains a fenced template. Written naively:...
♠ Problem statement: I want to sell a 32 GB microSD card, previously used to boot a Raspberry Pi. % diskutil list disk4 /dev/disk4 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *32.0 GB disk4 1:...
♠ Previously. Problem statement: every brew upgrade died on a cask whose app had upgraded itself years ago. % brew upgrade ==> Upgrading 1 outdated package: 1password 7.9.2 -> 8.12.33 ==> Upgrading 1password 7.9.2 -> 8.12.33 Error:...
♠ Previously. Problem statement: some readers may not want AI-assisted posts in their feed reader, even with my edits. I support making it easier for people to opt out from such posts. They should be able to filter them out without...
Search Random