Skip to content

Monday, 6 September 2021

Head of a tiger, looking to the left

Could you tell us something about yourself?

My full name is Mohammad-Ali Bahabadi, but I sign with my shortened version of my name, Ali Bahabadi. I was born in 1983 in Iran. I got a master’s degree in art conservation but I have been working as graphic designer for several years.

Do you paint professionally, as a hobby artist, or both?

At the moment, I am practicing painting just to increase my artistic abilities. But I am still young enough to become a professional painter. And I think this is a fascinating job.

What genre(s) do you work in?

In the first place, I want to master realistic portraits of animals. I have always been interested in animals.

Head of a rottweiler dog

Whose work inspires you most — who are your role models as an artist?

Michelangelo and Da Vinci have always inspired me. Especially Michelangelo. I also find it astonishing how Rembrandt used light in his works. I have also been influenced by a lesser-known Iranian painter named Mohammad Siah Qalam, who lived in the 14th and 15th centuries. He has strange paintings of imaginary creatures that are very impressive compared to other paintings of his time.

Aaron Blaise‘s paintings also assure me that animals are good subjects for making art.

And a great image-maker that recently I came to know about, Heinrich Kley. No doubt that he will change my approach to painting.
Of course, photographers like Ansel Adams, Nick Brandt, and Henri Cartier-Bresson have always inspired me. I have been photographing for many years and even professionally for several years.

All of these are great artists and have had a profound impact on me, but none of them are really my role models.

Head of a young cat

How and when did you get to try digital painting for the first time?

For the first time, 7 or 8 years ago when I bought a new Wacom graphic tablet. But I really was not very successful at the time. Perhaps I was expecting magic from the digital painting. And since then, except for what I used to draw and to paint on my Android tablet for fun or on a trip, I hadn’t taken digital painting seriously. Until my birthday this year, July 25th, 2021, when I made a serious decision to paint digitally. In other words, I’m still very new.

What makes you choose digital over traditional painting?

With more speed and possibilities, I can make fundamental changes in my painting at any stage of my work. Also, I paint digitally because of ease of sharing, being cheaper and, of course, I think it would be more favorable for the environment.

How did you find out about Krita?

I was already familiar with Krita when I was looking for an alternative to Photoshop. I think I even have an old version of Krita on my laptop. And when I decided to take digital painting seriously, my first choice was Krita.

Head of a fox

What was your first impression?

Krita had a very pleasant user interface. On the other hand, because I was proficient in Photoshop, I could easily understand the user interface and saw that I could use the same shortcuts. In less than an hour, I felt that, yes, this software was really made for digital painting, and I really felt comfortable with it.

What do you love about Krita?

I really like Krita. But when I first realized I could hold down the Shift key and draw my pen on the tablet and see that its size changes, I fell in love with Krita.

What do you think needs improvement in Krita? Is there anything that really annoys you?

If the selection tools and text tools improve, I may no longer need Photoshop.

What sets Krita apart from the other tools that you use?

Krita is free and easily accessible. This is great. But I think focusing on digital painting makes it fantastic.

If you had to pick one favourite of all your work done in Krita so far, what would it be, and why?

Maybe this cat.

Head and part of the torso of a fluffy white cat

Two weeks before I drew this cat, I had drawn a cat which I think was awful. The next week I drew another cat and left it half-finished, and I drew another cat and tried to hide its flaws under its fur. But it was not good either. So I decided to draw only cats every day for at least a week. And after a week I drew this and I was almost satisfied with it (please see my progress in drawing this cat in the photos below).
Progress pictures of cat drawing

And here’s a timelapse:

What techniques and brushes did you use in it?

I tried different brushes. But I feel more comfortable with those brushes that mimic pencils and charcoal. But I also try to use the other brushes if necessary.

Where can people see more of your work?

This is my website address:

I am also available on YouTube, Instagram and Facebook.

Anything else you’d like to share?

I am new to digital painting, but I think that digital painting has made it easier for me to paint, and in a short time it has made me a better artist. Although this change might be small, I can easily feel it myself. Almost every day I paint a new painting, which I believe it is not so easy be achieved in the traditional way. I need to thank everyone who contributed to the development of Krita. I have had the possibility of digital painting for many years. I had both a good graphic tablet and the most expensive graphic software available to me. But I think there was something in Krita that encouraged me to paint every day. Krita has a friendly spirit that accompanies me in painting.

The post Interview with Ali Bahabadi appeared first on Krita.

Saturday, 4 September 2021

Note: Kalendar is still under heavy development. You’re free to poke around and try it out, but it is not yet final software! If you want to contribute to its development, join us in Kalendar’s Matrix room. This week, we have made some more UI tweaks to Kalendar, making it easier and faster to use …

The first maintenance release of the 21.08 series is out fixing regressions to Fade transition and Position and Zoom effect (when applied to bin clips) also, on Windows, Text to Speech is working again. This version adds the ability to import motion tracked data to the Alpha Shapes and Alpha Shapes (mask) effects.


  • Compile MLT with GCC 9 – fixes brightness effect corruption. Commit.
  • Fix mix crossfade sometimes using wrong order (starting at 100% and ending at 0%) instead of reverse. Commit.
  • Upgrade document version and fix custom affine effects for MLT 7 when. Commit.
  • Make it possible to import mlt rect keyframes to frei0r.alphaspot. Commit.

Outlook for the next major release

In other news work on the 21.12 release has started with some very exciting features coming! Below is the initial implementation of the new multicam editing tool.

The Slip mode of the upcoming Advanced Trimming feature is done, up next is Ripple. 😉

KDE Frameworks provides a syntax highlighting engine with support for more than 300 different configuration, markup and programming languages, known for example for its use in Kate. With KDE Frameworks 5.86 this is now also directly usable from withing QML.

Basic Highlighting

Eike created basic standalone QML bindings for KSyntaxHighlighting some time ago already, which have been used as the basis for what’s now integrated upstream.

If all you need is doing syntax highlighting for a fixed language and using a color theme matching the current system palette this is a matter of just a few lines of code:

import QtQuick.Controls 2.15
import org.kde.syntaxhighlighting 1.0

TextArea {
    text: "..."
    SyntaxHighlighter {
        id: myHighlighter
        textEdit: parent
        definition: "C++"

Advanced Use

For more complex uses the syntax definition might not be fixed but depend on input data (e.g. derived from its mimetype or file name), or a user selection. In the C++ API this is enabled by the Repository class, which is now also available in QML as a singleton object.

The following example shows how to use this for a simple syntax selection combo box.

ComboBox {
    model: Repository.definitions
    displayText: currentValue.translatedName + " (" + currentValue.translatedSection + ")"
    textRole: "translatedName"
    onCurrentIndexChanged: myHighlighter.definition = currentValue

Handling color themes is also possible, similarly to syntax definitions. Themes can be listed, their properties can be accessed and they can be set by theme object or name on the highlighter. Like in the C++ API it’s also possible to just ask for the light or dark default theme.

There’s a QML example demonstrating all that which can be run with qmlscene.

KDE Frameworks 6

One of the goals for KDE Frameworks 6 is to have QML bindings directly integrated with the corresponding frameworks themselves. Doing this during the lifetime of 5 allows us to identify issues in the C++ API that we can then adjust in 6 to minimize the need for wrapper or glue code. This reduces maintenance cost and improves usability by making both APIs more similar.

Along those lines there are also QML bindings for KNotification in review.

…Including many for the Plasma Wayland session! It’s finally reaching stability. I’m using it myself as a daily driver now. At this point my biggest annoyances are all with 3rd-party apps, not any KDE software. I know it’s taken a while, but I think we’re very nearly there!

Anyway, check out the full list:

New Features

When you click the Apply button in System Settings’ Display Configuration page, it now offers to revert any changed settings that could result in brokenness, and does so automatically in 30 seconds to handle the case where the new settings are so messed up that you can’t even see anything (Chris Rizzitello and Zixing Liu, Plasma 5.23):

In the Plasma Wayland session, it is now possible to adjust the Intel GPU driver’s Broadcast RGB settings (Xaver Hugl, Plasma 5.23)

Bugfixes & Performance Improvements

Renaming a file or folder that matches the current filter text in Dolphin now causes the file or folder to correctly disappear from view when its new name no longer matches the filter text (Eugene Popov, Dolphin 21.08.1)

Dolphin no longer crashes if you try to do something crazy like make the trash entry in the Places panel point to /dev/null, or otherwise edit any entry to point to a location that does not technically or actually exist (Jan Paul Batrina, Dolphin 21.12)

Dolphin no longer sometimes fails to open the terminal app when you use its “Open in Terminal” action (me: Nate Graham, 21.12, though I have encouraged distros to cherry-pick it to 21.08)

Icons for remote folders in Dolphin now always have the correct icon (Méven Car, Dolphin 21.12)

Removable devices, discs, and SD cards once again appear as expected in the Disks & Devices applet after being unplugged and then re-plugged (Fabio Bas, Plasma 5.23)

In the Plasma Wayland session, you can now drag-and-drop stuff between native Wayland and XWayland apps! (David Redondo, Plasma 5.23)

In the Plasma Wayland session, it’s now possible to change the screen resolution when run in a virtual machine (Méven Car, Plasma 5.23)

In the Plasma Wayland session, virtual desktops are now remembered on a per-activity basis (David Redondo, Plasma 5.23)

In System Monitor and the Plasma applets of the same name, the “GPU Usage” sensor is no longer incorrectly represented as always being 100% full, “Total Disk Space” is no longer incorrectly computed when there are encrypted disks present, and the “Uptime” sensor no longer disappears after Plasma is restarted (David Redondo, Plasma 5.23)

Notifications sent by Flatpak’d apps are now correctly identified with the sending app (Kai Uwe Broulik, Plasma 5.23)

The Plasma wallpaper chooser no longer displays a cut-off placeholder label when there are no wallpapers in any of the configured search locations (me: Nate Graham, Plasma 5.23)

In System Settings’ Users page, the list item for your user no longer looks weird if you haven’t filled in a real name (me: Nate Graham, Plasma 5.23)

System Monitor and the Plasma applets of the same name now discover more AMD GPU sensor data (David Redondo, Plasma 5.23)

Fixed multiple issues affecting NVIDIAs GPU users in a Plasma Wayland session, such as windows failing to update their content after being resized and KRunner never showing any search results (David Redondo, Frameworks 5.86)

Currency conversion in KRunner and Kickoff (e.g, type “500 USD” or “500 JPY in EUR”) now works again (Andreas Cord-Landwehr, Frameworks 5.86)

System Tray applets with expandable list items are now fully interactive when using a stylus and no longer sometimes bizarrely exhibit overlapping content when there is enough stuff in the popup to make it scrollable (me: Nate Graham, Frameworks 5.86)

Applications launched from a global shortcut now appear as expected in System Monitor’s “Applications” page (David Redondo and Nikos Chantziaras, Frameworks 5.86)

Kirigami-using apps are now significantly faster to launch (Arjen Hiemstra, Frameworks 5.86)

There is now a default keyboard shortcut to open the “Configure keyboard shortcuts” window: Ctrl+Alt+Comma. Yo dawg, I heard you like keyboard shortcuts… (Someone going by the pseudonym “empeyreal one”, Frameworks 5.86)

In the Plasma Wayland Session, images copied from Spectacle now appear correctly (Jan Blackquill, Qt 6.2 or Qt 5.15.3 with the KDE patch collection)

User Interface Improvements

Double-clicking on the splitter in Dolphin’s split view now resets it to the middle (Eugene Popov, Dolphin 21.12)

Konsole no longer confuses you by letting you try to edit the read-only built-in profile; instead the menu item to do so now says “Create new Profile” and takes you to the place where you can make a new profile (Ahmad Samir, Konsole 21.12)

In the Plasma Wayland session, dragging a file over another window no longer immediately raises that window; there’s now a delay like there is in the X11 session (Xaver Hugl, Plasma 5.22.5)

When using offline updates (the style of update where everything is applied on the next reboot), Discover no longer irritatingly and aggressively asks you to reboot, since you can safely take your time about it (me: Nate Graham, Plasma 5.23)

System Settings’ Audio page now integrates all of the few functions of the configure page into the relevant items of the main view that they affect, making them easier to access and removing a sub-page (Ismael Asensio, Plasma 5.23):

Folder View icons /icons on the desktop now wrap their text at CamelCase word boundaries, like Dolphin’s icon view does (Ivan Tkachenko, Plasma 5.23):

The background blur effect is no longer so grainy on Wayland (Tatsuyuki Ishi, Plasma 5.23)

System Tray popups with expandable list items are now much improved in their visual consistency, scroll responsiveness, keyboard navigability, and overall stability (me: Nate Graham, Frameworks 5.86)

Throughout various QtQuick-based software, buttons that are showing both an icon and text no longer display a redundant tooltip that duplicates the button’s text; now they only show this when the button’s text has been auto-hidden due to space constraints (Kai Uwe Broulik, Frameworks 5.86)

…And everything else

Keep in mind that this blog only covers the tip of the iceberg! Tons of KDE apps whose development I don’t have time to follow aren’t represented here, and I also don’t mention backend refactoring, improved test coverage, and other changes that are generally not user-facing. If you’re hungry for more, check out, where you can find blog posts by other KDE contributors detailing the work they’re doing.

How You Can Help

Have a look at to discover ways to be part of a project that really matters. Each contributor makes a huge difference in KDE; you are not a number or a cog in a machine! You don’t have to already be a programmer, either. I wasn’t when I got started. Try it, you’ll like it! We don’t bite!

Finally, consider making a tax-deductible donation to the KDE e.V. foundation.

Friday, 3 September 2021

Introductionary story

There are several memes circulating the Linux space: not knowing how to exit vim, invoking sudo to get someone to make you a sandwich, how Linux is the stuff clouds are made of, &c &c.

Recently I fell victim to my own stupidity and re-created one such meme – I managed to rm -rf {$important_directory}.

Oh, sure, I used Git, but what does Git’s history help you, if you deleted the whole repository.

Luckily, after I made some tea and calmed down, I remembered I had working backups1, so all was fine, but lessons were learnt (for the umpfth time) …and today I will tell you how to avoid this issue in the first place. (But do set up backups still!)

Enter Trash

When using graphical interfaces we are used to there being an intermediary space – the trash can / recycling bin – that we can rummage through for unintentionally deleted files. In the CLI though the machine just does what we tell it to do. Especially if we --force it to do so.

And this difference is what is the cause of mishaps – such as mine last week.

What then if rm would work like deleting things in your graphical file manager? That you could find stuff still in the “Trash bin“?

What if I told you that is exactly what Trash-CLI does? :)

Basic use of trash

In practice what you do is simply trash {$file} or trash {$folder}.

Yes, no need for --recursive and --force flags! Just one command to remember – it is that simple. And what you removed will land in the .Trash/ folder instead.

The full command list is pretty easy to understand as well:

  • trash-put, or simply trash – trash files and directories
  • trash-empty – empty the trashcan(s)
  • trash-list – list trashed files
  • trash-restore– restore a trashed file
  • trash-rm – remove individual files from the trashcan

Interacts with your Desktop

Even better than that, trash is not reinventing the wheel, but actually a CLI implementation of’s Trash Can specification.

That means that whatever you delete with trash in the console will also be seen in the “Trash bin” in your DE or file manager. So if you use a DE or file manager that already makes sure your “Trash bin” does not fill up your whole disk, the very same rules will apply automatically to what you removed with trash.

Vice-versa, in the CLI trash-list will show also all the files deleted in your graphical file manager.

You can even do cool things like first removing all the temporary files from the trash bin with trash-rm '*~'2 and sifting through the rest more easily in the graphical file manager of your choice.

Should I make rm an alias for trash?

I was thinking about that as well, and decided against it. While trash can parse (or rather take and ignore) the most common rm flags, I think it is a bad idea for completely non-technical reason.

Imagine you have rm as an alias for trash and get used to continue to use rm for everything. Then on another machine you do not remember to (or cannot) install trash, and your continue to think rm sends files to .Trash/. You will be even more careless with rm relying on a safety net that might, or might not be there.

Instead I warmly recommend to just re-train your muscle memory to trash files, and use rm extremely sparringly. rm is a potentially dangerous command, and we should treat it with due respect.

If you are still not convinced, see these two FAQ entries in the projects own README file.

Get Trash!

I hope I convinced you to do the sane thing and start using trash as your primary means of deleting files, so we can all avoid the pain and frustration of an accidental rm -rf.

Take note though, that there are several packages with a similar name. At least on Arch/Manjaro and Debian/(K)Ubuntu the package I described above is called trash-cli.

Hat-tip to Cleydyr Albuquerque for telling me about this gem.

Also, if you have not yet – set up backups! Like right after you have installed trash-cli.

hook out → I use Arch, BTW …well, actually Manjaro, but close enough for this joke OJO

  1. For several years now I use Borg backup and am very happy with it. I might write about it some day. 

  2. You need to escape the special characters, so the globbing gets done by trash and not by the shell itself already. 

Let’s go for my web review for the week 2021-35.

Why William Gibson Is a Literary Genius | The Walrus

Tags: literature, scifi

One of my favorite writers, to the point it shaped quite a bit of my life (not kidding)… I can only agree with this.

Samsung seemingly caught swapping components in its 970 Evo Plus SSDs | Ars Technica

Tags: chip-shortage, samsung

Impacts of the chip shortage keep happening…

EXCLUSIVE Microsoft warns thousands of cloud customers of exposed databases | Reuters

Tags: tech, cloud, security, azure, microsoft

Now that’s a big security flaw… Let’s all put all our infrastructure “in the cloud”, what could possibly go wrong?

Data In The Dark: How Big Tech Secretly Secured $800 Million In Tax Breaks For Data Centers

Tags: tech, data-center, gafam

When no one wants them in their backyard, they switch to smoke and mirrors tactics. Maybe it’s time to reevaluate the social cost of those infrastructures? It’s quite clear that it’s infused with public funds.

How Lord of the Rings changed big-screen battles forever - CNET

Tags: tech, multiagent, movie, ai

Very nice piece about one of those important pieces of simulation used on screen. Multi-agent systems for the win on that one. ;-)

The Art of Not Taking Things Personally | by Dave Bailey | Aug, 2021 | The Founder Coach

Tags: coaching, emotions

Interesting set of patterns to maybe get a clue at what a particular behavior is hiding.

How to do a code review | eng-practices

Tags: tech, programming, codereview

Bumped into this. It’s indeed nice, full of good advises for handling code reviews.

Bye for now!

A few days ago I joined the Eclipse Foundation as Program Manager, working remotely from Spain.

As you probably know by now, the Eclipse Foundation has become an European non-profit organization and they are strengthening their team in Europe. The organization reach has always been global including a team in Europe, but this formal movement means that there is now a solid Open Source organization to host collaboration projects created by corporations and companies for commercial purposes, under EU laws, which has interesting implications at different levels.

After contributing to KDE and being part of its Board of Directors, working at ASOLIF (Spanish trade federation of associations of FOSS companies) as executive, being a line manager at Linaro, leading the GENIVI distribution as supplier or contributing to different initiatives at the Linux Foundation as member representative, being part of one of the most relevant organizations that provides a neutral environment to different type of organizations helping to create and consolidate projects is very appealing to me.

Once I finalize my on-boarding process I will write about what I do at the Eclipse Foundation (EF) and what it is like to work and contribute there. Many of the people I know, especially those that come from the OS/distro world do not know much about EF. That was the case for me not too long ago. It still is. There is so much going on and this organization has such a great history… I will write about what I see and learn so you know this organization a little better in the future.

Thursday, 2 September 2021

The Qt Company recently compared the latest Long Term Releases Qt 5.15 and Qt 6.2 of its software development platform consisting of design, development, and quality assurance applications plus various software libraries, referred to in this post as modules. This blog post, intended particularly for product and R&D leaders, summarizes the main findings of the comparison.

Comparing two major releases is never trivial, especially when there are eight years between their initial releases, the comparison highlights that there is enough feature parity for most customers to move to the Qt 6.2 LTS release., It’s important to stress that we at Qt have been laser-focused on providing Qt 6 with as much source compatibility as feasible. In addition, Qt projects can find plenty of resources in the Qt online documentation helping with the source code migration. We also offer professional services helping with the transition to Qt 6.

The Qt 6.2 Long-Term-Supported (LTS) release includes several innovative improvements allowing customers to adopt Qt as a future productivity platform, designing beautiful next-generation user experiences and scaling their product portfolio without limits. The Qt 6.2 LTS release does include also all-new functionality such as advanced 3D UX capabilities and hardware-accelerated graphics for Vulkan and Metal technologies. Qt 6.2 includes also the Qt Shader Tool module, which enables advanced graphics experiences.

Out of the 77 components that comprise the Qt 5.15 LTS release, 72 are either available in Qt 6.2 LTS out-of-the-box, the functionality has been merged into other components such as the Qt OpenGL Module, or they have been already deprecated during the lifetime of Qt 5 such as the Qt Script modules.

Five out of 50 add-on modules have not been included yet. For example, the Qt Location add-on module providing capabilities to draw maps in applications has not been used in many products using Qt. The same is true for the Qt Speech add-on module, which provides a single text-to-speech functionality. The add-on modules Qt PDF and Qt Gamepad had also only few adoptions among developers, making the justification to port them to the re-architected Qt 6 release challenging. The future of the Qt WebGL module has not been decided yet and, therefore, it is not included in the Qt 6 series. We are evaluating concepts and technologies that allow Qt applications to be operated remotely. WebGL might be a part of this in the future, but we don't want to commit to any particular technology at this point. Let us know if and how you are using any of these 5 modules for planning the future roadmap. The Qt license allows customers to embed relevant code from the Qt 5 software stack to Qt 6.

A comparison of individual features or API level is also important. We at Qt try to focus on describing the differences on feature level when there have been many changes (Check out the related posts on Qt Multimedia and the Qt Extras modules on this blog!). For example, the Qt Multimedia module will deliver on the cross-platform promise unlike Qt 5.15 reducing the development effort with Qt 6 but might miss a few capabilities. We also added some all-new functionality to the Qt Multimedia module such as rendering of subtitles. Then again, some modules such as the Qt Quick 3D module have been getting an increase of functionality required for the all-new 3D experiences such as mesh morphing and particles effects.

Moving forward, the Qt Product Management Team’s goal is to fill any gaps that may prevent projects from being successful also with Qt 6 by using a customer-centric approach. We’ll keep our radars fully powered for any change in priorities. Do get in touch through our online support channels, the open-source contribution channels, or talk directly to your customer success contact.

If you want to know the details of the comparison do check on the Qt 6.2 comparison web page web page or watch the webinar on the same topic.