Matwey Kornilov

Open Source

Highlighted projects

Pybeam – BEAM file parse in Python

Why would one need to parse BEAM (Erlang virtual machine files) in Python language? The reason is called rpmlint. This tool is employed by a vast majority of modern RPM-based Linux distros to ensure RPM packaging quality. When packaging application, written in Erlang, an ability to extract metadata from just compiled *.beam files may come in handy. As an example, pybeam is used to check debug_info presence at openSUSE, or to provide automatic RPM package dependency generation for Erlang at Red Hat.

Under the hood, pybeam heavily relies on construct — declarative binary parser.

libopenvizsla – OpenVizsla host software reimplementation

OpenVizsla is an open hardware project aimed to provide USB debugging and sniffing tool. It consists of USB PHY connected to FPGA, equipped with FTDI chip to communicate with a host PC. Even though the Python-based host software is provided by the hardware project authors, libopenvizsla provides an alternative plain C interface to communicate with the device. Later, Tomasz Moń implemented and contributed WireShark external cap based on the library. The external cap makes it possible to capture USB frames and analyze them with WireShark dissectors. There is also a module for libpcap, the famous packet capturing library used by tcpdump and WireShark.

Fips – an OpenGL based FITS viewer

FITS is a legacy format for storing raw data obtained on astronomical telescopes. Even yet the format is forty years old, it is in heavy use in a modern astronomy world. Internally, it is like a numpy array dump format. So, Fips project is about copying a FITS file as-is into the GPU memory and employing different dirty OpenGL hacks to show this memory as an image. Surprisingly, this approach has drawn the attention of astronomical software community. Fips is a joined effort with my friend and colleague Konstantin Malanchev.