Skip to content

Friday, 17 October 2025

I have a laptop – a Framework 13, AMD CPU – which I received for the purpose of making KDE-on-FreeBSD good on it. For KDE Akademy Reasons, that laptop is covered in stickers: bicycle stickers, KDE, RUN BSD .. and it got three Linuxes installed on it next to FreeBSD. I mentioned that KDE Akademy is people, and I’d like to thank Doug (openSUSE), Neal (Fedora) and Harald (KDE Linux) for helping me get the bits in place. Here’s some brief notes about the resulting systems.

  • I must have botched the openSUSE installation. This is my go-to Linux distro for the past ten years at least and … this time it just isn’t a very good experience. A KDE Plasma 6 session auto-starts, but it is the X11 version, and scaling is messed up on the 2880x1920 screen, such that fonts are too big and UI elements too small. The KCM for scaling doesn’t work nicely, and clicking on buttons like Apply is haphazard. It might just be X11 bitrot, though, and I have not sat down with the system to figure out what’s going on.
  • KDE Linux, I know it’s there, it starts, but I find that I don’t have confidence that the immutable + flatpak does anything useful for me, and I fear that it takes stuff away – although I can’t exactly articulate what, since I don’t want to sit down to try to turn it into my daily driver and then on day three find out that spacebar-heating is disabled in the flatpak portal. Dangit, I need my spacebar heating. Someday I’ll sit down longer with KDE Linux, but not with this laptop.
  • That leaves Fedora, which doesn’t deliver a stock wallpaper but does provide a really nice KDE Plasma 6 experience. Here, too, I can’t put my finger on what makes it nice, it just … is. It’s a wayland session. Using the Keyboard KCM and swapping ctrl- and caps- just works, and it stays there even in the face of jiggery-pokery with connected keyboards (unlike in an X11 session on FreeBSD). Scaling is reasonable at 170%. Scrolling with the touchpad goes the “right” direction. Focus-follows-mouse is easy to configure.

FreeBSD works pretty well on this machine, right now except for the oops-poor-choice WiFi, but that is enough to keep my from daily-drivering it just yet, and that’s why this post is all about Linuxes. The configuration space is the same, though.

One hardware trick I found since I last wrote about this machine: the hardware turns out to have a “Fn-lock”. Press Fn-ESC to prefer function-keys over media-keys. (Source: forum posts) It even says “Fn-lock” on the physical escape key, but I had not connected those letters with the desired functionality yet. This setting is preserved across hibernation and reboots.

Takeaway: fear of change is a genuine cause of non-adoption of technologies; Fedora KDE Workstation is pretty darn nice; like many others I have covered over the laptop’s branding with queer stickers.

Let’s go for my web review for the week 2025-42.


Free Software hasn’t won

Tags: tech, foss, licensing, law, politics, business

It’s a bit of a sour article but it rings so true… We let Open Source take the mantle in companies which are mostly free loaders and churn closed products, or even worse have them closed and DRM protected. There’s really quite some work to still realize the Free Software goals.

https://dorotac.eu/posts/fosswon/


How to encrypt your device, like a boss

Tags: tech, storage, cryptography, tools

Tiny intro to using cryptsetup. I confirm it’s surprisingly easy.

https://pagedout.institute/download/PagedOut_007.pdf#page=63


The Attack

Tags: tech, security

An old one but it shows quite well how social engineering works. It’s often way more powerful than the technical defense you try to raise.

https://shaanan.cohney.info/2013/04/the-attack/


Casting shade on your Postgres performance

Tags: tech, databases, postgresql, performance

This article is short but very interesting. That’s indeed something to keep in mind when using Postgres, you could have surprisingly bad performance results in some cases otherwise.

https://pagedout.institute/download/PagedOut_007.pdf#page=35


Abstraction, not syntax

Tags: tech, config, complexity, yaml

A reminder that if there’s too much complexity in your configuration the syntax used to represent it probably won’t save you from issues.

https://ruudvanasseldonk.com/2025/abstraction-not-syntax


Lua is so underrated

Tags: tech, programming, language, lua

Indeed it is. It’s not the perfect or most sexy language, and yet it has some interesting properties.

https://pagedout.institute/download/PagedOut_007.pdf#page=37


Can We Know Whether a Profiler is Accurate?

Tags: tech, profiling, research, java

Interesting approach to gauge how accurate a profiler is. With some results in the Java ecosystem, so now you know which profiler to pick there.

https://stefan-marr.de/2025/10/can-we-know-whether-a-profiler-is-accurate/


Complex Object Initialization Optimization with IIFE in C++11

Tags: tech, c++, design, performance

This is an interesting pattern that I still seldomly meet in C++ codebases. Of course don’t go overboard with it, but don’t be scared of using it for wrong reasons.

https://articles.emptycrate.com/2014/12/16/complex_object_initialization_optimization_with_iife_in_c11.html


API design principle: Don’t tempt people to divide by zero

Tags: tech, api, design

Good reminder that it’s better to design your APIs to avoid putting people in the situation of inadvertently creating a divide by zero.

https://devblogs.microsoft.com/oldnewthing/20251013-00/?p=111677


Gamma correction on fragment shaders.

Tags: tech, graphics, colors, shader

Wonder what is gamma correction and why it’s needed? This is a nice and short explanation.

https://riccardoscalco.it/blog/gamma-correction-on-fragment-shaders/


HTML’s Best Kept Secret: The Tag

Tags: tech, html, accessibility

Interesting tag… It’s indeed been totally forgotten somehow.

https://denodell.com/blog/html-best-kept-secret-output-tag


Goto Fail, Heartbleed, and Unit Testing Culture

Tags: tech, tdd, tests, security, team, culture

A very long read but contains lots of insights. Goes from two very famous security related failure, to highlighting how a test first approach could have helped. It then finishes with a long section on how to foster a testing culture in an organisation.

https://martinfowler.com/articles/testing-culture.html


Why we’re leaving serverless

Tags: tech, cloud, performance, complexity

Serverless based architectures leading to bad cases of complexity and latency when used for more than trivial workloads… who knew!? ;-)

https://www.unkey.com/blog/serverless-exit


Don’t make Clean Code harder to maintain, use the Rule of Three

Tags: tech, craftsmanship, refactoring

Apparently people need to be reminded that “Don’t Repeat Yourself” is more a guideline than a rule. So “The Rule of Three” is a way to do that (although I find ironic it’s called a “rule”).

https://understandlegacycode.com/blog/refactoring-rule-of-three/


Emergent Design

Tags: tech, agile, xp, design, history

What’s behind the notion? Some historical musing about self-organizing teams and the design they produce.

https://ronjeffries.com/xprog/articles/emergent-design/


How we do large scale retrospectives

Tags: tech, agile, retrospective

A few interesting ideas for having retrospective at a larger scale than the single team.

https://engineering.atspotify.com/2015/11/large-scale-retros


All-Remote Meetings

Tags: tech, remote-working, meetings

Once again GitLab has plenty of good advice for operating remotely. This time it is about meetings which are obviously part of life in an organisation. And actually, quite some of the good tips also apply to in person meetings.

https://handbook.gitlab.com/handbook/company/culture//all-remote/meetings/


No Silver Bullets: Why Understanding Software Cycle Time is Messy, Not Magic

Tags: tech, productivity, research, team

Interesting stuff, very rich I think I’ll have to get back to it. This gives good clues and ideas of metrics to look at when evaluating teams output. Some of the findings confirm hunches which is welcome. It also shows that measuring productivity keeps being a messy business, there are so many factors influencing it in some way.

https://johnflournoy.science/no-silver-bullets/


Hiring Trap: Don’t Hire Anyone Older Than…

Tags: tech, hiring

I still think we have an ageism problem in our industry. I feel it’s less than before, but this short article shows well how far it went.

https://www.jrothman.com/htp/hiring-process/2014/03/hiring-trap-dont-hire-anyone-older-than/


The Humane Tech Interview

Tags: tech, hiring, interviews

I’m trying to approach interviews like this as well. It’s better for everyone when it feels like a conversation rather than constant questioning. The trick is to still capture information about the skills you need to evaluate though.

https://www.thelins.se/johan/blog/2017/07/the-humane-tech-interview/



Bye for now!

Thursday, 16 October 2025

This week marks KDE’s 29th birthday, which is pretty special. Did you know KDE has been around longer than Google, PayPal, Facebook, Instagram, Netflix, Tesla, Spotify, Uber, VMware, LinkedIn, Yelp, and Github? Seriously! That’s a long time producing high quality, autonomy-respecting, non-exploitative software.

And humanity needs and deserves it, so we’re gonna keep going! We’re celebrating KDE’s birthday by kicking off our annual end-of-year fundraiser: https://kde.org/fundraisers/yearend2025/

The money raised here will support the ability of KDE e.V. (the nonprofit behind KDE) to continue hosting Akademy, funding development sprints, affording server hardware and hosting, and employing engineers, marketers, documentation writers, and support personnel (but not board members; we’re unpaid volunteers).

There’s a big set of initiatives, and they’re growing all the time as KDE gains in prominence worldwide! We have extremely ambitious goals of spreading humane software throughout the world.

Looking at the kind messages people have written in their donations, it seems like we’re seeing some success. Here are a few recent examples:

Thanks for KDE Plasma, can’t wait for KDE Linux!!! HB 🎂

To the most consistently feature rich Desktop Environment and just generally awesome set of applications! Thanks for the hard work!

Happy Birthday! Thank you, the Plasma Desktop and the KDE family of applications have made my life so much better. Keep up the good work on the newly-minted KDE Linux.

I’m giving you guys the money that would have gone to Windows 10 ESL had I not switched to Kubuntu earlier this year!

This might sound dumb but the wobbly windows option convinced one of my friends to install Linux so you win

Plasma is the best, very excited for Bigscreen!

KDE’s really great for both enthusiasts and newcomers. Without it, I’d be worried about “the linux desktop” hehe.

Thank you for you great work! One day I’ll find the time to contribute!

I know it’s only the minimum amount, but I love using your DE and software and want to help out any way I can. Thank you!

Thank you for your work and contribution!

Keep up the kood kork!

With love from Spain!! ❤

Keep up the great work!

thank you for a fine desktop 🙂

KDE is my daily driver for personal computing. It’s abundance of features and the distraction-free experience is great. Keep it going! I’ve been an on-and-off user since the KDE 1 Beta 3.

Thank you KDE team for your wonderful work. I use Neon daily and it’s truly a joy to use

Thanks for making the computing world a significantly better place.

Happy Bday, KDE has be rock solid this year!

VIEL ERFOLG von der Alten (84) !! (GOOD LUCK from the old folks (84) !!)

I love your work – thank you for everything! Greetings from Germany 🙂

Hope this helps you keep up the great work!

Thanks for the hard work! Keep it up! From a french user!

To many more birthdays to come.

Great work, KDE!

First time donating. I really love to use KDE.

Thank you, KDE developers & KDE application developers, for 29 years of FOSS-licensed desktop software for Unix.

Grazie mille per tutto quello che fate. Fedora KDE è fantastico!

Thank you for bringing Plasma and Kdenlive to the world. Keep doing what you’re always doing.

Just a small donation for now, more in December 🙂

I dunno why, but I really love what you are doing! I really enjoy KDE’s vibe overall and everything that you guys did!

We’ve set the comparatively modest goal of raising €50,000, and I’m happy to see that we’re already a quarter of the way there after only three days. But we need to keep up the push, as typically the first few days see the most donations. So please donate if you can, and spread the word far and wide!

The KDE community created in the last decades a lot of interesting projects.

Unfortunately, not all projects survive the test of time, be it because the developers leave or technology moves on and stuff gets less relevant.

The same happens for our communication channels or web sites. 20 years ago, mailing lists and IRC were still kind of common place, today more people hang around on stuff like discuss.kde.org or in our Matrix channels.

Unfortunately our community is not that good at cleaning dead stuff up or deciding that the zombie state of some things hurt.

Dead Web Sites

A no longer updated website might be a small issue, that just looks bad, but most people will see that stuff with news from 2010 will likely be not alive.

Still, I think it makes sense to remove such sites and just redirect them (if there is any follow up information online).

It is no good state if we have stuff up that rots away since a few years, at least if it contains no other valuable info, like documentation or howtos.

Zombie Git Projects

Worse than dead web sites are zombie Git repositories that still get merge requests but nobody takes a look as all people are just gone but the stuff is not clearly marked as archived.

People waste their time and will likely be upset their contributions are not even looked at.

If a project is really dead, that should be archived, one can still resurrect it with easy later on, it is not gone, just clearly marked as dead.

Blackhole Mailing Lists

Even worse are in my eyes dead mailing lists.

People will drop questions there, in worst case that will even already hang for days in moderation or then forever without answer on the list.

That turns away people, you have a question or contribution and it ends in a black hole? No good first contact.

Solutions? Gardening!

What can we do?

We not just need to create new stuff and maintain what we have, we need to do some house cleaning or gardening.

We did that in the past, we can do it again :)

If you want to help, or just turn up and tell that your old project, web site or list it dead, show up on one of these issues:

Discussion

Feel free to join the discussion at the KDE reddit.

We are happy to announce the release of Qt Creator 18 RC.

Wednesday, 15 October 2025

Sometimes an application can look kinda wrong due to very small details, few pixels can make or ruin the first impact. And since today a lot of monitors, especially laptop ones have to use fractional scaling, making things look sharp and pixel perfect is even harder.

Here is System Settings, on a screen scaled at 175%:

Here is zoomed, you can see some separators being one pixel, some other being two, usually blurred, making them appear of significantly different colors:

It was something that always annoyed me, so this is how System Settings will look with the next Kirigami that will come with the next Frameworks release in the beginning of November:

Here zoomed:

Separators are now 2 perfectly sharp pixels everywhere on 175%, giving the app a much cleaner look.

This will apply to every application which uses the Separator QML component. There are of course a lot of similar details fixes to do (and yes, I can see several ones still in the above screenshot), but sometimes small polishes can look like a big improvement 🙂

Tuesday, 14 October 2025

The SPDX community is now creating a new list — similar to the SPDX License List — but focused on cryptographic algorithms. This post shares how this effort started, its current status, the next steps, and a final call for participation.

Monday, 13 October 2025

This year, 2025, the KDE Community held its yearly conference in Berlin, Germany. This makes me happy in various ways – I like Berlin, and visit the city more often than, say, Amsterdam, which is a lot closer to my home. Here are some of my notes (wall-of-text) from this year, posted on the day of KDE’s 29th birthday.

Travel and Lodging

As usual, I took a train to Berlin. The Deutsche Bahn (DB) Inter City Express (ICE) is generally pretty fast. Not this time, as the first leg arrived 29 minutes and 30 seconds late, for a change-over of 30 minutes. The announcer in the train already said “your connecting train cannot wait” but that did not stop 20 Dutch people from sprinting from platform 3 to platform 12 and then being annoyed as they watched the taillights of the departing train.

Berlin is, as always, Berlin. Filthy and weird and wonderful. I smacked a man on the U-Bahn with my pink whip, much to the amusement of his partner. Hotel Les Nations is my regular place to stay, and remains a good – not particularly cheap – place to stay.

Things Around Town

There’s a Square Dance club open every evening of the week. I only visited one, the Honey Bears, at the south end of Lichterfelde, and had a warm welcome there. Square is a little like KDE, you can show up somewhere and find people with the same weird little hobby and spend an evening just doing your thing.

Berlin being Berlin, the buses also run until late, which is nice when trying to get back from Lichterfelde to Alt-Moabit.

The beer garden at the Zoo and the beer garden at the locks on the Spree and other beer gardens – see the pattern? It was wonderful weather for hanging around in the evenings with KDE friends. It’s about eight years since my kids figured out that “Akademy” means “Dad goes out drinking with his buddies”, when they saw that in Almeria.

The day trip was one of the most chill I’ve participated in and I congratulate the team on picking something to get a bunch of KDE people out of the building and into the park.

Venue

The TU Berlin is a huge building, built like a maze, with upstairs and downstairs and half stairs and hidden levels and everything. It would make a great Doom level. The lecture halls for the conference part could seat about 180, which is a good size for Akademy. Not over-crowded, not so large that we feel lonely. A/V worked well, and the professional video / streaming folk were exactly that – professional.

Slightly less good were the BoF rooms the rest of the week. I kind of missed the nooks-and-crannies that we had in Würzburg and in Thessaloniki. The acoustics in several of the BoF rooms were terrible. That didn’t stop us from having a full schedule. And one of the attendees – Dominic, you got me coffee, and you fixed up the room audio for my workshop – turned out to have amazing skills at figuring out the multi-channel audio setup.

So there was good bits, and less-good bits. I’d hope for more small rooms in future. Having small rooms means that the acoustics are a bit better, because there’s just less hubbub to begin with. It also means that we could have a room with more quiet no-discussion-just-knitting kinds of activities.

Soylent^W KDE Akademy is People

I had so much fun meeting new people – Aks and Tecsiederp and the audio guy Dominic and and and .. even the security guy on duty on saturday who told me excitedly about how he uses KDE Connect on his Steam Deck. It’s good for Akademy to move around a little and bring in new people each year. People who need to hear the story of the pink whip™ for the first time.

I had so much fun meeting old people. Er .. I’m old enough to be plenty of attendees’ dad, I mean “KDE people I’ve known for years”. People who were there when the pink whip™ was first used. Faces returning to the community, like Sebas, and faces I see every year because they are like a rock, like Cullmann.

KDE Akademy is Talks

For Reasons™ I missed the opening keynote from the state of Schleswig-Holstein. The second day keynote from Paloma Oliveira was really good. It was about politics and power dynamics and welcoming (under-represented) groups into a community. Of course it was politics, because Free Software is politics, because all technology is politics, and choosing who to welcome is a fundamental part of a Free Software project.

At Akademy itself I nodded along in agreement, but I don’t think the message really hit home again until events in early October. Separately, a study by the Dutch national “Social Cultural Planningbureau” this month reports that diversity “leads to friction more than inclusion”, in a buried-the-lede no-shit-Sherlock report that says that you actually have to work actively on inclusion. Which is one of the things Paloma said.

I gave (part of) one talk, but that was the report of the board, which is what the Dutch call “een moetje”. So I didn’t get my hair cut for that one.

Talks I particularly enjoyed on the first day were Harald’s about KDE Linux (I got a banana, and I did install KDE Linux, and did report a bug with the partitioning-thing and UUID that it uses) and Cristián’s about more and better language bindings for Qt. I might be 95% a C++ guy, but I feel having a larger number of languages available for expressing ideas is generally better (and many languages are better than C++ in particular areas).

There’s an interesting piece by Felienne Hermans in the Dutch NRC of october 14th 2025 about how programming is possibly the wrong way to think about improving the world through (digital) technology.

A talk I would very much have liked to see was Alexandra’s talk about running business and Free Software together.

Day two I had signed up as a volunteer to act as session chair in room 2. That reduced the choices I could make, but each track and each talk has something cool to offer. Absolute banger talk by Joshua about getting things right for artists. I’d like to thank Achilleas from Red Hat who also chaired in that room for being a great team.

This year’s speakers were all really good as well at being on time, wrapping up on time, and handling questions well. Audiences, too. I think I only shut down one “more a comment tha..”

KDE Akademy is BoFs

The BoF parts of the past few years have been rather hit-and-miss for me. My regular technical involvement with KDE as a whole was either very focused (on Calamares) or absent (because of work-work eating up all my C++ energy). I had a nice time sitting down just to do some work on Calamares this time, in one of the little-too-noisy BoF rooms, and because of that I listened in on, for instance, the End-of-10 Campaign discussion.

A BoF I actively went to was the KDE Initial System Setup BoF, led by Kristen. “KISS” isn’t necessarily a good acronym, but my suggestion of Linux Initial Configuration of KDE was emphatically rejected.

Initial setup and Calamares are pretty closely related, and something I’d like to do (see above, re: C++ energy) is improve interoperability of the two.

KDE Akademy is Dance

Don’t get me started on American Country Square Dance, because I will Be Tedious At You™ about it. At the welcome event Nicole asked me about it and I went on at length and in the end I put a square dance workshop on the BoF schedule.

Ten people showed up, that’s enough for one square! I can teach a very basic workshop, and the people who showed up were perplexed and amused – and followed instructions really well. That’s programmers for you. We gave a little demo at the end of the BoF wrap-up meeting, although it was a bit chaotic because two of the dancers had already left to catch the train back to Warszawa.

Next year I’ll be back (with more practice on my part on the teach-people-to-dance thing) for another round^Wsquare, and I hope other people will come with crocheting or other arts and crafts. Because in the KDE community you should be able to bring your whole self; programmer, kolourpaint-expert, dancer, and eepy-sleepy person.

Takeaway

Akademy is the event that brings the KDE community together; the whole breadth of people, as far as “in-person, and somewhere in the world” can bring everyone. I know we missed people – who can’t travel, who won’t travel, who can’t afford to be there for health or financial reasons. I had the privilege of being able to attend – time and health – and to be supported by KDE e.V. for that travel. It is worth it, every year, and I hope to see many new (and old) KDE contributors next year, wherever it may be.

Sunday, 12 October 2025

Matrix Widgets in NeoChat, systemd user units in KJournald and a lot of fixes all other the place

Welcome to a new issue of "This Week in KDE Apps"! Every week (or so) we cover as much as possible of what's happening in the world of KDE apps.

Getting back to all that's new in the KDE App scene, let's dig in!

KDE PIM

Merkuro Calendar Manage your tasks and events with speed and ease

Yuki Joou continued improving Merkuro Calendar, fixing the "Today" button, which wasn’t working as expected (25.08.3 - link).

System Applications

Dolphin Manage your files

Akseli Lahtinen fixed an issue where the icon sizes of list items were incorrect when zooming in and out rapidly. (25.12.0 - link).

Journald Browser Browser for journald databases

Andreas Cord-Landwehr added support for loading user units in KJournald Browser (25.12.0 - link).

Utilities

Kate Advanced text editor

Jack Hill added configuration for rust_hdl, a language server for the VHSIC Hardware Description Language (VHDL) (25.12.0 - link).

Kåre Särs fixed Git blame parsing for commits containing tabs in their summary. (25.12.0 - link)

Clock Keep time and set alarms

Kai Uwe Broulik reworked how the list of alarms and timers is loaded. This process is now asynchronous. (25.12.0 - link)

Konsole Use the command line interface

Wendi Gan fixed some styling issues that occurred when saving Konsole output as HTML. (25.12.0 - link)

Calculator A feature rich calculator

Alberto Jiménez Ruiz fixed decimal number parsing for locales that don’t use a dot as the decimal separator, such as Spanish. (25.12.0 - link)

Qrca Scan and create QR-Codes

Volker Krause added some missing icons on Android (25.12.0 - link).

KDE Connect Seamless connection of your devices

Forest Crossman fixed a crash in the virtual monitor plugin when used with misbehaving virtual monitor devices (link).

Games Applications

KRetro Libretro emulation frontend for Plasma

Laurent Montel updated KRetro to follow KDE best practices (link 1, link 2, link 3 , link 4, link 5, and more).

Chat Applications

NeoChat Chat on Matrix

Arno Rehn added basic support for Matrix Widgets and Jitsi (25.12.0 - link).

James Graham and Tobias Fella fixed various crashes in NeoChat detected by Sentry (link 1, link 2, and link 3).

Social Networks

Tokodon Browse the Fediverse

Joshua Goins moved the "Post" toolbar action to be a floating button on mobile devices (25.12.0 - link).

Browsers

Falkon Web Browser

Juraj Oravec added a context menu to the bookmark menu (25.12.0 - link) and fixed custom protocol handler registration (25.12.0 - link).

Konqueror KDE File Manager & Web Browser

Stefano Crocco increased the quality of the exported PDFs (25.12.0 - link) and added support for the standard JS window.print() call to open a print dialog (25.12.0 - link).

Third Party Applications

Dr. Tej A. Shah started porting Clear.Dental to Kirigami!

…And Everything Else

This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment.

For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors.

Get Involved

The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable.

You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things.

You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world.

To get your application mentioned here, please ping us in invent or in Matrix.

I'm writing this blog in the very very early stages of development because I'm 50% sure someone will link me to some existing library that Google failed to find.

Varlink

Varlink is an IPC mechanism that is gaining popularity in a few places across Linux. It's very simple, JSON blobs over a socket terminated with a null byte. It doesn't have anywhere near the features of DBus, but the simplicity is the main selling point.

Ultimately when it comes to choosing IPC what matters is what the servers you want to talk to are already using and then things become forced.

QtVarlink

Interacting with C APIs is a horrible experience for all involved. We want something that looks and behaves likes a Qt developer would expect and used the inbuilt QtJson classes.

My new library provides API as follows.

    VarlinkClient client("unix:/tmp/foo");
    QFuture<VarlinkResponse> pendingResponse = client.call("org.example.Ping", QJsonObject({{"ping", "1"}}));
    pendingResponse.then(this, [](VarlinkResponse response) {
        qDebug() << response.parameters()["pong"].toString();
    });

Or any variation of QFutureWatcher or just blocking.

State

Code is available at: https://invent.kde.org/davidedmundson/qtvarlink

As mentioned in the intro, it's pre pre alpha. It's the minimum viable product for a task I had, but I intend to make it a standalone project.

Please let me know if this would be useful to you. There's a roadmap in the Readme and pull requests are more than welcome!