Cockpit CI demands Testing Cockpit is not an easy task – each pull request gets tested by over 300 browser integration test cases on a dozen operating systems. Each per-OS test suite starts hundreds of virtual machines, and many of them exercise them quite hard: provoking crashes, rebooting, attaching storage or network devices, or changing boot loader arguments. With these requirements we absolutely depend on a working /dev/kvm in the test environment, and a performant host to run all these tests in a reasonable time. ... Read More
Why Rust? I had spent the last two rainy days of my summer vacation on learning Rust. Rust is becoming ever-more popular and is even making its way into the Linux kernel – so it feels like something I should know a little about. There have been a lot of new languages in the recent years, like Kotlin or Go. None of them are particularly attractive to me personally, as their strenghts and “selling points” just don’t apply enough to what I do – so far, that has been covered rather well between C, Python, and JavaScript. ... Read More
In the Cockpit team we recently started to generate and export metrics about our CI, and collect/graph them by a Red Hat internal Prometheus and Grafana instance. But I am not happy with this yet, as it does not yet answer all the questions that we have for it. Also, it is not accessible outside of Red Hat. On today’s Red Hat Day of Learning I wanted to get to know how to deploy these components and learn more about the PromQL language. ... Read More
Email: A source of stress Email has been a significant source of stress for me. Canonical, Red Hat, Debian and free software projects all are a firehose of announcements, discussions, bug reports, review requests, questions, and work tasks every day. I am fairly good and efficient at quickly deleting the 90% irrelevant email, but the type of “10 seconds for the sender to write, half a day of work for me to act upon” emails pile up, break my motivation, and cause annoyance and refusal. ... Read More

First look at snowpack
5 February 2021

Today is another Red Hat Day of Learning. A while ago I heard about snowpack, a new contender for the trusty old webpack to build modern web projects. Today I finally managed to take a quick look at it. Even with webpack --watch one often needs to wait several seconds up to half a minute with some larger cockpit pages, so the promised split-second builds certainly sound attractive. At first sight it also makes more opinionated choices about sensible defaults, so that one hopefully does not have to write such a wall of boilerplate. ... Read More
Work rotation Today is may last day at work for this year. I spent the last quarter working in the Red Hat Installer team, on a temporary rotation. They needed some help with their testing workflows and CI, it was a good chance of reducing “bus factor 1” activities in my home team (Cockpit), and for me personally it was a great opportunity to make new friends and learn new stuff. ... Read More
Introduction One and a half year ago I switched to a self-built OSTree based minimal i3 desktop and never looked back. Despite running Fedora updates-testing and finding/reporting lots of regressions, I have never had a situation where a simple rpm-ostree rollback would not have saved the day. There is zero cruft accumulating, neither due to upgrade drift from config files nor due to piling up added/changed files in /usr. And development or trying something out are now more flexible and comfortable than ever, mostly thanks to the progress in the container space. ... Read More

Learning meson
6 November 2020

Last Friday at Red Hat the fourth Day of Learning happened. This time I picked the meson build system. More and more projects have switched to it, like systemd more than 3 years ago, or most of GNOME. Back then I was really impressed by how much faster a systemd build became with meson – but now I actually want to learn it, peek behind the curtain, be able to contribute to projects that use it, and to know if a conversion makes sense. ... Read More
Being a paper hater, I have kept all my work and private notes in digital form pretty much forever. The tools have changed over the times of course, but I’m really happy with my current system now. I am a strong proponent of plain-text formats for just about everything, due to being simple, efficient, universal, implemementation/tool agnostic, and effectively trackable in revision control. I spend my entire work life as a software developer in vim and mutt, so it’s just straightforward to do the same for notes and TODO lists. ... Read More
Motivation Last Friday at Red Hat we have another “Day of Learning”, the third one now. As will all repeated things, as an engineer I want to automate things – so this time I wanted to look into machine learning 😉. This was also an excuse to finally learn about NumPy, as that’s such a generic and powerful tool to have on one’s belt. At school in my 11th grade, I worked on speaker dependent single word speech recognition as my scientific project. ... Read More