Skip to content

Wednesday, 28 February 2024

There are release parties around the world, the UK has a party in Cambridge.

Action plan is to go to The Haymakers, High Street, Cambridge and get pizza, drinks and more pizza. at 19:00 Thursday the 29th Feb.

Look for the guy in the blue KDE T-shirt.

Sign up at https://community.kde.org/Promo/Events/Parties/KDE_6th_Megarelease#Cambridge

Today KDE has made its biggest release ever, never before in the 25 year history of the project have we announced so many new products at the same time but it brings the newly refreshed base to keep our software foundation strong.

KDE neon User edition has now been updated with KDE Frameworks 6, Plasma 6 and all the apps from KDE Gear 24.02. You can upgrade through Discover or grab the newest installable ISO build.

If you just want to give it a try then give the Docker images a go.

Many thanks to Carlos, Harald and Jonathan for making this Neon release, to the 100s of KDE developers for writing the software and to Augustin and Paul for hosting the release sprint in Malaga.

Monday, 26 February 2024

Today, we bring you a report on the brand-new release of the Maui Project.

We are excited to announce the latest release of MauiKit version 3.1.0, our comprehensive user interface toolkit specifically designed for convergent interfaces, the complying frameworks, an in-house developed set of convergent applications, and the upcoming convergent shell environment for desktop and mobile devices.

Built on the foundations of Qt Quick Controls, QML, and the power and stability of C++, MauiKit empowers developers to create adaptable and seamless user interfaces across a range of devices, and with this release, we are a step closer to finalizing the migration to a new major version – the upcoming MauiKit4 release.

Join us on this journey as we unveil the potential of MauiKit3 for building convergent interfaces, the roadmap towards MauiKit4 and its new additions, and finally discover the possibilities offered by the enhanced Maui App stack.

Community

To follow the Maui Project’s development or to just say hi, you can join us on Telegram @mauiproject

We are present on Twitter and Mastodon:

Thanks to the KDE contributors who have helped to translate the Maui Apps and Frameworks!

Downloads & Sources

You can get the stable release packages [APKs, AppImage, TARs] directly from the KDE downloads server at https://download.kde.org/stable/maui/

All of the Maui repositories have the newly released branches and tags. You can get the sources right from the Maui group: https://invent.kde.org/maui

MauiKit4 & Documentation

MauiKit Calendar, Accounts, and Image Tools have now been ported to Qt6, joining MauiMan, MauiKit, and File Browsing frameworks. Alongside with the porting efforts, the frameworks are now documented, and available on the KDE API documentation site [HERE]. The remaining frameworks to be ported to Qt6 are MauiKit Terminal, Documents, and Text Editor, which should be fully ported and documented by the upcoming release in May.

The porting also involved updating the framework CMake code to the latest ECM changes introduced for creating QML plugins.

For the upcoming porting of MauiKit Text Editor, there are plans to move to a different backend for rendering the text more efficiently, and for Documents, the comics and ebooks backends will be reviewed and refactored to address crashing issues under Android.

You can find more information about the roadmap and plans for the migration to Qt6 at: https://invent.kde.org/maui/mauikit/-/issues/35

MauiKit Frameworks & Apps

A quick overview of the issues addressed and updates are covered in the following list:

  • Updated translations and support for more languages
  • Rebase MauiKit ApplicationWindow to QQC2 ApplicationWindow to resolve focus-stealing issues in Android
  • Update all the applications’ source code syntax in QML for the upcoming Qt6 port
  • Pick up the system light/dark preference for Android in MauiKit3, and move the handling of the Android status bar color from each app to MauiKit’s ApplicationWindow control. For MauiKit4 relay in the QStyleHints new properties
  • Split the  MauiApp code from the CSDControls. Thus register CSDControls as a new attached property: Maui.CSD [link to docs]
  • Expose the MauiKit Application root element via the attached property MauiApp, as Maui.App.rootComponent [link to docs]
  • Station fixes for handling the “terminate-session” shortcut and fixes to crashing issues when closing tabs, coming from MauiKit Terminal
  • The MauiKit’s PageLayout control has been backported from MauiKit4 to MauiKit3, and its implementation has gained new features, such as moving the collapsable elements to the footer. [link to docs]
  • Index app is now using MauiKit’s PageLayout control for splitting the toolbar actions for constrained spaces, the same as Pix
  • Pix fix the tags hot-reloading on new tags created
  • Fixes to nota syncing the terminal working directory
  • Vvave has gained a new option to quickly start a playlist in shuffle mode and a sleep timer: to stop playback and/or close the app after a certain time or end of the playlist
  • MauiKit’s AboutDialog has been revised and organized
  • MauiKit FileBrowsing control for creating a new file now picks the icon from the name extension
  • MauiKit Terminal and Text Editor now have a custom control exposing configurations for selecting custom color schemes
  • Index now has options to tweak the embedded terminal in Linux, such as custom color schemes, and reorganized setting entries for the terminal configurations
  • Nota now reuses the new Text Editor control for picking the color scheme and new options for  tweaking the embedded terminal
  • All of the apps now use an exported definition or the copyright notice
  • Fixes for all of the apps where the names of developers and other non-translatable strings were being marked as such
  • Fixed keyboard shortcuts for Station, Vvave, and other apps
  • Added style for the ComboBox component
  • MauiKit corrects the usage of singleton instances across threads for all the frameworks, which avoids the double instantiation from the CPP and QML side
  • Fixes to MauiKit TextEditor long press actions on touch screens
  • Fixes to style hints for the scrollbar policy coming from MauiMan
  • Fixes to Nota’s recent view selection mode
  • On mobile devices do not cache image or icon previews for the thumbnail delegates

[Known Bugs]

  • Nota crashes when opening a new file from the recent view under Android.
  • MauiKit Documents fails to open large comic books on Android, causing the app to crash due to the current design of using multiple threads for different pages. This is planned to be solved at MauiKitDocuments4 porting
  • MauiKit Text Editor TextArea has a flickering issue, which makes content jumpy on Android only. This is from upstream and should be solved on MauiKitTextEditor4 porting when moving to a different backend.
  • MauiKit FileBrowsing support for browsing SD cards on Android is currently disabled due to missing bindings to the “new” Android storage API

[What’s Next?]

For the next release, we plan to work on stabilizing the Maui Shell experience, by adding  XWayland support, and a few more things:

  • Finalize the porting of the MauiKit Frameworks to Qt6
  • Finalize and review the MauiKit documentation
  • Start the porting process of the Maui Apps to MauiKit4 AKA Qt6
  • Review MauiKit4 on Android
  • Review the migration of TextEditor to a new backend
  • Fixes to bugs on the Maui Apps stack
  • Update the Maui Apps features that are still pending

 

Maui Shell

For this release, Maui Shell and its components have received minimal updates coming from:

  • MauiCore and Maui Settings new modules for Audio and Network
  • Updated Maui Settings for MauiKit4 changes
  • Review shell aka Cask elements to be up to date with the MauiKit4 changes

 

That’s it for now. Until the next blog post, that will be a bit closer to the 3.1.1 stable release.

To follow the Maui Project’s development or say hi, you can join us on Telegram: https://t.me/mauiproject.

We are present on Twitter and Mastodon:

New release schedule

The post Maui Release Briefing #5 appeared first on MauiKit — #UIFramework.

Sunday, 25 February 2024

You may have already read about it on Volkers blog: we together with people from other public transport related projects are building a public transport routing service called Transitous. While of course our main motivation is to use it in KDE Itinerary, KDE’s travel planning app, it will be open for use in other apps.

We also have a little web interface running at transitous.org.

We are building this service based on great existing software, in particularly MOTIS.

Screenshot of the Transitous web interface, showing the positions of long-distance transit vehicles in Germany, the Netherlands, Switzerland, Latvia, Estonia and Sweden

Now, to make this really useful, we need data on more regions. Luckily, for most regions and countries that is fairly easy. Most transport agencies and countries make GTFS feeds available, that we can just use.

Adding an additional feed doesn’t take long and doesn’t need programming experience. It’s pretty much just creating a small text file that explains how and where to download the data from.

Those links don’t necessarily stay the same forever, so we would be happy if lots of people take care of their region, and update the link every few years. It is really little work if split up, but can’t all be handled by a small team.

To make it even easier, we can already use the Transitland Atlas feed collection, for which you just need to choose the feed to use. The url will then automatically be looked up.

You can find out how to add a feed here. Please let us know if the documentation is unclear anywhere.

If you are interested in using this service in your own application, it is probably a bit too early for production, but it makes sense to already implement support for the MOTIS API that we use. You can find an early version of our API documentation here.

If there is anything else you are interested in helping with, for example improving our ansible playbook, creating a website, improving MOTIS or working on integrating OpenStreetMap routing, you can find our open tasks here. We appreciate any help on those issues, and it of course speeds up the development of the project.

Plasma Pass is a Plasma applet for the Pass password manager

This release includes build fixes for Plasma 6, due to be released later this week.

URL: https://download.kde.org/stable/plasma-pass/
Sha256: 2a726455084d7806fe78bc8aa6222a44f328b6063479f8b7afc3692e18c397ce
Signed by E0A3EB202F8E57528E13E72FD7574483BB57B18D Jonathan Esk-Riddell <jr@jriddell.org>
https://jriddell.org/esk-riddell.gpg

Saturday, 24 February 2024

<!-- <div style="text-align: center;"> -->

<!-- # Adding Multi-Format Rendering to Kdenlive -->

sdfsdfdsfdsfsdf <sub>Source: <a target="_blank" href="https://dot.kde.org/sites/dot.kde.org/files/plasma-5.24-SoK.jpg" style="text-decoration: none; text-underline-offset: auto;">dot.kde.org</a></sub>

About Me

I am Ajay Chauhan (IRC: hisir:matrix.org), currently in my second year of undergraduate studies in Computer Science & Engineering. I'll be working on adding multi-format rendering to Kdenlive for my Season of KDE project. This post describes my journey with KDE and why I submitted this project for the Season of KDE.

My introduction to KDE and Kdenlive

I was first introduced to KDE when I was distrohopping, starting with Ubuntu GNOME, then Arch, and finally settling on KDE Neon so that I could experience KDE's latest features. Although it was a bit buggy at times, I enjoyed using the KDE Plasma so much that I've stuck with it for over two years now.

I also used the Qt framework to write GUI applications in C++ for school projects in the past. The Season of KDE will also allow me to get better acquainted with KDE development

What is Kdenlive?

Kdenlive is a free and open-source video editing software that is based on the MLT Framework. Kdenlive is an acronym for KDE Non-Linear Video Editor. It works on GNU/Linux, Windows, BSD and MacOS.
Whenever I've needed to edit videos, Kdenlive has always been my go-to video editor. I've used it to edit presentations for college and small projects.

I'll be working on adding Multi-format rendering (horizontal/vertical/square) to Kdenlive for my Season of KDE project. By adding support for rendering in horizontal, portrait, and square formats at export, videos can be rendered in different aspect ratios for different social media platforms and use cases easily.

My mentors for the project are Julius Künzel and Jean-Baptiste Mardelle.

The key tasks of my project are :

  • Add code to apply filters to the clips in the main tractor to achieve the desired aspect ratio.
  • Modify the user interface to allow users to select the desired aspect ratio during export and invoke that filter when they choose one of the aspect ratio
  • Ensure that the aspect ratio selected by the user is integrated into the final rendering profile

This will allow users to render videos tailored for different popular platforms for use cases like social media stories, square videos for Instragram post etc.

Work done so far

At first, I did the math on how to get the aspect ratio right. The core of the implementation is a calculateCropParameters function that calculates the correct cropping, given the source and destination aspect ratios. It determines whether the source video needs to be cropped on the sides for a wider aspect or on the top and bottom for a taller aspect ratio.

calculateCropParameters(sourceAspectRatio, targetAspectRatio, ...) {
  if (sourceAspectRatio differs from target) {
    if (source wider than target) {
       // crop sides
    } else {
       // crop top and bottom
    }
  } else {
    // no crop needed
  }
}

For this the first step in this process was to extract the properties of the source video: its width, height, and Display Aspect Ratio (DAR).

int sourceWidth = pCore->getCurrentProfile()->width();
int sourceHeight = pCore->getCurrentProfile()->height();
double sourceAspectRatio = pCore->getCurrentProfile()->dar();

The pCore->getCurrentProfile() function plays a main role here, providing access to the video's current profile settings, including the DAR. The DAR gives the width-to-height ratio of the video as displayed.

Setting Crop Parameters

After calculating the necessary crop dimensions, the final step was to apply these adjustments to the video. This was done by setting up a crop filter with the calculated parameters from calculateCropParameters.

std::unique_ptr<Mlt::Filter> cropFilter = std::make_unique<Mlt::Filter>(pCore->getProjectProfile(), "crop");
cropFilter->set("left", leftOffset);
cropFilter->set("right", sourceWidth - cropWidth - leftOffset);
cropFilter->set("top", topOffset);
cropFilter->set("bottom", sourceHeight - cropHeight - topOffset);

Demo video of work till now:

<div class="responsive-video-wrapper"> <iframe width="560" height="600" src="https://www.youtube.com/embed/oqrDxwQdwx0" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> </div>

Merge Request: Implement Multi-format Rendering↗

The main challenges faced in setting up a new profile were configuring the producer and consumer xmlConsumer2() to render video in the new aspect ratio profile when generating an XML playlist. Thanks to the mentor, who helped a lot with this task.

What's next?

In the upcoming weeks, I plan to add a GUI, modify the user interface to allow users to select the desired aspect ratio during export. And also ensure that I don't leave any bit and that it doesn't give any kind of error with the different aspect ratio of the source video that the user provides.

<style> .responsive-video-wrapper { position: relative; overflow: hidden; padding-top: 56.25%; /* 16:9 Aspect Ratio / border-radius: 10px; / Adjust this value for a subtle rounding effect */ }

.responsive-video-wrapper iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border-radius: 10px; /* Adjust this value for a subtle rounding effect */ } </style>

Friday, 23 February 2024

Just in time for KDE Plasma 6, Chromium 122 and Electron 29 have been released! They contain my patch that adds support for Wayland’s new cursor-shape-v1 extension protocol. When running natively in a Plasma 6 Wayland session, up-to-date Chromium-based browsers and Electron apps should now always use the correct mouse cursor theme and have the...

The post cursor-shape-v1 in Chromium and Electron first appeared on Ilya's Blog.

SWH Community Day I have mix feelings about Paris. In general, I go there to work, so for different reasons, I never managed to enjoy the city. This time has been no different, or almost. I went to Paris to attend to the Software Heritage Community Day on Jan 31st and the Symposium the following … Continue reading Software Heritage Symposium and FOSDEM 2024

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


Paying people to work on open source is good actually - Jacob Kaplan-Moss

Tags: tech, foss, sustainability

Making sure maintainers are well paid is indeed an ongoing problem. There is currently no perfect solution within the world we live in. This is indeed no reason to blame the maintainers themselves for the approach they picked.

https://jacobian.org/2024/feb/16/paying-maintainers-is-good/


Anatomy of a whistleblowing system

Tags: tech, anonymity, security

Interesting explanation of the guarantees such a system must provide and their consequences.

https://securedrop.org/news/anatomy-of-a-whistleblowing-system/


It Was 33 Years Ago Today: Happy Birthday Lemmings! - The Scottish Games Network

Tags: tech, gaming, culture

Happy birthday indeed. Was an excellent and culturally relevant game.

https://scottishgames.net/2024/02/14/it-was-33-years-ago-today-happy-birthday-lemmings/


A vintage network attack called smurf

Tags: tech, networking, security, history

A trip down memory lane when such attacks were indeed common. Nowadays, we know better though.

https://rachelbythebay.com/w/2024/02/21/bcast/


cohost! - “I broke IKEA.”

Tags: tech, phone, spam, hacking

Very funny glitch. This anti-spam system is smart… too bad the wrong victim got in the crosshair.

https://cohost.org/sirocyl/post/2891449-i-broke-ikea


The day I canceled my Spotify subscription

Tags: tech, streaming, criticism

The streaming trap is getting obvious at this point.

https://blog.raed.dev/posts/goodbye_spotify


100 things you can do on your personal website | James’ Coffee Blog

Tags: tech, self-hosting, blog

Lots of ideas indeed. Having your own website gives so much freedom in what you can do there.

https://jamesg.blog/2024/02/19/personal-website-ideas/


Considerations for a long-running Raspberry Pi # Chris Dzombak

Tags: tech, infrastructure, reliability, self-hosting, raspberry-pi

Looks like an interesting and comprehensive reference to squeeze as much reliability as possible from a Raspberry Pi.

https://www.dzombak.com/blog/2023/12/Considerations-for-a-long-running-Raspberry-Pi.html


ActivityPub Server in a Single PHP File – Terence Eden’s Blog

Tags: tech, fediverse

A little experiment to better understand how ActivityPub works.

https://shkspr.mobi/blog/2024/02/activitypub-server-in-a-single-file/


Tags: tech, git, command-line, tools

Plenty of good tips in there. I knew quite a few, but there are a few nuggets that I’ll test drive I think.

https://jvns.ca/blog/2024/02/16/popular-git-config-options/


A highly customizable changelog generator | git-cliff

Tags: tech, git, command-line, tools, project-management

Looks like a nice way to automate the creation of changelogs.

https://git-cliff.org/


If you’re just going to sit there doing nothing, at least do nothing correctly - The Old New Thing

Tags: tech, api, design

Nice advices for API design. First time I see the term “inert” used in this context. Definitely one I should keep in mind and use when appropriate.

https://devblogs.microsoft.com/oldnewthing/20240216-00/?p=109409


How to debug your initramfs init - Linus’s blog

Tags: tech, debugging, systemd, system

Nice tricks to debug the very early boot process, starting at PID 1. gdbserver saves the day here.

https://linus.schreibt.jetzt/posts/debugging-pid1.html


Writing a scheduler for Linux in Rust that runs in user-space

Tags: tech, linux, rust, system, processes

Interesting, I didn’t know that user space schedulers were coming to Linux. It opens the door to exciting experiments.

https://arighi.blogspot.com/2024/02/writing-scheduler-for-linux-in-rust.html?m=1


Floats Are Weird

Tags: tech, floats, mathematics

Or how calculus can give a feel of why approximation errors can be great or small with floats.

https://a.exozy.me/posts/floats-weird/


Blazingly 🔥 fast 🚀 memory vulnerabilities, written in 100% safe Rust. 🦀

Tags: tech, rust, bug, safety

Check out the docs branch for detailed explanations. This exhibits a loop hole in the Rust compiler allowing to break lifetime inference… and from there all the usual guarantees go through the window.

https://github.com/Speykious/cve-rs


Database Architects: SSDs Have Become Ridiculously Fast, Except in the Cloud

Tags: tech, cloud, storage, ssd, performance

This is indeed an odd situation… there is no good explanation about why this is like this.

https://databasearchitects.blogspot.com/2024/02/ssds-have-become-ridiculously-fast.html?m=1


My Notes on GitLab Postgres Schema Design – Shekhar Gulati

Tags: tech, gitlab, databases, sql, postgresql, performance

Nice exploration of the GitLab database schema. This highlights and finds quite a few of the choices made with an eye on performances.

https://shekhargulati.com/2022/07/08/my-notes-on-gitlabs-postgres-schema-design/


JavaScript Bloat in 2024 @ tonsky.me

Tags: tech, web, frontend, javascript, quality

Something is definitely bonkers regarding the use of JavaScript on the web. The amount of bloat is staggering.

https://tonsky.me/blog/js-bloat/


htmz - a low power tool for html

Tags: tech, web, frontend, htmx

Looks like an interesting trick for more dynamic HTML frontends with very limited used of Javascript. Inspired by htmx it seems to go one step further in the same direction.

https://leanrada.com/htmz/


This message does not exist | Mark J. Nelson

Tags: tech, ux

Or why wording matters… this is clearly a user design fail in this case.

https://www.kmjn.org/notes/message_existence.html


Okay, Color Spaces — ericportis.com

Tags: tech, gui, colors, mathematics

Neat article about colorspaces. Definitely worth reading if you’re curious about the topic. It also has interactive bits to ease the understanding.

https://ericportis.com/posts/2024/okay-color-spaces/


Useful Uses of cat

Tags: tech, modules, design, shell

Turns out to be an interesting discussion about modularity. It’s probably a good approach even for a one liner in a script.

https://two-wrongs.com/useful-uses-of-cat


Agile is a tainted term

Tags: tech, agile, project-management, change

Definitely true. This is why I refrain from using the term nowadays… this allows to focus on the principles instead. Takes more time to explain but allow for slow and steady change management. Indeed it’s not perceived as an all or nothing situation anymore.

https://www.pcloadletter.dev/blog/agile/


On Managing Expectations - Leadership & Work

Tags: management, business, communication

Definitely this. Managing expectations is a big part of management. It’s also important for customer relationship. In both cases, clear communication and finding misunderstandings early are key.

https://poczwardowski.substack.com/p/on-managing-expectations


Coding interviews are effective

Tags: tech, hiring, interviews

Definitely true, this is mostly about avoiding false positives. Still I don’t like online assessments platforms either… you need to see how the candidate is doing, interact with them, etc.

https://www.pcloadletter.dev/blog/coding-interviews/


Gathering Structures

Tags: management, conference

Very comprehensive list of tips and ideas to organize events and get together. Nice for inspiration if you need to organize such a thing.

https://maggieappleton.com/gathering-structures



Bye for now!

It’s time for another foss-north again and the Call for Papers is open (as is the Call for Sponsors, hint, hint, nudge, nudge). Make sure to save the dates (April 15-16), get yourself a ticket, and submit your talk!

Happy weekend!