RSSAmplifier

Blog

A Calustra

acalustra.comRSS feed ↗98 posts

Latest posts

I’m happy that I made it.

It was early 2017, and I was working remotely as a software developer for a company in London . But I wanted to do something in the open-source world. Around that time, Kubernetes was starting to rise. I didn’t know anyone running Kubernetes in production yet, but I remember projects …

On AI Agents, MCP, and Tool Selection

One of the things that's been worrying me about the current AI landscape is how we handle tools, or MCP, if you prefer. At the end of the day, MCP is essentially a wrapper on top of tools that allows them to be exposed and called by a framework. But …

Coming Home, Carrying History

As 2025 draws to a close, I find myself reflecting on what has been an extraordinary year, incredible in ways I never could have anticipated and at the same time, one of the most difficult periods of my life. The year began in darkness. The second tumour hit me. It …

How I dictate to my computer with Kroko AI

I've been experimenting with dictation for a while now. The problem with most speech-to-text solutions is that they all send your audio to the cloud. Whether it's Google, OpenAI's Whisper API, or any other service, your voice data leaves your machine. That's always bothered me. Not because I'm saying anything …

Marcos: A year of perspective

It was about a year ago when I was lying in a hospital bed. A few days after my second surgery, I was shocked by the results, the tumor was larger than expected. It had gone badly. My wife was with me when she got a call. The news hit …

Can Google win the AI race?

Over the years, I've tried to understand how companies work. One thing that worries me about companies is when they don't realize they can die, whether they're big or small. But honestly, a bit of death is good for companies. It clears out the bullshit, aligns priorities, and real innovation …

Rust, PIO, and Racing: A Personal Project

A little while ago I finished up a personal project that made me genuinely happy. It brought together few things I enjoy: tinkering with hardware, Rust, and slot car racing. I’ve been into slot cars for about 20 years now. In my village the scene is surprisingly big, and …

How AI is going to change software dev

Everyone’s talking about AI and large language models (LLMs). The pace of change is wild! Just recently, we were laser-focused on Retrieval-Augmented Generation (RAG), and now it’s all about Agents. Let me share my personal opinion about some AI topics. First of all, I want to make it …

Rust Design Patterns I Use All the Time

The other day, I was chatting with a friend about design patterns and realized that we often use them without knowing their formal names. Here are a few patterns I find especially useful when working with Rust. If you want to work effectively with Rust, these are some design patterns …

ESA's Proba-3: Creating Eclipses on Demand

It's been an exciting few weeks for the European Space Agency! Let me introduce you to the Proba-3 mission , which will allow observation of the Sun's corona without interference from sunlight, mainly through eclipses on demand 🤯! The Proba-3 consists of two satellites: the Coronagraph (CSC) and the Occulter (OSC). The …

Biomass: A New Era in Radar Earth Observation

This week the Biomass satellite was launched, one of the most ambitious Earth observation missions by the ESA. Its goal is to measure the amount of forest on Earth and monitor how it is evolving. The long term goal is to help scientists to understand how the forest affects the …

Inertial Measurement Units (IMU): Understanding Accelerometers, Gyroscopes, and Sensor Fusion

One of the things that I considered easy was working with IMU (Inertial Measurement Unit) , but I have found a few challenges. IMU normally refers to an electronic device which has an accelerometer and gyroscope that measure the body-specific force, angular rate, and orientation. They are everywhere: from your watch …

Managing Pain After Tumour Removal

It was the 19th of November. My doctor's face turned white when I asked how the surgery went. He mentioned that the tumor was even worse than the previous one, and it would be a long journey to get back into good shape. Since then, pain has been a constant …

Mathematical Notation to Python Mapping

I did not attend college, so I learned a lot of things on my own. I'm good at Math, but because I learned math using programming languages, the Math language is always something I need to read ten times to understand. This is a map model for me. Nowadays I'm …

Embedded Rust Development Tips with Embassy

I've been working with embedded Rust for a while now, and there's one thing that keeps coming back to bite me - debug visibility. You know that feeling when your device works perfectly on your desk but starts acting weird once you've deployed? Yeah, I've been there a few times. So …

Carlos Sainz Quotes

I really enjoyed this Carlos Sainz interview, where he talks about sports, parenthood, perseverance, winning, and losing. His insights are truly inspiring. Here are some of his most memorable quotes. Squash is a sport with a bad reputation, but it's a fantastic sport. It's a sport where aerobic capacity is …

Reflexión sobre a Industriosa

A Industriosa é un espazo único que moitos apreciamos profundamente. Durante os seus sete anos de existencia, evolucionou grazas ao esforzo colectivo dos socios, pasando por diferentes etapas que deixaron a súa marca. Neste contexto, gustaríame compartir algunhas reflexións persoais sobre a situación actual, sempre co obxectivo de mellorar e …

Can an LLM Just Get It?

Recently I've read a lot of security-related stuff, mainly because of the awesome 38C3 conference. In that conference, there was a disclosure about how the VW Group stores multiple insights about their cars. More info can be found here (summary) and here (talk in German): They gained access through of …

Playing with Pipewire audio streams and Rust

The world of media and Linux got a major update over the last few years thanks to the work done in Pipewire. Over the last few days, I was playing around with audio to see what can be done using Pipewire. If you don't know, Pipewire is a project which …

2024: The year of tumours and challenges

This year has been a journey of resilience, marked by two surgeries and multiple recovery periods. Currently, I'm in the midst of another two-month bed rest, reflecting on the path that brought me here. Late August brought the unwelcome discovery of a second 6cm tumor in my hip. The most …

Transforming Government Tender Data into Insights with DuckDB

I’m currently on my second tumor recovery, and, as in the past, I need to spend most of my time lying in bed. I’ve decided to use this phase as an opportunity to learn new things and stay active. This time, I want to go deep in understanding …

Custom AI Agents and the Future of Workflow Composition

Over the last months, I've been working with LLMs full-time. All of these technologies are moving fast! The simple chat app is no longer valid in late 2024. Moving into agents will be a key concept and the way forward. Agents are simple. Let me introduce them to you. In …

Using National Certificates with OpenSSL and YubiKey

When I tried to use the national certificate, I was unable to do so due to the encryption algorithm. Some algorithms are set as legacy in the newer versions of OpenSSL (3.0.0). To discover the encryption type, you can run the following: -> openssl pkcs12 -info -in cert.pfx …

My Experience at PyConEs

I had the privilege of attending PyConEs, the largest tech conference in my town. From the moment it was announced, I knew it would be an incredible event, especially since many of the organizers were close friends whom I admire. Although I'm not heavily involved in Python development (though I've …

Effort is not negotiable.

A year ago, I was leaving the oncologist's office; everything was dark! I had no idea if I could move again. A year later, I can walk without a stick and have a "normal" life! I was lucky in many ways, but effort is not negotiable. I worked hard and …

The Importance of Learning Beyond Your Field

This week, I was with a friend whose team had an issue with the measurement of an acoustic device, so he asked for advice from a former manager. The guy is incredible because he's old school, - low-level stuff - one of the most incredible people I've met. He understood the problem …

Google Gemini Workshop: Function Calling and AI Insights

I went to an awesome workshop at our local hackspace about Google Gemini and function calling. I can only say thanks to Merchi for giving it; I learned a ton of things regarding Gemini models and AI in general. During the workshop, we tried to see how to chain functions …

Less 1:1 meetings

Over the past few years, I had weekly 1:1 meetings with my manager. However, after returning from a long sick leave, I realized that these meetings were doing more harm than good. While weekly 1:1s are useful for identifying issues, they created the following problems for me: In …

Nix flake for embedded programming

Lately, I've been using Nix more and more as a development platform. Docker has been great, but Nix allows better integration with editors. When I revisit older projects, Nix is a reliable way to ensure they work. Embedded programming is not part of my day-to-day work, so having a Nix …

Reverse Engineering an RS232 Device

For a couple of years, one project I have wanted to pursue is building a Lap Counter TV application for our local Slot Racing Club. At the club, we use a lap counter technology that is 20 years old, featuring an RS232 interface from which I can retrieve data. I …

Playing with ESPHome

Have you heard of ESPHome ? It is one of the projects which understand how important is user experience in any project, especially in an open-source project. ESP ecosystem is growing, and there are a bunch of projects out there that simplify complex tasks Personally, I'm not a big fan of …

Optimizing Python Development: Virtualenv Kernels with Nix and Jupyter

Over the past few weeks, I have been immersing myself in mathematics and physics, while also exploring the latest advancements in GPU technologies and the broader world of computing. However, working with Python packages can be a bit challenging when your operating system and configuration are based on Nix. JupyterLab …

How I keep notes on different projects

A lot of people know me as the person full of notes and lists. I'm always write things down, trying to keep everything organized. So, the other day, I found myself chatting with a friend about my project management techniques. I explained how I strive to stay cool, keep everything …

Lessons from Skunk Works

Recently, a good friend convinced me to dive into a book I initially approached with scepticism. However, after delving into its pages, I can confidently say it has secured its place among my top favourites. "Skunk Works" is the pseudonym behind Lockheed Martin's Advanced Development Programs (ADP), written by Ben …

Org-Mode Workflow with Neovim: VISIBILITY directive

I have been using org-mode for a few years now. The Neovim support is good, and I love the way it handles tagging sections, links, formatting, and structure. I am also happy with the agenda support it provides. However, one of the issues I've encountered is the inability to unfold …

Leasons learned from writing a kernel module in Rust

The other day, I explained how to deploy a sandbox VM to develop Kernel modules written in Rust . Over the past few days, I've been writing some code that has helped me discover how to create a new module written in Rust. At the moment, support is not complete. The …

On being sick

Life is a whirlwind, isn't it? Taleb describes these events clearly in all his books. Sadly, I have my personal Black Swan event. I was cruising one of my best summers in my life, I was just happy, with a head full of dreams and plans! But that morning, on …

Unlocking the Magic of Pandas: A Developer's Love Story

Pandas is one of these projects that you can only feel in love. Even if you're not accustomed to working extensively with data, Pandas offers a plethora of advantages: Seamless integration with Jupyter or ipython. Extensive documentation comprising beginner guides and comprehensive API references. Rich ecosystem, including tools like geopandas …

Simplifying Rust Kernel Module Development with Nix

Writing a kernel module is something "almost" straightforward, it has been in there for years, and it's generally easy to work with. However, with the recent addition of Rust support in the kernel, crafting Rust modules can become a bit more challenging. Recently, while exploring Rust kernel modules , I found …

Dynamic Serialization with Protobuf on Embedded Rust

The other day, I found myself in a situation where I needed to transmit data via LORA , and then, I realized I needed dynamic serialization for my data structures. Fortunately, there are several serialization engines available that I could leverage. Typically, I'd opt for JSON due to its simplicity and …

Tips for Rust debugging in Neovim

One of the most important aspects of programming in Rust is efficient debugging. There are various tools available for this purpose; some developers prefer the Debug Adapter Protocol (DAP) , which is utilized by default in VSCode. However, for those using Neovim, the trendy direction is nvim-dap . Since GDB version 1 …

Tips for embedded developers on Rust

One of my hobbies has been extensively working with Rust in embedded development. Over time, I've observed that many embedded developers transitioning from C to Rust often underutilize the language's features, leaving room for code improvement. Here are some recommendations for those starting out. Not utilizing generics or traits Harnessing …

Fosdem 2024 review

As every year, the first week of February, Fosdem took place. This year I cannot attend due to my health conditions, but I'm happy that the talks were recorded, and I can see it online. These are the talks which I liked and I enjoyed: An Introduction to Open Source …

On promotion: Lessons learned along the way

My manager confirmed my promotion to Principal software engineer a few days ago. Getting in there made me happy; in fact, I enjoyed more the process. I would share some thoughts with you. The process is a bit long. To get in there, my manager and I need to write …

Unlocking Fiber Deployment in the town council: A Citizen's Journey of Using Data

European Union is pushing some money to all countries to develop infrastructure for the regions. The kind of infrastructure does not matter, and the regions ask for their needs. One of the biggest for many town councils in my area is deploying FFTH to all homes, but as normal, some …

Embedded Rust katas in A Industriosa

Embedded Rust is something that it's taken off over the last months. In February, we will start a Monthly Kata where all of us work on different projects while learning Embedded rust. For these sessions, there is no need to have prior knowledge, and the agenda for the katas will …

Make your Golang project more secure with a few simple tools

Over the last few years, I have been jumping between multiple Golang projects within different teams. These are a few tools that are not well-known by many developers but make your code a bit more secure. These static check tools fit nicely on your CI pipelines. Other tools validate what …

What I wish my Telecom operator offer me

Last week I was on a call with my internet provider, and surprisingly the agent started to offer me a revolutionary product, "health insurance", yes it was my telecom provider. I understand why this happens; company boards want to diversify the cash flow of revenue, which is a way to …

On Agassi's biography

One of the best readings this year was Agassi's biography, "Open". The book explained so many concepts that I enjoyed each page even though I never followed tennis. Agassi's life is a rollercoaster! He hated tennis, yes you read correctly! He played tennis mainly because his father -a frustrated athlete- …

Speaking at Pulpocon 2022 about Edge Computing

Pulpocon is, for me, one of the best conferences in Spain. The level of speakers and attendees is just crazy for a conference located in Vigo-Spain, and I couldn't imagine this conference ten years ago. This year has been challenging for me, and being able to speak at this incredible …