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)

♠ Problem statement: given a cmux session with a dozen1 workspaces, how can you quickly find the one you’re looking for? Keyboard shortcut (macOS): Cmd + ⌥ + F. Source. There’s also a system tray icon for cmux with a Search All Windows... menu item. How did I look this up? Via Kagi Search. My query was cmux search...
♠ hwatch: hwatch: alternative watch command with history, diff view, JSONL logging, and change hooks. since 2018. Or, even better, from its man page hwatch(1): hwatch is like watch command, repeatedly executes a command and displays its output. However, the output results can be scrolled and displayed. In addition,...
♠ Problem statement: brew doctor found one deprecated cask and one installed keg whose formula had disappeared. tflint # Warning: Some installed casks are deprecated or disabled. You should find replacements for the following casks: flameshot Warning: Some installed kegs have no formulae! You should find...
♠ Previously. Problem statement: meat only documents a go install command, but I want Homebrew to manage it1. The existing installation lived under $GOPATH: % go install meat.dev/cmd/meat@latest % which meat /Users/thiago.perrotta/go/bin/meat There are no tags or releases. @latest currently resolves to a Go...
♠ Problem statement: a terraform project planned clean locally (terraform plan), but CI insisted on a diff. Every apply fixed it for one side and broke it for the other, back-and-forth. The culprit was a null_resource that rebuilds an AWS Lambda for a NodeJS app bundle whenever its sources change, keyed on a hash of...
Wisdom is a strange thing. The Wisdom Paradox is this: when we realise we are less wise than we thought, we become wiser. […] Good judgment comes from experience, and experience comes from bad judgment. The naivety of youth is a lovely thing. As a teenager, you can be sure that the grown-ups are doing it all wrong,...
♠ Today I learned: Atuin ships hooks that capture commands executed by AI LLM coding agents into the same shell history as mine. As of today there are hooks for Claude Code, OpenAI Codex and Pi. % atuin hook --help Manage AI-agent shell hooks Usage: atuin hook atuin hook <COMMAND> Commands: install Install hooks for...
♠ Previously. My dual-review skill runs two independent LLM reviewers over a commit / diff / PR, validates every finding against the code, and hands back one action plan — Blockers, Important, Suggestions. Recently I added a flag argument that closes the loop: argument-hint: "[branch|staged|all] [--pr NUMBER]...
♠ Previously. I’ve finally removed the GitHub MCP server from my Pi configuration, after piloting it for a while with pi-mcp-adapter. GitHub already has a mature CLI (gh) installed and authenticated: % gh --version gh version 2.97.0 (2026-07-31) https://github.com/cli/cli/releases/tag/v2.97.0 % gh auth status...
♠ Problem statement: a newly created Route 53 record resolved through public DNS, but Chrome Brave and macOS still returned DNS_PROBE_POSSIBLE. It smells like a DNS caching issue. Flushing mDNSResponder did nothing though. The system resolver was Tailscale’s local DNS proxy, so I asked that resolver rather than...
OpenRouter # Today I signed up for OpenRouter. The Unified Interface For LLMs Better prices, better uptime, no subscriptions. Its main selling point is a single LLM API endpoint to rule them all, without lock-in to a specific provider or model. Upon signing up you’ll get an API Key: sk-or-v1-..., which you’ll save...
♠ Problem statement: git fsck failed in a linked worktree, even though every branch and reflog remained intact. The initial diagnosis was noisy: missing blobs, hundreds of dangling objects, and an invalid commit graph: missing blob 97f9a2ed29f84e47848244c2d2626b2536a33c55 error: Could not read...

Page 7 of 35