AI Infrastructure & Distributed Storage Researcher
I'm a PhD researcher at IMT Atlantique working at the intersection of distributed systems, storage systems, cloud computing, and operating systems. I enjoy working close to the system and understanding how software interacts with the kernel, the network, the hardware, and distributed infrastructure. I primarily work with C, Go, Linux, eBPF, Kubernetes, and Docker, with a particular interest in high-performance systems and the infrastructure required to build and run large-scale AI workloads.
Recent Posts
-
Preventing Segfaults in Shared Memory IPC: Using Semaphores to Signal Data Readiness
mmap() succeeding doesn't mean the data behind it is valid. A close look at the race where a reader touches shared memory before the writer is done, and how a semaphore closes it.
-
Safe Length-Based Data Sharing in C
Don't ask where the '\0' is. Ask how many bytes are valid. A progressive look at why strcpy() fails on shared data, and how length-delimited buffers fix it.
-
Saving the state of an interactive container
Sometimes we need to start a Docker container in an interactive shell for testing, but an interrupt destroys everything. Here is how to save its state.
-
Install OpenCV 4.5 on Ubuntu 22.04
OpenCV installation can be tricky on Linux. A correct process for building OpenCV 4.5 from source, for both Python and C++.
-
Real-time Disk Size Expanding in a Linux virtual machine
I was compiling the Linux kernel in a VM with a full 20GB logical volume. Here is how to expand the disk without losing your data, step by step.
-
CAFE BABE, if you know, you know. JVM enthusiast.
Each program has a magic word in its machine code that defines its identity. For Java class files, it's CAFE BABE, and the story behind it is great.
-
How your program's functions are handled in memory?
Because I always forget how the kernel handles a program's functions in the call stack, I wrote it down. Function prologue, %rbp, %rsp, and calling conventions.
-
What the heck is locality of reference, and why will I waste brain cells bytes to know it?
Locality of Reference is a critical Computer Science topic that helps improve your software's performance, if you're aware of it.
-
How the heck a C program is compiled from human comprehensible language to 0's and 1's
You may have wondered how programming language lexemes are turned into a series of 0's and 1's, aka binary files. Let's discover that together, step by step.
-
Why the heck the _state variable in task_struct structure is 4 bytes
The Linux process state needs six flags, so why is it stored in an unsigned integer with 2^32 possible values? The answer is in READ_ONCE/WRITE_ONCE.
Projects
-
OptRoute
Route optimization web app for efficient path planning and delivery routing.
-
Orsh
Open source shell written in C for Linux systems.
-
Laravel Passport
OAuth2 server implementation with Laravel Passport for secure API authentication.
-
Django Assignment Tracker
RESTful API for assignment tracking and authentication using Django.
-
Sockets
Socket programming projects and network communication experiments.
-
NestJS Template
Starter template for NestJS backend projects with best practices.