¬ 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. I configured my Claude Code instance at work to include exactly 3 MCP servers: github playwright (browser automation / testing) atlassian (JIRA, Confluence, etc) Sensible, right? It’s not like I’m a heavy user of MCPs. I...
Problem statement: Given an existing repository whose default branch is master, make it become “fresh” (=fully reset it), as if it had just been created. # backup the current default branch, just in case git branch backup-old-master git...
Replaced all occurrences of pipx run in my projects with uvx. uvx docs: The uvx command invokes a tool without installing it. Perfect for one-off tool executions (“one-shots”). For example: % cat ~/.bin/az_switch #!/bin/sh # Switch...
Alpine Linux: The Alpine Linux Technical Steering Committee (TSC) has decided to change the base filesystem hierarchy. In the future, /lib, /bin, and /sbin will be symbolic links to their /usr counterparts, and every package shall be...
OR: “cherry-pick a cherry-pick”. Adam Johnson: git cherry-pick allows you to copy a commit another branch to your current one. […] One limitation with a straight-up git cherry-pick, as above, is that it always copies the entire commit....
Tweak ~/.gitconfig: [alias] xl = branch -vv [branch] sort = -committerdate Result: git xl will print your repository branches sorted by the most recent ones in terms of activity, instead of the alphabetical default. I have this setting...
You are sending a PR upstream. You accidentally commit it with the wrong email. First, you prevent this mistake from happening again by updating your ~/.gitconfig. And now you need to fix the most recent commit. You can easily do so...
Problem statement: get a random word via shell scripting. Assume a typical Unix / POSIX environment is available. There are various ways to do so. Dictionary shuffle Pick a random word from the system dictionary: % shuf -n 1...
It is well-known that, given larry@gmail.com, you can use the Gmail “plus addressing” (+) feature with larry+{alias}@gmail.com to receive emails in the former. But what if you need to send emails from larry+{alias}@gmail.com? This turns...
Daniel Roy Greenfeld, TIL: Merging two git projects: Of course this task can be done with copy/paste. The challenge there is the loss of git history. All the history of struggles and tribulations are gone. More important is the...
Chris Wellons, My favorite C compiler flags during development: The major compilers have an enormous number of knobs. Most are highly specialized, but others are generally useful even if uncommon. For warnings, the venerable -Wall...
To display the IMEI of your iphone, open the Phone / Dialer app and type in *#06#. The IMEI is an unique numeric identifier for devices: GSM networks use the IMEI number to identify valid devices, and can stop a stolen phone from...
zoxide: It remembers which directories you use most frequently, so you can “jump” to them in just a few keystrokes. For example: z perrotta.dev jumps to ~/Workspace/perrotta.dev/ z dotfiles jumps to ~/.dotfiles I had one issue. Given...
Ricardo Ander-Egg suggests to use executable scripts instead of shell aliases: I stopped using shell aliases and moved everything into executable scripts. I’ve been slowly doing the same. From his post, adapted: Main Benefits: No need to...
The following queries are useful to find flashcards (notes or cards) in Anki that you’re struggling with. is:suspended tag:leech The action item for each should be one of the following: do nothing for now delete the note / card if it’s...