Breaking the Hundred Commits mark in Cockpit

It has now been two and a half months since I started working at Red Hat in the Cockpit team. I just noticed that after yesterday’s 135 release frenzy I now have more than a hundred commits in it!

$ git shortlog | grep Pitt
Martin Pitt (111):

Of course amongst them are lots of trivialities, simple tweaks, and packaging improvements (all this Debian/Ubuntu packaging experience got to be worth for something ☺). But I also landed more serious and involved work such as making the remotely managed machines configuration more flexible or using the standard ssh known hosts file.

During that I dipped my toes into the worlds of Kubernetes/OpenShift/Docker, revived some dusty knowledge about glib/GObject programming, and learned some basics about JavaScript - coming from the C and plumbing world this is quite a cultural shift: It takes some time to get used to the fact that it’s so weakly defined (“this API does not work in Internet Explorer, and requires at least that Firefox version”), really odd scoping rules and a weak type system, and that pretty much every concept of composition like modules, classes, or methods is represented as simple function. This should get much better with ECMAScript 6, but most of Cockpit’s code is still in a “classic” format due to backwards compatibility requirement and just historical reasons. But the asynchronous programming style is quite elegant, once you adjust your way of thinking - I still have to gain a lot of experience there, but at least I’m not completely stumped any more when I look at it or write it.

Aside from the tech stuff, I got a very warm welcome in my team – they patiently answered my newbie questions and are very helpful, it has a comfortable size of seven people, and it was fun to hang out in Brno and share office space, bowling alleys, beer, and stories! Admittedly I was a bit sceptical to join a company as big as Red Hat, but like that it doesn’t really feel that way. Cockpit is both a well managed team and a well-managed project in terms of planning, execution and CI – Kudos to our team lead Stef Walter!

Thanks, and onwards to the Journey!