My first contact with eBPF was reading about a networking tool for Kubernetes called Cilium. They advertised interesting performance improvements compared to similar tools, and it was all thanks to eBPF: a technology that allows us to run small programs inside the Linux Kernel. This short description gave me a high-level view that allowed me to explore, without really understanding how it worked (which is fine).
![Rafael "Auyer" Passos](/assets/profile.png)
Stay Curious
I'm Rafael, a Computer Scientist currently working in Software Engineering. I am driven by my curiosity and passion for technology. This blog is a place where I can share some of my thoughts and experiences, but most of all, a personal incentive to keep learning.
Recently Published
View AllIn my previous post, I talked about my studies on Kernel Development with a simpler Unix-like OS, called xv6. After finishing the MIT course 6.S081 Operating System Engineering (available online), I decided it was time to learn how to build the Linux Kernel. I joined a free software group (FLUSP) at the University of SĆ£o Paulo (USP) and started taking a course on Free Software and Linux Kernel Development. In this post, Iāll detail the environment setup I utilized for creating and testing my first contributions to the Linux Kernel.
After years of working in high-level development, I decided it was time to delve deeper. I decided to learn more about how Operating Systems are built. This is my inaugural article on the topic, and it covers how to compile the necessary tools and run the XV6 kernel for a RISC-V machine/emulator.
In my last blog post, I shared the latest tool that I have added to my arsenalā-āApache Arrow (or the libraries based on it). In this post, I will delve deeper into the topic and demonstrate some of the techniques I employed.
In the field of Data Engineering, the Apache Spark framework is one of the most known and powerful ways to extract and process data. It is well-trusted, and it is also very simple to use once you get the infrastructure set up. Understandably, most engineers will choose it for every task. However, in a lot of ways, it can be overkill. And a very expensive one.