A quarter on the Red Hat Installer team
15 December 2020
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
Synced plaintext TODO and notes
26 September 2020
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
First steps with neural networks and NumPy
30 August 2020
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
Hello Android development world
29 May 2020
Motivation Today at Red Hat we have another “Day of Learning”. To this day I have never touched Android development, just installing various flavours and configuring it. But I’ve been curious about it for a while now, mostly to be able to fix a little thing here and there in all the great things available on F-Droid. So today was an excellent opportunity!
SDK Installation The first thing to do is to install Android Studio.
... Read More
Die große Vier-Null
14 April 2020
Da wacht man nun eines schönen Morgens auf, und schwupps ist man vierzig!
Zu meinem 30. gabs damals ein großes Go-Kart-Rennen und eine Party mit Familie und Freunden. Auch dieses Jahr wollte ich das wieder wenigstens ein bisschen feiern, aber wegen der COVID-19-Pandemie und die damit einhergehenden Kontaktsperren und Ausgangsbeschränkungen lief der Tag sehr ruhig ab. Annett hat mir wieder einen tollen Kuchen gebacken (Zupfkuchen mit Rharbarber 😋), und meine Eltern haben in einer lokalen Konditorei eine tolle Torte bestellt:
... Read More
First steps in system-wide Linux tracing
28 February 2020
Motivation Today at Red Hat we have a “Learn something new” day. After so many years of doing software development, I’m quite well versed in tools like strace, gdb, or good old printf() debugging to examine how an individual process (mis)behaves. But I occasionally run into situations where a system-wide scope of examination is necessary.
For example, when I was working on optimizing Ubuntu’s power usage ages ago, I wanted to hunt down processes which were opening/reading/writing files and thus waking up the hard disk.
... Read More
Hardening Cockpit with systemd (socket activation)³
15 October 2019
Background A major future goal for Cockpit is support for client-side TLS authentication, primarily with smart cards. I created a Proof of Concept and a demo long ago, but before this can be called production-ready, we first need to harden Cockpit’s web server cockpit-ws to be much more tamper-proof than it is today.
This heavily uses systemd’s socket activation. I believe we are now using this in quite a unique and interesting way that helped us to achieve our goal rather elegantly and robustly.
... Read More
Introduction I’ve always liked a clean, slim, lightweight, and robust OS on my laptop (which is my only PC) – I’ve been running the i3 window manager for years, with some custom configuration to enable the Fn keys and set up my preferred desktop session layout. Initially on Ubuntu, for the last two and a half years under Fedora (since I moved to Red Hat). I started with a minimal server install and then had a post-install script that installed the packages that I need, restore my /etc files from git, and some other minor bits.
... Read More