¬ 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)
♠ Terence Eden: For years, I’ve had a test-card at the start of my slides. Before I start my talk, I can immediately see if the aspect ratio is wrong, colours are off, or any other visual issues with the presentation. In fact, it’s brilliant and simple. ∎ — § —Reply via email#serenity %commentary
♠ Martin Fowler: One of my most successful life-hacks is to avoid people I don’t like or don’t trust. I decline to interact with them socially, and make a deliberate effort to avoid working with them too, even if they are doing much that is beneficial. I feel that hanging out with pleasant, capable people, the...
♠ Claude Tag: Claude Tag is a new way for teams to work with Claude. We’re starting on Slack, which Claude can join as a team member. Grant Claude access to selected channels, and connect it to whichever tools, data—and even codebases—you choose. Then, anyone in the channel can tag @Claude in, and delegate tasks to...
♠ Problem statement: in lf, how can <Enter> edit files without trying to edit directories? e already opens the selected file in $EDITOR. My first keybinding mapping attempt copied its default command: # Edit file: 'e' (mapped out-of-the-box) +map <enter> $$EDITOR "$f" This worked for files, but it also sent...
♠ Problem statement: why did Espanso stop expanding text while its service was running? The CLI reported a healthy service on version 2.4.1: % espanso --version 2.4.1 % espanso status espanso is running The daemon log disagreed: % rg 'espanso version:' ~/Library/Caches/espanso/espanso.log | tail -1 16:50:24...
♠ Just an ordinary day with OpenAI inference via pi: Error: Codex error: Our servers are currently overloaded. Please try again later. ∎— § —Reply via email#ai #serenity
♠ Git AI records agent checkpoints in Git notes1, without changing commit messages or repository files. In order to integrate it with Pi we use an extension, because Git AI must observe file and Bash tool calls: const GIT_AI_BIN = join(homedir(), '.git-ai', 'bin', 'git-ai'); const child = spawn(GIT_AI_BIN,...
♠ Today I learned: mise can remove tool versions no longer referenced by its tracked configuration files. List versions eligible for cleanup (dry-run): % mise ls --prunable % mise prune --tools --dry-run Run the cleanup (without --dry-run): % mise prune --tools mise prune also handles stale tracked configuration...
♠ Today I learned: pi can keep its editor and footer at the bottom of the terminal with fullscreen TUI mode, similarly to Claude Code. The regular mode leaves terminal scrollback in charge. The --tui-mode option switches to a viewport managed by Pi: % pi --help | rg -- '--tui-mode|TUI mode' --tui-mode <mode> TUI...
♠ Sometimes we simply do not want to activate direnv in a given project. Deny it for the current directory: % direnv deny . To enable it later: % direnv allow . This is necessary to make it stop nagging you each time you cd into a project (directory) with .envrc: % cdtmp...
Page 1 of 40