Contributing is more than just code

When thinking about how to contribute to KDE, many people probably still think that you have to write actual code. While it’s true that C++ and QML is at the heart of our applications, it’s just one puzzle piece of many that make up a successful product. Besides donating money to KDE or developers like me individually, there’s much more you can do to support us: promo work, drawing icons, brainstorming ideas, writing documentation, triaging bug reports or writing new ones, or in this case sending the relevant piece of hardware to a developer. Every single contribution counts!

Dolphin Places sidebar listing various drives, among them a "CD-ROM" in the "Removable Devices" section
It’s been at least ten years since I last used an optical drive

A key ingredient to KDE’s cross-platform story is Solid, our device integration framework. It lets applications enumerate devices, such as hard drive partitions, USB thumb drives, but also batteries and peripherals, in a platform-independent way. When it comes to hardware, sometimes emulating its behavior is tough and even a virtual machine might not behave exactly the same as the real thing. Here’s the story of how the donation of a portable DVD drive let me unlock a massive performance boost.

Continue reading Contributing is more than just code

Performance Musings

Sometimes while using my computer I notice random slowness when launching a certain application or some feature that just doesn’t run very well. That’s always reason enough for me to take a deeper look.

My tool of choice for analyzing performance issues is Hotspot, KDAB’s excellent perf visualizer. It comes with an easy to use GUI for browsing the results collected by it. Particularly its flame graph lets you quickly detect, well, hotspots during execution. Just launch an application through Hotspot or attach it to a running one and look at the graphs. Depending on your system configuration you might need to adjust the perf_event_paranoid kernel setting in order for it to inspect other processes.

Hotspot window showing a “flame graph” of Spectacle’s startup sequence, with a big chunk occupied by the “kImageAnnotator” constructor.
Found an obvious issue in Spectacle’s startup sequence
Continue reading Performance Musings