Skip to content

Saturday, 7 December 2024

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

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!

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.

Tuesday, 3 December 2024

Technology isn't just for people in technical fields like computer science or IT; it's for anyone with a technical mindset, a passion for technology, and a visionary outlook. Whether you're a beginner or an expert, there are countless opportunities in the tech world for those who think critically and want to make an impact. One of the best ways to get involved and grow in the tech field is through tech communities. These groups provide valuable networking, learning, and collaboration opportunities that can help you expand your skills, connect with like-minded individuals, and reshape how you view both technology and the world.

A Quick Story

It all started in my final year of university, just after the lockdown ended and everyone returned to campus. As I got back into the swing of college life, I couldn't help but notice the seniors and some students from departments like CS and IT. They were involved in some really cool projects and seemed to be living the kind of tech-driven lifestyle I aspired to. What stood out to me even more was the confidence and swag they had, which sparked my curiosity.

This curiosity led me to explore further, and thats when I discovered tech communities. I realized these communities were not just for students in tech departmentsthey were spaces where anyone interested in technology could grow, build networks, and access amazing opportunities. They also hosted some incredible tech events that provided a unique atmosphere to learn and experience tech in ways I hadnt before.

And thats how my journey into the world of tech communities began. Lets dive into what these communities are all about, how they can help you grow, and how you can get involved.

Understanding tech communities and why they matter.

Tech communities are groups of people who share a passion for technology, innovation, and digital trends. These communities exist across nearly every field in technology, from software to hardware, providing a space where individuals can connect, collaborate, and grow together. By joining a tech community, you gain access to a platform that helps you expand your network, deepen your knowledge, and share your own ideas and experiences. This, in turn, accelerates your personal and professional development.

Now that we know what tech communities are, lets explore why theyre so important. These communities offer valuable networking opportunities, allow you to develop new skills, and expose you to exciting career opportunities in tech. They also foster open-source collaboration and innovation, helping you contribute to meaningful projects. Ultimately, tech communities are an essential part of your growth, offering both a learning environment and a supportive network for anyone passionate about technology.

My Personal Journey with Tech Communities

Heres a bit about my journey. I dove into online communities, starting by joining their social channels on platforms like Discord, LinkedIn, Twitter, and Slack, wherever they were most active. I became a member of communities like WeMakeDevs, GrowInCommunity, Keptn, GlassKube, CNCF, and KubeSimplify. I contributed to their open-source projects, took part in weekly calls, and collaborated with other members to share and discuss thought-provoking ideas.

This screenshot is from GrowinCommunity Discord call, showcasing the weekly calls and providing details on how to engage with them for the best experience in tech communities.

How tech communities have helped me grow and advance my career in tech.

My involvement in tech communities has been a pivotal part of my growth, both professionally and personally. It not only helped me advance in my tech career but also provided unique opportunities and perks, like receiving swag. These communities have been key to my overall development. For instance, I gained the confidence to speak in front of large audiences and even had the chance to present a talk on stage, which significantly improved my communication skills. Participating in hackathons pushed me to learn new skills in a short amount of time, resulting in rapid personal growth. Along the way, Ive also made some amazing friends who share the same passion for technology.

To summarize, heres how tech communities have helped me:

  1. Opened doors to valuable career opportunities

  2. Enhanced my communication skills

  3. Helped me build lasting friendships

  4. Provided opportunities to learn from others

  5. Allowed me to attend incredible tech events

These experiences have been vital to my journey in tech, and I truly believe tech communities can help anyone grow in similar ways.

Here are some pictures that reflect my journey in tech so far, and none of this would have been possible without the support of the communities I belong to.

This picture is from the K8sblr event, where I was given the chance to present on the GlassKube project, a project I'm actively involved with. It was an amazing opportunity to speak to a large audience, and this is all made possible by the tech communities that arrange such events.

Taken at GitHub Field Day, this picture captures an amazing experience. The community is fantastic, and I had the chance to meet wonderful individuals and make new friends. Being part of tech communities can give you these remarkable experiences as well.

I received these amazing Google Cloud swag items by participating in their events. Your involvement in tech communities can also lead to similar awesome rewards and goodies.

Conclusion

In conclusion, being involved in tech communities has had a profound impact on my career growth. From the wealth of knowledge shared by passionate professionals to the endless networking opportunities, these communities have shaped my journey in ways I couldnt have imagined. They provide not only technical resources but also emotional support, mentorship, and a sense of belonging in the fast-paced world of technology. Whether youre just starting out or looking to level up your career, getting involved in tech communities is one of the best decisions you can make. I encourage you to take that first step join a community, participate, and experience firsthand how these connections can unlock incredible opportunities for your career. The journey is just as important as the destination, and being part of a tech community makes the path that much more rewarding.

Monday, 2 December 2024

I just looked at our GitLab page today and thought: Amazing!

Kate - 1500 accepted merge requests

I thank you all for the great contributions of the last years.

Let's hope we see even more contributions in the future.

If you are unsure how to contribute, just take a look at the existing merged stuff as reference.

The upcoming 24.12 release will be a good one, we did polish Kate a lot.

I know not all is well on the world, but I still hope you have a good end of the year and an even better start in the new one!

Sunday, 1 December 2024

Tracking library dependencies work in Debian to resolve from symbols usage to a library and add this to the list of dependencies. That is working for years now. The KDE community nowadays create more and more QML based applications. Unfortunately QML is a interpreted language, this means missing QML dependencies will only be an issue at runtime.

To fix this I created dh_qmldeps, that searches for QML dependencies at build time and will fail if it can't resolve the QML dependency.

Me didn't create an own QML interpreter, just using qmlimportscanner behind the scenes and process the output further to resolve the QML modules to Debian packages.

The workflow is like follows:

The package compiles normally and split to the binary packages. Than dh_qmldeps scans through the package content to find QML content ( .qml files, or qmldirfor QML modules). All founded files will be scanned by qmlimportscanner, the output is a list of depended QML modules. As QML modules have a standardized file path, we can ask the Debian system, which packages ship this file path. We end up with a list of Debian packages in the variable ${qml6:Depends}. This variable can be attached to the list of dependencies of the scanned package. A maintainer can also lower some dependencies to Recommends or Suggest, if needed.

You can find the source code on salsa and usage documentation you can find on https://qt-kde-team.pages.debian.net/dh_qmldeps.html.

The last weeks I now enabled dh_qmldeps for newly every package, that creates a QML6 module package. So the first bugs are solved and it should be usable for more packages.

By scanning with qmlimportscanner trough all code, I found several non-existing QML modules:

  • import QtQuick3DPrivate qt6-multimedia - no Private QML module QTBUG-131753.
  • import QtQuickPrivate qt6-graphs - no Private QML module QTBUG-131754.
  • import QtQuickTimeline qt6-quicktimeline - the correct QML name is QtQuick.Timeline QTBUG-131755.
  • import QtQuickControls2 qt6-webengine - looks like a porting bug as the QML6 modules name is QtQuick.Controls QTBUG-131756.
  • import QtGraphicalEffects kquickimageeditor - the correct name is for QML6 is qt5compat.graphicaleffects, properly as it is an example nobody checks it kquickimageeditor!7.

YEAH - the first milestone is reached. We are able to simply handle QML modules.

But QML applications there is still room for improvement. In apps the QML files are inside the executable. Additionally applications create internal QML modules, that are shipped directly in the same executable. I still search for a good way to analyse an executable to get a list of internal QML modules and a list of included QML files. Any ideas are welcomed :)

As workaround dh_qmldeps scans currently all QML files inside the application source code.

Saturday, 30 November 2024

The Fedora KDE SIG is pleased to announce that KDE Gear 24.12 RC (24.11.90) is available on Fedora 41 via our @kdesig/kde-beta COPR repository

Enjoy!

Kirigami Addons is a collection of additional components for Kirigami applications. This release brings mostly improvements to the FormCard module.

AboutPage

The about page provided by Kirigami Addons received many improvements. Joshua added icons to all the buttons.

I worked on the component section, which now contains more information about the default components as well as the underlying platform and now has a button to copy all this information to the clipboard. This is super helpful, when writing a bug report. There were also some small bug fixes with, for example, the license dialog being correctly sized.

 

RadioSelector

A new component is the RadioSelector, which is a simple component that allows one to choose an option between two or more choices in a horizontal layout. This is not a new component as it has already been used in Itinerary and Marknote for a long time.

There is also a FormCard version of this, called FormRadioSelectorDelegate.

 

FormPlaceholderMessageDelegate

Another new component is FormPlaceholderMessageDelegate, which is basically a Kirigami.PlaceholderMessage, but instead of putting it in a ListView, this one is to be put inside a FormCard.

FormPlaceholderMessageDelegate for the health certificate
FormPlaceholderMessageDelegate for the health certificate

Other

Volker fixed the Android integration of the date picker. He also added support for static builds (required for iOS and probably hopeful for other platforms).

Claudio fixed various issues with the DatePicker.

Joshua made the caption used in AlbumMaximizeComponent selectable with the mouse. He also fixed the separator for the IndicatorItemDelegate which only appeared after the first item.

I added icon support to FormSwitchDelegate, which is similar to what we already have in FormRadioDelegate and FormCheckDelegate.

Packager Section

Kirigami Addons 1.6.0 was tagged but the tarball are not yet available. I will update this post once it is available.

The first release of OptiImage is finally out! OptiImage is a useful image compressor that supports PNG, JPEG, WebP and SVG file types. It doesn’t do the compression itself but uses various tools like oxipng to do the compression.

OptiImage compressing screenshots
OptiImage compressing screenshots

OptiImages settings page
OptiImages settings page

Thanks to Mathis Brüchert for his work on the icon and to Soumyadeep Ghosh for a bunch of bug fixes and pushing me to do the release.

Packager Section

OptiImage 1.0.0 was tagged but the tarball are not yet available. I will update this post once it is available.

Thursday, 28 November 2024

gcompris 4.3

Today we are releasing GCompris version 4.3.

It contains bug fixes and graphics improvements on multiple activities.

It is fully translated in the following languages:

  • Arabic
  • Bulgarian
  • Breton
  • Catalan
  • Catalan (Valencian)
  • Greek
  • UK English
  • Esperanto
  • Spanish
  • Basque
  • French
  • Galician
  • Croatian
  • Hungarian
  • Indonesian
  • Italian
  • Lithuanian
  • Latvian
  • Malayalam
  • Dutch
  • Norwegian Nynorsk
  • Polish
  • Brazilian Portuguese
  • Romanian
  • Russian
  • Slovenian
  • Albanian
  • Swedish
  • Swahili
  • Turkish
  • Ukrainian

It is also partially translated in the following languages:

  • Azerbaijani (97%)
  • Belarusian (87%)
  • Czech (97%)
  • German (96%)
  • Estonian (96%)
  • Finnish (95%)
  • Hebrew (96%)
  • Macedonian (90%)
  • Portuguese (96%)
  • Slovak (84%)
  • Chinese Traditional (96%)

You can find packages of this new version for GNU/Linux, Windows, Android, Raspberry Pi and macOS on the download page. Also this update will soon be available in the Android Play store, the F-Droid repository and the Windows store.

Thank you all,
Timothée & Johnny