¬ 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
It takes effort to overcome friction. This year I have completely moved away from Google Search. First, thanks to ChatGPT. Then, thanks to Kagi. You may think this is a blog post gimmick to sound dramatic, but it is really not. Nowadays...
My current workflow to manage shell history is simple, I have this config in my ~/.zshrc.d/ shell Copy # fzf: fuzzy file finder if (( $+commands[fzf] )); then # alpine/arch, debian src_files...
I face this annoyance all the time: thiago.perrotta@thiagoperrotta-MacBook-Pro ~ % python zsh: command not found: python 127 thiago.perrotta@thiagoperrotta-MacBook-Pro ~ % python3 Python 3.14.0 (main, Oct 7 2025, 09:34:52) [Clang 17.0.0...
From ‘Technical Support’ tales of the trenches. Whenever CorelDRAW is installed on Windows, by default it will display ads upon startup, every single day. I call this malware. To disable this hostile behavior: Open Task Scheduler...
When using Chromium or derivatives, you can add a bookmark to your Bookmarks Bar with the following link: chrome://bookmarks It’s a quick shortcut to Settings > Bookmarks and Lists > Bookmark Manager.
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...