September 22, 2019




It's 10 days already since Akademy 2019 finished and I'm already missing it :/

Akademy is a week-long action-packed conference, talks, BoFs, daytrip, dinner with old and new friends, it's all a great combination and shows how amazing KDE (yes, the community, that's our name) is.

On the talks side i missed some that i wanted to attend because i had to extend my time at the registration booth helping fellow KDE people that had forgotten to register (yes, our setup could be a bit easier, doesn't help that you have to register for talks, for travel support and for the actual conference in three different places), but I am not complaining, you get to interact with lots of people in the registration desk, it's a good way to meet people you may not have met otherwise, so please make sure you volunteer next year ;)

One of the talks i want to highlight is Dan Vrátil's talk about C++, I agree with him that we could do much better in making our APIs more expressive using the power of "modern" C++ (when do we stop it calling modern?). It's a pity that the slides are not up so you'll have to live with Kévin Ottens sketch of it for now.



My talk was sadly not very well attended since i was sharing time with the more interesting talk by Marco and Bhushan about Plasma in embedded devices (i would have gone there if it wasn't because i had a talk) so if you're interested in fuzzing please read my slides and give me a shout if you want to volunteer to help us fuzz all the things!

On the BoFs side one of the hardest but most interesting we had was the one about KDE Applications (the N things we release monthly in one go) vs KDE applications (all applications made by us), and i think we may be on the right track there, there's a plan, needs finishing out, but I'm confident it may actually work :)

One of the things that shows how amazing this conference is and how many interesting things are happening is the fact that i made a small list of bugs i wanted to work on if i ever got bored of the talks or the BoFs, i don't think i even started on any of them ^_^

Akademy 2020

Akademy is a core event for KDE and we need to find people to help us organising it every year. If you think you can help, please have a look at the call for hosts document.

Thanks

I would like to thank the UnixMiB friends for hosting us, i know it's lots of work and i hope you know we all very much appreciate the effort you put in.

I would like to thank the Akademy-team on KDE's side too, you are amazing and pull out great work year after year, keep it up!

I would like to thank the KDE e.V. for partially sponsoring my attendance to Akademy, please donate to KDE if you think the work done at Akademy is important.

At the very beginning of this blog I mentioned that I might not only talk about technical topics but also about political or philosophical ones. Until now I successfully managed to avoid that but over three years later this is the first article about such a topic.

It is though directly related to me being part of the KDE community and my work on KDE software. In the last few weeks I noticed a rise in political activism in KDE what I see critical. The climax was two days ago an official endorsement of the Global Climate Strike on KDE's social media accounts. Why this straw broke the camel's back and how if at all I think KDE can be political, I will expand upon in the following.

Worse activism

Let us first dive into some current political activism in KDE and why I see it as damaging to the community.

Grasping at plastic straws

Talking about straws there is a discussion ongoing already since July on the member mailing list of the KDE e.V. (that is the legal body representing the KDE community in official matters) about an environment responsibility policy for KDE.

I would not feel comfortable bringing this discussion in detail to the public without prior consent of the KDE e.V. board or the people involved so please excuse me that I won't expand on it much more. But what I can say is that the current draft still reads like the law book of a cult covering every little aspect of its members' lives.

For example people are supposed to have QR Codes on their business cards so that other people can scan these instead of having to hand over – and by that wasting – a paper card. I am not sure if the battery power used for scanning a QR code with a smart phone offsets the energy involved to produce a single business card but it would be an uninteresting thing to calculate for sure.

In all fairness the draft would likely go through several further iterations smoothing out lots of the weird and extreme demands before having a chance of becoming a policy but that we even have to spend time discussing such nonsensical ideas is difficult to comprehend.

Especially if one thinks of how little impact this will make with the 5 to 100 nerds going to a KDE event each time.

This reminds one of the discussion about plastic in the ocean often exemplified in the media by plastic straws we use in drinks and so on. But even without knowing any numbers it should be obvious to anybody that plastic straws can not be a huge polluter to our environment in comparison to all the other packaging private persons and the industry use up on a daily basis. Still the general public and even politicians like to concentrate on straws instead of real issues.

Hashtag ClimateStrike

Why do we talk about plastic straws and not other packaging or fishing gear? Because the first is easy to understand. We all know what it is and how it looks. We have an image of it in our heads. The straw is a symbol.

One could think it does not matter if all the details are right, symbols are more important. There needs to be something easy to grasp so people can rally behind it. By this logic also the Global Climate Strike (or any other strike) is a symbol to generate alertness and all kind of internal conflict that the loss of detail induces is justifiable by that. So all good?

Not really. KDE's primary objective is and must stay free software. This is what unites us in KDE independent of our other believes, opinions or socioeconomic and cultural background. Using KDE as a platform to grow interest into other maybe also important but unrelated topics through political symbolism will erode this base on what the community stands.

And that this will be the outcome is easy to see. Just look at the responses the KDE climate strike endorsement received on Twitter or Facebook.

On Twitter besides evoking people that call themselves Don Trumpeone and Anarcho-Taoist we have the marketing lead of KDE telling another user and self-proclaimed "KDE fan" that he should not use our software anymore because the user has the wrong opinion about climate change.

Personally I also think that the user's opinion about climate change is wrong but I would never tell him that he should not use free software anymore because of this. These reactions are divisive to the core and it was already the outcome only few hours after the original endorsement was published.

The conflicts this activism creates are the one thing. On the other side I just do not want to believe you have to use simplified symbols to gain people's interest in political topics, I do not want to believe that even today we can not make the world better without shouting at each other and hating people for their different opinions.

I think the modern tools we have nowadays could allow us to be better in this regard. But more about such tools and what role KDE could play here at the end of this article.

Hey guys!

Before that another topic I want to strive quickly because it is getting on my nerves: the constant reminder of a handful of people at KDE events, in particular Akademy, to use inclusive language like addressing a group of women and men as "people" or "humans" instead of "guys".

I get it! Tech is not diverse, there are a lot more men than women and you want to change that for whatever reason you see fit. Personally I don't see an issue per se. I think most women just like to do different things, that sexes are different in this respect. But on the other side modern gender science also has some interesting arguments worth considering. And putting some resources into outreach programs might still be a good idea. After all especially in young years men and women are influenced by their peers and such programs could counterbalance.

But whatever your opinion is, stop trying to shove it everyone else in the face by telling them they should not use the word "guys" which is totally common in the above context. Especially don't do it when the person you think about lecturing is at the moment holding a talk about free software in front of hundreds of people. It is annoying for the people in the audience and quite frankly rude to the presenter to disrupt his talk.

My own theory is that this speech regulation is just another form of elitism to differentiate the money and cultural rich from the poor. At least it reminds me of French being the language of the nobles some hundred years ago and I have yet to meet the child of a working class family that does not find this inclusive language utter nonsense.

Stallman

When we are talking about speech regulations I want to also quickly address the resignations of Richard Stallman since it happened recently and some people in KDE showed their support of that rather openly.

From what I read the media twisted his words on what he had to resign for in the end. On the other side it was reported by multiple credible sources that he also showed some unprofessional behavior in the past in regards to women. Then again does this already warrant his expulsion? Or that he published some questionable statements in his blog years ago? On the other side do his overall behavior and antics not hinder the spread of free and open source software overall?

So we can see that it is complicated. Also neither did I know him personally nor did I ever read his blog. When judging one way or the other it would be good if more people admitted this to themselves and would just say "I do not know". That said there are certain things to keep in mind regardless of how well one knows the circumstances when we talk about accusations of bad thoughts or behavior.

People should be given the opportunity to express their opinions freely and without fear of repercussions and they should be allowed to change their opinions again if they got convinced they were wrong. This holds also or even more true for people in power. Otherwise they might hide their real opinions and form policies with hidden agendas. Or we just get opportunists without opinions. Also not ideal.

If a person in an official position is hindering the progress of open source for certain reasons then this person should be replaced. But for these reasons and not because of something unrelated he said on an internal mailing list or on a personal blog years ago that got read probably only by a handful of people. And of course one should give this person the chance to better himself before demanding his resignation.

At last ask yourself who benefits from a call for resignation. Maybe the people's motives are pure, but own interest might be involved as well. Especially when a company asks for it. Most companies are still there first of all for their own profits. On the other side do not drift into conspiracy theories, just be wary and give the criticized person the benefit of the doubt.

Better politics

After criticizing some of the current damaging activism in KDE I want to give some ideas what political goals our community actually could unite around besides the promotion of free and open source software. I will keep this part short but if there is interest in some of these ideas future articles could go deeper.

Code literacy

I believe the number one skill to learn in the future besides reading and writing will be to code. And with that I don't only mean learning the formal rules of some programming language but to think in logical steps, test own hypotheses and find the right level of abstraction to understand and solve a problem.

This is not only a program for the western world. It can give rise to the living standards and social conditions of people in any culture.

KDE with contributors from all around the world and with different levels of coding knowledge is in a prime position to promote code literacy everywhere and to help governments and schools in achieving it.

Open government

How modern technology and in particular the web has changed our understanding of how politicians should interact with the public and how the public should influence the political discourse and its decision-making is a wide and interesting field.

And it does not stop at public institutions. Also private entities, in particular companies in quasi-monopolistic positions, must open up to the public discourse in reasonable ways.

In any case free and open source software is for me the foundation on what other ideas can grow in this area. If the public does not have access to the code the government or the platform holder uses for its open government program there will be only minimal and one-sided innovation.

KDE is in a unique position of providing free software, having this software been deployed in municipal governments already and being independent of any commercial or governmental influence. How about we reach out to one of the NGOs doing work in this important field already and see what opportunities there are?

Effective public discourse

This is somewhat related to open government but also to the overall topic on how we want to communicate with each other in the community and with the outside.

Again how and where we share thoughts and discuss topics has been changed dramatically with modern information technology. But sometimes when looking through discussions on Facebook or Twitter one could think for the worse.

I believe though there is no real change to us, just a rise in supply of opportunities to express ourselves. It covers the earlier unfulfilled demand. But this does not mean that already all possibilities have been exhausted and we can not improve any more on the current state.

I think the technology for effective ways of sharing thoughts, discussing ideas and finding consent is not yet fully developed. There are likely better ways and KDE with a legal body, an online community of individuals and many other official and private stakeholders has all the right reasons to look for and promote new technical solutions for fostering civil discourse and finding common ground.

Progressive solutions instead of divisive activism

The quintessence is neither that the KDE community should keep out of all political topics besides free software nor that it may only be active in one of the three areas I circumscribed above. For example I would very much support work on environmental friendly technology in KDE which would then also justify some political engagement.

But there must be work on such technology first and then the political engagement grounded on that, not the other way around. I am sure if people come forward with specific solutions instead of general opinions there will be no divisiveness afterwards.

And that is the overarching theme when I think of KDE. I joined the community also because it always felt like a collective of diverse people from all around the world being interested in creating pragmatic yet proper free software solutions for everyone no matter their race, gender, social background or political opinions to improve their own daily life, their education or their income. I hope we find ways to apply this down-to-earth technical mentality also to whatever related political goals we strive for in the future.

The KMyMoney development team today announces the immediate availability of version 5.0.7 of its open source Personal Finance Manager.

This release becomes necessary due to the new regulations of the PSD2 which affects the online banking availability for German users. To make KMyMoney compatible with them, especially the Strong Customer Authentication part, KMyMoney had to be adapted to updated APIs of the Gwenhywfar and AqBanking libraries which provide the banking protocol implementations. KMyMoney now requires a Gwenhywfar minimum version of 4.99.16 and an AqBanking version of 5.99.32.

Users who have a working setup with an older AqBanking version need to consult the AqBanking Wiki for update instructions before launching KMyMoney 5.0.7 for the first time.

Before the online functions are ready for use again, some more adjustments are necessary. Instruction are also provided on the AqBanking Wiki. These adjustments can be performed via the Settings/Configure AqBanking dialog accessible from within KMyMoney 5.0.7 and have to be performed per institution.

We and – more important – our users now eagerly wait for installable packages for the various platforms Linux/Mac/Windows and distributions to arrive. So all you packagers out there: it’s your turn.

Despite even more testing we understand that some bugs may have slipped past our best efforts. If you find one of them, please forgive us, and be sure to report it, either to the mailing list or on bugs.kde.org.

From here, we will continue to fix reported bugs, and working to add many requested additions and enhancements, as well as further improving performance.

Please feel free to visit our overview page of the CI builds at https://kmymoney.org/build.php and maybe try out the lastest and greatest by using a daily crafted AppImage version build from the stable branch.

The details

Here is the list of the bugs which have been fixed. A list of all changes between v5.0.6 and v5.0.7 can be found in the ChangeLog.

  • 374123 Date Entry change to land on month part instead of day part
  • 389944 Copy SEPA credit transfer fails
  • 395977 Schedule Reports show both sides of transactions
  • 400846 Outbox can’t edit a saved item
  • 407072 Scheduled Transaction Report does not show amount
  • 410391 Unable to change forecast days

Este domingo me apetece seguir promocionando eventos, y creo que lo hago ya que como no puedo participar en ellos de forma presencial al menos estoy presente de forma virtual. Hoy quiere compartir con vosotros los colaboradores y patrocinadores de Linux y tapas 2019, unos actores cuya importancia salta a la vista cuando te conviertes en organizador de eventos.

Colaboradores y Patrocinadores de Linux y tapas 2019

Todos los eventos necesitan una serie de elementos para que se lleven a cabo: organizadores, sede, ponentes, público, colaboradores y patrocinadores.

Si se piensa fríamente en realidad con los tres primeros se podría realizar, pero sin el cuarto no tiene sentido hacer un evento, sin los quintos mucha gente no se entera del mismo, y sin  el último se pierden muchas posibilidades de que el encuentro sea de mayor calidad para todos (subvenciones a ponentes, alquiler de equipos, regalos, refrigerios, etc.)

Por norma general, en la sección de colaboradores se incluyen aquellos medios de comunicación que nos hacemos eco del evento. En caso de Linux y tapas 2019 tenemos a:

Mientras que en el apartado de patrocinadores tenemos a:

Logo Bits Libres.ai

  • Bits Libres, una empresa leonesa, que ofrece soluciones tecnológicas integrales a lo largo de las necesidades de asesoramiento, distribución, compra, instalación y mantenimiento a sus clientes, los cuales suelen ser organismos oficiales, particulares y PYMESlogoFSP
  • Fundación Sierra Pambley,una entidad privada sin ánimo de lucro dedicada desde 1887 a actividades educativas y culturales en la provincia de León (España). Esta funcdación fue creada por iniciativa de D. Francisco Fernández-Blanco y Sierra-Pambley que la dotó con la mayor parte de su fortuna personal.

Desde el blog quiero agradecer tanto a colaboradores como patrocinadores el interés y el esfuerzo que están dedicando para que Linux y tapas 2019 de León sea un éxito.

Linux&Tapas 2019 de León

Colaboradores y Patrocinadores de Linux y tapas 2019Como ya sabrán los lectores habituales del blog, Linux&Tapas 2019 de León se va a celebrar el próximo 19 de octubre en el casco antiguo de León, concretamente en la Plaza de la Catedral de León.

El programa, como es habitual, es simple, pero nunca está de más recordarlo.

  • 12:30 – 13:00: Quedada en la Plaza de la Catedral de León
  • 13:00 – 16:30: Tapeo por el casco histórico
  • 17:00 – 20:00: Ponencias en la Fundación Sierra Pambley
  • 21:00: Cena
  • 24:00: Fiesta de despedida

En definitiva se trata de una jornada imprescindible si está por la zona y solo me queda animaros a que os inscribáis siguiendo este enlace.

Get ready for a massive load of improvement! And it’s all pretty darn shiny too because in addition to a ton of work on apps, we polished up Plasma to be as smooth as a marble for the 5.17 beta version (numbered 5.16.90), which is now available. The final product is due to be released in about a month, and as you’ll see, KDE contributors have been hard at work making it as awesome as humanly possible! A few things have slipped until the Plasma 5.18 LTS release, but that’s okay because it means 3 more months to polish them up.

Oh, one more thing before we begin: like Kate, Okular is now also available on the Microsoft store! This work is so important because Windows users who become accustomed to using free open source software on Windows are more easily able to switch to a fully FOSS platform, like a Linux distro running KDE Plasma. 🙂

New Features

Bugfixes & Performance Improvements

User Interface Improvements

How You Can Help

Do you like the idea of enticing Windows users by making KDE apps more available to them? If so, check out this post by Kate developer Christoph Cullmann. Relevant skills include build systems, packaging, and promotion It’s very important work, and a key part of the new “all about the apps” initiative.

You can also check out https://community.kde.org/Get_Involved, and find out other ways to help be a part of something that really matters. You don’t have to already be a programmer. 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.

September 21, 2019

KDE applications on Windows?

One of the new goals of KDE is to spread the use of the applications created by the KDE community. This doesn’t only include the use of them on Linux & other Unix-like operating systems, but Windows, too.

The Successes :)

The KDE community has some successfully cross-platform applications out there, like Krita and GCompris. The teams behind these applications did some great job to both develop & market them for all operating systems, including Windows.

The Remaining Stuff :(

Wheres many KDE application can already be built on Windows since years, they have not found a wide spread use there.

For example Kate, the text editor I maintain, is there mostly unknown. Actually most of the applications we ship with the KDE Applications releases are not widely known on Windows (nor used).

The Plan!

Already last year we came up with the task to bring more of our applications to the official Microsoft Store to increase their visibility for the average Windows user.

The Building Blocks

Hannah von Reth & Kevin Funk provided the means to achieve this:

  • Craft - a meta build system / package manager that can be used on Windows for our stuff
  • KDE Binary Factory - a CI that actually even creates fully signed installers and packages for the store!

Without their work, nothing would have happened for the “we publish stuff in the store” task.

More details about that can be found in the wiki and older blog posts:

Our Progress :=)

Based on that work, some applications got now published with the KDE e.V. account to the Microsoft Store. The first was KStars and after a long gap Kate & Okular followed.

Direct links to the store entries can be found below (the screenshots are in German, made in a Win10 VM, yes, i18n works on Windows just fine):

Help Wanted!

At the moment, this is the effort of only a few people and it will only be sustainable if we gain more support.

Therefore, if you are interested in bringing more of our applications to Windows and helping to maintain them, join in at this Phabricator task.

The tooling might still be a bit rough to use in some places and the documentation is not perfect, but this can be improved!

Why all that?

I think there is a large user base on Windows that might benefit from our applications and we will benefit from potential more contributors, too.

Some might say: “Why shall we provide our applications on a proprietary operating system? People shall use fully open systems!”

I say: “Why shall we ignore all the people that are stuck with a proprietary operating system out of whatever reason?”

P.S.

And no, the idea is not to publish the stuff exclusively in the Microsoft Store.

The KDE Binary Factory outputs normal installers and portable archives, too.

The Microsoft Store is just a good way to advertise our applications to a broader scope of potential users. The KDE e.V. published applications are there available for free but you can use any other means to install them.

Feel free to join the discussion at the KDE reddit.

Back in 2011, we decided to remove the External Tools plugin in Kate for the KDE 4.8 release, since it was unmaintained and we got more and more bugs that were not fixed. However, over the years, we got many requests (and complaints) to bring this plugin back to life, since it was very useful to start little helper scripts with just a shortcut, via the command line, or the menu.

The good news is that for the KDE Applications 19.12 release, the External Tools plugin will be back! And it is much improved compared to the previous version.

I’ve been looking at many external tools implementations, including Microsoft Visual Studio, Visual Studio Code, CLion, KDevelop, Eclipse, and Qt Creator. And I must say the implementation in Qt Creator was by far the most flexible one, so that’s what I used as reference.

So let’s have a look. Once you enable the plugin, a new entry “External Tools” appears in the config page. Selecting the “External Tools” entry, you will be presented with several tools by default:

Editing a tool opens a config dialog that allows fine-grained configuration of the tool:

As you can see, many details can be defined, namely:

  • Name: The name of the tool, which will later appear in the menu.
  • Icon: Optional icon that is visible in the menu.
  • Executable: the executable. You can either provide an absolute path, or your executable must be in the PATH environment variable.
  • Arguments: Optional arguments that are passed to the process.
  • Input: Optional input that is passed to the process via stdin.
  • Working directory: The working directory the tool will be started in. If empty, the working directory is set to the current document’s path.
  • Mime types: If set, the tool is active only if the current document’s mime type matches.
  • Save: When invoked, saves none, the current document, or all documents.
  • [ ] Reload current document after execution: Useful when the current file is modified on disk.
  • Output: The output defines the target of stdout.
  • Editor command: Optional command that can be used to invoke the external tool via Kate’s built-in command line (by default shortcut F7).

Support for Variables

The Executable, the Arguments, the Input and the Working Directory support variables that are expanded on tool invocation. This is indicated by the icon {} that appears once one of these text input fields has focus (cf. red circle):

Hovering over one of these text inputs also shows a tooltip with the current expanded text. Further, clicking on the {} action will open a dialog that lists all available variables:

This feature provides a lot of flexibility when defining an external tool since all variables of the form %{...} are expanded when the tool gets invoked. There are two kind of variables supported:

  1. %{variable-name}
  2. %{variable-name:<value>}

The first form %{variable-name} simply replaces the variable with its contents. For instance, the variable %{Document:FileName} is replaced by the current document’s filename without its path. The second form %{variable-name:<value>} gets the <value> as contents. For example, this can be used to expand an environment variable with %{ENV:HOME}. Or you can obtain the current date in your preferred format like %{Date:yyyy-MM-dd}.

Developer info: The concept of variable expansion was added to the KTextEditor framework with version 5.63 (cf. API documentation).

Supported variables include:

  • Document:FileBaseName: File base name without path and suffix of the current document.
  • Document:FileExtension: File extension of the current document.
  • Document:FileName: File name without path of the current document.
  • Document:FilePath: Full path of the current document including the file name.
  • Document:Text: Contents of the current document.
  • Document:Path: Full path of the current document excluding the file name.
  • Document:NativeFilePath: Full document path including file name, with native path separator (backslash on Windows).
  • Document:NativePath: Full document path excluding file name, with native path separator (backslash on Windows).
  • Document:Cursor:Line: Line number of the text cursor position in current document (starts with 0).
  • Document:Cursor:Column: Column number of the text cursor position in current document (starts with 0).
  • Document:Cursor:XPos: X component in global screen coordinates of the cursor position.
  • Document:Cursor:YPos: Y component in global screen coordinates of the cursor position.
  • Document:Selection:Text: Text selection of the current document.
  • Document:Selection:StartLine: Start line of selected text of the current document.
  • Document:Selection:StartColumn: Start column of selected text of the current document.
  • Document:Selection:EndLine: End line of selected text of the current document.
  • Document:Selection:EndColumn: End column of selected text of the current document.
  • Document:RowCount: Number of rows of the current document.
  • Date:Locale: The current date in current locale format.
  • Date:ISO: The current date (ISO).
  • Date:<value>: The current date (QDate formatstring).
  • Time:Locale: The current time in current locale format.
  • Time:ISO: The current time (ISO).
  • Time:<value>: The current time (QTime formatstring).
  • ENV:<value>: Access to environment variables.
  • JS:<expression>: Evaluate simple JavaScript statements.
  • UUID: Generate a new UUID.

List of Default Tools

Some tools are shipped by default. These tools mostly came to my mind, but if you have more useful tools please let us know at kwrite-devel@kde.org so that we can add them to this list.

git-cola

git-cola is a graphical git client that enables you to easily stage and commit changes. If installed, it is available also through the command line with “git-cola”.

  • Name: git-cola
  • Icon: git-cola
  • Executable: git-cola
  • Arguments: -r %{Document:Path}
  • Editor command: git-cola

gitk

gitk is a git client as well that allows to nicely visualize the git history.

  • Name: gitk
  • Icon: git-gui
  • Executable: gitk
  • Working directory: %{Document:Path}
  • Editor command: gitk

git blame

Starts git blame to easily follow git changes in the current file.

  • Name: git blame
  • Executable: git
  • Arguments: gui blame %{Document:FileName}
  • Save: Current Document
  • Working directory: %{Document:Path}
  • Editor command: git-blame

Run Shell Script

Starts an external konsole in which the current document is executed.

  • Name: Run Shell Script
  • Icon: system-run
  • Executable: konsole
  • Arguments: -e sh -c “cd %{Document:Path} && pwd && chmod -vc a+x %{Document:FileName} && ./%{Document:FileName} ; echo Press any key to continue. && read -n 1”
  • Working directory: %{Document:Path}
  • Save: Current Document
  • Editor command: run-script

Google Selected Text

Search in google for the selected text.

Insert UUID

Inserts a new UUID each time this action is invoked.

  • Name: Insert UUID
  • Executable: echo
  • Arguments: %{UUID}
  • Output: Insert at Cursor Position
  • Editor command: uuid

Clang Format Full File

Runs clang-format on the current file on disk. The document is reloaded afterwards.

  • Name: Clang Format Full File
  • Executable: clang-format
  • Arguments: -i %{Document:FileName}
  • Working directory: %{Document:Path}
  • Save: Current Document
  • Reload: yes
  • Editor command: clang-format-file

Clang Format Selected Text

Runs clang-format just on the selected text in the current document.

  • Name: Clang Format Selected Text
  • Executable: clang-format
  • Arguments: -assume-fileName: %{Document:FileName}
  • Working directory: %{Document:Path}
  • Input: %{Document:Selection:Text}
  • Output: Replace Selected Text
  • Editor command: clang-format-selection

Qt Quick 2 Preview (qmlscene)

Previews the current qml file in qmlscene.

  • Name: Qt Quick 2 Preview (qmlscene)
  • Executable: qmlscene
  • Arguments: %{Document:FileName}
  • Save: Current Document
  • Working directory: %{Document:Path}
  • Editor command: qml-preview

Feel free to join the discussion at the KDE reddit.

Akademy 2019 took place in Milan, IT, at the University of Milano Bicocca from 7th to 13th of September. I arrived on Friday 6th and left Milan on Tuesday 10th.

Akademy 2019 group photo

This year Akademy was a little bit different for me. I joined MBition recently to push Open Source and, giving the kind of activity and technologies we use, KDE is an community we can learn a lot from. We have many things in common.

MBition decided to sponsor the event at the Supporter level and my colleague Julia König came with me for a couple of days to learn more about these kind of events and this community in particular.

We attended to the welcome event, the sponsors dinner and the first days of talks together. During the second day of talks, I introduced the company to the attendees during the sponsors talk.

It was also great to see my former employer, Codethink Ltd, as sponsor once again.

Several of the talks were very interesting although in general I did not attended to many. I spent quite some time outside talking to old friends, some new young contributors and other sponsors.

In terms of talks, the highlight of the event was Lars Knoll, CTO of the The Qt company. The interview published a few days before his talk is worth reading. He presented the most relevant plans about the coming Qt 6.

One of the things that have improved in KDE is our communication with the outer world. And Akademy reports are just an example. Check out the report about the first couple of days (talks).

On Saturday several talks reported about the accomplishments and challenges of the goals the community have been focusing on the last couple of years. The new goals were presented on Sunday, the second days of Akademy.

On Monday 10th, part of the day was invested in the KDE eV General Assembly. Some BoFs also took place that day. You can watch the report published on The Dot.

As mentioned, I came back to Málaga on Tuesday morning but you can read the reports about the Hands on Sessions and discussions tat took place on Tuesday, Wednesday and Thursday.

Last but not least, do not miss the interview with Leonardo Favario, Project Leader at the Italian Digital Transformation Team. It is a good one.

Thank you to the organizers and sponsors as well as the rest of the people who made Akademy a great event, in record time. It would be a great sign for MBition to be able to come back next year.

KDE is looking for a place and a team to host the event next year. If you are interested in gaining some traction locally to your Open Source efforts and are willing to meet a whole bunch of crazy, smart and friendly developers, think about applying to organizase Akademy 2020 (download the brochure).

I would like to finish this article sending my condolences to the family and friends of Guillermo Amaral, now that it has been made public that he passed away, victim of a cancer he fought hard.

Guillermo Amaral. Pic from one of his videos.

Guillermo was a great person. He had magnetism and an unique sense of humor. I cannot say but good things about him. He did great stuff.

Life is not fair.

Tras el paréntesis veraniego, vuelven las charlas y enventos. Akademy 2019 de Milán rompió el hielo y ahora los chicos y chicas de GNU/Linux Valencia reanudan sus sesiones de Hablemos con la «Charla de introducción al editor GNU Emacs» a cargo del hiperactivo Javier Sepúlveda de ValenciaTech . ¿Quieres saber más del evento? Solo tienes que seguir leyendo.

Charla de introducción al editor GNU Emacs

Charla de introducción al editor GNU EmacsEn muchas ocasiones pasamos muchas horas delante de un ordenador, con lo que estaría bien ser eficientes lo cual se puede conseguir utilizando solo el teclado, dejando de lado el ratón solo para casos puntuales.

En palabras de Javier Sepúlveda «Si quieres trabajar con texto de forma muy rápida debes no levantar las manos del teclado, y esto solo es posible con un editor, que cuente con cientos de comandos para realizar tareas, sin necesidad de tener que buscarlas en un menú gráfico.»

Y justo eso se consigue si se domina Emacs, un editor extensible, customizable, auto-documentado y con visualización a tiempo real que es mucho más que un editor y que nos permite realizar otras tareas como programar en cualquier lenguaje, utilizar como cliente de correo electrónico o estar informa de los grupos de noticias.

Así que el próximo 29 27de septiembre de las 19:00 hasta las 20:30 horas en Las Naves, Valencia (carrer de Joan Verdeguer, 16, 46024) , se va a realizar la «Charla de introducción al editor GNU Emacs» a cargo de Javier Sepúlveda de ValenciaTech .

El público objetivo de la charla es muy amplio ya que está orientada a cualquier persona interesada en la edición de texto e incluso, simplemente, cualquier persona interesada en conocer sobre la historia de la informática.

De hecho, no hace falta ordenador portátil para la asistencia a la conferencia.

Los contenidos de la charla son los siguientes:

  • Que es Software Libre.
  • GNU Emacs es Software Libre.
  • Historia de Emacs.
  • GNU Emacs hoy.
  • Demostración de GNU Emacs.
  • Ruegos y preguntas.

Si pudiera, no me la perdería.

Más información: GNU/Linux Valencia

Akademy is over. =/ And now that I have a little of time I will talk to you about a Birds of Feather that I’ve hosted during the Milan edition of Akademy that was the Mindmap of the community.

Since I’ve joined KDE I don’t have a clear picture what the structure of the community looks like. And that’s why I hosted this BoF to try to fix that.

So after an hour of discussions with Lydia, Valorie and other amazing people of this community, we came with the following result:

The dotted lines means that there’s some connection between the nodes. Like the Community WG it’s connected to the root of KDE.

So I hope that this graph can give you a clear picture of our community. It’s a working in progress and I will make this map and the original source available soon under the Community Wiki.

Any feedbacks and comments are welcome.

That’s all folks!

A new version 1.3 of the distributed C/C++ compilation tool Icecream has been released. To accompany it, version 3.3 of the GUI monitor Icemon has been released as well.

The changelogs are here and here. In a less changelog-y way, the changes are:

  • Compiler location are no longer hardcoded anywhere. Previously the compiler automatically packaged and sent to remote nodes was always /usr/bin/gcc (g++, clang, clang++). That might not match the actual compiler used and the workaround was to manually package the proper one using icecc-create-env. But now it's possible to build even with e.g. CXX=/my/own/build/of/clang and it'll simply work. This should also mean that explicitly setting $ICECC_VERSION now should be needed only for cross-compiling.
  • Slightly better job scheduling, both for remote and local builds. For example, the local machine should no longer be possibly overloaded by running way too many local preprocessor steps.
  • Better compression, both for sending data and packaged compilers. Compilation data is compressed using zstd if the other node supports it, compiler environments can be compiled using zstd or xz. This improves performance by reducing both network and CPU usage. Note that while compilation compression falls back to the older method if not supported by the other side, for compiler environments this is more tricky and so it has to be set up manually. You can set e.g. ICECC_ENV_COMPRESSION=xz , but the daemon will not fall back to using any other mechanism. Which means it will use only nodes that are at least version 1.3, the scheduler should also be from 1.3 (run another one if needed, the newest one wins) and the remote node needs to support the compression (1.3 uses newly uses libarchive, which supports zstd only in its relatively recent releases). So this is mainly useful if you have full control over the Icecream cluster, but by default the compression is the old gzip, for backwards compatibility.
  • Speaking of which, the maximum cache size for compiler environments now defaults to 256MiB. Use the --cache-size option of iceccd for different sizes.
  • Objective C/C++ support has been fixed.
  • Some special workarounds for GCC's -fdirectives-only option that is used when sending sources to remote nodes, as it breaks in some corner cases.
  • The --interface option of the daemons (and scheduler) now allow binding only to a specific network interface, if needed. Note that Icecream still assumes it runs in a trusted network and if that's not so it's up to you to ensure it by using tools such as a firewall.
  • Icemon now displays in the defailed host view what protocol a node supports (1.3 has protocol version 42, env_xz/env_zstd mean it supports compiler environments compiled using xz/zstd).
  • And various other fixes.

The KItinerary data extraction engine recently got a command line interface, which can be pointed at any file KItinerary can consume (HTML, PDF, plain text, iCal, Apple Wallet passes, etc) and which then outputs JSON-LD according to the schema.org data model with the information that could be found in there. Adding this has been motivated by two separate goals: Increasing extractor robustness, and easing integration into 3rd party applications.

Robustness

Regarding robustness we have the problem that the problem that the extractor when used in an email application is essentially exposed directly to remotely provided (hostile) content. When running in-process accidentally or intentionally corrupt documents might trigger hangs or crashes of the email application. That’s especially a problem for some of the more complex document types we deal with, such as PDF.

An effective way to mitigate this is moving the dangerous operations to a separate process. This way the host application is not only isolated from possible crashes, it also allows us to sandbox the extractor using tools like Bubblewrap or seccomp, to reduce the impact of possible security issues in the extractor or the underlying parsing libraries.

For users of the KItinerary API, such as the KMail plug-in this is straightforward to use:

KItinerary::ExtractorEngine engine;
engine.setUseSeparateProcess(true);
engine.setData(...);
auto result = engine.extract();

Besides enabling the out-of-process mode, it’s important to feed raw data rather than pre-parsed documents in, otherwise the dangerous part of the process happens in the host application after all.

Integration

Another motivation for having external process for the data extraction is that it provides an easy way to integrate with applications that cannot or do not want to link against KItinerary and its dependencies, or for whom linking would bring in additional complications at this point. The browser integration work is such an example benefiting from this, there we have to deal with unaligned release cycles and two very different technology stacks.

Using the out-of-process extractor of course is not for free. The entire test suite currently needs about 8.5 seconds for extracting almost 600 samples, with out-of-process mode this roughly doubles. Per document that is about 15 and 30 miliseconds respectively, which isn’t all that bad. That is the average over all test samples though, PDFs tend to be more expensive to process than plain text files for example, while the overhead of spawning a new process is largely constant.

Prototyping

But even if the final integration might involve directly linking against the KItinerary stack, the command line interface can be useful for the initial evaluation and for building prototypes. To support this there’s a nightly Flatpak build available in KDE’s Flatpak repo. This is obviously not meant for production deployments, maintained distribution packages based on official releases are better for that. It however allows very fast turnaround times to receive the latest improvements in the extractor engine while still having the convenience of pre-built packages and co-installability.

Trying this is fairly straightforward:

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak remote-add --if-not-exists kdeapps --from https://distribute.kde.org/kdeapps.flatpakrepo
$ flatpak install kdeapps org.kde.kitinerary-extractor

$ cat trainticket.pdf | flatpak run org.kde.kitinerary-extractor
[
    {
        "@context": "http://schema.org",
        "@type": "TrainReservation",
        ...
    }
]

Contribute

As always, sample data donations are of invaluable help with this work! Of particular interest at the moment would be multi-leg Renfe tickets, as well as those with at least one international destination :)

For contributing in other ways than donating test data please see our Phabricator workboard for what’s on the todo list, for coordinating work and for collecting ideas. For questions and suggestions, please feel free to join us on the KDE PIM mailing list or in the #kontact channel on Freenode or Matrix.

September 20, 2019

Como comenté recientemente, el pŕoximo sábado 21 de septiembre se va a celebrar el Software Freedom Day 2019, un día muy especial para la Comunidad ya que en él se conmemora el desarrollo de un proyecto que en realidad va mucho más lejos que el simple (o complicado) Software. Cuando publique la entrada esta semana no había ninguna ciudad españoal donde acudir, así que me congratula compartir con vosotros que Barcelona, Granada y Madrid son sede del Software Freedom Day 2019 en España. ¿Quieres conocer más detalles? Sigue leyendo.

Barcelona, Granada y Madrid son sede del Software Freedom Day 2019 en España

Barcelona, Granada y Madrid son sede del Software Freedom Day 2019 en EspañaCada mes de septiembre se celebrar el Software Freedom Day, y este 2019 no es una excepción. De esta forma, la organización sin ánimo lucro Software Freedom International coordina los (SFD) Software Freedom Day SFD como un evento global, proporcionando soporte, material de promoción y puntos de colaboración.

El objetivo fundamental de esta celebración es educar al público sobre los beneficios de usar FLOSS de alta calidad en la enseñanza, en el gobierno, en el hogar y en el trabajo — en pocas palabras y resumiendo ¡en todas partes!

Así que tiene la ocasión de asistir a algunos de los eventos que hay programados para el 21 de septiembre y que en España se concretizan en las sede de Albacete, Barcelona y Madrid. Software Freedom Day 2019 #softwarefreedomday

  • Barcelona: Organitzat per Caliu (Associació d’Usuaris i Usuàries de GNU/Linux en Llengua Catalana)
    • Sábado 21 de septiembre de 2019, 16:30 a 20:30 h.
    • Centre cívic La Violeta de Gràcia, al carrer de Maspons 6,
  • Granada: Organizado por LibreLabGRX (grupo para la difusión y el apoyo al software/hardware libre y la cultura abierta de Granada)
    • Sábado, 21 de septiembre de 2019, 13:30 a 15:30
    • La Posada (Calle Periodista Eugenio Selles, 10)
  • Madrid: Organizado por Oficina de Conocimiento y Cultura Libres de la Universidad Rey Juan Carlos.
    • 23 de septiembre de 13:00 a 15:00.
    • Universidad Rey Juan Carlos, Campus de Móstoles, Departamental II, Aula 170.

En definitiva, un excelente día para empezar a ser más activo en términos de Software Libre o de seguir siéndolo si ya lo eres.

Así que prepárate para el próximo sábado para ponerte su camiseta especial, mostrar con orgullo las aplicaciones que han hecho otras personas para ti y hablar a todo el mundo de una idea que poco a poco se va imponiendo en nuestra realidad digital, y que sería fantástica si se pudiera trasladar al mundo real.

Más información: Software Freedom Day 2019

Are you using Kubuntu 19.04 Disco Dingo, our current Stable release? Or are you already running our development builds of the upcoming 19.10 Eoan Ermine?

We currently have Plasma 5.16.90 (Plasma 5.17 Beta)  available in our Beta PPA for Kubuntu 19.04 and 19.10.

This is a Beta Plasma release, so testers should be aware that bugs and issues may exist.

If you are prepared to test, then…..

Add the PPA and then upgrade

sudo add-apt-repository ppa:kubuntu-ppa/beta && sudo apt update && sudo apt full-upgrade -y

Then reboot. If you cannot reboot from the application launcher,

systemctl reboot

from the terminal.

In case of issues, testers should be prepare to use ppa-purge to remove the PPA and revert/downgrade packages. This is especially required if you plan to upgrade a Disco system to Eoan when it is released, as Eoan will ship with Plasma 5.16 by default.

Kubuntu is part of the KDE community, so this testing will benefit both Kubuntu as well as upstream KDE Plasma software, which is used by many other distributions too.

  • If you believe you might have found a packaging bug, you can use a launchpad.net to post testing feedback to the Kubuntu team as a bug, or give feedback on IRC [1], Telegram [2] or mailing lists [3].
  • If you believe you have found a bug in the underlying software, then bugs.kde.org is the best place to file your bug report.

Please review the release announcement and changelog.

[Test Case]

* General tests:
– Does plasma desktop start as normal with no apparent regressions over 5.15.5 or 5.16.5?
– General workflow – testers should carry out their normal tasks, using the plasma features they normally do, and test common subsystems such as audio, settings changes, compositing, desktop affects, suspend etc.

* Specific tests:
– Check the changelog:
– Identify items with front/user facing changes capable of specific testing. e.g. “clock combobox instead of tri-state checkbox for 12/24 hour display.”
– Test the ‘fixed’ functionality.

Testing involves some technical set up to do, so while you do not need to be a highly advanced K/Ubuntu user, some proficiently in apt-based package management is advisable.

Testing is very important to the quality of the software Ubuntu and Kubuntu developers package and release.

We need your help to get this important beta release in shape for Kubuntu and the KDE community as a whole.

Thanks! Please stop by the Kubuntu-devel IRC channel or Telegram group if you need clarification of any of the steps to follow.

[1] – irc://irc.freenode.net/kubuntu-devel
[2] – https://t.me/kubuntu_support
[3] – https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

September 19, 2019



Plasma 5.17 Beta

KDE Plasma 5.17 Beta

Thursday, 19 September 2019.

Today KDE launches the beta release of Plasma 5.17.

We've added a bunch of new features and improvements to KDE's lightweight yet full featured desktop environment.

Plasma's updated web page gives more background on why you should use it on your computer.



Guillermo Amaral

Guillermo Amaral

System Settings has gained new features to help you manage your fancy Thunderbolt hardware, plus Night Color is now on X11 and a bunch of pages got redesigned to help you get your configuration done easier. Our notifications continue to improve with a new icon and automatic do-not-disturb mode for presentations. Our Breeze GTK theme now provides a better appearance for the Chromium/Chrome web browsers and applies your color scheme to GTK and GNOME apps. The window manager KWin has received many HiDPI and multi-screen improvements, and now supports fractional scaling on Wayland.

You can test the Plasma 5.17 beta for the next three weeks until the final release in mid-October. Give it a whirl with your favorite distribution!

The Plasma 5.17 series is dedicated to our friend Guillermo Amaral. Guillermo was an enthusiastic KDE developer who rightly self described as 'an incredibly handsome multidisciplinary self-taught engineer'. He brought cheer to anyone he met. He lost his battle with cancer last summer but will be remembered as a friend to all he met.


Plasma



<a href='https://unsplash.com/'>Unsplash</a> Picture of the Day

Unsplash Pic of the Day


<a href='https://unsplash.com/'>Unsplash</a> Pic of the Day

KRunner now converts fractional units


Improved Notifications widget and widget editing UX

Improved Notifications widget and widget editing UX

  • Do Not Disturb mode is automatically enabled when mirroring screens (e.g. when delivering a presentation)
  • The Notifications widget now uses an improved icon instead of displaying the number of unread notifications
  • Improved widget positioning UX, particularly for touch
  • Improved the Task Manager's middle-click behavior: middle-clicking on an open app's task opens a new instance, while middle-clicking on its thumbnail will close that instance
  • Slight RGB hinting is now the default font rendering mode
  • Plasma now starts even faster!
  • Conversion of fractional units into other units (e.g. 3/16" == 4.76 mm) in KRunner and Kickoff
  • Wallpaper slideshows can now have user-chosen ordering rather than always being random
  • New Unsplash picture of the day wallpaper source with categories
  • Much better support for public WiFi login
  • Added the ability to set a maximum volume that's lower than 100%
  • Pasting text into a sticky note strips the formatting by default
  • Kickoff's recent documents section now works with GNOME/GTK apps
  • Fixed Kickoff tab appearance being broken with vertical panels


System Settings: Thunderbolt, X11 Night Color and Overhauled Interfaces



Night Color settings are now available on X11 too

Night Color settings are now available on X11 too


Thunderbolt device management

Thunderbolt device management


Reorganized Appearance settings, consistent sidebars and headers

Reorganized Appearance settings, consistent sidebars and headers

  • New settings panel for managing and configuring Thunderbolt devices
  • The Night Color settings are now available on X11 too. It gets a modernized and redesigned user interface, and the feature can be manually invoked in the settings or with a keyboard shortcut.
  • Overhauled the user interface for the Displays, Energy, Activities, Boot Splash, Desktop Effects, Screen Locking, Screen Edges, Touch Screen, and Window Behavior settings pages and the SDDM advanced settings tab
  • Reorganized and renamed some settings pages in the Appearance section
  • Basic system information is now available through System Settings
  • Added accessibility feature to move your cursor with the keyboard when using Libinput
  • You can now apply a user's font, color scheme, icon theme, and other settings to the SDDM login screen to ensure visual continuity on single-user systems
  • New 'sleep for a few hours and then hibernate' feature
  • The Colors page now displays the color scheme's titlebar colors
  • It is now possible to assign a global keyboard shortcut to turn off the screen
  • Standardized appearance for list headers
  • The 'Automatically switch all running streams when a new output becomes available' feature now works properly


Breeze Theme



Window borders are now turned off by default

Window borders are now turned off by default

  • The Breeze GTK theme now respects your chosen color scheme
  • Active and inactive tabs in Google Chrome and Chromium now look visually distinct
  • Window borders are now turned off by default
  • Sidebars in settings windows now have a consistent modernized appearance


System Monitor



CGroups in System Monitor

CGroups in System Monitor

  • System Monitor can now show CGroup details to look at container limits
  • Each process can now report its network usage statistics
  • It is now possible to see NVidia GPU stats


Discover



Discover now has icons on the sidebar

Discover now has icons on the sidebar

  • Real progress bars and spinners in various parts of the UI to better communicate progress information
  • Better 'No connection' error messages
  • Icons in the sidebar and icons for Snap apps


KWin: Improved Display Management

  • Fractional scaling added on Wayland
  • It is now once again possible to close windows in the Present Windows effect with a middle-click
  • Option to configure whether screen settings apply only for the current screen arrangement or to all screen arrangements
  • Many multi-screen and HiDPI improvements
  • On Wayland, it is now possible to resize GTK headerbar windows from window edges
  • Scrolling with a wheel mouse on Wayland now always scrolls the correct number of lines
  • On X11, it is now possible to use the Meta key as a modifier for the window switcher that's bound to Alt+Tab by default


Full Plasma 5.16.90 changelog


Live Images

The easiest way to try it out is with a live image booted off a USB disk. Docker images also provide a quick and easy way to test Plasma.

Download live images with Plasma 5
Download Docker images with Plasma 5

Package Downloads

Distributions have created, or are in the process of creating, packages listed on our wiki page.

Get KDE Software on Your Linux Distro wiki page

Source Downloads

You can install Plasma 5 directly from source.

Community instructions to compile it
Source Info Page

Feedback

Discuss Plasma 5 on the KDE Forums Plasma 5 board.

You can provide feedback direct to the developers via the Plasma Matrix chat room, Plasma-devel mailing list or report issues via bugzilla. If you like what the team is doing, please let them know!

Your feedback is greatly appreciated.

September 18, 2019

Let's continue where we left off in the first post. We saw an example of a Qt Quick application running on Linux on top of OpenGL and Vulkan. We also saw a Vulkan frame capture in RenderDoc, which is not just an invaluable tool during Qt development work, but can also be useful to anyone who wants to dig deeper and understand better how Qt Quick renders a frame (or for that matter troubleshoot problems in an application's rendering). Now in this post we are going to focus on what Qt 5.14 offers for macOS and Windows.

Metal on macOS

Quite unsprisingly, running the qt5-cinematic-experience demo with QSG_RHI=1 (and QSG_INFO=1) on macOS 10.13 or 10.14 results in:

September 17, 2019

While we’re spending quite some time now finalizing the next release of LabPlot which will be announced soon, we continue getting feedback from our users and we try to incorporate as much as possible into the upcoming release.

This feedback usually consists of different discussions around the existing features in LabPlot or features that need to be added in near future, around bugs, etc. Recently we’ve got a somewhat different feedback informing us about the availability of a Chocolatey package for LabPlot.

Chocolatey is an advanced package manager for Windows allowing to manage the installation, configuration, update and uninstallation of applications on Windows.

Installing LabPlot on Windows with chocolatey from the PowerShell is as simple as
C:\> choco install labplot

Similarly, upgrading to a new version is done via
C:\> choco upgrade labplot

Great news!

September 16, 2019

I just released version 1.3.0 of SFXR Qt, my Qt port of the SFXR sound effect generator.

Screenshot

There aren't that many new features for end users:

  • A new wave form: Triangle.
  • A new file format: SFXJ.

The new file format opens the road to adding new features. I have a few ideas in mind, will see how it goes.

Nevertheless, this release brings several under the hood changes:

  • Improved error handling so that you get a message dialog when the app cannot load or save a file.
  • Unit-tests using Catch2, which I really like.
  • Continuous Integration through Travis CI.

Finally, I borrowed Nanonote CMake code for packaging, so deb and rpm packages are available on the release page. Let me know if they work for you.

That's it, hope you enjoy generating fun sound effects!

Could you tell us something about yourself?

Sure. I’m Julius Grels, and “I like to call myself an artist whenever I’m wasted enough”. In all seriousness though, I think I’d describe myself more as a self-taught caricaturist or illustrator. I usually like to take some existing premise from real life or history, e.g. painting a picture of a (famous) person, depicting wildlife, et cetera. I’m also very fond of making comics, music and video games whenever I have the time (if only?).

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

I’m most definitely a hobbyist, since I haven’t done any professional commissions (apart from some miniscule design work in the past), and what I do for living right now isn’t even remotely connected to art! That said, I’d most certainly would love to work as an illustrator, comic artist, or anything alike! My biggest wish would be to illustrate (and/or write) a children’s book someday.

What genre(s) do you work in?

I’m most comfortable when doing caricatures and comics; in the latter I can also infuse my story-telling abilities, the little there are. I prefer to illustrate living things; people, animals and nature itself. I’m not exactly keen on drawing in-animate objects, though I’m learning to force myself out of this comfort zone. I like to keep things simple and clean, or at least I try my best not to get lost in time-consuming detailing. Guess that’s one argument I can use as to why I prefer using simple black background on most of my works…

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

I mostly draw (clever, eh?) influence and inspiration from animation, comics and video game art. I’m hesitant to drop any names because I don’t really have role models per se, and I tend to find pretty much any artist’s work interesting and inspiring. I guess as a Finn I could mention Tove Jansson and Mauri Kunnas. Jansson is of course famous for creating the Moomins, but she was also an accomplished artist and writer in her own right. Kunnas is a well-loved artist best known for his children’s books – pretty much every child in Finland has read at least one of his stories. In my opinion he’s also one of the greatest illustrators this country has to offer.

In addition to the aforementioned, I basically inhaled Franco-Belgian comics as a child; I loved reading Astérix, Lucky Luke, Iznogoud and the rest, so artists like Uderzo, Tabary and Tardi have also had a huge influence on me. Whenever possible, I browse through concept art of different video games. Video games are an interesting subject anyway because they not only combine art, design and technology but have to make all three work together even-handedly to create an enjoyable interactive experience.

 

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

If we don’t count MS Paint doodles, I think my first real try at digital painting was at elementary school somewhere around the late 90’s where we were introduced to Paint Shop Pro as a part of some “build your own website” -course. We were only able to use mouse for drawing, which was extremely clunky and made me think the whole idea of drawing and painting with a computer was just insane; I’d rather stick to my pencils and brushes, thank you very much. It wasn’t until later when I realised there are equipment specifically made for digital artwork, and once I got my hands on a Wacom tablet, I was sold.

What makes you choose digital over traditional painting?

Nothing? I mean, they are completely different working methods, and I still paint traditionally. Nevertheless, I’ve started to slowly leer towards digital painting, since it’s much easier to control your work and you can experiment more without the fear of ruining something irreversibly (especially when it comes to inking comics and other drawings). While it’s arguable whether digital painting is more cost-efficient than traditional methods in the long run, I think it’s at least less painful to start working with; you only need to set up your computer and programs ready, while with traditional painting you need to take out easel, canvas, gesso, colours, brushes, pencils? you get the idea. Furthermore, in my case where I don’t have a separate studio I have to find and clear a space in my apartment to set all that stuff up. Hassle, hassle!

How did you find out about Krita?

At one point I started to search for open source alternatives for the myriad number of programs I was using, and Krita was a recommendation somewhere to replace Photoshop, with high ratings from users.

What was your first impression?

I guess I’m still languishing in my first impression, because I haven’t been able to use Krita as much as I have wanted. In any case, my very first impression upon opening the program was a relieved “this looks familiar” sigh, and it was incredibly easy to start using Krita from there on.

What do you love about Krita?

Like I mentioned above, I find the interface very easy to use. I also love the fact the community is so alive, and you can find answers to just about any dilemma. All in all, Krita is a magnificent tool for making 2d artwork.

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

Majority of my problems with Krita are due to the fact I’ve yet to learn most of its nuances, so I can’t really say about improvements that much. Krita seems to be quite a memory-hog, which can cause lot of lag and freezing especially when working with bigger canvases. That, and I’m not too happy with the text tool/editor either and prefer not to use it at all. It’s the one thing in Krita that’s needlessly complicated in my opinion.

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

Krita is the only digital painting software I use. Being open source is probably what makes it stand out the most. I use other open source programs as well, e.g. Blender, OpenToonz and Aseprite, but they obviously aren’t that much similar to Krita?

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

Not much to choose from, but nevertheless, I’d say Megantereon, which was my first serious Krita artwork that I actually managed to finish. The main reason why I like it so much is simply because I had no initial planning; I took my Wacom, opened Krita and started doodling “something tiger-like”. After an hour or so, I began to realise there might be more to it, and continued working. The first version had plain fur, simplistic ear and lifeless green eye. I published it on deviantart.com, but wasn’t happy with the result, and later on decided to tweak the cat a bit. The fur got more detailed with stripes and spots, and I completely overhauled both the ear and the eye. The final result is what you see here, and I quickly replaced my previous attempt with this better version. I also like Megantereon as it neatly represents my interests (wildlife, history) and my preferred style (stylized, semi-realistic).

What techniques and brushes did you use in it?

Every brush I used is a Krita default. I used Basic and Fill Circle for outlining and some detail, Bristle Texture and Square for texturing and Inkpens for smaller detailing. There might be some Smudge tool I used too, but I honestly can’t remember.
I made a rough outlining on one layer against a black background and constructed the beast from bones to muscles to fur et cetera from there on. In the end I had laid out 23 layers with such genius descriptions as “skull”, “Layer 17”, “BLOOD SALIVA”, “hideTheBeard” and “washing”. In retrospect, I highly recommend people to use layers more scarcely if possible – they slow down the program, and the whole working process ends up confusing. At least name your layers better than I did!
I have two versions of the final work; with and without Noise Effect, which I used to achieve a more horror-esque vibe. I send the noiseless version here so the details aren’t obstructed too much.

Where can people see more of your work?

At the moment, my most recent work will be published at https://www.deviantart.com/jgrels . Don’t hold your breath, though; I publish work at a snail’s pace. You can also follow me on Twitter @JuliusGrels if you so desire, where I’m giving more information about my possible future projects, like a couple of webcomics I’ve planned to do.

Anything else you’d like to share?

Maybe just some general advice to any aspiring artist: never stop honing your skills, get out of your comfort zone, don’t fear experimenting, and most importantly; have confidence. Believe in yourself. Even if you don’t think you’re that great of an artist but love doing art, just keep working and publishing your work for everyone to see. You can doubt your talent, but never doubt your passion.

Finally, I want to send my thanks to the Krita Foundation and give my highest appreciation for the great work you’ve done. Thank you!

In my quest to improve the website of KDE, I updated the Plasma Desktop webpage. This is a huge improvement to the old website, which didn’t show any screenshots and didn’t list any Plasma features.

I already teased the improvements I made in the Plasma BoF in Milan to the Akademy.

Me (Carl Schwan) at the Plasma BoF showing the new Plasma Desktop webpage

The redesign got a lot of positive feedback by the Plasma team and after some small modifications the changes landed.

The webpage looks like this now:

Plasma desktop webpage

Thanks to all the people from the Promo team and vinz who helped me write the text and give me some ideas.

Improving the KDE websites: Junior Jobs

If you want to help improving the web presence of KDE, I regularly add some Junior Job to this Phabricator Workboard. Lots of things need to be updated, so don’t hesitate to propose other changes in the kde-www mailing list.

Discussion: Reddit or Mastodon

Now that the first beta of Qt 5.14 is getting closer, it is time to start talking about one of the big new features. We cannot possibly cover all the details around the graphics stack improvements and the road to Qt 6 in one post, so in part 1 and 2 we will describe the background and take a closer look at what 5.14 will ship with, and then dive into the technical details and future directions in another set of posts later on.

September 15, 2019

See, I told you I’d continue to blog about the cool things that have happened in KDE-land. 🙂

On that subject… Kate is now available for free on the Microsoft Store! So far the ratings are quite good. 🙂 KDE has always aspired to make our apps available to as many users as possible, and getting them on today’s distribution platforms continues that.

For those of you who switched from Windows or macOS, think back to how helpful it was that a bunch of your favorite apps (Firefox, Chrome, VLC, LibreOffice, Inkscape, Blender, Krita, etc) were already available on Linux and you already knew how to use them. Getting more of our apps on other platforms is a key part of easing the transition for future generations of switchers. 🙂

Beyond that, it’s been a somewhat light week because everybody was off at Akademy planning the future. A lot of really great things got discussed and decided, the results of which should start to trickle into subsequent weeks’ blog posts. 🙂 So stay tuned!

New Features

Bugfixes & Performance Improvements

User Interface Improvements

How You Can Help

This is a new section I’m adding to these weekly blog posts, highlighting a new way to get involved every week!

Do you have any web design experience? KDE community members are currently working on redoing the ancient and inconsistent assortment of websites hosted on kde.org, and help is needed! If this sounds like your cup of tea, join the kde-www mailing list and check out the tasks on the Phabricator Workboard.

You can also check out https://community.kde.org/Get_Involved, and find out other ways to help be a part of something that really matters. You don’t have to already be a programmer. 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.

After eight densely packed days Akademy 2019 is over. As always it was very nice to meet everyone again, as well as to meet some people I have been working with online for the first time in real life.

Akademy 2019 group photo CC-BY Photo by Paul Brown

Talks

There was some interesting feedback for my talks, and overlap with work of others:

  • Secure HTTP usage (slides) - my suggestion to encapsulate secure defaults for QNetworkAccessManager (QNAM) in a KF5 class that isn’t bound by as strict backward compatibility requirements as QNAM itself is didn’t seem popular with the Qt community, and started a discussion to instead fix this in QNAM itself, at least for Qt 6. That’s of course the even better solution.
  • KPublicTransport (slides) - I mentioned the lack of public transport data coverage especially in India and Asia, which resulted in Bhushan digging up a few Indian GTFS feeds that can probably be added to Navitia to fix that.
  • KDE Frameworks on Android (slides) - There’s some overlap with the needs of the Kirogi drone control app that Eike presented, regarding Android support in existing frameworks as well as further things like embedding an interactive map. So even more reasons to address this all properly on the KF5 level.

Akademy Awards

The yearly Akademy awards ceremony provided a very unexpected surprise as I was given this year’s Jury Award. Thanks to David for the nice words, and to everyone for signing the award :)

Akademy Jury Award 2019 Akademy Jury Award 2019

Meetings/BoFs

Monday to Friday saw a large number of meetings on a wide range of topics, the BoF wrap-up session videos (Monday, Tuesday, Wednesday/Thursday) provide a good overview on those. The below are my key takeaways from some of the sessions I participated in.

KDE Frameworks 6 (KF6)

With Qt 6 on the horizon we need to start looking into what we want to achieve with KF6, beyond just porting to Qt 6 and cleaning up obsolete/deprecated API. We now have a Phabricator workboard to collect and discuss plans and tasks around that, and hopefully we’ll have a sprint in the not too distant future to plan this in more detail. If you have issues with or wishes for KDE Frameworks that might require breaking API or ABI, or otherwise require more invasive changes such as moving functionality between libraries, now is the time to bring this up.

More details: David’s summary

PIM

The most important goal for me here was to get some more collaboration between the Plasma Mobile team and the currently desktop-focused PIM team going, and it looks like we made progress there :)

The move of KContacts and KCalendarCore to KDE Frameworks also got its final go and should be executed next week. The next module to look at is the KDAV protocol library, which ties in with reviewing the KF5 HTTP stack.

More details: Notes, Dan’s KAccounts integration demo

Creating KItinerary Extractor Scripts

I hosted a session on how to create custom extractors for KItinerary in which we looked at the kinds of data we can encounter, the methods and tools we have available for processing this, as well as on how KItinerary Workbench can help with writing and debugging extractors. As a result there were a few new extractor contributions already.

More details: Slides

KDE Frameworks on Android

Aleix had already addressed my top agenda item before the meeting, the F-Droid repository holding the nightly builds from binary factory is synchronized again correctly and should be distributing continuous updates again.

Other topics included where to put the JNI helpers from KDE Itinerary, and how to improve packaging with androiddeployqt for plug-ins with mandatory dependencies.

More details: Notes

KUserFeedback

With all the policy/legal/procedural questions now hopefully sorted out in form of the Telemetry Policy and the Software Privacy Policy we can finally start to deploy the KUserFeedback telemetry and survey system.

More details: Notes

Hacking

Next to all the meetings and discussions there was of course also some time for more hands-on work. My personal highlight is Kai’s work on KDE Itinerary browser integration, it has come a long way since our initial research on this.

We also managed to collect quite some sample data for improving KDE Itinerary, thanks to everyone who donated their data! Some of the immediate results are Daniele’s work on completing our understanding of the barcodes from Trenitalia, as well as initial support for Renfe tickets thanks to Luca.

Thanks

A big thanks to everyone who made this event possible, the Kennys, the local team and everyone else who helped, as well as the sponsors and the KDE e.V.! Akademy is immensely valuable, the above is just a tiny glimpse into the productivity we achieve when having everyone together for a week, not to mention the massive motivational boost we get out of this.

September 14, 2019

The last week I was in Milan with my wife Aiswarya to attend Akademy 2019, the yearly event of the KDE community. Once again it was a great experience, with lots of interesting conferences and productive BoF sessions (“Birds of a Feather”, a common name for a project meeting during a conference).

On Sunday, we presented our talk “GCompris in Kerala, part 2”. First, Aiswarya told some bits of Free-Software history in Kerala, gave examples of how GCompris is used there, and explained her work to localize the new version of GCompris in Malayalam (the language of this Indian state). Then I made a quick report of what happened in GCompris the last 2 years, and talked about the things to come for our next release.

GCompris talk at Akademy 2019

On Monday, I attended the KDE e.V assembly. On a side note, if you are a KDE contributor, you should probably consider joining KDE e.V. as an active member.

On Tuesday morning, we attended the KDE India BoF, where we discussed why the conf.kde.in conference didn’t happen for 2 years and how we can make sure it will happen next year.

On Tuesday afternoon, we had the GCompris BoF. We discussed about using the KDE Wiki for our documentation instead of self-hosting our own wiki. We also discussed the state of some translations that need to be updated. On that topic, if your language is not yet supported in the latest version of GCompris, maybe you can help us (you can check the translation status on this page). Also during this session, Aiswarya started working on some new options to adapt the speed in some activities to make them usable for people with cognitive or physical difficulties.

On Wednesday morning, we attended the “Wayland user feedback” BoF. I discussed with the plasma team about the biggest issues for using Krita on Wayland, namely tablet support and color management. The team seemed very interested to fix those, so I’ll try to provide useful feedback to help them.

On Wednesday afternoon, it was the “Day trip” to the Lake Como, a great occasion to relax and have fun with old and new friends in a beautiful place.

Congratulations to the team for organizing a great event, and also big thanks to KDE e.V. for providing travel support.

September 13, 2019

“Who are you people?”

That’s what the woman selling the ferry tickets at Varenna asked me once she realized I speaked Italian. She was definitely not used to a group of ~80 people wearing a blue badge. Another woman who was selling stuff on the street asked me if we were a school.

It’s been an amazing week and a very productive Akademy. A lot has been discussed and a lot has been decided. On my side, I’ve hosted a Dolphin BoF where we discussed both boring things (e.g. where to send bugzilla notification mails) as well as the awesome new features we are getting into Dolphin. Alexander talked about the status of the KIO Fuse project, while Méven talked about his work on the kioslave for the recently used files.

On the coding side, I wish I could have done more, but I lost a lot of times fighting with Google bureaucracy which was required to create a new API key for KIO GDrive. We need to urgently sort this out because it is blocking a working Google support in Kontact. Despite that, I managed to write a simple PoC of KUserFeedback usage in Dolphin. KUserFeedback is very easy to use if you just want the basic reportings (OS version, Qt version, and so on.). Hopefully it won’t be too hard to also get more interesting information, such as which are the features that our users use the most.

And finally, a big thanks goes to the Akademy team and the local team for the organization of the event. See you next year!

When test engineers hear about test automation the first word that comes to mind is of course Selenium which is the most popular testing library that helps us writing scripts for web applications. There are also ready solutions for mobile apps like Appium, Robotium, Espresso, UI Automator and others. The challenge is when we have some project-specific technologies that are not as easy to automate as web applications. But while using Qt we have some advantage over other non-web applications because there is some ready solution that we can use. 


I attended my first ever Akademy! The event was held at the University of Milano-Bicocca in Milan, Italy this year. And the experience was splendid. During the 2 day conference, I had the opportunity to talk at the Student Showcase, where all of the SoC students presented their work to the community. There were about 8 students, and everyone gave a good briefing on their project.

me speaking

My project this summer was with Kdenlive, the open source non linear professional video editor. I proposed to revamp one of the frequently used tools in the editor, called the Titler tool, which is used to create title clips. Title clips are video clips that contain text and/or images that are composited or appended to your video (eg: subtitles). The problem with the titler tool as it is, is that it uses QGraphicsView to describe a title clip and QGraphicsView was deprecated since the release of Qt5. This obviously leads to problems - upstream bugs crawling affecting the functionality of the tool and an overall degradation in the ease of maintenance of the codebase. Moreover, adding new features to the existing code base was no easy task and therefore, a complete revamp was something in sights of the developer community in Kdenlive for a long time now. I proposed to rework on the backend for the period of GSoC replacing the use of XML with QML and use a new rendering backend with QQuickRenderControl, along with a new MLT module to handle the QML frames. I was able to cover most of the proposed work, I seek to continue working on it and finish evolving the titler tool.

The folks from Kdenlive have always been very warm and helpful especially with the whole learning curve (which definitely was steep) and working with the community so far has been great, I’ve learned a lot from the experienced developers in Kdenlive and from the Kdenlive community. I seek to continue working with the Kdenlive team and KDE to continue making Kdenlive a great tool to use and a great community to be a part of.

All in all, Akademy was an unforgettable experience, I met a lot of brilliant people from the KDE community in person and the other SoC students from other parts of the world. I’m extremely thankful to the KDE community for presenting us, students, with such a fine opportunity and a platform to work and talk on our projects. Kudos to the Akademy Team for orchestrating such an event!

Here’s my GSoC Work Report: https://community.kde.org/GSoC/2019/StatusReports/AkhilKGangadharan

September 12, 2019

Wednesday continued the Akademy BoFs, group sessions and hacking in the morning followed by the daytrip in the afternoon to Lake Como, to have some fun, get away from laptops and get to know each other better. Thursday was back to BoFs, meetings and hacking culminating in a wrapup session at the end covering the last two days so that what happened in the different rooms can be shared with everyone including those not present.

Watch Thursday's wrapup session in the video below

Dot Categories:

Our Windows Store submission succeeded, we are now officially in the store.

Try out how the Kate text editor performs on Windows for your personal workflow.

If you see issues and want to help out, contributions are welcome on our GitLab instance.

Our Windows team is small, any help is very welcome! Thanks again to all the people that made it possible to use Kate nicely on Windows.


Older blog entries


Planet KDE is made from the blogs of KDE's contributors. The opinions it contains are those of the contributor. This site is powered by Rawdog and Rawdog RSS. Feed readers can read Planet KDE with RSS, FOAF or OPML.