Skip to content

Sunday, 21 September 2025

The beginnings

Over 24 years ago, our kwrite-devel@kde.org mailing list started with:

From: Scott Manson

To: kwrite-devel@max.tat.physik.uni-tuebingen.de

Date: Wednesday, February 21st, 2001 at 21:47

Subject: [Kwrite-devel] I just wanted to be the first to post here )

Welcome to kwrite-devel

I hope this is an active list and we can attract some more developers Anyone have any ideas on coding style,enhancements problems please feel free to post your questions/comments here.

or, depending which mail arrived faster in your inbox:

From: Waldo Bastian

To: kwrite-devel@kde.org

Date: Wednesday, February 21st, 2001 at 21:50

Subject: [Kwrite-devel] Welcome to this mailinglist.

Hello,

Welcome to the kwrite development mailinglist. *test*test*

Cheers, Waldo

The journey

Like the first mail wanted, that list was very active for a long period of time.

The initial posters no longer are active in the project, but some people like me still stick around even after more than two decades.

A lot of important design decisions were discussed on the mailing list and many user questions got answered.

The end

The list traffic slowed down more and more over the last years even as the actual amount of contributions (and presumable the user base) did increase.

Reasons are for sure that for development, we use mostly our KDE GitLab instance for communication. It is just that easier to couple discussions with code there and link development issues to merge requests or commits. I can not remember any serious discussion on larger development topics outside our GitLab in the last years.

For users I assume mailing lists are just too arcane today. Perhaps that is a misconception I have, but at least from most people I know in real life, most of the online support questions went of to either websites or random other channels. Some people survive without any mail account beside the one needed to create some online accounts or install thei mobile phone.

I need to moderate away at least 10 to 100 spam mails for any real mail on the list, that is just a not needed overhead nobody should waste time with.

Therefore in the near future we will close that list, it will not get a 25 years birthday party :-)

But where to ask & discuss stuff now?

I already updated our documentation and web site to point to the current contact points.

In short:

Many Kate developers and users are active on random social media and Co., too. But the above mentioned places are the ones that should be preferred.

Comments?

A matching thread for this can be found on r/KDE.

Like every year, one of the highlights is Akademy! This time we were in Berlin, making it quite easy to get there from Hamburg:) The weather was surprisingly nice, especially when heading out in the evening to try lots of different restaurants. And of course - since being in Berlin - you gotta try a local Döner there :D.

One talk I was particularly surprised about was Saturday’s keynote “Open by Design: How Governments Can Lead the Shift to Digital Sovereignty” by Alexander Rosenthal. Besides the information about OpenSource-Software being used on different levels of federal/state/local, the aspects of OpenData. This made me realize that software is not the only thing one should focus on being open.
Also, the huge amount of memes in the slides made the talk super refreshing and a nice start into Akademy!

Nate’s talk “Minding the Big Picture: Opportunity From Chaos” also fit this topic. OpenSource can provide a stable foundation and reduced dependence on individual companies.

My main development focus and also the most frequent topic of the blog is the Clazy project. Akademy is a good occasion to tell other people about it. So I took the occasion and held a fast-track talk about Clazy to tell how awesome and useful it is.
It was also quite good to get people talking about it and share their ideas/problems.

I also did a decent amount of coding on Clazy. This included a request from aacid about Clazy not working properly with a Qt variant that is build into a specific namespace. This was quite the rabbithole, but I managed to get the passing tests from 50% to 90%. The last few edgecases are not as relevant if most of Clazy works properly. For the use-arrow-operator-instead-of-data a false-positive is fixed where the check complains if you do a .data() call and then cast the pointer. This is in most cases needed, if not, clang-tidy should warn about unneeded casts.
Finally, fixits for detaching-temporary and detaching-member are more reliable when multiple calls are chained.

The biggest surprise though came at the Akademy awards. I am very honored to have received one, this left me quite speechless.

Me finally catching some words after getting the Award <3

This also means I am responsible for choosing the person for next year’s award. So you better get busy doing cool stuff 😎👀.

Finally, I want to thank everyone who helped organize Akademy and made it as awesome as it was!

Saturday, 20 September 2025

Screenshot of Kaidan in widescreen Screenshot of Kaidan

Kaidan 0.13.0 is out now! And it comes with a bunch of shiny new features.

Most of the work has been funded by NLnet via NGI Zero Entrust with public money provided by the European Commission.

Multi-Account Support

Kaidan supports the simultaneous usage of multiple accounts now. Imagine you could use the same chat app at work and with your friends. All your favorite and accustomed features would always be accessible without switching apps. It is possible with XMPP and finally with Kaidan too!

In order to quickly distinguish the account a chat belongs to, there is a small avatar of the corresponding account in the corner of a chat’s avatar. Furthermore, Kaidan makes sure that you do not accidentally add a new contact to the wrong account. That is achieved by selecting the account before you enter the contact’s chat address or scan their QR code. The same applies to the group chat actions.

Account list and actions

Secure Password Storage

The account passwords are stored in the device’s password manager. You do not need to keep passwords in your mind. Instead, you can use random ones. They are securely stored in a central place.

Mark Messages

If you already read the latest messages from a contact but do not have time now to respond, you can simply mark them. A separate counter is shown for the marked messages. Take your time and come back to those messages later. You will not forget to reply anymore!

Marked messages

Forward Messages

You can forward messages from one chat to another. After clicking the corresponding context menu button, you can choose a chat to forward the message to. By default, only the chats of the current account are listed to make it as simple as possible for you. But you are able to list chats of other accounts as well.

Once you selected a chat, the message is added to its input field. You can directly send it or adjust it beforehand.

Context menu with buttons to mark or forward the message

Changelog

There are several other improvements. Have a look at the following changelog for more details.

Features:

  • Add support for using multiple accounts simultaneously (melvo)
  • List accounts and show button to add new accounts (melvo)
  • Show dialog to select account for global action such as adding a contact (melvo)
  • Allow to enable/disable accounts instead of connecting/disconnecting them manually (melvo)
  • Update nicknames of own accounts once connected (melvo)
  • Show small account avatars next to regular avatars if multiple accounts are used (melvo)
  • Hide global drawer handle on chat if window is narrow (melvo)
  • Use PNG/.png instead of JPEG/.jpg for thumbnails to allow transparency (melvo)
  • Use AAC/.m4a instead of MP3/.mp3 for voice messages to improve compatibility (melvo)
  • Provide size of sent images to recipients allowing receiving client to scale thumbnails to size of original image (melvo)
  • Provide size of generated thumbnails to recipients (melvo)
  • Increase size of generated thumbnails (melvo)
  • Show circle instead of bar for upload/download progress (melvo)
  • Try all providers on connection error during automatic registration (melvo)
  • Add message forwarding (melvo)
  • Enable voice message recording via Flatpak (melvo)
  • Store account passwords encrypted if password manager is available (fazevedo)
  • Apply consistent criteria for all message corrections (melvo)
  • Add support to mark messages locally in order to reply to them later or to quickly find important messages (melvo)
  • Reuse SASL 2 user agent and FAST token on every restart for faster connection establishment (melvo)

Bugfixes:

  • Fix selecting media via long press in media overview (melvo)
  • Fix OMEMO initialization (melvo)
  • Fix displaying geo location map (melvo)
  • Fix showing hints on invalid input of various input fields (melvo)
  • Fix name/date of chat list item moving if counter for unread messages dis-/appears (melvo)
  • Fix counter for unread messages (melvo)
  • Fix handling removed message reactions (melvo)
  • Fix canceling personal data sharing via contact details (melvo)
  • Fix finding existing notifications for personal data sharing requests (melvo)
  • Fix cursor behavior in message input field by allowing vertical cursor movements while participant picker is closed and prohibiting horizontal cursor movements while participant picker is open (melvo)

Notes:

  • Kaidan requires QtKeychain 0.15 now
  • Kaidan requires QXmpp 1.11 now

Download

Or install Kaidan for your distribution:

Packaging status

This post is to celebrate a few things despite the events that are clouding our feelings. 😠

Another thing to not celebrate is the slaughtering by Sourceforge of my developer web site, which they are calling "sunsetting", by October. I've already migrated it

On the other, brighter hand, I'm celebrating this week La Mercè, which is the local festivity of Barcelona.

 Castellers of Barcelona
 
Another event to celebrate is the first 2 million downloads of VMPK for Linux, Windows and Mac. The Sourceforge statistics do not include the installs thru Flatpak, but you may realize that more than 75% of the Sourceforge downloads are the Windows packages. The 2 mil download happened some past day of this year 2025. I've promised a celebration, and now, I have released the Android port of VMPK under the GPLv3 license in GitHub.

VMPK Screenshot

You may download it from GitHub (source code and APK), or you may get it from the IzzyOnDroid repository which is available in the F-Droid app, but also on Neo-StoreDroid-ify,  and the unofficial IzzyOnDroid app.

If you already have the F-Droid app, you only need to add the IzzyOnDroid repository in Settings>Repositories and install it today, or you may prefer to use the official F-Droid repo.

I would like to add to the celebration a video live streaming concerto, but I am too lazy and odd playing for that. Better use this wonderful rendering of the Tchaikovsky Violin concerto by TwoSet Violin, with Brett Yang playing the soloist and Eddy Chen the rest of the orchestra. Enjoy!

A week ago I attended the 2025 edition of KDE Akademy in Berlin, Germany.

Akademy

Akademy 2025 group photo, by Andy Betts.
Photo by Andy Betts

Akademy is a week of hanging out with old and new friends that also happens to have two days of presentations and multiple days of BoFs attached to it.

It was slightly weird hearing from public administration/public agencies in their talks how important digital sovereignty and public funding for FOSS are, it’s not like we haven’t been telling them for years and it’s them rather than us who are in a position to really change this. Anyway, I’d consider that a sign of success.

You’ll find a couple of reports about Akademy on Planet KDE already, I’ll focus on a few things I was involved in below.

Topics

Emergency and weather alerts

On Saturday I presented our work on free and open infrastructure for receiving emergency and weather alerts. My main goal was to collect input on how this should eventually be integrated client-side.

The plan there is now to have a module in Plasma’s System Settings to manage areas of interest and keep the current stand-alone app prototype as the thing that opens when receiving push notifications. We can then gradually expand that to have more things (such as Itinerary) manage relevant areas.

With more people installing the current prototype and the venue Wi-Fi being a bit flaky at times we also managed to identify an issue in our current push notification infrastructure, namely an unfortunate interaction between KDE’s UnifiedPush server and Qt’s broken HTTP2 implementation in 6.9.1.

Push-based alerts weren’t the only thing though, we also got a chance to test cell broadcast alerts during the week. Since last year the Linux Mobile stack has made big improvements there, receiving cell broadcasts now just works, including wakeup from suspend and Unicode decoding. We now merely miss Plasma Mobile UI for this.

Fairphone with phosh showing a cell broadcast popup.
Simulated cell broadcast with Unicode characters on a Linux phone.

On Thursday we then got a chance to test both of this in action, as Akademy once more coincided with Germany’s nation-wide alert infrastructure test.

Notification popup with highest urgency and the test alert message.
Plasma Desktop notification for the nation-wide test alert.

This worked flawlessly both for cell broadcasts and push notification, for the latter easily within the one minute latency the system is designed for.

Application windows showing a map of the affected area and additional information for the alert.
Details for the test alert.

Itinerary

And while my own (non-)travel to Akademy was very boring this year, others did provide ideas, test cases and merge requests:

Sensitive test documents

A challenge when working on the travel document extractor is that this often requires access to actual booking documents for development and testing. Those are donated by people, and full of their personal information. The current historically grown “trust me” approach without documented rules is far from ideal, and makes the people holding those documents single points of failures.

There had been several ideas already on how to improve this, but what I had missed until discussions during Akademy is that e.g. the Poppler and Okular team has exactly the same problem.

So rather than coming up with something for just Itinerary we’ll now look at a more general solution for this. Probably worth its own post eventually.

Notification configuration

While we have a cross-platform API for showing notifications we lack a way for application to show the platform-specific notification configuration dialog for themselves. That’s relevant on platforms where the presentation of notifications is controlled by the platform rather than the app itself (such as KDE’s Plasma or Android).

This isn’t particularly hard to implement when running in a Plasma host system, but it’s a bit more challenging for applications inside a Flatpak containment:

  • The notification configuration needs to see the application’s notifyrc file, either by the Flatpak exporting that or by Plasma looking into installed Flatpaks for this.
  • The application needs a way to open the corresponding configuration page. On the host this can be done by launching kcmshell with the right arguments, inside a Flatpak we’d probably need some kind of URL scheme for this.

Moving KMime to KDE Frameworks

I’d finally like to get the moving of PIM libraries back to KDE Frameworks going again. Being under Framework’s API stability guarantees would simplify a few things.

For this we now at least have a basic agreement that this should be done and what API details should be reviewed and possibly cleaned up beforehand. The biggest remaining task however is porting to the new API documentation infrastructure, which we’ll have to do for all other non-Frameworks libraries as well. Help very much welcome.

Flatpak and Flathub

There were also a couple of discussions around our own distribution of applications. There’s still some historic artifacts like external distributors having a one week lead time for getting access to release tarballs, while our own packaging can only start at the moment of the public announcement (and then takes a couple of days).

Albert kindly showed me how the automatic update monitoring infrastructure for Flatpak works. I could directly apply that for the Itinerary Flatpak (which thus will eventually have all features enabled on Flathub as well). Even more interesting though was discussing how that could be integrated with Craft so we can use that for our packages on all other platforms as well.

And finally I learned how I could log into Flathub to see validation errors for apps I’m responsible for. That’s very useful as so far I only hear about those by chance in random pastebins shared in unrelated chat channels. Well, in theory at least, as that doesn’t seem to actually work for my account unfortunately.

More events

Akademy was just the start into the autumn conference season for me, with the Open Transport Community Conference, the CAP Implementation Workshop 2025 and 39C3 still to come, next to the KDE PIM sprint in Paris and an OSM Hack Weekend or two.

Welcome to a new issue of This Week in Plasma!

This week we finalized the set of features and major changes in Plasma 6.5, and released the first beta. I’d encourage everyone to test it out! One of the best ways these days is via KDE Linux. Many other distros also offer “unstable” KDE repos and the like. Please do test. For the next month, the Plasma team will be focusing on bug-fixing, so let us know what the bugs are!

This week, the last few features landed, and we began The Great Plasma 6.5 Bug-Fix-a-Palooza:

Notable New Features

Plasma 6.5.0

Implemented support for text insertion point tracking in the Zoom effect on Wayland. (Vlad Zahorodnii, link)

You can now set up a VPN with the “Fortigate” vendor. (Roland Tapken, link)

Notable UI Improvements

Plasma 6.5.0

KRunner is now smarter about performing mathematical calculations when given numbers with group separators. (Han Young, link)

KRUnner not getting stuck on comma-based group separators, and handling a calculation of “5,200 * 12,873” just fine

Implemented more improvements to make Wayland window activation/raising work better. (Xaver Hugl, link)

You can now right-click the list items of many System Tray widgets to access their extra actions without having to expand them first. (Kai Uwe Broulik, link)

Context item for a printer in its System Tray widget

Improved the way Discover communicates the status of Flatpak installations and updates. (Aleix Pol Gonzalez, link)

Improved the way screen readers describe actions and keyboard shortcuts on System Settings’ Shortcuts And Autostart pages. (Christoph Wolk, link 1 and link 2)

The Kicker Application Menu widget now shows a placeholder message when you search for something and get no results. (Christoph Wolk, link)

Kicker Application Menu widget fails to find any flugelhorns

Removed the combined meta-transaction in Discover’s transactions view, because it wasn’t necessary, and confused people when there was only one transaction happening. (Aleix Pol Gonzalez, link)

The desktop bar at the top of KWin’s Overview effect now fades in and out nicely. (Tony Wasserka, link)

Plasma Vaults now consistently uses the terms “lock” and “unlock” everywhere. (Nate Graham, link)

Notable Bug Fixes

Plasma 6.4.6

Fixed an issue that prevented the Breeze GTK style from being activated by default in Plasma, as intended. (Fabian Vogt, link)

Fixed some issues with printer ink levels being shown unnecessarily, or hidden when useful. (Mike Noe, link 1 and link 2)

Plasma 6.5.0

Fixed an issue that could cause Plasma to get stuck at high CPU usage when you invoked its scripting system in a very specific way. (Albert Astals Cid, link)

Fixed an issue that could cause input methods to stop working with X11 apps on Wayland. (Xuetian Weng, link)

Drag-and-drop now works with a stylus on Wayland. (Vlad Zahorodnii, link)

Fixed two issues that broke the ability to load certificates for 802.1X networks and view VPN server logs. (Ilia Kats, link 1 and link 2)

Fixed some issues in the DrKonqi bug reporting wizard that caused UI elements to overflow at small window sizes or with languages with long words like Russian and German. (Nate Graham, link)

Clicking on a disabled zoom button on the map present on the Night Color page in System Settings (which moves to the Day/Night Cycle page in Plasma 6.5) no longer inappropriately moves the current location marker to be under the button. (Vlad Zahorodnii, link)

Fixed an issue that caused some Flatpak apps to not display the right icons on System Settings’ Flatpak Application Permissions page. (David Redondo, link)

Fixed an issue that could cause blinking graphical artifacts at the edges of screens with floating panels when using certain fractional scale factors. (Xaver Hugl, link)

When connecting to a Plasma system using remote desktop, typing text now always inserts letters from the keys you typed, rather than respecting the keyboard layout on the remote machine, because that would potentially insert different letters from the ones you typed. (Nicolas Fella, link)

When configuring the System Monitor apps and widgets, the spinboxes that let you enter degrees are a lot less janky now. (Arjen Hiemstra, link)

KRunner’s popup no longer overflows beyond the bottom edge of the screen when there are a ton of results — especially when it’s configured to appear in the center of the screen; now it scrolls as needed. (Oliver Geer, link)

Gear 25.12

Launching apps using Konsole no longer causes their CPU and memory usage in the System Monitor app and widgets to be attributed to Konsole. (Christoph Cullmann, link)

Frameworks 6.18

Fixed two somewhat common Plasma crashes caused by improper thread use the SVG rendering pipeline. (David Edmundson, link 1 and link 2)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.5.0

Created a little command-line kwindowprop tool that works in much the same way that the X11-specific xprop tool did: you run it, click on a window, and then it prints information about that window. (David Redondo, link)

The last-used virtual desktop and the size of portal-based open/save dialogs are now saved in their respective state configs, not their settings configs. (Nicolas Fella, link 1 and link 2)

The command-line kscreen-doctor tool now reports refresh rates correctly, with two digits of precision for decimal values. (Liu Jie, link)

Qt 6.10

Implemented support for notifications about “graphics resets”, which Plasma and other Qt-based apps (but not KWin, which already supports this) will be able to use to behave more sensibly when graphics cards don’t behave so sensibly. (David Edmundson and Vlad Zahorodnii, link)

How You Can Help

KDE has become important in the world, and your time and contributions have helped us get there. As we grow, we need your support to keep KDE sustainable.

You can help KDE by becoming an active community member and getting involved somehow. 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; many other opportunities exist, too.

You can also help us by making a donation! A monetary contribution of any size 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 a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.

A few weeks ago was KDE’s Akademy which was hosted in Berlin, Germany this year! This was my first time visiting Berlin, which I’m surprised by considering I’ve been visiting Germany practically non-stop since 2023. There was lots of fun this year, and it’s always great seeing everyone again ❤️

The S-Bahn station outside of c-base

Travel

Getting to Berlin for me and back was 100% uneventful, which is odd. (This time, the travel bug bit Nate Graham 😬) So much so, both arriving planes were early! Also because of the location of BER there was literally only one direction to go, so even the train travel was simple. Within the city, it was the S-Bahn all the time and the occasional U-Bahn.

The Tiergarten S-Bahn station A weird picture of this part of the U-Bahn 😄

Of course, I kept track of my itinerary is KDE Itinerary this year again. I only had to fix one bug with my United Airlines parser, that’s pretty impressive!

Hotel

Despite booking late, I did manage to snag a week-long reservation at the B&B Berlin-Tiergarten. It was close both to the venue at the TU, the Tiergarten and the Tiergarten S-Bahn station which was super useful. The hotel itself was nice, but ~€12 for cold cuts during breakfast was a bit much (I didn’t realize that were was a bakery close by until after I bought breakfast, whatever…)

This was also my first hotel where instead of a room key, you have to punch in a number on a keypad. Like no, literally one of these kinds of keypads:

Not my picture, this is from Andy B on Trip Advisor. No, not our Andy B 😆

The hotel also had a self check-in, very modern I guess. Kai Uwe added support for the keeping the access code in Itinerary already, so the next time I stay at a B&B I’ll use that instead of a photo!

Akademy

As it is every year, it’s a tough choice deciding which talks to attend. Fortunately we only have two tracks and livestreams, so you’re never missing too much but it’s always a choice. Here’s some of my favorites from this year, in bullet-list form! (They’re ordered by how they’re scheduled.)

I gave a talk about bridging the gap between artists and Wayland, a lot of it being my own personal experience/journey and all that fun stuff. As I feared, there were one too many slides so unfortunately I skipped a few but I hope most it still came across. You can view the recording on PeerTube.

I spent quite a bit of time hacking on NeoChat, since all of the maintainers were in one (not so easily) accessible building. Some of my focus points were reporting content, our Android version and so many bugfixes! I also managed to sneak in a small bugfix for B&B hotels in Itinerary.

There were a lot more non-concrete hacking and discussion happening too, I’m glad to see some progress moving in the Kirigami and Add-ons space! Tokodon has become the testbed for a new way to declaratively create and use actions, which is something Tokodon already does but we wanted create a proper, centralized framework.

So overall, a pretty productive Akademy for the community I think! And not just on a technical level, but there’s a lot of talk about the CWG (Community Working Group) and handling community matters spearheaded by Victoria Fischer. I do just a bit of moderation work on our Discuss site, but it makes me so happy this is becoming a new focus. I think we as a community is already a pretty safe space, but that is absolutely something we should not take for granted especially during these times.

Day Trip

Somewhere inside the Tiergarten

The day trip this year was Berlin! Instead of taking a bus somewhere, we were tasked with walking from the Tiergarten area to the Brandenburg Gate and take pictures. Unfortunately for me, during one morning I walked almost the same path accidentally so a lot of it wasn’t new to me. But it was still an overall fun experience, way more fun than falling asleep on a bus somewhere.

Our real endpoint of the journey - Brunnen der Völkerfreundschaft.

We also visited the Computerspielemuseum which was somewhat cool. I’m of the opinion that once you’ve seen one video game museum, you pretty much seen them all (this applies to anything computer-related in general.) However this one had cool statues, and a Painstation!

SNAAAAAAAAAAKE

Another thing that made me happy is seeing new faces at Akademy, so if you have the means to travel to Europe and are even just interested in KDE - please join us for a weekend! (There is an RSS feed for Akademy news, a mailing list and more to keep track of us.)

I’m also just one guy, I recommend reading other people’s Akademy experiences this year at Planet KDE, they’re all fantastic of course. Now, back to hacking!

Friday, 19 September 2025

Akademy 2025 is history. What an Akademy it was - and it was grand!

Akademy is KDE’s annual conference. This year it happend to be in Berlin, so I hopped on a short 🤥 10 hour train to the north to meet friends - old and new - and discuss the latest ventures of KDE.

Some statue in Berlin

The biggest topic of them all was, of course, KDE Linux. Once again we sent the conference buzzing. This year with the news of it entering alpha status. There were bananas a plenty, inspired by the original codename of the distribution: project banana. We even had a self defense course against fruit: How to defend yourself against someone armed with a banana.

Talks were great all around. Well done everyone!

As is tradition the ad-hoc hallway track was well attended and yielded many useful results.

Me dressed as a banana and Nico not paying attention to my talk

The weekend closed out with a great social bash on Sunday at c-base, a crashed space station in the middle of Berlin! We had fun, pizza, and discussed input methods as well as the ultimate question of life, the universe, and everything, before ending the night at a Späti, Berlin’s characteristic late night one-stop shops for everything from cheap beer to expensive beer.

Some statue in Berlin

During the week we had Birds of a Feather sessions, our informal discussion format. Every day we had naturally something KDE Linux related to keep our fresh fruit intake up.

On Monday we mused on shared immutable distro topics and resolved to lean more onto kde-builder respectively our repo-metadata as original source of truth for packaging information. We discussed automatic data migration onto a different machine, considered the various types of data a user might want to migrate, and how to even implement this. Plasma’s solution for backups is a bit wanting. We think it’d be a good idea to double down on Kup, an existing backup solution, to produce a tidier, more integrated backup experience.

Volunteers welcome!

On Tuesday and Thursday we rendered a whole bunch of decisions on KDE Linux issues that were in need of decision making. No large changes from the status quo though. Well, the biggest change is that we now have manpages. For now 🥸

Wednesday was the traditional day trip. It took us on a scavenger hunt through Berlin in an attempt to secure as many scavenged points as possible. I regretfully don’t know which team won as I got distracted by lunch, but it was great fun all the same. In the afternoon Aleix and I took to a tea house for some Ostfriesentee and light afternoon hacking.

To close the event on Thursday, Eike, Aleix and I headed to a pub for tomfoolery and baby guinesses.

Banana!

Thanks so much to everyone who attended, the Akademy team for organizing, the sponsors and the KDE e.V. for financing, and Techpaladin LLC for sponsoring my attendance.

Maybe next year we will learn how to defend yourself against a pointed stick.

Activities' future is a bit unclear at the moment. It overlaps with functionality provided by other services and the user story for how it fits into the desktop is unclear at best. However we also have to acknowledge that some people use activities to create a workflow that works for them. Rather than taking a sledgehammer to the concept, we're performing a more surgical approach of working out what use-cases people are trying to fix at finding the best solution to deliver that.

With that comes cleaning out some of the parts we don't like and one part decided at the Plasma sprint was dropping the activity based sub-session management.

What's changing

At the moment activities can be started and stopped at runtime.

This start/stop feature (pictured above) is being dropped.


In theory there is is XSMP code performs session management on a per-activity basis. When an activity is stopped, those applications are frozen, closed as running processes and restored when the activity next gets restarted.

It's a neat idea, but in practice this rarely happens, for a range of reasons:

  • XSMP is not supported in an increasing amount of apps and toolkits. Subsessions even less so, and even more less so with Wayland.
  • It is blocked in almost all Flatpak/Snap applications as there's a fundamental sandbox escape in the protocol.

The vast majority of apps just move to the neighbouring activity.


Even if it did work, there's a fundamental design flaw with the entire concept.

A window/app can be on two activities at once, if it should remain open on the other activity we can't suspend it. The concept of session restoration is at odds with the cardinality of windows to activities.

Many applications don't allow multiple instances; so if you resume an activity with the application already running, it won't do anything and that's unfixable.

The end result is one that's inconsistent and unpredictable which is a state worse than not existing so we're dropping this feature.

Will I see an impact?

Not much. If you do use activities you can still switch between them as before, just with no "stop" and "start" button.

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


KDE Plasma is now my favorite desktop

Tags: tech, linux, desktop, foss, kde

Let’s have some well deserved praise. The product is definitely good, the community is great. Who said I’m biased?

https://kokada.dev/blog/kde-is-now-my-favorite-desktop/


Netscape Navigator 2.0 was released 30 years ago today

Tags: tech, web, email, history

A tiny piece of history which was instrumental in the way the web and email developed back then.

https://www.jwz.org/blog/2025/09/netscape-navigator-2-0-was-released-30-years-ago-today/


Ton Roosendaal to step down as Blender chairman and CEO

Tags: tech, blender, 3d, foss

Clearly a big step in Blender history. I wish them success through this transition. Blender is a very important and influential product in its space.

https://www.cgchannel.com/2025/09/ton-roosendaal-to-step-down-as-blender-chairman-and-ceo/


The Last Days Of Social Media

Tags: tech, web, social-media, attention-economy, fediverse

Interesting, there are definitely some trends benefiting saner alternatives… But are we really seeing the end of the big social media platforms as we know them? Let’s wait and see.

https://www.noemamag.com/the-last-days-of-social-media/


Slow social media

Tags: tech, social-media, attention-economy

I think I would use something like this.

https://herman.bearblog.dev/slow-social-media/


Massive Attack Turns Concert Into Facial Recognition Surveillance Experiment

Tags: tech, music, surveillance

They are clearly making a statement here. Feeling uneasy about it? Well you should.

https://www.gadgetreview.com/massive-attack-turns-concert-into-facial-recognition-surveillance-experiment


Danish Minister of Justice and chief architect of the current Chat Control proposal…

Tags: tech, surveillance, politics, democracy

It won’t disappear that easily… Clearly the most radical supporters and architects of the Chat Control proposal won’t let go. They don’t want to respect people privacy and freedoms. Keep fighting!

https://mastodon.social/@chatcontrol/115204439983078498


The Internet Coup: A Technical Analysis on How a Chinese Company is Exporting The Great Firewall to Autocratic Regimes

Tags: tech, surveillance, politics

The full report is really chilling. The amount of shady practice around that surveillance apparatus is staggering. It’s apparently becoming somewhat successful commercially too.

https://interseclab.org/research/the-internet-coup/


What do you call that thing when your vendor gets hacked?

Tags: tech, services, security, supply-chain

Good idea to standardise this for vendors just like we do using CVEs for software components. This would definitely improve dealing with breaches.

https://mayakaczorowski.com/blogs/vendor-vulnerability


Shai-Hulud: The novel self-replicating worm infecting hundreds of NPM packages

Tags: tech, supply-chain, security

Unsurprisingly ends up with an advertisement for their own security tool. That said the vector used for the attack is interesting, with more npm like ecosystems available nowadays, should we expect to see more such attacks?

https://www.sysdig.com/blog/shai-hulud-the-novel-self-replicating-worm-infecting-hundreds-of-npm-packages


crates.io phishing campaign

Tags: tech, rust, security, supply-chain

Bad actors will go to great length to try to compromise your supply chain.

https://blog.rust-lang.org/2025/09/12/crates-io-phishing-campaign/


Protecting Rust against supply chain attacks

Tags: tech, rust, supply-chain, security

A good explanation of why you likely don’t want a centralised package manager for your ecosystem.

https://kerkour.com/rust-supply-chain-attacks


Automating Distro Updates in CI

Tags: tech, maintenance, automation, supply-chain

Nice automation for such updates. I’m discovering endoflife.date this looks very handy.

https://paretosecurity.com/blog/automating-distro-updates-in-ci/


KSON

Tags: tech, config

Looks like we got a new and interesting language for configuration. Might become a nice alternative to yaml and its traps.

https://kson.org/


A deep dive into the ACPI.sys DPC latency problems on Asus ROG laptops

Tags: tech, hardware, acpi

Very interesting deep dive pointing to a very flawed firmware.

https://github.com/Zephkek/Asus-ROG-Aml-Deep-Dive


The Cache Crash

Tags: tech, debugging, processes, memory, system

Interesting dive into an heisenbug… Definitely not easy to debug.

https://www.fastmail.com/blog/the-cache-crash/


In Defense of C++

Tags: tech, c++, safety

For as much as we collectively like to complain about C++ it’s important to also give credit where its due. Now I don’t necessarily agree with everything in this one even though it provides a few good arguments.

https://dayvster.com/blog/in-defense-of-cpp/


Reflection — C++’s decade-defining rocket engine

Tags: tech, c++, standard, reflection

OK the coming compile time reflection features coming with C++26 are definitely mind blowing. It really opens the door toward a very different evolutionary path for C++. Many things can be done from libraries now and producing bindings to other languages shall become much simpler to.

Now it’s once again about adding more to the language… This makes the question of how to extract a safer and leaner subset even more important. It’s also asking for more tooling to support it, like the constexpr debugger mentioned during the questions.

https://herbsutter.com/2025/09/18/yesterdays-talk-video-posted-reflection-cs-decade-defining-rocket-engine/


Rating 26 years of Java changes

Tags: tech, java, programming

Ver much biased of course. Still it’s a good way to see how much Java evolved over time.

https://neilmadden.blog/2025/09/12/rating-26-years-of-java-changes/


Algebraic Types are not Scary, Actually

Tags: tech, type-systems, mathematics

Nice write up with very simple mathematics metaphors to easily understand algebraic types.

https://blog.aiono.dev/posts/algebraic-types-are-not-scary,-actually.html


Setsum - order agnostic, additive, subtractive checksum

Tags: tech, syncing, mathematics

This checksum approach has interesting properties. Can come in handy when syncing.

https://avi.im/blag/2025/setsum/


Beyond Orthogonality: How Language Models Pack Billions of Concepts into 12,000 Dimensions

Tags: tech, ai, machine-learning, gpt, mathematics

Interesting stuff about the mathematics behind how embedding spaces work in LLMs.

https://nickyoder.com/johnson-lindenstrauss/


React Won by Default – And It’s Killing Frontend Innovation

Tags: tech, web, frontend, framework, react

I strongly agree with this piece. There are very interesting web frameworks out there. They should be evaluated on their own merits but are too often just ignored.

https://www.lorenstew.art/blog/react-won-by-default/


You Want Technology With Warts

Tags: tech, web, maintenance, sqlite

Interesting take on building software that lasts. I’m not sure I’m fully aligned with this but its good food for thought.

https://entropicthoughts.com/you-want-technology-with-warts


How to Create a Useful Project Charter in Less Time Than You Think: Overview - Johanna Rothman

Tags: project-management, vision

Indeed many projects are started without such a charter and that creates issues.

https://www.jrothman.com/mpd/2025/09/how-to-create-a-useful-project-charter-in-less-time-than-you-think-overview/


Why We Spiral

Tags: psychology, management

Interesting stuff. Indeed, we can easily trigger such negative feedback loops… Makes me think that compounded with impostor syndrome or unsupportive management you can really create dysfunctional teams in the workplace. This gives insights on how to get out of it.

https://behavioralscientist.org/why-we-spiral/


You’re a Slow Thinker. Now what?

Tags: cognition, learning

Interesting essay… Indeed not everyone think or learn in the same way or at the same speed. It’s not the end of the world though, you tend to develop different strengths or weaknesses due to this.

https://chillphysicsenjoyer.substack.com/p/youre-a-slow-thinker-now-what


Sing, sang, sung and other linguistic fossils

Tags: linguistics, history

Interesting exploration of where the strong verb system of the English language is coming from.

https://www.deadlanguagesociety.com/p/history-english-strong-verbs



Bye for now!