¬ 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. Problem statement: mid-task, I want to ask the LLM agent a quick tangential question — “will this change cause downtime?” — without polluting the main agent thread. Claude Code has /btw1 for exactly this. pi doesn’t, but...
♠ Previously. Problem statement: sometimes a prompt in pi just hangs, as if the network dropped. It never recovers on its own — I have to hit Esc and re-prompt. It’s 2026, this symptom should be self-recoverable. Pi already has...
♠ Previously. Problem statement: pi binds ctrl+p to app.model.cycleForward1 by default, but has no default binding to cycle backward other than shift+ctrl+p, which is arguably difficult to remember. Every keybinding in pi is namespaced...
♠ Previously, previously. Problem statement: adopt caveman in pi. Pi isn’t one of the 30+ agents caveman auto-detects. The install matrix (INSTALL.md) lists agent detection rules one by one — claude, cursor, windsurf, opencode, openclaw,...
♠ Previously. Problem statement: LogSeq v2 is moving its graph format from markdown files to a sqlite database: What’s New with Logseq DB — May 16th 2026 Big update: Logseq is splitting into two versions This is not OK for my workflow....
♠ The recently released Apple Sports app was surely a great way to keep up with the World Cup on the go. It is very polished; it does one thing, and does it well. Simple yet effective. I do recommend it. It’s especially handy when you’re...
♠ This site respects your privacy by not containing ads, not using tracking cookies, and not collecting any personally identifiable information. — § —
♠ TIL: brew pin. For reasons to be elaborated in another post, I am currently prevented from upgrading LogSeq to its latest version in homebrew: % brew outdated [...] logseq (0.10.14) != 2.0.1 [...] LogSeq v2 introduces breaking changes...
♠ Typically: Step 1: buy a physical book — via Amazon, bookstores, classifieds marketplaces (e.g. Craigslist in the US, Kijiji in Canada, Kleinanzeigen in Germany). Bonus points for used copies. This should take up to a week. Step 2:...
Project Aces (from the Ace Combat series) has one of the best videogame OSTs ever. I am1 finally pleased2 to find their whole collection available on Spotify as of 2026. Previously, only a handful of them were available. No more fiddling...
Previously. Problem statement: I manage a few dozen repos via myrepos (mr), and I wanted a single command to show which ones have work in progress (“WIP”) — uncommitted changes, dirty staging area, stray branches and alike. I want...
Problem statement: a site / domain needs pop-ups for OAuth / logins, but I don’t want to disable Safari’s pop-up blocker globally just to appease a couple of domains. Safari lets one scope the exception on a per-site basis. The domain...
Previously. Problem statement: one of my skills, /pr-pass, was a hand-rolled loop — push, poll CI, fix a failure, re-push, repeat, bail after five iterations. It works quite well, and it’s one of my most used skills. That said, recently...
Today in AGI: two Claude agents, same annotation, opposite answers. I had a PR touching an ArgoCD PostSync hook. Ordering hooks within a phase needs an annotation, so I asked; Claude Code (Opus 4.8) and Claude in GitHub disagreed: Claude...
cmux is the best implementation I’ve seen for agent orchestrators apps like Conductor, T3 Code, Dux, and friends: Open source Ghostty-based macOS terminal with vertical tabs and notifications for AI coding agents. Built for multitasking,...