¬ 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

Previously. Scenario: machine 1, day 1: run a bunch of commands machine 2, day 2: I’d like to run a subset of the commands I ran yesterday. If only I could remember them! I do not have access to machine 1 at the moment. Enter atuin...
In the spirit of RSS Club by Dave Rupert: Congratulations on joining a secret society! RSS Club is a collection of blogs (personal and otherwise) committed to providing RSS-only content. It’s like a newsletter delivered to your feed...
An addition to the “No Hello” series: No (AI) Slop Grenade: Stop throwing AI-generated walls of text into conversations. Don’t do this: You: Should we use Redis or Memcached? Them: Great question! The choice between Redis and Memcached...
fast-resume (fr), via Stanislas: I use many coding agents these days: Claude Code, Codex, OpenCode, Copilot, and more. Sometimes I remember that I, or the agent, mentioned something specific in a previous session, and I want to go back...
Matt Pocock (via Sebastian de Deyne): This is an intro to the /grill-me skill, separate from my video on my top 5 skills. It’s the most flexible skill I’ve ever created, and one I use outside of coding too. Here is the skill in all its...
Worktrunk: Git worktree management for parallel AI agent workflows I stumbled upon worktrunk (wt) due to a fortunate coincidence, serendipity at its best. I was pitching my own pancake wt to someone, and this person asked if I hadn’t...
I’ve noticed that travel has become, of late, an act of collecting places. I’ve literally heard people referring to visiting a place as doing that place, as in “Have you done Japan?”, assuming that one can do an entire country, and once...
Problem statement: given two distinct devices with Brave, access tabs from one device in the other device. In this example: access mobile tabs from a desktop device. This assumes both devices are already enrolled in Sync. Clicking...
Previously. Problem statement: An ArgoCD application shows a persistent diff on a PodDisruptionBudget — spec.selector.matchExpressions is in the rendered manifest but missing from the live object. Sync doesn’t clear it. Hard refresh...
Problem statement: Claude Code likes to declare “done” without running tests. Said no overconfident LLM ever. prove_it by Justin Searls is a config-driven hook framework that intercepts Claude’s lifecycle events (SessionStart,...
Previously. Problem statement: my wt tool’s cd subcommand does not survive a terminal split — the new pane opens at the original directory, not the worktree. worktrunk’s wt does(!) A subprocess cannot change its parent’s working...
Simon Willison’s llm CLI ships with OpenAI models out of the box. Anthropic Claude support lives in a separate plugin, llm-anthropic. % llm plugins [] Install it: % llm install llm-anthropic ... Successfully installed anthropic-0.103.1...
I wanted to try out worktrunk: thiago.perrotta ~ % brew install worktrunk ==> Auto-updating Homebrew... ==> Fetching downloads for: worktrunk ==> Pouring worktrunk--0.52.0.arm64_tahoe.bottle.tar.gz Error: The `brew link` step did not...
I asked Claude Opus 4.7 to generate a global CLAUDE.md for my tone & style based on historical usage for 12+ months. The result1 was added to my thiagowfx/.dotfiles repo, cross-posted here for ease of reference and future preservation. I...
I’ve been greatly enjoying the Active only conversation filter on Slack: Choose how you’d like to filter your conversations. By default, you’ll see Active only, which will hide conversations with no new activity in the past 30 days....
Search Random