WRITELOOP

POSTS

(these take longer to read, but are more deep-diving)

2026 October 1: Creating My Own Deep Research Solution Read...

I wasn’t fully satisfied with the Deep Research solutions I found in the market, and then I decided to leverage my own one using Hermes Agent (that I use on an isolated VM on dedicated hardware as my personal assistant). This has helped me to use AI for research not as a passive consumer, but as someone that can tweak the results to reach the standards I value and still preserve my critical thinking when reading the reports it produces. I have iterated a lot in the last few months to a point that now I am feeling more satisfied with its results. Here is how I have achieved that.

2026 May 20: Turning HTML into markdown with html-to-markdown Read...

I needed a way to grab HTML content from the web and convert it to markdown locally without letting my pi coding agent waste tokens parsing raw HTML. I found html-to-markdown, a Rust CLI tool that does exactly that. Here is how to install and use it.

2026 May 13: How I use navi for CLI cheatsheets Read...

I am a heavy cli user since my early linux days on 1998, and the amount of tools I use have grown ever since so that it is hard to know the syntax of everything by mind. Some years ago I have discovered navi, which is a cli tool that helps with creating cheatsheets for commands and parameters that I use and which is great to help me categorize and add some small descriptions to what a command does and its params. It is a simple but very useful tool that I have even integrated to my bash shell configuration to be summoned whenever I need a specific command or a set of params that will help me achieve a specific result. Here are the instructions to installing it on a Linux machine using rustup/cargo.

2026 May 6: Storing secrets as a user with systemd-creds Read...

I needed a way to store API keys for my pi AI agent without relying on .env files or a desktop keychain daemon. I found that systemd-creds –user does exactly that, with encryption baked in and no root required. Here is how I set it up.

2026 April 27: Easy way to distribute git hooks Read...

I needed a way to run a script to sync my local repo to a machine that cannot have git installed, right after I made a git push. I didn’t want to install pre-commit or any other tool for that (and I wanted the hooks versioned on the repo), so I searched for a way to do that the simplest way possible and I was able to came up with a solution. Here I describe how I was able to achieve that.

2026 April 14: How to fix for general slowness when plugging an HDD to a linux machine (EndeavourOS) Read...

When setting up my new zimablade for backups, I found out that everytime I operated on my external HDD on a USB 3.0 Enclosure the machine was fully taken to a halt. System (EndeavourOS) would freeze for some seconds, commands would become slow, etc. This is how I solved that.

2025 December 6: How to clone only part of a github repository Read...

When setting up MagicMirror for my new Raspberry Pi setup, I needed to clone part of a git repository of mine that had ‘achievements’ markdown files I use to track some important things I did on a specific date (be them related to tech or my personal life). I use that to keep me motivated. But the repository that holds those files also holds a lot of other things that I would not need, so I needed to find a way to clone only part of it. And here is a way to do that.

2025 October 10: Update cargo and rustc version to install root cli tools/apps Read...

Sometimes when installing a package it complains that it needs a higher version of cargo/rustc. Here is how to update those rust tools.

2025 May 29: Recovering from a kernel update failure Read...

During a routine packages update on my arch-based distro (EndeavourOS), the kernel setup via dracut failed with a ‘Broken Pipe’. Here are my notes on how to fix that.

2025 January 14: fix: pyprland not working after python update on arch-based distro Read...

My arch-based distro (EndeavourOS) has recently updated the python packages and then suddenly pyprland stopped working. Here are my notes on how to fix that.

2024 November 21: Install last cargo version on Ubuntu Read...

I discovered ’television’, which is a CLI tool written in rust that provides a fast general purpose fuzzy finder I can use on my terminal. I want also to use it on the (K)VM I use to develop on, which has Ubuntu 22.04 as the operating system. And I was not able to do it there with cargo installed from the apt repository because it was too old. This is how I was able to do that.

2024 June 21: Lock and/or downgrade packages on arch linux Read...

Sometimes we want some packages to not be upgraded, or to downgrade them to previous versions. Here is how to do that.

2024 April 4: Use datetime.timezone.utc instead of pytz Read...

This is a short explaining an alternative on python’s stdlib for pytz

2023 December 4: Upgrade NixOS to next version Read...

Recently I had to update my NixOS lab VM from 2023-05 to 202311. Here are the steps required to do that.

2023 October 10: Prepare a VM/LXC container template on Proxmox for NixOS Read...

When generating a template VM or LXC container, you need to swipe and re-generate some configuration so that the VM/LXC container generated becomes unique from the Proxmox’s perspective. Here is a description on what is needed.

2023 October 3: Create NFS share on Proxmox Server to make it available on the network Read...

One of the features on my new Proxmox server will be to provide NFS shares on my home network, which are compatible with lots of machines/clients/systems and will be useful to share files between the Proxmox host and its’ guests also. Here are the steps required to setup the NFS server the clients.

2023 September 30: A primer on LVM (when setting up Proxmox) Read...

I had done a new Proxmox setup on a beefier SSD, and by default proxmox uses LVM to handle disk ‘partitioning’, which was always a little cryptic to me. That looked like a great opportunity to learn something new that can be useful in the future, so I took some time to understand it and consolidate here for my future self when the need arises.

2023 February 25: Molecular Notes - A second brain system to deal with concepts, insights and ideas Read...

These are some notes I took while reading 2 interesting articles from someone explaining his second brain system.

2023 February 22: PopOS 22: random freezes when using btrfs and timeshift Read...

I noticed my system was randomly freezing for some seconds when I was using btrfs and timeshift on PopOS 22. Searching a little bit online, I discovered that is related to btrfs quotas enabled, although them not being stable yet. Here is how to fix that.

2023 February 14: Is complexity always a bad thing? Read...

As software developers, we tend to not like complexity. Here are some of my thoughts after listening to a podcast episode.

2023 February 6: ZRAM compressed memory on PopOS 22 Read...

This is a short explaining what is ZRAM and what are its’ benefits and tradeoffs.

2023 January 28: ansible: 'Missing sudo password' error when running playbook or ping Read...

I spent some minutes trying to understand what was happening when trying to run ansible ping on a machine I could manually ssh into, but ansible could not connect to it. Here is what I did to fix that.

2023 January 5: Setting up Proxmox on a notebook Read...

I have been experimenting with KVM and LXD linux containers, but that requires some bootstraping that I consider tedious. For some time I have been hearing about Proxmox, which is a linux distro based on Debian with focus on virtualization. I have installed it on a spare notebook here at home, so to experiment with linux distributions, kubernetes and creating lab environments whenever needed. Here are some tips I collected and applied to my setup.

2022 October 4: Ten to Zen - book notes Read...

We don’t give our own minds the same level of attention that we give to our body and even other people. Many of us go through life without realizing we automate behaviors and create beliefs based on our past experiences - no one teached us how to spend time with our own minds and inspect and question our thought patterns. This book written by Owen O’Kane gives awareness on that and proposes a methodology to question, inspect and learn from our own thought patterns, behaviors and beliefs - or, like we say on software development, to ‘debug’ and ‘profile’ ourselves. If that sounds interesting to you, keep reading.

2022 September 22: latency numbers cheatsheet Read...

Here is a reminder of some latency numbers we developers must have in mind when drafting our solutions/algorithms.

2022 September 16: sudoedit: fixing error 'editing files in a writable directory is not permitted' Read...

sudoedit is useful when you need to edit a file like if you were root, but you want to keep your editor configuration and plugins (e.g. vim, neovim). Here is how to fix this error.

2022 September 15: Delete all videos from YouTube's Watch Later playlist (watched AND unwatched) Read...

I use YouTube a lot for learning and content creation. The Watch Later playlist has a 5k videos limit, but if you are an avid user you can fill that in less than a year. I know there is a YouTube API, but I didn’t want to take time with that. So, searching a little bit online I discovered how to solve that using your browser’s javascript console. Here are the instructions on how to do that.

2022 September 12: Notes on Dependency Inversion (the 'D' on 'SOLID') Read...

Dependency Inversion can be used to decrease coupling between classes. Here are some notes on a video I recently saw on YouTube to reinforce that.

2022 September 9: Thunderbolt for eGPUs on Linux Read...

I have been curious on using external GPUs (eGPUs on Linux) on notebooks with thunderbolt ports. That would allow to buy a notebook for the portability but also use it for video creation/processing and gaming. Here is what I learned from a recent YouTube video about it.

2022 September 5: Data Structures - Arrays Read...

Arrays are one of the most fundamental data structures to be used on algorithms. Here are some notes regarding arrays and its’ python implementation (lists)

2022 September 5: Power management on linux (PopOS!) with upower and TLP Read...

Battery (power) management on linux is a little tricky. Here are some notes regarding popular tools used to inspect it.

2022 September 1: Big-O Notation summary Read...

A quick reference on Big-O notation

2022 September 1: Notes on monorepos Read...

Monorepos have some benefits, which comes with some trade-offs. Here are some thoughts about it.

2022 August 29: Notes on code cohesion/coupling Read...

Some notes on code cohesion and coupling to write better code

2022 August 27: Installing PopOS! with functional btrfs support and timeshift Read...

When installing PopOS and choosing btrfs as the filesystem, it does not install correctly so to support timeshift. After digging, I found a video on YouTube explaining it like I was 5, so I am posting here to my future self.

2022 August 27: Versioning on APIs Read...

Here are my insights into why versioning is important and how to implement it.

2022 August 25: Notes on monadic error handling - an alternative to exceptions Read...

Here are some notes on a video from Arjan on Youtube where he presents monadic error handling as a better alternative for exceptions that you could adopt on your python solutions.