¬ 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)
The outcome: > Run rm -rf /tmp/test ⏺ Bash(rm -rf /tmp/test) ⎿ PreToolUse:Bash hook returned blocking error ⎿ Error: rm -rf is blocked for safety ⏺ The rm -rf command was blocked by a safety hook in your configuration (~/.claude/hooks/block-dangerous-commands.sh). If you want to remove /tmp/test, you have a few...
Problem statement: You’re midway in a long, multi-line prompt in Claude Code. > Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd...
I just added vim-style keybindings to this site. Press j to go to the previous post (chronologically, going down the list ⬇️) and k to go to the next post (going up the list ⬆️)1. The boundary between general vs coding posts is respected. I also added arrow keys (⬅️ for the previous post and ➡️ right for the next...
Claude code now officially supports showing context window information like percentage of usage in status line (via Ashik Nesin): > /statusline Add a progress bar showing the percentage of context currently used ⏺ statusline-setup(Configure statusline progress bar) ⎿ Done (3 tool uses · 7.4k tokens · 44s) ⏺ I've...
NetNewsWire is a great RSS client reader for macOS and iOS. I already use miniflux though. It’s too bad NetNewsWire does not support miniflux as a server back-end: Syncing via iCloud, Feedbin, Feedly, BazQux, Inoreader, NewsBlur, The Old Reader, and FreshRSS Or does it? Thanks to Luke Harris, I just realized it does...
Going on vacation? Have an iPhone? There’s no need to delete Slack, or your favorite on-call app. Simply offload noisy apps. Why is this better than uninstalling them? Because it’s much easier to restore them once you are back. You do so with a single tap in each app. Of course, this method is only effective if you...
Reordering mobile editing icons in logseq by Colin Bate: I found a way to avoid needing to constantly scroll sideways to access the icons I need. This is why I love the indie web. I was looking for how to do exactly the same operation, for exactly the same icon. Isn’t it so amazing when a person documents their...
This is one little productivity boost to make you a 10x Engineer! None of the popular AI blogs talk about this!!1! Problem statement: Make Claude Code emit a chime whenever it needs attention. diff Copy commit e668b387b6b34943143b046ad915effbd3945601 Author: Thiago Perrotta <{redacted}> Date: Thu Dec 4 02:33:11 2025...
This will never get old. Previously. It’s likely that person will never try and contribute to your project again.
I released a new tool: friendly_ping, a shell script to list all your open GitHub pull requests (still) waiting for review. Problem When contributing to multiple repositories on GitHub, it’s easy to lose track of which PRs are waiting for reviewer feedback1. You end up doing one of: Manually checking GitHub every...
I am reasonably confident to end up (fully) adopting jj in 2026. Baby steps though. Can I attempt to start to use jj to manage this blog? First, the usual: shell Copy brew install jj Second, a basic config file. git requires one too: shell Copy % cat ~/.config/jj/config.toml [user] name = "Thiago Perrotta" email =...
Inspired by tobi/try (via), I created my own try in pancake: Interactive ephemeral workspace manager. Create and navigate to temporary project directories with fuzzy finding, automatic date-prefixing, and recency scoring. Automatically spawns a new shell in the selected workspace. Usage: % try +feature...
Page 26 of 35