March 22, 2018

Warning: metaphors ahead! May be inappropriate or stretched.

Reading through student proposals for Google Summer of Code yesterday, I took a break from sitting in front of a keyboard to get some gardening done. We've had a few windstorms since I last raked, and with spring beginning, a few weeds have been popping up as well.

One of the issues I've been reminding almost every student about is unit testing. The other is documentation. These are practices which are seen as not fun, not creative.

Raking isn't seen as fun or creative either! Nor is hunting and digging the wily dandelion. But I rake away the dead branches and fir cones, and snag those dandelions because later in the season, my healthy vegetables and beautiful flowers not only flourish without weeds, but look better without litter around them. In addition, we chop up the branches and cones, and use that as mulch, which saves water and keeps down weeds. The dandelions go into the compost pile and rot into richer soil to help transplants be healthy. In other words, the work I do now pays off in the future.

The same is true of writing unit tests, commenting your code, and keeping good notes for user documentation as well! These are habits to build, not onerous tasks to be put off for tomorrow. Your unit tests will serve you well as long as your code runs anywhere. The same is true of your commented code. And finally if you code is user-facing, user documentation is what lets people use it!

So students, please remember to put those necessary bits into your proposal. This along with good communication with your mentor and the entire team are absolutely crucial for a successful project, so bake these into your plans.

Following my last blog about Krafts upcoming release 0.80 I got a lot of positive reactions.

There was one reaction however, that puzzles me a bit and I want to share my thoughts here. It is about a comment about my announcement that I prefer to continue to develop Kraft on Github. The commenter reminded my friendly that there is still Kraft code on KDE infrastructure, and that switching to a different repository might waste peoples time when they work with the KDE repo.

That is a fair statement, of course I don’t want to waste peoples time. What sounds a bit strange to me is the second paragraph, that says that if I decide to stay with Github, I should let KDE people know that I wish Kraft to not be a KDE project anymore.

But … I never felt that Kraft should not be a KDE project any more.

A little History

Kraft has come a long way together with KDE. I started Kraft in (probably) 2004, gave a talk about Kraft at the Akademy Dublin 2006, maintained it with the best effort I could contribute until today. There is a small but loyal community around Kraft.

During all the time I got little substancial contribution to the code directly, with the exception of one cool developer who got interested for some time and made some very interesting contributions.

When I asked a for the subdomain long time ago I got the reply that it is not in the interest of KDE to give every little project a subdomain. As a result I reserved and run it since then, happily showing a “Part of the KDE family” logo on it.

Beside the indirect contributions to libraries that Kraft uses, I shipped Kraft with the translations made by the KDE i18n team, for which I always was very grateful. Otherwise I got no other services from KDE.

Why Github?

Githubs workflow serves me well in my day job, and since I have only little time for Kraft, I like to use the tools that I know best and give me the most efficiency.

I know that Github is not free software and I am sceptical about that. But Github also does not lock in, as we still are on git. We all know the arguments that usually come on the table at this point, so I am not elaborating here. One thing I want to mention though is that since I moved to Github publically I already got two little pull requests with code contributions. That is a lot compared to what came in the last twelfe years when living on KDE infrastructure only.


Kraft is a small project, driven by me alone. My development turnaround is good with Github as I am used to it. Even if no KDE developer would ever look at Github (which I know is not true) I have to say with heavy heart that Kraft would not take big harm by leaving KDEs infra, based on the experience of the last 12 years.

If the KDE translation teams do not want to work with Github, I am fine to accept that, and wonder if there could be a solution rather than switching to Transifex.

One point however I like to make very clear: I did not wish to leave KDE, nor aimed to move Kraft out.
I still have friends in the KDE community, I am still very interested in free software on desktop and elsewhere, and my opinion is still that KDE is the best around.

If the KDE community feels that Kraft must not be a KDE project any longer because it is on Github, ok. I asked KDE Sysadmins to remove Kraft from the KDE git, and it is already done.

Kraft now lifes on on Github.

Hoy me complace compartir con todos vosotros que ha sido Lanzado Krita 4.0, la aplicación para artistas digitales que conquista a propios y extraños. Una aplicación que demuestra que la unión de usuarios y desarrolladores en el mundo del Software Libre hace avanzar las aplicaciones libres a un ritmo que las propietarias no pueden seguir. Si además, reciben el apoyo de instituciones, son imparables.

Lanzado Krita 4.0, la aplicación para artistas digitales

El equipo de desarrollo de Krita se complace en anunciar que ha sido lanzado Krita 4.0.

Lanzado Krita 4.0, la aplicación para artistas digitalesLas novedades son muchas y variadas, así que hagamos un repaso de las mismas:

  • Numerosos cambios en la herramienta de dibujo vectorial. Son tantos que se rompe la retrocompatibilidad con Krita 3. Podrás pasar de 3.0 a 4.0 pero no al revés.
    • A partir de ahora utiliza formato svg en vez de odg, con lo que ahora es compatible con aplicaciones como Inkscape.
    • Disponibles herramientas lógicas booleanas como restar o unir objetos vectoriales.
  • Cambios en la barra de herramientas, que ahora presentan 3 pestañas, principalmente.
  • Nueva barra de herramientas para la realización de cómics, que contiene, por ejemplo, un buen
  • La herramienta de Texto ha adquirido muchas mejoras, que hacen que sea más sencillo trabajar con ella.
  • Posibilidad de utilizar Python Scripts.
  • Máscaras de color que optimizan el pintado de dibujos.
  • La herramienta Pinceles ahora tiene una previsualización de los mismos, aumentado el número de píxeles de pintado y otras mejoras.
  • Nueva forma de controlar el dibujo con “The pop-up palette”, muy intuitiva y funcional.
  • Añadida la malla de píxeles, en la que si amplías suficiente se ve el tamaño del píxel del dibujo.
  • Añadida la malla isométrica, una nueva perspectiva para las creaciones.
  • Nueva herramienta Filtros, que sustituya a la vieja y es mucho más rápida y eficaz.
  • Posibilidad de guardar la paleta de colores al guardar el documento.

Todas estas funcionalidades y alguna más las podéis ver en el siguiente vídeo de Krita.

Más información: Krita


Today we’re releasing Krita 4.0! A major release with major new features and improvements: improved vector tools, SVG support, a new text tool, Python scripting and much, much, much more!

The new splash screen for Krita 4.0, created by Tyson Tan, shows Kiki among the plum blossoms. We had wanted to release Krita 4 last year already, but trials and tribulations caused considerable delays. But, like the plum blossoms that often bloom most vibrantly when it’s coldest, we have overcome, and Krita 4 is now ready!


We’ve again created a long, long page with all the details of everything that’s new and improved in Krita 4.

See the full release notes with all changes!

We already mentioned SVG support, a new text tool and Python scripting, so here are some other highlights:

  • Masked brushes: add a mask to your brush tip for a more lively effect. This opens up some really cool possibilities!

  • New brush presets! We overhauled the entire brush set for Krita 4. Brush presets are now packaged as a bundle, too. And Krita 3’s brush set is available as well, it’s just disabled by default.

Known issues

Krita 4 is a huge step for the Krita project, as big as, if not bigger than the 3.0 release. There are some known issues and caveats:

  • Krita 4 uses SVG for vector layers. This means that Krita 3 files with vector layers may not be loaded entirely correctly. Keep backups!
  • Krita 4’s new text tool is still limited compared to what we wanted to implement. We focused on creating a reliable base and making the text tool work reliably for just one, simple use-case: creating text for comic book balloons, and we’ll continue working on improving and extending the text tool.
  • We have a new binary build factory for Windows and Linux. Unfortunately, we don’t have 32 bits Windows builds at this point in time.
  • Because macOS has a very low limit on shared memory segments, G’Mic cannot work on macOS at the moment.
  • The Reference Images Docker has been removed. It was too easy to crash it if invalid image files where present. In Krita 4.1 it will be replaced by a new reference images tool.



Note for Windows users: if you encounter crashes, please follow these instructions to use the debug symbols so we can figure out where Krita crashes.

At this moment, we do not have 32 bits Windows builds available.

Note that on Windows 7 and 8 you need to install the Universal C Runtime separately to enable Python scripting. See the manual.


At the moment, the appimage does not have working translations.

(If, for some reason, Firefox thinks it needs to load this as text: to download, right-click on the link.)

You can also use the Krita Lime PPA to install Krita 4.0.0 on Ubuntu and derivatives. We are working on an updated snap.


Note: the gmic-qt and python plugins are not available on macOS.

Source code


For all downloads:


The Linux appimage and the source tarball are signed. You can retrieve the public key over https here:
. The signatures are here.

Support Krita

Krita is a free and open source project. Please consider supporting the project with donations or by buying training videos or the artbook! With your support, we can keep the core team working on Krita full-time.

Artwork by Ramon Miranda

That Krita has become one of the most popular applications for painting among digital artists is an understatement. The great thing is that, with every new version, Krita just gets better and better. The latest release is a perfect example of that. Check out what you can look forward to in the new 4.0 version:

1. SVG for Vector Tools

Krita 4.0 will use SVG on vector layers by default, instead of the prior reliance on ODG. SVG is the most widely used open format for vector graphics out there. Used by "pure" vector design applications, SVG on Krita currently supports gradients and transparencies, with more effects coming soon.

Krita 4.0 also includes an improved set of tools for editing objects created on vector layers, letting you tweak the fill, the shape, and other features of your vector elements.

The text tool is now more reliable and more usable.

2. New Text Tool

The usability of the text tool has been vastly improved. The tool has been re-written to be more reliable, and has a better base for future expansion. As it also follows the SVG standard (instead of the prior ODT), it is compatible with more design applications.

3. Python Scripting

Krita now comes with a brand new Python scripting engine. This engine lets you write snippets of code that create and manipulate images, add dockers, entries to the menu, and much more. To get you started, the creators have included a large amount of example scripts. In Krita's Settings dialog, you can enable or disable Python plugins. Check out the manual and learn how to pythonize your Krita.

Note that this is the first release to include scripting, so it is very much a work in progress at this stage. Be advised that some things will work, but, for those that don't... Please tell the team!

4. New Brushes

If there is one thing Krita is famous for, that is its wide variety of brushes. Krita 4.0 has a special surprise in that department: David Revoy, the creator of Pepper and Carrot, has added his own personal set of brushes to this version.

5. Colorize Mask Tool

The new Colorize Mask Tool allows you to quickly and easily fill areas of line-art images with color. How it works: you create the mask for your line-art image, and then paint a streak of color into each area. The feature will automatically and intelligently fill each region with the colors you painted in, saving you the trouble of having to paint everything by hand or using the "dumb" fill tool.

Take a look at the online documentation to find out more about the Colorize Mask Tool.

You can create a watercolor effect using two masked brushes.

6. Masked Brushes

Masked brushes are created by combining two brushes with each other in different ways. Say you have a brush in the shape of a heart, and then a soft sponge brush. If you combine them using the multiply operation, you will get a mix of both - a completely new brush!

Check out the manual entry for Masked Brushes to learn how this feature works.

7. Performance Improvements

As for performance improvements, Krita now multi-threads the pixel brush engine. This means Krita is now smart enough to let each of your computer's cores calculate the dabs separately, and also have them work together. Use the performance settings to let Krita know how many cores it should use. These changes only affect the pixel brush engine for now, but the feature will later be expanded to other engines like the color smudge.

Also, all brushes now have an Instant Preview threshold property. This speeds up a lot of smaller brushes that didn't have any performance improvement features in prior versions. Instant Preview will automatically turn on when the size of a brush changes by a certain amount.

Both things combined make painting with Krita a more fluid and pleasurable experience.

Okay, so that was 7 things. But the fact is that Krita has long since transcended its humble origins as a clone of other design applications, and has become the tool of choice for digital painters regardless of the platform they use.

To learn more about all the changes included in this version, visit the complete release notes for Krita 4.0 or watch the videos embedded above.

Want to help make Krita even better? Donate to the project!

March 21, 2018

Hace un tiempo que se pusieron los temas planos y minimalistas, tanto es así que ahora cuesta encontrar uno que se salga demasiado de esa norma. Es por ello que me complace compartir con todos vosotros Steampunk Icontheme, un pack de iconos que le puede dar un aspecto barroco a tu escritorio y que casa a las maravillas con otros complementos de temática Steam que tiene Plasma y que ya he comentado en el blog.

Steampunk Icontheme, dándole un aspecto barroco a tu escritorio

Lo he verbalizado muchas veces, cambiar el tema de iconos de un escritorio es una de las formas de personalización casi más completa que puedes realizar sobre tu PC,ya que cambia totalmente el aspecto del mismo a la hora de interaccionar con tus aplicaciones, documentos y servicios.

Y te puedo asegurar que con Steampunk Icontheme, una creación de BlackCrack, vas a tener personalización garantizada ya que te ofrece más de 100 megas en iconos barrocos estilo steampunk que seguro que no te deja indiferente. Además de ir de fábula con los cursores Steampunk que presenté hace un tiempo.  o plamoides como Time Keeper, que funcionaban para KDE 4 pero no se si lo hacen para Plasma.

Steampunk Icontheme, dándole un aspecto barroco a tu escritorio

Y como siempre digo, si os gusta el pack de iconos Steampunk Icontheme podéis “pagarlo” de muchas formas en la página de KDE Store, que estoy seguro que el desarrollador lo agradecerá: puntúale positivamente, hazle un comentario en la página o realiza una donación. Ayudar al desarrollo del Software Libre también se hace simplemente dando las gracias, ayuda mucho más de lo que os podéis imaginar, recordad la campaña I love Free Software Day 2017 de la Free Software Foundation donde se nos recordaba esta forma tan sencilla de colaborar con el gran proyecto del Software Libre y que en el blog dedicamos un artículo.

Más información: KDE Store


kdsoap128KDSoap is a tool for creating client applications for web services without the need for any further component such as a dedicated web server.

KDSoap lets you interact with applications which have APIs that can be exported as SOAP objects. The web service then provides a machine-accessible interface to its functionality via HTTP.

Changes in 1.7.0


  • Qt 5.9.0 support (compilation fix due to qt_qhash_seed being removed, unittest fix due to QNetworkReply error code difference)


  • Fix unwanted generation of SoapAction header when it should be empty (SOAP-135).
  • Abort the connection when destroying a job with a pending call (SOAP-138).

WSDL parser / code generator changes, applying to both client and server side

  • Add support for body namespace specification in RPC calls.
  • Fix namespace handling in typename comparison for optional element used inside itself (github issue #83).
  • Add missing include in generated header, when an operation's return value needs one (ex: QDate) (github issue #110).
  • Fix namespace handling in restriction and extension tags
  • Fix wrong indentation of "};" for classes inside namespaces


  • You can see the changelog here.
  • The source code can be found on GitHub here.
  • Tarballs and zipballs are available here.
  • Prebuilt packages for some popular Linux distributions can be found here  (use the qt5-kdsoap packages unless you are still on Qt4).
  • We also provide Homebrew recipes (Qt4 and Qt5 based versions) for the Mac folks.
  • If you use KDAB Commercial you'll need to wait a few days for the download area to be updated.

continue reading

The post KDSoap 1.7.0 is released appeared first on KDAB.

Qt Champions

It’s time to share who the Qt Champions for 2017 are!

As always, all the nominees were incredible people. It is hard to decide who is most worthy of the Qt Champion title. I asked for help from our lifetime Qt Champion Samuel Gaist, and together we faced the tough decision.

And without further ado, here are the new Qt Champions:

@mrjj and @kshegunov have been granted the Community Builder title. Beside answering questions on the forum @mrjj is always ready to try or build test applications in order to help fellow members to solved their problem. @kshegunov‘s deep C++ knowledge and insightful comments are always appreciated for moving the debate further.

@dheerendra is this year’s Ambassador for all the work he is doing in India that promotes the use of Qt through local meetups, training and also the forum.

@marco_piccolino gets the Content Creator reward. Outside of being the driving force behind the qtmob slack channel, Marco is also the author of the Qt 5 Projects book.

@aha_1980 is the 2017 QA Champion. While being present on the forum he’s also very active on the bug reporting front helping on triaging, improving the reports and fixing these nasty bugs especially on the QtSerialBus module.

The Developer title goes to @orgads. His work on Qt’s internal might not be visible to the outside but his gerrit record speaks loudly. Between his own patches and reviews, his helpfulness and friendly nature is praised by his peers.

Our Maverick Of The Year is @benlau ! Ben provides numerous helper libraries covering interesting aspects like promises handling for QML and C++, custom Android components and more.

Thank you everyone for your involvement in Qt, you make the community a better place for everyone!

And congratulations to all the Qt Champions!

The post Qt Champions 2017 appeared first on Qt Blog.

Today we have a guest post from Buovjaga, our friendly local QA evangelist for LibreOffice, KDE, Inkscape, Firefox and Thunderbird. Without further ado, I’d like to present…

The Importance of QA

With this post I hope to convince you that a strong quality assurance team can do miraculous things for a free software project.

The spectrum of QA is wide, and reducing the skill requirements is particularly relevant for KDE’s onboarding initiative.

The critical phase of onboarding a new contributor is the first contact. Sometimes the new person does not know what they want to do. Often you do not have a clear picture of what skills they have. You need to act fast or they will lose interest and disappear! This is the moment where you should hand them snacks: a query of bugs that need to be confirmed or re-confirmed. This is the lowest threshold for them to step across and into being a contributor, because:

  • They do not need to learn version control
  • They do not need to learn the patch submission processes
  • They do not need to be wordsmiths
  • They do not need to know interface design or how to draw pretty pictures
  • They should not even need to know how to use the features they are testing, because a valid bug report includes clear steps on what to do!

QA is highly important in itself, but it is also a gateway drug. A simplified story of the evolution of a contributor might be as follows:

  1. They work on something meaningful
  2. They get familiar with the structure of the project
  3. They discover their own potential and the multitude of things they can help with

Not only does this evolution flow naturally through the QA team, but the experienced members are in a unique position to speed it up. This is because QA in the course of its work typically has to ferret out information from all the other teams. This leads to QA

  1. Knowing who the subject-matter experts are
  2. Discovering weak points in the organisation
  3. Helping the various teams stay in sync with each other

In this aspect QA is acting like neurotransmitters in the body of the project.

The most apparent beneficial effect of having a strong QA team is that the developers are not distracted by massive amounts of first-stage bug analysis.

Raatajat_rahanalaiset.JPGPrimitive development team working in the bug tracker without the luxury of a QA team

In QA, too many cooks do not spoil the broth. A large and diverse team is more effective than a small one when trying to keep up with a myriad of software and hardware configurations.
A large teams allows the freedom for members to level up their skills. The more experience on advanced triaging techniques the members have, the less work developers have to spend per bug fix.

There is a long road ahead for KDE to reach a healthy state regarding QA. Recruit contributors early and often. Aim for a feedback loop of recruiting, where even fresh contributors brainstorm to come up with ways to find new people.

I invite everyone to go through these articles and improve them:

I also recommend KDE to look into making it easy for QA to perform git bisects for pinpointing regressions. Perhaps this could be achieved by offering compressed repositories containing binary snapshots for every single commit in a project like LibreOffice does.

Since the introduction of the Plasma/Wayland session we set the QT_QPA_PLATFORM variable to wayland by default. After a long and hard discussion we decided to no longer do this with Plasma 5.13. This was a hard decision and unliked by everyone involved.

The environment variable forced Qt applications to use the wayland QPA platform plugin. This showed a problem which is difficult to address: if Qt does not have the wayland QPA platform plugin the application just doesn’t start. If you start through the console, the application will tell you:

This application failed to start because it could not find or load the Qt platform plugin "wayland"
in "".

Available platform plugins are: minimal, xcb.

Reinstalling the application may fix this problem.
Aborted (core dumped)

That is not really a useful information and does not tell the user what to do. Neither does it tell the user where the actual problem is and how to solve it. As mentioned when using a graphical launcher it’s worse as the app just doesn’t start without any feedback.

But how can it happen that the qpa platform plugin is missing although Plasma itself happily uses it? The problem is that application installed outside of the system bundle their own Qt and Qt does not (yet) include QtWayland QPA platform plugin. This affects proprietary applications, FLOSS applications bundled as appimages, FLOSS applications bundled as flatpaks and not distributed by KDE and even the Qt installer itself. In my opinion this is a showstopper for running a Wayland session.

The best solution is for Qt including the QPA platform plugin and having a proper auto-detection based on XDG_SESSION_TYPE. The situation will improve with Qt 5.11, but it doesn’t really help as the Qt LTS versions will continue to face the problem.

For now we implemented a change in Plasma 5.13 so that we don’t need to set the env variable any more. Plasma is able to select the appropriate platform plugin based on XDG_SESSION_TYPE environment variable. Non-Plasma processes will use the default platform plugin. With Qt < 5.11 this is xcb, with Qt 5.11 this will most likely change to wayland. KDE’s flatpak applications pick Wayland by default in a Wayland session and are unaffected by the change.

What is really sad about the change is that the Wayland qpa platform plugin gets less testing now. So we would like to ask our users to continue testing application with the Wayland platform plugin by setting the env variable manually or specifying –platform wayland when starting an application.

Dan Bielefeld speaks at a Transitional Justice Working Group event.

Dan Bielefeld is an activist that works for a South Korean NGO. Dan worked in the Washington, D.C. area training young activists in the areas of politics and journalism before going into researching atrocities committed by the North Korean regime. He is currently the Technical Director of the Transitional Justice Working Group and helps pinpoint the locations of mass burial and execution sites using mapping technologies.

Dan will be delivering the opening keynote at this year's Akademy and he kindly agreed to talk to us about activism, Free Software, and the sobering things he deals with every day.

Paul Brown: Hello Dan and thanks for agreeing to sit down with us for this interview.

Dan Bielefeld: Thanks for the opportunity, Paul.

Paul: You work for the the Transitional Justice Working Group, an organization that researches human rights violations of the North Korean regime, correct?

Dan: Yes, we have a mapping project that tries to identify specific coordinates of sites with evidence related to human rights violations.

Paul: And you were a web designer before joining the organization... I've got to ask: How does one make the transition from web designer to human rights activist?

Dan: I was a web developer for several years before moving to Korea. When I moved here, I enrolled as a Korean language student and also spent most of my free time volunteering with North Korean human rights groups. So, unfortunately, that meant putting the tech stuff on hold for a while (except when groups wanted help with their websites).

Paul: You are originally from the US, right?

Dan: Yes, from Wisconsin.

Paul: Was this a thing that preoccupied you before coming to Korea?

Dan: I initially came on a vacation with no idea that I'd one day live and work here. In the lead-up to that trip, and especially after that trip, I sought out more information about Korea, which inevitably brought me repeatedly to the subject of North Korea.

Most of the news about North Korea doesn't grab my attention (talking about whether to resume talking, for instance), but the situation of regular citizens really jumped out at me. For instance, it must've been in 2005 or so that I read the book The Aquariums of Pyongyang by a man who had literally grown up in a prison camp because of something his grandfather supposedly did. This just didn't seem fair to me. I had thought the gulags where only a thing of history, but I learned they still exist today.

Paul: Wait... So people can inherit "crimes" in North Korea?

Dan: They call it the "guilt-by-association" system. If your relative is guilty of a political crime (e.g., defected to the South during the Korean War), up to three generations may be punished.

Paul: Wow. That is awful, but somehow I feel this is not the most awful thing I am going to hear today...

Dan: For a long time I thought it was just North Korea, but I have since learned that this logic / punishment method is older than the division of the North and South. For a long time after the division, in the South it was hard to hold a government position if your relative was suspected of having fled to the North, for instance.

Paul: What's your role in Transitional Justice Working Group?

Dan: I'm the technical director, so I'm responsible for our computer systems and networks, which includes our digital security. I also manage the mapping project, and I am also building our mapping system.

Paul: Digital security... I read that North Korea is becoming a powerhouse when it comes to electronic terrorism. How much credibility do these stories have? I mean, they seem to be technologically behind in nearly everything else.

Dan explaining the work of the The Transitional Justice Working Group to conference attendees. Photo by David Weaver.

Dan: This is a really interesting question and the answer is very important to my work, of course.

Going up against great powers like the US, the North Korean leadership practices asymmetrical warfare. Guerilla warfare, terrorism, these are things that can have a big impact with relatively little resources against a stronger power.

In digital security, offense tends to be easier than defense, so they naturally have gravitated online. Eike [Hein -- vice-president at KDE e.V.] and I went to a conference last year at which a journalist, Martyn Williams of said they train thousands of hackers from an early age. The average person in North Korea doesn't have a lot of money and may not even have a computer, but those the regime identifies and trains will have used computers and received a great deal of training from an early age. They do this not only for cyber-warfare, but to earn money for the regime. For instance, the $81 million from the Bangladesh bank heist.

Paul: Ah, yes! They did Wannacry too.

Dan: Exactly.

Paul: Do your systems get attacked?

Dan: One of our staff members recently received a targeted phishing email that looked very much like a proper email from Google. The only thing not real was the actual URL it went to. Google sent her the warning about being targeted by state-sponsored attackers and recommended she join their Advanced Protection Program, which they launched last year for journalists, activists, political campaign teams, and other high-risk users.

We of course do our best to monitor our systems, but the reality today is that you almost have to assume they're already in if they're motivated to do so.

Paul: That is disturbing. So what do you do about that? What tools do you use to protect and monitor your systems?

Dan: What I've learned over the last three years is that the hardest part of digital security is the human element. You can have the best software or the best system, but if the password is 123456 or is reused everywhere, you aren't really very secure.

We try to make sure that, for instance, two-factor authentication is turned on for all online accounts that offer it -- for both work and personal accounts. You have to start with the low-hanging fruit, which is what the attackers do. No reason to burn a zero-day if the password is "password". Getting people to establish good digital hygiene habits is crucial. It's sort of like wearing a seatbelt -- using 2FA might take extra time every single time you do it, and 99.9% of the time, it's a waste of time, but you'll never really know in advance when you'll really need it, so it's best to just make it a habit and do it every time.

Another thing, of course, is defense in layers: don't assume your firewall stopped them, etc.

Paul: What about your infrastructure? Bringing things more to our terrain: Do you rely on Free Software or do you have a mix of Free and proprietary? Are there any tools in particular you find especially useful in your day-to-day?

Dan: I personally love FOSS and use it as much as I can. Also, being at a small NGO with a very limited budget, it's not just the freedom I appreciate, but the price often almost makes it a necessity.

Paul: But surely having access to the code makes it a bit more trustworthy than proprietary blackboxes. Or am I being too biased here?

The Transitional Justice Working Group uses QGIS to locate sites of North Korean human rights violations.

Dan: Not all of my colleagues have the same approach, but most of them use, for instance, LibreOffice everyday. For mapping, we use Postgres (with PostGIS) and QGIS, which are wonderful. QGIS is a massive project that so far we've only scratched the surface of. We also use Google Earth, which provides us with imagery of North Korea for our interviews (I realize GE is proprietary).

I agree, though, that FOSS is more trustworthy -- not just for security, but privacy reasons. It doesn't phone home as much!

Paul: What about your email server, firewalls, monitoring software, and so on. What is that? FLOSS or proprietary?

Dan: Mostly FLOSS, but one exception, I must admit, is our email hosting. We do not have the resources to safely run our own email. A few years ago we selected a provider that was a partner with a FOSS project to run our own email service, but we ultimately switched to Google because that provider was slow to implement two-factor authentication.

Paul: Getting back to North Korea's human rights violations, you are mapping burial sites and scenes of mass killings, and so on, is that right? How bad is it?

Dan: The human right situation in North Korea is very disturbing and the sad thing is it's continued for 60+ years. The UN's Report of the Commission of Inquiry on human rights in the Democratic People’s Republic of Korea from 2014 is a must-read on the general human rights situation in North Korea. From the principal findings section (para. 24), "The commission finds that systematic, widespread and gross human rights violations have been and are being committed by the Democratic People’s Republic of Korea. In many instances, the violations found entailed crimes against humanity based on State policies."

Their mandate looked at "violations of the right to food, the full range of violations associated with prison camps, torture and inhuman treatment, arbitrary arrest and detention, discrimination; in particular, in the systemic denial and violation of basic human rights and fundamental freedoms, violations of the freedom of expression, violations of the right to life, ... enforced disappearances, including in the form of abductions of nationals of other States," and so on.

For our mapping project, we published our first report last year, based on interviews with 375 escapees from North Korea who have now settled in South Korea.

They collectively told us the coordinates of 333 killing sites, usually the sites of public executions, which local residents, including school children, are encouraged and sometimes forced to watch. It should be noted that this number hasn't been consolidated to eliminate duplicates. Some people reported more than one site, others none at all, but on average, almost one site per person was reported.

Paul: And how do you feel about the situation? I am guessing you have met North Korean refugees passing through your workplace and that you, like most of us, come from a very sheltered and even cushy Western society background. How do you feel when faced with such misery?

Suspected killing sites per province.

Dan: It's a good question and hard to put into words what I feel. I guess, more than anything, I find the North Korean regime so unfair. Those we met in Seoul have been through so much, but they also are the ones who overcame so many obstacles and now have landed on their feet somewhere. It's not easy for them, but usually the longer they're here, the better they end up doing.

Continuing about the mapping project's first report findings, from those 375 interviewees, we were also told the coordinates of 47 "body sites" - we use the term "body sites" because it's more general than burial sites. Most of the sites were burial sites, but some were cremation sites or places where bodies had been dumped without being buried, or stored temporarily before being buried. This 47 figure IS consolidated / de-duped (from 52), unlike the killing sites number.

Paul: You manually plot sites on maps, correct? You have to rely on witnesses remembering where they saw things happen...

Dan: We manually plot them using Google Earth, yes. During the interview, our interviewer (who himself is originally from the North) looks together with the interviewee at Google Earth's satellite imagery. You have to get used to looking down at the world, which takes some getting used to for some people.

Paul: Is there no technology that would help map these things? Some sort of... I don't know... thermal imaging from satellites?

Dan: Our goal eventually would be to interview all 30,000-plus North Koreans who've resettled in South Korea. The more we interview, and the more data points we get, the more we can cross-reference testimonies and hopefully get a better picture of what happened at these locations. I went to the big FOSS4G (G=Geospatial) conference last year in Boston and also the Korean FOSS4G in Seoul, and got to meet people developing mapping systems on drones. The only problem right now with drones is that flying them over North Korea will probably be seen as an act of war.

When we get enough data points, we could use machine learning to help identify more potential burial sites across all of North Korea. Something similar is being done in Mexico, for instance, where they predict burial sites of the victims of the drug wars.

Paul: Interesting.

Dan: Patrick Ball of the Human Rights Data Analysis Group is doing very, very good stuff.

Paul: You mentioned that the crimes have been going on for 60 years now. What should other countries be doing to help stop the atrocities? Because it seems to me that, whatever they have been doing, hasn't worked that well...

Dan: Very true, that. North Korea is very good at playing divide and conquer. The rivalry between the Soviets and the Chinese, for instance, allowed them to extract more aid or resources from them.

They also try to negotiate one-on-one, they don't want to sit down to negotiate with the US and South Korea at the same time, only with one or the other, for instance. North Korea - South Korea and North Korea - US meetings are dramatically being planned right now, and it puts a lot of stress on the alliance between the US and South Korea. That's definitely a goal of North Korea's leadership. Again, divide and conquer.

So one thing that's an absolute must is for South Korea to work very closely with other countries and for them to all hold to the same line. But there are domestic and external forces that are pulling all of the countries in other directions, of course.

I would say to any government to always keep human rights on the agenda. This does raise the bar for negotiations, but it also indicates what's important. It also sends an important message to the people of North Korea, whom we’re trying to help.

I also think strategies that increase the flow of information into, out of, and within North Korea are key. For instance, the BBC recently opened a Korea-language service for the whole peninsula including North Korea. And Google’s Project Loon and Facebook’s similar project with drones could theoretically bring the internet to millions.

Paul: Do you think these much-trumpeted US - North Korean negotiations will happen? And if so, anything productive will come from them?

Dan: I really don't know. Also, one can't talk about all this without mentioning that China is North Korea's enabler, so if you want to significantly change North Korea, you have to influence China.

To more directly answer the question, two US presidents (one from each party) made big deals with the North Koreans but the deals fell apart. We’ll see.

Paul: We've covered what governments can do, but what can private citizens do to help?

Dan: One major thing is to help amplify the voices of North Korean refugees and defectors. There are a few groups in Seoul, for instance, that connect English speakers with North Korean defectors who want to learn and practice their English. There are small North Korean defector communities in cities like London, Washington DC, etc. I don't know about Berlin, but I wouldn't be surprised!

That's at the individual-to-individual level, but also, those with expertise as software developers, could use their skills to empower North Korean refugee organizations and activists, as well as other North Korean human rights groups.

Paul: Empower how? Give me a specific thing they can do.

Dan: For instance, one time I invited an activist to the Korea KDE group. He and some KDE community leaders had a very interesting discussion about how to use Arduino or something similar to control a helium-filled balloon to better drop leaflets, USB sticks, etc. over North Korea.

Paul: That is a thing? What do the Arduinos do, control some sort of rotor?

Dan: I can't really get into specifics, but, speaking of USB sticks with foreign media and content on it, one group has a project to reuse your old USB sticks and SD cards for just that purpose.

Paul: What do you put on the sticks and cards? "The Interview"? "Team America"?

Dan: There are several groups doing this, which is good, since they all probably have different ideas of what North Koreans want to watch. I think South Korean TV shows, movies, and K-Pop are staples. I have heard Wikipedia also goes on to some sticks, as do interviews with North Koreans resettled in South Korea...

Paul: Dan, thank you so much for your time.

Dan: Thanks so much, Paul, I look forward to meeting you and the rest of the KDE gang this summer.

Paul: I too look forward to seeing you in Vienna.

Dan will be delivering the opening keynote at Akademy 2018 on the 11th of August. Come to Akademy and find out live how you too can fight injustice from the realms of Free Software.

About Akademy

For most of the year, KDE—one of the largest free and open software communities in the world—works on-line by email, IRC, forums and mailing lists. Akademy provides all KDE contributors the opportunity to meet in person to foster social bonds, work on concrete technology issues, consider new ideas, and reinforce the innovative, dynamic culture of KDE. Akademy brings together artists, designers, developers, translators, users, writers, sponsors and many other types of KDE contributors to celebrate the achievements of the past year and help determine the direction for the next year. Hands-on sessions offer the opportunity for intense work bringing those plans to reality. The KDE Community welcomes companies building on KDE technology, and those that are looking for opportunities.

You can join us by registering for Akademy 2018. Registrations open in April. Please watch this space.

For more information, please contact the Akademy Team.

Dot Categories:

March 20, 2018

Cutelyst the Qt/C++ web framework just got a major release update, around one and half year ago Cutelyst v1 got the first release with a stable API/ABI, many improvements where made during this period but now it was time to clean up the mistakes and give room for new features.

Porting applications to v2 is mostly a breeze, since most API changes were done on the Engine class replacing 1 with 2 and recompiling should be enough on most cases, at least this was the case for CMlyst, Stickyst and my personal applications.

Due cleanup Cutelyst Core module got a size reduction, and WSGI module increased a bit due the new HTTP/2 parser. Windows MSVC was finally able to build and test all modules.

WSGI module now defaults to using our custom EPoll event loop (can be switched back to Qt’s default one with an environment variable), this allows for a steady performance without degradation when an increased number of simultaneous connections is made.

Validators plugins by Matthias got their share of improvements and a new password quality validator was added, plus manual pages for the tools.

The HTTP/2 parser adds more value to our framework, it’s binary nature makes it very easy to implement, in two days most of it was already working but HTTP/2 comes with a dependency, called HPACK which has it’s own RFC. HPACK is the header compression mechanism created for HTTP/2 because gzip compression as used in SPDY had security issues when on HTTPS called CRIME .

The problem is that HPACK is not very trivial to implement and it took many hours and made KCalc my best friend when converting hex to binary to decimal and what not…

Cutelyst HTTP/2 parser passes all tests of a tool named h2spec, using h2load it even showed more requests per second than HTTP/1 but it’s complicated to benchmark this two different protocols specially with different load tools.

Upgrading from HTTP/1.1 is supported with a switch, as well as enabling H2 on HTTPS using the ALPN negotiation (which is the only option browsers support), H2C or HTTP/2 in clear text is also supported but it’s only useful if the client can connect with previous knowledge.

If you know HTTP/2 your question is: “Does it support server push?”. No it doesn’t at the moment, SERVER_PUSH is a feature that allows the server to send CSS, Javascript without the browser asking for it, so it can avoid the request the browser would do, however this feature isn’t magical, it won’t make slow websites super fast , it’s also hard to do right, and each browser has it’s own complicated issues with this feature.

I strongly recommend reading this .

This does not mean SERVER_PUSH won’t be implemented, quite the opposite, due the need to implement it properly I want more time to study the RFC and browsers behavior so that I can provide a good API.

I have also done some last minute performance improvements with the help of KDAB Hotspot/perf, and I must say that the days of profiling with weird/huge perf command line options are gone, awesome tool!

Get it!

If you like it please give us a star on GitHub!

Have fun!

Ayer martes 19 de marzo se emitió y grabó en directo un nuevo podcast de la cuarta temporada de KDE España. Un episodio que lleva por nombre KDE y empresas, donde se analizaron los aspectos más importantes de estas

KDE y empresas, nuevo podcast de KDE España

KDE y empresasNuevo mes, nuevo podcast. Los chicos de KDE España nos ofrecieron una nueva edición de su charla mensual sobre aspectos del mundo KDE con dos personas especialistas en las relaciones del Software Libre y las empresas: Carlos Rodriguez, presidente de Agasol -asociación de empresas gallegas de software libre- y fundador y gerente de Librebit, y Agustín Benito, miembro de KDE España, desarrollador de KDE, ex-tesorero de KDE e.V. y ex-presidente de Asolif.

Además, y como es habitual participaron, Ruben Gómez Antolí, miembro de KDE España que realizó las labores de presentador, y un servidor, Baltasar Ortega, secretario de KDE España y creador y editor del presente blog.

De esta forma, tras una extensa charla de más de dos horas donde aparecieron términos como migraciones, aplicaciones cautivas, aplicaciones nativas, modo kiosco, formación, piratería y un largo etcétera, se llegó a la conclusión de que las empresas van migrando poco a poco al Software Libre, luchando en ocasiones contra las Administraciones Públicas y contra la propia inercia del miedo al cambio, como algo inexorable y que aquella que no lo haga irá perdiendo competividad.

Un gran podcast que no os podéis perder con dos grandes oradores.

Espero que os haya gustado, si es así ya sabéis: “Manita arriba“, compartid y no olvidéis visitar y suscribiros al canal de Youtube de KDE España.

Como siempre, esperamos vuestros comentarios que os aseguro que son muy valiosos para los desarrolladores, aunque sean críticas constructivas (las otras nunca son buenas para nadie). Así mismo, también nos gustaría saber los temas sobre los que gustaría que hablásemos en los próximos podcast.

Aprovecho la ocasión para invitaros a suscribiros al canal de Ivoox de los podcast de KDE España que pronto estará al día.


With the introduction of the Qt Quick software renderer it became possible to use Qt Quick on devices without a GPU. We investigated how viable this option is on a lower end device, particularly the NXP i.MX6 ULL. It turns out that with some (partially not yet integrated) patches developed by KDAB and The Qt Company, the performance is very competitive. Even smooth video playback (with at least half-size VGA resolution) can be done by using the PXP engine on the i.MX6 ULL.

continue reading

The post Qt Quick without a GPU: i.MX6 ULL appeared first on KDAB.

Hey there!

We haven’t blogged about KDE Connect in a long time, but that doesn’t mean that we’ve been lazy. Some new people have joined the project and together we have implemented some exciting features. Our last post was about version 1.0, but recently we released version 1.8 of the Android app and 1.2.1 of the desktop component some time ago, which we did not blog about yet. Until now!

We got some fancy new features in place:

Remote Keyboard plugin

I think most of us can agree that typing long texts on the phone sucks compared to typing on a proper keyboard. Before, you could type your text on the desktop and copy & paste it to your phone using our clipboard sync. Now we got an even fancier method: our new Remote Keyboard plugin.
Before using it you need to enable the KDE Connect Remote Keyboard in your phones settings.


Whenever you are confronted with a text input field you can switch to the KDE Connect Remote Keyboard. Then you open up the Plasmoid, click the input field and start typing.


Big thanks to Holger Kaelberer for implementing this!


Reply to Whatsapp and others

Previously you only could reply to SMS, but not other IM apps like Whatsapp. We are pleased to announce that we were able to enable replying for several other messaging apps that support Androids quick reply, including Whatsapp. Please note that it is not within our control which apps are supported and which not.
Big thanks to Julian Wolff for implementing this!


Notification icons

On Android, most notifications have some kind of icon, like a contact picture for messaging apps or album art for media player notifications. KDE Connect now forwards those and displays them on the desktop and inside the Plasmoid.


Runtime permissions

Android Marshmallow introduced a new permission system, giving the users fine-grained control about their apps. To support this new system each plugin got a set of required and optional permissions assigned. If a required permission has not been granted the respective plugin won’t be loaded. If an optional permission has not been granted the plugin will be loaded with reduced features.


Direct share

Android Marshmallow also introduced Direct Share. Using this we enabled you to send files or urls to your desktop without opening KDE Connect.
Screenshot_20180316-213838__01 (1)


Plasmoid redesign

Our Plasmoid got some love




Choose ringtone for Find-my-Phone

A small but requested feature is selecting a ringtone for Find-my-Phone.


Blacklist numbers

You are now able to blacklist numbers so that calls and SMS are not forwarded to the desktop. This is especially useful when you are using two-factor-authentification with your phone so it won’t get leaked to the desktop.

Those features were implemented by me.


Media controller overhaul

Matthijs Tijink has been working really hard on improving the media controller plugin. It now displays the album cover art and a media control notification as well as other polish. Make sure to check out his blog.







URL handler

Aleix Pol has implemented an URL handler that enables you to trigger phone calls for example by clicking a tel:// url in your browser.


Additionally we have fixed loads of bugs, crashes and papercuts and made many under-the-hood improvements.

There is also a lot going on in related KDE software. Friedrich Kossebau is working on bringing MPRIS support to Gwenview and Okular, enabling controlling slideshows and presentations from KDE Connect. Furthermore we fixed some issues in the MPRIS implementation of Plasma Browser Integration and Elisa (the next-gen KDE music player).
Speaking of Plasma Browser Integration: In case you haven’t, make sure to check out this awesome project which integrates neatly with KDE Connect, enabling you for example to control Youtube videos or Netflix from your phone or to send browser tabs to your phone. Thanks Kai Uwe Broulik for this awesome project!

But this is not the end. We got some more features in the pipeline and this week the core developers are meeting for a sprint to discuss the future of KDE Connect. Some weeks ago we asked people on Reddit which features they like to see and got a ton of valuable feedback. We’ll discuss it and let you know which of them are feasible.

If you are as excited about KDE Connect as we are we would love to see you join our development team. Make sure to subscribe to and ask for help at our mailing list. If you can’t contribute in a technical way but still want to support us consider donating to KDE. Your donations enable us to meet in person and work more closely on KDE Connect and other KDE Software.


March 19, 2018

Make sure you commit anything you want to end up in the KDE Applications 18.04 release to them :)

We're already past the dependency freeze.

The Freeze and Beta is this Thursday 22 of March.

More interesting dates
April 5: KDE Applications 18.04 RC (18.03.90) Tagging and Release
April 12: KDE Applications 18.04 Tagging
April 19: KDE Applications 18.04 Release

The KMyMoney development team is proud to present the first maintenance version 5.0.1 of its open source Personal Finance Manager. Although several members of the development team had been using the new version 5.0.0 in production for some time, a

Could you tell us something about yourself?

I’m almost 35 years old, from a city called Passo Fundo, state of Rio Grande do Sul, Brazil. I like cats, cartoons and rock and roll. 1994 was the year when I started to have some interest in drawing. I looked for learning how to draw just for fun and sometimes to let my soul talk. But I can say that the digital art that I started practicing last year has helped me get rid of a recent depression.

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

As a hobby. At least for now.

What genre(s) do you work in?

I usually draw cartoons. But I also like painting nature and fantasy elements.

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

Most times when I draw, I don’t look up to a specific artist. I search random images on internet or the painting comes from my own mind. I think any kind of art should come from the artist’s inner soul.

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

It occurred last year, in May, I guess. I had no job but I had a nasty depression. Then my husband said he would like to learn how to draw and start work with that. It was when I started to draw again. Yes, I had stopped drawing, limiting myself to draw just when I had nothing more to do. Then we got an online course from Ivan Quirino and here I am, less than an year later, doing all kinds of digital painting.

What makes you choose digital over traditional painting?

The practicality. It is really hard when you do something wrong drawing at the traditional way. In digital painting, you can redo as many times as necessary.

How did you find out about Krita?

At Youtube or at some blog. I can’t tell for sure.

What was your first impression?

When I used Krita for the first time I already knew most of the tools, so it was easy to use. But I needed to learn more, then I watched a video that explained the basic tools and method to paint. I thought then that Krita was a good tool for painting. Today I can tell it’s a great tool for digital artists. My personal opinion: Krita is the best and I really can’t use a different program.

What do you love about Krita?

The quick access to the tools I need. The ease to work with it. I like so much of that function that allows you to paint just the line art. It’s awesome.

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

Nothing! As I said before: I really enjoy work with Krita and I recommend it to anyone who is choosing this path of digital art.

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

The brushes, the way Krita works with layers (for example: if you have a line on the top layer and you paint a background on the layer below, you won’t paint over what is drawn on the top layer). I don’t know about the functionality of all painting software, but I think this is pretty cool.

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

I like my latest work. At the time I made the work, I hadn’t thought about a name yet. But looking at it now, I could call it “The peace of the mermaid”. I think it fits well.

What techniques and brushes did you use in it?

Well, I’m not good with names of techniques, but I used the default brushes and some of those by David Revoy (airbrush, fill brush, wet brushes, some ink for the little details, some customized brush “LJF water brush 3”). I also used effect layers. So I started with the water base, just filling the area with blue and white tones. Then I painted the sky, mixing tones of blue with white. The sun was made with an airbrush, mixing yellow and white. After that, I used the customized brush to do the details of the water. Always mixing the colors to get the vision that I was looking for. Then I painted the blocks of sand, leaving the details, done with “splat_texture – Marcas”, for the end. At this point, I could start drawing the mermaid. Started by doing a shadow mermaid. After that, I put the colors, lights and shadows and the details. The effect layers were used to get more luminance on a specific element (In Portuguese: Luz viva – used on the mermaid and the starfish -, Luz suave – used to get the luminance on the full scene – , Desvio linear – to get the effect on the water light).

Where can people see more of your work?

For the moment I have:
Facebook page:

Anything else you’d like to share?

I just wanted to thank the people that work to improve Krita, an amazing box of tools for digital painting!

March 18, 2018

This years Akademy-es will be happening in Valencia from 11 to 13 of May. The call for papers is still open so if speak Spanish and have something interesting to share with your fellow KDE people send a talk :)

We'll open registration shortly, be sure to attend and say hi!

Christmas came early this week! Today’s Usability & Productivity status is jam-packed with awesome stuff that I think you’re all really gonna love.

There’s all the awesome work on Discover, but it doesn’t stop there:

New Features

  • Dolphin now helps you install Konsole if it’s not installed when you open the Terminal pane (KDE bug 371822, implemented in KDE Applications 18.04.0, authored by Roman Inflianskas):
  • Dolphin now lets you find a symlink’s target file or folder (KDE bug 215069, implemented in KDE Applications 18.04.0, authored by Roman Inflianskas):
  • Gwenview’s slideshow feature can now be controlled via any MPRIS-compatible playback controller, such as the Media Playback widget, KDE Connect, and laptop keyboards’ media keys (KDE Phabricator revision D10972, implemented in KDE Plasma 5.13.0 and KDE Applications 18.04.0, authored by Friedrich Kossebau). Read more about it here!
  • By default for new installations, windows can now be tiled to any edge of the screen using the Meta+arrow key shortcuts, and can be maximized and minimized with Meta+PageUp/PageDown (KDE Phabricator Revision D11377, implemented in KDE Plasma 5.13.0, authored by me, Nate Graham)


  • Fixed a bug in Gwenview causing image view’s touchpad scrolling to be uncontrollably sensitive when the scroll behavior is set to “Browse” (KDE bug 388353, fixed in KDE Applications 18.04.0, authored by Huon Imberger)
  • Fixed a bug in Gwenview causing the “Disable History” feature to not work (KDE bugs 332853 and 391527, fixed in KDE Applications 18.04.0, authored by Peter Mühlenpfordt)
  • Fixed a bug in Plasma causing fonts to be rendered in an ugly and pixellated manner when using a non-integer scale factor (e.g. 1.3x) and PLASMA_USE_QT_SCALING=1 (KDE bugs 391691 and 384031, fixed in KDE Frameworks 5.45, authored by me, Nate Graham):
    Plasma looking awesome with a 1.3x scale factor
  • Fixed a bug regarding how fonts were rendered in KDE software that uses QTQuickControls controls (such as all Kirigami apps, for example) that was causing text to appear slightly too light and wispy at non-HiDPI and integer HiDPI scale factors (KDE bug 391780, fixed in KDE Frameworks 5.45, authored by me, Nate Graham):
    Top: before. Bottom: after!
  • Fixed a bug in Konsole causing custom tab titles to be reset when changing profile options (KDE bug 354403, fixed in KDE Applications 18.04.0, authored by Ahmad Samir)

UI polish & improvements

  • The notifications widget now has a visible button to clear notifications (KDE bug 386068, fixed in Plasma 5.13.0, authored by Christian Fuchs):
  • The Audio Volume widget now presents a simplified display for the common use cases of one input and one output device and no apps recording audio (KDE Phabricator revision D11166, fixed in KDE Plasma 5.13.0, Authored by me, Nate Graham)
  • Plasma Folder View (AKA desktop icons) now provides a little bit more horizontal space for file and folder names (KDE Phabricator revision D11358, fixed in KDE Plasma 5.13.0, authored by me, Nate Graham)
  • To present a cleaner UI, Konsole now defaults to only showing the tab bar when there are multiple tabs (KDE Phabricator revision D11258, fixed in Konsole 18.04.0, authored by Kai Uwe Broulik):

    It looks even better still with a global menu or the menu in a titlebar button:
  • Gwenview’s middle-click-to-zoom feature now zooms into the mouse cursor’s position, rather then the center of the image (KDE bug 308335, fixed in KDE Applications 18.04.0, authored by Peter Mühlenpfordt)
  • Gwenview’s advanced crop settings are now always displayed in the same order (KDE bug 391758, fixed in KDE Applications 18.04.0, authored by Gregory Legrain)

Finally, A notorious and longstanding bug has been fixed! The bug was this: in KDE environments where KWallet had not been set up (such as live sessions and barebones/DIY-style distros like Arch), you would be prompted for your password twice when connecting to a password-protected wifi network. This turned out to be a bug not in KDE software, but rather in the upstream FreeDesktop networkmanager software. It’s now been fixed as of networkmanager 1.10.6. If your distro doesn’t have that yet, please ask them to update or backport the fix.

Pretty awesome stuff, huh? Well there’s even more coming! We’re committed to making KDE Plasma the finest computing environment on planet earth, and I hope this kind of progress demonstrates the depth of that commitment. Want to hop on board and become a part of something big? Consider becoming a KDE contributor, particularly in development!

If my efforts to perform, guide, and document this work seem useful and you’d like to see more of them, then consider becoming a patron on Patreon, LiberaPay, or PayPal.

Become a patron Donate using Liberapay donate with PayPal

March 17, 2018

Hello Guys, My life since 2018 started is going on like crazy. I'm trying to get my bachelor degree this year, a lot of events to attend, Atelier and AtCore needing love and a lot of work... And more than a month later I'm going to report what happened at the 11th edition of Campus... Continue Reading →

March 16, 2018

This week saw many positive changes for Discover, and I feel that it’s really coming into its own. Discover rumbles inexorably along toward the finish line of becoming the most-loved Linux app store! Take a look at this week’s improvements:

New Features

  • Discover can now sort apps by last release date in the browse lists and search results (KDE bug 391668, implemented in KDE Plasma 5.13, authored by Aleix Pol)


  • Fixed a bug that could cause Flatpak apps to stop being available (KDE bug 391126, fixed in KDE Plasma 5.12.4, authored by Aleix Pol)
  • Fixed a bug that could cause Discover to fail to download Plasma or Application addons (KDE bug 390236, fixed in KDE Plasma 5.12.4, authored by Aleix Pol)
  • Fixed a bug causing Plasma and Application addons to not display large screenshots (KDE bug 391190, fixed in KDE Plasma 5.13.0, authored by Aleix Pol)
  • Fixed a bug that could cause Discover to not open properly when invoked from from its context menu’s “Updates” item (KDE bug 391801, Fixed in KDE Plasma 5.12.4, authored by Aleix Pol)
  • Fixed a bug causing Addons to not be sorted by release data correctly (KDE bug D11387, fixed in KDE Plasma 5.13.0, authored by Dan Leinir))
  • Fixed a bug causing all Addon screenshots to be inappropriately rendered as square (KDE bug 391792, fixed right now, authored by Dan Leinir):

UI polish & improvements

  • On the Updates page, the selection text can no longer overlap with the Update button (KDE bug 391632, fixed in KDE Plasma 5.13.0, authored by me, Nate Graham):
  • Increased the width of the “Add Source” dialog, so the URL is less likely to get cut off (KDE Phabricator revision D11219, fixed in KDE Plasma 5.13, authored by me, Nate Graham):
  • Discover now uses a more intuitive and obvious UI for choosing which source to install an app from (KDE bug 390464, fixed in KDE Plasma 5.13, authored by Aleix Pol):

    (We’re aware of the visual papercuts in the above screenshot, and will be working to resolve them in the coming days and weeks)
  • Improved the app page by removing the redundant second copy of the app’s name (KDE Phabricator revision D11364, fixed in KDE Plasma 5.13.0, authored by me, Nate Graham) and fixed the top padding (KDE Phabricator revision D11362, fixed in KDE Frameworks 5.45, authored by me, Nate Graham):
  • Discover now shows a more obvious and less transient page when asked to open an invalid appstream://URL (KDE bug 391756, fixed in KDE Plasma 5.13, authored by Aleix Pol):

Just take a look at these screenshots! Isn’t discover looking really good these days? We’ve chewed through most of our backlog of architectural issues and are working hard on adding much-requested features and polishing the UI.

If my efforts to do, guide, and document this work seem useful and you’d like to see more of them, then consider becoming a patron on Patreon, LiberaPay, or PayPal.

Become a patron Donate using Liberapay donate with PayPal

This blog is about KDE Connect. KDE Connect is a project to communicate across all your devices. For example, with KDE Connect you can receive your phone notifications on your desktop computer, control music playing on your desktop from your phone, or use your phone as a remote control for your desktop.

Well this is my first blog.

I've started working on KDE Connect last November. My first big features were released yesterday in KDE Connect 1.8 for Android, so cause for celebration and a blog post!

My first big feature is media notifications. KDE Connect has, since it's inception, allowed you to remotely control your music and video's. Now you can also do this with a notification, like all Android music apps do! So next time a bad song comes up, you don't need to switch to the KDE Connect app. Just click next on the notification without closing you current app. And just in case you don't like notifications popping up, there's an option to disable it.

The second big feature is album art for the media control. Since most songs belong to an album, and people put serious time into designing those album covers, it's a shame we haven't been showing those covers all this time! But wait no more: we've finally got album art in KDE Connect!

Currently, only remote album art is supported (used in e.g. Spotify). Local album art and album art in the media notifications will come in a future release of KDE Connect.

Elisa is a music player developed by the KDE community that strives to be simple and nice to use. We also recognize that we need a flexible product to account for the different workflows and use-cases of our users.

We focus on a very good integration with the Plasma desktop of the KDE community without compromising the support for other platforms (other Linux desktop environments, Windows and Android).

We are creating a reliable product that is a joy to use and respects our users privacy. As such, we will prefer to support online services where users are in control of their data.

Release Schedule

We are preparing the 0.1 release of Elisa. A stable branch has been created and translations set up for the stable branch.

We plan to have a string freeze starting 24th March.

The release will be tagged on 7th April with the release happening shortly after.

We are also continuing development of what will become the 0.2 release. We plan to make a release each 3 months and to support the stable release with a few bug fix releases. We have summarized the schedule for the next releases in the KDE community wiki.

Now is really a good time to join the Elisa team. You will be able to work on code that will soon reach potential users. You will not have to wait for a long time given that we will soon release.


Since the last blog posts, quite some changes went into Elisa. Most notably is the partial migration to raw Qt Quick Controls v2 and all the fixes for HighDPI support. Alexander is also looking at opportunities to leverage Kirigami.

Screenshot_20180316_212445Current Elisa interface

Here is the raw git changelog:

  • ddf1354 artist, album artist, genre composer and lyricist can be strings list: fix Elisa
  • 184f15b Don’t rely on playPause for MPRIS pause
  • 3a46c62 add tests for navigation bar
  • b38c3de add top margin for album view and all tracks view
  • f47cab3 ensure the busy indicator is not visible when not running
  • 15339f8 fix double click for playlist
  • 6b862b6 fix metadata view after merge of controls2 branch
  • 115b9bc fix music not being stopped when clearing the play list
  • d00c821 remove random generator setup from qml
  • 617c81c pipe loading of album data through proxy model
  • 9a798f8 Merge branch ‘controls2_rebase’
  • c6e928f fix other small issues with enqueue methods of MediaPlayList
  • d74f0a8 add missing explicit in front of some constructors thanks to
  • f062fb1 enqueue an empty list of tracks ID is now doing nothing
  • 8f534b2 fix a small error due to migration to object creation in c++
  • 6e4f632 Fix MPRIS pause
  • 7aceef7 fix several visual issues
  • 7255eb7 convert metadata view to a controls v2 window
  • f214758 Revert “ask Qt Quick Controls v2 style to be org.kde.desktop”
  • 4f874dc ask Qt Quick Controls v2 style to be org.kde.desktop
  • fef03db fix issues after controls2 port
  • 3afca2d port to controls2
  • 58647d0 connect to deleteLater to ensure that object is deleted
  • b91a425 main: Use HighDpiPixmaps
  • 6067340 qml: Use pointSize instead of pixelSize for HiDPI screens
  • 3d221a5 use contains for membership test
  • 7654591 fix all tracks view signals

The following authors have contributed to Elisa:

  • Alexander Stippich
  • Matthieu Gallien
  • Andreas Schneider
  • Fabian Kosmale
  • Nicolas Fella

Thanks a lot for those contributions.

Testing Elisa

There are several way to test Elisa but the easiest one is using the flatpak package produced by KDE if you are running a system supporting flatpak. The flatpak service is back automatically building a package when changes are integrated in Elisa. This is the kind of services the awesome KDE community provides. You can easily contribute your energy or some money to help this to continue.

If you happen to use windows, there is also a setup built by binary-factory KDE service (Elisa is built with craft and craft makes it very easy to produce Windows setup).

There are also some packages built for your distributions from the git repository. This is a nice way to test Elisa. Thanks for the effort of the packagers.

LibAlkimia is a base library that contains support for financial applications based on the Qt C++ framework. One of its main features is the encapsulation of The GNU Multiple Precision Arithmetic Library (GMP) and so providing a simple object to be

March 15, 2018

We are happy to announce the release of Qt Creator 4.6 RC!

Since the beta release we have been busy with bug fixing. Please refer to the beta blog post and our change log for an overview of what is new in Qt Creator 4.6. As always this is a final call for feedback from you before we release 4.6.0, so we would be happy to hear from you on our bug tracker, the mailing list, or on IRC.

Get Qt Creator 4.6 RC

The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.6 RC is also available under Preview > Qt Creator 4.6.0-rc1 in the online installer, as an update to the beta release. Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on, and on the Qt Creator mailing list.

The post Qt Creator 4.6 RC released appeared first on Qt Blog.

((Okular contributors, take a note of the end))

KDE Applications 18.04 Feature Freeze is setting in. Or: reminder to do finally that feature you always wanted to implement.

This time for me it’s remote control for presentation-like media shows. Think slideshows of images/videolets e.g with the image browser Gwenview, or presentations given with the document viewer Okular. Would be nice to do this from across the room or stage, being deep in your comfortable furniture or when standing by the auditorium, would it not?

There is your wireless input controllers to help you. But…

… we want more, like:

  • seeing ourselves the notes for the current slide
  • seeing a preview what is coming up
  • being able to jump straight to a picture or slide without everyone seeing our desperate search for that in the overview list (avoiding also spoilers with not yet shown ones)

Obvious idea: use your smartphone as rich remote control. Just write a controller app which talks to your app on the computer running the presentation. Profit.

Though only profit for the given app. Would it not be nicer if there were some standard interfaces, so remote controllers would work across applications? We have seen that before, for music and movie players. In the FLOSS world there is e.g. the Media Player Remote Interfacing Specification (MPRIS). And if we think about it, “media” is an abstraction, one which also can cover images & slides. Though the rest of the spec then uses concepts and terms which are rather bound to typical music players, like “track” or “playlist”.
So not usable for our purpose. Or? If we ignore the actual terms, we find we can map their abstract data model with some flexibility onto the data model of a simple one-dimensional slide-by-slide/image-by-image presentation. And by doing so instantly can get access to the existing MPRIS controllers, allowing us to walk through the slides, going fullscreen, start playing & pausing and so on. Controllers like e.g. the MPRIS-based media controller plugin for KDE Connect.

So it’s just adding a MPRIS-wrapper to e.g. Gwenview or Okular, and we have some initial working remote controllers for them. Now this sounds fancy to have, no?

And for Gwenview, I can happily report that by some hard review work of Henrik F. a first version has just been merged. Shipping to everyone as part of KDE Applications 18.04.

For Okular we have a similar patch. Though it needs some good souls to give it a complete review in the next 7 days, otherwise it will miss out for the upcoming release and be at least delayed some more four months.

The patches should be also interesting to adapt for photo management applications like Digikam or KPhotoAlbum.
So want to give your vacation report to your friends while sitting next to them on the couch as well? Have a look at those two patches and try to adapt them for those applications, you will see it is rather simple value and action forwarding code ��

March 13, 2018


We are happy to bring you GCompris 0.90.


This new version contains 8 new activities:


  • A calendar activity where the child learns how to use it (by Amit Sagtani)
  • Another activity based on calendar where the child has to find the date corresponding to a date + some days after/before this date (by Amit Sagtani))
  • An activity to learn how people on a family are related and how to call this relation (started by Rajdeep Kaur on a previous GSoC, completed by Rudra Nil Basu during last GSoC)
  • Another similar activity with questions about family members
  • An extension of memory activities where the child has to match lowercase letters with their corresponding uppercase (by Aman Gupta)
  • The same activity in two players mode (by Aman Gupta)
  • The Gtk+ port and improved submarine activity where the child learns a basic overview on how to run a submarine (by Rudra Nil Basu)
  • The digital electricity activity where the child can use different components to create an electric schema. There is also a tutorial mode to explain how to use each component (started by Pulkit Gupta on previous GSoC, completed by Rudra Nil Basu)



We always have new features, content and bug fixes:


  • Updated graphics on several activities by Timothée Giet
  • Irish translation, voices and datasets by Séamus Ó Briain
  • Lot of improvements on removing overriding elements issues (score were hidden behind the bar…)
  • Add Tutorial item to be able to have activity introductions with both images and texts
  • Add easy mode in letter in word with less words displayed
  • Add license page
  • Lots of small bug fixes



You can find this new version on the download page.


On the translation side, we have 14 languages fully supported: British English, Catalan, Catalan (Valencian), Chinese Traditional , Dutch, French, Greek, Indonesian, Italian, Portuguese, Romanian, Spanish, Swedish, Ukrainian;
And some partially supported: Belarusian (87%), Brazilian Portuguese (87%), Breton (65%), Chinese Simplified (80%), Estonian (79%), Finnish (78%), Galician(87%), German (83%), Hindi (86%), Irish Gaelic (99%), Norwegian Nynorsk (86%), Russian (80%), Slovak (76%), Slovenian (70%), Polish (99%), Turkish (93%).

If you want to help, please make some posts in your community about GCompris and don’t hesitate to give feedbacks.

Thank you all,
Timothée & Johnny

We are happy to announce the release of Qt Creator 4.5.2!

This release includes a workaround for an issue in Qt which makes Qt Creator’s summary progress bar and some other controls disappear (QTCREATORBUG-19716).

Get Qt Creator 4.5.2

The opensource version is available on the Qt download page, and you find commercially licensed packages on the Qt Account Portal. Qt Creator 4.5.2 is also available through an update in the online installer. Please post issues in our bug tracker. You can also find us on IRC on #qt-creator on, and on the Qt Creator mailing list.

The post Qt Creator 4.5.2 released appeared first on Qt Blog.

March 12, 2018

After many months of hard work and more than 200 bugs fixed, KEXI is back with a new major release that will excite Windows and Linux users alike.

If you are looking for a Free and open source alternative to Microsoft Access, KEXI is the right tool for you.

KEXI offers an easy way
to design all kinds of databases.

As part of the Calligra suite, KEXI integrates with other office software, providing an easy, visual way to design tables, queries, and forms, build database applications, and export data into multiple formats. KEXI also offers rich data searching options, as well as support for parametrized queries, designing relational data, and storing object data (including images).

A new version of KEXI has just been released, so if you have never tried this powerful database designer application, now is the right time.

KEXI 3.1 is available for Linux and macOS, and after many years, for Windows as well.

KEXI Is Back on Windows

Business environments are often concerned about migrating to FOSS solutions because of compatibility issues with the proprietary software and formats they currently use. KEXI solves that problem with its Microsoft Access migration assistant that ensures database tables are preserved and editable between applications. Even better, KEXI works natively on the Windows operating system. In fact, KEXI was the first KDE application offered in full version on Windows.

After a long hiatus, the new version of KEXI offers convenient installers for Windows once again. Although it's a preview version, the users are invited to try it out, report bugs, and provide feedback.

Usability and Stability for Everyone

KProperty is included in the first
major release of KEXI Frameworks.

Similar to Plasma 5.12 LTS, the focus of KEXI 3.1 was to improve stability and (backward) compatibility. With more than 200 bugfixes and visibly improved integration with other desktop environments, the goal has definitely been achieved.

Usability improvements have also made their way into KEXI 3.1 dialogs. When using the Import Table Assistant, it is now possible to set character encoding for the source database. Property groups are now supported, and users can set custom sizes for report pages.

Great News for Developers

KEXI 3.1 marks the first official release of KEXI Frameworks - a powerful backend aimed at developers who want to simplify their codebase while making their Qt and C++ applications more featureful. KDb is a database connectivity and creation framework for various database vendors. In KEXI 3.1, KDb offers new debugging functions for SQL statements and comes with improved database schema caching.

KProperty is a property editing framework which now comes with improved support for measurement units and visual property grouping. Last but not least, KReport is a framework for building reports in various formats, offering similar functionality to the reports in MS Access, SAP Crystal or FileMaker. The most useful new feature in KEXI 3.1 is the ability to set custom page sizes for KReport.

New options in KReport allow you to
tweak the appearance of reports.

Alongside Frameworks, KEXI 3.1 offers greatly refined APIs and updated API documentation. According to the developers, “the frameworks are now guaranteed to be backward-compatible between minor versions”.

Translations have also been improved, and KEXI 3.1 is the first version where they are bundled with the Frameworks. This will make it easier for the developers using KEXI Frameworks, as they will be able to use translated messages in their apps.

Make KEXI Even Better

Even with all the excitement about the new release, KEXI developers are already working on new features and improving the existing ones. If you'd like to help make KEXI better, it's never too late to join the project! Take a look at the list of available coding and non-coding jobs.

Although the API documentation has been updated, the user documentation could use some love. If you're good at writing or teaching others, why not chip in?

Finally, if you know a business or an individual that's looking for a Microsoft Access replacement, tell them about KEXI.
They just might be pleasantly surprised with what they'll discover.

Download the KEXI 3.1 source or install it from the repository of your distribution. For the full list of changes in the new version, take a look at the official changelog.

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.