¬ 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.
August 2026
September 2026
October 2026
Top Words
- claude
- code
- reply
- github
- commit
- homebrew
- script
- shell
- anki
- update
- atuin
- pull
All posts (411)
♠ 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 handoff workflow in Pi, so I vendored the handoff and session_query pieces of...
♠ 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 harness like Pi or OpenCode? Head over to https://chatgpt.com/#settings/Usage to...
♠ 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 harness like Pi or OpenCode? Head over to https://chatgpt.com/#settings/Usage to...
♠ 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 <PR-URL> It does not look for defects. It captures the diff once, follows control...
♠ 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 for an earlier user message, copies the active path up to the message’s parent...
♠ 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: ```markdown # README Use this template: ```markdown # ADR-NNNN: Title ``` That was the...
♠ 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: Windows_FAT_32 BOOT 268.4 MB disk4s1 2: Linux 31.7 GB disk4s2 For that, I would like to...
♠ 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: 1password: It seems the App source '/Applications/1Password 7.app' is not there. ==>...
♠ 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 unsubscribing from the whole blog. Every post the /bloggify skill drafts already...
♠ Previously. Problem statement: my Pi extension blocked dangerous shell commands outright, even when I had already preserved the state they could destroy. The guard parses every bash tool call with tree-sitter, catching commands such as rm -rf, terraform destroy, and destructive Git operations. Today it did exactly...
♠ Problem statement: asking a coding agent whether it runs in a sandbox returns a confident answer derived from its system prompt, not from the machine it is actually running on. I asked Pi exactly that. The reply was assured: No — pi itself doesn’t sandbox tool execution. When I run bash, edit, or write, they...
♠ Previously. Problem statement: make my cdg shortcut jump from a linked Git worktree back to the main checkout when already at the worktree root. The shortcut originally stopped at the current checkout’s root: alias cdg='cd "$(git root)"' I wanted two consecutive calls from a worktree subdirectory to behave like...
Page 6 of 35