Things I'm working on

For Red Hat

I'm part of the virtualization team at Red Hat. I'm presently focusing on Kata Containers, e.g. Fedora packaging and building a smaller version of QEMU optimized specifically for this use case, tentatively dubbed qemu-mini. I gave a presentation about these at DevConf.cz 2020.

Useful open-source stuff

I am also working on other open-source projects that I hope will be of use to Red Hat, but were not specifically commissionned by them. These projects were things that I did on my spare time and then used for my work notably on SPICE.

  • The make-it-quick project is a very small and simple build system using only make but dealing with autoconfiguration, at least enough of it to satisfy the need of the other projects I work on. This was also used for SPICE.
  • The Flight Recorder project is a printf-compatible high-performance logging system designed to dump things after a crash. It can also be used for real-time tracing and graphing. So if you want to easily see nice graph of values that evolves inside your C or C++ program, that's a good way to achieve that objective.
  • In the past, I have been involved with a large number of open-source projects, including Emacs ( first graphical port on MacOS X) or the runtime ABI for C++ that GCC currently uses. I am no longer really involved with these projects, but you may still ask questions, I may still remember a thing or two about these projects.

XL Programming language and derivatives

The main focus of my personal open-source projects in the past years has been an extensible programming language called XL, and derivatives such as Tao3D.

I'm still actively developing these, but not on Red Hat time, since this is not even remotely related to what I am paid for on virtualization. Since I'm working from home, "not on Red Hat time" is a bit of a fuzzy notion, so I formalized it as "before 10AM, after 6PM or on week-ends". That still leaves plenty of room, and I'm quite passionate about these projects.

Tao3D is currently extremely broken. There is a long and complicated history behind that, which is related to LLVM caring as little as possible about source or binary compatibility, and with Tao3D using LLVM for the language, and with Tao3D using OpenGL, and with a primary OpenGL implementation on Linux being Mesa, which also uses LLVM, and with a simple function like opening a graphics context crashing when the LLVM I need for XL does not match the LLVM Mesa wants for 3D graphics.

In short, it's a very tough nut to break, and I believe it may take me a year or two to solve it correctly. Until then, I rely on binary compatibility and run the macOS version of the software.