KDE Planet - Latest News
- KDE Snap updates, Kubuntu Beta testing, Life updates! (2025/03/27 19:20)Help us Beta test Kubuntu Plucky Puffin! Kubuntu Plucky Puffin (25.04) Beta released Kubuntu work: Fixed an issue in apparmor preventing QT6 webengine applications from starting. Beta testing! KDE Snaps: Updated Qt6 to 6.8.2 Updated Kf6 6.11.0 Rolling out 25.04 RC applications! You can find them in the –candidate channel! Life: I have decided to strike out on my own. I can’t take any more rejections! Honestly, I don’t blame them, I wouldn’t want a one armed engineer either. However, I have persevered and accomplished quite a bit with my one arm! So I have decided to take a leap of faith and with your support for open source work and a resurrected side gig of web development I will survive. If you can help sponsor my work, anything at all, even a dollar! I would be eternally grateful. I have several methods to do so: GoFundMe Patreon Github Donorbox If you want your cool application packaged in a variety of formats please contact me! If you want focused help with an annoying bug, please contact me! Contact me for any and all kinds of help, if I can’t do it, I will say so. Do you need web work? Someone to maintain your website? I can do that too! Portfolio Thank you all for your support in this new adventure!
- Kubuntu Plucky Puffin (25.04) Beta released (2025/03/27 18:30)The beta of Kubuntu Plucky Puffin (to become 25.04 in April) has now been released, and is available for download. This milestone features images for Kubuntu and other Ubuntu flavours. Pre-releases of Kubuntu Plucky Puffin are not recommended for: Anyone needing a stable systemRegular users who are not aware of pre-release issuesAnyone in a production environment with data or workflows that need to be reliable They are, however, recommended for: Regular users who want to help us test by finding, reporting, and/or fixing bugsKubuntu, KDE, and Qt developersOther Ubuntu flavour developers The Beta includes some software updates that are ready for broader testing. However, it is an early set of images, so you should expect some bugs. Highlights include an update to KDE Plasma 6.3. We STRONGLY advise testers to read the Kubuntu 25.04 Beta release notes before installing, and in particular the section on ‘Known issues’. You can also find more information about the entire 25.04 release (base, kernel, graphics etc) in the main Ubuntu Beta release notes and announcement.
- Twinimation Studios Presents Their Next Krita Workshop: Becoming an Artist on a Budget (2025/03/27 00:00)Twinimation Studios have released a new Krita workshop, and we wanted to give them a chance to introduce their new offering to Krita's users: Greetings everyone! Entering the art world is sometimes seen as an expensive endeavor. From art schools to subscription based software, artists across different fields tend to have notable expenses. But have you ever wondered if you can become an artist without spending a fortune? Twinimtion Studios is back to answer the question with our very first full workshop! Becoming an Artist on a Budget is a specialty made guide guide to help aspiring artists begin their artistic journey WITHOUT breaking the bank. This workshop consists of 9 main videos bundled into one easy to digest package, along with some special bonus showcase videos as well. Included is also a bonus freebie list of numerous artistic products ideas to begin a paid art hobby or career. There should have been a video here but your browser does not seem to support it. Within this workshop, we provide tips and tricks on how one can begin their art journey for completely free. After reviewing a list of affordable resources to learn art skills, we recommend numerous free art programs with a special spotlight on Krita! We explain how versatile Krita is, and how it can be used across numerous different art frields, such as animation, comics, and painting! Following some other drawing tutorials, the workshop concludes with a special lesson on entrepreneurship, where we explain how aspiring artists can create a paid hobby or full business through their artwork while remaining on a budget. With so many people wanting to enter the art scene and build a career from it, we hope this workshop will be a helpful guide for all of those who wish to create their own artistic brand. Additionally, we have many other Krita focused animation courses on our website! Twinimation Studios was founded by instructors Andria and Arneisha Jackson; MFA graduates who've studied animation for 9 years and want to share their professional knowledge with the world. We provide tutorials on different styles of animation, character design, illustration, film creation and so much more! Look forward to our future tutorials and workshops where we will continue to expand our repertoire to fit several different art fields. Here is a link to the workshop: Become an Artist on a Budget
- Week 3-4 /> (2025/03/26 18:30)
- # A Roadmap for a modern Plasma Login Manager (2025/03/26 09:17)Plasma's login experience is an area that we know requires some improvement — it works OK in the basic case, but it's very barebones and doesn't handle anything beyond that. As a complete desktop experience, it's our job to provide support for the edge cases too. What we want Great out-of-box experience in multi-monitor and high DPI and HDR Keyboard layout switching Virtual keyboards Easy Chinese/Japanese/Korean/Vietnamese (CJK) input Display and keyboard brightness control Full power management Screen readers for blind people (which then means volume control) Pairing trusted bluetooth devices Login to known Wi-Fi for remote LDAP Remote (VNC/RDP) support from startup A brief history In Plasma 5, we retired our own bespoke display manager KDM, in favour of SDDM. A display manager started for multiple lightweight Qt Desktops. It was modern at the time making use of new QML for the front and as a big selling point at a time when Plasma was also making use of it. SDDM's Big Architecture Problem We ran into a problem, though. SDDM is designed to show a single greeter window, loading arbitrary QML from the specified theme. Whilst this all sounded great for Plasma, the abstraction is at the wrong level — for our wishlist we need a lot more tight integration from our login screen than just a window showing sessions and users. With SDDM, power management is reinvented from scratch with bespoke configuration. We can't integrate with Plasma's network management, power management, volume controls, or brightness controls without reinventing them in the desktop-agnostic backend. SDDM was already having to duplicate too much functionality we have in KDE, which was very frustrating when we're left maintaining it. The Competition GNOME's GDM is the gold-standard of display managers, and it achieves this higher level of quality by running half of a Gnome session. SDDM got closer when it added Wayland support — it had to use a compositor such as KWin. But because the project tries to be agnostic between desktops, it has to support any compositor. There aren't compositor-agnostic ways to do even simple things like set the keyboard layout, so in the end this compositor agnosticism goal simply didn't work. Theme Problems A major mistake we made throughout Plasma 5 was conflating "writing UI in a high level scripting language" with "it's themable" as the same thing — they are not. QML does make it easy to modify and iterate without programming skills, but it still contains business logic. It should not be the primary method of customisation that we expose to users. Ultimately, this was poor for end users. We pushed back on adding support for configurable theme options, because building a theme engine within a theme was wasteful! But often people want to just change a few things. Choosing a theme meant finding a combination that had everything. The store filled up with themes that are 99.9% identical code-wise; most are just wallpaper mods. It was also poor for theme developers. Not only do they have to modify the visuals, but also re-implement focus handling, accessibility, and the same boring logic again. They can't benefit from widespread testing so regressing these functionalities is common. Reddit is full of screenshots of broken SDDM themes. Finally, it's poor for us Plasma developers: theme support holds us back from adding new features or tidying code; if we want to add a new feature that in any way affects existing UIs, the situation get very messy very fast. The end result is that features just don't land, and the end user is the one that misses out. So, what's the plan? It's worth stressing nothing is official or set in stone yet, whilst it has come up in previous Plasma online meetings and in the 2023 Akademy. I'm posting this whilst starting a more official discussion on the plasma-devel mailing list. Oliver Beard and I have made a new mutli-process greeter, that uses the same startup mechanism as the desktop session. It doesn't have all the features that we propose at the start of the blog, but an architecture where features and services can be slowly and safely added. For customisation we intend to expose the same familiar settings that exist in Plasma and bring the design more in-line with the existing screenlocker where we also dropped arbitrary QML years ago. We'll make the wallpaper configurable with any existing wallpaper plugins, and expose the existing plasma theme and colour settings. Syncing will be a case of copying files, not re-inventing things. The backend When starting work on this, I tried to explore all alternative backends out there even with fully working implementations, however in practice nothing was maintained that matched our requirements. SDDM has been proven in the real world, so we have taken that and stripped it down to cover what we want moving forwards. I also aim to incubate it into the KDE ecosystem to have full autonomy over the project and merging stuck patches. Current State All of this has been implemented as two new repositories. Plasma Login Manager a continuation of SDDM and Plasma Login for front end and KCM (settings) code. These might be merged at some point. The new code all works, and is at roughly feature parity with what we're replacing. A screenshot looks roughly the same as a stock Plasma SDDM setup. Whilst this is at a state where developers can opt-in, I would not want distros to be packaging things at this point. Please do reach out if this sounds interesting, either directly or in the Plasma Matrix room - or with merge requests!
- 2025 15-Minute Bug Initiative update (2025/03/26 04:30)It’s been several years since I announced Plasma’s 15-minute bug initiative, and you can see the weekly numbers in every week’s “This Week in Plasma” post. Today I thought I’d share a high-level recap of where we’re at as of the first quarter of 2025. In short: really good. We dipped below 20 bugs for the first time today, with the number currently standing at 19! This is good progress; it was at 32 during last year’s update. But wait a minute… 13 bugs in a year? That actually sounds pretty pathetic. Well here’s the thing: we’re adding more bugs to the list all the time. So it’s basically a “oh wow, we’d better fix this soon before people notice it” list, and newly-discovered significant issues in git master are commonly marked as HI priority and fixed before they reach users — otherwise known as “QA”. Last year, the total number of lifetime fixed 15-minute bugs was 231. Today, it’s 413. So actually, we fixed 182 15-minute bugs in the past year or so, and reduced the total number of outstanding 15-minute bugs by 13. With only 19 left, that means we’ve fixed over 95% of all 15-minute bugs ever! If you look at the remaining bugs, some patterns emerge: Hardware-specific issues (e.g. only certain ASUS laptops, or only certain screens) Use of common though non-default settings (e.g. changing the scroll speed, hiding tray icons of Electron-based apps) Intensive use of the system (e.g. filling the entire panel up with icons-only Task Manager icons, docking and un-docking a laptop to an external screen with carefully-curated window arrangements) Random and unreproducible crashes (if they were reproducible, they’d have been fixed ages ago!) And some egregious bugs that just need to be fixed! (we’re working on them) How you can help As always, help work on the existing 15-minute bugs if you can! If not, it’s always useful to work on bug triaging, so that more of those issues that will eventually become 15-minute bugs can get discovered earlier. Another impactful way is to donate to KDE e.V., the nonprofit that supports KDE on a ridiculously small budget. Prior donations have allowed KDE e.V. to recently start the process of hiring a Plasma developer, so it’s not a black hole!
- KdeGuiTest (KdeEcoTest) in SoK25: Debugging, Building an Interactive User Interface, and More (2025/03/26 00:00)KdeGuiTest (previously called KdeEcoTest) is an automation and testing tool which allows one to record and simulate user interactions with the GUI of an application. It is being developed as part of the KDE Eco initiative to create usage scenario scripts for measuring the energy consumption of software. The main goals in Season of KDE 2025 are (i) to debug remaining issues, and (ii) to make KdeGuiTest more user-friendly by creating a Graphical User Interface so it is easier to create, edit, and run emulation scripts. Progress of the KDE season so far: Creation of a 4-cross PDF to be used for testing shift coordination. Detection of the issues affecting shift coordination. Fixed “Platform supported” error due to pynput. Integration of KdeGuiTest with its own newly-built Graphical User Interface. SHIFT COORDINATION ERROR There is a difference between what is recorded when creating a script and what is played when running the script. How I planned to fix this: Identify the root of the shift error by creating a script to click on four target crosses, and then running the script to locate and solve differences. Develop and implement a correction mechanism to accurately map recorded coordinates to playback positions. My progress so far on the shift error: Creation of the 4-crosses PDF to test shift error: A target PDF is created with 4 crosses horizontally and vertically opposite each other. CC-BY-SA-4.0 license.)" src="https://eco.kde.org/blog/images/Target_pdf.png" style="max-width: 100%; height: auto" /> Created a test script on the target PDF to detect shift error: I created a test script that clicks on the four crosses. I tested the KdeGuiTest tool on the target PDF and identified the issues affecting the shift error, namely: Difference in mouse coordinates when scripts are created and playback Screen position Screen resolution I am still working on a fix for this. See my comments at the end of this post for more. FIXED “PLATFORM NOT SUPPORTED” ERROR DUE TO PYNPUT While creating a script with KdeGuiTest we encountered the error “Platform not supported”. It was not recognizing the pynput backend in the code, which is the main technology used in KdeGuiTest to simulate user interactions in software applications. pynput is a Python library that allows you to control and monitor input devices. It is used for interacting with your keyboard and mouse through Python code. Read more from Mohamed Ibrahim in SoK23 here, Athul Raj K in SoK24 here, and Amartya Chakraborty in SoK24 here. The error was fixed by installing the pynput package from https://github.com/krathul/pynput and other packages like Rust. GRAPHICAL USER INTERFACE FOR KDEGUITEST USING PyQt5 One of the main goals in Season of KDE 2025 is to make KdeGuiTest more user-friendly and have it be easier to create, edit, and run final scripts using a Graphical User Interface. To better understand the idea of the interface Emmanuel had in mind, I presented a prototype in one of our weekly meetings. Fortunately, it fit the proposed idea! To implement the prototype, I built the GUI from scratch with some feedback from my mentor Emmanuel. PyQt5 is used for creating graphical user interfaces with Python. It's a powerful and versatile toolkit that allows developers to build desktop applications that look and feel native on various operating systems, including Windows, macOS, and GNU/Linux. The GUI has the following features: Create script interface Buttons for the following commands: dw - define window ac - add clicks sc - stop add clicks ws - write to the screen wtl - write test timestamp to log wmtl - write message to log Action buffer widget Final script widget A run script interface File dialog You can see the current version of the scripting interface below. CC-BY-SA-4.0 license.)" src="https://eco.kde.org/blog/images/Create_script.png" style="max-width: 100%; height: auto" /> LOOKING TO THE FUTURE OF KDEGUITEST First, fixing the shift error: The main shift error identified is due to differences in mouse coordinates. The mouse coordinates are recorded in the GUI in order to track them. I will then develop and implement a correction mechanism to accurately map recorded coordinates to playback positions. Second (time-permitting), developing three test scripts in collaboration with KEcoLab to compare energy consumption of PDF readers: GNU/Linux + Okular Script: Open PDF document Simulate typical reading patterns (scrolling, page turns) Test PDF search functionality Change to different view modes (single page, continuous) Measure annotation and highlighting features Document energy consumption metrics Windows + Okular script: Replicate testing scenarios from GNU/Linux + Okular script Adapt window management code for Windows environment Collect equivalent energy consumption data points Windows + Adobe Acrobat Script: Mirror the same testing scenarios as Okular script for a direct comparison Account for Adobe Acrobat's specific UI elements and behaviors Test comparable features (navigation, search, annotations) Measure energy consumption patterns Interested In Contributing? KdeGuiTest is hosted here. If you are interested in contributing, you can join the Matrix channels KdeGuiTest, KDE Eco, and Measurement Lab Development and introduce yourself. Thank you to the Season of KDE 2025 admin and mentorship team, the KDE e.V., and the incredible KDE community for supporting this project. Please feel free to contact me here: <@oree_x:matrix.org>
- This Week in KDE Apps (2025/03/24 09:52)Stability improvements in KDE PIM-land, and polls in NeoChatWelcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps. We had a busy week in PIM land with various stability improvements. We also did a small mini sprint on Saturday in Carl's kitchen where we worked and discussed about online accounts, KDE PIM, Itinerary, and Transitous, among others. (Only photo we made during the sprint) Due to a personal vacation, during which I will enjoy a three-week break from computers, this is my last "This Week in KDE Apps" blog post until April 20. General Stefan fixed several memory issues in the KDE mobipocket support library, which is used in Baloo and Okular. (Stefan Brüns, 25.04.0. Link) Personal Information Management Apps Akonadi Background service for KDE PIM apps Krzysztof fixed a crash when opening an email with a calendar invitation. (Krzysztof Nowicki, 25.04.0, Link) Krzysztof also fixed the reauthentication and OAuth credentials storage of the EWS support in Akonadi. (Krzysztof Nowicki, 25.04.0. Link) Carl hid the mail-specific caching options from calendar and contact folder options. (Carl Schwan, 25.04.0. Link) Merkuro Calendar Manage your tasks and events with speed and ease A new contributor, Pablo Ariño, fixed a bug in which double-tapping in the calendar failed to open the event creation dialog. Pablo also fixed a bug that occurred when clicking on the "New Event" button on mobile. (Pablo Ariño, 25.04.0. Link 1 and link 2) Tobias ported the dialog that lets you see and edit the calendar settings from QWidgets to QML, redesigning the whole dialog at the same time. This is currently only available in the Calendar app, but also expected to be added to the Contact and Mail app soon. (Tobias Fella, 25.04.0. Link) Tobias improved the text of various UI elements, for example when addings tags, todos or using proper American English spelling when using the app in American English. We also fixed numerous recent and less recent regressions to Merkuro Calendar. (Carl Schwan and Tobias Fella, 25.04.0. Link, link 2, link 3) Merkuro Mail Read and write emails Tobias and Carl worked on preventing the user from removing the "local folder" resources, which Merkuro Mail requires to work correctly. (Tobias Fella & Carl Schwan, 25.04.0. Link 1, link 2 and link 3). Tobias also fixed a crash when trying to open some folders. (Tobias Fella, 25.04.0. Link) Merkuro Contact Manage your contacts with speed and ease Carl reworked the list of contacts; similar to the email list in Merkuro Mail, the contact list now supports multiple selection as well as applying actions to all selected contacts. The code was also cleaned up a bit, and the avatar of the icon is now displayed at higher resolution. (Carl Schwan, 25.04.0. Link) KOrganizer KOrganizer is a calendar and scheduling application Allen added a new date picker that allows navigating faster to a selected date. (Allen Winter, 25.08.0. Link) Allen also improved the tooltip of the search fields. (Allen Winter, 25.08.0. Link) KDE Itinerary Digital travel assistant Volker fixed the display of coach/seat numbers when having a separate seat reservation or multiple travelers with different seat reservations. (Volker Krause, 25.04.0). Carl added support for events' ticket emails from Universe (e.g. Lollapalooza) in English. (Carl Schwan, 25.04.0. Link) System Apps Dolphin Manage your files The "Open Terminal" and "Open Terminal Here" actions will now use the icon of your default terminal instead of the generic utilities-terminal icon. (Angus McLean, 25.08.0. Link). Two weeks ago we announced a new style for the location bar. As with most very visible changes, the response to this was mixed. We are currently working on options that will hopefully make everyone happy. Kup Backup scheduler for KDE's Plasma desktop Kai excluded the state configuration folder (i.e. $XDG_STATE_HOME) from the set of files to back up, as this only includes machine-specific settings. (Kai Uwe Broulik, 25.08.0. Link) Social Apps Kaidan Modern chat app for every device Melvin fixed deleting and sending voice messages. (Melvin Keskin, Link) Melvin and Linus also made the QXmpp library used by Kaidan part of KDE. (Melvin Keskin and Linus Jahn, Link) NeoChat Chat on Matrix James fixed a few issues related to viewing polls in Neochat, and, more notably, made it possible to create them! (James Graham, 25.08.0. Link) Educational Apps WordQuiz Flash card trainer Andreas fixed a crash when trying to open a broken or missing document. (Andreas Cord-Landwehr, 25.08.0 but a backport request was created for 25.04.0. Link) Artikulate Artikulate Pronunciation Trainer Andreas also finished porting Artikulate to Qt 6, building on earlier work started by Grigoris Pavlakis. (Andreas Cord-Landwehr and Grigoris Pavlakis, 25.08.0. Link) KHangMan Hangman Game Dimitrios Los added support for the Greek alphabet. (Dimitrios Los, 25.08.0. Link) Utilities Gwenview Image Viewer Gwenview now uses the standard Qt-provided QtMultimedia library instead of the older Phonon library. (Lukas Kahnert, 25.08.0. Link) Kate Advanced text editor Arnd added the configuration that makes fish-lsp work out of the box in Kate. (Arnd Diestelhorst, 25.08.0. Link) KTrip Public transport navigator Carl adapted the query page from Itinerary to be used in KTrip, significantly improving the UI while also exposing the mode of transportation. More UI sharing between Itinerary and KTrip is also planned. (Carl Schwan, 25.04.0. Link) …And Everything Else This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment. For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors. Get Involved The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable. You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things. You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world. To get your application mentioned here, please ping us in invent or in Matrix.
- KDE Plasma 6 on FreeBSD on Framework 13 (2025/03/22 23:00)Here are some more notes on getting KDE Plasma 6 on FreeBSD up and running on a Framework 13 AMD laptop. This follows up on previous notes about getting the hardware together and installing FreeBSD. First off, I think it’s hard to express how high the DPI is on the screen in this laptop. I have been using 27” 2560x1440 monitors for a couple of years, which I feel is fine for regular desktoppy-office-coding work. I’m not a monitor junkie by a long shot. I can’t even fit a screenshot from the laptop, on my desktop monitor at 100% scaling. KDE Plasma 6 desktop showing KInfoCenter with FreeBSD details and Discover. Original size 2880x1920, scaled down to 25% in each direction. Getting to KDE Plasma 6 on FreeBSD I’m sure I have written it down before, but here’s the quick steps to a working KDE Plasma 6 on FreeBSD: pkg install kde sddm sysrc dbus_enable=YES sddm_enable=YES Add suitable values (e.g. 65536) for net.local.stream.recvspace and net.local.stream.sendspace in the file /etc/sysctl.conf Step 1 there is “get the software” and step 2 is “enable the software”. I can get behind that choice, since FreeBSD doesn’t come with the assumption that installing KDE means you want a graphical login. Step 3 is kind of regrettable. There’s no convenient tool for this, but without those tweaks, Akonadi (and hence KMail) are crap on FreeBSD. Reboot or service sddm start, and you get the well-known SDDM greeter. On this machine, make sure to pick KDE Plasma X11, because Wayland doesn’t work. My Own List of First-Run Customizations Focus follows mouse (in KDE System Settings, under Window Behavior, Focus; searching for Focus finds it) Put the control key where it belongs, to be to the left of the letter A (in KDE System Settings, under Keyboard, then click the weirdly-named and -placed Key Bindings button, enable Configure keyboard options, then search for Swap Ctrl and Caps Lock) The X11-keyboard-options code seems to have been (or become) broken, at the very least on FreeBSD, so here’s a little script to do it by hand; you do need to pkg install setxkbmap for this: #! /bin/sh setxkbmap us setxkbmap -option ctrl:swapcaps Customizations for this Laptop Set global scale to 175% (in KDE System Settings, under Display Configuration, value of Global Scale; changing this value requires log-out and log-in again to make it take effect, and doesn’t seem to influence KWin decorations or cursor size – but this is X11, which is basically abandoned upstream) Things that are Cool KDE Discover detects updates. I have no idea how it decided that I have 16 things installed (devel/apr and editors/kate are listed, but not KDE Plasma itself) to display in the list of installed applications, but they did need updates today. Things to Investigate and Fix On the KDE side: Plasma 6 Wayland (on this specific GPU model) is the big-ticket item. Keyboard options, for instance all the options related to what-does-caps-lock-do. (This already applies to Plasma 5 on FreeBSD) Konsole starts in / rather than in my home directory. (This also) KDE Discover’s Home page just displays a “no internet” warning. After first logout, KWin lost whatever keybinding it had. I have managed to get alt-tab to switch windows again, but not found where alt-F4 binds to Close Window. On the FreeBSD or hardware side: Figure out how to make F-keys default, rather than the media controls (so I don’t have to hold the Fn key to, say, reload a web-page with F5). Figure out how to make the media keys work at all (e.g. brightness, which is on the F7 and F8 keys). Figure out WiFi, since a laptop with a bright red ethernet cable sticking out the side is less portable than I might like.
- This Week in Plasma: 6.4 Improvements (2025/03/22 03:00)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 Plasma 6.4 continued to take shape, with a number of additional user-visible modernizations and improvements — in particular some nice progress on the topics of keyboard navigation, accessibility, and customizing apps' presentation in launcher menus. Notable UI Improvements Plasma 6.3.4 Added keyboard navigation and interaction to the User Switcher widget's popup. (Marco Martin, link) Plasma 6.4.0 KMenuEdit has received a UI modernization, including a simplification of the default toolbar contents, showing a well-curated hamburger menu by default, and adopting modern-style tool view tabs. (Oliver Beard, link 1 and link 2) When installing apps in Discover, progress feedback now appears right in the place you were just looking, rather than in the opposite corner of the window. (Nate Graham, link) Plasma's Calculator widget now announces the calculated result using the screen reader, if one is active. (Christoph Wolk, link) Improved keyboard navigation for Plasma's Calculator widget; now navigation wraps around on the same row or column. (Christoph Wolk, link) In System Monitor's table views, you can now press Ctrl+A to select everything, as you would expect. (Arjen Hiemstra, link) After editing a page in System Monitor, the app now scrolls to show a newly-added row if it would otherwise appear out of the visible area. (Arjen Hiemstra, link) KWin's "Dim Screen for Administrator Mode" plugin is now on by default, helping to focus attention on authentication prompts so you're less likely to miss them or lose them, especially with a cluttered desktop full of stuff. (Vlad Zahorodnii, link) OSDs are now consistently referred to as "OSDs" in all the places you can disable them. (Nate Graham, link 1 and link 2) Frameworks 6.13 System Monitor now displays something more user-friendly when asked to report the battery charge level of a device whose battery technology it can't determine. (David Redondo, link) Notable Bug Fixes Plasma 6.3.4 Narrowed the range of data that the Plasma clipboard accepts to be more in line with what it did in Plasma 6.2 and earlier. This prevents Plasma form crashing when copying certain types of content in certain apps. (Fushan Wen, link) Triggering the system bell a zillion times in rapid succession (e.g. by holding down backspace in an XWayland-using GTK app; don't do that) no longer freezes the entire system. (Nicolas Fella, link) Fixed a bug in the Weather Report widget that caused it to fail to save its settings (size, position, even its existence) under certain circumstances when placed on the desktop, rather than a panel. (Marco Martin, link) The User Switcher widget now lays out text for the username more sensibly, neither getting too big with huge horizontal panels, nor overflowing with not-huge vertical panels. (Marco Martin and Nate Graham, link 1 and link 2) Fixed a regression in the new spatial quick tiling code that made global actions to instantly quarter-tile the active window not always work correctly the first time they were invoked. (Vlad Zahorodnii, link) Fixed a regression that broke pasting numbers into Plasma's Calculator widget. (Christoph Wolk, link) Fixed a regression that caused the icons of Folder View popups in list mode to be displayed with too much transparency. (Nate Graham, link) Fixed a bug that caused KMenuEdit to be unable to save changes you made to systemwide-installed Flatpak apps that had previously been customized using the properties dialog. (Oliver Beard, link) Plasma 6.4.0 Fixed several minor issues affecting the Media Frame widget, including flickering on image change and not remembering customized popup sizes when living in a panel. (Marco Martin, link) Other bug information of note: 3 very high priority Plasma bugs (up from 2 last week). Current list of bugs 21 15-minute Plasma bugs (down from 23 last week). Current list of bugs Notable in Performance & Technical Plasma 6.3.4 Non-full-screen screen recordings taken in Spectacle now have significantly higher visual quality when using a fractional screen scale factor. (Vlad Zahorodnii and Noah Davis, link 1, link 2, link 3, link 4, link 5) Plasma 6.4.0 Continued the project of cleaning up Plasma's log output. (Christoph Wolk, link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, link 12, link 13, link 14, link 15, link 16, link 17, link 18, link 19, link 20, and link 21) 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: Triage and confirm bug reports, maybe even identify their root cause Contribute designs for wallpapers, icons, and app interfaces Design and maintain websites Translate user interface text items into your own language Promote KDE in your local community …And a ton more things! 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.
- Professional update and Plasma Mobile NGI0 Core grant (2025/03/22 00:00)Professional update I had joined MBRDI in June 2021, after almost 4 years, I decided to part ways with MBRDI this January 2025 and decided to pursue new adventure, more on that when time comes, but for now I am keeping it under wraps. I hope you can respect that! 🙂 However this is not the only professional update I want to talk about, I want to talk about another exciting opportunity, NGI0 Core grant I am very happy to announce that I will be working on improving Plasma Mobile (and in general, Linux Mobile) power management through funding support from the NGI0 Core Fund, a fund established by NLnet with financial support from the European Commission’s Next Generation Internet program. You can find very thin details on this page. Though this is not the only project that is being funded through NGI0 Core fund, There are total 56 projects being sponsored as part of October call.
- KURLNavBar and me (2025/03/22 00:00)I made a change to the KURLNavBar according to old mockup, since we hoped it would be easier to use. This was a bad idea and made many people angry, at least on Reddit. Seems to be a recurring theme with my visual changes, though this time wasn't nearly as bad as that was. Anyway, I wanted to go over the process around it. Maybe someone else than me can learn something from this. So, what happened When implementing this mockup, I was expecting this was something people had been waiting for. It looked good to me, and since we've been wanting to freshen up Dolphin a bit, it felt like a good way to start. (This change wasn't to Dolphin, but our framework, so any apps that would use this navbar would get the changes.) Another reasoning for changes was that there has been many many instances where people didn't even know this field could be clicked! They didn't know these items are buttons, for example on touch devices. That's where the background idea came from. And then make the folders look like clickable items, so people know that, well, they're not there just to look pretty. The work started well enough, though I spent tons of time refactoring and trying to understand the old codebase. On top of that, we wanted to make sure it was as close to perfect as possible. So I added a background first, which was relatively easy, then started modifying the buttons. I wanted to use chevron > style separators between the folders, but there was no easy way to create a button with this shape. Sure, we could do it well for Breeze but any other Qt theme might render it weird and wrong, and that will just cause people report more bugs. So I settled with regular separators. It was a compromise, but I admit it was a rather bad one in the end. I worked so much on this part, trying to figure out a good way to make the new buttons work, following the mockup as close as possible, and I couldn't see the usability issues. This was because I was so entrenched in the work I couldn't practically "see the forest for the trees." I had tons of good feedback, from visual designers and the like. I wanted to follow everyones advice, but had to make compromises at some places. Eventually I got somewhere where we all just liked it enough to push it out to the world. And yeah, the whole process took ~1 month. You would think this is a simple change, but it never is that simple. The feedback I was expecting some pushback, as it always happens with visual changes, but I didn't expect it to be this.. energetic? Sadly, most of the feedback was "it ugly" which gives me nothing actionable to work on! Saying "it looks bad" doesn't help me work on it. It doesn't help me fix anything. I think that frustrated me the most: I wanted to help to fix the situation, but this kind of feedback just makes me wonder endlessly how to fix it. Then I saw some actually actionable feedback: The arrows showed the hierarchy better than the separators I actually agreed with this afterwards, but I couldn't get the chevron thing working as mentioned above I opted for separators because I wanted to keep the button look. Some thought they were tabs and kept misclicking them instead of tabs This was very good feedback and made me rethink the situation I am glad I saw those two things in the sea of "it ugly." It helped me to restructure the whole thing in my mind and start fixing. So yeah I do read your feedback. :P Out with the new, in with the new but old Here's the new iteration: KUrlNavigatorButton: Use arrow as separators I saw the value in the old navbar with the arrows, so I brought them back. I wanted to keep the icons, because I liked the visual flair they added, but they also added clutter. If I could have had the chevron style buttons as shown in the mockups, I would have likely kept the icons. Instead of reworking the old code, I decided to refactor it to best of my abilities: There was some things we didn't need anymore, and some things were a bit buggy due to miscalculations, so I changed things around and got them into good place. I wanted to remove some items I thought people wouldn't use, but in fact I was told quickly that these are very good things to have, so I kept them around. And this is also the kind of feedback I like to see! We're creating custom button components here, so we couldn't utilize more "standard" buttons. That's why there was a lot of math and tinkering with padding involved. I did try to utilize the QStyle methods here though so that it would look okay on any theme, not just Breeze. There will likely be cases where it won't look perfect in custom themes, but utilizing QStyle allows us to at least try. After the refactoring, it got easier to work on this and I started to wrap it up with rapid pace. Instead of a month, it took me around a week. It's not merged yet, but hopefully will be soon. I've been daily driving this iteration on my system and haven't had issues so far. So what's the big deal? Yeah, so, why the big deal? Why write a blogpost about this? I didn't expect this change affect so much to my psyche, so I wanted to talk about this. Maybe some other FOSS devs can relate. I think it's something we should discuss more often, than just the raw results. I like to think I am good at taking feedback. But after working on something for a month, then having to throw it all away even I was told it was ok.. It hurt! It was a lot of time spent on a thing that I hoped would make people happy. I care about the stuff I do. A lot. So yeah, I'm gonna feel hurt when my work is disliked. And that's okay. Anyone who tells me otherwise can pound sand. Rejecting emotions like these just gets you in worse state over time. I speak from experience here. It's easy to say "just ignore the negative feedback" but I literally can't. I am so into working on these things, I love working on KDE applications.. So it does hurt when something that has become such an extension of my own creativity and passion gets disliked... Even when I haven't directly worked on it! Sure, this all is my problem to work on and I don't expect anyone to treat me with silk gloves and pat my head. Just wanted to explain it, that's all. Maybe someone can relate to this and doesn't feel so alone with the problem. I had the same thing when my games got insulted, where I was even more emotionally attached to the things, because I had made them myself completely. Sadly, I kept dwelling on it a bit longer than I wished.. But working on the new version was a great outlet. I noticed old problems, fixed them and the new version is better in many ways. I've noticed that I am not annoyed/upset about negative feedback itself, but how it's conveyed. Negative feedback will always be demotivating and bothersome, but when the negative feedback is written politely and has actually actionable items, it can be rather motivating as well. The "it ugly" feedback has stronger demotivating feedback, because it's not actionable. I think the key takeaway from all of this is that mockups can get stale! If people like some older mockup, then you change to it suddenly, people may get very frustrated about it: They either forgot the old mockup, had never seen it, or they ended up disliking it in actual use. So it's good idea to freshen the mockup before iterating on it: Ask the visual designers about it one more time, maybe share it with the users and ask their opinion on it. Sure you can't gauge everyone's opinion on it, but at least it shouldn't be that sudden to everyone. This whole ordeal has been very tiring, but that's my own fault for not really allowing myself to take a break from it. I get hyperfixated easily, but again, that's my own problem. So yeah, slight burnout by all of this. I'm sure I'll be fine, especially after this is merged so it can stop living rent free in my head. I'm not blaming anyone for anything. Not even myself. Things happened and we all need to chill. Hopes for future There will be many many other times where I or someone else will get it wrong the first time. So, share your feedback, but don't immediatelly go for the nuclear option of removing it all. With FOSS stuff, we don't have these huge QA teams that go yay/nay for something.. But everyone is welcome to join help in that regard! Help us help you with actionable, polite feedback. And thank you so much for everyone who has done so! Now I'm going to try to just let go of this all. It's weekend anyway and I got bunch of games waiting to be played. Thanks for reading as always!
- Web Review, Week 2025-12 (2025/03/21 12:14)Let’s go for my web review for the week 2025-12. Please stop externalizing your costs directly into my face Tags: tech, ai, machine-learning, gpt, copilot, criticism Those bots are really becoming the scourge of the Internet… Is it really necessary to DDoS every forge out there to build LLMs? And that’s not even counting all the other externalities, the end of the article make it clear: “If blasting CO2 into the air and ruining all of our freshwater and traumatizing cheap laborers and making every sysadmin you know miserable and ripping off code and books and art at scale and ruining our fucking democracy isn’t enough for you to leave this shit alone, what is?” https://drewdevault.com/2025/03/17/2025-03-17-Stop-externalizing-your-costs-on-me.html FOSS infrastructure is under attack by AI companies Tags: tech, ai, machine-learning, gpt, copilot, criticism More details about the impacts of the LLM companies acting like vandals… This is clearly widespread and generating work for everyone for nothing. https://thelibre.news/foss-infrastructure-is-under-attack-by-ai-companies/ Careless people – Aral Balkan Tags: tech, facebook, politics, law, gdpr, surveillance, attention-economy I guess more reviews of that book will come out. It looks like Meta and some EU politicians are even more rotten to the core than we ever suspected… https://ar.al/2025/03/21/careless-people/ Everything you say to your Echo will be sent to Amazon starting on March 28 - Ars Technica Tags: tech, amazon, privacy, surveillance Now is the time to wake up and get those surveillance devices out of people’s homes… https://arstechnica.com/gadgets/2025/03/everything-you-say-to-your-echo-will-be-sent-to-amazon-starting-on-march-28/ Man Tests If Tesla Autopilot Will Crash Into Wall Painted to Look Like Road Tags: tech, tesla, safety In case it wasn’t clear yet that not relying on Lidar was a stupid move for self-driving cars. https://futurism.com/tesla-wall-autopilot Dad demands OpenAI delete ChatGPT’s false claim that he murdered his kids Tags: tech, ai, machine-learning, gpt, law Still so reliable… could we confine this to NLP uses please? Should never had been used for anything looking remotely like search. https://arstechnica.com/tech-policy/2025/03/chatgpt-falsely-claimed-a-dad-murdered-his-own-kids-complaint-says/ It’s all hallucinations Tags: tech, ai, machine-learning, gpt Words are important, I’m dismayed at how the marketing speak around generative AI is what people use… that completely muddies the thinking around them. https://tante.cc/2025/03/16/its-all-hallucinations/ “Vibe Coding” vs Reality Tags: tech, ai, machine-learning, gpt, copilot, programming Despite the marketing speak… it’s definitely not there yet. So far all the attempts at using LLM for coding larger pieces end up in this kind of messy results. It helps kickstarting a project indeed but quickly degenerates after that. https://cendyne.dev/posts/2025-03-19-vibe-coding-vs-reality.html My Scammer Girlfriend: Baiting A Romance Fraudster | www.bentasker.co.uk Tags: tech, security, scam Fascinating exploration of the techniques scammers are using to hook their victims https://www.bentasker.co.uk/posts/blog/security/seducing-a-romance-scammer.html Introducing Orpheus Speech - Canopy Labs Tags: tech, speech, ai, machine-learning Impressive new models for text to speech. https://canopylabs.ai/model-releases HTTP/3 is everywhere but nowhere Tags: tech, http, quic, community The picture is a bit to bleak I think, but there’s indeed currently a divide in terms of HTTP/3 adoption. This is fairly aligned with the big players vs long tail creators divide. Hopefully this will get solved at some point. https://httptoolkit.com/blog/http3-quic-open-source-support-nowhere/ Were multiple return values Go’s biggest mistake? Tags: tech, programming, go With the little Go I wrote, I admit that the multiple return values feature is… odd. Worse though, it has bad ramifications. https://herecomesthemoon.net/2025/03/multiple-return-values-in-go/ I don’t think error handling is a solved problem in language design Tags: tech, programming, language, exceptions Indeed, it’s something where we lack consensus across languages and sometimes within the same ecosystem. https://utcc.utoronto.ca/~cks/space/blog/programming/ErrorHandlingNotSolvedProblem The Defer Technical Specification: It Is Time Tags: tech, c, standard, memory, safety This could be a big improvement for C. We’ll see how far this goes. https://thephd.dev/c2y-the-defer-technical-specification-its-time-go-go-go Speeding up C++ code with template lambdas – Daniel Lemire’s blog Tags: tech, c++, programming, optimization Definitely ugly in the end. Still it does the the trick. https://lemire.me/blog/2025/03/15/speeding-up-c-code-with-template-lambdas/ Our interfaces have lost their senses Tags: tech, gui, ux Beautifully crafted post. So much of it is true as well, having several modalities available is better for interactions. We’ve been loosing this overtime, it’s time to reintroduce it… there’s so much to do in the HMI space. https://wattenberger.com/thoughts/our-interfaces-have-lost-their-senses Xenographics – Weird but (sometimes) useful charts Tags: tech, data-visualization Need new ideas for data visualization? This seems like a good resource. https://xeno.graphics/ Passive Voice Considered Harmful · Refactoring English Tags: tech, documentation, writing Good explanation of why the passive voice should be avoided. Also it gives a few cases where you want to favor the passive voice. https://refactoringenglish.com/chapters/passive-voice-considered-harmful/ Why I’m No Longer Talking to Architects About Microservices Tags: tech, architecture, microservices, criticism Interesting piece… why talking about microservices generally leads nowhere. This is a too loosely defined term and we’re often confusing means and ends. https://blog.container-solutions.com/why-im-no-longer-talking-to-architects-about-microservices Who are your teammates? Tags: tech, leadership, management, team Interesting way to frame the question for leadership roles. https://ntietz.com/blog/who-are-your-teammates/ Why “Normal” Engineers Are the Key to Great Teams - IEEE Spectrum Tags: tech, organization, team, culture, productivity We should definitely put the 10x engineer myth to rest. Let’s focus on setting up the right organisation and culture instead. https://spectrum.ieee.org/10x-engineer Battery breakthrough as 99.99% of lithium extracted from old cells Tags: tech, battery, ecology If it can be done at scale this would be very good news. https://www.independent.co.uk/tech/battery-recycle-lithium-ion-environment-b2713723.html Why Your Brain Blinds You For 2 Hours Every Days Tags: science, cognition, neuroscience Nice video which gives a glimpse on how our brain constantly tries to build a coherent picture of the reality around us. This is quite a feat since our senses are ill equipped to produce such a picture. Of course we don’t even notice all those processes when we go about our days. https://www.youtube.com/watch?v=wo_e0EvEZn8 Bye for now!
- Qt Creator 16 - CMake Update (2025/03/20 14:28)Here are the new CMake changes in Qt Creator 16:
- NFS setup in FreeBSD (2025/03/17 23:00)My home contains multiple FreeBSD machines – laptops, desktops, single-board-computers – which can benefit from sharing storage. In particular, I really only need one copy of the FreeBSD source tree (plus some work-trees for different branches) and one copy of the ports tree and distfiles. This blog post is my notes on setting that up. These notes are for my home infrastructure, where I trust the machines that are plugged into the wired network, simply because I can see the switch from my desk and know where all the wires go. I’m not taking notes for security. All of these notes build on the FreeBSD Handbook chapters on ZFS and Network Servers. Server Side NFS Setup Configure the server for NFS with sysrc rpcbind_enable=YES nfs_server_enable=YES mountd_enable=YES and then start NFS services service nfsd start . This enables NFS services also after a reboot. To turn them off again, use sysrc and swap NO for YES. Client Side NFS Setup Enable NFS client with sysrc nfs_client_enable=YES and then start NFS services with service nfsclient start . This enables NFS services also after a reboot. To turn them off again, use sysrc and swap NO for YES. Per-Filesystem Setup For each filesystem that needs to be shared, go through these steps. It is easiest to do this with one filesystem per mountpoint (mountpoint on the client side, so possibly /usr/ports, /usr/src and /usr/obj which want three filesystems on the server side’ however, this does not work well with git work-trees). Filling the filesystems that need sharing is outside of the scope of these notes, but The ports tree lives in git and can be anonymously cloned. There is a nice guide (PDF) as well. The source tree contains the whole operating system, lives in git and can be anonymously cloned. Server Side Create a ZFS filesystem, say zdata/export/ports. It doesn’t really matter where it is mounted. Turn on NFS sharing on this ZFS filesystem (this step might be redundant), zfs set sharenfs=on zdata/export/ports . Set options for NFS sharing with no attention to security at all, zfs set sharenfs="-network=192.168.56.0/24 -maproot=root" zdata/export/ports . Don’t bother with /etc/exports, since we’re using ZFS. Turn on sharing for the filesystem with zfs share zdata/export/ports . Client Side Just mount the remote filesystem (read-only here) with mount -o ro 192.168.56.1:zdata/export/ports /usr/ports . When troubleshooting (permission denied), check the IP address of the client is in the network specified by the NFS share on the server. Mounting a subdirectory of an export isn’t possible. In that case, mount the exported filesystem somewhere temporary (e.g. /mnt/export) and then use mount -t nullfs -o ro /mnt/export/subdir /some/path . System Updates Over NFS For me the main reason to set this up is that I can git clone src, build the FreeBSD operating system once, and then share the build results across multiple machines by mounting /usr/src and /usr/obj from the machine that did the build. It saves considerable compile time, even if the resulting installation over the network is a lot slower than from a local md(8) to an NVMe drive. One minor gotcha is that make installkernel complains a lot about read-only filesystems. But that’s only a complaint, and everything installs normally. Subsequent mergemaster is normal and make installworld complains in the same way.
- This Week in KDE Apps (2025/03/17 09:03)Optimization in Akonadi, configurable holiday region in Merkuro and progress on Krita Qt6 portWelcome to a new issue of "This Week in KDE Apps"! Every week we cover as much as possible of what's happening in the world of KDE apps. Last week we released the beta for KDE Gear 25.04 and focused on polishing the coming release. Creative Apps Krita Digital Painting, Creative Freedom The developer teams continued to improve the Qt6 port of Krita. Dmitry fixed the HDR support on Windows (Dmitry Kazakov, link). Freya fixed an OpenGL crash on macOS (Freya Lupen, link). Personal Information Management Apps Akonadi Background service for KDE PIM apps Carl Schwan reduced the memory usage of various Akonadi resources by around 75% each. The optimized resources, which take advantage of this new API, are the following: Birthday, VCard files and directories, Ical, Mbox, Open-Xchange, cardDAV and calDAV. There is already significant progress done in that direction also for the IMAP and POP3 resources. The technical background behind this is that these resources running as independent processes are now using non-visual QCoreApplication instead of the more powerful QApplication, which is more appropriate resource wise for background services. This is part of the Don't depend on QtWidgets in lower parts of the stack milestones. (Carl Schwan, 25.08.0. Link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, ...) Daniel made a change to ensure that operations in Akonadi that operate on a large number of items are processed as multiple smaller batches which the SQL engine can then handle (Daniel Vratil, 25.08.0. Link). Merkuro Calendar Manage your tasks and events with speed and ease Tobias ported Merkuro Calendar to the new QML declaration which slightly improves the performance but more importantly enables us to take advantage of the QML tooling (Tobias Fella, 25.04.0. Link). Carl made the region used to display holidays configurable. You can also select more than one region now (Carl Schwan, 25.04.0. Link) Kleopatra Certificate manager and cryptography app Tobias moved the notepad feature to a separate window, which means it's now possible to have multiple notepads open at the same time (Tobias Fella, 25.08.0. Link). Tobias also ensured the GPG password prompt (pinentry) in Kleopatra is properly parented to the correct parent window on Wayland (Tobias Fella, 25.04.0. Link). Other apps using GPG were also fixed. KOrganizer KOrganizer is a calendar and scheduling application Allen made a series of small improvements and bugfixes to Korganizer. He improved the configure view menu action description (link), added more information to the delete folder dialog (link), and added a search option to consider the current view filters. (Link). Social Apps NeoChat Chat on Matrix James improved the thread support. Now it is possible to open a context menu for the individual thread messages (James Graham, 25.08.0. Link). Kaidan Modern chat app for every device Melvin fixed downloading files (Melvin Keskin, link 1 and link 2). Graphics and Multimedia Apps Amarok Rediscover your music Tuomas fixed some database and encoding issues. (Tuomas Nurmi, link) digiKam Photo Management Program The digiKam team released version 8.6.0. of the powerful photo classifying and editing tool. Among many other things, digiKam now comes with a smarter face management tool, an improved auto-tagging system that identifies elements in your images, fully automatic red-eye removal, and a new image quality feature that classifies images according to their aesthetic quality. The digiKam developers also fixed 140 bugs. You can read more about this release on digiKam's website. System Apps Kate Advanced text editor Javier Guerra added text search to the build output. (Javier Guerra, 25.08.0. Link) Leo Ruggeri made the reset history menu button only visible when relevant. (Leo Ruggeri, 25.08.0. Link) Educational Apps GCompris Educational game for children Bruno Anselme added a 6th level to the Guess 24 game. (Bruno Anselme, Link) Utilities KTrip Public transport navigator Volker improved the history of past searches in KTrip by reusing some code from Itinerary. The biggest improvements are that the list is now de-duplicated, and the model supports more features not yet exposed to the UI. (Volker Kruase, 25.08.0. Link) Other Luigi removed Qt5 support in Minuet and Step. …And Everything Else This blog only covers the tip of the iceberg! If you’re hungry for more, check out Nate's blog about Plasma and be sure not to miss his This Week in Plasma series, where every Saturday he covers all the work being put into KDE's Plasma desktop environment. For a complete overview of what's going on, visit KDE's Planet, where you can find all KDE news unfiltered directly from our contributors. Get Involved The KDE organization has become important in the world, and your time and contributions have helped us get there. As we grow, we're going to need your support for KDE to become sustainable. You can help KDE by becoming an active community member and getting involved. Each contributor makes a huge difference in KDE — you are not a number or a cog in a machine! You don’t have to be a programmer either. There are many things you can do: you can help hunt and confirm bugs, even maybe solve them; contribute designs for wallpapers, web pages, icons and app interfaces; translate messages and menu items into your own language; promote KDE in your local community; and a ton more things. You can also help us by donating. Any monetary contribution, however small, will help us cover operational costs, salaries, travel expenses for contributors and in general just keep KDE bringing Free Software to the world. To get your application mentioned here, please ping us in invent or in Matrix.
- Krita Monthly Update - Edition 24 (2025/03/17 00:00)Welcome to the February 2024 development and community update. Development Report Text Tool Rework Update Wolthera has written a new post about recent Text Tool updates which will be coming in Krita 5.3. A Glyph Palette has been added to Text Tool Options, which allows selecting glyph alternates as well as showing a font character map (MR!2080). The Text Properties Docker now shows CSS Font Variants glyph properties (MR!2325) and OpenType features property (MR!2343). Qt6 Port Progress Krita now has Qt6 CI builds for Linux, Windows (MR!2328), and macOS (MR!2334). Android has yet to be built, as the platform has more complications and fewer developers working on it. Most of Krita's custom Qt patches have now been ported by Dmitry, and ANGLE and HDR support are revived on Windows (deps commit). Community Report February 2024 Monthly Art Challenge Results For the "Fabulous Flora" theme, 27 forum members submitted 34 original artworks. And the winner is… Hollyhocks by @Elixiah The March Art Challenge is Open Now For the March Art Challenge, @Elixiah has chosen "Virtual Plein Air Painting" using MapCrunch or Google Maps street view, as the theme. The optional challenge is doing paired entries; one urban, one rural. See the full brief for more details, and see the sights without stepping outside your door. Featured Artwork Best of Krita-Artists - January/February 2025 Nine images were submitted to the Best of Krita-Artists Nominations thread, which was open from January 14th to February 11th. When the poll closed on February 14th, these five wonderful works made their way onto the Krita-Artists featured artwork banner: Luca - To the Sea by @deerblue Long Head Guy by @Celes Bird by @SkyJack Recent illustration I did for a card game by @JoaoGGarin Study of a Fox by @Hagetisse Ways to Help Krita Krita is Free and Open Source Software developed by an international team of sponsored developers and volunteer contributors. Visit Krita's funding page to see how user donations keep development going, and explore a one-time or monthly contribution. Or check out more ways to Get Involved, from testing, coding, translating, and documentation writing, to just sharing your artwork made with Krita. Other Notable Changes Other notable changes in Krita's development builds from Feb. 12 - Mar. 17, 2025, that were not covered by the Development Report. Stable branch (5.2.10-prealpha): Resources: Correctly load UTF-8 .pat pattern names. (bug report) (Change, by Nicholas LaPointe) Unstable branch (5.3.0-prealpha): Bug fixes: Animation: Fix crash on closing secondary animated document during playback. (bug report) (Change, by Emmet O'Neill) General: Fix menubar disappearing after toggling system global menubar feature. (Change, by Carl Schwan) Features: Freehand Brush Tool: Add Brush Smoothing options to adjust the smoothing based on brushstroke speed. (Change, by killy |0veufOrever) Preferences: Add a global pen tilt direction offset in Tablet settings. This can be used to make tilt brushes work similarly for left- and right-handed users, or behave better without tilt support. (Change, by Maciej Jesionowski) Scripting: Add Canvas.setPreferredCenter() and Canvas.pan() for panning the canvas. (Change, by Dov Grobgeld) Python Plugins: Add Mutator plugin. This consists of an action to randomly modify brush preset settings such as color and size, and a docker to customize these mutations. (Change, by Emmet O'Neill) G'MIC: Update to 3.5.3. (Change, by Ivan Yossi) 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.10-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 (unsigned) - Android arm64-v8a - Android arm32-v7a - Android x86_64
- CarConnectivity and the ID.Buzz (2025/03/16 17:09)I just got myself a brand new car: an ID.Buzz with seven seats so that I can fit the whole family at once. I’m very happy with the car this far, but since it has connectivity, I want to see if I can integrate it into HomeAssistant. To do this, I wanted to use the CarConnectivity project by Till Steinbach. It is a Python package that comes in a few parts. The main project, a Volkswagen connector, an MQTT bridge and a HomeAssistant MQTT discovery helper. Having played with the software for a bit (and reported a bug that Till fixed asap – I’m impressed!) I decided to setup the whole thing on my little RaspberryPi that runs a few little services I use around the house. Preparing this, I setup a new user and installed the software in a Python virtual environment: sudo adduser carconnectivity sudo su carconnectivity cd mkdir carconnectivity cd carconnectivity/ python -m venv venv source venv/bin/activate pip install carconnectivity-connector-volkswagen==0.5a1 carconnectivity-plugin-mqtt carconnectivity-plugin-mqtt_homeassistant vim carconnectivity.json Using the vim command, I created the CarConnectivity configuration file. Update usernames, passwords and IPs to your needs. I will experiment with the interval parameter, as I don’t want to discharge the 12v battery by querying the car too much. { "carConnectivity": { "log_level": "error", "connectors": [ { "type": "volkswagen", "config": { "interval": 1800, "username": "hello@example.com", "password": "secret" } } ], "plugins": [ { "type": "mqtt", "config": { "broker": "my-mqtt.local", "username": "user", "password": "secret" } }, { "type": "mqtt_homeassistant", "config": {} } ] } } Having configured the service (and having run it manually to fix my mistakes) I created the carconnectivity.service systemd service shown below (in /etc/systemd/system): [Unit] Description=Car Connectivity to MQTT After=network-online.target [Service] Type=simple User=carconnectivity Group=carconnectivity WorkingDirectory=/home/carconnectivity/carconnectivity/ Environment="LC_ALL=sv_SE" ExecStart=/home/carconnectivity/carconnectivity/venv/bin/carconnectivity-mqtt /home/carconnectivity/carconnectivity/carconnectivity.json [Install] WantedBy=multi-user.target And then I started and enabled the service. sudo systemctl start carconnectivitysudo systemctl enable carconnectivity Finally, I had a look at the status and made sure that everything looks ok. sudo systemctl status carconnectivity And, viola, the car shows up as a device in Home Assistant. Magic!
- Fossasia Summit 2025 (2025/03/16 07:34)Friendly country, Friendly people, Reunions, New Experience, a bit of hustle and that’s LIFE! So, this was my 4th conference and 3rd international trip! A lot of new experiences and new friends, but let’s talk about FOSSASIA Summit 2025 first. FOSSASIA Summit 2025 This is the first conference where I was having a lot of different tasks, lightning talk, representing Ubuntu booth and KDE booth. So, a lot of different perspectives will be here. Sometimes I’ll be writing from KDE’s pov, sometimes Ubuntu’s and sometimes my own.
- Framework 13 AMD Setup with FreeBSD (2025/03/15 23:00)The FreeBSD Foundation exists to support the FreeBSD community and the FreeBSD project. Some of its projects are aimed at improving the experience of FreeBSD on specific hardware. There is an ongoing, and expanding, laptop experience project. To expand that project further, the foundation has provided Framework laptops to a bunch of developers working on the FreeBSD laptop and desktop experience. I’m one of those developers, and here are some initial notes on the process. The notes assume experience with FreeBSD. Some disclaimers up front: the FreeBSD foundation is a lot like KDE e.V., which supports the KDE community and project. I wear a board hat for KDE e.V., but on the FreeBSD side I’m “just a ports developer”. Of course, the ports I try to work on are the KDE ones, so there’s a happy synergy here. An anonymous donor sponsored these machines. While I am part of the FreeBSD donations@ team, I was not involved in the overall decision-making around this donation. The machine I got is a Framework 13 with an AMD 7000 series CPU. That’s not the very-very latest one, which has a Ryzen 300 series in it, but it is at least 3 CPU generations newer than any other machine I have. For me in particular of interest is that it has the same GPU series, AMD Polaris 12, as my FreeBSD 14-STABLE desktop machine, so I can share experimentation with graphics drivers between them. I picked the 2.8K display with rounded corners, because that’s potentially an interesting edge-case for the KDE Plasma 6 desktop; if there’s any funny-stuff needed for those corners, then we need to know about it. Let’s Get Physical Although it’s completely irrelevant for the long-term use of the laptop, I’ve got to hand it to the Framework folks: the packaging is really nice. Recyclable cardboard, well-laid-out, understandable boxes. I don’t often get a “huh, that’s clever” reaction when unpacking consumer electronics. There’s a screwdriver included, cunningly hidden beneath the do-it-yourself-installation memory modules. That’s clever. When it comes to putting the machine together, the installation guide with videos is both comprehensive and easy-to-follow. “Put DDR5 SO-DIMM modules in corresponding sockets” and “insert NVMe into socket” is straightforward, I do that all the time when (re)building desktop machines. The bezel, on the other hand … The bezel around the screen is just a thin bit of plastic. I got a red one, because FreeBSD (there is no KDE Blue option). It is essential to place it correctly, with all the screen-cables nicely aligned. I did not, and just clicked the bezel in place, pushed down on it and then closed the laptop, “per the instructions”. Except the bezel stuck out about 2mm, and on re-opening the laptop, it just about tore the bezel in half. After 20 tricky minutes I could get the laptop open again and removed the bezel, repaired it, and tried again. I don’t really have a suggestion to improve the bezel installation except “try very carefully to close the laptop a bit, re-open, close a bit further, re-open, …” until it’s clear that the lid closes properly. Take some time to (re)route the cables to the screen so that they are as flat as possible. Accessories The little modules for the Framework laptop are pretty nifty. I’m already thinking I should have gotten an additional USB-C one. I selected one unusual module, RJ-45 wired ethernet, because my experience with FreeBSD and WiFi is not a good one. However, that’s what this whole laptop project is for. The FreeBSD Foundation has already funded work on laptop WiFi, so it’s probably over-cautiousness on my part. With all the physical bits in place, the big question… Will it run Doom? Framework 13 AMD DIY build with FreeBSD 14.2 boot screen. It sure looks like it could be Doom. Of course. Don’t be silly. Will it run FreeBSD? Yes, but that takes a little bit of effort. Download a FreeBSD 14.2 image and write it to a USB stick on some other machine. Leave it on your desk for now. Boot the Framework laptop for the first time and let it do memory training and whatnot. Do not connect any devices and let it complain that there’s nothing to boot. Reboot, still with nothing attached, and spam F2 during boot. You have to do this to get to the EFI shell / system configuration before it tries to boot anything. Disable secure boot. Linuxes have a signed GRUB shim nowadays, or other bits and pieces so they work with secure boot. FreeBSD 14.2 does not, yet. Now insert the USB stick, reboot, and go through the installer process. It’s a text installer (still, as I still haven’t built FreeBSD support in Calamares) and gets you to a working system in about 5 minutes. Having the wired ethernet helps avoid any trouble here. Reboot after installation and you can get a text console. All that technology for a late-80s user experience. Will it run X11? Yes, but the 14.2-RELEASE Errata point out that DRM kernel modules do not work if you grab the pre-built ones. This was true on March 12th 2025, so: Run pkg to install the package manager (initially it is a stub) Run pkg install git to install git (this pulls in a surprising amount of other stuff) Get the system sources (with git) Rebuild the world and install it Get the ports tree (with git) Build graphics/drm-61-kmod from ports (just make ; make install, and the port itself is a real quick build) Build graphics/gpu-firmware-amd-kmod from ports, remember FLAVOR=polaris12 for the GPU in this laptop (otherwise the default flavor is built) After that, enable the amdgpu module in rc.conf, or load it by hand. Any old X11 stuff will do, but I suggest installing x11/kde and x11/sddm. Will it run KDE Plasma 6 Wayland? Hahaha. No. But yes. KDE Plasma 6 on Wayland in general works. But on this specific machine, with this specific grapics card, Plasma starts, all the processes of a KDE Plasma desktop are running, and the screen displays a single white text-cursor in the upper-left corner. It’s not this-specific-machine, either, since I have a desktop with Intel CPU and an AMD RX550 video card that behaves the same. Last time I dug into KWin internals in an attempt to figure this out I ended up with “some part of the OpenGL stack is lying” and then gave up. Now with a fresh laptop that just cries out for a modern desktop, I’m going to try again.
- KDE snaps fixed, Thank you for your support (2025/03/15 12:52)KDE Mascot Thank you everyone for keeping the lights on for a bit longer. KDE snaps have been restored. I also released 24.12.3! In addition, I have moved “most” snaps to core24. The remaining snaps need newer qt6/kf6, which is a WIP. “The Bad luck girl” has been hit once again with another loss, so with that, I will be reducing my hours on snaps while I consider my options for my future. I am still around, just a bit less. Thanks again everyone, if you can get me through one more ( lingering broken arm ) surgery I would be forever grateful! https://gofund.me/d5d59582
- This Week in Plasma: File Transfer Progress Graphs (2025/03/15 04:00)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, Plasma 6.4 began to take shape. A bunch of impactful features and UI improvements landed, not to mention some juicy technical changes in the form of a newly-implemented Wayland protocol and HDR energy efficiency improvements. Just a whole lot of good stuff! Check it out below: Notable new Features Plasma 6.4.0 After being punted from Plasma 6.3, per-virtual-desktop custom tile layouts are now implemented for 6.4! (Vlad Zahorodnii, link) Clicking the "Details" button on a system notification showing file transfer progress will now reveal a graph showing the transfer speed over time! (Méven Car, link) You can now fully disable System Tray icons provided by apps that lack an internal setting for this (looking at you, Discord). Note that this could potentially break apps as they won't know their tray icon isn't being shown, so only use this feature if you know what you're doing! A warning message explains this, too. (Nate Graham, link) Notable UI Improvements Plasma 6.3.4 Plasma's sidebar-style UI elements (e.g. the Activity Switcher sidebar) now overlap panels when shown outside of Edit Mode. This looks nicer and helps communicate focus better. (Niccolò Venerandi, link) Plasma 6.4.0 Improved KRunner search result ordering by adding the power and session actions into the default set of favorite actions, ensuring they appear first when searched for. (Nate Graham, link) Refined the heuristic for when a panel widget's popup will be displayed centered on the panel or the screen, so that it happens more often in cases where you obviously configured your panel with this in mind. (Niccolò Venerandi, link) In the panel configuration dialog, the little wireframe visualizations for options now all visually reflect their panel's actual position on screen. (Niccolò Venerandi, link) You can now configure which modifier keys plus a scroll trigger KWin's zoom effect. (Vlad Zahorodnii, link) Improved keyboard navigation in KRunner's popup: now if the pointer happens to be hovering over an item, you can still use the arrow keys to move the selection highlight to a different item. (Christoph Wolk, link) If you're being slowly driven mad by the system notification telling you how to regain control when an app like Input Leap is using the input devices, you can now disable it like you can any other notification. (David Redondo, link) Plasma widgets in the System Tray that hide completely when they deem themselves not relevant no longer do this when placed in standalone form on the panel; we reasoned that in this case, if you put them there yourself, you probably always want to see them! (Niccolò Venerandi, link) Widgets using the ExpandableListItem component — commonly seen in the System Tray — now display tooltips on hover for any list items with labels so long they've become elided. This was very uncommon, which is how we missed it until now! (Kai Uwe Broulik, link) When you've configured the Kickoff Application Launcher to only show app names or only show app descriptions, you'll no longer see tooltips with the labels you said you didn't want. (Nate Graham, link) Frameworks 6.13 Implemented touch scrolling in open/save dialogs. (Marco Martin, link) Improved KRunner search result ordering in another way as well, by returning to the older style of strictly respecting the ordering that the user user configured. (Nate Graham, link) Notable Bug Fixes Plasma 6.3.3 Fixed a bug that could cause Discover to get stuck refreshing forever following flaky network connectivity. (Aleix Pol Gonzalez, link) Fixed some layout glitches affecting the folder chooser dialog at certain window sizes. (Luke Horwell, link) Plasma 6.3.4 Fixed a bug that would cause fit-content panels with Task Manager widgets on them to not immediately shrink as expected when apps or windows were closed. (Niccolò Venerandi, link) Fixed a glitch in the Bluetooth wizard's scrollable device view that made scrolling using a touchscreen unreliable. (Marco Martin, link) Plasma 6.4.0 A notorious Plasma 6 panel bug has been fixed: now when there are multiple panels sharing the same screen edge, they're all displayed properly, and reserve only as much space away from the screen edge as the thickest panel. (Niccolò Venerandi. link 1 and link 2) Fixed a visual glitch involving the ruler for resizing custom-length panels in auto-hide mode. (Niccolò Venerandi, link) Other bug information of note: 2 very high priority Plasma bugs (same as last week). Current list of bugs 23 15-minute Plasma bugs (down from 24 last week). Current list of bugs 98 KDE bugs of all kinds fixed over the past week. Full list of bugs Notable in Performance & Technical Plasma 6.3.4 Improved the pixel-perfection of various KWin effects, including Wobbly Windows. (Xaver Hugl, link) Plasma 6.4.0 KWin's codebase has been formally split between an X11 version and a Wayland version, allowing the Wayland version to develop faster and the X11 version to avoid accumulating bugs due to changes in a shared base combined with a lack of testing (82% of users with telemetry turned on use Wayland now). This will continue until Plasma 7, at which point it's highly likely the dedicated X11 session will be removed. Note that the Wayland-only version will continue to run XWayland-using apps just as it can right now. More information about this can be found in Vlad's blog post on the topic! Added support for P010 color-formatted videos, improving power efficiency for playing full-screen HDR video content. (Xaver Hugl, link) Implemented support for the get_input_idle_notification Wayland Protocol. (Xaver Hugl, link) Improved the reliability with which the Power & Battery widget is able to detect and display battery information for Bluetooth devices. (Kai Uwe Broulik, link) It's no longer possible to create new Plasma Vaults using the EncFS encryption system, as it's been discontinued and has known security vulnerabilities. You can still use existing EncFS vaults; you just can't create new ones. (Nate Graham, link) Continued to resolve binding loops and QML warnings throughout Plasma, succeeding at handling a large fraction of the ones seen in basic usage that are within KDE's power to resolve without Qt changes. (Christoph Wolk, link 1, link 2, link 3, link 4, link 5, link 6, link 7, link 8, link 9, link 10, link 11, link 12, link 13, link 14, link 15, and link 16) 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: Triage and confirm bug reports, maybe even identify their root cause Contribute designs for wallpapers, icons, and app interfaces Design and maintain websites Translate user interface text items into your own language Promote KDE in your local community …And a ton more things! 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.
- digiKam 8.6.0 is released (2025/03/15 00:00)Dear digiKam fans and users, After four months of active maintenance and many weeks triaging bugs, the digiKam team is proud to present version 8.6.0 of its open source digital photo manager. New Features and Major Changes Face Management Updates and Improvements Auto-Tags Management Image Quality Management Red Eye Correction Internal Components Update Notable Bug Fixes Generalities Future Plans Final Words The digiKam team has continued to work on a better Artificial Intelligence integration in digiKam, and many parts have been improved with the 8.6.0 release.
- Bran Muffins Recipe (2025/03/14 23:00)This is a recipe post. I loathe and despise recipe sites, but this is one I regularly need to look up. In Canadian measures, which is what I still do my baking in even after 30 years in Europe. Mix well and let stand while collecting the rest: 1½ cups rye bran 1 c. milk ½ tsp. salt Ready: ⅓ c. oil 1 egg Ready: ⅔ c. brown sugar 1 c. flour 2 tsp. baking powder ½ c. raisins Mix the wets. Stir in the drys. Fill muffin pan. Bake 25 minutes at 180℃. Makes 11 muffins because my muffin pan has one broken cup. Uses rye bran because the local windmill has that “left over” as animal feed after milling rye – apparently very few people in the Netherlands use bran anyway, and rye bran even less so. Instead of flour and baking powder use zelfrijzend bakmeel. Edit: reduce sugar to ½ cup and add 1 tbsp. of molasses to improve flavor and color and reduce sweetness.
- Web Review, Week 2025-11 (2025/03/14 15:36)Let’s go for my web review for the week 2025-11. Kill your Feeds - Stop letting algorithms dictate how you think Tags: tech, social-media, criticism Simple steps to escape the algorithmic social media circus. https://usher.dev/posts/2025-03-08-kill-your-feeds/ Music labels will regret coming for the Internet Archive, sound historian says Tags: tech, culture, archive, history, law, copyright Once again the music labels can’t understand the cultural value of building archives. Let’s hope they loose the lawsuit. https://arstechnica.com/tech-policy/2025/03/music-labels-will-regret-coming-for-the-internet-archive-sound-historian-says/ What does “PhD-level” AI mean? OpenAI’s rumored $20,000 agent plan explained Tags: tech, ai, machine-learning, gpt, marketing, business Here we go for a brand new marketing stunt from OpenAI. You can also tell the pressure is rising since all of this is still operating at a massive loss. https://arstechnica.com/ai/2025/03/what-does-phd-level-ai-mean-openais-rumored-20000-agent-plan-explained/ Microsoft is reportedly plotting a future without OpenAI Tags: tech, ai, machine-learning, gpt, microsoft, business Are we surprised? Not really… This kind of struggle was an obvious outcome from the heavy dependencies between both companies. https://techstartups.com/2025/03/07/microsoft-is-plotting-a-future-without-openai/ Cognitive Behaviors that Enable Self-Improving Reasoners, or, Four Habits of Highly Effective STaRs Tags: tech, ai, machine-learning, gpt, cognition, research I like this kind of research as it also says something about our own cognition. The results comparing two models and improving them are fascinating. https://arxiv.org/abs/2503.01307 Google’s Gemma 3 is an open source, single-GPU AI with a 128K context window Tags: tech, ai, machine-learning, gpt More smaller footprint models are becoming available. This is becoming interesting (even though the open source claim is overrated here). https://arstechnica.com/gadgets/2025/03/googles-new-gemma-3-ai-model-is-optimized-to-run-on-a-single-gpu/ Why extracting data from PDFs is still a nightmare for data experts Tags: tech, ai, machine-learning, gpt, ocr, computer-vision So much data trapped in PDFs indeed… Unfortunately VLM are still not reliable enough to be unleashed without tight validation of the output. https://arstechnica.com/ai/2025/03/why-extracting-data-from-pdfs-is-still-a-nightmare-for-data-experts/ A Quick Journey Into the Linux Kernel Tags: tech, linux, kernel, programming Nice exploration of the important areas in the kernel. https://www.lucavall.in/blog/a-quick-journey-into-the-linux-kernel Standards for ANSI escape codes Tags: tech, unix, command-line, terminal, standard A nice glimpse into the maze of the escape codes on the terminal. https://jvns.ca/blog/2025/03/07/escape-code-standards/ Tech Notes: Rust trait object layout Tags: tech, rust, type-systems, memory OK more questions than answers I guess… That said, it shows interesting differences in design choices with C++ to support the traits system. https://neugierig.org/software/blog/2025/03/trait-object-layout.html When are Rust’s const fns executed? Tags: tech, rust, compiler, optimization A quick primer about compile time evaluations in Rust. https://felixwrt.dev/posts/const-fn/ Why do I find Rust inadequate for codecs? Tags: tech, rust, c, codec, performance, safety Interesting reasons to let go of Rust, some spaces indeed can have a safety vs performance tradeoff which would justify using good old C. https://palaiologos.rocks/posts/rust-codecs/ The Art of Formatting Code Tags: tech, programming, tools, unicode Ever wondered how to make a code formatter? This post does a good job showing the main problems you might encounter. The impact of Unicode is especially funny. Very interesting stuff. https://mcyoung.xyz/2025/03/11/formatters/ Idiomatic Go Tags: tech, programming, go An evolving list of how to write idiomatic Go. https://dmitri.shuralyov.com/idiomatic-go Building Websites With Lots of Little HTML pages Tags: tech, web, frontend, css You can really do a lot with CSS transitions nowadays. https://blog.jim-nielsen.com/2025/lots-of-little-html-pages/ Post-Processing Shaders as a Creative Medium - Maxime Heckel’s Blog Tags: tech, gpu, shader, web Nice set of tricks for post-processing effects all centering around pixelated patterns. Really neat. https://blog.maximeheckel.com/posts/post-processing-as-a-creative-medium/ What Makes Code Hard To Read: Visual Patterns of Complexity Tags: tech, programming, maintenance The whole field is unfortunately a bit fuzzy. That said, this article gives interesting ideas about what to pay attention to when writing code to ease the readability. https://seeinglogic.com/posts/visual-readability-patterns/ How Long Should Functions Be? - by Kent Beck Tags: tech, engineering, craftsmanship, quality, tdd, programming Nice post. Explains well why the answer is not a number to target. You want to impact the distribution. https://tidyfirst.substack.com/p/how-long-should-functions-be How to Write Useful Commit Messages Tags: tech, version-control, codereview Might be going a bit far if you use everything listed here. That said, it gives lots of good ideas so you might want to decide on what you should adopt on your project. https://refactoringenglish.com/chapters/commit-messages/ CSS Relative Colors Tags: tech, web, css, colors Nice new tricks to specify colours in CSS. https://ishadeed.com/article/css-relative-colors/ Stewardship over ownership Tags: tech, engineering, maintenance, leadership I like this. Sometimes a simple word can make all the difference in the way we behave. Code stewardship is indeed a better word. https://ntietz.com/blog/stewardship-over-ownership/ The Staff+ Performance Cliff Tags: tech, leadership, management, learning It’s indeed not easy to go from individual contributions, to team level leadership, to organisation level leadership. Many things need to be learned or relearned at each step. https://sylormiller.com/posts/2025/staff-plus-cliff/ There is No Automatic Reset for Engineering Tags: tech, quality, project-management, product-management Interesting thinking around a portfolio of activities. You can prioritise differently within it to manage quality vs speed of delivery over time. https://agileotter.blogspot.com/2025/03/there-is-no-automatic-reset-in.html?m=1 Reducing Power Gradients - Psych Safety Tags: organization, management, power, psychology Interesting tips to reduce the power dynamics in organisations. https://psychsafety.com/reducing-power-gradients/ Bye for now!
Discussion