Skip to content

Saturday, 31 May 2025

The past two months since the last update have been busy again around KDE Itinerary, with additional train and bus trip editing capabilities, a new departures view, OpenRailwayMap integration and a ton of new features in Transitous.

New Features

Lengthening train and bus trips

Changing the departure and arrival of train or bus trips so far only allowed to shorten the trip, that is board later or alight earlier. That limitation was caused by not having information about the full run of a train or bus, so we didn’t know what possible stops existed before the original departure or after the original arrival.

That has changed now for some public transport backends at least, and it’s thus also possible to change to an earlier departure stop or a later arrival stop.

KDE Itinerary editing a long-distance bus reservation with the departure stop selector opened.
Changing departure stop for a bus trip.

The journey details view for train and bus trips now also shows the full trip of the corresponding vehicle.

New departures view

The public transport departures view has been updated to match the Kirigami FormCard style used in most other places, and to align Itinerary with what KTrip is using.

KDE Itinerary showing a list of upcoming train and rapid transit departures from a station.
Public transport departures.

OpenRailwayMap integration

The live status map showing the position, speed and heading of the train, bus or plane you are currently on now offers additional map styles from OpenRailwayMap. That’s an OSM-based map that has dedicated views for railway infrastructure, signaling, track gauge, electrification and track speed rating. All of those can be selected in Itinerary’s live map as well now when on a train.

Current train position and speed shown on OpenRailwayMap's railway track speed rating map.
KDE Itinerary's live map using OpenRailwayMap.

While a rather special interest feature on first sight, the track speed rating view has already proven to be rather useful for assessing the reliability of delay estimates, as you’ll easily see if the current speed is matching the currently possible maximum or whether you’ll likely be falling behind schedule further.

Events

There’s two upcoming events very relevant for Itinerary:

Infrastructure Work

Transitous and MOTIS

MOTIS, the routing engine used by Transitous, has been rapidly gaining features:

  • Support for GTFS-Fares v2, that is information about costs and ticket options for trips.
  • Support for GTFS-RT service alerts, that is (textual) information describing disruptions or other service changes.
  • Support for GTFS-RT cancelled and additional services.
  • Support for GTFS-Flex, that is information about on-demand mobility services.
  • Considering terrain elevation in bike and foot routing.
  • Considering car carriage services such as ferries and car transport trains in car routing.

Some of these features are already benefiting Itinerary users, some will need work on the Transitous side to extend the import pipeline or to add additionally needed data feeds, and some still need client-side work to properly retrieve and display the new information.

Shared UI between Itinerary and KTrip

There’s renewed effort to share more of the public transport UI components between Itinerary and KTrip, mostly in the KPublicTransport library.

So far this covered:

  • The stop picker page.
  • The backend configuration page.
  • Parts of the vehicle layout and departure/arrival board views.

Some of the custom date/time formatting functions used here are also upstreamed into KCoreAddons’s KFormat API.

Fixes & Improvements

Travel document extractor

  • Add or improved travel document extractors for American Airlines, a&o hostels, booking.com, Deutsche Bahn, Eventbrite, Eventlook, Flixbus, Gastronovi, IHG, Kolumbus ferries, ÖBB, SNCF, Stena Line, Tallink, Tootoot.fm and Viking Line.
  • Improved generic extractor for FCB and DOSIPAS ticket barcodes.
  • Significantly expanded documentation for writing extractor scripts, thanks to Grzegorz Mu.

All of this has been made possible thanks to your travel document donations!

Public transport data

  • New or improved onboard API support for ÖBB and Ouigo ES.
  • Fixed path plausibility check erroneously purging circular paths.
  • Fixed mode of transport filters on EFA backends.
  • Added support for service alerts and canceled trips/stops on MOTIS backends.
  • Added support for occupancy information on OpenTripPlanner backends.
  • Added support for localized headsign information on OpenTripPlanner backends.
  • Improved automatic backend selection when start and destination are part of different coverage regions.
  • Fixed parsing of geocoding replies from MOTIS missing some address information.
  • Fixed misleading error messages when no results could be found.
  • Fixed coverage metadata for Estonia.
  • Improved trip matching when having to fall back from trip queries to journey routing.
  • Improved parsing of night train coaches from ÖBB’s vehicle layout API.

Itinerary app

  • Improved geo coding and address editing, including a fix for QtLocation not forwarding Nominatim house numbers correctly.
  • Improved applying live updates to multi-ticket trips.
  • Warn when trying to import data exported by a newer version of Itinerary.
  • Fixed barcode scan mode button overlapping other page elements even when fully scrolled down.
  • Fixed statistics display if no country has been visited yet.
  • Also check for updates for newly imported reservations in the far future.
  • Fixed display of arrival stop notes.
  • Improved trip group action state handling for about to end trips.
  • Show ticket validity times when available.
  • Fixed display of train destinations in the coach layout view.
  • Improved display of closed coaches in the vehicle layout view.
  • Fixed creating ferry trips without an arrival time.

How you can help

Feedback and travel document samples are very much welcome, as are all other forms of contributions. Feel free to join us in the KDE Itinerary Matrix channel.

Welcome to a new issue of This Week in Plasma! Every week we cover the highlights of what’s happening in the world of KDE Plasma and its associated apps like Discover, System Monitor, and more.

This week we released a second beta version of Plasma 6.4 and worked a ton on polishing it up in preparation for general release in about two weeks. We’re getting a good response from beta testers who are submitting lots of bug reports — please keep it up! These are hugely valuable, and we’re prioritizing them.

Notable UI Improvements

Plasma 6.4.0

Handled more device types in the Bluetooth widget so that it’s more accurate about identifying the device type. (Kai Uwe Broulik, link)

The Bluetooth pairing wizard now displays devices with real names on top so you can find them more easily. (Albert Astals Cid, link)

Improved keyboard navigation across search result columns in the Kicker Application Menu. (Christoph Wolk, link)

The Dictionary and Web Browser widgets now both use symbolic panel icons, to match what other widgets do now. (Christoph Wolk, link 1, link 2)

Symbolic dictionary and web browser widgets on panel

Made numerous functional and visual improvements to the Fifteen Puzzle widget. (Christoph Wolk, link 1, link 2, link 3, link 4, link 5, link 6)

Plasma 6.5.0

You can now advance to the next wallpaper in a wallpaper slideshow using a keyboard shortcut, if you assign one to the new global action we created for this purpose. (Kai Uwe Broulik, link)

KWin’s Magnifier and Zoom effects now share their initial zoom level and zoom factor settings. (Ritchie Frodomar, link)

The Digital Clock widget’s calendar add-ons page has been given a visual overhaul and looks much nicer now. (Christoph Wolk, link 1, link 2, and link 3)

Fancy calendar add-ons-page with items in a list view with icons and descriptions

Plasma now warns you that keeping the “Raise maximum volume” setting active for prolonged periods will damage the device’s speakers, and lets you know it’s designed only for temporary use to boost the volume of quiet media. (Nate Graham, link)

Warning shown when raising the maximum volume beyond 100%

System Settings’ Legacy X11 App Support page is now clearer about what you would use its settings for, and what the security consequences of doing so are. (Nate Graham, link)

The menu that appears when you click on the little app icon in a window’s titlebar is now consistently called the “Window Menu” everywhere. (John Veness, link 1 and link 2)

Notable Bug Fixes

Plasma 6.3.6

Fixed a random-seeming KWin crash. (Vlad Zahorodnii, link)

Fixed a common crash in the Powerdevil power management subsystem. (Vlad Zahorodnii, link)

The Legacy X11 App Support settings now apply accurately no matter what keyboard layout you’re using. (Vlad Zahorodnii, link)

The keyboard shortcut in the desktop context menu for the ”Launch KRunner” menu item (if you’ve manually enabled it) is once again shown correctly. (Kai Uwe Broulik, link)

Fixed a very subtle visual glitch in the radio button switching animation. (Kai Uwe Broulik, link)

The Power And Battery widget no longer bugs you to install power-profiles-daemon when it’s already installed but your hardware simply doesn’t support it. (Nate Graham, link)

Plasma 6.4.0

Fixed multiple bugs where dragging-and-dropping widgets onto panels or the desktop would only work once until Plasma was restarted, or could make Plasma crash, or where widgets dropped on a panel could overlap. (Marco Martin, link 1, link 2, link 3, and link 4)

Fixed a case where Plasma or System Settings could crash when you removed certain locations from the locations list for the Slideshow wallpaper plugin. (Marco Martin, link)

Fixed an extremely strange and subtle issue in Spectacle that would cause content on the wrong screen to get captured when using certain multi-screen arrangements with certain fractional scale factors. (Noah Davis, link)

Fixed a case where a newly-configured System Monitor Sensor widget wouldn’t save its state after the system was restarted. (Arjen Hiemstra, link)

The Bluetooth widget no longer briefly shows the status as “Disconnecting” for a moment while actually connecting to a device. (Kai Uwe Broulik, link)

Clicking on the active Global Theme on System Settings’ Global themes page no longer shows a dialog saying the theme is broken. (David Edmundson, link)

Installing or uninstalling an app while the Kickoff Application Launcher is open no longer makes it clear the visible page until you navigate away from it and then back again. This is useful for when you’ve got it pinned open and are uninstalling unnecessary apps you find there one-by-one. (Christoph Wolk, link)

Fixed the width of the main column in the Kicker Application Menu so that it returns to its normal width after clearing the search field text, and ridiculously long text now elides rather than being cut off. (Christoph Wolk, link 1 and link 2)

Fixed a bug in the Kicker Application Menu that would cause sub-menus to be displayed at the wrong size when switching to them immediately after viewing a smaller sub-menu with its own sub-menus. (Christoph Wolk, link)

Fixed a bug that caused the header backgrounds for the few remaining System Settings pages written in QtWidgets to not change properly after you switch color schemes until System Settings was restarted. (Marco Martin, link)

Fixed the window stacking order being sometimes scrambled when using the “Slide Back” effect. (David Edmundson, link)

Fixed a bug preventing the items in Firefox’s popup showing recently downloaded files from being draggable as intended. (Vlad Zahorodnii, link)

Frameworks 6.15

Fixed a bug that caused KWin to crash when the screen arrangement is changed while the Overview effect was open. (Vlad Zahorodnii, link)

Fixed a bug that caused apps to hang when they try to access passwords if somehow your default KWallet wallet has gotten its name set to an empty string. (Marco Martin, link)

Fixed a bug that caused the KWalletManager app to freeze if you start creating a new wallet, then change your mind in the middle of the process and close the new wallet creation dialog. (Marco Martin, link)

Worked around a GTK bug a bug that caused some Breeze icons to appear as white rectangles in GTK 3 apps. (Mors Mortium, link)

In the “Get New [thing]” windows, the button to open the comments page is now an actual button, not an underlined link, which was misleading. (John Veness, link)

Qt 6.8.4

Fixed one of the most common random crashes in any and all QtQuick-based KDE software. (Ulf Hermann, link)

Qt 6.10

Fixed a bug that caused context menus in some apps to be offset and displayed in the wrong location when using a multi-screen setup. (Vlad Zahorodnii, link)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.5.0

Reduced memory usage of Plasma by keeping fewer unnecessary copies of each screen’s wallpaper in memory. (David Edmundson, link)

Changing the icon theme no longer triggers an unnecessary refresh of the application metadata cache. (Nicolas Fella, link)

Qt 6.10.0

Implemented the ability to have companion items in QtQuick-based user interfaces label one another for the purpose of screen readers saying more sensible things when they’re focused. Once this is released, we’ll be able to start adopting it throughout KDE software! (Nicolas Fella, 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:

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

Friday, 30 May 2025

In September 2024, the annual KDE conference Akademy was held in Würzburg. I've been to all Akademies from 2004-2020 (except 2005). Then came Covid, private life, etc. So it was kind of special that I finally made it to Würzburg again, which was just a ~2h ride away by train. And it was a good decision: Since many KDE contributors (also those who stayed with KDE a for a log time) came to this Akademy. It was a good opportunity to meet old friends again.

And that remided me of a blog post I wrote 15 years ago: The Power of Developer Meetings. In that post I was highlighting the importance of face-to-face meetings. What I wrote back then is still relevant today, so I'll just repeat:

  • Social aspect: You get to know the other developers involved in the project in real life, which is a great motivation factor and simplifies communication a lot.
  • Productivity: Since you are sitting next to each other discussions about what to do and how to do what are very focused. It’s amazing how quickly a project can evolve this way. (I still haven’t seen such focused work in companies yet, even 15 years later).
  • Knowledge Transfer: Since participants are experts in different areas, discussions lead to knowledge transfer. This is essential, as sometimes developers have very few free time to contributes to a project. Spreading the knowledge helps a lot to keep the project alive.
  • Steady Contributions: New contributors always pop up, which is in particular very nice. Everyone is welcome to set a patch, get commit access and join development. Experience shows that participants joining developer meetings / conferences usually contribute for years to come.

I enjoyed meeting KWin developers (new and old ones), plasma developers, and Kate developers again (of course!). All in all I am very happy to see the lively community that KDE managed to be for over 25 years - well done!

Having said that, I am looking forward to Akademy 2025, that will be hosted in Berlin again. In case you are unsure to go there, I suggest to just do it! It's certainly going to be a very good experience, so go ahead and register now.

PS: Würzburg has one touristic spot, the "Alte Mainbrücke". Pretty much every tourist goes to this bridge and drinks a wine - I did so, too :-)

Akademy 2024 in Würzburg

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


The two types of open source

Tags: tech, foss, community, supply-chain, marketing, business

I’m not sure this dichotomy is enough for building a taxonomy of FOSS projects. But I guess it’s a start and captures something often missing in other such attempts.

https://filiph.net/text/two-types-of-open-source.html


SteamOS massively beats Windows on the Legion Go S

Tags: tech, linux, gaming, kde, power, performance

Looks like Linux is now the best operating system for gaming on the go.

https://www.gamingonlinux.com/2025/05/steamos-massively-beats-windows-on-the-legion-go-s/


Why old games never die (but new ones do)

Tags: tech, gaming, vendor-lockin, culture

It’s funny how old games can still have a cult following. It’s unlikely to stop too… That’s the good thing about limited lock in. Self hostable private servers, ability to play offline, tools to produce mods… They all contribute to such very long term successes.

https://pleromanonx86.wordpress.com/2025/05/06/why-old-games-never-die-but-new-ones-do/


Own Your Email Domain

Tags: tech, email, self-hosting, dns

You don’t need to self-host the mail itself, but you definitely should control the domain.

https://matthewsanabria.dev/posts/own-your-email-domain/


How to fix email encryption

Tags: tech, email, security, cryptography, ux

Worth trying indeed. I’d love to see at least some of that widely adopted.

https://weddige.eu/en/articles/lets-encrypt-emails/


A Company Reminder for Everyone to Talk Nicely About the Giant Plagiarism Machine

Tags: tech, ai, machine-learning, gpt, copyright, satire

Nice little satire, we could easily imagine some CEOs writing this kind of memo.

https://www.mcsweeneys.net/articles/a-company-reminder-for-everyone-to-talk-nicely-about-the-giant-plagiarism-machine


At Amazon, Some Coders Say Their Jobs Have Begun to Resemble Warehouse Work

Tags: tech, ai, machine-learning, gpt, copilot, productivity, management, business, quality

If you expected another outcome on the average developer job from the LLM craze… you likely didn’t pay attention enough.

https://www.nytimes.com/2025/05/25/business/amazon-ai-coders.html


Google has a big AI advantage: it already knows everything about you

Tags: tech, ai, machine-learning, gpt, google, surveillance

Are we surprised they’ll keep processing personal information as much as possible? Not really no…

https://www.theverge.com/tech/671201/google-personal-context-ai-advantage-data


The Who Cares Era

Tags: tech, ai, machine-learning, gpt, quality, culture

Nice piece. In an age where we’re drowning in bad quality content, those who make something with care will shine. They need to be supported.

https://dansinker.com/posts/2025-05-23-who-cares/


Large Language Models Reflect the Ideology of their Creators

Tags: tech, ai, machine-learning, gpt, politics, research

Interesting research, this gives a few hints at building tools to ensure some more transparency at the ideologies pushed by models. They’re not unbiased, that much we know, characterising the biases are thus important.

https://arxiv.org/abs/2410.18417


Tools

Tags: tech, ai, machine-learning, gpt, copyright, ethics

LLMs are indeed not neutral. There’s a bunch of ethical concerns on which you don’t have control when you use them.

https://adactio.com/journal/21926


The magic developer wand…

Tags: tech, ai, machine-learning, gpt, ethics, ecology, copyright

Not only the tools have ethical issues, but the producers just pretend “we’ll solve it later”. A bunch of empty promises.

https://gomakethings.com/the-magic-developer-wand…/


A Vibe‐Coding Experience

Tags: tech, ai, machine-learning, copilot, programming, complexity

An honest attempt at “vibe coding”… but once again the conclusion is “when it grows to non-trivial size, I’m glad my experience allowed me to finish the thing myself”.

https://github.com/clauderouxster/kriegspiel/wiki/A-Vibe%E2%80%90Coding-Experience


On “Vibe Coding”

Tags: tech, ai, machine-learning, gpt, copilot, quality, economics, politics

It definitely has a point. The code output isn’t really what matters. It is necessary at the end, but without the whole process it’s worthless and don’t empower anyone… It embodies many risks instead. I think my preferred quote in this article is this: “We are teaching people that they are not worth to have decent, well-made things.”

https://tante.cc/2025/05/23/on-vibe-coding/


Net-Negative Cursor

Tags: tech, ai, machine-learning, gpt, copilot, productivity, quality

Indeed feels bad when there are so many problems in the example of LLM based completion you put on the front page of your website…

https://lukasatkinson.de/2025/net-negative-cursor/


The Recurring Cycle of ‘Developer Replacement’ Hype

Tags: tech, ai, machine-learning, gpt, copilot, nocode, hype, business

Just another hype cycle… The developer profession being in danger is greatly exaggerated.

https://alonso.network/the-recurring-cycle-of-developer-replacement-hype/


CAPTCHAs are over (in ticketing)

Tags: tech, ai, machine-learning, security, privacy

Or why CAPTCHA might become something of the past. I guess they’ll live a bit longer as they become more and more privacy invasive.

https://behind.pretix.eu/2025/05/23/captchas-are-over/


Remote Prompt Injection in GitLab Duo Leads to Source Code Theft

Tags: tech, ai, machine-learning, copilot, gitlab, security

As LLM assistants get more and more embedded in the development process, it gets harder to ensure they behave safely. Quite a few interesting attack vectors in that one.

https://www.legitsecurity.com/blog/remote-prompt-injection-in-gitlab-duo


GitHub MCP Exploited: Accessing private repositories via MCP

Tags: tech, ai, machine-learning, copilot, github, security

Another example of attack vectors emerging with adding more and more LLM agents in the development process.

https://invariantlabs.ai/blog/mcp-github-vulnerability


How I used o3 to find CVE-2025-37899, a remote zeroday vulnerability in the Linux kernel’s SMB implementation

Tags: tech, ai, machine-learning, gpt, copilot, security, audit

Looks like it’s getting there as a good help for auditing code, especially to find security vulnerabilities.

https://sean.heelan.io/2025/05/22/how-i-used-o3-to-find-cve-2025-37899-a-remote-zeroday-vulnerability-in-the-linux-kernels-smb-implementation/


Pain in the dots

Tags: tech, version-control, git, tools

I often tumble on this. The two and three dots notations means different things between git log and git diff. It is a tad annoying.

https://matthew-brett.github.io/pydagogue/pain_in_dots.html


Writing your own CUPS printer driver in 100 lines of Python

Tags: tech, linux, printing, cups

A good reminder that writing CUPS printer drivers doesn’t have to be complicated.

https://behind.pretix.eu/2018/01/20/cups-driver/


The future of Flatpak

Tags: tech, linux, flatpak, community

Flatpak is at a crossroad I’d say. The project really needs to find a way to move forward.

https://lwn.net/Articles/1020571/


Memory Access Patterns Are Important

Tags: tech, programming, cpu, memory, caching, performance, multithreading

A bit dated perhaps, and yet most of the lessons in here are still valid. If performance and parallelism matter, you better keep an eye on how the cache is used.

https://mechanical-sympathy.blogspot.com/2012/08/memory-access-patterns-are-important.html?m=1


Isolates and Compressed References: More Flexible and Efficient Memory Management via GraalVM

Tags: tech, java, memory

Interesting advanced features of GraalVM to better manage the memory of complex Java programs.

https://medium.com/graalvm/isolates-and-compressed-references-more-flexible-and-efficient-memory-management-for-graalvm-a044cc50b67e


Revisiting Loop Recognition in C++… in Rust

Tags: tech, rust, c++, programming, memory, performance, benchmarking

Interesting comparison between C++ and Rust for a given algorithm. The differences are mostly what you would expect, it’s nice to confirm them.

https://blomqu.ist/posts/2025/loop-recognition/


Threads Beat Async/Await

Tags: tech, programming, multithreading, asynchronous, python, dotnet, javascript, java, rust

Or why I’m still on the fence regarding async/await. It’s rarely the panacea we pretend it to be.

https://lucumr.pocoo.org/2024/11/18/threads-beat-async-await/


Rust streams and timeouts gotcha

Tags: tech, programming, rust, asynchronous

Indeed, bugs with async/await can be subtle in Rust.

https://laplab.me/posts/rust-streams-gotcha/


parking_lot: ffffffffffffffff…

Tags: tech, debugging, multithreading, rust

Nice deep dive into a bug lurking inside a lock implementation.

https://fly.io/blog/parking-lot-ffffffffffffffff/


Concepts vs type traits

Tags: tech, c++, type-systems

Good comparison between concepts and type traits in C++. Clearly at this point concepts should be favoured as they convey more intent to compilers and humans alike.

https://akrzemi1.wordpress.com/2025/05/24/concepts-vs-type-traits/


dynamix: A new take on polymorphism

Tags: tech, c++, design, object-oriented

A library bringing the mixins concept to C++.

https://github.com/iboB/dynamix


Pyrefly vs. ty: Comparing Python’s Two New Rust-Based Type Checkers

Tags: tech, python, type-systems, rust

Early days but it looks like we got two interesting type checkers coming up for Python. Definitely worth keeping an eye on them.

https://blog.edward-li.com/tech/comparing-pyrefly-vs-ty/


Thousands separators

Tags: tech, programming, python

Nice trick for numbers formatting as strings in Python.

https://mathspp.com/blog/til/thousands-separators


Why are 2025/05/28 and 2025-05-28 different days in JavaScript?

Tags: tech, date, time, javascript

Date parsing is generally complicated… In JavaScript it is just insane.

https://brandondong.github.io/blog/javascript_dates/


Car Physics

Tags: tech, game, mathematics, simulation, physics

Nice explanation of everything you need to simulate to make a realistic car simulation in a game.

https://www.asawicki.info/Mirror/Car%20Physics%20for%20Games/Car%20Physics%20for%20Games.html


Test Isolation Is About Avoiding Mocks

Tags: tech, tests, tdd, design

Even if you do use mocks to isolate your tests, at least don’t nest them.

https://www.destroyallsoftware.com/blog/2014/test-isolation-is-about-avoiding-mocks


Visualization Mnemonics for Software Principles

Tags: tech, design, object-oriented

A funny way to illustrate the principles behind the SOLID acronym.

https://daedtech.com/visualization-mnemonics-for-software-principles/


Design driven development

Tags: tech, architecture, tests, tdd, design

Both TDD and design docs complete each other well indeed. They just don’t focus on the same activities in the project. That said, both later provide important insights on all the decisions taken to produce some code.

https://underlap.org/design-driven-development


Reinvent the Wheel

Tags: tech, programming, supply-chain, learning

For studying it makes sense. But don’t shun other’s work away only because of trust or ego issues.

https://endler.dev/2025/reinvent-the-wheel/


On work processes and outcomes

Tags: tech, engineering, processes, quality, safety

Interesting ways to look at processes and their outcomes. Depending on the mental model you won’t ask the same questions when investigating incidents.

https://surfingcomplexity.blog/2025/05/10/on-work-processes-and-outcomes/


Managing strong personalities

Tags: management, team

I prefer aiming for egoless positions in teams… But if it doesn’t work, I guess this little trick can help turn someone around.

https://betterthanrandom.substack.com/p/managing-big-egos


How to make sure nothing gets done at work

Tags: organization, bureaucracy, management, communication

You’ve see a co-worker doing this, right? They’re unlikely to be spies, but still they’re inadvertently using sabotage tactics.

https://fortune.com/2015/09/30/workplace-bureaucracy-simple-sabotage/


Models and science

Tags: science

A nice little explanation of scientific work and enquiry.

https://lemire.me/blog/2025/05/23/models-and-science/



Bye for now!

Techpaladin logo

Techpaladin becomes an official KDE patron and contributes to our community's funding.

Techpaladin is a consultancy firm specialized in advancing the state of the art in KDE software.

Techpaladin was founded by experienced and prominent KDE contributors who develop KDE-based software for such high-profile companies such as Valve and Qt Group.

"KDE is the giant whose shoulders Techpaladin sits upon," says Nate Graham, CEO of Techpaladin, "so we're very happy to support the mission and the foundation that pushes it forward. KDE e.V. helps make what we do possible, so becoming a Patron is the logical next step!"

"We are glad to welcome Techpaladin as our Patron", says Aleix Pol, President of KDE e.V. "Although a young organisation, we are very familiar with much of the team and know they share a lot of the same values as KDE. I look forward to growing KDE and its products together with them — what better way to do so than as a Patron?"

Techpaladin joins KDE e.V.'s other patrons: Blue Systems, Canonical, g10 Code, Google, Kubuntu Focus, Mbition, Slimbook, SUSE, The Qt Company and TUXEDO Computers, who support free open source software and KDE development through KDE e.V.

Wednesday, 28 May 2025

Today, we bring you a report on the brand-new release of the Maui Project.

Community

To follow the Maui Project’s development or to just say hi, you can join us on our Telegram group @mauiproject

We are present on X and Mastodon:

Thanks to the KDE contributors who have helped to translate the Maui Apps and Frameworks!

Check out our previous release notes at:

Maui Release Briefing #7

 

Downloads & Sources

You can get the stable release packages [APKs, AppImage, TARs] directly from the KDE downloads server at https://download.kde.org/stable/maui/

All of the Maui repositories have the newly released branches and tags. You can get the sources right from the Maui group: https://invent.kde.org/maui

 

MauiKit 4 Frameworks & Apps

With the previous version released, MauiKit Frameworks and Maui Apps were ported to Qt6; however, some regressions were introduced, and those bugs have now been fixed with this new revision.

Some of the changes and improvements were taking longer, so we skipped the February release and moved it to May, so here it is. With an ever-improving MauiKir set of frameworks powering the set os Maui Apps.

MauiKit Frameworks

A script element has been removed to ensure Planet works properly. Please find it in the original post.

A script element has been removed to ensure Planet works properly. Please find it in the original post.

  • MauiKit notifications now allow you to set custom actions, not only using the notify method, but also for convenience by using the Maui.Notification type. see [https://api.kde.org/mauikit/mauikit/html/classNotification.html]
  • The MauiKit controls templates for list and grid elements have been reviewed, and any binding loops have been squashed. Also, those elements such as GridBrowserDelegate, ListBrowserDelegate, ListItemTemplate, GridItemTemplate set their implicit sizes correctly.
  • It is now possible for third parties to create custom styles that adapt to MauiKit. Creating a custom QQC2 style is quite simple; to preserve Maui visuals, the new style should use MauiKit properties for setting colors, and elements, margins, padding, and sizing, etc. To allow this, please refer to MauiMan property allowCustomStyling. see [https://api.kde.org/mauikit/mauikit/html/classStyle.html]
  • Add more resize-edges to the ApplicationWindow in CSD mode
  • MauiKit ImageViewer type has gained more properties for finer control
  • MauiKit now disables effects when the software renderer is used.
  • Added helper methods to classify types of text string, such as email, link, phone number, etc, see [https://api.kde.org/mauikit/mauikit/html/classHandy.html]
  • More controls now support the attached properties from Controls, such as badges and status. see [https://api.kde.org/mauikit/mauikit/html/classControls.html]
  • The keyboard navigation has been reviewed and refined.
  • More consistent spacing and padding on the templated elements when some parts are not visible.
  • Added method to check number of active windows per app. see [https://api.kde.org/mauikit/mauikit/html/classMauiApp.html]
  • In nested and composed controls, use the background of the top root element.
  • Fixes creating dialogs from component types.
  • TabView and Page controls now support grouped properties for the tabBar and header and footer columns, respectively, to tweak the margins. see [headerContainer.margins: 10]
  • The PageLayout control can now split the header elements into the footer, but also pick which section of the header will be moved when split, by using the property splitSection. see [https://api.kde.org/mauikit/mauikit/html/classPageLayout.html]
  • Tweak and better translucency effects for the Page and TabBar headers and footers. (To disable effects, refer to the MauiMan Theme property: enableEffects)
  • The Nitrux CSD theme has been improved to be more compact visually
  • Fixes to SelectionBar drag and drop feature.
  • SideBarView can now be resized live
  • SideBarView now has a float property, which will not push the contents but float over it. see [https://api.kde.org/mauikit/mauikit/html/classSideBar.html]
  • The ToastArea for notifications is now keyboard navigable.
  • MauiKit-Filebrowsing fixes Tagging regressions and multithreading crashing issues.
  • MauiKit-Terminal fixes and supports for translucency, signaling current working directory changes, exposing background and foreground colors properties, and updating the touch area.
  • MauiKit-Documents fixes the search results highlights and supports initial text selection.
  • MauiKit-ImageTools now makes use of the KEviv2 library wrapper for managing image metadata editing. Includes a new image editor based on OpenCV, and improves upon the existing interface for text detection in images OCR.
  • MauiKit-ImageTools improves the keyboard navigation on its custom controls.
  • MauiKit-FileBrowsing, the Tagging interface, now emits the right signals upon new tag creations. Improve the OpenWith dialog with an informative header. Improve keyboard navigation and multiple file selection in FileBrowser component using keyboards.
  • Moreover, see [https://invent.kde.org/maui]

Maui Apps

Currently, the set of Maui Apps amounts to over 10+ apps. For this release, the focus has been to improve the experience in the main set of apps, such as Index, Pix, Statio, while keeping up to date with the other ones.

The apps now have better keyboard navigation support, include new features, and a cohesive layout/design where the app’s main content is put on the front by using a modern “floaty” style.

Pix now includes, in the viewer, OCR auto recognition, along with a ui/ux for quickly selecting the text found in images. A new image editor backed by OpenCV , improved navigation patterns, fixed GPS browsing, and a metadata reader and editor now using KDE’s library kexiv2.  You can also quickly navigate multiple images from the editor, and in desktop environments, Pix supports opening an image per window.

Here you can watch Pix OCR in action:

 

The Pix image editor is coming from MauiKit-ImageTools, and for this initial release, it has the basic image manipulation controls, such as brightness, contrast, sharpness, etc. And some experimental filters. Upcoming versions should start adding up much more controls for more detailing editing. Algo object recognition is planned for upcoming releases by using OpenCV.

Station, the terminal emulator, now better supports command shortcuts in a new sidebar, which is useful for touch-based input. The sidebar is integrated using the new floaty style.

For those who fancy a good-looking terminal, Station brings back support for the translucency effect under Plasma. The screenshots below show Station on a PinePhone and a desktop under Plasma using the effect.

From previous releases, Station, can now launch and open URLs from the output by right-clicking on the selected text string. The touch area for mobile screens has been fixed, and the gesture shortcuts work great, and a bottom toolbar with common “keys” is available and responsive to the current program running, for example is running “nano” the keys will be relevant to that.

 

Index, out file manager, now has an action bar floating over the browser for quickly performing actions.

Index comes with improvements in the contextual menus when applying actions to multiple files and keyboard navigation.

  • A more focused UI design.
  • Index, Pix, and Vvave remember the last tag used and suggest it.
  • Notifies when a file has been tagged and allows opening the given tag from the notification
  • Fixes to the creation and destruction of dialogs.
  • The embedded terminal can now be manually synced by using the context menu or the ‘Ctrl+.’ keyboard shortcut

Buho now supports opening notes in different windows in desktop mode. And exposes a server method for third-party apps to save notes to it quickly, for example, Pix is now using this interface to save the text found in an image to a note in Buho.

Shelf, using MauiKit-Documents, now has text selection support and improved found text highlights.

You can follow the project on Mastodon or X to keep up to date on the changes being made. And if you are planning to work on an app for Linux and considering MauiKit for the UI, please do not hesitate to reach up to us for help, advice, or suggestions. Some updates coming from X follow:

 

A script element has been removed to ensure Planet works properly. Please find it in the original post.

 

A script element has been removed to ensure Planet works properly. Please find it in the original post.

A script element has been removed to ensure Planet works properly. Please find it in the original post.

 

That’s it for now. Until the next blog post, that will be a bit closer to the 4.0.3 stable release. 🙂

 

Release schedule

The post Maui Release Briefing #8 appeared first on MauiKit — #UIFramework.

Interactive Plots with PySide6

Nowadays it is getting more and more popular to write Qt applications in Python using a binding module like PySide6. One reason for this is probably Python's rich data science ecosystem which makes it a breeze to load and visualize complex datasets. In this article we focus (although not exclusively) on the widespread plotting library Matplotlib: We demonstrate how you can embed it in PySide applications and how you can customize the default look and feel to your needs. We round off the article with an outlook into Python plotting libaries beyond Matplotlib and their significance for Qt.

Continue reading Interactive Plots with PySide6 at basysKom GmbH.

With the release of the Lenovo Legion Go S gaming handheld, we’ve now got a real apples-to-apples comparison of how Windows 11 fares against Linux (specifically, SteamOS with KDE Plasma) on the same 1st-party supported OEM hardware in a gaming context. And the results are pretty devastating for Windows in terms of performance and battery life — according to even windowscentral.com! Neither WindowsCentral nor the original video from Dave2d mention desktop mode, but the answer there is just as clear, as all of us in the FOSS space have known for ages.

We’re winning, folks. If I polish my crystal ball, I see us peeling away groups of users from competing platforms one at a time: developers, gamers, artists, scientists, enthusiasts, and on and on. It’s happening. The snowball is rolling down the hill, gaining momentum.

It can be hard to remember the big picture when we’re nose deep in code, bugs, and icons all day, but that big picture is on our side. Never forget that everything you do in KDE is impactful!

Sunday, 25 May 2025

Being the workhorse for more than a decade, it took me by surprise that Qt 5 is going to run out of support tomorrow. Honestly, Qt 6 was released in late 2020 and I prefer using modern code bases that use features from the C++17 and C++20 standards. So, no reason to hold me back.

I am pleased to announce the release of KDE Stopmotion 0.9.0. It consist of the Qt 6 port and has no additional features or bug fixes. Quite boring, it does not even look nicer or different at all. Many thanks to Florian Satzger and Mark Penner for helping with the port when I got stuck.

Behind the curtain, we use KDE CI templates for the build pipeline, increased the minimum required version numbers for Qt, CMake and C++, and some minor warnings got fixed. We are back using semantic versioning. New features are added with an increased minor version number. Increased patch numbers are for bug fixes only.

Adding sound does not work properly, this is a known bug.

You can create the tar ball using the 0.9.0 Git tag.

Get involved!

I was super happy to receive help with the Qt 6 port. It is so cool to work with strangers and achieve so much. Being united by the desire to create powerful software, is a strong motivation.

I am desperately looking for more people to get involved in KDE Stopmotion. If you are looking for a place to make a contribution, consider it! Some areas for contributors come to my mind:

  • Use more modern libraries to grab the images from cameras. We have several options and some of these are unmaintained for years. Adding more recent options would be great.
  • Starting with integration into KDE's software stack. Stopmotion is still in the incubation phase. The software uses Qt but not KDE frameworks or other things from the ecosystem like handling the translations or a neat integration of the documentation.
  • Improving our test automation would be great.
  • The code base is 20 years old. Some C++ patterns used in the code might no longer be the best choice and a replacement with C++20 code might improve the quality.