Skip to content

Friday, 13 December 2024

This release fixes some bugs. Have a look at the changelog for more details.

Changelog

Bugfixes:

  • Fix displaying files of each message in appropriate message bubble (melvo)
  • Fix sending fallback messages for clients not supporting XEP-0447: Stateless file sharing (melvo)
  • Fix margins within message bubbles (melvo)
  • Fix hiding hidden message part (melvo)
  • Fix displaying marker for new messages (melvo)

Download

Or install Kaidan for your distribution:

Packaging status

Let’s go for my web review for the week 2024-50.


Census III of Free and Open Source Software

Tags: tech, foss, supply-chain

Interesting report, some findings are kind of unexpected. It’s interesting to see how much npm and maven dominate the supply chain. Clearly there’s a need for a global scheme to identify dependencies, hopefully we’ll get there.

https://www.linuxfoundation.org/research/census-iii


Open Source Archetypes: A Framework For Purposeful Open Source

Tags: tech, foss, business, strategy

An important white paper which probably went unnoticed. It gives a nice overview of the strategies one can build around Open Source components.

https://blog.mozilla.org/wp-content/uploads/2018/05/MZOTS_OS_Archetypes_report_ext_scr.pdf


Fool Me Twice We Don’t Get Fooled Again

Tags: tech, social-media, fediverse

Excellent post from Cory Doctorow about why he is only on Mastodon. Not being federated should indeed just be a deal breaker by now. Empty promises should be avoided.

https://pluralistic.net/2023/08/06/fool-me-twice-we-dont-get-fooled-again/


Firefox is the superior browser

Tags: tech, web, browser, firefox

Obviously I agree with this. It’s time people stop jumping on chromium based browsers.

https://asindu.xyz/posts/switching-to-firefox/


TRELLIS: Structured 3D Latents for Scalable and Versatile 3D Generation

Tags: tech, 3d, ai, machine-learning, generator

Looks like a nice model to produce 3D assets. Should speed up a bit the work of artists for producing background elements, I guess there will be manual adjustments needed in the end still.

https://trellis3d.github.io/


Who and What comprise AI Skepticism? - by Benjamin Riley

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

Excellent post showing all the nuances of AI skepticism. Can you find in which category you are? I definitely match several of them.

https://buildcognitiveresonance.substack.com/p/who-and-what-comprises-ai-skepticism


Reverse engineering of the Pentium FDIV bug

Tags: tech, cpu, hardware

It’s interesting to see such a reverse engineering of this infamous bug straight from the gates layout.

https://oldbytes.space/@kenshirriff/113606898880486330


How to Think About Time

Tags: tech, time

A good summary on the various concepts needed to reason about time.

https://errorprone.info/docs/time


Galloping Search - blag

Tags: tech, algorithm

Nice principle for a search in a sorted list when you don’t know the upper bound.

https://avi.im/blag/2024/galloping-search/


I’m daily driving Jujutsu, and maybe you should too

Tags: tech, version-control, git

Jujutsu is indeed alluring… but its long term support is questionable, that’s what keeps me away from it for now.

https://drewdevault.com/2024/12/10/2024-12-10-Daily-driving-jujutsu.html


mise-en-place

Tags: tech, tools, developer-experience

A single tool to manage your environment and dev tools across projects? Seems a bit young and needs a proper community still. I’m surely tempted to give it a spin though.

https://mise.jdx.dev/


Raw loops vs. STL algorithms

Tags: tech, c++, algorithm

An old one now, but since I keep giving this advice it seems relevant still. If you’re using raw loops at least that no again, there is likely a good alternative in the STL.

https://www.meetingcpp.com/blog/items/raw-loops-vs-stl-algorithms.html


Generic programming to fight the rigidity in the C++ projects

Tags: tech, architecture, type-systems, generics, c++

A good reminder that genericity can help fight against the rigidity one can accumulate using purely object oriented couplings… but it comes at a price in terms of complexity.

https://codergears.com/Blog/?p=945


Nobody Gets Fired for Picking JSON, but Maybe They Should? · mcyoung

Tags: tech, json, safety, type-systems

JSON is full of pitfalls. Here is a good summary. Still it is very widespread.

https://mcyoung.xyz/2024/12/10/json-sucks/


JSON5 – JSON for Humans

Tags: tech, json

Interesting JSON superset which makes it more usable for humans. I wonder if it’ll see more parsers appear.

https://json5.org/


Improving my desktop’s responsiveness with the cgroup V2 ‘cpu.idle’ setting

Tags: tech, systemd, cgroups

Nice little systemd trick, definitely an alias to add to your setup.

https://utcc.utoronto.ca/~cks/space/blog/linux/CgroupV2CpuIdleForResponsiveness


“Rules” that terminal programs follow

Tags: tech, shell, tools, unix

Good list of the undocumented rules terminal programs tend to follow. It’s nice to have this kind of consistency even though a bit by accident.

https://jvns.ca/blog/2024/11/26/terminal-rules/


htmy

Tags: tech, web, backend, frontend, python, htmx

The idea is interesting even though it probably needs to mature. It’s interesting to see this kind of libraries popup though, there’s clearly some kind of “backend - frontend split” fatigue going on.

https://volfpeter.github.io/htmy/


The errors of TeX (1989)

Tags: tech, latex, history, estimates, craftsmanship

A very precious document. Shows great organization in the work of Knuth of course but the self-reflection has profound lessons pertaining to estimates, type of errors we make, etc.

https://yurichev.com/mirrors/knuth1989.pdf


An Undefeated Pull Request Template

Tags: tech, codereview

This is indeed a nice template for submitting changes for review. It’s very thorough and helps reviewers.

https://ashleemboyer.com/blog/pull-request-template/


On the criteria to be used in decomposing systems into modules

Tags: tech, design, architecture, research

We’re still struggling about how to modularize our code. Sometimes we should go back to the basics, this paper by Parnas from 1972 basically gave us the code insights needs to modularize programs properly.

https://dl.acm.org/doi/pdf/10.1145361598.361623


TDD as the crack cocaine of software

Tags: tech, tdd, flow

Indeed, it is often overlooked that TDD can really help finding a state of flow. Unlike other addictive activities presented in this article it requires a non negligible initial effort though, that’s why I wouldn’t describe it as an addiction though.

https://jefclaes.be/2014/12/tdd-as-crack-cocaine-of-software.html


Demo Driven Development

Tags: tech, agile, product-management

A good reminder of what agile is about from the product management perspective. If you can regularly demo your work you ensure a feeling of progress.

https://oanasagile.blogspot.com/2013/12/demo-driven-development.html


The 6 Mistakes You’re Going to Make as a New Manager

Tags: tech, leadership, management

Good points, this is indeed often where we are struggling when we move to a leadership role. This changes the nature of the work at least in part and we need to adjust to it.

https://terriblesoftware.org/2024/12/04/the-6-mistakes-youre-going-to-make-as-a-new-manager/



Bye for now!

Monday, 9 December 2024

Screenshot of Kaidan in widescreen Screenshot of Kaidan

We finally made it: Kaidan’s next release with so many features that we cannot summarize them in one sentence!

Most of the work has been funded by NLnet via NGI Assure and NGI Zero Entrust with public money provided by the European Commission. If you want Kaidan’s progress to continue and keep more free software projects alive, please share and sign the open letter for further funding!

Now to the bunch of Kaidan’s new and great features:

Group chats with invitations, user listing, participant mentioning and private/public group chat filtering are supported now. In order to use it, you need an XMPP provider that supports MIX-Core, MIX-PAM and MIX-Admin. Unfortunately, there are not many providers supporting it yet since it is a comparatively recent group chat variant.

You do not need to quote messages just to reply to them any longer. The messages are referenced internally without bloating the conversation. After clicking on a referenced message, Kaidan even jumps to it. In addition, Kaidan allows you to remove unwanted messages locally.

We added an overview of all shared media to quickly find the image you received some time ago. You can define when to download media automatically. Furthermore, connecting to the server is now really fast - no need to wait multiple seconds just to see your latest offline messages anymore.

If you enter a chat address (e.g., to add a contact), its server part is now autocompleted if available. We added filter options for contacts and group chats. After adding labels to them, you can even search by those labels. And if you do not want to get any messages from someone, you can block them.

In case you need to move to a new account (e.g., if you are dissatisfied with your current XMPP provider), Kaidan helps you with that. For example, it transfers your contacts and informs them about the move. The redesigned onboarding user interface including many fixes assists with choosing a new provider and creating an account on it.

We updated Kaidan to the API v2 of XMPP Providers to stay up-to-date with the project’s data. If you are an operator of a public XMPP provider and would like Kaidan’s users to easily create accounts on it, simply ask to add it to the provider list.

The complete list of changes can be found in the changelog section. There is also a technical overview of all currently supported features.

Please note that we currently focus on new features instead of supporting more systems. Once Kaidan has a reasonable feature set, we will work on that topic again. Even if Kaidan is making good progress, keep in mind that it is not yet a stable app.

Changelog

Features:

  • Add server address completion (fazevedo)
  • Allow to edit account’s profile (jbb)
  • Store and display delivery states of message reactions (melvo)
  • Send pending message reactions after going online (melvo)
  • Enable user to resend a message reaction if it previously failed (melvo)
  • Open contact addition as page (mobile) or dialog (desktop) (melvo)
  • Add option to open chat if contact exists on adding contact (melvo)
  • Use consistent page with search bar for searching its content (melvo)
  • Add local message removal (taibsu)
  • Allow reacting to own messages (melvo)
  • Add login option to chat (melvo)
  • Display day of the week or “yesterday” for last messages (taibsu, melvo)
  • Add media overview (fazevedo, melvo)
  • Add contact list filtering by account and labels (i.e., roster groups) (incl. addition/removal) (melvo, tech-bash)
  • Add message date sections to chat (melvo)
  • Add support for automatic media downloads (fazevedo)
  • Add filtering contacts by availability (melvo)
  • Add item to contact list on first received direct message (melvo)
  • Add support for blocking chat addresses (lnj)
  • Improve notes chat (chat with oneself) usage (melvo)
  • Place avatar above chat address and name in account/contact details on narrow window (melvo)
  • Reload camera device for QR code scanning as soon as it is plugged in / enabled (melvo)
  • Provide slider for QR code scanning to adjust camera zoom (melvo)
  • Add contact to contact list on receiving presence subscription request (melvo)
  • Add encryption key authentication via entering key IDs (melvo)
  • Improve connecting to server and authentication (XEP-0388: Extensible SASL Profile (SASL 2), XEP-0386: Bind 2, XEP-0484: Fast Authentication Streamlining Tokens, XEP-0368: SRV records for XMPP over TLS) (lnj)
  • Support media sharing with more clients even for sharing multiple files at once (XEP-0447: Stateless file sharing v0.3) (lnj)
  • Display and check media upload size limit (fazevedo)
  • Redesign message input field to use rounded corners and resized/symbolic buttons (melvo)
  • Add support for moving account data to another account, informing contacts and restoring settings for moved contacts (XEP-0283: Moved) (fazevedo)
  • Add group chat support with invitations, user listing, participant mentioning and private/public group chat filtering (XEP-0369: Mediated Information eXchange (MIX), XEP-0405: Mediated Information eXchange (MIX): Participant Server Requirements, XEP-0406: Mediated Information eXchange (MIX): MIX Administration, XEP-0407: Mediated Information eXchange (MIX): Miscellaneous Capabilities) (melvo)
  • Add button to cancel message correction (melvo)
  • Display marker for new messages (melvo)
  • Add enhanced account-wide and per contact notification settings depending on group chat mentions and presence (melvo)
  • Focus input fields appropriately (melvo)
  • Add support for replying to messages (XEP-0461: Message Replies) (melvo)
  • Indicate that Kaidan is busy during account deletion and group chat actions (melvo)
  • Hide account deletion button if In-Band Registration is not supported (melvo)
  • Embed login area in page for QR code scanning and page for web registration instead of opening start page (melvo)
  • Redesign onboarding user interface including new page for choosing provider to create account on (melvo)
  • Handle various corner cases that can occur during account creation (melvo)
  • Update to XMPP Providers v2 (melvo)
  • Hide voice message button if uploading is not supported (melvo)
  • Replace custom images for message delivery states with regular theme icons (melvo)
  • Free up message content space by hiding unneeded avatars and increasing maximum message bubble width (melvo)
  • Highlight draft message text to easily see what is not sent yet (melvo)
  • Store sent media in suitable directories with appropriate file extensions (melvo)
  • Allow sending media with less steps from recording to sending (melvo)
  • Add media to be sent in scrollable area above message input field (melvo)
  • Display original images (if available) as previews instead of their thumbnails (melvo)
  • Display high resolution thumbnails for locally stored videos as previews instead of their thumbnails (melvo)
  • Send smaller thumbnails (melvo)
  • Show camera status and reload camera once plugged in for taking pictures or recording videos (melvo)
  • Add zoom slider for taking pictures or recording videos (melvo)
  • Show overlay with description when files are dragged to be dropped on chats for being shared (melvo)
  • Show location previews on a map (melvo)
  • Open locations in user-defined way (system default, in-app, web) (melvo)
  • Delete media that is only captured for sending but not sent (melvo)
  • Add voice message recorder to message input field (melvo)
  • Add inline audio player (melvo)
  • Add context menu entry for opening directory of media files (melvo)
  • Show collapsible buttons to send media/locations inside of message input field (melvo)
  • Move button for adding hidden message part to new collapsible button area (melvo)

Bugfixes:

  • Fix index out of range error in message search (taibsu)
  • Fix updating last message information in contact list (melvo)
  • Fix multiple corrections of the same message (melvo, taibsu)
  • Request delivery receipts for pending messages (melvo)
  • Fix sorting roster items (melvo)
  • Fix displaying spoiler messages (melvo)
  • Fix displaying errors and encryption warnings for messages (melvo)
  • Fix fetching messages from server’s archive (melvo)
  • Fix various encryption problems (melvo)
  • Send delivery receipts for catched up messages (melvo)
  • Do not hide last message date if contact name is too long (melvo)
  • Fix displaying emojis (melvo)
  • Fix several OMEMO bugs (melvo)
  • Remove all locally stored data related to removed accounts (melvo)
  • Fix displaying media preview file names/sizes (melvo)
  • Fix disconnecting from server when application window is closed including timeout on connection problems (melvo)
  • Fix media/location sharing (melvo)
  • Fix handling emoji message reactions (melvo)
  • Fix moving pinned chats (fazevedo)
  • Fix drag and drop for files and pasting them (melvo)
  • Fix sending/displaying media in selected order (lnj, melvo)

Notes:

  • Kaidan is REUSE-compliant now
  • Kaidan requires Qt 5.15 and QXmpp 1.9 now

Download

Or install Kaidan for your distribution:

Packaging status

Sunday, 8 December 2024

Hey team!

Back with a series of updates on the Plasma Design System work that we are doing. All videos contain English captions.

Leave your feedback or let us know if you have any questions.

Saturday, 7 December 2024

This time, it’s a short one: We ported KPhotoAlbum to Qt6/KF6. That’s it ;-)

The port itself has been done by Johannes and me, additional commits have been contributed by Randall Rude and Fabian Würfl. Thanks for working on KPA with us!

One thing that’s worth mentioning is: For the map/geodata functionality, we need Marble. The Qt5/KF5 version of Marble can’t be co-installed with the Qt6/KF6 version, and this one is not released yet. But Marble 24.12.0 (which will be the first official Qt6/KF6 release) will be released in a few days. So just wait until it's out before upgrading to KPA 6, to not lose the map parts.

Maybe, the Qt6/KF6 version contains some regressions. The codebase is quite well advanced in years in some parts, and we had to mess with quite some legacy issues to make the whole thing fit for Qt6/KF6. So if you notice anything, please file a respective bug report and/or contact us via our mailing list or Matrix channel (cf. User support → Communication). Thanks for your participation (hopefully, it won’t be necessary too much).

Have a lot of fun with KPhotoAlbum 6 :-)

— Tobias

Plasma Wayland Protocols 1.15.0 is now available for packaging. It is needed for the forthcoming KDE Frameworks.

URL: https://download.kde.org/stable/plasma-wayland-protocols/
SHA256: e5aedfe7c0b2443aa67882b4792d08814570e00dd82f719a35c922a0993f621e Signed by: E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Riddell jr@jriddell.org

Full changelog:

  • Add a request to create a virtual output stream with description
  • Add alpine CI
  • Add modifier information to keystate
  • gitignore: use same as KWin
  • Add a destructor to appmenu manager
  • Add protocol tests
  • Add CI for static builds on Linux

Friday, 6 December 2024

Let’s go for my web review for the week 2024-49.


Pourquoi les médias devraient créer des serveurs Mastodon maintenant

Tags: tech, social-media, fediverse, bluesky, politics, business

Article in French

Very good piece explaining why the Ferdiverse is currently our only option for a decentralized social media platform. Maybe Bluesky will become another option… maybe… but so far it’s only empty promises with a real risk of capture.

https://blogs.mediapart.fr/gaetan-le-feuvre/blog/291124/pourquoi-les-medias-devraient-creer-des-serveurs-mastodon-maintenant


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

Another lawsuit making progress against OpenAI and their shady practice.

https://www.niemanlab.org/2024/11/copyright-claim-moves-ahead-in-the-intercepts-lawsuit-against-openai/


New era of slop security reports for open source

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

Let’s hope security teams don’t get saturated with low quality security reports like this…

https://sethmlarson.dev/slop-security-reports


SmolVLM - small yet mighty Vision Language Model

Tags: tech, ai, machine-learning, vision

Nice vision model. Looks like it strikes and interesting balance between performance and memory consumption. Looks doable to run cheaply and on premise.

https://huggingface.co/blog/smolvlm


First Router Designed Specifically For OpenWrt Released - Software Freedom Conservancy

Tags: tech, foss, hardware, networking

This is an excellent milestone reached for the OpenWrt project. Easily available hardware is a must. It’s rather cheap too.

https://sfconservancy.org/news/2024/nov/29/openwrt-one-wireless-router-now-ships-black-friday/


Why pipes sometimes get “stuck”: buffering

Tags: tech, unix, system

Good post about the very much overlooked fact that lots of command buffer internally when their output is not a TTY.

https://jvns.ca/blog/2024/11/29/why-pipes-get-stuck-buffering/


Compilation on the GPU?

Tags: tech, compiler, gpu, research

Interesting research about feasibility of making compilers parallelized on the GPU. I wonder how far this will go.

https://dl.acm.org/doi/abs/10.11453528416.3530249


Legacy Safety: The Wrocław C++ Meeting

Tags: tech, c++, safety

Interesting piece, it highlights well the struggle for the C++ community to come up with a cohesive approach to improve safety. It doesn’t look like the solution is going to come from the standardization committee (unfortunately).

https://cor3ntin.github.io/posts/profiles/


Structured Binding Upgrades in C++26

Tags: tech, c++

Very nice improvements finally coming to structured bindings indeed. Should make them even more useful.

https://biowpn.github.io/bioweapon/2024/12/03/structured-bindings-cpp26.html


Why I Hate Language Benchmarks - gingerBill

Tags: tech, language, benchmarking

Comparing languages based on some benchmark is probably a fool’s errand indeed. To many factors can change between language and benchmark implementations.

https://www.gingerbill.org/article/2024/01/22/comparing-language-benchmarks/


If Not React, Then What?

Tags: tech, web, frontend, react, criticism, product-management, performance

Excellent piece which shows why React (or Angular) is almost always a bad choice and that you’d be better off banking on the underlying web platform. It leads to better user experience full stop. The article also goes in great length debunking the claims which keep React dominant.

https://infrequently.org/2024/11/if-not-react-then-what/


Building A Strong Ownership Culture in A Team

Tags: tech, engineering, management

Nice example of organization to foster more autonomy and ownership in engineering teams. Clearly needs to be adapted to the project context but gives quite a few ideas. It strikes a nice balance at keeping both an individual and a team view of the responsibilities.

https://candost.blog/strong-ownership-culture-in-a-team/


An introduction to thinking about risk - Jacob Kaplan-Moss

Tags: tech, project-management, risk

Excellent article introducing how to analyse risks.

https://jacobian.org/2024/dec/4/risk-introduction/


Tying Engineering Metrics to Business Metrics

Tags: tech, engineering, business, metrics

Good mulling for thought. It’s always a bit challenging to nicely explain the tie between engineering metrics and how they impact the business. This is a nice starting point.

https://icchasethi.medium.com/tying-engineering-metrics-to-business-metrics-f4df7651e026



Bye for now!

Thursday, 5 December 2024

Lots of KDE hacking these days, and that comes with compiling large amounts of code. Right now, I am installing, well building from source Plasma Mobile on an “old” laptop so I can test some patches natively on a touchscreen device. The machine has just two cores (hyperthreaded), so builds take rather long, especially if you build Qt and all that 80+ packages that are needed for a fully working Plasma system.
One of the tools that do an incredible job while being super flexible to use is icecream. Icecream (or “icecc“) allows you to distribute your build over multiple machines, it basically ships compile-jobs with all that’s needed to other machines on a local network, meaning you can parallelize your builds.

Icecream has this nice visualization tool, called icecream-monitor which you can stare at while your builds are running (in case you don’t have anyone handy for a sword-fight). In the screenshot you can see manta, the underpowered laptop doing a 32 parallel job build over the network. miro is my heavy workstation, 8 cores and 128GB of RAM, it duely gets the bulk of the work assigned, frame is my (Framework) laptop, which is also quite beefy, gets something to do too, but not taxed as heavily as that build monster in my basement office.
Icecream can be used with most environments that have you run your compiler locally. Different distros are no problem! Just a matching CPU architecture is needed. Icecream does its job by providing its own g++ and gcc binaries, which will relay the build jobs transparently to either your local machine or across the network. So you basically install it, adjust your PATH variable to make sure icecc’s g++ is found before your system’s compiler and start your build. Other machines you want to join in for the fun just need to run icecc-scheduler and they will be automatically discovered as build slaves on your network. If you want to further speed up builds, it works with ccache as well.

Please note that you only want to do this in a trusted environment, we’re shipping executables around the network without authorization!

(originally titled “On Dead Trees”)

There’s features that you know are really important to some of our users but you frankly don’t really care for them much yourself. Printing is one such example. Recently, I actually had to print lots of paperwork, so I had a reason to fix some of my more pressing issues with our Print Manager.

Print manager popup showing a list of printers, one of them is highlighted and expanded to reveal a list of print jobs. Mouse hovers the “Cancel” button of the test page job
Print jobs right at your finger tip

The biggest regression from the Plasma 4 days, when we moved from individual System Tray popups to a unified square view, was that Print Manager had to give up its two pane layout that showed the print queue directly in the popup. In order to view and cancel print jobs, you now had to select the printer and open its print queue window, and close it again after you’re done.

Unfortunately, with printer management, there’s really two opposing use cases: a home computer with maybe a couple of printers, and the office use case of hundreds of remote printers across several buildings. Picking one side usually leaves the other one worse off. However, I did not want to spent too much time on this, so in order to fix my workflow, I simply added the list of print jobs in the expanded view. I then added a busy indicator to a printer when it’s printing to make it easier to find in the list.

CUPS error messages have never been very nice and with all that “driver-less” stuff the user experience seems to have become worse, spitting technical gibberish like “cfFilterChain: Ghost script (PID 123456)” at the user. While printing probably works better now, the overall feature set has definitely regressed for me. In order to accommodate status messages better, Print Manager now shows up to three lines of text, which is particularly important in case of a printer or network error.

printer icon and laser printer icon
Just pretend the pile of paper at the top of the laser printer is actually the printed pages

Another nice little touch from Plasma 4 was a dedicated laser printer icon. At home I have a black and white laser printer for printing documents and a color inkjet for printing pictures. It’s really nice being able to tell them apart at a glance. Therefore, I added a laser printer icon to Breeze as well. However, when I investigated how it worked, I found it just assumes every black and white printer to be a laser printer. Fair enough. You can ask CUPS for the “marker type”, e.g. toner or ink, and I hoped that I could use it to determine the printer type more accurately. Alas, since updating to the Ubuntu 24.04 base, none of my printers show ink levels anymore, not even after installing the official vendor drivers. Either way, ink status has been hit or miss for me under Linux for as long as I can remember, sometimes randomly working when talking to the printer over the network but not on the computer it was plugged into via USB and so on.

Next, while tinkering with printer settings, I noticed the nice little search box we have in our settings dialogs nowadays. Trying to find a certain option, I was surprised it didn’t highlight it, even though I clearly typed the exact name on the label. You see, controls in Qt can have “mnemonics” or “accelerators”, this is the underlined letter you typically see on a button that tells you what Alt+key to use to trigger it. The letter is prefixed with an ampersand (&) in the string, so “Pap&er size” shows as “Paper size” and will trigger on pressing Alt+E. KDE applications automatically assign a free accelerators to most widgets unless explicitly provided through the ampersand notation. The settings search did not account for this and subsequently failed to find it.

Leaving the subject of printers for now, I made a few minor improvements regarding batteries. One of my earliest contributions to Plasma’s power management system over ten years ago was a notification when a peripheral device, such as mouse or keyboard, runs low on battery. While the notification showed a dedicated icon for headsets (i.e. headphones with a microphone) it did not provide one for regular headphones, and neither did battery monitor, but it was an easy fix.

Notification from Power Management: The battery in “My Headphones” is running low, and the device may turn off at any time. Please recharge or replace the battery.
Unlike a mouse or keyboard, it’s probably not as bad that it may turn off at any time

Additionally, when switching output devices, a brief on screen display is shown. In case of Bluetooth devices, battery status is included alongside the device name, to quickly see when the headphones you just connected are almost out of juice. When I switched to PipeWire this stopped working, no battery percentage was shown. I didn’t fully understand how it works but with PulseAudio it probably has exclusive access to the Bluetooth device and is the one that has to read the battery information and provide it to others as audio device property. With PipeWire, I guess things are different, and I just get to read battery information over the regular BlueZ battery interface, so that’s what Plasma will consult before showing the device popup.

Finally, the Energy Information page now displays the number of charge cycles your laptop battery has experienced so far in addition to the capacity estimation (“battery health”). The ability to query this information was added to Solid, KDE’s Hardware Abstraction Framework, and is supported by all of its backends. My trusty ThinkPad has over 700 charge cycles now and still reports 77% capacity left. I was still quite happy with its battery life during this year’s Akademy – admittedly I didn’t compile much during talks and had the screen brightness very low.

If you like what you saw and want to support the KDE Community and enable the good people behind it to create the best software possible, please consider donating to our Year End Fundraiser! KDE is funded mainly by you: our friends, users, and supporters. Thanks to your donations, we can deliver the best free and open software that respects your privacy and gives you control over your devices and digital life.

Support Good People

KStars v3.7.4 is released on 2024.12.05 for Windows, MacOS & Linux. It's a bi-monthly bug-fix release with a couple of exciting features.

Imaging Planner

Hy Murveit added a brand new Imaging Planner in KStars to facilitate imaging.

The Imaging Planner tool helps users choose which objects to image. Users can download catalogs of recommended objects, or possibly create and share their own catalogs. The tool computes when the objects in a read-in catalog may be imaged on the selected night given constraints such as minimum altitude, terrain and moon separation.

It can sort the objects along several different dimensions including the number of hours an object may be imaged tonight (given the users geography, constraints and possibly artificial horizon), its peak altitude, distance from the moon, constellation, name and type. Objects can also be filtered out for several reasons (e.g. type of object, whether it was previously imaged, keywords the user has added, whether the object has been selected, user not interested, etc). 

This tool helps users research the objects by showing small images of the objects, showing the objects' sky locations on the skymap, and by providing links to follow to internet sites with more information and images. It allows users to attach notes and links to objects, and select certain of them for further consideration. This tool can be used in conjunction with the Ekos imager or any other imaging tool. It does not currently directly interact with the actual imager; it only helps the user decide what to image.

Simbad Integration with FITSViewer

John Evans added a new, experimental feature to the FITSViewer that allows the user to dynamically query the SIMBAD astronomical database and highlight the results on the image in the FITSViewer. The user draws a circle on the image and the objects within that circle are then displayed in a table and on the image.

It is possible to filter by object type and click through to the Simbad / CDS or NED websites for more information about the objects.


This is an interesting tool to see what is in your image, be it a subframe whilst you are imaging or a completed image that you have reloaded into the FITSViewer.

In order to use the feature you will need an internet connection to access the online Simbad database and an image must have WCS enabled within the FITSViewer. For the most accurate results, plate solve the image with the build-in FITSViewer plate solver. The feature is controlled by a toggle in the FITSViewer options.

New Focus Measures

John Evans introduced a new contrast based focusing algorithm suited for solar and planetary imaging. 

4 new focus measures have been added to the Focus Module to complement the existing measures of HFR, FWHM, etc.
·      StdDev. This is similar conceptually to the Fourier Algorithm but is simpler. It uses an algorithm based on the standard deviation of the pixels in the image as the measure of focus. It can be used on star fields.
·      Contrast based measures use algorithms that can be found in other areas of image processing and uses the contrast of texture in the image in various way as a measure of focus. The following measures are available:

o   Sobel
o   Laplassian
o   Canny

These measures require some form of extended object in the image so will not work on star fields. They are intended for Solar, Lunar and planetary focusing.


 

These algorithms can be used on the whole image or with the existing mask features, or with a user-defined region-of-interest that is used in single-star mode for star based focusing measures.
 
This new feature requires the openCV library to be installed (a standard installation is fine). This library is not installed by default with Kstars so anyone wishing to use these features will need to first install openCV and then rebuild Kstars on their system. It will not be available with pre-built executables.