August 18, 2018

Hello! So Akademy 2018 has finished and it was a very impressive event. It happened in Vienna, Austria and it was my first opportunity to join in a KDE event, to travel to another country and to meet people from the community! I couldn't participate during the first day of the event (August 11th) because … Continue reading Akademy 2018 was great!

As I am writing this, I am sitting in a train home from Akademy 2018, KDE’s annual developer conference, which took place in Vienna this year.
Akademy always is a great mix of some talks, some socializing with people you otherwise only communicate with through mailing lists or IRC, and some hacking, and this year’s conference was no exception to this.
In this post, I will detail some of the technical progress we made and some of the things we discussed.


The small bugs are often the most annoying ones, but now there is a few less of them.
Kate’s completion widget (as used in KDevelop and Kile as well) now again is sized correctly such that none of the text is cut off.
If you edit documents with very long lines in Kate, such as LaTeX files, you might have had strange issues with scrolling. This was caused by scrolling one “real” line at a time, instead of one line as layouted by the dynamic word-wrap feature. This behaviour is now changed, and scrolling should be much smoother.
On the performance side, I fixed a performance bug in Kate’s QuickOpen widget, such that it now opens much faster for large projects.
Also, the include navigation tooltips of KDevelop’s C++ support behave less agressively now.

New InlineNote interface

A good part of the time I spent hacking was spent on the new InlineNote interface for KTextEditor. This interface, originally suggested and implemented in its basic form by Michal, will be available starting with KTextEditor 5.50 and allows client applications to easily add arbitrary inline elements into the text.

Sample use of the InlineNote interface. Screenshot by Michal from

KTextEditor’s layout engine takes care of everything complex here, such as cursor navigation and text layout around the note; you only need to specify where you want a note, how much space you need for it, and perform the actual painting when asked to.
After several iterations of discussing how to best design this interface and trying the options out in practice, we now came up with something which we believe to be easy to understand and use, while still having very little computational overhead and being easily extensible in a binary- and source-compatible way in future versions.
The interface even allows interactions with the widgets, allowing its user to react to clicks or other mouse events.

If there is interest in a tutorial blog post explaining how to use this interface, please leave a comment and I will write one.

Syntax error shown inline in KDevelop. You can click the “Fix” button to fix it.

Something I am working on using the notes interface for is KDevelop’s problem reporting and code assistants, which I believe could greatly benefit from this.

I’m aware that as shown above it is quite probably too intrusive, and the notes will probably end up collapsed e.g. to a small red exclamation mark and expand on mouse-over or on a keyboard shortcut, but for now I’m trying it out like this.

Michal, the original author of the interface and its implementation, is also working on a plugin for KDevelop which shows additional information inline, as seen in the first screenshot above.

Planning KDevelop’s future

I do not want to say too much about this planning since there is no real plan yet, but in the KDevelop meeting at Akademy (which unfortunately only a small part of our core development team could attend this year), we discussed a bit about KDevelop’s future, and what we can do to make it more polished and stable.
Stay tuned for this!

Como dije ayer, ha sido lanzado KDE Aplicaciones 18.08, la gran revisión del ecosistema de programas de la Comunidad KDE.  Hoy toca repasar las novedades de Gwenview 18.08, que no son pocas y que vienen integradas en la última actualización de KDE Aplicaciones.

Las novedades de Gwenview 18.08

Fiel a su cita del mes de agosto, ha sido lanzado KDE Aplicaciones 18.08, la colección de programas del sistema KDE, que se integra a la perfección con el escritorio Plasma y que basa su trabajo en KDE Frameworks. Ayer repasé las novedades de Dolphin y Konsole.

Ahora es el momento de ver qué otras novedades nos ofrecen para las aplicaciones gráficas, concretamente para Gwenview, y es que está es una versión mayor de la aplicación básica del visor de imágenes de KDE en la que han estado trabajando mucho los desarrolladores.

Algunos de las novedades principales son:

  • La barra de estado del Gwenview ahora incluye un contador de imágenes y muestra el número total de imágenes.
  • Ahora es posible ordenar por puntuación y por orden descendente. La ordenación por fecha ahora separa los directorios y los archivos.

Las novedades de Gwenview 18.08

  • Se ha mejorado la implementación para arrastrar y soltar, para permitir arrastrar archivos y carpetas en el modo de vista para mostrarlos, así como arrastrar elementos para visualizarlos aplicaciones externas.
  • Pegar las imágenes copiadas desde el Gwenview ahora también funciona para las aplicaciones que solo aceptan datos de imagen RAW, pero sin ningún camino de archivo. También se pueden copiar las imágenes modificadas.
  • Se ha puesto a punto el diálogo para redimensionar la imagen para una mayor usabilidad y para añadir una opción para redimensionar las imágenes en función de un porcentaje.
  • Se ha corregido el control deslizante de tamaño de la herramienta «Reducción de los ojos rojos” y el cursor de cruz.
  • La selección del fondo transparente ahora tiene una opción para «Sin» y también se puede configurar para las SVG.

También se ha mejorado la herramienta zoom de la imagen:

  • Se habilita el zoom desplazando o haciendo clic, así como también la panorámica cuando las herramientas «Recortar» o «Reducción de los ojos rojos» están activas.
  • Hacer clic medio alterna entre el zoom ajustado y el zoom al 100%.
  • Se han añadido los atajos de teclado Mayúsculas-Click_central y Mayúsculas + F para alternar el zoom ajustado.
    Ctrl-Click hace el zoom más rápido y fiable.
  • Gwenview hace zoom a la posición actual del cursor para las operaciones de zoom Ampliar / Reduce, Ajustar y al 100% cuando se utiliza el ratón y los atajos de teclado.

Además, el modo para la comparación de las imágenes ha recibido arias mejoras:

  • Se han solucionado el tamaño y alineación para el resaltado de la selección.
  • Se ha solucionado el superpuesto los SVG en el resaltado de la selección.
  • Para imágenes SVG pequeñas, el resaltado de la selección coincide con el tamaño de la imagen.

Muchas son las novedades de Gwenview 18.08, el simple y asombroso visor que aúna rapidez, funcionalidad y belleza.

Más información:

August 17, 2018

Thanks to Michal Srb and Sven Brauch for pioneering the work an a new KTextEditor interface that allows applications like Kate, KDevelop, etc. to display inline notes in a text document. As demo, we quickly prototyped one application to display colors in CSS documents:

Clicking on the color rectangle will launch the color chooser:

Choosing a color and clicking OK finally adapts the color in the CSS document:

The code for this is just a demo and looks as follows:

class NoteProvider : public KTextEditor::InlineNoteProvider {
    QVector<int> inlineNotes(int line) const override
        if (line == 1) return { 29 };
        if (line == 11) return { 29 };
        if (line == 12) return { 29 };
        if (line == 13) return { 29 };

        return {};

    QSize inlineNoteSize(const KTextEditor::InlineNote& note) const override
        return QSize(note.lineHeight(), note.lineHeight());

    void paintInlineNote(const KTextEditor::InlineNote& note, QPainter& painter) const override
        const auto line = note.position().line();
        const auto color = QColor(note.view()->document()->text({line, 22, line, 29}));
        painter.drawRoundedRect(1, 1, note.width() - 2, note.lineHeight() - 2, 2, 2);

    void inlineNoteActivated(const KTextEditor::InlineNote& note, Qt::MouseButtons buttons, const QPoint& globalPos) override
        const int line = note.position().line();
        const auto oldColor = QColor(note.view()->document()->text({line, 22, line, 29}));
        const auto newColor = QColorDialog::getColor(oldColor);
        note.view()->document()->replaceText({line, 22, line, 29},;

    void inlineNoteFocusInEvent(const KTextEditor::InlineNote& note, const QPoint& globalPos) override
    {} // unused in this example

    void inlineNoteFocusOutEvent(const KTextEditor::InlineNote& note) override
    {} // unused in this example

    void inlineNoteMouseMoveEvent(const KTextEditor::InlineNote& note, const QPoint& globalPos) override
    {} // unused in this example

// later in code:
auto provider = new NoteProvider();
// final cleanup

As you can see, it’s actually not much code at all: We have to derive a class from KTextEditor::InlineNoteProvider, and then register an instance of our Note Provider in the KTextEditor::View. In a next step, we implement the inlineNotes(), inlineNoteSize(), and the paintInlineNote() functions to get basic visual drawing at the desired location. The above code is just a tech-demo, since it uses hard-coded lines and color positions. Additionally, one can also track mouse events (unused in the example above). On mouse click, we open the QColorDialog to let the user choose a new color.

To give more examples of what’s possible, the initial Phabricator review requests contained many other interesting examples (the examples were really implemented). From review request D12662:

Kate showing additional information for loops and structs.

Or a KDevelop addition that adds a lot of meta information on the current code if desired:

KDevelop showing detailed code meta information

We believe this addition to the KTextEditor component has a lot of potential for nice features and plugins. Feel free to use this interfaces starting with KDE Frameworks 5.50. Happy coding! ��

A big thanks also goes to this year’s Akademy organizers. Thanks to this event, we could meet up in person and also finalize the InlineNoteInterface, InlineNoteProvider, and InlineNote class to make it ready for public release. This again shows the importance of the yearly KDE conferences since it enables us to significantly push things forward.

We left really early this morning on the trains to Würzburg, Hannover, Deventer. I was pretty smart, if I may say so, because I gave ourselves half an hour or more time to change trains. Deutsche Bahn is a wonderful institution, but experience has taught me that especially in summertime, 6 minutes are not enough of a safety margin. So we made all our changes, and even had time to lunch in Würzburg.

So, yesterday really was the last day of Akademy for Irina and me. And all of that day was taken up with the fundraising training by Florian Engel. And it was worth it! Oh, gosh, wake me up in the middle of the night and ask me whether it was worth it!

Practical, to-the-point, flexible, engaging, going deep where we needed that, giving examples from outside of free software so we were all getting new ideas just from those examples. I need to prepare my notes for a discussion during Krita’s Monday meeting, about our September campaign, software platform, and donation page…

For the rest, it was great to meet so many people I hadn’t seen for way too long, including Inge Wallin, with whom I, back in the Nokia days, had founded KO GmbH. Or people I work with every day, but had never met, like Ben Cooksley. Productive discussions about things as diverse as debug symbols in appimages or ways to attract and retain new contributors. Meeting and sitting down with Eliakin, my 2017 student, was awesome as well; pity KDE is so busy that we couldn’t spend more time together!

I went to Akademy feeling that the relationship been Krita and KDE is kinda difficult. Krita is part of KDE, but at the same time, Krita is getting really big. We’re using up quite a chunk of bandwidth, after plasmashell, we’re the project with the second-most bugs reported per year, and still people working on Krita don’t have much of a tie to KDE, and people working on KDE seldom have much of an idea what’s going on in Krita — other than nodding and telliing me Krita is one of KDE’s flagship projects. Sure it is, and I got very much reassured that we’re not using too large a chunk of KDE’s resources, and could even use more. I’m not sure how to “fix” this, if a fix is possible. If we’d have our Krita sprint during Akademy, I’m sure that would help — but it would also be a pretty improductive sprint for Krita.

This still needs mulling over.

The Skrooge Team announces the release 2.15.0 version of its popular Personal Finances Manager based on KDE Frameworks


  • Correction bug 397018: Check sqlcipher installation (issue detected on GENTOO)
  • Correction: Crash when sort a grouped view
  • Correction: Avoid to create 2 categories with the same name under the same category by using drag and drop
  • Correction: Avoid too many computation in SKGAccountObject::getPossibleReconciliations
  • Feature: Addition of a new option to check if import has been broken
  • Feature: More tooltips on "Operations" table

Get it, Try it, Love it...

Grab Skrooge from your distro's packaging system. If it is not yet included in repositories, go get it from our website, and bug your favorite distro for inclusion.

Now, you can try the appimage too !

Get Involved

To enhance Skrooge, we need you ! There are many ways you can help us:

  • Submit bug reports
  • Discuss on the KDE forum
  • Contact us, give us your ideas, explain us where we can improve...
  • Can you design good interfaces ? Can you code ? Have webmaster skills ? Are you a billionaire looking for a worthy investment ? We will be very pleased in welcoming you in the skrooge team, contact us !

The Akademy 2018 ends today.

Like each Akademy I attended, it was an interesting experience. As the location switches around each year, so does the set of people attending change every year, too.

That is actually nice, as you get always to meet some of your old “friends” but additionally new members of the KDE community. I think this kind of “conferences” or “meetings” are an important way to get some more cohesion in the community, which is sometimes a bit lacking between people only meeting online via mail/…

Beside the presentation tracks and the e.V. meeting, several of the BoFs did spark my interest.

In the KDevelop BoF, Sven talked about what could be done to give the current KDevelop project a bit more focus on the parts it does well to polish them more for a better user experience. The idea is that if you get KDevelop shining even more in the areas it is good at and perhaps cut off some parts that are really given bad impressions, one might attract more people to both use it and contribute. It is still to be discussed if this idea is shared with the other KDevelop contributors.

In the kdesrc-build BoF Michael talked about the current state and collected pain points from the audience and potential future extensions. For example an API to allow to build a light-weight GUI tooling around kdesrc-build to ease the entry to the KDE development was one topic of interest.

Between the conference/BoF/socializing parts of Akademy, I got plenty of time to finally work again on some KTextEditor/Kate related tasks.

With help of Dominik and Volker I got to integrate the KSyntaxHighlighting framework and we even got at least some initial contact with the QtCreator team about the topic of integrating this framework to replace their own implementation of the Kate syntax definition handling. If you experience any issues with the highlighting or folding in the master branch, please file a bug or even better provide some patch on phabricator.

In addition some small KTextEditor and Kate bugs got either solved or at least started to be worked on again. Help with any bug fixing is always welcome!

As small but perhaps for users important step was to actually link to the new and shiny Windows installers that the Binary Factory for KDE produces. Thanks to the team behind that, once more. Hopefully that will lead to more users and developers for Kate on Windows.

Thanks to the organizers to make this Akademy happen and all people that volunteered! Great job! The sponsors are highly appreciated for their contributions, too.

So, thanks for all the fish (or Krapfen), lets see how Akademy next year will be :=)

Akademy is always a whirlwind which is my excuse for not blogging! Today we wrapped up the program which leaves us in a nearly-empty venue and a bit of time after lunch to catch up.

I did manage to gather photos together in Google Photos:

Thanks again to the KDE e.V. for sponsoring my hostel and the Ubuntu Community Fund for part of my travel expenses. This allowed me to attend. Meeting Popey from the Ubuntu community and the Limux team was great, although we didn't do as much Kubuntu work as in past years. However, attending the Distro BoF was a great experience; very friendly and collaborative.

As always, the talks were interesting, the "hall track" fascinating, BoFs engaging. The high point for me personally was being given an Akademy Award on Sunday after a blessedly-short e.V. meeting. I almost fainted from surprise! It feels wonderful to be not just appreciated but honored for my work for the KDE community. 

Thank you again!

I will update here with a photo when I can.

Yesterday and today were taken up with trainings, which while exhausting are extremely valuable. Along with the documentation work ahead, I look forward to integrating both the Non-Violent Communication and Tech Documentation trainings into my work.

In addition, I will be happy to see our documentation team re-group and gain strength over the next year as we work with the contractor on identifying pain points and fixing them.

I got lost yesterday, which one should always do in a strange city. Here is one of the beautiful windows I saw before finding the tram and a different way home:

Tomorrow we meet at 3:45 am to share an Uber to the airport and the beginning of the journey home. To KDE friends new and old: we'll meet next year at Akademy I hope, or at least in IRC.

Local friends and family, I'll see you soon!

Here is my semi-traditional "memories from Akademy" post for this year. I have to admit I don't manage to do it consistently each year but this edition was special enough that for sure it deserves one.

First of all, it was the first time I did live sketchnoting of the sessions I attended. I posted the result on social media as soon as the talk was over and I also had a special blog post to present them. I think it was all well received which is motivating. I will likely do it again I think.

Second, we had two excellent keynotes by Dan Bielefeld and Claudia Garad. Thus, none of the keynotes were from people within the KDE community but really I don't think that was an issue. For a keynote I like to get insights on things I wouldn't have explored and there are more chances that it would come from non-KDE people or former KDE people.

Third, we had kind of an extra keynote, from the KDE community. Indeed, due to flight delays, Nate Graham's talk was moved to become the closing talk. Turned out it was perfect to conclude the conference part.

Fourth, the organization and location were just super efficient. I think I didn't thank them properly but really a big THANK YOU is in order to this year local team. You did great and the venue was very convenient and easy to reach.

Fifth, the program was good but a bit more choice in the sessions would have been nice. I understand some of the KDE e.V. assembly topics are now in the main program and the goals are pushed forward. This is good but we should be careful at not cannibalizing the program too much for those.

Sixth, we got proof that both Michael Pyne and Ben Cooksley exist!!! It was really great to finally get to meet them and see them during talks and BoFs.

Seventh, regarding BoFs, I was surprised at the interest to my session about community data analytics. More people showed up than I expected, plenty of good feedback and ideas floating around. I'd also like to thanks Sébastien Renard and Benjamin Port in advance who are working on patches to improve the scripts. Looking forward to review that and sorry guys for not being more present and supportive this week, I shall do better.

Last but not least, this edition was bigger than the past couple of years. More people showed up than before and I think we also had more gender diversity than before (I didn't count, it's purely based on perception and unscientific). Two very welcome trends. This resulted in a more vibrant edition that the last few ones. I think we're doing some things right here and that's very encouraging for the future.

Ha sido lanzado KDE Aplicaciones 18.08, la gran revisión del ecosistema de programas de la Comunidad KDE que viene cargado de novedades. Y es que la Comunidad KDE no descansa ni celebrando su evento principal.

Lanzado KDE Aplicaciones 18.08

Fiel a su cita del mes de agosto, ha sido lanzado KDE Aplicaciones 18.08, la colección de programas del sistema KDE, que se integra a la perfección con el escritorio Plasma y que basa su trabajo en KDE Frameworks.

Y esta nueva versión viene cargada de novedades en algunas de sus aplicaciones principales. Hoy os comento las novedades de dos de las aplicaciones claves de este ecosistema de programas: Dolphin y Konsole. Mañana me pongo con el resto.

Lanzado KDE Aplicaciones 18.08, Dolphin y KonsoleDolphin, el explorador de archivos ofrece:

  • La ventana de diálogo de «Configuración» se ha modernizado siguiendo las pautas de diseño y que sea más intuitivo.
  • Han sido eliminadas diversas pérdidas de memoria que pueden ralentizar el ordenador.
  • Los elementos del menú «Crear nuevo» ya no están disponibles cuando se visualiza la papelera.
  • La aplicación ahora se adapta mejor a las pantallas de alta resolución.
  • El menú contextual incluye ahora más opciones útiles, las cuales permiten ordenar y cambiar directamente el modo de visualización.
  • La ordenación por tiempo de modificación es ahora 12 veces más rápida.

Además, ahora se puede iniciar Dolphin de nuevo cuando se haya inicia la sesión con la cuenta de usuario «root». Todavía se está trabajando en la implementación para modificar el propietario «root» de los archivos cuando ejecutamos Dolphin como un usuario normal.

Konsole, el terminal llega con las siguientes novedades:

  • La herramienta de «Búsqueda» ahora aparecerá en la parte superior de la ventana, sin interrumpir el flujo de trabajo.
  • Se ha añadido la implementación para mas secuencia de escape (modos DECSCUSR y desplazamiento de XTerm).
  • También se puede asignar cualquiera carácter como una tecla para asignar un atajo de teclado.

En resumen, porque hoy tengo el tiempo que tengo: un aluvión de novedades centradas en mejorar la usabilidad de muchas de las aplicaciones que usamos día a día.

Más información:

I was invited by my boss to a dinner. He uses exchange or outlook365 or something like that. The KMail TNEF parser didn’t succeed in parsing all the info, so I’m kind of trying to fix it.

But I need test data. From Exchange or outlook or outlook365. That I can add to the repoository for unit tests.

So if you can help me generate test data, please setup a meeting and invite me.

Just to repeat. The data will be made public.

August 16, 2018

  • We have a new filter overlay. We opted to avoid the inline searchbar entirely, and are using the overlay to display it instead.
  • We try harder to display all search results and not artifically limit it. This was especially problematic because we don’t sort the search results before the limit, meaning we could end up loosing very relevant search results (such as recent mails).
  • The composers html switch is gone. Instead we simply always offer the buttons to apply formatting, together with a button to remove all formatting for plaintext instead.
  • Rémi landed his storage improvement patch which shaves off a cool ~15% of storage requirements. This also helps performance because smaller db mean less data to load into memory. This was followed up by fix for a performance regression caught by the CI.
  • The Kube icon is now available in all necessary sizes to make it look good on Mac.
  • Important emails are now indicated in the maillist.
  • The default settings of the GMail account have been fixed.
  • There is finally a separate login and email address field in the IMAP account configuration.
  • We have a new website at where we now also offer the nighlies. These are now real nightlies that are automatically updated if all CI checks pass.
  • Prevented multiple flatpak instances at the same time as this does not currently work properly.
  • Last but not least, there’s progress on the Calendar.
Screenshot_20180816_165028Never mind the colors, they are coming from the CalDAV backend.


Kube Commits, Sink Commits

Previous updates

More information on the Kolab Now blog!

“Kube is a modern communication and collaboration client built with QtQuick on top of a high performance, low resource usage core. It provides online and offline access to all your mail, contacts, calendars, notes, todo’s and more. With a strong focus on usability, the team works with designers and UX experts from the ground up, to build a product that is not only visually appealing but also a joy to use.”

For more info, head over to:

During Akademy it was brought to my (and the other Kate developers) attention, that we should take a closer look on the Binary Factory for KDE. There were some blogs about the Binary Factory in the past but we somehow never really linked it on our homepage as potential source for up-to-date installers for the different operating systems. I feel a bit sorry for neglecting that area in the past year.

Therefore, as we have now some time during Akademy together as team, we did take a look at the current state of the installers there for Windows and macOS.

The Windows installer is working fine. Kåre’s manually created installers are better optimized for size by stripping out things not that commonly used, on the other side the Binary Factory installers bundle more stuff like all translations/dictionaries that might be interesting for some people, too. One other thing that might be fine tuned is the used frameworks. For example the KActivities is not useful for Kate on Windows and we normally disable that for our own build, at the moment the factory still includes that (as it is an optional dependency). If we fine tune that a bit more in the future, I think we can close the gap between the hand-tuned installer and the autogenerated one even more. In other parts like the KHotNewStuff integration the current factory installer even provides a better experience than our last published own one. And last but not least, the binary factory creates an installer every night for the stable and the development version, so we get up-to-date installers with no manual work.

The macOS installer is on-par with what I did manually a year ago (but than gave up due to loss of interest). Therefore we now link the nightly build for that on our homepage as primary preview build. The state is still not that good, but that is not a fault of the installer creation. The macOS port just lacks manpower, as myself has no longer that much interest in improving it and it still is in a “usable” but non-polished state that will still crash in a few situations, which makes using it not that nice. Any help there would be appreciated.

As a conclusion I must say, I am personally impressed how well the Binary Factory installers work. They are a real big step towards having people use up-to-date versions of our tools on operating systems other than the usual unices. Thanks to the team behind that and all others that contributed, including our sysadmins that keep all the stuff running the whole time! I hope we make good use of that infrastructure in the future. Thanks to Hannah, Kevin, Ben and all others that contribute to this effort! And thanks to Kåre and everybody else taking care of issues on Windows or macOS.

The download page is now updated to provide links to both the latest successful Kate release and nightly builds of the Binary Factory.

Como ya sabéis si leéis el blog, el evento no ha terminado, pero si su apartado de charlas públicas, quedando esta semana reservada para los BoFs: grupos de trabajo presenciales donde se discuten y marcan los equipos de trabajo de la Comunidad KDE. El equipo de promoción de KDE quiere que estas sesiones sean lo más transparentes posibles y están compartiendo el resultado de las mismas. En otras palabras, bienvenidos al resumen del BoF del martes 14 de Akademy 2018 de Viena.

Resumen del BoF del martes 14 de Akademy 2018 de Viena

Como he comentado en varias ocasiones en el blog, una Akademy consta de dos partes: el fin de semana de charlas y el resto de la semana para la coordinación de grupos de trabajo de los desarrolladores en una misma sala. Esta Akademy 2018 de Viena no ha sido una excepción

Así que, ya finalizada la primera parte, es el momento de compartir con todos vosotros un breve resumen de estos días llenos de exposiciones orales. En esta ocasión el artículo del dot ha sido escrito por Kenny Duffus.

Resumen del BoF del martes 14 de Akademy 2018 de Viena

Como he dicho, este lunes fue el primer día de los diferentes grupos de trabajo que existen en la Comunidad KDE. Como es evidente, ni todo el mundo está en todos los grupos de trabajo y, además, es posible que algunos no estén interesados en ninguno de los que se reúnen ese día y se pasan el día “hackeando” en cualquier mesa libre de la sede.

No obstante, al finalizar el día, los miembros de la Comunidad KDE se reúnen en una sala y comentan que se ha trabajo en cada uno de los diferentes grupos, de modo que sirve para dos cosas: pequeño resumen de la jornada y compartiendo del trabajo de los grupos para toda la Comunidad.

Para que entendáis perfectamente esta forma de trabajar os dejo el vídeo donde los diferentes miembros comentan su trabajo:


KDE Connect is awesome, we all know that. But sometimes you still want (or need) to acces the files on your Android phone via a good old USB cable. And to do so, you need a working implementation of the MTP protocol.

Many people on bugzilla complain that the MTP support in Plasma is just broken. And indeed the MTP implementation we have has always been ignoring a fundamental limitation of MTP: the protocol doesn’t allow parallel operations, unlike the old Android USB mass storage did. In practice, if more than one process spawns an mtp ioslave, everything breaks.

The workaround

When you need to move files from your phone to your computer (or viceversa), either use only one dolphin window (tabs are your friends!), or use only Plasma’s Folder View.

What works

If you follow the workaround above, you will be able to copy/move files to/from your phone, or delete them.

What doesn’t work

Everything else will still be broken, unfortunately:

  • you cannot copy MTP files from dolphin to the desktop.
  • you cannot open e.g. a PDF file from the MTP folder; copy it somewhere else first.
  • you cannot open Amarok and dolphin at the same time.
  • … you get the picture.

The long term solution

Every time you open an MTP URL (e.g. mtp:/Your Phone/Documents/), an mtp ioslave gets spawned. As soon as you open another MTP URL from another process (e.g. Amarok or Okular), a second mtp ioslave spawns. This model is just wrong for MTP, as there should be at most one place where the MTP implementation lives. A possible solution could be to use a KDED module for that, moving the MTP-specific code from the ioslave to the kded plugin. Then the ioslave would just act as proxy between the applications and the kded plugin.

We discussed this idea with David Faure at Akademy and we came up with a design to go forward. If anyone is interested in the technical details, there is a task on phabricator you can look at.

Cheers from Vienna!

August 15, 2018

Tomorrow, there’s the fund raiser training session. Given that we’ve been raising funds for Krita since time immemorial (our first fund raiser was for two Wacom tablets and art pens so we could implement support for them, the second to let Lukas Tvrdy work on Krita for a couple of months and after that, we’ve had the kickstarters), that might seem superfluous. But I’m still hoping to learn lots. After all, it’s not like we’re exactly awash in money.

But today, we, me and Irina, we went all-out for a day in Vienna. Just took the day off, had a lazy morning with breakfast in the hotel room (tea and croissants…), then took the underground to the Karlsplatz. From there, it was an easy walk to the KHM. Vienna is quite compact.

One thing I love about Vienna is the ubiquitous availability of non-sugary soft drinks. That is, soda zitrone — sparkling water with lemon juice. Half a litre of that in the museum cafe rehydrated us sufficiently to go out and see the parts that we hadn’t seen before. The French/Italian/Spanish parts of the museum are not as paralyzing as the Flemish/German/Dutch parts, but there was plenty! In particular, the three portraits of the Infanta of Spain, at ages 4, 6, 8 (or thereabouts) were touching. Gramps, being the Holy Roman Emperor of the German Nation, had asked his son-in-law for regular updates on his little darling grandchild, and got them, painted by Velasquez.

The Roman/Greek/Egyptian part was curious more than impressive: quantity over quality, perhaps, but still, interesting. It’s also the most unreconstructed part of the museum, with the exhibits often being labeled only in type-written German, on yellowing paper.

Having gone through that section, we were conveniently close to the museum cafe again, where they do serve excellent food. So we lunched there, then went back to our favourites in the dutch/flemish/german paintings sections. I spent half an hour with Rogier van der Weyden again, and if there wouldn’t be that fundraising workshop tomorrow, I would spend an hour in that room again, tomorrow. But we’ve got a year pass and we will return. I like the KHM better than the Bodemuseum in Berlin… There were other paintings I have stared at, trying to remember all of it, like the Reynolds in a little side-room. I was going all squiggly-eyed, so I decided to try and find Irina.

As I was staggering towards the exit, I suddenly became aware of being spoken at by a clean-shaven person, in what I thought was Danish or Swedish or some other language I don’t speak. It turned out to be one of the other Akademy attendees, a Dutchman. I had so much trouble coming down to earth and realizing that he was speaking a language that I could understand! Afterwards, I felt like a loon.

From there, we went out in search of beer. It was, by now, afternoon, and a warm one. We failed though! First we reached the Treasury. Our year pass is valid there as well, and we had been told the Treasury museum is in the medieval part of the Hofburg. And since the Hofburg is, sorry…, weird, it’s like an ordinary, rather plain, apartment building like you find them all over Vienna, we were like, let’s see what the medieval parts look like!

Well, there wasn’t much of that visible. But the presentation was really pretty good: excellent explanations, impressive exhibits, lots of ancient costumes, too. What I really want to know, though, is: how can textile dating back to the Norman kingdom in Sicily, C12, be as smooth and hale as the socks and tunics and orarion are that are shown? Those 1000-year old swords: how can the steel look like it was forged last year? I’m sure it’s that old, but how has it been conserved and preserved like that?

From there we went on, and found a Kurkonditorei — I guess it’s Kur, because you can only get beer in 0.3 and not 0.5 measures, which must have a slimming effect. Still, the beer was cool, my sandwich was good, Irina’s topfenknodel were good too, or so I have been told, and there were so many interesting people to watch… We had another beer.

And then it was time to go back to the hotel, shower, read mail, go out back to the venue area, find that the Bep Viet restaurant was packed, have a pizza at the pizza place, go back again, and realize that this has been one of the nicest Akademy’s I’ve attended, and that Vienna’s one of the nicest places I’ve visited.

During the conference part of this year's Akademy, I tried myself for the first time at live sketchnoting of all the sessions I attended. I didn't do it only for a handful of them mainly because I was chairing and you can't really sketchnote at the same time.

I think the one I did best was during the first keynote:


The KDE e.V. Board Report and the Incubating Projects into KDE talk were also properly executed I think:

Thumbnail Thumbnail

The second keynote wasn't too bad either:


One of the most challenging part was the lightning talk session! I had to produce 7 sketchnotes in around an hour! Of course that was very fast paced and managed only because of some preparation. Obviously that was exhausting and the quality of what I produced varies greatly there. That was worth a try in any case.

Anyway, the full list of available sketchnotes are in the Akademy 2018 gallery.

I hope you like them and will find them useful. They should complete the publication of the slides and videos, that's another take on parts of the conference content.

August 14, 2018

Tuesday continued the Akademy BoFs, group sessions and hacking. There is a wrapup session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.

Watch Tuesday's wrapup session in the video below

Dot Categories:

The last Akademy I attended was in 2015, in A Coruña, Galicia, Spain. I skived off Berlin 2016, when I was burned out working as a consultant at Quby, and again Almería 2017, when I was struggling with the Krita Foundation’s tax problems. But this year, we could afford to go, and Akademy is in Vienna this year… And I’ve always wanted to see some works in Vienna’s Kunsthistorisches MuseumCellini’s Salt Cellar, Rogier van der Weyden’s Crucifixion, Cranach’s Saxon Princesses... Things I’d only ever seen in books.

Saxon Princesses Sibylla, Emilia and SidoniaSaxon Princesses Sibylla, Emilia and Sidonia

The combination of Akademy and Cellini, in short, was irresistible.

We came up by train from Deventer on Thursday; we took the long, scenic route along the Rhine — unexpectedly, I had thought we had booked for that fast, boring, tunnel ridden ICE stretch instead. We, that is, me, Irina and Valorie.

On our arrival, Valorie went to the A&O, where most KDE people went, and Irina and I went to our “apartment”. We like to dine out, but we also like to cook, especially if we’re somewhere where supermarkets carry things that we cannot get in the Netherlands. So, an apartment. Well, City Center Hoher Markt is not really that kind of apartment. Three sparsely furnished rooms, ours with torn and dirty sheets on the bed, and filthy rugs on the floor shared one sparsely equipped kitchen where it would be impossible to cook.


We actually left the apartment four days early to move into a modern hotel near the hauptbahnhof, so we could get clean sheets, clean towels, and bearable room temperatures.

Pity about the great little bakery at the ground level of the block, where they provide the most amazing coffee and really fresh Viennoiseries.

Next day, Friday, we woke up around six in the morning, or rather, got up, having had no sleep. Too warm, the air fetid with tobacco smoke and burnt frying fat, we decided to get up, get out and walk about until the bakery opened. Like I said, that coffee was amazing.

From there we wandered around a bit, came across the Donau Canal, thought it was the Donau, and that the Donau was rather overrated, realized our mistake, walked around some more, saw some picturesque sights and discovered that Vienna, unlike, say London, is really quite walkable.

In Deventer, these lean-to's built against a church wall are mostly stone, here it's wood.In Deventer, these lean-to’s built against a church wall are mostly stone, here it’s wood.

It is a lovely city! If I were a resident, I would perhaps advocate a name change to Chantilly, because everything looks like it’s been smothered in architectural whipped cream and meringues. (After all, what’s a name change or two? Been there, done that, got the kimageshop mailing list.)

People are friendly, and they do not insist on speaking English! So we could exercise our German, compare what we’re used to with with what is usual here, and, which is useful, get some excellent coffee while having the totally erroneous feeling we’re blending in.

Vienna, in fact, is so walkable that we arrived at the KHM at nine o’clock in the morning. That’s an hour early, so we went to sit in the Hofburg Garden, cool down a bit, and watch some people in grey suits sit on whitish horses.

People on horses in the parkPeople on horses in the park

The KHM is awesome. First we got a huge glass of sparkling water with fruit juice in the Museum cafe, then saw the most amazing works of art, then had a great lunch, then went on to see more works of art, until my eyes were bubbling and we just had to leave.

Museum cafe domeMuseum cafe dome

Fortunately, the Akademy pre-reg event was imminent.

My first impression was one of shock: had I grown old and forgotten all those familiar people? Had those people grown so old, or rather, young, that I could no longer recognize them?

Realization soon dawned: this is not only a spectacularly well-attended Akademy, but we have a host of first-time attendees! Later, from a show of hands in the main auditorium on the first day, it really looks like about half of us are here for the first time. That’s just so awesome…

The food at the pre-reg was excellent: dainty, portable, tasty, varied, filling. The beer was nice, the wine generously measured, the meetings with people, some of whom I hadn’t seen for years, heartening.

Saturday and Sunday are the conference days proper, with talks and keynotes, while the rest of the week is hacking and birds-of-a-feather sessions. Keynotes are, at Akademy at least, meant to broaden the attendants’ horizon, enlarge their frame of thinking and make them consider the wide, wide world. This year’s keynotes did that for sure.

Lydia opening AkademyLydia opening Akademy

Saturday’s was all about how a small band of brave people have the foresight to start collecting information now to support the transition of North Korea to a country under the rule of law. The country led by a man who was so warmly met by the current president of the United States is a place where atrocities are so normal that it’s almost impossible to feel shocked, instead of just soul-weary. Dan Bielefeld, in a very understated, collected and impressive way gathered the threads for us, and made it clear to everyone that this just cannot and will not endure.

Sunday’s keynote by Claudia Garad was, in a way, closer to home, but also really inspirational. In “W for Welcome” she explained how the Wikipedia community works to make contributors welcome. This ties in quite neatly, of course, with one of the three Goals of KDE: privacy, usability, onboarding — goals that adorn all our lanyards! (Those lanyards were designed by Kenny, and are awesome.)

Embracing cuteEmbracing cute

For me, Akademy isn’t so much about presentations, though there were some very cool ones, like Paul Brown demonstrating KDEnlive in a very engaging way — and why don’t we have more presentations showing off how to use this or that KDE application? It’s not like even a majority of KDE people present here have any clue about, say, Krita…

The VVave presentation was a bit unique in that it was about one person booming their project — and I think we need more of that! That sort of confidence was also expressed by Nate’s talk: the first time in many years since I’ve heard someone in the free software community urging us to disdain the Moon, or Mars, but reach for the stars.

But, for all of that, for me, Akademy is about the conversations, the meetings, figuring out how share knowledge and making sure we all go home a bit smarter, deeper, wiser — and more engaged than we arrived. That’s even more important than the presentations.

I’ve had wonderful talks with many people, I’ve been able to sit down twice with Eliakin, who did a succesful Summer of Code project with Krita last year, I have met Inge again, my one-time business partner and KOffice/Calligra compatriot — and much-missed friend.

The Brazilian RGB team (Eliakin is in the middle)The Brazilian RGB team (Eliakin is in the middle)

We’ve just had two days of Birds of a Feather sessions. And the KDE e.V. AGM, of course. KDE e.V. is the backbone of the KDE project and community. The yearly general meeting, however, is usually characterized by unbearable tedium. This year’s proceedings were different: all the interesting bits, that is the reports, were given in public, during Akademy, and only the most boring bits, the legally mandated bits, were to be gotten through during the AGM. The goal was twenty minutes. The goal was not met, not by a country mile.

For me, tomorrow is KHM day again, with maybe a side dish of Belvedere, or some strolling about town. Thursday, we’ll have a training in fund raising that will take all day. Timely too, because we want to do another Krita fundraiser in September! And on Friday, we’ll take the train to Würzburg, where we’ll take the train to Arnhem, where we’ll take the train to Deventer, where we’ll discover whether our house still has a roof. It has been said that there have been storms and rains in the Netherlands…

During Akademy there was finally enough time to finalize the porting of KTextEditor to KSyntaxHighlighting.

Thanks to the help of Dominik and Volker, the needed extensions to the KSyntaxHighlighting framework were done in no time ;=)

Thanks for that!

The branch for the integration was merged to master yesterday, unit tests look OK and I am using that state now for my normal coding work. Beside minor glitches that should now be corrected, no issues came up until now.

But as with all changes, for sure some regressions slipped in.

If you notice strange behavior of the highlighting in master, please report the issues on or on our mailing list (or even better: provide a fix on phabricator).

For sure there are potential further cleanups and now that we have only one implementation of the highlighting infrastructure, we will be able to move forward with extensions of it much easier.

We contacted the QtCreator people, to see if we might be able to share a common implementation, as they have an own one at the moment. Hopefully that works out in a nice way and our KDE syntax-highlighting framework gets an even broader user base!

Starting with the KDE Frameworks 5.50 release we decided to remove the capability in Kate/KTextEditor to download / update syntax highlighting files from the Kate homepage.

The reasons for this are as follows:

  1. The KTextEditor framework is released once a month, meaning that users who use latest KDE software usually anyways have the most recent versions. Other users who do not follow the latest development releases (like your mom) are likely not the target audience for downloading highlighting files.
  2. There are technical problems with only updating certain highlighting files, since it can lead to an inconsistent state when one highlighting file needs another one that was not updated or does not exist, or also if a highlighting file needs a certain indenter that does not yet exist or contains bugs.
  3. We have a nice small cleanup in the UI, since we have now one button less.

Git changes:

Contributing new Highlighting Files

By the way, we are always very happy to accept new highlighting files under MIT license. Documentation about how to write a syntax highlighting file can be found in the Kate Handbook. When you are done, please contribute your highlighting file in phabricator for the ‘syntax-highlighting’ framework (click Code Review, then on the very top right “Create Diff”). You can find nice instructions also on the Community wiki.

Monday was the first day of Akademy BoFs, group sessions and hacking. There is a wrapup session at the end of the day so that what happened in the different rooms can be shared with everyone including those not present.

Watch Monday's wrapup session in the video below

Dot Categories:

Hi All,

In this post I intend to inform about the final status of my GSoC project Verifying signatures of pdf files.

Things Completed:

1. Signature Properties Dialog

In this version of dialog I got rid of the icon label. The dialog has three sections displaying information about signature validation status, signer, and document revision.

Signature Properties Dialog

2. Certificate Viewer

This certificate viewer is similar to that of chromium’s. It contains two pages. The “General” page displays sort of summary and the “Details” page has all details. On bottom it provides a push button to export the certificate. This dialog can only be accessed from signature properties dialog.

‘General’ tab Certificate Viewer - General Tab

‘Details’ tab Certificate Viewer - Details Tab

3. Revision Viewer

This is a dialog similar to print preview dialog but instead of previewing what is about to be printed it loads the data covered by a signature in a read-only KPart. On top it shows a message informing the user about the read-only nature of the view and on bottom it provides a “Save As” button so that the signed version can be saved. This dialog can be accessed from signature properties dialog and signature panel’s context menu.

Revision Viewer

4. Signature Panel

This is a sidebar widget which presents all signatures in a tree structure. A context menu is available for this widget through which signed version of a document and signature properties can be accessed. Also selecting any top-level item will change document’s viewport to the page where the signature form field is located.

Signature Panel

Signature Panel 2

5. Popup

Now when a signed document is opened there will be two notifications. The former will (as usual) inform about the (signature) forms present and the latter will tell user that the opened document is signed. A toggle button will be there in the second message widget to access signature panel.

Signature Popup

Things remaining:

Menu actions

Due to making frequent changes to API and other graphical components I wasn’t able to decide on what actions to add and where to put them.

Getting the code

The patches for okular are listed in the phabricator task.

The git branch with all patches applied : gsoc2018_digitalsignature

The patches for poppler : 107055 and 107056

Finally, the following gif sums up my progress.

Phase3 GIF

Thanks for reading :)

August 13, 2018

Wooo... this is the last day of coding phase of GSoC. I am writing this blog to share my experience and work done in the coding phase. I want to specially thank my mentor David Rosca for his help, suggestions and reviews. This was my first exposure to the KDE community and I am proud that it was great. I really enjoyed the whole program from proposal submission - intermediate evals - then now this final evaluation. Also, I had learned a lot working on my project. Frankly speaking, I didn't knew about i18n and l10n much but with the help of my mentor now I have a quite good understanding of how these works and are implemented. I can truly say this was one of my best summer vacations.

The code will soon be merged with the master branch of falkon. You can see my status report page for more details about the work done during GSoC. Also in the last weeks I have implemented an extensions page for falkon similar to about:addons in firefox. Below is the screenshot of falkon:extensions page. This also enables to remove the extension from local storage. Also, the themes can be viewed and controlled by the theme panel on the same page.



And yes, I will regularly contribute to KDE community specially Falkon.

Happy August

Virtlyst – a Web Interface to manage virtual machines build with Cutelyst/Qt/C++ got a new release.

This new release includes a bunch of bug fixes, most importantly probably being the ability to warn user before doing important actions to help avoid doing mistakes.

Most commits came from new contributor René Linder who is also working on a Bootstrap 4 theme and Lukas Steiner created a dockerfile for it. This is especially cool because Virtlyst repository now has 4 authors while Cutelyst which is way older has only 6.

For the next release I’ll also try to add user management (today you have a single admin account, and to add new users that need to be done via SQL) which wasn’t available on the original WebVirtMgr project but is surely the most important lacking feature.

Have Fun!

Google Summer of Code is finishing and many things have been done on WikiToLearn since previous post. A little recap is needed.

Talking with mentors has been crucial because they told me to focus on finishing CRUD interaction with API backend instead of working on “history mode” viewer.

On the CRUD part, users now have full control of courses and chapters, they can:

  • Edit courses title
  • Add new empty chapters to a course
  • Reorder course chapters
  • Edit chapters title
  • Add new empty page to a chapter
  • Reorder chapters pages
  • [WIP] Write content of a page

Chapter editor have the same UI of course’s one because you can do similar actions in both of them. Here you can see a real web app screenshot of it

Chapter editor user interface

Now there is some important work to do: let users write organized content in a useful and easy manner.
They need an editor that lets them insert:

  • Math formulas (with real-time compiling and rendering)
  • Theorems and demonstrations
  • Images

For these tasks we make use of CKEditor (now at the 5th version, compatible with our build system), we have to create/use existing plugins to let users write beautiful content ready to be read.

The difficult part is that this information needs to be structured to be easily saved and reused. I read most of CKEditor docs and I integrated it in our webapp, I prepared a local repo for it because we need to plugin some custom modules for make it working with math, images and with our data structure and we have to lock-down some features we don’t use. It is a bit difficult to know which part has to be touched in order to make it working but I am on the way because I understood CKEditor fundamentals by reading the docs.

The work on WikiToLearn webapp will continue even after the end of GSoC, I’ll let you know how it goes.

L'articolo What’s next for WikiToLearn? sembra essere il primo su Blogs from WikiToLearn.

Claudia Garad, Executive Director of Wikimedia Austria, reflects on the challenges of inclusivity.

Day 2 of Akademy started with a wonderfully insightful keynote by Claudia Garad, the Executive Director of Wikimedia Austria. She focused her talk on some of the challenges that organizations like hers face when trying to bring about more inclusivity and diversity within their communities.

She emphasized the importance of making underrepresented communities feel more welcome and heard within the organization, then went on to speak about how she perceived KDE as being quite ahead of Wikimedia in some aspects, especially when it came to reaching these goals.

One of the things she thought brought a positive vibe to the KDE community was that "KDE embraces cuteness", she said while displaying a slide with the "pile of Konquis" picture. On a more serious note, she said that through events such as Akademy, sprints and events around the world, you can bring together people from immensely diverse backgrounds and have them work towards building a stronger community.

Afternoon Talks

Speakers covered a wide variety of topics in the afternoon. Alan Pope from Canonical, for example, told us about Snapcraft, a web-based tool that makes it incredibly simple to build a Linux package out of code just pushed onto git. Meanwhile, Oliver Smith, the project lead of postmarketOS, spoke about the experimental phone OS based on Alpine Linux and plans for integration with Plasma Mobile.

Volker Krause showing off Plasma Mobile running on Yocto on a Raspberry Pi-powered device.

Meanwhile, David Edmundson was not only predicting where KDE's Plasma desktop would be going next, but also numbering the potential pitfalls it would have to avoid on its way getting there. One of the things in store for Plasma users is full browser integration.

Kai Uwe Broulik explained what is working (quite a lot), and how you will be able to control every aspect of your web browser with Plasma's integrated tools. Already working are controls for playback of videos and music on many popular sites using desktop widgets, including the likes of KDE Connect.

Talking of playing music, Camilo Higuita told us about the progress of VVAVE, a next generation audio player that is fully convergent (it integrates both with your Plasma desktop and on your mobile phone), and is but one part of Camilo's idea for an open audio streaming service.

Andreas Cord - Landwehr gave a talk on Yocto and how to use it to build images and SDKs and to create KDE-powered devices with Yocto. In a a similar vein, Volker Krause showed of a Raspberry Pi-based device running Plasma Mobile also on Yocto. The excitement of the KDE developers when it comes to running KDE software on mobile devices is electric and the audience was buzzing during these talks.

The day ended with Sponsor Talks by The Qt Company, BlueSystems, Canonical, openSUSE, CodeThink, and Mycroft.

Akademy Awards

From left to right, Valorie Zimmerman, David Edmundson, and Aditya Mehra with their own awards and those that couldn't attend.

Finally, there were the Akademy Awards ceremony. The Akademy Awards are a way of honoring members that have done outstanding work for the benefit of the whole community.

The Application Akademy award went to Aditya Mehra for their work on the Mycroft integration providing KDE with a free speech assistant which is free as in freedom .

The Non-Application Akademy Award went to Valorie Zimmerman for for their work driving KDE's mentoring programs and the Community Working Group, and being one of KDE's good souls

There were three Jury awards this year they went to Sebastian Kügler for for their many years of relentless hacking and more (Plasma, KDE Marketing, years in the KDE e.V. Board), David Edmundson for their work on Telepathy, porting applications to Frameworks 5, Plasma, KWin, KWayland, and being the crazy guy around and to Mario Fux for supporting KDE over many years through organizing the Randa meetings.

The Akademy Team were thanked with the Organizational Award to Stefan Derkits and the whole team responsible for putting together Akademy 2018.

Congratulations to the winners and thank you for being so awesome!

Dot Categories:

August 12, 2018

So, my plans was always finish the full KDE1 port, and now on Akademy i have some time to get back to this pet project. Starting on Qt1 porting entirely to CMake because the experience on Qt2 was so good that i decided going back to that and do some of the same love on Qt1.

KDE 1 for that new port next. For now, i’m working on github, so

And guess what, on Akademy you can get all possible surprises ��

Thanks to our kdesrc-build hero Michael Pyne, there’s *just* Qt 1 running on Windows 10 with WSL.

All credits on this picture to mpyne ��

Lydia Pintscher, President of KDE e.V. opens this year's Akademy. Photo by Paul Brown, distributed under the CC0 license.

Akademy 2018 got off to a wet start with rains accompanying all attendees pouring into Vienna for KDE's largest annual community conference. Although the Pre-Registration event was held on Day Zero (Friday the 10th) and it was a fun-filled affair, Akademy kicked off in earnest on Saturday, with talks, panels and demonstrations. Read on to find out about Day 1 of Akademy and all that transpired:

Keynote: Mapping Crimes Against Humanity in North Korea with FOSS

Dan Bielefeld, the Technical Director of the Transitional Justice Working Group, explained the work they do to map North Korean locations of mass burial and execution sites using mapping technologies. He also delivered insight into how North Korea and the Kim regime operates, and how his organization gleans information both from interviews with refugees and from studying satellite imagery.

Dan Bielefeld talks about how the Transitional Justice Working Group tries to shed light on North Korea's crimes against humanity. Photo by Paul Brown, distributed under the CC0 license.

Although the topic of the suffering of North Koreans is grim, there is a silver lining, says Dan: One day there will be a transition, there will come a day when the Kim regime will end and North Koreans will regain the freedom that they have been denied for over 70 years. The work of the Transitional Justice Working Group will also help with that. Finding out what happened to loved ones and bringing those responsible for the atrocities to justice will be a crucial part of helping the nation heal.

And it makes sense, says Dan, for the Transitional Justice Working Group to work with both Free Software and Free Software communities. The software offers the group a degree of security and control they cannot find in closed source applications; and Free Software communities uphold the same values Dan's group is fighting for, that is, the right to privacy and personal freedom.

Privacy Panel

Quite appropriately, after Dan's keynote, Adriaan de Groot ran a panel where members discussed the matter of privacy. Developing privacy-respecting software is one of KDE's main goals and the panelists explained how developing free and open Personal Digital Assistants like Mycroft was crucial to protecting users from snooping corporations.

Another thing we rarely think about but is a source of concern with regard to personal information is trip planners. In actual fact, the amount of sensitive information that we unwittingly share by letting opaque apps tell us when and where to catch our flight is staggering. Since the 2017 Randa sprint, there are KDE developers actively working on a truly open and private solution that will help solve this problem.

The other thing the panel discussed was the state of GnuPG in Kmail. GnuPG is the framework that allows users to encrypt and decrypt email messages that, otherwise, would be sent in clear text -- a big privacy concern. At this stage of play, GnuPG is tightly integrated into Kmail and, is not only convenient for end users, but has also proved to be immune to recent vulnerabilities that have affected other email clients.

Combined with the underlying policy of all KDE apps of never collecting data subvertly or otherwise, KDE is sticking strictly to its goal of preserving user privacy.

Streamlined onboarding goal

Neofytos Kolokotronis talked about the progress of another of KDE's main goals, namely the onboarding of new users. Neofytos explained to attendees the progress the working group had made so far and where they wanted to go to. He had some advice on how to help new users join KDE, such as having good and clear documentation, mentoring new contributors, and building connections outside your immediate niche.

More Highlights from Day 1

Wrishiraj Kaushik in his talk titled Winds of Change - FOSS in India spoke about the current scenario of FOSS in India and his experience leading SuperX and integrating KDE with it.

The Indian union government has a nation-wide recommendation in place for the use, promotion and development of Free and Open Source software. Despite this, FOSS adoption has remained low in the country. The decision taken by some state governments to not adopt these recommendations in conjunction with the aggressive marketing carried out by proprietary software vendors in India has seriously hindered the use of Free Software. SuperX, however, has managed to find a place within the government and a few Indian universities thanks to its user-centric approach. SuperX has deployed 30,000 KDE shipments -- one of the largest deployments in the world, and there are 20,000 more in the works.

This was followed by a panel discussion by Lydia, Valorie and Bhushan in which they told the community about our KDE student programs and how to contribute to their running and up-keep. It was a talk of high relevance, given our KDE Community goal to streamline the onboarding process for new contributors and the fact that a large part of our new contributor base comes through our organized mentoring programs, namely Google Summer of Code, Google Code-in and Season of KDE.

Mirko Boehm presented a talk on the genesis of Quartermaster, a toolchain driven by Endocode and supported by Siemens and Google. Quartermaster implements industry best practises of license compliance management. It generates compliance reports by analysing data from the CI environment and building graphs for analysis, primarily performing a combination of build time analysis and static code analysis.

Lays Rodrigues showed off Atelier, the graphical interface for 3D printers. Photo by Paul Brown, distributed under the CC0 license.

Lays Rodrigues talked about Atelier, a cross-platform program designed to help you control your 3D printer. It supports most printers with open source firmware and Lays demoed the various features of Atelier during her talk, including video monitoring of the printer, 3D preview of the print design, temperature graphs and more.

Zoltan Padrah gave a talk on KTechLab and explained how he discovered it as a student of electronics engineering in 2008. KTechLab is a program that helps simulate electronic circuits and programs running on microcontrollers. It was migrated to the KDE infrastructure and joined KDE in 2017. The developers' upcoming plans are to release KTechLab for Qt4 and Qt5 and to port it to KDE Frameworks 5, as well as add new features like support to simulate automation systems for mechanics and have KiCad import/export.

Wrapping up

Day one was so full of content, it is hard to summarize everything that went on here. This has just been a summary of a few of the talks and demonstrations we enjoyed. There were many more talks on all topics, ranging from containerizing KDE's graphical apps, to an end users' perspective of using Kontact in a professional environment.

As we write this, already on day 2, it looks like today is shaping up to be equally exciting.

Dot Categories:

For this phase, I started with implementing Stamps feature in the Drawing activity. This feature allows users to use different stamps images in their beautiful arts. For now, I have added images from solar activity to use as stamps.



Users can also import an image to use as a stamp. Size and opacity of the stamp can also be adjusted from tool options menu.

I also added added sounds and audio effects, which includes feedback on selecting a tool and using stamps and for other notifications.

Implementation of basic keyboard navigations like undo, redo, save, load, etc. is also completed.

Added a help section, which describes the basic key board shortcuts and other useful information.

All basic tools are implemented as planned, at present I am testing drawing activity on various platforms and fixing various bugs reported by mentors. List of bugs and improvements can be found on —

Work branch —

Happy coding ��




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.