Recent Posts

  • ELF's Linker's and other magical creatures

    One of the popular topics on many engineering blogs is program startup and ELF file structure. Given that fact, a reader may have some objections about whether another post about ELF makes sense or not....

  • Writing Linux Filesystem for Fun

    In May 2018 I gave a talk for the C/C++ Dublin meetup at the MongoDB office — starting from the historical background of Unix filesystems and finishing with a working implementation of a simple filesystem...

  • Digging into Linux FileSystems

    UNIX Filesystem story goes back to the first implementation of the operating system. Since then, many different implementations and improvements were made. Due to that FileSystems became quite composed but also rock solid piece of...

  • How to Abstract Hardware Accelerator

    At the 2017 Xen Developer Summit I presented on abstracting hardware acceleration devices in cloud environments — covering accelerators in general, then drilling into what virtualization and multi-tenancy actually demand from the hardware and driver...

  • The Xen way

    What is Xen? In terms of open source hypervisor main players are: KVM and Xen, these projects can be used on a personal laptop as well as in commercial. There are also: Virtual Box which...

  • Qemu for the impatient

    Why not using qemu? In this article, I am trying to provide some useful qemu configuration for debugging or evaluation purposes. I will assume that reader is already using qemu so I am not going...

  • Overlays and underlays networks in SDN

    The phenomenon that can be observed nowadays is the exponential growth of the internet. Certainly there can be not a shred of a doubt here just a month ago as the IPv4 addresses ran out,...

  • Simple Rootkit

    The most intuitive way to write code for linux kernel is to add some code in kernel sources, recompile it and run. This approach is not terribly time consuming because kernel recompilation (even with cc)...

  • Single Bit Operations Cheatsheet for C Programmers

    Note: This post was originally written in 2015 and has been lightly refreshed for clarity. The content and examples are unchanged — just the presentation got a coat of paint.