I love system programming and have some knowledge of OS, DBMS and compilers, as well as concurrency (low-level [CPU] and high-level [runtimes and distributed systems]).

During my work hours I’ve played with:

  • Bridging LLVM’s optimizer for eBPF with kernel via custom frontend
  • Lock-free/RCU B+ trees and algorithms in general
  • Hazard pointers, folio refcount contention reduction, etc, etc…
  • PostgreSQL query planner (AQO and in general)
  • GaussDB distributed planner

During my study and hobby time I’ve:

  • Developed a compiler for a C-like language in C++ (with LLVM)
  • Then rewritten it in Rust for fun
  • Wrote x64 codegen once (I hate instruction encoding for the rest of my life)
  • Wrote virtio-net and virtio-gpu drivers, including the necessary PCIe, sockets, and file descriptor subsystems for an educational operating system that had zero infrastructure for this. Later, with other students, ported TinySSH and Pong game to it.
  • Had fun with raytracing, small Unity games, FPV drones, self-hosting, and so on

Sometimes I try to contribute to open source: Linux (at work & maintain one driver there), LLVM (and its wrappers), and other projects. I am not very active tho, but I plan to improve