Skip to content

Friday, 19 December 2025

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


Do we really need big data centers for AI?

Tags: tech, ai, machine-learning, gpt

They produced Apertus, and now this for the inference. There’s really interesting work getting out of EPFL lately. It all helps toward more ethical and frugal production (and use) of LLMs. Those efforts are definitely welcome.

https://actu.epfl.ch/news/do-we-really-need-big-data-centers-for-ai/


AI’s Unpaid Debt: How LLM Scrapers Destroy the Social Contract of Open Source

Tags: tech, ai, machine-learning, gpt, copilot, criticism, foss, commons, copyright, community

This is really a big problem that those companies created for Free Software communities. Due to the lack of regulation they’re going around distributing copyright removal machines and profiting from them. They should have been barred from ingesting copyleft material in the first place.

https://www.quippd.com/writing/2025/12/17/AIs-unpaid-debt-how-llm-scrapers-destroy-the-social-contract-of-open-source.html


I’m Kenyan. I Don’t Write Like ChatGPT. ChatGPT Writes Like Me.

Tags: tech, ai, machine-learning, gpt, colonialism, history

There is definitely something tragic at play here. As we’re inundated in fake content, people are trying to find ways to detect when it’s fake or not. While doing so we deny the humanity of some people because of their colonial past.

https://marcusolang.substack.com/p/im-kenyan-i-dont-write-like-chatgpt


20 Years of Digital Life, Gone in an Instant, thanks to Apple

Tags: tech, apple, infrastructure, cloud, security, failure

This is what you’re signing up to with such ecosystems. Can’t use those for backups even though people are led this way. Sure technically the data is safe on their infrastructure, but is your access to said infrastructure guaranteed? This gilded cage looks less like a gift when you loose access.

https://hey.paris/posts/appleid/


CS Unplugged

Tags: tech, teaching

Looks like a fun way to introduce the next generation to computer science basics.

https://www.csunplugged.org/en/


ty: An extremely fast Python type checker and language server

Tags: tech, python, type-systems

This is definitely an exciting new option for Python development.

https://astral.sh/blog/ty


Secure your Rust projects and significantly improve the developer experience with Dev Containers

Tags: tech, programming, containers, security, supply-chain

Indeed, we might want to use dev containers more widely in the profession. If you’re developing something for the desktop you’re out of luck though.

https://kerkour.com/rust-devcontainers


How to Learn Embedded Rust for Beginners

Tags: tech, rust, embedded

Definitely quite some nice resources in the Rust world for people interested by development for embedded systems.

https://blog.implrust.com/posts/2025/12/how-to-learn-embedded-rust/


The Rule of Zero revisited: The Rule of All or Nothing

Tags: tech, c++, programming

Definitely the right rule to follow to designing classes in C++ in my opinion.

https://arne-mertz.de/2015/02/the-rule-of-zero-revisited-the-rule-of-all-or-nothing/


Bloom filters

Tags: tech, performance, caching, mathematics

Nice explanation of what Bloom filters are for and how they work.

https://eli.thegreenplace.net/2025/bloom-filters


Collection Pipeline

Tags: tech, design, pattern

This is a good pattern, use it! This article does a good job showing variants and where it makes sense to reach out for it.

https://martinfowler.com/articles/collection-pipeline/


What an error log level should mean (a system administrator’s view)

Tags: tech, logging

Use the log levels responsibly in your applications. Indeed, what are at most warnings are too often reported as errors.

https://utcc.utoronto.ca/~cks/space/blog/programming/ErrorsShouldRequireFixing


A History of Source Control Systems: SCCS and RCS (Part 1)

Tags: tech, version-control, history

Looks like that following parts were never written. This piece is interesting by itself though, it’s nice to have a record of the early times of SCCS and RCS.

https://experimentalworks.net/posts/2024-03-18-a-history-of-vcs-part1/


How do graphics drivers work?

Tags: tech, kernel, linux, graphics, hardware, gpu

Nice little intro of the various components you need for graphics drivers. It’s very much geared toward how it’s organised on Linux.

https://timur.hu/blog/2025/how-do-graphics-drivers-work


Trust Artist Pair Programming Economics

Tags: tech, tdd, pairing

This is an interesting way to frame the conversation around pair programming (and TDD even if only alluded to here).

https://trustartist.com/2015/01/27/pair-programming-economics/


TDD and Complexity

Tags: tech, tests, tdd, complexity

Finding the right level of abstraction for the tests is important indeed. It helps keep them useful longer. Scope and complexity are linked and can help find the right balance of tests.

https://medium.com/@davidihunt/tdd-and-complexity-1bbd5ca51ee7


Norris Numbers

Tags: tech, quality, reliability, maintenance, team, organisation

This is something I’ve definitely seen indeed. There are clearly a threshold effect in the amount of code you have to manage. Solutions working at smaller amounts don’t work anymore a couple of order of magnitudes higher, and vice versa.

https://www.teamten.com/lawrence/writings/norris-numbers.html


Splitting user stories – the hamburger method

Tags: tech, agile, estimates

Interesting method to split stories which are proving difficult to split.

https://gojko.net/2012/01/23/splitting-user-stories-the-hamburger-method/


Not Everything Needs to Be a User Story: Using FDD Features

Tags: tech, agile, project-management, product-management

For technical tasks, the user stories common structure (the “Connextra format”) is not adequate. We can indeed take inspiration from other long forgotten agile approaches for alternatives. I particularly like this one, and it works for user stories as well in my opinion.

https://www.mountaingoatsoftware.com/blog/not-everything-needs-to-be-a-user-story-using-fdd-features


Victim of Success: Dark Scrum

Tags: tech, agile, business

Was it all going to end up as a management fad? I’d say yes. It’s not to say the values and principles in the manifesto are useless… but if something gets successful you’d better have guardrails on how it’ll be warped. It didn’t happen here.

https://ronjeffries.com/articles/016-09ff/victim/


Lean Software Development: The Backstory

Tags: tech, agile, kanban, project-management, craftsmanship, devops

Interesting history outlook on where Lean Software Development is coming from. The focus on flow efficiency rather than resource efficiency is definitely key.

https://www.leanessays.com/2015/06/lean-software-development-history.html


So You Want To Manage A Product?. What no one tells you about the role

Tags: tech, product-management

This is a good introduction to what product management really entails.

https://medium.productcoalition.com/so-you-want-to-manage-a-product-c664ba7e5138


How to Use Persona Empathy Mapping

Tags: tech, ux, design

Looks like a nice tool for UX design and getting insights from conversations with users.

https://uxmag.com/articles/how-to-use-persona-empathy-mapping


The Ten (and a half) Commandments of Visual Thinking

Tags: sketchnotes, problem-solving

Good advice to get (back) into sketch noting or visual thinking.

https://www.theartof.com/articles/the-ten-and-a-half-commandments-of-visual-thinking


On Leadership and Being a Lead

Tags: tech, tech-lead, leadership

It’s indeed not just about the label. It’s more about behaviour.

https://thekua.com/atwork/2014/10/on-leadership-and-being-a-lead/


Why People Really Quit — And How Great Managers Make Them Want to Stay

Tags: management

That’s one of those pieces where the clear cut categories look a bit like caricature. That said, that gives an idea of the kind of posture one should try to reach to be a good manager.

https://kimmalonescott.medium.com/why-people-really-quit-and-how-great-managers-make-them-want-to-stay-d332dbf0d7b3


People who make you feel stupid…

Tags: motivation, productivity, team

It’s fine to surround yourself with people smarter than you. It’s a good thing… except if they are competitive. Then it can become a curse and kill your motivation.

https://lemire.me/blog/2013/10/29/people-who-make-you-feel-stupid/


How to be exceptional at anything

Tags: life, learning

I definitely agree with this. It’s all about the grunt work and attention to details. This it’s easier to be good at something when you become obsessed.

https://abdulhamidhassan.com/post/802459222214410240/how-to-be-exceptional-at-anything


How not to say the wrong thing

Tags: life, empathy

It’s something I’ve been trying to practice for year when someone is in a crisis. Seeing the situation as concentric circles of people around the one affected is a simple and powerful idea. Of course, we’re humans and sometimes we’ll fail at following this advice. At least that gives a good idea about why we’ll likely get offended reactions.

https://www.latimes.com/opinion/story/la-timeless/how-not-to-say-the-wrong-thing


If the Moon Were Only 1 Pixel - A tediously accurate map of the solar system

Tags: science, physics, astronomy, data-visualization

A nice way to try to grasp the scale of the solar system. We hardly realize the amount of empty space.

https://joshworth.com/dev/pixelspace/pixelspace_solarsystem.html



Bye for now!

Thursday, 18 December 2025

The Kdenlive team is happy to announce the release of version 25.12.0, just in time for the holiday season. For this release, we concentrated on improving the user experience. Many of these changes were discussed during our very productive Berlin sprint last September, where the team met for three days of brainstorming.

Interface and Usability

Docking System

We introduced a new, more flexible docking system, allowing you to group the widgets you want together or easily show/hide them on demand. Each layout is now saved in its own file, opening the possibility for sharing. It is also now saved inside the project file, so when reopening a project the layout used when saving it is loaded and you are immediately ready to continue where you left off editing! The downside is that existing layouts are not compatible, so that you will need to recreate your custom layouts.

Welcome Screen

We introduced a Welcome Screen to improve the experience for new users, and add some handy shortcuts for everyone. With your feedback this will evolve in the future.

image

Along with the Welcome Screen, we introduced a vertical layout and optional safe areas to improve editing of 9:16 videos.

Part of a long running discussion in the team, the menus were re-organized to make them more intuitive. Our long-time users may be confused initially (hopefully not for long, though), but we tried to follow some of the conventions in the professional editing world. For example, we regrouped all file related actions like Render and the Project Settings in the File menu. There might be a few adjustments in the upcoming releases, but the most important changes are in.

image

Thanks to users and translators feedback, we were able to fix several parts of the user interface that were not picked up properly for translation, making Kdenlive easier to use in your native language.

Monitor

We revamped the monitor view of audio, with a minimap on top allowing to intuitively zoom parts of the audio. (audio monitor)

Markers

For consistency and to avoid confusion, we renamed timeline guides to markers, since the term guide was used interchangeably and therefore confusing, and they were in fact markers for a sequence clip. Markers can now have a duration that is shown in the timeline, and can be dragged in the timeline from the Markers list.

Other Highlights

Major Bug Fixes

  • We fixed more than 15 crash reports
  • Windows: Fix render failure when user name contains special characters
  • Fix project corruption when copy-pasting a sequence or project file between projects

Packaging

  • We fixed the VAAPI support in AppImage, allowing for faster decoding and render time
  • Several updates made it into our binaries, like Qt 6.10.1 and FFmpeg 8.0

Last Minute Fixes

Several fixes that will be in the next release have already been included in the 25.12.0 binaries available on kdenlive.org. If you installed Kdenlive from your Linux distro, you will get those fixes with version 25.12.1 (release scheduled for January 2026).

Click to see the list of last minute changes.
  • Fix xmlgui related crash starting an older Kdenlive version (< 25.08.3). Commit.
  • Keep duration info when moving ranged markers. Commit.
  • Don't load Kdenlive in the background if welcome screen is displayed to avoid busy cursor / greyed out screen on Wayland. Commit.
  • Fix window does not appear after crash and no welcome screen. Commit.
  • Ensure we cannot call a Welcome Screen action before it is connected. Commit.
  • FIx possible crash in Welcome Screen trying to open profile or file when mainwindow was not ready yet. Commit.
  • Fix changing keyframe type for multiple keyframes not working. Commit. Fixes issue #2104.
  • Add AMF encoding profile for Windows. Commit.
  • Don't allow saving a custom effect with the name of an existing effect. Commit.
  • Fix horizontal editing layout not loaded. Commit.
  • Hsvhold similarity must be > 0. Commit.
  • Fix copy paste resets keyframe type. Commit. Fixes bug #513053.
  • Fix editing transform on monitor discards opacity. Commit. Fixes issue #2108.
  • Don't check for readOnly in QStorageInfo on Mac. Commit.
  • Fix app not opening after crash and opening project from command line. Commit.
  • Don't incorrectly show warning about hidden monitor. Commit.
  • Fix project layout not correctly restored if opened from Welcome Screen. Commit.

The full changelog for 25.12.0 is available below.

Give back to Kdenlive

Releases are possible thanks to donations by the community. Donate now!

Need help ?

As usual, you will find very useful tips in our documentation website. You can also get help and exchange your ideas in our Kdenlive users Matrix chat room.

Get involved

Kdenlive relies on its community, your help is always welcome. You can contribute by :

  • Helping to identify and triage bugs
  • Contribute to translating Kdenlive in your language
  • Promote Kdenlive in your local community

For the full changelog continue reading on kdenlive.org.

This is a effectively a guest blogpost where I, as usual, take the credit for the work someone else has done.

Last year ago set out making a home automation <--> Desktop Linux bridge over the Christmas holidays.

The idea is that if you're using home automation your PC that you're in front of has a lot of important information that can be used for adjusting automations; are you in a call, are your headphones on, and so on. I made a small daemon, named Kiot (derived from "KDE Internet of Things") that exposes this information about your PC to Home Automation software, like Home Assistant.

It worked well enough for all my use-cases, so after a bit of initial buzz and a few drive-by fixes it fell to the wayside whilst I worked on other things.

In the last month it got a new contributor, Odd Østlie (TheOddPirate) who has been like a rocket ship of new features; and a bit of a community with another member being active in testing and feedback.

We now track and expose:

  • bluetooth

  • audio devices, volume control and selection

  • battery states for laptops and wireless peripherals

  • gamepad detection

  • active window information

  • media player/mpris connection

With more integrations in pull requests.
There's also the start of a configuration UI, so there's no messing about with configuration files.

I'll do another post once we've made a 0.1 and a flatpak, but if you're interested in KDE + home automation, go check out his work at https://github.com/davidedmundson/kiot .

Wednesday, 17 December 2025

Let’s talk about Figma to Qt — the plugin that closes the gap between Figma designs, Qt, and the final product. After launching our first public beta in September, we’re back with powerful new updates. Here’s what the plugin can do today.

 

Last weekend I attended this year's edition of the KDE PIM Sprint which, this time, took place in Paris.

I arrived in Paris around 1 p.m. and first walked from Gare du Nord to the Île de la Cité to have a look at the reconstructed roof of Notre Dame. Then I checked in at my hotel and after a brief rest I went to the sprint venue, the office of enioka. There I was greeted by one of our hosts for the weekend and by a few KDE PIMsters who had already taken over the meeting room.

After firing up my computer, KMail complained that it couldn't access one of my IMAP accounts. The error said "authentication failed" and a second error message claimed that access to KWallet (which stores the passwords of the IMAP accounts) was denied. Using the website of the mail provider I verified that my credentials still work. Adding the IMAP account a second time didn't help. Still the same errors. And a look at KWallet also didn't give me a clue why it should deny access to the password of one of my IMAP accounts when two other IMAP accounts worked. Since access to this IMAP account wasn't that important during the KDE PIM sprint I decided not to waste more time on this problem. This proved to be a good decision because once I was back at home the account magically worked again. I blame weird security measures by the email provider.

In the meantime more people had arrived and we went for dinner. Afterward we went back to the venue and, now that most people were there, we went over the list of topics from last year's KDE PIM Sprint. Some progress has been made since the last sprint but many topics didn't see much work done. Any and all help is welcome!

Originally I planned to look into a bug that's been haunting me for some time: KMail shows seemingly random counts of unread messages in the folder list that have little to do with the actual number of unread messages in those folders. Because I'm using the latest stable versions of almost all KDE software (as provided by openSUSE Tumbleweed) I started to build the release/25.12 branch of KMail and its 30+ KDE PIM dependencies. This took the rest of Friday evening and part of Saturday morning. Shortly before midnight we called it a day.

On Saturday morning, after a joint breakfast in the office, we discussed a few more topics from our agenda. After that I decided to scratch my original plan and, instead, to help with making the KMime library fit for becoming a KDE Framework. I created a few MRs to replace the usage of bool parameters in the API with enums. Then I looked into adapting the users of KMime to the new API. Unfortunately, this proved more painful than expected because KDE PIM does not only depend on the master branch of everything else in KDE PIM (which I was very well aware of) but a lot of the KDE PIM projects also depend on the master branch of the ktextaddons library which is a kind of intermediate library between KDE Frameworks and KDE PIM with its own release schedule. For many of the KDE PIM projects I could simply lower the required version of ktextaddons to the latest stable release (as shipped by Tumbleweed), but for pimcommon this hack didn't work anymore because it used a new header from ktextaddons master. By then it was already Sunday afternoon and anyway time for me to pack my stuff.

On my way to Gare du Nord I passed by Sacré Cœur on Montmartre where to my surprise a choir of Santa Clauses and Santa Claudettes was performing French Christmas songs.

In conclusion, I got more useful work done during this sprint than during some other sprints, although the dependency requirements of KDE PIM annoy me a lot. I've been involved in KDE PIM for 25 years now although, admittedly, I rarely contribute to it in my spare time since I started to code for a living. To a large part the reason for this is that it would cost way too much of my spare time to build all of KDE PIM all of the time.

Thanks to enioka for hosting us and to Kevin for organizing the sprint. And many thanks to those of you donating to KDE which makes these sprints possible.

Tuesday, 16 December 2025

The latest Qt AI Assistant release adds custom coding instructions to every prompt, reducing the effort required to implement your own coding preferences or the project’s coding conventions. Furthermore, the 0.9.8 release also introduces support for Google’s Gemini 3 Pro Preview LLM and OpenAI’s GPT-5.1 LLM.

This study applies business intelligence to Automotive Grade Linux, offering a data-driven view of its software production system. By analyzing activity, code review, and delivery performance, it shows how descriptive analytics can guide improvement in complex open source ecosystems.

Monday, 15 December 2025

Qt Group is pleased to announce the latest Long Term Supported release of Qt for MCUs 2.12 LTS. As communicated earlier this would be the final release of 2.x series, before we welcome 3.0 in 2026! This release concentrates more on performance and stability so that users and customers can base current projects on this release for a long term before migrating to 3.x.

This blog highlights some of the standout features from the 2.12 release and provides a sneak peak at 3.0 and other exciting stuff we are working on. 

Welcome to the November 2025 development and community update.

Development Report

5.2.14 Released

One last bugfix release in the 5.2 series, 5.2.14 is out. This version once again features many fixes for Android and touch input, but that's not all! The Color Sampler's preview has a new round default look, and macOS users can now view .kra thumbnails in Finder again. Read more in the dedicated blogpost and stay up up-to-date.

Text Rework Progress

Development of 5.3.0 is now in feature freeze, meaning no more features will be added before release. This includes the Text Tool, marking the end of a long phase of development for Wolthera, code reviewer Dmitry, and everyone else who contributed.

Texts can now be created to fit within a shape or along a path, just by clicking the vector with the Text Tool. (MR!2432)

Animated image of creating text that fits itself within a speech balloon shape.
Animated image of creating text that fits itself within a speech balloon shape. cc-by D.Revoy

Text properties have been split into into Paragraph and Character tabs, making it clearer which level the properties are taking effect at. (MR!2470)

Carsten has also made sure the Text Tool works properly with touch input. (MR!2563)

But this journey's not over; if you use 5.3 pre-release builds, make sure to report bugs and leave feedback in the Text Tool Thread!

New Comic Panel Editing Tool

There's a new tool in the Toolbox: the Comic Panel Editing Tool. Agata designed this for creating comic panel gutters by cutting gaps in vector shapes. (MR!2331)

It can be set to cut different gap widths depending on whether the cut is horizontal, vertical, or diagonal past a certain angle. A second mode in Tool Options removes the gaps for easy re-adjustment.

Screenshot showing the Comics Panel Editing Tool in the toolbox, its tool options, and an example panel layout.

Liquify Transform Speedup

The Transform Tool's Liquify mode has had some optimizations done by Agata. It's especially faster on large canvases, because it now avoids calculating outside the affected area. (MR!4261)

Before:

Video of using Liquify to make adjustments on a 3520x1978px canvas on Krita 5.2.9. It's not very responsive. cc-by D.Revoy

After:

Video of using Liquify to make adjustments on the same canvas on Krita 5.3.0-pre-alpha. It's smooth and easy to use. cc-by D.Revoy

Python Updated to 3.13

Krita's unstable builds have been updated from Python 3.10 to Python 3.13 (MR!2466). This has the potential to break plugins and scripts, so users of Krita Next should report any such issues to the developers of those plugins before 5.3.0's release.

If you're a plugin developer, check out the release notes for Python 3.11, Python 3.12, and Python 3.13 for information on the changes.

Community Report

Plans for 5.3.0's Upcoming Release

Krita's developers have put out a call for banner and icon artwork to promote the upcoming 5.3 release. This artwork must fit certain sizes and be licensed appropriately, so please read the rules before contributing!

November 2025 Monthly Art Challenge Results

17 forum members took on the challenge of the "Civilization Engulfed by Nature" theme. And the winner is… @Elixiah's two entries:

Time Keeper by @Elixiah

Time Keeper by @Elixiah
And [Sunlit Silence](https://krita-artists.org/t/sunlit-silence-november-2025-challenge-winner/151084)

The December Art Challenge is Open Now

For this month's theme, winner @Elixiah has chosen Chiaroscuro, the strong contrast of light and dark, with runner-up @edgarej adding the optional challenge of a Christmas/holiday theme. Check out the topic for more details, and make some art that stands out like holiday lights on a dark night!

Best of Krita-Artists - October/November 2025

This month's Best of Krita-Artists Nominations thread received 17 nominations of forum members' artwork. When the poll closed, these five wonderful works made their way onto the Krita-Artists featured artwork banner:

Weird meeting by @Sad_Tea

Weird meeting by @Sad_Tea

Melon Soda city by @800000000W

Melon Soda city by @800000000W

Winter in the village by @Yarikart

Winter in the village by @Yarikart

Flower by @yuheng_zhang

Flower by @yuheng_zhang

Female head study by @netizenses

Female head study by @netizenses

Best of Krita-Artists - November/December 2025

Take a look at the nominations for next month.

Ways to Help Krita

Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. That means anyone can help make Krita better!

Support Krita financially by making a one-time or monthly monetary donation. Or donate your time and Get Involved with testing, development, translation, documentation, and more. Last but not least, you can spread the word! Share your Krita artworks, resources, and tips with others, and show the world what Krita can do.

Other Notable Changes

Other notable changes in Krita's development builds from November 11, 2025 - December 14, 2025.

Stable branch (5.2.14):

  • Canvas Input: Add a One Finger Hold gesture and set it by default to Sample Foreground Color From Merged Image. (Change, by Carsten Hartenfels)
  • Color Sampler: The Color Sampler preview now defaults to a circle to be more visible when using touch input. The size of the circle can be adjusted under Settings->General->Cursor, or changed back to rectangles. (bug report) (Change, by Carsten Hartenfels)
  • Layers Docker: Dragging-and-dropping a layer onto its own canvas now pastes a copy only if Ctrl is held, to prevent duplicating it by accident. Dropping a layer onto a different canvas still copy-pastes it as before, without holding Ctrl. (bug report Change, by Carsten Hartenfels)
  • Filter Layers: Fix empty histogram when adding a new Levels, Threshold, Color Adjustment, or Cross-channel Filter Layer. (bug report) (Change, by Stuffins)
  • Scripting: Fix Node.setChildNodes function to remove existing child nodes. (Change, by Stuffins)
  • Android: Lessen the chance for saving corrupt files, by using a temporary file. (bug report Change, by Carsten Hartenfels)
  • Android: Fix modifier keys getting stuck when inputting new custom shortcuts with a hardware keyboard. (bug report Change, by Carsten Hartenfels)
  • macOS: Add support for QuickLook and Preview thumbnails for .kra, .krz, and .ora files on macOS Sequoia and later. (bug report (Change, by Ivan Yossi)
  • macOS: Update app icon to support macOS Tahoe appearance settings. (Change, by Ivan Yossi)

Unstable branch (5.3.0-prealpha):

  • Export: Don't show an error when cancelling an export. (bug report) Change, by Joshua Goins)

Nightly Builds

Pre-release versions of Krita are built every day for testing new changes.

Get the latest bugfixes in Stable "Krita Plus" (5.2.15-prealpha): Linux - Windows - macOS (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64

Or test out the latest Experimental features in "Krita Next" (5.3.0-prealpha). Feedback and bug reports are appreciated!: Linux - Windows - macOS - Android arm64-v8a - Android arm32-v7a - Android x86_64

Sunday, 14 December 2025

This weekend, I attended the KDE PIM 2025 Sprint (AKA meeting) in Paris.

First, what does PIM mean? Personal information management.

Second, what does Personal information management mean? It's the software for managing email, calendar, address book, etc.

Third, this is going to be long, so let me thank https://haute-couture.enioka.com/en/ for hosting us (their office  is in Rue du Mail which seems very fitting for a meeting improving e-mail software) and thanks to KDE e.V. for sponsoring travel and hotel for the meeting. If you can, please donate so that more meetings like this can happen. 

This was my first time attending a PIM sprint even though I have been a KDE developer for a long time and a KMail/KOrganizer user for possibly even longer. 

It is true that these softwares are not in the most polished state, but honestly I would not know how to handle my email without KMail.

Anyhow here's a list of things I did: 

We talked a bit about bugs handling and it turns out not a lot of people are having a look at bugs, so I volunteered to watch the pim-bugs-null@kde.org address in Bugzilla (where most/all related bugs are assigned to) so I can help a bit. Note that I only committed to quickly read over them to try to make sure "really bad things" don't get overlooked. "Normal" bugs will always exist in every software and those will be fixed when they are fixed :)

If you also want to help you can set yourself to watch that pim-bugs-null@kde.org address in https://bugs.kde.org/userprefs.cgi?tab=email

On the topic of bugs, I managed to fix "left-click does not work on links with target="_blank" in HTML e-mails" with an impressive 1-liner change. It should be available with KDE Gear 25.12.1.

On Friday night, I experienced "sending emails does not work". After a few hours of debugging and thanks to our sysadmins, we found out it was due to "Your SMTP configuration was wrong". It seems older KMail versions were a bit more gracious when your configuration was wrong, but now it fails (fair enoug, although ideally it could give a better error). Incidentally I was not the only one with this problem since a few hours later we got this bug https://bugs.kde.org/show_bug.cgi?id=513284 that was basically the same. (My watching of pim-bugs-null@kde.org was already fruitful!)

On Saturday morning, I continued scratching my own itch and fixed a rather obscure bug where some context menu actions when right clicking on emails in KMail were not properly updated when expanding/collapsing threads.

KMime is undergoing API modernization and is slated to become a KDE Framework soon (TM). I helped a bit adapting code that uses KMime to the new API. 

On Sunday, I worked a bit on polishing address suggestion blacklisting on KMail (i.e. when I search for Foo, I don't want to get a suggestion to send an email to their old employer's email address). You can do that right now by right clicking on the "To" text field and selecting Completion Configuration and then going to the third tab. But that is a bit cumbersome (to the degree I had no idea that feature existed until the very same day). To make it a bit easier to discover, i have proposed adding a right click menu on the suggestions themselves that let's you blacklist that particular email address.

And now, a short list of things we did: (many more were done and will be explained in detail by other folks)

  • Talk about switching the default backend to SQLite instead of mysql MariaDB. In general dropping servers (MariaDB/postgres) support would help making the code more maintainable. There are some people using it without problems, but Nico volunteered to do a test run during the sprint and he ended up with some problems, so there's still some things to debug there.
  • Talk about doing a survey/adding more KUserFeedback data. We kind of agreed that first we need to know what question we really want to know the answer to and what would be the consequences of a given answer before spending time in designing a survey. But anyway if you use the KDE PIM software, please enable User Feedback in the settings, we promise we won't spy on you.
  • New online accounts system. It should replace the not very useful accounts system that we now have (that also has a quite complicated dependency chain). It showed quite some promise in making things much more user friendly.

All in all it was a very productive meeting and I am happy to have attended.

On a closing note, one day we will have to speak about potentially sponsoring food for sprint attendees. We got travel and hotel sponsored, but I spent around 100 € on breakfast/lunch/dinner for that sprint (not going to any fancy place at all). Yes, I can spare that amount of money, but maybe some others in the community can not, and for sure we want them to also attend. One could even argue that having to spend money on top of spending a weekend and 2 work-holidays for the travel is a bit too much, it won't be me because I ❤️ KDE but someone could argue it 😁