Skip to content

Tuesday, 11 November 2025

Tuesday, 11 November 2025. Today KDE releases a bugfix update to KDE Plasma 6, versioned 6.4.6.

Plasma 6.4 was released in June 2025 with many feature refinements and new modules to complete the desktop experience.

This release adds two months’ worth of new translations and fixes from KDE’s contributors. The bugfixes are typically small but important and include:

View full changelog

Plasma's first-run experience (FRE) / out-of-box experience (OOBE) has seen significant improvements in security recently.

Although first off I think I maybe hadn't mentioned yet how the project was renamed.

Previously known as "KDE Initial System Setup" (KISS), the project has been rebranded to "Plasma Setup" and now sits nicely alongside other system projects like "Plasma Desktop", "Plasma Mobile", "Plasma Keyboard", etc.

Enhancing Security in Plasma Setup

We received a notice of potential security issues from the folks at openSUSE, which have now been addressed.

This sort of thing is a great example of why it can be so difficult to provide ETAs and timelines for software development: unexpected issues often arise that need to be addressed before other planned work can proceed, and these issues can take time to investigate and fix properly; in this case, the security issues required careful review and testing to ensure that they were resolved without introducing new problems, and delayed our initial release by weeks.

I had very little experience with this sort of security-minded defensive programming before this, so it was a great learning experience for me personally as well. It required a whole lot of reading and research to understand the best practices and principles involved, and I definitely have a better feeling for how to think about defensive programming in the future.

It amazes me the kinds of things people will try to do to break software, and many of them (like path traversal attacks) are things I would never have thought of on my own!

I'd like to thank the openSUSE security team for responsibly disclosing these issues, and for their patience while we worked through them. Their help has made Plasma Setup more secure for all users, and I appreciate their dedication to improving the security of open source software.

A massive thank you specifically to Matthias Gerstner for the multiple rounds of detailed and thoughtful reviews and suggestions on the MR to address these issues. Your help was invaluable, and it was a pleasure working with you! 🙇‍♀️ 💙 🦎

Looking Ahead

Plasma Setup is nearly ready for initial testing and adoption. There are a couple more items to wrap up, but (barring further unforeseen delays!) we are very close to being able to release it for early adopters to try out! 🎉

Monday, 10 November 2025

Calamares is a Linux system installer. During installation, it asks the user where they are on the globe, in order to set the timezone correctly on the installed system. Calamares displays the nearest timezone after you click on a map. I would like to leverage that a little for social good (or at least a tiny bit of awareness).

The last time I wrote about the Calamares timezone selector, I also said it is terrible.

One thing I do like about the timezone selector is that it supports translating the name of a timezone. That way, even though the string in the timezone database is Europe/Kiev – a relic of the time-period that the timezone database was conceived – it displays the correct Europe/Kyiv. That’s when you run Calamares in English, anyway.

I added timezone translations to Calamares because a friend asked for it, and then did a couple of Dutch translations. That is because Dutch has exonyms (names in Dutch for other places) and calls Berlin, Berlijn and Paris, Parijs. There is a timezone Europa/Berlijn. The official Dutch name – last I checked – of Kyiv is Kiev, though.

The current translations addresses only a tiny fraction of the timezones, most of them ones that I have personally paid attention to, and I’d like to change that.

So here is the social project: I want, for every timezone-location (in FreeBSD, those are listed in /usr/share/zoneinfo/zone.tab) a local name. Please send them to me by email or as a change request in Calamares on Codeberg, the relevant file is tz_local.ts.

I imagine a lot of the ones in Europe will be unchanged, although I feel like Europe/Chisinau is missing accents, Europe/Athens should be Αθήνα. Those are relevant, but I’m more interested in imported names. The exonyms (what others call a place, like “Berlijn”) could be endonyms (what is the local name, like “Berlin”).

For everywhere where the name of the timezone was imported, I want to know what it would be locally, written locally. From Africa/Harare (this one might already be accurate, but for comparison purposes, pretend it was Africa/Salisbury, like in an atlas from 1922) to Australia/Broken_Hill to America/Edmonton (which could plausibly be ᐊᒥᐢᑿᒌᐚᐢᑲᐦᐃᑲᐣ if we pick the Cree name for the area) to America/Santiago to Asia/Dubai (دِبَيّ in Emirati Arabic) they all deserve a local name and I’d like to make that possible in Calamares.

Some time back I posted a bran muffin recipe. That recipe uses eggs, and I received a comment by email, perhaps from Gregor S. They pointed out some things about the egg-milk-industrial complex and how I should avoid using eggs. That annoyed me a little, although it was written respectfully and factually. Anyway, I’ve given it some thought and experimentation, and here’s a vegan recipe for mnietballs (vaguely Dutch for “not meatballs”).

I wrote a mnietballs recipe in 2023, which uses eggs as well – so that recipe is ovo-lacto-vegetarian, while this one is vegan. Vegan, but now the soy-industrial complex is involved.

  • 1 tea cup (I have a specific glass one in mind, probably 220ml) of dried soy chunks. Soak them in 1 cup of warm water for 10 minutes, then squeeze out all the water.
  • 1 tablespoon of chia seeds and 1 tablespoon of whole linseed, with 2 tablespoons of water. Let stand for 10 minutes until it all gloms together.
  • 1 tea cup of rolled oats.
  • whole wheat flour as needed.
  • 2 tablespoons of ketjap manis.
  • spices to suit (I like the tandoori masala I get at Toko Weuro).
  • optional, finely chopped onion.
  • optional, dried chopped parsley.

Mix it all together and knead it to a lumpy paste. Add wheat flour until it is fairly stiff and you can shape it into balls about 3cm in diameter. Let stand for a while for it to glom together better. Optionally roll each ball in some breadcrumbs. Fry in plenty of oil.

Quality of live improvements in Kate, basic HDR support in Krita on Wayland and touch improvements in Photos

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

As part of our yearly fundraiser, you can adopt one of KDE's apps and we can share with the whole world how awesome you are and how much you're doing to support us.

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

Multimedia/Graphics Applications

Photos Image Gallery

Anders Lund added support for navigating between images when zoomed in using a touchscreen or stylus in Photos (25.12.0 - link). He also made the viewer auto-zoom when releasing a pinch when appropriate (e.g., the image is now smaller than the view) (25.12.0 - link).

Anders also enabled the slideshow feature on mobile (25.12.0 - link).

Travel Applications

KDE Itinerary Digital travel assistant

Jonah Brüchert implemented auto-resolving from railway station names to coordinates based on Nominatim (the geocoding engine powering OSM) (25.12.0 - link).

Volker Krause added support to the extractor for citycity.se, Comboios de Portugal, and Wiener Linien barcodes, and improved a bunch of existing extractors (25.12.0 - link 1, link 2, ...).

PIM Applications

Akonadi Background service for KDE PIM apps

Christoph Erhardt fixed a segmentation fault when migrating an existing Akonadi database to SQLite (25.12.0 - link).

Nicolas Fella dropped the barely used feature to show an "About Data" dialog in Akonadi resources (25.12.0 - link).

Office Applications

Okular View and annotate documents

Jack Barmes added new bookmark actions to add and remove books in various context menus in Okular (26.04.0 - link).

Utilities Applications

Kate Advanced text editor

Waqar Ahmed improved Git support in Kate. The list of branches now shows the latest activity (25.12.0 - link).

Additionally, he improved the Quick Open dialog, and it is now possible to jump to a specific line and column by entering something like 10:5 (25.12.0 - link).

Dennis Lübke added a plugin to transparently edit encrypted text files with GPG in Kate (25.12.0 - link).

Social Applications

NeoChat Chat on Matrix

Joshua Goins added an informational Keyboard Shortcuts settings page to NeoChat (25.12.0 - link).

Joshua also improved the design of the room notification settings and made it more consistent in terms of wording with the context menu used to configure notifications (25.12.0 - link).

Among a multitude of other small fixes, he improved the user experience related to the basic Jitsi meeting button to show whether a meeting is in progress, and to only enable it when the user has permission to start a meeting (25.12.0 - link).

Creative Applications

Krita Digital Painting, Creative Freedom

Carsten Hartenfels added a way to trigger the "toggle eraser preset" action via touch gestures in Krita (Krita 5.2.x - link).

Wolthera van Hövell ported the text tool dock to QML (link).

Dmitry Kazakov implemented basic HDR support on Wayland (link).

Games

Chessament Chess tournament manager

Manuel Alcaraz replaced the hamburger menu with a menu bar (link).

Third-Party Applications

Easy Effects - Audio Effects for PipeWire Applications

Easy Effects 8 was released and now uses Kirigami! Read the full announcement for details.

…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.

A mobile-centric look at the Plasma 6.5 release

About three weeks ago we released Plasma 6.5 and it's high time we talk about the plethora of improvements and bug fixes that arrived in Plasma Mobile and related projects. Let's not delay any further and get right into the juicy details!

Waydroid Integration

While our end goal is obviously KDE for world domination and a resulting breadth of native apps, we're not quite there yet and until then we wanted to make it easier to use and integrate apps running through Waydroid into your Plasma Mobile system. To that end, Florian made it so you can now set up and manage your Waydroid install right from the comfort of your settings app and turn on/off the Waydroid container from the quicksettings dropdown.

Screenshot of <nil>

(Florian Richer, Link 1, 2, 3, 4, 5, 6, 7)

Lockscreen

The lockscreen is one of the most often used and seen parts of a phone's UI and it has two jobs: Securely lock your device, but ultimately, get out of your way. So far we succeeded at the first of these jobs, but in 6.5 Devin made sure we do in the second as well. Plasma Mobile's lockscreen will now load much faster, due to reusing the existing status bar and action drawer process from the shell, instead of loading them separately each time the lockscreen is loaded. This also has the positive side effect of notifications now properly being synced between the lockscreen and unlocked shell. (Devin Lin, Link)

Screenshot of <nil>

Florian also worked on some other nifty additions:

  • Add double tap to lock
  • Polish UI feedback for lockscreen actions

(Florian Richer, Link 1, 2, 3)

Folio Homescreen

Micah improved and expanded the background blur effect for both the Folio and Halcyon homescreens, resulting in more consistent use of blur.

Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>

(Micah Stanley, Link)

Devin put in some work to make Folio more keyboard navigation friendly, as well as improving it in various places under the hood: from cleanup to performance improvements there's a good mix of changes here

(Devin Lin, Link 1, 2, 3, 4, 5, 6)

Meanwhile, Florian added double tap to lock to Folio, as well as a number of other improvements.

(Florian Richer, Link 1, 2, 3, 4, 5)

Halcyon Homescreen

Devin unified some code paths between Halcyon and Folio, and added a small settings page to Halcyon. Like with Folio, he also ported Halcyon to use a new applet registration method which allows it to be precompiled by qmlcachegen

(Devin Lin, Link 1, 2, 3)

Settings

There's a good bunch of stuff here as well:

  • Separated out the navigation settings from the Shell settings page to its own page and added a small tutorial for the gesture navigation mode there. (Luis Büchi, Link)
Screenshot of <nil>
  • Added a setting to change the maximum number of quicksetting columns, really useful for tablets! (Sebastian Kügler, Link)
Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>

Devin made sure mobile settings pages only show up on form factors that they make sense on so we stop showing the mobile shell settings on desktop. (Devin Lin, Link 1, 2)

Taskswitcher

Luis has worked on the taskswitcher internals to make it more compatible with qmlcachegen. This lays the groundwork for improving its performance while also making the code more maintainable for the future.

(Luis Büchi, Link 1, 2, 3, 4)

Haptics

Devin has done the first step on porting over our haptics plugin to use feedbackd as backend. In the future, this will allow us more fine-grained control over haptic feedback, as well as better cross-desktop compatibility

(Devin, Link)

Action Drawer

Besides Devin's work on making the action drawer overlay over the lockscreen mentioned above, there's also been some more work on improving performance of it and its contained quick actions.

For all of you running multi-monitor setups with Plasma Mobile and/or regularly docking and undocking, thanks to Sebastian there's now a quick settings to configure multi monitor layouts when several monitors are connected.

(Devin Lin, Link)

(Florian Richer, Link)

(Sebastian Kügler, Link)

Envmanager

The envmanager, responsible for keeping track of the settings environment of the shell has gotten more robust while improving how Plasma Mobile and Plasma Desktop coexist: there is now less cross-talk between potentially conflicting settings between the two shells making a hybrid setup (like on a 2-in-1 laptop/tablet combo) easier to use. In light of the work on Plasma keyboard, envmanager now also properly supports changing of the selected virtual keyboard for the mobile session.

(Devin Lin, Link 1, 2, 3, 4, 5, 6)

UI Polish

We've also spent some time improving the general look and feel of the UI. This includes updating some elements to use more appropriate theme colors, using system-wide animation durations and better layouting to reduce overlapping text/UI controls.

Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>
Screenshot of <nil>

(Devin Lin, Link 1, 2, 3, 4)

(Micah Stanley, Link 1, 2, 3)

(Florian Richer, Link 1, 2)

(Luis Büchi, Link)

Plasma Keyboard

While not technically part of the 6.5 release cycle, we've recently also released the first unstable version (0.1.0) of our new virtual keyboard. While it's not ready for prime-time just yet, progress is quick and it's already something enthusiasts may want to tinker with - so tinker away and do let us know of any feedback you might have!

...and there’s much more. To see the full list of changes, check out the complete changelog for Plasma 6.5.

Contributing

Do you want to help with the development of Plasma Mobile? We are a group of volunteers doing this in our free time, and are desperately looking for new contributors, beginners are always welcome!

See our community page to get in touch!

We are always happy to get more helping hands, no matter what you want to do, but we especially need support in these areas:

  • QA Testing
  • Telephony (Calling and SMS)
  • Camera
  • App development (Photo Viewer, Browser, Audio Recorder, Games, etc.)
  • Shell work
  • You can also check out our Plasma Mobile issue tracker for more details.

Even if you do not have a compatible phone or tablet, you can also help us out with application development, as you can easily do that from a desktop!

Take Plasma Mobile for a spin! Check out the device support for each distribution and find the version which will work for your device.

If you have any further questions, view our documentation, and consider joining our Matrix channel. Let us know what you would like to work on or where you need support to get going!

Our issue tracker documentation also gives information on how and where to report issues.

Sunday, 9 November 2025

(Please note this is still a draft of my final blog)

And just like that, my Google Summer of Code journey with OpenPrinting is drawing to a close. This post serves as a final summary of my project: rebuilding pycups from the ground up for libcups3. While I still have a few things I plan to update, this covers the core of my work over the summer.

It’s been an incredible experience, and I’m excited to share the architectural decisions, challenges, and “magic” tricks that went into creating the new pycups.

Saturday, 8 November 2025

Welcome to a new issue of This Week in Plasma!

This week something that I know a lot of people have been wanting for a long time was implemented: the ability to limit virtual desktops to only the primary screen! Thanks very much to Kristen McWilliam for this long-awaited feature, which arrives in Plasma 6.6.

But wait, there’s more…

Other Notable New Features

Plasma 6.6.0

The Networks widget now has a little button you can click on to connect to a network using a QR code, via the Qrca helper app. (Kai Uwe Broulik, link)

Button to scan a QR code to connect to a network

The DrKonqi crash reporting system now notices crashes for non-KDE apps too, and prompts you to report them to their developer or your distro. (Harald Sitter, link)

Notable UI Improvements

Plasma 6.5.3

Added support for the MHC2 tag in ICC profiles, which is a non-standard tag used in Windows, but without support for it, profiles used on Windows won't produce identical color effects when used in KWin. (Xaver Hugl, link)

Plasma 6.6.0

Colors picked using the color picker now reflect the raw RGB values of the color, rather than a tinted version that might be affected by the Night Light effect or the use of an ICC profile. (Błażej Szczygieł, link)

Breeze-themed GTK apps now have a bit of extra padding on either side of their toolbars to prevent the leading and trailing items from touching the edges of the window, and some ugly black lines have turned into nicer-looking appropriately-colored lines. (Kevin Duan, link 1 and link 2)

System Settings’ Remote Desktop page now displays any errors inline, so you don’t have to go digging around in the journal log to find them and wonder why it’s not working. (Akseli Lahtinen, link)

System Settings’ Remote Desktop page showing an error message

Hot-corner effects now trigger for all screens, rather than just the corner of one screen. This can be disabled if you don't like it. (Yiqun Lian, link)

Notable Bug Fixes

Plasma 6.5.2

Fixed a regression that broke adding a new widget by clicking on it, as opposed to dragging it somewhere. (Nicolas Fella, link)

The text at the bottom of the time zone picker map is now translatable, and should start being translated into languages other than English soon. (Nicolas Fella, link)

The selection checkbox for wallpaper slideshow grid items no longer overlaps with the “I have light and dark versions available” icon in the corner. (Adam S. link)

Fixed an issue that made some toolbar items in the Font Viewer app invisible. (Kai Uwe Broulik, link)

Fixed an issue that could make the text displayed by the “Show Compositing” and “FPS” effects appear off-screen with certain multi-monitor setups. (Pavel Duong, link)

Plasma 6.5.3

Fixed a case where Plasma could crash when you removed widgets or panels. (Marco Martin, link)

Fixed a case where Discover could crash while installing a Flatpak app. (Aleix Pol Gonzalez, link)

Fixed a weird regression that made it impossible to put icons on desktops of screens that didn’t have any panels on them. (Marco Martin, link)

Fixed a regression that made inactive windows get activated if you happened to hover over anything in them that made a tooltip appear. (Xaver Hugl, link)

Fixed an issue that could unexpectedly give screens in HDR mode a greenish tint when using the Night Light feature. (Xaver Hugl, link)

Closing the lid on a laptop whose screen had already been disabled no longer sometimes shifts the layout of external screens. (Méven Car, link)

Fixed a visual glitch in “Active Window” mode screenshots that made their window borders look a bit weird when using a fractional scale factor. (Xaver Hugl, link)

Plasma 6.6.0

Fixed a few more cases where desktop icons could shift around, this time in response to changes in screen resolution and arrangement. (Błażej Szczygieł, link)

Added another page to the HDR calibration wizard to determine the maximum fullscreen average luminance. (Xaver Hugl, link)

Clarified an unclear label in the OpenConnect VPN authentication dialog. (Philipp Kiemle, link)

Frameworks 6.20

Fixed a case where the DrKonqi crash reporter could itself crash when you clicked on the “Details” button of a notification about something else crashing. (David Edmundson, link)

Fixed a case where trashing a file on an NFS share would move it to the local trash (which might be very slow, depending on the network) rather than the remote trash. (Oliver Schramm, link)

Fixed a regression that could make Discover prompt you to send feedback about it every time you launched it. (Nicolas Fella, link)

Electron 40

Fixed a bug that resulted in all system tray icons of Electron-based apps having the same ID, which meant that changing the icon visibility setting for one of them changed it for all of them. (Damglador, link)

Other bug information of note:

Notable in Performance & Technical

Plasma 6.5.2

Fixed a source of elevated CPU usage in the SDDM login screen. (Kai Uwe Broulik, link)

Plasma 6.5.3

Made KWin more robust against a graphics issue that could make the screen go black after the system displays the Plymouth boot splash screen, but before it gets to the SDDM login screen. (Xaver Hugl, link)

Fixed a source of elevated CPU usage in Plasma’s wallpaper dialog and page in System Settings. (Vlad Zahorodnii, link)

Improved visual smoothness while switching modes on multi-monitor setups with VRR-capable screens. (Hongfei Shang, Link)

Plasma 6.6.0

Reduced Plasma’s memory usage by over 100 MiB by being cleverer about unloading wallpaper images that aren't needed anymore. This had the side effect of making tiled wallpapers impossible with the new system for technical reasons, so tiled wallpapers have been re-introduced in the form of a new “Tiled” wallpaper plugin, so you can still rock out to your favorite KDE 1 nose wallpaper. (Vlad Zahorodnii, link 1 and link 2)

Improved the robustness of drag-and-drop operations between XWayland-using windows and native Wayland windows. (Vlad Zahorodnii, link)

Toggling Bluetooth can no longer briefly freeze the UI of whatever you used to toggle it. (Kai Uwe Broulik, link)

The current activity is now stored in the state file, not the config file. (Nicolas Fella, link)

How You Can Help

Donate to KDE’s 2025 fundraiser! It really makes a big difference. Believe it or not, we're up to 91% of our €75k stretch goal! This is tremendous, and I can't thank everyone enough for their generosity. Thank you everyone for helping to keep the lights on!

If money is tight, you can help KDE by directly getting involved. Donating time is actually more impactful than donating money. 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.

To get a new Plasma feature or a bugfix mentioned here, feel free to push a commit to the relevant merge request on invent.kde.org.

Friday, 7 November 2025

Today I’m putting on a different hat and announcing that Techpaladin Software is hiring! Right now we’re looking for a software developer who loves KDE Plasma and wants to see it thrive and shine, with the passion and self-motivation to make that happen.


In this role, you would be working on topics related to KDE Plasma that Techpaladin’s clients want improved, such as general polish and QA, implementing new features, fixing specific bugs, working on private hardware-specific software that supports Plasma, backporting fixes, release management, and so on. It’s always KDE-related!

This is a fully remote contract position open to anyone in the world not living in a country sanctioned by the U.S. government (sorry, it’s just gotta be that way for legal reasons). The start date is flexible and can be whenever you’re ready.

We have no lists of explicit qualifications, minimum years of experience, or formal education requirements. But working for Techpaladin might be a good fit the more this sounds like you:

  • You’re a KDE contributor. Your profile page on https://invent.kde.org is more blue or purple than it is white, or at least it has been in the past. You’ve used and developed KDE Plasma, or related technologies (Qt, KDE apps and frameworks, C++, QML, etc).
  • You’re a good communicator. Your “online voice” is gentle, not harsh. You’ve generally got a positive attitude. You keep on top of your email. You can handle working remotely in written and spoken English with a geographically distributed team split across 6 time zones.
  • You’re a team player. You review other people’s merge requests and triage bug reports. You’re willing to work on what the clients want done. You accept decisions made in public with your input that nonetheless didn’t go your way.

Does this sound a bit like you? We’d love to hear from you at jobs@techpaladinsoftware.com (please don’t send anything clearly written by AI; it will be discarded immediately) with your resumé, KDE Invent profile, links to KDE-related projects you’re proud of, or anything else that seems relevant.

Looking forward to hearing from folks!

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


The Authoritarian Stack

Tags: tech, politics

The trend has been clear for a while. This is a well crafted job of clearly mapping it out. Time for Europe to wake up maybe?

https://www.authoritarian-stack.info/direction-generale-de-la-securite-interieure-(france)


Why I Choose Email Over Messaging

Tags: tech, email, messaging

Yes, same here I way prefer email (even though messaging can have its uses of course).

https://www.spinellis.gr/blog/20250926/


I use Typst now

Tags: tech, latex, typst

I admit I’m tempted to look at Typst more nowadays. It looks like it can simplify the production of content quite a bit compared to some of the good oldies we still carry around (like LaTeX). That said, Typst is still young and not that stable yet.

https://www.christopherbiscardi.com/i-use-typst-now


A generator, duck typing, and a branchless conditional walk into a bar

Tags: tech, python, programming

Neat stories explaining those three important features of Python.

https://mathspp.com/blog/a-generator-duck-typing-and-a-branchless-conditional-walk-into-a-bar


Try Out JEP 401 Value Classes and Objects

Tags: tech, java, type-systems, performance

A long needed improvement to Java on its way to the JDK. Looking forward to this one stabilizing.

https://inside.java/2025/10/27/try-jep-401-value-classes/


Patterns for Defensive Programming in Rust

Tags: tech, rust, programming, quality, smells, pattern, type-systems

A good list of code smells to pay attention to in Rust. Also provides patterns to avoid such smells.

https://corrode.dev/blog/defensive-programming/


The state of SIMD in Rust in 2025

Tags: tech, rust, simd, performance

This is unfortunately still a bit complicated for my taste. Ideally std::simd should be stabilized, but since it’s not the case yet options have to be evaluated.

https://shnatsel.medium.com/the-state-of-simd-in-rust-in-2025-32c263e5f53d


Text rendering and effects using GPU-computed distances

Tags: tech, graphics, shader, text, fonts, gpu

We take text rendering for granted. That said, it’s easier said than done, especially on the GPU.

https://blog.pkh.me/p/47-text-rendering-and-effects-using-gpu-computed-distances.html


</> htmx ~ The fetch()ening

Tags: tech, web, frontend, htmx, api

A larger transition coming to HTMX. Interesting choices and good lessons on how to manage the API transition.

https://htmx.org/essays/the-fetchening/


Why Nextcloud feels slow to use

Tags: tech, nextcloud, web, frontend

I use it mostly from the DAV integrations, so I don’t notice this much in practice. That said, if and when I have to use the web GUI, it indeed always feel sluggish to me. There might be a reason behind it indeed, those bundles seem way off.

https://ounapuu.ee/posts/2025/11/03/nextcloud-slow/


Your URL Is Your State

Tags: tech, web, frontend, browser, state

There’s indeed value at using the URL to store some of the frontend state. This is too often forgotten.

https://alfy.blog/2025/10/31/your-url-is-your-state.html


Just use a button

Tags: tech, web, frontend, accessibility

Just use the semantically appropriate HTML element. It makes it easier for browser to advertise the GUI properly.

https://gomakethings.com/just-use-a-button/


Game design is simple, actually

Tags: tech, game, design

Deceptive title! It’s far from simple and the article confirms it. It’s fascinating to see all the dimensions you have to deal with to design a game though.

https://www.raphkoster.com/2025/11/03/game-design-is-simple-actually/


The Learning Loop and LLMs

Tags: tech, ai, machine-learning, copilot, learning, maintenance

Indeed, if we weaken the learning loop by using coding assistants then we might feel we go faster while we’re building up the maintenance cliff. We need to have an understanding of the system.

https://martinfowler.com/articles/llm-learning-loop.html


An Introduction to Domain Driven Design

Tags: tech, ddd

An old introduction to DDD. Not necessarily the best reference on the topic (which is probably still the blue book). Probably a good resource to skim over the important points and get started though.

https://www.methodsandtools.com/archive/archive.php?id=97


Extreme Programming Revived?

Tags: tech, agile, xp, coaching, teaching

Unfortunately and as far as I can tell we’re still not there. I’m trying to do my part in how I push for those topics when working with teams and organizations. So many things to help with on the practice level and making developer teams function properly.

https://ronjeffries.com/articles/2015-03-21-xp-revived/


Too Clean?

Tags: tech, craftsmanship, quality

A good reminder that you don’t want your code base clean to the point of being sterile. You have to fight off the mess yes, but some of it can stay if it provides affordances.

https://blog.cleancoder.com/uncle-bob/2018/08/13/TooClean.html


Guilds: Get Stuff Done Together

Tags: tech, agile, team, organization

We can cast doubt on the “Spotify Model” (not really a model anyway…) all we want. Still, I think the whole “guild” idea in there was spot on. This article gives a feel of how it can be setup and the benefits it can bring.

https://medium.com/hootsuite-engineering/guilds-get-stuff-done-together-3d0826209390


Failure to communicate

Tags: tech, remote-working, team, organization, management, decision-making, note-taking

Very interesting maturity model about proper communication in a remote work setup. I think it definitely makes sense and doesn’t feel too difficult to evaluate.

https://another.rodeo/4-levels-comms/


Why aren’t smart people happier?

Tags: tech, ai, machine-learning, intelligence, learning, life, problem-solving, philosophy, psychology, science

The title is a bit misleading in a way (and I almost didn’t click through for a start). That said, it is an interesting essay dealing with the topics of intelligence, problem solving etc. I’m not sure I agree with everything in it, but that’s still good food for thought.

https://www.theseedsofscience.pub/p/why-arent-smart-people-happier


Teller Reveals His Secrets

Tags: magic, culture, art

Nice little article to get an idea of the culture and art behind magic tricks.

https://www.smithsonianmag.com/arts-culture/teller-reveals-his-secrets-100744801/



Bye for now!