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
-
How write() Gets From Your C Code Into the Linux Kernel
Tracing a single write() call on x86-64 Linux from glibc through the syscall instruction, entry_SYSCALL_64, the task's kernel stack, and back.
-
From BitTorrent to IPFS: Understanding the Network Behind Decentralized Files
How the limits of client-server storage lead to peer-to-peer networks, why finding data without a central directory needs a DHT, and how Kademlia's XOR distance gets IPFS to the right peer.
-
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.
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.