powRSS
Home Recent Glimpses Shuffle Blogs Random

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

July 2026

August 2026

September 2026

Top Words

  • claude
  • code
  • reply
  • github
  • script
  • homebrew
  • commit
  • shell
  • atuin
  • update

All posts (395)

What is a hunk? When comparing two files, diff finds sequences of lines common to both files, interspersed with groups of differing lines called hunks1. There are various ways to treat git hunks as first-class citizens, manipulating them one at a time – staging, unstaging, or reverting them. The classic one is git...
When using Amp Code (a CLI coding agent), sending two messages in a row results in the second message interrupting the first. Most other agents (e.g. Claude Code, OpenAI Codex, Google Gemini) support message queueing by default, wherein the second message “waits” until the first promt is complete. To achieve the...
Terence Eden: A couple of years ago, I started serving my blog posts as plain text. Add .txt to the end of any URl and get a deliciously lo-fi, UTF-8, mono[chrome|space] alternative. I like the idea! Using Hugo it’s quite straightforward to do so1: diff % git --no-pager show 590bb2751 [...] diff --git...
Previously. Problem statement: I ran out of blog posts to read! Now what? Option #1: Take a deep breath, leave the computer, put your phone away. You’re not here for that though, are you? Option #2: Stumble upon™ delightful blog networks. I like: Bear Blog Discover (see also: most recent) PowRSS (see also: shuffle,...
Previously. I’ve been in love with watchexec: Recursively monitors the current directory for changes, executing the command when a filesystem change is detected (among other event sources). By default, watchexec uses efficient kernel-level mechanisms to watch for changes. It’s a modern version of entr. Its usage is...
Kagi, a paid search engine, allows adding custom bangs. Today we’ll add a custom bang for LeetCode. Navigate to https://kagi.com/settings/custom_bangs Click ‘Add Bang’ Input: Bang name: LeetCode Bang shortcut: leetcode URL template: https://leetcode.com/search/?q=%s Shortcut Menu (“Show this custom bang in the More...
Problem statement: I have one web browser for work, and another web browser for personal use. These are two distinct web browsers, not two distinct profiles in the same browser. Route work-related links to the work web browser, and vice-versa. This is on macOS. Finicky addresses it very well: A macOS app for...
Install Flameshot.app on macOS: shell brew install flameshot sudo xattr -rd com.apple.quarantine /Applications/flameshot.app open -a Flameshot The xattr is necessary or else: “flameshot” cannot be opened because the developer cannot be verified — § —Reply via email
After years using the default prompt from grml-zsh-config (with minor modifications), I adopted starship: The minimal, blazing-fast, and infinitely customizable prompt for any shell! My ~/.config/starship.toml is meant to resemble the zsh prompt I’ve been using, with minor tweaks and improvements: toml # Minimal...
This site is now monitored via self-hosted uptime infrastructure. How did I do it? Software: UptimeKuma. Open-source, self-hosted, simple & easy, has a docker image for deployment, sensible defaults, lots of customization possibilities. Modern, solid, well-maintained, popular (80k+ stars on GitHub). A no-brainer...

Page 27 of 40