Programming

Hands-on Python, Rust, Docker and developer tools tutorials. Step-by-step guides to set up environments, manage packages and master professional workflows.

  • 2026-04-18 - Use Anaconda Python in Git Bash

    Recently, for work reasons I have had to work on Windows and that is why I had the need to look for a comfortable option to use Git on Windows, with support from Bash to which I am accustomed in Linux and with Python Anaconda recognized. Somehow, the minimum version of how to use Windows without dying trying.

  • 2026-04-18 - Rust Ecosystem in Python

    For years, the Python ecosystem has grappled with the “two-language problem”: we write code in Python for its ergonomics, but when performance becomes critical, we drop down to C or C++. This transition has always been painful, introducing memory safety risks and considerable maintenance complexity. However, we are witnessing a paradigm shift. Rust has become the new standard for building Python infrastructure.

  • 2026-04-18 - MySQL Connector for Python on Manjaro

    Now that I use Manjaro instead of Ubuntu, one of the problems I encountered when adapting the development environment I use for work, is that the MySQL connector for Python MySQLdb depends on libmysqlclient-dev, which is not available in Manjaro. Here is how I solved the problem.

  • 2026-04-18 - Learning Rust: Part 1 - Basic use of cargo, variables and control flow

    Almost two years ago I set out to learn Rust, but I didn’t have time or really lacked the discipline to keep going. Now, I am firmly committed to this goal for 2025 and here I am taking notes, doing some exercises and starting a project. Regarding these notes, they should be considered personal notes, and well, I cover the basic details to start a project with cargo, print to the console, assign variables, understand variable types and use control flow (still without error handling).

  • 2026-04-18 - Install Anaconda Python

    In recent years, a tool has become popular not only as a base for the data analytics ecosystem («data science» as some also call it) but also generally for Python development (scientific, web, or general purpose). This tool is Anaconda, which not only provides us with a cross-platform package distribution system, a main repository with broad cross-platform support (default or anaconda channel) but also an environment manager to allow isolating our dependencies, facilitating reproducibility and avoiding conflicts.

  • 2026-03-23 - Rust Ecosystem for the Linux terminal

    Besides my personal interest in this language, I am also interested in the ecosystem of tools that have been developed in Rust for the Linux terminal and for supporting other programming languages (like its impact on Python, which is my main development language).

  • 2026-03-07 - Agent Readiness Framework for Coding Projects

    Coding agents are here, and they are not going away. But after months of using them —Antigravity, AmpCode, Opencode, Zed’s built-in agent— I have reached an uncomfortable conclusion: the problem is usually not the agent, it is the project. A poorly prepared repository will defeat any agent, regardless of how advanced its underlying model is.

  • 2026-02-24 - Best practices in Google Colab for sharing with non-technical teams

    In teams where technical and non-technical profiles coexist, it is common for the technical team to develop notebooks in Google Colab for periodic processes: monthly reports, data analysis, recurring tasks. The problem arises when these processes require periodic execution with small variations — a different month, another department, a new input file — and the responsibility of running them always falls on the technical team.

    image.png
  • 2026-02-21 - Authentication Error in Antigravity and AmpCode on Windows

    If you’ve installed Antigravity or AmpCode on Windows 11 and found it impossible to log in, you’re not alone. This authentication issue is more common than it seems and the usual solutions don’t always work. Here’s how I solved it.

  • 2026-01-18 - Zed: A fast and modern open source editor

    The official installation script instructions were verified and documented.

  • 2026-01-18 - Free AI Tools for Developers in 2026

    We are in 2026 and artificial intelligence is no longer a novelty, it is the standard. However, the bottleneck remains the same for many independent developers and students: the cost of subscriptions. Maintaining access to frontier models can easily amount to hundreds of dollars a month.

  • 2025-04-23 - Install Docker on Manjaro

    Now that I use Manjaro, it’s worth reviewing the steps to install Docker on Manjaro.

  • 2025-01-26 - No module named pkg_resources found in UV environment

    Starting February 8, 2026, setuptools v82 removed the pkg_resources module. If you experience this error after that date, the likely cause is the setuptools upgrade. The solution is to pin the version to the previous one, e.g., setuptools<82.

  • 2025-01-15 - Install Rust on Linux

    During my journey to learn Rust, I will be sharing some steps with you. This time, let’s cover how to install Rust on Linux and prepare ourselves to use it in VSCode and Notebook.

    Diagnostic of rust-analyzer suggesting the use of `let` to assign a variable
  • 2025-01-13 - Merging Video and Audio with FFmpeg and Bash

    Recently, my girlfriend asked me to help her download the videos of a course before access to the account expired, and it involved downloading videos from Vimeo. However, the download trick for these videos requires combining the audio and video later, so I’ll explain how to do this using FFMPEG and Bash.

  • 2025-01-06 - UV: A Fast Alternative to PIP and VENV

    UV is a package manager and virtual environment alternative for Python, developed in Rust, which promises to be very fast in the processes it aims to replace those of PIP and VENV. In this sense, all you need to do is add uv before the usual instructions, and it should work (except for some particular cases of compatibility or lack of implementation).

  • 2025-01-06 - Configuration of Python Projects and Tools with UV

    We will create a Python project using uv, which utilizes the pyproject.toml format for its configuration, making it easier to port across different environments. This format is also already widely used by other package managers of Python, and is commonly used for configuring utilities.

  • 2025-01-03 - Creating Documentation for a Python Project with Sphinx

    Without a doubt, an important step in any development project (and not just software projects) is generating documentation. For software projects, it’s possible to rely on tools that help automate documentation generation by extracting comments from the code, using keywords and markup language to modify style in the text, or including other elements such as images, equations, and links.

  • 2025-01-03 - Computing Geodesic Distance with Python

    I’d like to share how to compute the geodesic distance between two places using GeoPy (a Python library), one of the many things I’ve needed for my exploration in projects related to geographic information systems and routing.

  • 2024-12-10 - Connecting to a Cloud SQL instance on Manjaro

    Dependencies for Google Cloud SDK have been updated (now divided into three packages), commands adjusted to not require interactive confirmation or sudo, and SQL client recommendations updated.

  • 2020-08-30 - Compute specific and intersection elements with R

    This is my first posts about R language, my first english post and my first R package: venn.compute, which use case in bioinformatics is comparing list of genes.

    Venn diagram generate here with VennDiagram.