¬ 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
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...
Problem statement: Given a paragraph (lorem_ipsum.txt): "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation...
Lovely readers, I promise this is not turning into an AI blog1. I am merely documenting my baby steps. I use JIRA all the time. It’s our bug2 issue tracker of choice. And, now that I am slowly incorporating Claude Code in my daily...
Poor man’s TODO list / task manager: sticking post-it notes in1 the laptop, next to the touchpad / trackpad. It is practically impossible to ignore them! On the surface of the keyboard, not outside its lid case. “In” feels appropriate...
Yesterday we could no longer ssh to deploy servers (via a ruby-based wrapper we use). This was bad™. The error message looked like this: [...] Seahorse::Client::NetworkingError: SSL_connect returned=1 errno=0 peeraddr={redacted}:443...
Claude Code supports custom commands. The precise term is “custom slash commands”: Custom slash commands allow you to define frequently-used prompts as Markdown files that Claude Code can execute. Commands are organized by scope...