Triaging Leads To Fixing

As that more-senior KDE contributor wrote on Reddit, keep looking through the bug reports. Maybe you’ll find one you can fix.

I spent some time going through the day’s bug reports, trying to confirm or replicate the reported error. I ran across a number of interesting problems. Some I could recreate, others I couldn’t.

At the same time, I was teaching myself how to code plasmoids. I made two just for my own use. One changes your screen resolution by querying xrandr, listing the available resolutions, and issuing the command following a mouse click. I needed it because I work by remote, and NoMachine wouldn’t always reconnect at my preferred resolution. I went ahead and added the ability to filter the resolution choices by aspect ratio (16:10, 16:9, etc.) It works pretty well.

The other checks uptime and displays your system uptime in a small horizontal panel widget. While doing this, I learned how to code regular expressions in JavaScript. I wanted the uptime display as condensed as possible, so I had to regex every possible variation that uptime would spit out. At this time, I was still tinkering with my machine a lot, and there was a lot of rebooting.

I ended up polishing them enough to submit them to for the world to download. Each one is sitting at the default 50% enthusiasm score, so ScreenRez and Uptimer didn’t exactly set the world on fire.

But I was learning QML, its quirks and complications.

I continued to work the day’s reported bugs, seeing what I could see. Then I found one. It seemed straightforward enough – a combo box in a plasmoid was too small and the option text was getting cut off. I figured I could fix it.

I spent a day hunting around, trying to figure out if I needed permission to work on it. Or to get it assigned to me, something like that. Finally someone on IRC told me, “You don’t need permission to fix something, just go fix it.”

And so I got to work. It was one of the stock plasmoids, so I made a copy of what was installed on my system and started picking it apart.

QML elements can be tricky to resize and align, at least in my limited experience. Since everything is a child of something else, various properties of the parent dictate how the child is going to behave. Just like real life, I guess. Getting that combo box to accept a size bigger than the default was trickier than I’d assumed.

But I finally got it. And fixed a related problem where the description of the chosen option wasn’t updating like it should. And even changed a default setting to a more sensible and less-random seeming number.

This was Bug 390571, and I fixed it. I got a little education from David Edmundson, one of the Plasma & plasmoid gurus. It’ll be distributed as part of Plasma 5.13.

After years of using and admiring open-source software, I’d realized a small version of a personal goal: contributing something back. It’s a small fix to a minor widget for your desktop. I didn’t reinvent the wheel or cure cancer or radically shake up the world of KDE development. But should you choose to use Media Frame to display photos in a widget on your desktop, I had a hand it making it work right and be user-friendly.

That’s pretty cool.

Sidebar: Stockholm

I’m writing this from a hotel room in Stockholm. We’re on a break from life in the States, visiting chilly but pleasant Scandinavia. Yesterday was a 5-hour train ride from Copenhagen, via the ├śresund Bridge, as I first saw it in the Danish/Swedish crime series “The Bridge” (“Bron/Broen“).

There wasn’t much to see except snowy, wintry Swedish farmland, so I spent most of the journey shopping for a KDE laptop. Unfortunately, I had to settle for doing so over 3G; the train’s expected free WiFi wasn’t working. It matched a mixup with our seat reservations, which resulted in a few polite expressions of discontent from a few otherwise friendly Swedes.

I think I’ve settled on the Acer Aspire E15. It’s got a full keyboard (with keypad) and a proper IPS 1920×1080 full HD screen. It’s only got 8GB of RAM, but the processor is a quad-core eighth-gen i5. It’s got a 256GB SSD and room to expand. I think this will work for my first dedicated Linux laptop.

I asked for buying advice on Reddit, which led me to re-reading an earlier question I’d posed about how to get started participating with KDE.

The answer I got was thorough and comprehensive:

I now recognize the username as the same senior KDE contributor I’ve asked to mentor me as I learn. I’m following Nate’s method as best I can. Starting out small and making small fixes as I find them.

I’ll spell out the details of how this has been working in future posts. Now it’s time to go sightseeing.

Getting Hooked On KDE

It hasn’t been that long, but I’ve already forgotten what first got me hooked on KDE. I’d used Linux in the past, but only in a passing, utilitarian way. Something about KDE caught my eye, though. Maybe it was the eye candy of the Plasma desktop. Maybe it was learning that Plasma is powered by Qt technology, which I’d learned a bit of while tinkering with PyQt.

I had an ancient PC in my basement that was running Mint Linux, which I chose a year or so ago, reading that it was one of the easiest distros to get up and running. Its primary purpose was to be a Plex server, for streaming all my media.

The time came, though, when that old box couldn’t keep up with the large file sizes and higher resolution video files. I’d just gotten a 4K HDR television, so I wanted a machine that could stream and transcode effectively.

I bought a $400 AMD-powered desktop and connected it to an even-more-ancient 5:4 LCD monitor. I resumed connecting to it with VNC. After hooking up my external media drive, I realized it had more than enough power to transcode my movies and collection of Scandinavian crime shows.

I started to play more with Python, which led me to PyQt. I’d never programmed a GUI before, but I understood Python and could make it work.

I’m pretty sure that’s how it flowed. Python -> PyQt -> Qt -> KDE Plasma.

I was immediately jazzed by what I saw on the Plasma desktop. Widgets. Applets. Plasmoids. I learned those were written in Qt’s markup and layout language, QML. And the underlying logic could be straightforward JavaScript. Heck, I could learn those things.

And so I got to work learning something new.

A new start

I registered this domain back in 2007 and never did anything with it. I figure it’s time I did something – anything.

I’ve been paying hosting fees for 10+ years, although my provider,, has made this as inexpensive as imaginable. Yes, that’s a plug, and no, I didn’t get anything for it.

And so, it’s a blog. I’m so cutting edge.

Over the past six months, my interest in technology and programming has re-emerged. I’ve been programming again. Originally in Python, now I’m trying to learn C++. I’ve gotten hooked by KDE, a Linux-based organization that’s created everything from a desktop environment to an incredible range of pro-quality, entirely-free software. They’ve been around more than 20 years, so something good must be going on.

I’m going to try documenting my journey, sharing what I learn as I go. I’m only a year away from turning 50, but I’ve still got so much to learn.

And so I figure I’ll bore the rest of you with the ins-and-outs of a graybeard old dog who’s trying to learn new tricks.