¬ 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

Problem statement: My blog automatically selects a light or dark color theme depending on the user’s browser or system preferences. Assume it currently defaults to light. How to force dark mode temporarily? This is needed for local...
Problem statement: Delete all local git branches whose counterpart remote branches have already been merged upstream. Update ~/.gitconfig: gitconfig Copy [alias] prune-gone = !git fetch -p && git branch -vv | awk '/: gone]/{print $1}' |...
GitHub allows marking PRs to be merged when ready. This means a merge operation will automatically happen in the background once all PR requirements are satisfied i.e. CI checks pass, teammate approvals, etc. At Google (Critique, Piper)...
Ghostty has a Quake-like1 mode to pop up a terminal (console) from the top of the screen, no matter where you are. Enable it with this setting in your Ghostty config: keybind = global:cmd+;=toggle_quick_terminal global: is what does the...
It’s about time: I added a blogroll to my site. The list comprises not even 10% of my subscriptions, but it was carefully curated. I am just trying to do my part to keep the Indie Web alive. :)
fx is the new jq (via): I’m a longtime user of jq, but its language is… not intuitive to me. I spent a lot of time searching for prewritten jq programs I can use, or reading the docs trying to figure out the exact thing that I want to...
https://github.com/nalgeon/howto (via): Humble command-line assistant Howto helps you solve command-line tasks with AI. Describe the task, and howto will suggest a solution: Howto works with any OpenAI-compatible provider and local...
Inspired by Joost van der Schee: Warrant canary added I have added a canary to the homepage. It is not just a pretty illustration, it is a signal that is accompanied by a timestamp in the head, called a warrant canary. I got the idea...
Note: This section is still a work-in-progress. As of 2025-11-25 I subscribe to more than 600 feeds. Here are some of these blogs I subscribe to (OPML): Marius: マリウス (RSS) Daniel Miessler (RSS) Daring Fireball (RSS) Kev Quirk (RSS) Simon...
For a long time I wanted to write a blog post about stow. My procrastination has paid off: pbrisbin has written one first. I recently migrated my dotfiles from rcm to GNU Stow. I didn’t really have a reason, I wasn’t unhappy with rcm at...
As of November 24, 2025, I, Thiago Perrotta, have not received any National Security Letters, FISA court orders, or any other classified request for user information. To verify the date and integrity of this message, here is a recent...
Previously. Instead of creating custom slash commands myself, now I am turning to Claude to do so for me. Prompt: @agent-claude-code-guide create a slash command for… This is a built-in agent. Let the experts agents handle the cruft. For...
Disassociated (via): Personal blogs are back, should niche blogs be next? A resurgence in personal blogging is the first step in rebuilding a vibrant, thriving, web, or if you like, blogosphere. Now the focus needs to be on restoring the...
When running git stash, it’s possible to pass a “stash message” to it with -m, just like how you give a “commit message” to git commit. git stash -m "first draft, approach #1 from design doc" You can view past stashes with git stash...
Thanks to help2man: help2man produces simple manual pages from the --help and --version output of other commands. […] This program is intended to provide an easy way for software authors to include a manual page in their distribution...
Search Random