powRSS
Home Recent Glimpses Shuffle Blogs Random

New: Explore conversations across blogs with powRSS Mentions

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

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 heard of worktrunk. If you look at its git star history1, you’ll notice that it...
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 that country is done it remains as such. As if a place is a product to be...
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 ‘History: in the menu bar does not work for this purpose. There are no options related...
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 doesn’t clear it. Syncing with replace or with server-side apply or with force...
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, PreToolUse, Stop) and runs whatever tasks you configure — tests, linters, AI reviewers —...
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 directory (PWD). wt.sh works around it by replacing the script process with a fresh...
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 docstring-parser-0.18.0 llm-anthropic-0.25 Verify: % llm plugins [ { "name":...
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 complete successfully The formula built, but is not symlinked into /opt/homebrew...
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 expect this file to evolve over time. Updates won’t be republished here; the...
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. “Dead” channels (and chats) eventually become hidden1, active ones bubble up....
“Do one thing and do it well”, they said. → What Color Is This (iOS only). Via Kottke. — § —Reply via email#dev #serenity
Previously. I’ve been self-hosting atuin for quite a while now. As such, I no longer need an account in the official server (created a long time ago). Problem statement: delete that account. Note that I am currently logged into my self-hosted server. As such, the first step is to switch back to the official server:...

Page 12 of 35